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