66#ifndef OR_TOOLS_MATH_OPT_CPP_CALLBACK_H_
67#define OR_TOOLS_MATH_OPT_CPP_CALLBACK_H_
74#include "absl/container/flat_hash_set.h"
75#include "absl/time/time.h"
76#include "absl/types/span.h"
77#include "ortools/math_opt/callback.pb.h"
111 kMip = CALLBACK_EVENT_MIP,
147 CallbackRegistrationProto
Proto()
const;
161 absl::flat_hash_set<CallbackEvent>
events;
248 CallbackResultProto
Proto()
const;
const ModelStorage * storage() const
MATH_OPT_DEFINE_ENUM(CallbackEvent, CALLBACK_EVENT_UNSPECIFIED)
std::function< CallbackResult(const CallbackData &)> Callback
Collection of objects used to extend the Constraint Solver library.
LinearExpression expression
CallbackData(const ModelStorage *storage, const CallbackDataProto &proto)
CallbackDataProto::PresolveStats presolve_stats
std::optional< VariableMap< double > > solution
CallbackDataProto::SimplexStats simplex_stats
CallbackDataProto::BarrierStats barrier_stats
CallbackDataProto::MipStats mip_stats
CallbackRegistrationProto Proto() const
MapFilter< Variable > mip_solution_filter
bool add_lazy_constraints
MapFilter< Variable > mip_node_filter
absl::flat_hash_set< CallbackEvent > events
const ModelStorage * storage() const
BoundedLinearExpression linear_constraint
const ModelStorage * storage() const
std::vector< VariableMap< double > > suggested_solutions
void AddLazyConstraint(BoundedLinearExpression linear_constraint)
CallbackResultProto Proto() const
void AddUserCut(BoundedLinearExpression linear_constraint)
const ModelStorage * storage() const
std::vector< GeneratedLinearConstraint > new_constraints