#include <CbcBranchBase.hpp>
Inheritance diagram for CbcBranchDecision:
Public Member Functions | |
CbcBranchDecision () | |
Default Constructor. | |
virtual | ~CbcBranchDecision () |
Destructor. | |
virtual CbcBranchDecision * | clone () const =0 |
Clone. | |
virtual void | initialize (CbcModel *model)=0 |
Initialize e.g. before starting to choose a branch at a node. | |
virtual int | betterBranch (CbcBranchingObject *thisOne, CbcBranchingObject *bestSoFar, double changeUp, int numberInfeasibilitiesUp, double changeDown, int numberInfeasibilitiesDown)=0 |
Compare two branching objects. Return nonzero if branching using thisOne is better than branching using bestSoFar . | |
virtual int | bestBranch (CbcBranchingObject **objects, int numberObjects, int numberUnsatisfied, double *changeUp, int *numberInfeasibilitiesUp, double *changeDown, int *numberInfeasibilitiesDown, double objectiveValue) |
Compare N branching objects. Return index of best and sets way of branching in chosen object. | |
virtual int | whichMethod () |
Says whether this method can handle both methods - 1 better, 2 best, 3 both. | |
virtual void | saveBranchingObject (CbcBranchingObject *object) |
Saves a clone of current branching object. | |
virtual void | updateInformation (OsiSolverInterface *solver, const CbcNode *node) |
Pass in information on branch just done. | |
virtual void | setBestCriterion (double value) |
Sets or gets best criterion so far. | |
virtual double | getBestCriterion () const |
virtual void | generateCpp (FILE *fp) |
Create C++ lines to get to current state. | |
Protected Attributes | |
CbcBranchingObject * | object_ |
Private Member Functions | |
CbcBranchDecision & | operator= (const CbcBranchDecision &rhs) |
Assignment is illegal. |
In the abstract, an CbcBranchDecision object is expected to be able to compare two possible branching choices.
The betterBranch() method is the crucial routine. It is expected to be able to compare two CbcBranchingObjects .
See CbcObject for an overview of the three classes (CbcObject, CbcBranchingObject, and CbcBranchDecision) which make up cbc's branching model.
Definition at line 370 of file CbcBranchBase.hpp.
|
Default Constructor.
|
|
Destructor.
|
|
Clone.
Implemented in CbcBranchDefaultDecision, CbcBranchDynamicDecision, and CbcBranchUserDecision. |
|
Initialize e.g. before starting to choose a branch at a node.
Implemented in CbcBranchDefaultDecision, CbcBranchDynamicDecision, and CbcBranchUserDecision. |
|
Compare two branching objects. Return nonzero if branching using
If Implemented in CbcBranchDefaultDecision, CbcBranchDynamicDecision, and CbcBranchUserDecision. |
|
Compare N branching objects. Return index of best and sets way of branching in chosen object. Either this or betterBranch is used depending which user wants. Reimplemented in CbcBranchDefaultDecision, and CbcBranchUserDecision. |
|
Says whether this method can handle both methods - 1 better, 2 best, 3 both.
Reimplemented in CbcBranchDynamicDecision. Definition at line 413 of file CbcBranchBase.hpp. |
|
Saves a clone of current branching object. Can be used to update information on object causing branch - after branch Reimplemented in CbcBranchDynamicDecision. Definition at line 417 of file CbcBranchBase.hpp. |
|
Pass in information on branch just done. assumes object can get information from solver Reimplemented in CbcBranchDynamicDecision. Definition at line 420 of file CbcBranchBase.hpp. |
|
Sets or gets best criterion so far.
Reimplemented in CbcBranchDefaultDecision, and CbcBranchDynamicDecision. Definition at line 423 of file CbcBranchBase.hpp. |
|
Reimplemented in CbcBranchDefaultDecision, and CbcBranchDynamicDecision. Definition at line 424 of file CbcBranchBase.hpp. |
|
Create C++ lines to get to current state.
Definition at line 426 of file CbcBranchBase.hpp. |
|
Assignment is illegal.
|
|
Definition at line 431 of file CbcBranchBase.hpp. |