46     const int *which, 
const double *
weights, 
int identifier,
 
  229     double *lower, 
double *upper,
 
  230     int branchState) 
const;
 
  244   virtual void print();
 
int numberTimesUp() const 
Up number times. 
 
Branching object for Special ordered sets. 
 
int * mutableMembers() const 
Members (indices in range 0 ... numberColumns-1) 
 
Branching object for Special Ordered Sets of type 1 and 2. 
 
virtual CbcBranchingObject * clone() const 
Clone. 
 
double shadowEstimateDown_
Current pseudo-shadow price estimate down. 
 
virtual void feasibleRegion()=0
For the variable(s) referenced by the object, look at the current solution and set bounds to match th...
 
virtual void feasibleRegion()
This looks at solution and sets bounds to contain solution. 
 
virtual OsiSolverBranch * solverBranch() const 
Create an OsiSolverBranch object. 
 
virtual ~CbcSOSBranchingObject()
 
virtual bool canDoHeuristics() const 
Return true if object can take part in normal heuristics. 
 
int numberMembers() const 
Number of members. 
 
virtual OsiSolverBranch * solverBranch() const 
Create an OsiSolverBranch object. 
 
virtual CbcRangeCompare compareBranchingObject(const CbcBranchingObject *brObj, const bool replaceIfOverlap=false)
Compare the this with brObj. 
 
bool integerValued_
Whether integer valued. 
 
Define Special Ordered Sets of type 1 and 2. 
 
virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
Creates a branching object. 
 
int preferredWay() const 
If -1 down always chosen first, +1 up always, 0 normal. 
 
Abstract Base Class for describing an interface to a solver. 
 
int numberTimesDown() const 
Down number times. 
 
virtual void print()
Print something about branch - only if log level high. 
 
int firstNonzero_
The following two members describe the range in the members_ of the original object that whose upper ...
 
virtual int compareOriginalObject(const CbcBranchingObject *brObj) const 
Compare the original object of this with the original object of brObj. 
 
CbcSOS & operator=(const CbcSOS &rhs)
 
double infeasibility() const 
Return infeasibility. 
 
virtual void redoSequenceEtc(CbcModel *model, int numberColumns, const int *originalColumns)
Redoes data when sequence numbers change. 
 
CbcModel * model() const 
Return model. 
 
int numberMembers_
Number of members. 
 
double shadowEstimateUp_
Current pseudo-shadow price estimate up. 
 
int way() const 
Get the state of the branching object. 
 
virtual void updateInformation(const CbcObjectUpdateData &data)
Update object by CbcObjectUpdateData. 
 
CbcSOSBranchingObject & operator=(const CbcSOSBranchingObject &rhs)
 
Abstract branching object base class Now just difference with OsiBranchingObject. ...
 
void setIntegerValued(bool yesNo)
Set whether set is integer valued or not. 
 
virtual void previousBranch()
Reset every information so that the branching object appears to point to the previous child...
 
void computeNonzeroRange()
Fill out the firstNonzero_ and lastNonzero_ data members. 
 
Information required while the node is live. 
 
virtual double branch()
Does next branch and updates state. 
 
virtual void fix(OsiSolverInterface *solver, double *lower, double *upper, int branchState) const 
Update bounds in solver as in 'branch' and update given bounds. 
 
double * mutableWeights() const 
Array of weights. 
 
CbcModel * model() const 
Return model. 
 
double downDynamicPseudoRatio_
Down pseudo ratio. 
 
virtual double branch()=0
Execute the actions required to branch, as specified by the current state of the branching object...
 
virtual void previousBranch()
Reset every information so that the branching object appears to point to the previous child...
 
const int * members() const 
Members (indices in range 0 ... numberColumns-1) 
 
virtual void print() const 
Print something about branch - only if log level high. 
 
double upDynamicPseudoRatio_
Up pseudo ratio. 
 
int numberTimesUp_
Number of times we have gone up. 
 
double separator_
separator 
 
int sosType() const 
SOS type. 
 
virtual CbcBranchObjType type() const 
Return the type (an integer identifier) of this. 
 
bool oddValues_
Whether odd values e.g. negative. 
 
const double * weights() const 
Array of weights. 
 
void setNumberMembers(int n)
Set number of members. 
 
virtual CbcObject * clone() const 
Clone. 
 
int numberTimesDown_
Number of times we have gone down. 
 
Simple Branch and bound class. 
 
OsiSOS * osiObject(const OsiSolverInterface *solver) const 
Construct an OsiSOS object. 
 
double * weights_
Weights for individual members. 
 
virtual CbcObjectUpdateData createUpdateInformation(const OsiSolverInterface *solver, const CbcNode *node, const CbcBranchingObject *branchingObject)
Pass in information on branch just done and create CbcObjectUpdateData instance.