Define Special Ordered Sets of type 1 and 2. More...
#include <CbcBranchActual.hpp>
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) |
Assignment operator. | |
~CbcSOS () | |
virtual double | infeasibility (int &preferredWay) const |
Infeasibility - large is 0.5. | |
virtual void | feasibleRegion () |
This looks at solution and sets bounds to contain solution. | |
virtual CbcBranchingObject * | createBranch (int way) |
Creates a branching object. | |
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. | |
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_ |
data | |
double * | weights_ |
Weights. | |
int | numberMembers_ |
Number of members. | |
int | sosType_ |
SOS type. | |
bool | integerValued_ |
Whether integer valued. |
Define Special Ordered Sets of type 1 and 2.
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 & | ) |
CbcSOS::~CbcSOS | ( | ) |
virtual double CbcSOS::infeasibility | ( | int & | preferredWay | ) | const [virtual] |
Infeasibility - large is 0.5.
Implements CbcObject.
virtual void CbcSOS::feasibleRegion | ( | ) | [virtual] |
This looks at solution and sets bounds to contain solution.
Implements CbcObject.
virtual CbcBranchingObject* CbcSOS::createBranch | ( | int | way | ) | [virtual] |
Creates a branching object.
Implements CbcObject.
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] |
Redoes data when sequence numbers change.
Reimplemented from CbcObject.
OsiSOS* CbcSOS::osiObject | ( | const OsiSolverInterface * | solver | ) | const |
Construct an OsiSOS object.
int CbcSOS::numberMembers | ( | ) | const [inline] |
Number of members.
Definition at line 152 of file CbcBranchActual.hpp.
const int* CbcSOS::members | ( | ) | const [inline] |
Members (indices in range 0 ... numberColumns-1).
Definition at line 156 of file CbcBranchActual.hpp.
int CbcSOS::sosType | ( | ) | const [inline] |
SOS type.
Definition at line 160 of file CbcBranchActual.hpp.
const double* CbcSOS::weights | ( | ) | const [inline] |
Array of weights.
Definition at line 164 of file CbcBranchActual.hpp.
void CbcSOS::setNumberMembers | ( | int | n | ) | [inline] |
Set number of members.
Definition at line 168 of file CbcBranchActual.hpp.
int* CbcSOS::mutableMembers | ( | ) | const [inline] |
Members (indices in range 0 ... numberColumns-1).
Definition at line 172 of file CbcBranchActual.hpp.
double* CbcSOS::mutableWeights | ( | ) | const [inline] |
Array of weights.
Definition at line 176 of file CbcBranchActual.hpp.
virtual bool CbcSOS::canDoHeuristics | ( | ) | const [inline, virtual] |
Return true if object can take part in normal heuristics.
Reimplemented from OsiObject.
Definition at line 181 of file CbcBranchActual.hpp.
void CbcSOS::setIntegerValued | ( | bool | yesNo | ) | [inline] |
Set whether set is integer valued or not.
Definition at line 184 of file CbcBranchActual.hpp.
int* CbcSOS::members_ [private] |
data
Members (indices in range 0 ... numberColumns-1)
Definition at line 190 of file CbcBranchActual.hpp.
double* CbcSOS::weights_ [private] |
Weights.
Definition at line 192 of file CbcBranchActual.hpp.
int CbcSOS::numberMembers_ [private] |
Number of members.
Definition at line 195 of file CbcBranchActual.hpp.
int CbcSOS::sosType_ [private] |
SOS type.
Definition at line 197 of file CbcBranchActual.hpp.
bool CbcSOS::integerValued_ [private] |
Whether integer valued.
Definition at line 199 of file CbcBranchActual.hpp.