Lotsize class. More...
#include <OsiBranchingObject.hpp>
Public Member Functions | |
OsiLotsize () | |
OsiLotsize (const OsiSolverInterface *solver, int iColumn, int numberPoints, const double *points, bool range=false) | |
OsiLotsize (const OsiLotsize &) | |
virtual OsiObject * | clone () const |
Clone. | |
OsiLotsize & | operator= (const OsiLotsize &rhs) |
~OsiLotsize () | |
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 contain the current solution. | |
virtual OsiBranchingObject * | createBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) const |
Creates a branching object. | |
void | setColumnNumber (int value) |
Set solver column number. | |
virtual int | columnNumber () const |
Column number if single column object -1 otherwise, so returns >= 0 Used by heuristics. | |
virtual void | resetBounds (const OsiSolverInterface *solver) |
Reset original upper and lower bound values from the solver. | |
bool | findRange (double value, double integerTolerance) const |
Finds range of interest so value is feasible in range range_ or infeasible between hi[range_] and lo[range_+1]. | |
virtual void | floorCeiling (double &floorLotsize, double &ceilingLotsize, double value, double tolerance) const |
Returns floor and ceiling. | |
double | originalLowerBound () const |
Original bounds. | |
double | originalUpperBound () const |
int | rangeType () const |
Type - 1 points, 2 ranges. | |
int | numberRanges () const |
Number of points. | |
double * | bound () const |
Ranges. | |
virtual void | resetSequenceEtc (int numberColumns, const int *originalColumns) |
Change column numbers after preprocessing. | |
virtual double | upEstimate () const |
Return "up" estimate (default 1.0e-5). | |
virtual double | downEstimate () const |
Return "down" estimate (default 1.0e-5). | |
virtual bool | canHandleShadowPrices () const |
Return true if knows how to deal with Pseudo Shadow Prices. | |
virtual bool | canDoHeuristics () const |
Return true if object can take part in normal heuristics. | |
Private Attributes | |
int | columnNumber_ |
data | |
int | rangeType_ |
Type - 1 points, 2 ranges. | |
int | numberRanges_ |
Number of points. | |
double | largestGap_ |
double * | bound_ |
Ranges. | |
int | range_ |
Current range. |
Lotsize class.
Definition at line 824 of file OsiBranchingObject.hpp.
OsiLotsize::OsiLotsize | ( | ) |
OsiLotsize::OsiLotsize | ( | const OsiSolverInterface * | solver, | |
int | iColumn, | |||
int | numberPoints, | |||
const double * | points, | |||
bool | range = false | |||
) |
OsiLotsize::OsiLotsize | ( | const OsiLotsize & | ) |
OsiLotsize::~OsiLotsize | ( | ) |
OsiLotsize& OsiLotsize::operator= | ( | const OsiLotsize & | rhs | ) |
virtual double OsiLotsize::infeasibility | ( | const OsiBranchingInformation * | info, | |
int & | whichWay | |||
) | const [virtual] |
Infeasibility - large is 0.5.
Implements OsiObject.
virtual double OsiLotsize::feasibleRegion | ( | OsiSolverInterface * | solver, | |
const OsiBranchingInformation * | info | |||
) | const [virtual] |
Set bounds to contain the current solution.
More precisely, for the variable associated with this object, take the value given in the current solution, force it within the current bounds if required, then set the bounds to fix the variable at the integer nearest the solution value. Returns amount it had to move variable.
Implements OsiObject.
virtual OsiBranchingObject* OsiLotsize::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.
Reimplemented from OsiObject.
void OsiLotsize::setColumnNumber | ( | int | value | ) | [inline] |
Set solver column number.
Definition at line 871 of file OsiBranchingObject.hpp.
virtual int OsiLotsize::columnNumber | ( | ) | const [virtual] |
Column number if single column object -1 otherwise, so returns >= 0 Used by heuristics.
Reimplemented from OsiObject.
virtual void OsiLotsize::resetBounds | ( | const OsiSolverInterface * | solver | ) | [virtual] |
Reset original upper and lower bound values from the solver.
Handy for updating bounds held in this object after bounds held in the solver have been tightened.
Reimplemented from OsiObject.
bool OsiLotsize::findRange | ( | double | value, | |
double | integerTolerance | |||
) | const |
Finds range of interest so value is feasible in range range_ or infeasible between hi[range_] and lo[range_+1].
Returns true if feasible.
virtual void OsiLotsize::floorCeiling | ( | double & | floorLotsize, | |
double & | ceilingLotsize, | |||
double | value, | |||
double | tolerance | |||
) | const [virtual] |
Returns floor and ceiling.
double OsiLotsize::originalLowerBound | ( | ) | const [inline] |
Original bounds.
Definition at line 897 of file OsiBranchingObject.hpp.
double OsiLotsize::originalUpperBound | ( | ) | const [inline] |
Definition at line 899 of file OsiBranchingObject.hpp.
int OsiLotsize::rangeType | ( | ) | const [inline] |
Type - 1 points, 2 ranges.
Definition at line 902 of file OsiBranchingObject.hpp.
int OsiLotsize::numberRanges | ( | ) | const [inline] |
Number of points.
Definition at line 905 of file OsiBranchingObject.hpp.
double* OsiLotsize::bound | ( | ) | const [inline] |
Ranges.
Definition at line 908 of file OsiBranchingObject.hpp.
virtual void OsiLotsize::resetSequenceEtc | ( | int | numberColumns, | |
const int * | originalColumns | |||
) | [virtual] |
Change column numbers after preprocessing.
Reimplemented from OsiObject.
virtual double OsiLotsize::upEstimate | ( | ) | const [virtual] |
Return "up" estimate (default 1.0e-5).
Reimplemented from OsiObject.
virtual double OsiLotsize::downEstimate | ( | ) | const [virtual] |
Return "down" estimate (default 1.0e-5).
Reimplemented from OsiObject.
virtual bool OsiLotsize::canHandleShadowPrices | ( | ) | const [inline, virtual] |
Return true if knows how to deal with Pseudo Shadow Prices.
Reimplemented from OsiObject.
Definition at line 919 of file OsiBranchingObject.hpp.
virtual bool OsiLotsize::canDoHeuristics | ( | ) | const [inline, virtual] |
Return true if object can take part in normal heuristics.
Reimplemented from OsiObject.
Definition at line 923 of file OsiBranchingObject.hpp.
int OsiLotsize::columnNumber_ [private] |
int OsiLotsize::rangeType_ [private] |
Type - 1 points, 2 ranges.
Definition at line 932 of file OsiBranchingObject.hpp.
int OsiLotsize::numberRanges_ [private] |
Number of points.
Definition at line 934 of file OsiBranchingObject.hpp.
double OsiLotsize::largestGap_ [private] |
Definition at line 936 of file OsiBranchingObject.hpp.
double* OsiLotsize::bound_ [private] |
Ranges.
Definition at line 938 of file OsiBranchingObject.hpp.
int OsiLotsize::range_ [mutable, private] |
Current range.
Definition at line 940 of file OsiBranchingObject.hpp.