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) |
Assignment operator. | |
~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 812 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 | ) |
Assignment operator.
Reimplemented from OsiObject2.
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.
Implements OsiObject.
void OsiLotsize::setColumnNumber | ( | int | value | ) | [inline] |
Set solver column number.
Definition at line 859 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 885 of file OsiBranchingObject.hpp.
double OsiLotsize::originalUpperBound | ( | ) | const [inline] |
Definition at line 887 of file OsiBranchingObject.hpp.
int OsiLotsize::rangeType | ( | ) | const [inline] |
Type - 1 points, 2 ranges.
Definition at line 890 of file OsiBranchingObject.hpp.
int OsiLotsize::numberRanges | ( | ) | const [inline] |
Number of points.
Definition at line 893 of file OsiBranchingObject.hpp.
double* OsiLotsize::bound | ( | ) | const [inline] |
Ranges.
Definition at line 896 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 907 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 911 of file OsiBranchingObject.hpp.
int OsiLotsize::columnNumber_ [private] |
int OsiLotsize::rangeType_ [private] |
Type - 1 points, 2 ranges.
Definition at line 920 of file OsiBranchingObject.hpp.
int OsiLotsize::numberRanges_ [private] |
Number of points.
Definition at line 922 of file OsiBranchingObject.hpp.
double OsiLotsize::largestGap_ [private] |
Definition at line 924 of file OsiBranchingObject.hpp.
double* OsiLotsize::bound_ [private] |
Ranges.
Definition at line 926 of file OsiBranchingObject.hpp.
int OsiLotsize::range_ [mutable, private] |
Current range.
Definition at line 928 of file OsiBranchingObject.hpp.