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