6 #ifndef CbcBranchLink_H 7 #define CbcBranchLink_H 29 const double *
weights,
int setNumber);
38 const double *
weights,
int setNumber);
132 virtual void print();
const int * which() const
Which variables.
virtual CbcRangeCompare compareBranchingObject(const CbcBranchingObject *brObj, const bool replaceIfOverlap=false)
Compare the this with brObj.
Define Special Linked Ordered Sets.
virtual double infeasibility(int &preferredWay) const
Infeasibility - large is 0.5.
virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
Creates a branching object.
int numberMembers() const
Number of members.
CbcModel * model() const
Return model.
virtual CbcObject * clone() const
Clone.
virtual ~CbcLinkBranchingObject()
virtual void print()
Print something about branch - only if log level high.
virtual void feasibleRegion()
This looks at solution and sets bounds to contain solution.
int way() const
Get the state of the branching object.
Abstract branching object base class Now just difference with OsiBranchingObject. ...
int numberMembers_
Number of members.
CbcLink & operator=(const CbcLink &rhs)
CbcModel * model() const
Return model.
int numberLinks_
Number of links.
Branching object for Special ordered sets.
int numberLinks() const
Number of links for each member.
double separator_
separator
virtual CbcBranchObjType type() const
Return the type (an integer identifier) of this.
CbcLinkBranchingObject & operator=(const CbcLinkBranchingObject &rhs)
virtual double branch()
Does next branch and updates state.
Simple Branch and bound class.
virtual CbcBranchingObject * clone() const
Clone.
const double * weights() const
Array of weights.
int preferredWay() const
If -1 down always chosen first, +1 up always, 0 normal.