28 friend class ::idol::CallbackAsBranchAndBoundCallback<NodeInfoT>;
35 explicit Interface(
Strategy& t_parent) : m_parent(t_parent) {}
37 [[nodiscard]]
const Model &original_model()
const override {
41 void add_user_cut(
const TempCtr &t_cut)
override {
45 void add_lazy_cut(
const TempCtr &t_cut)
override {
49 void submit_heuristic_solution(
PrimalPoint t_solution)
override {
50 auto* info =
new NodeInfoT();
51 info->set_primal_solution(std::move(t_solution));
55 [[nodiscard]]
PrimalPoint primal_solution()
const override {
56 return m_parent.
node().info().primal_solution();
59 [[nodiscard]]
const Timer &time()
const override {
60 return m_parent.time();
63 double best_obj()
const override {
64 return m_parent.best_obj();
67 double best_bound()
const override {
68 return m_parent.best_bound();
71 void terminate()
override {
77 Interface m_interface;
78 std::unique_ptr<Callback> m_callback;
83 m_interface.execute(*m_callback, t_event);