3 #ifndef CbcBranchLink_H
4 #define CbcBranchLink_H
6 #include "CbcBranchBase.hpp"
28 const double *
weights,
int setNumber);
36 int numberLinks,
int typeSOS,
const int *
which,
37 const double * weights,
int setNumber);
68 inline const int *
which()
const
124 virtual void print();
int numberMembers_
Number of members.
Abstract branching object base class Now just difference with OsiBranchingObject. ...
Branching object for Special ordered sets.
Define Special Linked Ordered Sets.
virtual CbcBranchingObject * createBranch(int way)
Creates a branching object.
CbcLinkBranchingObject & operator=(const CbcLinkBranchingObject &rhs)
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 double infeasibility(int &preferredWay) const
Infeasibility - large is 0.5.
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
CbcLink & operator=(const CbcLink &rhs)
int way() const
Get the state of the branching object.
int numberMembers() const
Number of members.
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 int type() const
Return the type (an integer identifier) of this.
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()