Loading...
Searching...
No Matches
idol::BranchAndBoundCallbackI< NodeInfoT > Class Template Reference

#include <BranchAndBoundCallback.h>

Description

template<class NodeInfoT>
class idol::BranchAndBoundCallbackI< NodeInfoT >
Template Parameters
NodeInfoTthe class used to store each branch-and-tree node's information

Definition at line 27 of file BranchAndBoundCallback.h.

Protected Methods

void add_user_cut (const TempCtr &t_cut)
void add_lazy_cut (const TempCtr &t_cut)
void add_local_variable_branching (const idol::Var &t_var, CtrType t_type, double t_rhs)
const Node< NodeInfoT > & node () const
const Modelrelaxation () const
const Modeloriginal_model () const
const Timertime () const
const SideEffectRegistryside_effect_registry () const
void submit_heuristic_solution (NodeInfoT *t_info)
void submit_bound (double t_bound)
double best_bound () const
double best_obj () const
void terminate ()
SideEffectRegistry operator() (Optimizers::BranchAndBound< NodeInfoT > *t_parent, CallbackEvent t_event, const Node< NodeInfoT > &t_current_node, Model *t_relaxation) override
void add_callback (BranchAndBoundCallback< NodeInfoT > *t_cb) override
void initialize (Optimizers::BranchAndBound< NodeInfoT > *t_parent) override
void log_after_termination () override

Friends

class BranchAndBoundCallback< NodeInfoT >

Methods Documentation

◆ add_callback()

template<class NodeInfoT>
void idol::BranchAndBoundCallbackI< NodeInfoT >::add_callback ( BranchAndBoundCallback< NodeInfoT > * t_cb)
overrideprotectedvirtual

◆ add_lazy_cut()

template<class NodeInfoT>
void idol::BranchAndBoundCallbackI< NodeInfoT >::add_lazy_cut ( const TempCtr & t_cut)
protected

Definition at line 392 of file BranchAndBoundCallback.h.

◆ add_local_variable_branching()

template<class NodeInfoT>
void idol::BranchAndBoundCallbackI< NodeInfoT >::add_local_variable_branching ( const idol::Var & t_var,
CtrType t_type,
double t_rhs )
protected

Definition at line 80 of file BranchAndBoundCallback.h.

◆ add_user_cut()

template<class NodeInfoT>
void idol::BranchAndBoundCallbackI< NodeInfoT >::add_user_cut ( const TempCtr & t_cut)
protected

Definition at line 398 of file BranchAndBoundCallback.h.

◆ best_bound()

template<class NodeInfoT>
double idol::BranchAndBoundCallbackI< NodeInfoT >::best_bound ( ) const
nodiscardprotected

Definition at line 96 of file BranchAndBoundCallback.h.

◆ best_obj()

template<class NodeInfoT>
double idol::BranchAndBoundCallbackI< NodeInfoT >::best_obj ( ) const
nodiscardprotected

Definition at line 91 of file BranchAndBoundCallback.h.

◆ initialize()

template<class NodeInfoT>
void idol::BranchAndBoundCallbackI< NodeInfoT >::initialize ( Optimizers::BranchAndBound< NodeInfoT > * t_parent)
overrideprotectedvirtual

◆ log_after_termination()

template<class NodeInfoT>
void idol::BranchAndBoundCallbackI< NodeInfoT >::log_after_termination ( )
overrideprotectedvirtual

◆ node()

template<class NodeInfoT>
const idol::Node< NodeInfoT > & idol::BranchAndBoundCallbackI< NodeInfoT >::node ( ) const
nodiscardprotected

Definition at line 384 of file BranchAndBoundCallback.h.

◆ operator()()

template<class NodeInfoT>
idol::SideEffectRegistry idol::BranchAndBoundCallbackI< NodeInfoT >::operator() ( Optimizers::BranchAndBound< NodeInfoT > * t_parent,
CallbackEvent t_event,
const Node< NodeInfoT > & t_current_node,
Model * t_relaxation )
overrideprotectedvirtual

◆ original_model()

template<class NodeInfoT>
const idol::Model & idol::BranchAndBoundCallbackI< NodeInfoT >::original_model ( ) const
nodiscardprotected

Definition at line 368 of file BranchAndBoundCallback.h.

◆ relaxation()

template<class NodeInfoT>
const idol::Model & idol::BranchAndBoundCallbackI< NodeInfoT >::relaxation ( ) const
nodiscardprotected

Definition at line 376 of file BranchAndBoundCallback.h.

◆ side_effect_registry()

template<class NodeInfoT>
const idol::SideEffectRegistry & idol::BranchAndBoundCallbackI< NodeInfoT >::side_effect_registry ( ) const
nodiscardprotected

Definition at line 118 of file BranchAndBoundCallback.h.

◆ submit_bound()

template<class NodeInfoT>
void idol::BranchAndBoundCallbackI< NodeInfoT >::submit_bound ( double t_bound)
protected

Definition at line 352 of file BranchAndBoundCallback.h.

◆ submit_heuristic_solution()

template<class NodeInfoT>
void idol::BranchAndBoundCallbackI< NodeInfoT >::submit_heuristic_solution ( NodeInfoT * t_info)
protected

Definition at line 360 of file BranchAndBoundCallback.h.

◆ terminate()

template<class NodeInfoT>
void idol::BranchAndBoundCallbackI< NodeInfoT >::terminate ( )
protected

Definition at line 86 of file BranchAndBoundCallback.h.

◆ time()

template<class NodeInfoT>
const idol::Timer & idol::BranchAndBoundCallbackI< NodeInfoT >::time ( ) const
nodiscardprotected

Definition at line 126 of file BranchAndBoundCallback.h.

◆ BranchAndBoundCallback< NodeInfoT >

template<class NodeInfoT>
friend class BranchAndBoundCallback< NodeInfoT >
friend

Definition at line 398 of file BranchAndBoundCallback.h.