Minotaur 0.4.1
Docs for developers
Public Member Functions | List of all members
Minotaur::HybridBrancher Class Reference
Inheritance diagram for Minotaur::HybridBrancher:
Inheritance graph
[legend]
Collaboration diagram for Minotaur::HybridBrancher:
Collaboration graph
[legend]

Public Member Functions

 HybridBrancher (EnvPtr env, HandlerVector &handlers)
 Construct using an environment pointer and handlers. More...
 
 ~HybridBrancher ()
 Destructor.
 
void doStronger ()
 
Branches findBranches (RelaxationPtr rel, NodePtr node, ConstSolutionPtr sol, SolutionPoolPtr s_pool, BrancherStatus &br_status, ModVector &mods)
 Find a branching candidate. More...
 
std::string getName () const
 Return the name of this brancher. More...
 
void reliabilitySetup (UInt max_cands, UInt max_iter, UInt thresh)
 Do reliability branching setup. More...
 
void setEngine (EnginePtr engine)
 Set engine. More...
 
void setProblem (ProblemPtr p)
 Set problem. More...
 
void updateAfterSolve (NodePtr node, ConstSolutionPtr sol)
 Update pseudo-costs after LP is solved. More...
 
void writeStats (std::ostream &out) const
 Write statistics. More...
 
void statsTable () const
 Print Table.
 
- Public Member Functions inherited from Minotaur::Brancher
 Brancher ()
 Default constructor.
 
virtual ~Brancher ()
 Destroy.
 
virtual Branches findBranches (RelaxationPtr rel, NodePtr node, ConstSolutionPtr sol, SolutionPoolPtr s_pool, BrancherStatus &br_status, ModVector &mods)=0
 Find a branching candidate. More...
 
virtual std::string getName () const =0
 Return the name of this brancher. More...
 
virtual void updateAfterSolve (NodePtr node, ConstSolutionPtr sol)
 Update pseudo-costs after LP is solved. More...
 
virtual void writeStats (std::ostream &) const
 Write statistics to the given out stream. More...
 

Additional Inherited Members

- Protected Attributes inherited from Minotaur::Brancher
LoggerPtr logger_
 Log manager.
 

Constructor & Destructor Documentation

◆ HybridBrancher()

HybridBrancher::HybridBrancher ( EnvPtr  env,
HandlerVector &  handlers 
)

Construct using an environment pointer and handlers.

Parameters
[in]envEnvironment from which options etc. are obtained.
[in]handlersArray of handlers which are used to obtain branching candidates and modifications. This array can not be changed while branch-and-bound is running.

Member Function Documentation

◆ doStronger()

void HybridBrancher::doStronger ( )

/brief do stronger branching

◆ findBranches()

Branches HybridBrancher::findBranches ( RelaxationPtr  rel,
NodePtr  node,
ConstSolutionPtr  sol,
SolutionPoolPtr  s_pool,
BrancherStatus br_status,
ModVector &  mods 
)
virtual

Find a branching candidate.

Returns
NULL if x does not have any fractional values for integer constrained variables or if no branching candidates are found (e.g. when we realize that problem is infeasible).
Parameters
[in]relRelaxation at the current node.
[in]nodeThe current node.
[in]solThe solution at the current node.
[in]s_poolSolution pool containing known feasible solutions.
[out]br_statusStatus returned by this brancher.
[out]modsModification returned by this brancher. NULL if none found.

Implements Minotaur::Brancher.

◆ getName()

std::string HybridBrancher::getName ( ) const
virtual

Return the name of this brancher.

Implements Minotaur::Brancher.

◆ reliabilitySetup()

void HybridBrancher::reliabilitySetup ( UInt  max_cands,
UInt  max_iter,
UInt  thresh 
)

Do reliability branching setup.

Parameters
[in]max_candsMaximum candidates to be strong branched on.
[in]max_iterMaximum iterations while strong branching.
[in]Numberof times strong branch before a candidate is reliable.

◆ setEngine()

void HybridBrancher::setEngine ( EnginePtr  engine)

Set engine.

Parameters
[in]enginePointer to the engine used in strong branching.

◆ setProblem()

void HybridBrancher::setProblem ( ProblemPtr  p)

Set problem.

Parameters
[in]pproblem.

◆ updateAfterSolve()

void HybridBrancher::updateAfterSolve ( NodePtr  node,
ConstSolutionPtr  sol 
)
virtual

Update pseudo-costs after LP is solved.

Parameters
[in]nodeThe node for which relaxation is solved. The pseudo cost of branching candidate used in node->parent is updated.
[in]solThe solution of the relaxation at this node (not the parent).

Reimplemented from Minotaur::Brancher.

◆ writeStats()

void HybridBrancher::writeStats ( std::ostream &  out) const
virtual

Write statistics.

Reimplemented from Minotaur::Brancher.


The documentation for this class was generated from the following files:

Minotaur source code documented by Doxygen 1.9.4 on Thu Apr 24 2025