20#ifndef OR_TOOLS_MATH_OPT_CPP_SOLVE_H_
21#define OR_TOOLS_MATH_OPT_CPP_SOLVE_H_
31#include "absl/status/statusor.h"
32#include "absl/strings/string_view.h"
44#include "ortools/math_opt/parameters.pb.h"
69 absl::string_view prefix =
"");
234 const SolverInitArguments& init_args = {});
309 static absl::StatusOr<std::unique_ptr<IncrementalSolver>>
New(
347 absl::StatusOr<UpdateResult>
Update();
354 const SolveArguments& arguments = {})
const;
357 IncrementalSolver(
SolverType solver_type, SolverInitArguments init_args,
358 const ModelStorage* expected_storage,
359 std::unique_ptr<UpdateTracker> update_tracker,
360 std::unique_ptr<Solver> solver);
363 const SolverInitArguments init_args_;
364 const ModelStorage*
const expected_storage_;
365 const std::unique_ptr<UpdateTracker> update_tracker_;
366 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)
MessageCallback PrinterMessageCallback(std::ostream &output_stream, const absl::string_view prefix)
std::function< CallbackResult(const CallbackData &)> Callback
std::function< void(const std::vector< std::string > &)> MessageCallback
Collection of objects used to extend the Constraint Solver library.
std::optional< ModelUpdateProto > update
UpdateResult(const bool did_update, std::optional< ModelUpdateProto > update)
CallbackRegistration callback_registration
ModelSolveParameters model_parameters
SolveParameters parameters
MessageCallback message_callback
SolveInterrupter * interrupter
SolverInitArguments(SolverInitArguments &&)=default
SolverInitArguments()=default
SolverInitArguments & operator=(const SolverInitArguments &other)
SolverInitArguments & operator=(SolverInitArguments &&)=default
std::unique_ptr< const NonStreamableSolverInitArguments > non_streamable
StreamableSolverInitArguments streamable