- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# OsiLotsize Class Reference

Lotsize class. More...

`#include <OsiBranchingObject.hpp>`

Inheritance diagram for OsiLotsize:

[legend]
Collaboration diagram for OsiLotsize:

[legend]
List of all members.

## 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.

## Detailed Description

Lotsize class.

Definition at line 812 of file OsiBranchingObject.hpp.

## Constructor & Destructor Documentation

OsiLotsize::OsiLotsize | ( |  | ) |

OsiLotsize::OsiLotsize | ( | const OsiSolverInterface * | solver,
|  | int | iColumn,
|  | int | numberPoints,
|  | const double * | points,
|  | bool | range = `false` |
| ) |  |  |

OsiLotsize::OsiLotsize | ( | const OsiLotsize & |  | ) |

OsiLotsize::~OsiLotsize | ( |  | ) |

## Member Function Documentation

virtual OsiObject* OsiLotsize::clone | ( |  | ) | const`[virtual]`

Clone.

Implements OsiObject.

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.

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]`

Original bounds.

Definition at line 885 of file OsiBranchingObject.hpp.

References bound_.

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]`

Number of points.

Definition at line 893 of file OsiBranchingObject.hpp.

References numberRanges_.

double* OsiLotsize::bound | ( |  | ) | const`[inline]`

Ranges.

Definition at line 896 of file OsiBranchingObject.hpp.

References bound_.

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.

## Member Data Documentation

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]`

Current range.

Definition at line 928 of file OsiBranchingObject.hpp.

The documentation for this class was generated from the following file:

- /home/coin/SVN-release/Osi-0.98.1/Osi/src/OsiBranchingObject.hpp