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