#include <CbcBranchActual.hpp>
Inheritance diagram for CbcSOS:
Public Member Functions | |
CbcSOS () | |
CbcSOS (CbcModel *model, int numberMembers, const int *which, const double *weights, int identifier, int type=1) | |
Useful constructor - which are indices and weights are also given. | |
CbcSOS (const CbcSOS &) | |
virtual CbcObject * | clone () const |
Clone. | |
CbcSOS & | operator= (const CbcSOS &rhs) |
virtual | ~CbcSOS () |
virtual double | infeasibility (const OsiBranchingInformation *info, int &preferredWay) const |
Infeasibility - large is 0.5. | |
virtual void | feasibleRegion () |
This looks at solution and sets bounds to contain solution. | |
virtual CbcBranchingObject * | createCbcBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) |
Creates a branching object. | |
virtual CbcObjectUpdateData | createUpdateInformation (const OsiSolverInterface *solver, const CbcNode *node, const CbcBranchingObject *branchingObject) |
Pass in information on branch just done and create CbcObjectUpdateData instance. | |
virtual void | updateInformation (const CbcObjectUpdateData &data) |
Update object by CbcObjectUpdateData. | |
virtual OsiSolverBranch * | solverBranch () const |
Create an OsiSolverBranch object. | |
virtual void | redoSequenceEtc (CbcModel *model, int numberColumns, const int *originalColumns) |
Redoes data when sequence numbers change. | |
OsiSOS * | osiObject (const OsiSolverInterface *solver) const |
Construct an OsiSOS object. | |
int | numberMembers () const |
Number of members. | |
const int * | members () const |
Members (indices in range 0 ... numberColumns-1). | |
int | sosType () const |
SOS type. | |
int | numberTimesDown () const |
Down number times. | |
int | numberTimesUp () const |
Up number times. | |
const double * | weights () const |
Array of weights. | |
void | setNumberMembers (int n) |
Set number of members. | |
int * | mutableMembers () const |
Members (indices in range 0 ... numberColumns-1). | |
double * | mutableWeights () const |
Array of weights. | |
virtual bool | canDoHeuristics () const |
Return true if object can take part in normal heuristics. | |
void | setIntegerValued (bool yesNo) |
Set whether set is integer valued or not. | |
Private Attributes | |
int * | members_ |
Members (indices in range 0 ... numberColumns-1). | |
double * | weights_ |
Weights. | |
double | shadowEstimateDown_ |
Current pseudo-shadow price estimate down. | |
double | shadowEstimateUp_ |
Current pseudo-shadow price estimate up. | |
double | downDynamicPseudoRatio_ |
Down pseudo ratio. | |
double | upDynamicPseudoRatio_ |
Up pseudo ratio. | |
int | numberTimesDown_ |
Number of times we have gone down. | |
int | numberTimesUp_ |
Number of times we have gone up. | |
int | numberMembers_ |
Number of members. | |
int | sosType_ |
SOS type. | |
bool | integerValued_ |
Whether integer valued. |
These do not have to be integer - so do not appear in lists of integers.
which_ points directly to columns of matrix
Definition at line 101 of file CbcBranchActual.hpp.
CbcSOS::CbcSOS | ( | ) |
CbcSOS::CbcSOS | ( | CbcModel * | model, | |
int | numberMembers, | |||
const int * | which, | |||
const double * | weights, | |||
int | identifier, | |||
int | type = 1 | |||
) |
Useful constructor - which are indices and weights are also given.
If null then 0,1,2.. type is SOS type
CbcSOS::CbcSOS | ( | const CbcSOS & | ) |
virtual CbcSOS::~CbcSOS | ( | ) | [virtual] |
virtual double CbcSOS::infeasibility | ( | const OsiBranchingInformation * | info, | |
int & | preferredWay | |||
) | const [virtual] |
virtual void CbcSOS::feasibleRegion | ( | ) | [virtual] |
virtual CbcBranchingObject* CbcSOS::createCbcBranch | ( | OsiSolverInterface * | solver, | |
const OsiBranchingInformation * | info, | |||
int | way | |||
) | [virtual] |
virtual CbcObjectUpdateData CbcSOS::createUpdateInformation | ( | const OsiSolverInterface * | solver, | |
const CbcNode * | node, | |||
const CbcBranchingObject * | branchingObject | |||
) | [virtual] |
Pass in information on branch just done and create CbcObjectUpdateData instance.
If object does not need data then backward pointer will be NULL. Assumes can get information from solver
Reimplemented from CbcObject.
virtual void CbcSOS::updateInformation | ( | const CbcObjectUpdateData & | data | ) | [virtual] |
virtual OsiSolverBranch* CbcSOS::solverBranch | ( | ) | const [virtual] |
Create an OsiSolverBranch object.
This returns NULL if branch not represented by bound changes
Reimplemented from CbcObject.
virtual void CbcSOS::redoSequenceEtc | ( | CbcModel * | model, | |
int | numberColumns, | |||
const int * | originalColumns | |||
) | [virtual] |
OsiSOS* CbcSOS::osiObject | ( | const OsiSolverInterface * | solver | ) | const |
Construct an OsiSOS object.
int CbcSOS::numberMembers | ( | ) | const [inline] |
const int* CbcSOS::members | ( | ) | const [inline] |
Members (indices in range 0 ... numberColumns-1).
Definition at line 165 of file CbcBranchActual.hpp.
References members_.
int CbcSOS::sosType | ( | ) | const [inline] |
int CbcSOS::numberTimesDown | ( | ) | const [inline] |
int CbcSOS::numberTimesUp | ( | ) | const [inline] |
const double* CbcSOS::weights | ( | ) | const [inline] |
void CbcSOS::setNumberMembers | ( | int | n | ) | [inline] |
Set number of members.
Definition at line 183 of file CbcBranchActual.hpp.
References numberMembers_.
int* CbcSOS::mutableMembers | ( | ) | const [inline] |
Members (indices in range 0 ... numberColumns-1).
Definition at line 187 of file CbcBranchActual.hpp.
References members_.
double* CbcSOS::mutableWeights | ( | ) | const [inline] |
virtual bool CbcSOS::canDoHeuristics | ( | ) | const [inline, virtual] |
Return true if object can take part in normal heuristics.
Reimplemented from OsiObject.
Definition at line 196 of file CbcBranchActual.hpp.
References integerValued_, and sosType_.
void CbcSOS::setIntegerValued | ( | bool | yesNo | ) | [inline] |
Set whether set is integer valued or not.
Definition at line 199 of file CbcBranchActual.hpp.
References integerValued_.
int* CbcSOS::members_ [private] |
Members (indices in range 0 ... numberColumns-1).
Definition at line 205 of file CbcBranchActual.hpp.
Referenced by members(), and mutableMembers().
double* CbcSOS::weights_ [private] |
Weights.
Definition at line 207 of file CbcBranchActual.hpp.
Referenced by mutableWeights(), and weights().
double CbcSOS::shadowEstimateDown_ [mutable, private] |
double CbcSOS::shadowEstimateUp_ [mutable, private] |
double CbcSOS::downDynamicPseudoRatio_ [private] |
double CbcSOS::upDynamicPseudoRatio_ [private] |
int CbcSOS::numberTimesDown_ [private] |
Number of times we have gone down.
Definition at line 217 of file CbcBranchActual.hpp.
Referenced by numberTimesDown().
int CbcSOS::numberTimesUp_ [private] |
Number of times we have gone up.
Definition at line 219 of file CbcBranchActual.hpp.
Referenced by numberTimesUp().
int CbcSOS::numberMembers_ [private] |
Number of members.
Definition at line 221 of file CbcBranchActual.hpp.
Referenced by numberMembers(), and setNumberMembers().
int CbcSOS::sosType_ [private] |
SOS type.
Definition at line 223 of file CbcBranchActual.hpp.
Referenced by canDoHeuristics(), and sosType().
bool CbcSOS::integerValued_ [private] |
Whether integer valued.
Definition at line 225 of file CbcBranchActual.hpp.
Referenced by canDoHeuristics(), and setIntegerValued().