Minotaur 0.4.1
Docs for developers
|
A class to select a variable for branching using reliability branching. More...
#include <ParReliabilityBrancher.h>
Public Member Functions | |
ParReliabilityBrancher (EnvPtr env, HandlerVector &handlers) | |
Construct using an environment pointer and handlers. More... | |
~ParReliabilityBrancher () | |
Destroy. | |
Branches | findBranches (RelaxationPtr, NodePtr, ConstSolutionPtr, SolutionPoolPtr, BrancherStatus &, ModVector &) |
Find a branching candidate. More... | |
Branches | findBranches (RelaxationPtr rel, NodePtr node, ConstSolutionPtr sol, SolutionPoolPtr s_pool, BrancherStatus &br_status, ModVector &mods, UIntVector timesUp, UIntVector timesDown, DoubleVector pseudoUp, DoubleVector pseudoDown, UInt nodesProc) |
bool | getTrustCutoff () |
Return value of trustCutoff parameter. | |
UInt | getIterLim () |
Get iteration limit of engine. | |
UIntVector | getLastStrBranched () |
Return the vector of last strong branching information of candidates. | |
std::string | getName () const |
Return the name of this brancher. More... | |
DoubleVector | getPCUp () const |
DoubleVector | getPCDown () const |
UIntVector | getTimesDown () const |
UIntVector | getTimesUp () const |
UInt | getThresh () const |
Return the threshhold value. | |
void | initialize (RelaxationPtr rel) |
Initialize data structures. More... | |
void | setTrustCutoff (bool val) |
Set value of trustCutoff parameter. | |
void | setEngine (EnginePtr engine) |
Set engine. More... | |
void | setIterLim (UInt k) |
Set iteration limit of engine. More... | |
void | setLastStrBranched (UIntVector lastStrBranched) |
Return the vector of last strong branching information of candidates. | |
void | setMaxDepth (UInt k) |
Set the depth at which we stop strong branching. More... | |
void | setMinNodeDist (UInt k) |
Don't do strong branching on a cand if we did it 'k' nodes or less ago. More... | |
void | setPCUp (DoubleVector psuedoUp) |
void | setPCDown (DoubleVector psuedoDown) |
void | setTimesDown (UIntVector timesDown) |
void | setTimesUp (UIntVector timesUp) |
void | setThresh (UInt k) |
Set reliability threshhold. More... | |
void | updateAfterSolve (NodePtr node, ConstSolutionPtr sol) |
Update pseudo-costs after LP is solved. More... | |
void | writeStats (std::ostream &out) const |
Write statistics. More... | |
![]() | |
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 | |
![]() | |
LoggerPtr | logger_ |
Log manager. | |
A class to select a variable for branching using reliability branching.
ParReliabilityBrancher::ParReliabilityBrancher | ( | EnvPtr | env, |
HandlerVector & | handlers | ||
) |
Construct using an environment pointer and handlers.
[in] | env | Environment from which options etc. are obtained. |
[in] | handlers | Array of handlers which are used to obtain branching candidates and modifications. This array can not be changed while branch-and-bound is running. |
|
inlinevirtual |
Find a branching candidate.
[in] | rel | Relaxation at the current node. |
[in] | node | The current node. |
[in] | sol | The solution at the current node. |
[in] | s_pool | Solution pool containing known feasible solutions. |
[out] | br_status | Status returned by this brancher. |
[out] | mods | Modification returned by this brancher. NULL if none found. |
Implements Minotaur::Brancher.
|
virtual |
Return the name of this brancher.
Implements Minotaur::Brancher.
|
inline |
Return the vector of pseudocosts of down-branchings upto this node in the parental chain (direct ancestors only).
|
inline |
Return the vector of pseudocosts of up-branchings upto this node in the parental chain (direct ancestors only).
|
inline |
Return the vector of number of down-branchings of a variable upto this in the parental chain (direct ancestors only).
|
inline |
Return the vector of number of up-branchings of a variable upto this node in the parental chain (direct ancestors only).
void ParReliabilityBrancher::initialize | ( | RelaxationPtr | rel | ) |
Initialize data structures.
[in] | rel | Relaxation for which this brancher is used. |
void ParReliabilityBrancher::setEngine | ( | EnginePtr | engine | ) |
Set engine.
[in] | engine | Pointer to the engine used in strong branching. |
void ParReliabilityBrancher::setIterLim | ( | UInt | k | ) |
Set iteration limit of engine.
[in] | k | The new iteration limit. |
void ParReliabilityBrancher::setMaxDepth | ( | UInt | k | ) |
Set the depth at which we stop strong branching.
[in] | k | The new depth value. |
void ParReliabilityBrancher::setMinNodeDist | ( | UInt | k | ) |
Don't do strong branching on a cand if we did it 'k' nodes or less ago.
[in] | k | The new minimum value. |
|
inline |
Return the vector of pseudocosts of down-branchings upto this node in the parental chain (direct ancestors only).
|
inline |
Return the vector of pseudocosts of up-branchings upto this node in the parental chain (direct ancestors only).
void ParReliabilityBrancher::setThresh | ( | UInt | k | ) |
Set reliability threshhold.
The pseudo cost is considered reliable if it has been updated k times.
[in] | k | The new threshhold value. |
|
inline |
Return the vector of number of down-branchings of a variable upto this in the parental chain (direct ancestors only).
|
inline |
Return the vector of number of up-branchings of a variable upto this node in the parental chain (direct ancestors only).
|
virtual |
Update pseudo-costs after LP is solved.
[in] | node | The node for which relaxation is solved. The pseudo cost of branching candidate used in node->parent is updated. |
[in] | sol | The solution of the relaxation at this node (not the parent). |
Reimplemented from Minotaur::Brancher.
|
virtual |
Write statistics.
Reimplemented from Minotaur::Brancher.