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