6 #ifndef CbcBranchDynamic_H
7 #define CbcBranchDynamic_H
56 double changeUp,
int numInfUp,
57 double changeDn,
int numInfDn);
135 double lowerValue,
double upperValue);
151 int way,
double value,
Abstract branching object base class Now just difference with OsiBranchingObject. ...
int bestNumberDown_
Number of infeasibilities for down.
double bestChangeUp_
Change up for best.
CbcSimpleIntegerDynamicPseudoCost * object() const
Return object.
void setChangeInGuessed(double value)
Set change in guessed.
CbcBranchDynamicDecision & operator=(const CbcBranchDynamicDecision &rhs)
Illegal Assignment operator.
int bestNumberUp_
Number of infeasibilities for up.
double changeInGuessed() const
Change in guessed.
virtual CbcBranchingObject * clone() const
Clone.
virtual ~CbcDynamicPseudoCostBranchingObject()
Destructor.
virtual int fillStrongInfo(CbcStrongInfo &info)
Some branchingObjects may claim to be able to skip strong branching.
CbcSimpleIntegerDynamicPseudoCost * object_
Pointer back to object.
Define a single integer class but with dynamic pseudo costs.
virtual void initialize(CbcModel *model)
Initialize, e.g. before the start of branch selection at a node.
virtual CbcBranchDecision * clone() const
Clone.
Branching decision dynamic class.
virtual double branch()
Sets the bounds for the variable according to the current arm of the branch and advances the object s...
virtual CbcBranchObjType type() const
Return the type (an integer identifier) of this.
virtual void setBestCriterion(double value)
Sets or gets best criterion so far.
double value() const
Current value.
int variable() const
Index identifying the associated CbcObject within its class.
virtual double getBestCriterion() const
CbcDynamicPseudoCostBranchingObject & operator=(const CbcDynamicPseudoCostBranchingObject &rhs)
Assignment operator.
virtual void updateInformation(OsiSolverInterface *solver, const CbcNode *node)
Pass in information on branch just done.
double bestChangeDown_
Change down for best.
CbcDynamicPseudoCostBranchingObject()
Default constructor.
Simple branching object for an integer variable.
Abstract Base Class for describing an interface to a solver.
CbcBranchingObject * bestObject_
Pointer to best branching object.
void setObject(CbcSimpleIntegerDynamicPseudoCost *object)
Set object.
double bestCriterion_
data
int way() const
Get the state of the branching object.
virtual ~CbcBranchDynamicDecision()
virtual void saveBranchingObject(OsiBranchingObject *object)
Saves a clone of current branching object.
void fillPart(int variable, int way, double value, CbcSimpleIntegerDynamicPseudoCost *object)
Does part of constructor.
Information required while the node is live.
Simple branching object for an integer variable with pseudo costs.
double changeInGuessed_
Change in guessed objective value for next branch.
CbcBranchDynamicDecision()
Abstract base class for `objects'.
CbcModel * model() const
Return model.
Simple Branch and bound class.
virtual int whichMethod()
Says whether this method can handle both methods - 1 better, 2 best, 3 both.
Abstract branching object base class.
virtual double branch()=0
Execute the actions required to branch, as specified by the current state of the branching object...
virtual int betterBranch(CbcBranchingObject *thisOne, CbcBranchingObject *bestSoFar, double changeUp, int numInfUp, double changeDn, int numInfDn)
Compare two branching objects.