69#ifndef OR_TOOLS_MATH_OPT_CPP_CALLBACK_H_
70#define OR_TOOLS_MATH_OPT_CPP_CALLBACK_H_
77#include "absl/container/flat_hash_set.h"
78#include "absl/status/status.h"
79#include "absl/time/time.h"
80#include "absl/types/span.h"
162 absl::flat_hash_set<CallbackEvent>
events;
CallbackDataProto_SimplexStats SimplexStats
CallbackDataProto_BarrierStats BarrierStats
CallbackDataProto_MipStats MipStats
CallbackDataProto_PresolveStats PresolveStats
nested types -------------------------------------------------—
#define MATH_OPT_DEFINE_ENUM(CppEnum, proto_unspecified_value)
An object oriented wrapper for quadratic constraints in ModelStorage.
absl::Nonnull< const ModelStorage * > ModelStorageCPtr
std::function< CallbackResult(const CallbackData &)> Callback
@ CALLBACK_EVENT_PRESOLVE
@ CALLBACK_EVENT_UNSPECIFIED
@ CALLBACK_EVENT_MIP_NODE
@ CALLBACK_EVENT_MIP_SOLUTION
CallbackEvent
The supported events during a solve for callbacks.
absl::Nullable< const ModelStorage * > NullableModelStorageCPtr
In SWIG mode, we don't want anything besides these top-level includes.
A LinearExpression with upper and lower bounds.
CallbackDataProto::PresolveStats presolve_stats
Only available for event == CallbackEvent::kPresolve.
absl::Duration runtime
Time since Solve() was called. Available for all events.
CallbackDataProto::SimplexStats simplex_stats
Only available for event == CallbackEvent::kSimplex.
CallbackDataProto::BarrierStats barrier_stats
Only available for event == CallbackEvent::kBarrier.
std::optional< VariableMap< double > > solution
CallbackDataProto::MipStats mip_stats
CallbackData(CallbackEvent event, absl::Duration runtime)
Users will typically not need this function other than for testing.
CallbackEvent event
The current state of the underlying solver.
absl::flat_hash_set< CallbackEvent > events
MapFilter< Variable > mip_node_filter
bool add_lazy_constraints
absl::Status CheckModelStorage(ModelStorageCPtr expected_storage) const
MapFilter< Variable > mip_solution_filter
CallbackRegistrationProto Proto() const
NullableModelStorageCPtr storage() const
BoundedLinearExpression linear_constraint
The value returned by the Callback function.
std::vector< GeneratedLinearConstraint > new_constraints
CallbackResultProto Proto() const
void AddLazyConstraint(BoundedLinearExpression linear_constraint)
std::vector< VariableMap< double > > suggested_solutions
A solution or partially defined solution to give to the solver.
absl::Status CheckModelStorage(ModelStorageCPtr expected_storage) const
void AddUserCut(BoundedLinearExpression linear_constraint)