idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
idol::BranchAndBoundCallbackI< NodeInfoT > Class Template Reference

#include <BranchAndBoundCallback.h>

Inheritance diagram for idol::BranchAndBoundCallbackI< NodeInfoT >:
Inheritance graph
Collaboration diagram for idol::BranchAndBoundCallbackI< NodeInfoT >:
Collaboration graph

Protected Member Functions

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 >
 

Detailed 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.

Member Function 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
protected

Definition at line 96 of file BranchAndBoundCallback.h.

◆ best_obj()

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

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
protected

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
protected

Definition at line 368 of file BranchAndBoundCallback.h.

◆ relaxation()

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

Definition at line 376 of file BranchAndBoundCallback.h.

◆ side_effect_registry()

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

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
protected

Definition at line 126 of file BranchAndBoundCallback.h.

Friends And Related Symbol Documentation

◆ BranchAndBoundCallback< NodeInfoT >

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

Definition at line 398 of file BranchAndBoundCallback.h.