51 const int *which,
const char *
type,
52 int identifier,
int slack = -1);
106 inline char type(
int index)
const
177 int numberOnDownSide,
const int *down,
178 int numberOnUpSide,
const int *up);
199 virtual void print();
248 int numberOnDownSide,
const int *down,
249 int numberOnUpSide,
const int *up);
270 virtual void print();
Abstract branching object base class Now just difference with OsiBranchingObject. ...
virtual CbcBranchingObject * clone() const
Clone.
virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
Creates a branching object.
int cliqueType() const
Clique type: 0 is <=, 1 is ==.
CbcCliqueBranchingObject()
virtual void print() const
Print something about branch - only if log level high.
virtual ~CbcClique()
Destructor.
virtual int compareOriginalObject(const CbcBranchingObject *brObj) const
Compare the original object of this with the original object of brObj.
const CbcClique * clique_
data
virtual CbcRangeCompare compareBranchingObject(const CbcBranchingObject *brObj, const bool replaceIfOverlap=false)
Compare the this with brObj.
CbcLongCliqueBranchingObject()
virtual CbcObject * clone() const
Clone.
int numberNonSOSMembers() const
Number of variables with -1 coefficient.
virtual double branch()
Does next branch and updates state.
const int * members() const
Members (indices in range 0 ... numberIntegers_-1)
double infeasibility() const
Return infeasibility.
virtual ~CbcCliqueBranchingObject()
virtual CbcBranchObjType type() const
Return the type (an integer identifier) of this.
virtual void redoSequenceEtc(CbcModel *model, int numberColumns, const int *originalColumns)
Redoes data when sequence numbers change.
int slack_
Slack variable for the clique.
char * type_
Strong value for each member.
virtual int compareOriginalObject(const CbcBranchingObject *brObj) const
Compare the original object of this with the original object of brObj.
int * members_
Members (indices in range 0 ... numberIntegers_-1)
virtual ~CbcLongCliqueBranchingObject()
virtual CbcRangeCompare compareBranchingObject(const CbcBranchingObject *brObj, const bool replaceIfOverlap=false)
Compare the this with brObj.
virtual void feasibleRegion()=0
For the variable(s) referenced by the object, look at the current solution and set bounds to match th...
char type(int index) const
Type of each member, i.e., which way is strong.
int numberMembers_
data Number of members
int preferredWay() const
If -1 down always chosen first, +1 up always, 0 normal.
unsigned int * downMask_
downMask - bit set to fix to weak bounds, not set to leave unfixed
unsigned int upMask_[2]
upMask - bit set to fix to weak bounds, not set to leave unfixed
CbcClique()
Default Constructor.
CbcClique & operator=(const CbcClique &rhs)
Assignment operator.
Abstract Base Class for describing an interface to a solver.
virtual CbcBranchObjType type() const
Return the type (an integer identifier) of this.
unsigned int * upMask_
upMask - bit set to fix to weak bounds, not set to leave unfixed
CbcLongCliqueBranchingObject & operator=(const CbcLongCliqueBranchingObject &rhs)
int cliqueType_
Clique type.
const CbcClique * clique_
data
int way() const
Get the state of the branching object.
CbcModel * model() const
Return model.
virtual CbcBranchingObject * clone() const
Clone.
Unordered Clique Branching Object class.
CbcCliqueBranchingObject & operator=(const CbcCliqueBranchingObject &rhs)
virtual void feasibleRegion()
This looks at solution and sets bounds to contain solution.
Branching object for unordered cliques.
virtual void print()
Print something about branch - only if log level high.
int numberMembers() const
Number of members.
unsigned int downMask_[2]
downMask - bit set to fix to weak bounds, not set to leave unfixed
int numberNonSOSMembers_
Number of Non SOS members i.e. fixing to zero is strong.
CbcModel * model() const
Return model.
virtual double branch()
Does next branch and updates state.
Branching object for cliques.
Simple Branch and bound class.
virtual void print()
Print something about branch - only if log level high.
virtual double branch()=0
Execute the actions required to branch, as specified by the current state of the branching object...