8 #ifndef CbcBranchingObject_H 9 #define CbcBranchingObject_H 14 #include "OsiBranchingObject.hpp" 89 numberBranches_ = value;
98 virtual double branch() = 0;
105 virtual double branch(OsiSolverInterface * ) {
110 virtual void fix(OsiSolverInterface * ,
111 double * ,
double * ,
116 virtual bool tighten(OsiSolverInterface * ) {
return false;}
122 assert(branchIndex_ > 0);
127 using OsiBranchingObject::print ;
162 inline void way(
int way) {
virtual bool tighten(OsiSolverInterface *)
Change (tighten) bounds in object to reflect bounds in solver.
void way(int way)
Set the state of the branching object.
void setModel(CbcModel *model)
update model
CbcModel * model_
The model that owns this branching object.
void setOriginalObject(CbcObject *object)
Set pointer back to object which created.
Abstract base class for `objects'.
void setNumberBranches(int value)
Set number of branches to do.
CbcBranchingObject()
Default Constructor.
virtual CbcBranchingObject * clone() const =0
Clone.
virtual double branch(OsiSolverInterface *)
Execute the actions required to branch, as specified by the current state of the branching object...
CbcModel * model() const
Return model.
virtual CbcRangeCompare compareBranchingObject(const CbcBranchingObject *brObj, const bool replaceIfOverlap=false)=0
Compare the this with brObj.
int way() const
Get the state of the branching object.
virtual void fix(OsiSolverInterface *, double *, double *, int) const
Update bounds in solver as in 'branch' and update given bounds.
Abstract branching object base class Now just difference with OsiBranchingObject. ...
CbcBranchingObject & operator=(const CbcBranchingObject &rhs)
Assignment operator.
virtual void previousBranch()
Reset every information so that the branching object appears to point to the previous child...
int variable() const
Index identifying the associated CbcObject within its class.
virtual double branch()=0
Execute the actions required to branch, as specified by the current state of the branching object...
virtual CbcBranchObjType type() const =0
Return the type (an integer identifier) of this.
virtual void print() const
Print something about branch - only if log level high.
int way_
The state of the branching object.
CbcObject * originalCbcObject_
Pointer back to object which created.
virtual int fillStrongInfo(CbcStrongInfo &)
Some branchingObjects may claim to be able to skip strong branching.
virtual ~CbcBranchingObject()
Destructor.
int variable_
Branching variable (0 is first integer)
Simple Branch and bound class.
void resetNumberBranchesLeft()
Reset number of branches left to original.
virtual int compareOriginalObject(const CbcBranchingObject *brObj) const
Compare the original object of this with the original object of brObj.
CbcObject * object() const
Return pointer back to object which created.