| 
    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.