24 const int *which,
int identifier);
122 virtual void print();
Abstract branching object base class Now just difference with OsiBranchingObject. ...
Define an n-way class for variables.
Abstract base class for consequent bounds.
virtual void print() const
Print something about branch - only if log level high.
void applyConsequence(int iSequence, int state) const
Applies a consequence for a single member.
double infeasibility() const
Return infeasibility.
virtual double branch()
Does next branch and updates state.
virtual CbcRangeCompare compareBranchingObject(const CbcBranchingObject *brObj, const bool replaceIfOverlap=false)
Compare the this with brObj.
virtual CbcObject * clone() const
Clone.
virtual CbcBranchingObject * clone() const
Clone.
virtual void feasibleRegion()=0
For the variable(s) referenced by the object, look at the current solution and set bounds to match th...
virtual bool twoWay() const
Is this a two way object (-1 down, +1 up)
int numberInSet_
Number in set.
int preferredWay() const
If -1 down always chosen first, +1 up always, 0 normal.
int numberMembers_
data Number of members
int numberMembers() const
Number of members.
Abstract Base Class for describing an interface to a solver.
virtual CbcBranchObjType type() const
Return the type (an integer identifier) of this.
CbcNWayBranchingObject & operator=(const CbcNWayBranchingObject &rhs)
virtual void previousBranch()
Reset every information so that the branching object appears to point to the previous child...
CbcConsequence ** consequence_
Consequences (normally NULL)
virtual void redoSequenceEtc(CbcModel *model, int numberColumns, const int *originalColumns)
Redoes data when sequence numbers change.
virtual ~CbcNWayBranchingObject()
virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
Creates a branching object.
CbcModel * model() const
Return model.
int * members_
Members (indices in range 0 ... numberColumns-1)
CbcNWay & operator=(const CbcNWay &rhs)
Assignment operator.
virtual void feasibleRegion()
This looks at solution and sets bounds to contain solution.
virtual int compareOriginalObject(const CbcBranchingObject *brObj) const
Compare the original object of this with the original object of brObj.
virtual int numberBranches() const
The number of branch arms created for this branching object.
void setConsequence(int iColumn, const CbcConsequence &consequence)
Set up a consequence for a single member.
virtual ~CbcNWay()
Destructor.
const CbcNWay * object_
Points back to object.
N way branching Object class.
int * order_
order of branching - points back to CbcNWay
const int * members() const
Members (indices in range 0 ... numberColumns-1)
virtual void print()
Print something about branch - only if log level high.
CbcModel * model() const
Return model.
Simple Branch and bound class.
virtual double branch()=0
Execute the actions required to branch, as specified by the current state of the branching object...