#include <OsiBranchingObject.hpp>
Inheritance diagram for OsiLotsize:
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_ |
Column number in model. | |
int | rangeType_ |
Type - 1 points, 2 ranges. | |
int | numberRanges_ |
Number of points. | |
double | largestGap_ |
double * | bound_ |
Ranges. | |
int | range_ |
Current range. |
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 | ) |
virtual double OsiLotsize::infeasibility | ( | const OsiBranchingInformation * | info, | |
int & | whichWay | |||
) | const [virtual] |
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.
References columnNumber_.
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] |
double OsiLotsize::originalUpperBound | ( | ) | const [inline] |
Definition at line 887 of file OsiBranchingObject.hpp.
References bound_, numberRanges_, and rangeType_.
int OsiLotsize::rangeType | ( | ) | const [inline] |
Type - 1 points, 2 ranges.
Definition at line 890 of file OsiBranchingObject.hpp.
References rangeType_.
int OsiLotsize::numberRanges | ( | ) | const [inline] |
double* OsiLotsize::bound | ( | ) | const [inline] |
virtual void OsiLotsize::resetSequenceEtc | ( | int | numberColumns, | |
const int * | originalColumns | |||
) | [virtual] |
virtual double OsiLotsize::upEstimate | ( | ) | const [virtual] |
virtual double OsiLotsize::downEstimate | ( | ) | const [virtual] |
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] |
Column number in model.
Definition at line 918 of file OsiBranchingObject.hpp.
Referenced by setColumnNumber().
int OsiLotsize::rangeType_ [private] |
Type - 1 points, 2 ranges.
Definition at line 920 of file OsiBranchingObject.hpp.
Referenced by originalUpperBound(), and rangeType().
int OsiLotsize::numberRanges_ [private] |
Number of points.
Definition at line 922 of file OsiBranchingObject.hpp.
Referenced by numberRanges(), and originalUpperBound().
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.
Referenced by bound(), originalLowerBound(), and originalUpperBound().
int OsiLotsize::range_ [mutable, private] |