#include <OsiBranchingObject.hpp>
Public Member Functions | |
OsiSOS () | |
OsiSOS (const OsiSolverInterface *solver, int numberMembers, const int *which, const double *weights, int type=1) | |
Useful constructor - which are indices and weights are also given. | |
OsiSOS (const OsiSOS &) | |
virtual OsiObject * | clone () const |
Clone. | |
OsiSOS & | operator= (const OsiSOS &rhs) |
virtual | ~OsiSOS () |
virtual double | infeasibility (const OsiBranchingInformation *info, int &whichWay) const |
Infeasibility - large is 0.5. | |
virtual double | feasibleRegion (OsiSolverInterface *solver, const OsiBranchingInformation *info) const |
Set bounds to fix the variable at the current (integer) value. | |
virtual OsiBranchingObject * | createBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) const |
Creates a branching object. | |
virtual double | upEstimate () const |
Return "up" estimate (default 1.0e-5). | |
virtual double | downEstimate () const |
Return "down" estimate (default 1.0e-5). | |
virtual void | resetSequenceEtc (int numberColumns, const int *originalColumns) |
Redoes data when sequence numbers change. | |
int | numberMembers () const |
Number of members. | |
const int * | members () const |
Members (indices in range 0 ... numberColumns-1). | |
int | sosType () const |
SOS type. | |
int | setType () const |
SOS type. | |
const double * | weights () 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. | |
virtual bool | canHandleShadowPrices () const |
Return true if knows how to deal with Pseudo Shadow Prices. | |
void | setNumberMembers (int value) |
Set number of members. | |
int * | mutableMembers () const |
Members (indices in range 0 ... numberColumns-1). | |
void | setSosType (int value) |
Set SOS type. | |
double * | mutableWeights () const |
Array of weights. | |
Protected Attributes | |
int * | members_ |
data | |
double * | weights_ |
Weights. | |
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 columns of matrix
Definition at line 667 of file OsiBranchingObject.hpp.
OsiSOS::OsiSOS | ( | ) |
OsiSOS::OsiSOS | ( | const OsiSolverInterface * | solver, | |
int | numberMembers, | |||
const int * | which, | |||
const double * | weights, | |||
int | type = 1 | |||
) |
Useful constructor - which are indices and weights are also given.
If null then 0,1,2.. type is SOS type
OsiSOS::OsiSOS | ( | const OsiSOS & | ) |
virtual OsiSOS::~OsiSOS | ( | ) | [virtual] |
virtual double OsiSOS::infeasibility | ( | const OsiBranchingInformation * | info, | |
int & | whichWay | |||
) | const [virtual] |
virtual double OsiSOS::feasibleRegion | ( | OsiSolverInterface * | solver, | |
const OsiBranchingInformation * | info | |||
) | const [virtual] |
Set bounds to fix the variable at the current (integer) value.
Given an integer value, set the lower and upper bounds to fix the variable. Returns amount it had to move variable.
Implements OsiObject.
virtual OsiBranchingObject* OsiSOS::createBranch | ( | OsiSolverInterface * | solver, | |
const OsiBranchingInformation * | info, | |||
int | way | |||
) | const [virtual] |
Creates a branching object.
The preferred direction is set by way
, 0 for down, 1 for up.
Implements OsiObject.
virtual double OsiSOS::upEstimate | ( | ) | const [virtual] |
virtual double OsiSOS::downEstimate | ( | ) | const [virtual] |
virtual void OsiSOS::resetSequenceEtc | ( | int | numberColumns, | |
const int * | originalColumns | |||
) | [virtual] |
int OsiSOS::numberMembers | ( | ) | const [inline] |
const int* OsiSOS::members | ( | ) | const [inline] |
Members (indices in range 0 ... numberColumns-1).
Definition at line 723 of file OsiBranchingObject.hpp.
int OsiSOS::sosType | ( | ) | const [inline] |
int OsiSOS::setType | ( | ) | const [inline] |
const double* OsiSOS::weights | ( | ) | const [inline] |
virtual bool OsiSOS::canDoHeuristics | ( | ) | const [inline, virtual] |
Return true if object can take part in normal heuristics.
Reimplemented from OsiObject.
Definition at line 740 of file OsiBranchingObject.hpp.
void OsiSOS::setIntegerValued | ( | bool | yesNo | ) | [inline] |
virtual bool OsiSOS::canHandleShadowPrices | ( | ) | const [inline, virtual] |
Return true if knows how to deal with Pseudo Shadow Prices.
Reimplemented from OsiObject.
Definition at line 746 of file OsiBranchingObject.hpp.
void OsiSOS::setNumberMembers | ( | int | value | ) | [inline] |
int* OsiSOS::mutableMembers | ( | ) | const [inline] |
Members (indices in range 0 ... numberColumns-1).
Definition at line 753 of file OsiBranchingObject.hpp.
void OsiSOS::setSosType | ( | int | value | ) | [inline] |
double* OsiSOS::mutableWeights | ( | ) | const [inline] |
int* OsiSOS::members_ [protected] |
data
Members (indices in range 0 ... numberColumns-1)
Definition at line 767 of file OsiBranchingObject.hpp.
double* OsiSOS::weights_ [protected] |
int OsiSOS::numberMembers_ [protected] |
int OsiSOS::sosType_ [protected] |
bool OsiSOS::integerValued_ [protected] |