|
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. | |
| ~ParReliabilityBrancher () | |
| Destroy. | |
| Branches | findBranches (RelaxationPtr, NodePtr, ConstSolutionPtr, SolutionPoolPtr, BrancherStatus &, ModVector &) |
| Find a branching candidate. | |
| 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. | |
| 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. | |
| void | setTrustCutoff (bool val) |
| Set value of trustCutoff parameter. | |
| void | setEngine (EnginePtr engine) |
| Set engine. | |
| void | setIterLim (UInt k) |
| Set iteration limit of engine. | |
| 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. | |
| void | setMinNodeDist (UInt k) |
| Don't do strong branching on a cand if we did it 'k' nodes or less ago. | |
| void | setPCUp (DoubleVector psuedoUp) |
| void | setPCDown (DoubleVector psuedoDown) |
| void | setTimesDown (UIntVector timesDown) |
| void | setTimesUp (UIntVector timesUp) |
| void | setThresh (UInt k) |
| Set reliability threshhold. | |
| void | updateAfterSolve (NodePtr node, ConstSolutionPtr sol) |
| Update pseudo-costs after LP is solved. | |
| void | writeStats (std::ostream &out) const |
| Write statistics. | |
Public Member Functions inherited from Minotaur::Brancher | |
| Brancher () | |
| Default constructor. | |
| virtual | ~Brancher () |
| Destroy. | |
Additional Inherited Members | |
Protected Attributes inherited from Minotaur::Brancher | |
| 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.