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

Public Member Functions

 PseudoCost (const Optimizers::BranchAndBound< NodeInfoT > &t_parent, std::list< Var > t_branching_candidates)
 
std::list< std::pair< Var, double > > scoring_function (const std::list< Var > &t_var, const Node< NodeInfoT > &t_node) override
 
void on_node_solved (const Node< NodeInfoT > &t_node) override
 
virtual bool is_valid (const Node< NodeInfoT > &t_node)
 
virtual std::list< NodeInfoT * > create_child_nodes_for_selected_variable (const Node< NodeInfoT > &t_node, const Var &t_var)
 
virtual std::list< NodeInfoT * > create_child_nodes (const Node< NodeInfoT > &t_node)
 
const std::list< Var > & branching_candidates () const
 
const Optimizers::BranchAndBound< NodeInfoT > & parent () const
 
const Modelmodel () const
 
virtual void initialize ()
 
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::list< Varget_invalid_variables (const PrimalPoint &t_primal_solution)
 
Var get_argmax_score (const std::list< std::pair< Var, double > > &t_scores)
 
std::string name () const
 

Detailed Description

template<class NodeInfoT>
class idol::BranchingRules::PseudoCost< NodeInfoT >

Definition at line 17 of file PseudoCost.h.

Constructor & Destructor Documentation

◆ PseudoCost()

template<class NodeInfoT >
idol::BranchingRules::PseudoCost< NodeInfoT >::PseudoCost ( const Optimizers::BranchAndBound< NodeInfoT > &  t_parent,
std::list< Var t_branching_candidates 
)
explicit

Definition at line 112 of file PseudoCost.h.

Member Function Documentation

◆ as() [1/2]

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

Definition at line 47 of file BranchingRule.h.

◆ as() [2/2]

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

Definition at line 55 of file BranchingRule.h.

◆ branching_candidates()

template<class NodeInfoT >
const std::list< Var > & idol::BranchingRules::VariableBranching< NodeInfoT >::branching_candidates ( ) const
inlineinherited

Definition at line 74 of file VariableBranching.h.

◆ create_child_nodes()

template<class NodeInfoT >
virtual std::list< NodeInfoT * > idol::BranchingRules::VariableBranching< NodeInfoT >::create_child_nodes ( const Node< NodeInfoT > &  t_node)
inlinevirtualinherited

Implements idol::BranchingRule< NodeInfoT >.

Definition at line 54 of file VariableBranching.h.

◆ create_child_nodes_for_selected_variable()

template<class NodeInfoT >
virtual std::list< NodeInfoT * > idol::BranchingRules::VariableBranching< NodeInfoT >::create_child_nodes_for_selected_variable ( const Node< NodeInfoT > &  t_node,
const Var t_var 
)
inlinevirtualinherited

Definition at line 38 of file VariableBranching.h.

◆ get_argmax_score()

template<class NodeInfoT >
Var idol::BranchingRules::VariableBranching< NodeInfoT >::get_argmax_score ( const std::list< std::pair< Var, double > > &  t_scores)
inlineprotectedinherited

Definition at line 96 of file VariableBranching.h.

◆ get_invalid_variables()

template<class NodeInfoT >
std::list< Var > idol::BranchingRules::VariableBranching< NodeInfoT >::get_invalid_variables ( const PrimalPoint t_primal_solution)
inlineprotectedinherited

Definition at line 83 of file VariableBranching.h.

◆ initialize()

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

Definition at line 37 of file BranchingRule.h.

◆ is()

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

Definition at line 63 of file BranchingRule.h.

◆ is_valid()

template<class NodeInfoT >
virtual bool idol::BranchingRules::VariableBranching< NodeInfoT >::is_valid ( const Node< NodeInfoT > &  t_node)
inlinevirtualinherited

Implements idol::BranchingRule< NodeInfoT >.

Definition at line 23 of file VariableBranching.h.

◆ model()

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

Definition at line 35 of file BranchingRule.h.

◆ name()

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

Definition at line 28 of file BranchingRule.h.

◆ on_node_solved()

template<class NodeInfoT >
void idol::BranchingRules::PseudoCost< NodeInfoT >::on_node_solved ( const Node< NodeInfoT > &  t_node)
overridevirtual

Reimplemented from idol::BranchingRule< NodeInfoT >.

Definition at line 62 of file PseudoCost.h.

◆ on_nodes_have_been_created()

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

Definition at line 45 of file BranchingRule.h.

◆ parent()

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

Definition at line 33 of file BranchingRule.h.

◆ scoring_function()

template<class NodeInfoT >
std::list< std::pair< idol::Var, double > > idol::BranchingRules::PseudoCost< NodeInfoT >::scoring_function ( const std::list< Var > &  t_var,
const Node< NodeInfoT > &  t_node 
)
overridevirtual