14#ifndef ORTOOLS_MATH_OPT_CORE_BASE_SOLVER_H_
15#define ORTOOLS_MATH_OPT_CORE_BASE_SOLVER_H_
22#include "absl/base/nullability.h"
23#include "absl/status/statusor.h"
102 friend std::ostream&
operator<<(std::ostream& out,
112 virtual absl::StatusOr<SolveResultProto>
Solve(
116 virtual absl::StatusOr<ComputeInfeasibleSubsystemResultProto>
virtual absl::StatusOr< SolveResultProto > Solve(const SolveArgs &arguments)=0
virtual ~BaseSolver()=default
virtual absl::StatusOr< ComputeInfeasibleSubsystemResultProto > ComputeInfeasibleSubsystem(const ComputeInfeasibleSubsystemArgs &arguments)=0
std::function< CallbackResultProto(const CallbackDataProto &)> Callback
virtual absl::StatusOr< bool > Update(ModelUpdateProto model_update)=0
std::function< void(const std::vector< std::string > &)> MessageCallback
BaseSolver & operator=(const BaseSolver &)=delete
BaseSolver(const BaseSolver &)=delete
friend std::ostream & operator<<(std::ostream &out, const ComputeInfeasibleSubsystemArgs &args)
MessageCallback message_callback
SolveParametersProto parameters
const SolveInterrupter *absl_nullable interrupter
SolveParametersProto parameters
const SolveInterrupter *absl_nullable interrupter
ModelSolveParametersProto model_parameters
CallbackRegistrationProto callback_registration
friend std::ostream & operator<<(std::ostream &out, const SolveArgs &args)
MessageCallback message_callback