14#ifndef OR_TOOLS_MATH_OPT_SOLVERS_CP_SAT_SOLVER_H_
15#define OR_TOOLS_MATH_OPT_SOLVERS_CP_SAT_SOLVER_H_
21#include "absl/status/statusor.h"
22#include "absl/types/span.h"
41 static absl::StatusOr<std::unique_ptr<SolverInterface>>
New(
44 absl::StatusOr<SolveResultProto>
Solve(
51 absl::StatusOr<ComputeInfeasibleSubsystemResultProto>
57 CpSatSolver(
MPModelProto cp_sat_model, std::vector<int64_t> variable_ids,
58 std::vector<int64_t> linear_constraint_ids);
62 absl::Span<const double> cp_sat_variable_values,
72 const std::vector<int64_t> variable_ids_;
77 const std::vector<int64_t> linear_constraint_ids_;
absl::StatusOr< SolveResultProto > Solve(const SolveParametersProto ¶meters, const ModelSolveParametersProto &model_parameters, MessageCallback message_cb, const CallbackRegistrationProto &callback_registration, Callback cb, const SolveInterrupter *interrupter) override
absl::StatusOr< ComputeInfeasibleSubsystemResultProto > ComputeInfeasibleSubsystem(const SolveParametersProto ¶meters, MessageCallback message_cb, const SolveInterrupter *interrupter) override
static absl::StatusOr< std::unique_ptr< SolverInterface > > New(const ModelProto &model, const InitArgs &init_args)
absl::StatusOr< bool > Update(const ModelUpdateProto &model_update) override
std::function< void(const std::vector< std::string > &)> MessageCallback
SolverInterface()=default
std::function< absl::StatusOr< CallbackResultProto >( const CallbackDataProto &)> Callback
An object oriented wrapper for quadratic constraints in ModelStorage.
In SWIG mode, we don't want anything besides these top-level includes.
Initialization arguments.