A class to select a variable for branching using reliability branching.
More...
#include <ReliabilityBrancher.h>
|
| ReliabilityBrancher (EnvPtr env, HandlerVector &handlers) |
| Construct using an environment pointer and handlers. More...
|
|
| ~ReliabilityBrancher () |
| Destroy.
|
|
Branches | findBranches (RelaxationPtr rel, NodePtr node, ConstSolutionPtr sol, SolutionPoolPtr s_pool, BrancherStatus &br_status, ModVector &mods) |
| Find a branching candidate. More...
|
|
bool | getTrustCutoff () |
| Return value of trustCutoff parameter.
|
|
UInt | getIterLim () |
| Get iteration limit of engine.
|
|
std::string | getName () const |
| Return the name of this brancher. More...
|
|
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 | 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 | 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...
|
|
A class to select a variable for branching using reliability branching.
◆ ReliabilityBrancher()
ReliabilityBrancher::ReliabilityBrancher |
( |
EnvPtr |
env, |
|
|
HandlerVector & |
handlers |
|
) |
| |
Construct using an environment pointer and handlers.
- Parameters
-
[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. |
◆ findBranches()
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] | 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.
◆ getName()
std::string ReliabilityBrancher::getName |
( |
| ) |
const |
|
virtual |
◆ initialize()
Initialize data structures.
- Parameters
-
[in] | rel | Relaxation for which this brancher is used. |
◆ setEngine()
void ReliabilityBrancher::setEngine |
( |
EnginePtr |
engine | ) |
|
Set engine.
- Parameters
-
[in] | engine | Pointer to the engine used in strong branching. |
◆ setIterLim()
void ReliabilityBrancher::setIterLim |
( |
UInt |
k | ) |
|
Set iteration limit of engine.
- Parameters
-
[in] | k | The new iteration limit. |
◆ setMaxDepth()
void ReliabilityBrancher::setMaxDepth |
( |
UInt |
k | ) |
|
Set the depth at which we stop strong branching.
- Parameters
-
[in] | k | The new depth value. |
◆ setMinNodeDist()
void ReliabilityBrancher::setMinNodeDist |
( |
UInt |
k | ) |
|
Don't do strong branching on a cand if we did it 'k' nodes or less ago.
- Parameters
-
[in] | k | The new minimum value. |
◆ setThresh()
void ReliabilityBrancher::setThresh |
( |
UInt |
k | ) |
|
Set reliability threshhold.
The pseudo cost is considered reliable if it has been updated k times.
- Parameters
-
[in] | k | The new threshhold value. |
◆ updateAfterSolve()
Update pseudo-costs after LP is solved.
- Parameters
-
[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.
◆ writeStats()
void ReliabilityBrancher::writeStats |
( |
std::ostream & |
out | ) |
const |
|
virtual |
The documentation for this class was generated from the following files: