49 static absl::StatusOr<std::unique_ptr<SolverInterface>>
New(
52 absl::StatusOr<SolveResultProto>
Solve(
59 absl::StatusOr<ComputeInfeasibleSubsystemResultProto>
68 bool has_message_callback,
bool is_maximization);
76 void DeleteVariables(absl::Span<const int64_t> ids_to_delete);
77 void DeleteLinearConstraints(absl::Span<const int64_t> ids_to_delete);
79 void SetOrUpdateObjectiveCoefficients(
81 void SetOrUpdateConstraintMatrix(
85 void UpdateLinearConstraintBounds(
94 absl::StatusOr<SolveResultProto> MakeSolveResult(
98 absl::Duration solve_time);
100 absl::Status FillSolveStats(absl::Duration solve_time,
108 absl::flat_hash_map<int64_t, glop::ColIndex> variables_;
109 absl::flat_hash_map<int64_t, glop::RowIndex> linear_constraints_;
absl::StatusOr< SolveResultProto > Solve(const SolveParametersProto ¶meters, const ModelSolveParametersProto &model_parameters, MessageCallback message_cb, const CallbackRegistrationProto &callback_registration, Callback cb, const SolveInterrupter *absl_nullable interrupter) override