20#ifndef OR_TOOLS_MATH_OPT_CPP_SOLVE_H_
21#define OR_TOOLS_MATH_OPT_CPP_SOLVE_H_
27#include "absl/status/statusor.h"
35#include "ortools/math_opt/parameters.pb.h"
62 const SolveArguments& solve_args = {},
63 const SolverInitArguments& init_args = {});
144 static absl::StatusOr<std::unique_ptr<IncrementalSolver>>
New(
182 absl::StatusOr<UpdateResult>
Update();
189 const SolveArguments& arguments = {})
const;
192 IncrementalSolver(
SolverType solver_type, SolverInitArguments init_args,
193 const ModelStorage* expected_storage,
194 std::unique_ptr<UpdateTracker> update_tracker,
195 std::unique_ptr<Solver> solver);
198 const SolverInitArguments init_args_;
199 const ModelStorage*
const expected_storage_;
200 const std::unique_ptr<UpdateTracker> update_tracker_;
201 std::unique_ptr<Solver> solver_;
absl::StatusOr< SolveResult > Solve(const SolveArguments &arguments={})
absl::StatusOr< UpdateResult > Update()
absl::StatusOr< SolveResult > SolveWithoutUpdate(const SolveArguments &arguments={}) const
static absl::StatusOr< std::unique_ptr< IncrementalSolver > > New(Model *model, SolverType solver_type, SolverInitArguments arguments={})
absl::StatusOr< SolveResult > Solve(const Model &model, const SolverType solver_type, const SolveArguments &solve_args, const SolverInitArguments &init_args)
Collection of objects used to extend the Constraint Solver library.
std::optional< ModelUpdateProto > update
UpdateResult(const bool did_update, std::optional< ModelUpdateProto > update)