6 #ifndef CbcBranchDynamic_H 7 #define CbcBranchDynamic_H 9 #include "CoinPackedMatrix.hpp" 56 double changeUp,
int numInfUp,
57 double changeDn,
int numInfDn);
84 double bestCriterion_;
93 double bestChangeDown_;
126 int way ,
double value,
137 double lowerValue,
double upperValue) ;
152 void fillPart (
int variable,
153 int way ,
double value,
161 virtual double branch();
171 return changeInGuessed_;
175 changeInGuessed_ = value;
Simple branching object for an integer variable.
CbcSimpleIntegerDynamicPseudoCost * object_
Pointer back to object.
virtual void setBestCriterion(double value)
Sets or gets best criterion so far.
Branching decision dynamic class.
virtual ~CbcBranchDynamicDecision()
Abstract base class for `objects'.
Define a single integer class but with dynamic pseudo costs.
void setChangeInGuessed(double value)
Set change in guessed.
virtual void initialize(CbcModel *model)
Initialize, e.g. before the start of branch selection at a node.
CbcBranchingObject * object_
virtual void saveBranchingObject(OsiBranchingObject *object)
Saves a clone of current branching object.
double changeInGuessed_
Change in guessed objective value for next branch.
virtual CbcBranchObjType type() const
Return the type (an integer identifier) of this.
virtual CbcBranchDecision * clone() const
Clone.
CbcBranchDynamicDecision()
Simple branching object for an integer variable with pseudo costs.
Abstract branching object base class Now just difference with OsiBranchingObject. ...
Information required while the node is live.
double changeInGuessed() const
Change in guessed.
virtual double branch()=0
Execute the actions required to branch, as specified by the current state of the branching object...
virtual double getBestCriterion() const
CbcSimpleIntegerDynamicPseudoCost * object() const
Return object.
virtual void updateInformation(OsiSolverInterface *solver, const CbcNode *node)
Pass in information on branch just done.
virtual int whichMethod()
Says whether this method can handle both methods - 1 better, 2 best, 3 both.
virtual int betterBranch(CbcBranchingObject *thisOne, CbcBranchingObject *bestSoFar, double changeUp, int numInfUp, double changeDn, int numInfDn)
Compare two branching objects.
void setObject(CbcSimpleIntegerDynamicPseudoCost *object)
Set object.
Simple Branch and bound class.