idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
idol::BranchingRule< NodeInfoT > Class Template Referenceabstract
Inheritance diagram for idol::BranchingRule< NodeInfoT >:
Inheritance graph
Collaboration diagram for idol::BranchingRule< NodeInfoT >:
Collaboration graph

Public Member Functions

 BranchingRule (const Optimizers::BranchAndBound< NodeInfoT > &t_parent)
 
const Optimizers::BranchAndBound< NodeInfoT > & parent () const
 
const Modelmodel () const
 
virtual void initialize ()
 
virtual bool is_valid (const Node< NodeInfoT > &t_node)=0
 
virtual std::list< NodeInfoT * > create_child_nodes (const Node< NodeInfoT > &t_node)=0
 
virtual void on_node_solved (const Node< NodeInfoT > &t_node)
 
virtual void on_nodes_have_been_created ()
 
template<class T >
T & as ()
 
template<class T >
const T & as () const
 
template<class T >
bool is () const
 

Protected Member Functions

std::string name () const
 

Friends

class Optimizers::BranchAndBound< NodeInfoT >
 

Detailed Description

template<class NodeInfoT>
class idol::BranchingRule< NodeInfoT >

Definition at line 24 of file BranchingRule.h.

Constructor & Destructor Documentation

◆ BranchingRule()

template<class NodeInfoT >
idol::BranchingRule< NodeInfoT >::BranchingRule ( const Optimizers::BranchAndBound< NodeInfoT > &  t_parent)
inlineexplicit

Definition at line 30 of file BranchingRule.h.

Member Function Documentation

◆ as() [1/2]

template<class NodeInfoT >
template<class T >
T & idol::BranchingRule< NodeInfoT >::as ( )
inline

Definition at line 47 of file BranchingRule.h.

◆ as() [2/2]

template<class NodeInfoT >
template<class T >
const T & idol::BranchingRule< NodeInfoT >::as ( ) const
inline

Definition at line 55 of file BranchingRule.h.

◆ initialize()

template<class NodeInfoT >
virtual void idol::BranchingRule< NodeInfoT >::initialize ( )
inlinevirtual

Definition at line 37 of file BranchingRule.h.

◆ is()

template<class NodeInfoT >
template<class T >
bool idol::BranchingRule< NodeInfoT >::is ( ) const
inline

Definition at line 63 of file BranchingRule.h.

◆ model()

template<class NodeInfoT >
const Model & idol::BranchingRule< NodeInfoT >::model ( ) const
inline

Definition at line 35 of file BranchingRule.h.

◆ name()

template<class NodeInfoT >
std::string idol::BranchingRule< NodeInfoT >::name ( ) const
inlineprotected

Definition at line 28 of file BranchingRule.h.

◆ on_node_solved()

template<class NodeInfoT >
virtual void idol::BranchingRule< NodeInfoT >::on_node_solved ( const Node< NodeInfoT > &  t_node)
inlinevirtual

Definition at line 43 of file BranchingRule.h.

◆ on_nodes_have_been_created()

template<class NodeInfoT >
virtual void idol::BranchingRule< NodeInfoT >::on_nodes_have_been_created ( )
inlinevirtual

Definition at line 45 of file BranchingRule.h.

◆ parent()

template<class NodeInfoT >
const Optimizers::BranchAndBound< NodeInfoT > & idol::BranchingRule< NodeInfoT >::parent ( ) const
inline

Definition at line 33 of file BranchingRule.h.

Friends And Related Symbol Documentation

◆ Optimizers::BranchAndBound< NodeInfoT >

template<class NodeInfoT >
friend class Optimizers::BranchAndBound< NodeInfoT >
friend

Definition at line 1 of file BranchingRule.h.