Cbc
2.10.5
|
Define a single variable class which is involved with OsiBiLinear objects. More...
#include <CbcLinked.hpp>
Public Member Functions | |
OsiUsesBiLinear () | |
Default Constructor. More... | |
OsiUsesBiLinear (const OsiSolverInterface *solver, int iColumn, int type) | |
Useful constructor - passed solver index. More... | |
OsiUsesBiLinear (int iColumn, double lower, double upper, int type) | |
Useful constructor - passed solver index and original bounds. More... | |
OsiUsesBiLinear (const OsiSimpleInteger &rhs, int type) | |
Useful constructor - passed simple integer. More... | |
OsiUsesBiLinear (const OsiUsesBiLinear &rhs) | |
Copy constructor. More... | |
virtual OsiObject * | clone () const |
Clone. More... | |
OsiUsesBiLinear & | operator= (const OsiUsesBiLinear &rhs) |
Assignment operator. More... | |
virtual | ~OsiUsesBiLinear () |
Destructor. More... | |
virtual double | infeasibility (const OsiBranchingInformation *info, int &whichWay) const |
Infeasibility - large is 0.5. More... | |
virtual OsiBranchingObject * | createBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) const |
Creates a branching object. More... | |
virtual double | feasibleRegion (OsiSolverInterface *solver, const OsiBranchingInformation *info) const |
Set bounds to fix the variable at the current value. More... | |
void | addBiLinearObjects (OsiSolverLink *solver) |
Add all bi-linear objects. More... | |
![]() | |
OsiSimpleInteger () | |
Default Constructor. More... | |
OsiSimpleInteger (const OsiSolverInterface *solver, int iColumn) | |
Useful constructor - passed solver index. More... | |
OsiSimpleInteger (int iColumn, double lower, double upper) | |
Useful constructor - passed solver index and original bounds. More... | |
OsiSimpleInteger (const OsiSimpleInteger &) | |
Copy constructor. More... | |
OsiSimpleInteger & | operator= (const OsiSimpleInteger &rhs) |
Assignment operator. More... | |
virtual | ~OsiSimpleInteger () |
Destructor. More... | |
void | setColumnNumber (int value) |
Set solver column number. More... | |
virtual int | columnNumber () const |
Column number if single column object -1 otherwise, so returns >= 0 Used by heuristics. More... | |
double | originalLowerBound () const |
Original bounds. More... | |
void | setOriginalLowerBound (double value) |
double | originalUpperBound () const |
void | setOriginalUpperBound (double value) |
virtual void | resetBounds (const OsiSolverInterface *solver) |
Reset variable bounds to their original values. More... | |
virtual void | resetSequenceEtc (int numberColumns, const int *originalColumns) |
Change column numbers after preprocessing. More... | |
virtual double | upEstimate () const |
Return "up" estimate (default 1.0e-5) More... | |
virtual double | downEstimate () const |
Return "down" estimate (default 1.0e-5) More... | |
virtual bool | canHandleShadowPrices () const |
Return true if knows how to deal with Pseudo Shadow Prices. More... | |
![]() | |
OsiObject2 () | |
Default Constructor. More... | |
OsiObject2 (const OsiObject2 &) | |
Copy constructor. More... | |
OsiObject2 & | operator= (const OsiObject2 &rhs) |
Assignment operator. More... | |
virtual | ~OsiObject2 () |
Destructor. More... | |
void | setPreferredWay (int value) |
Set preferred way of branching - -1 off, 0 down, 1 up (for 2-way) More... | |
virtual int | preferredWay () const |
Get preferred way of branching - -1 off, 0 down, 1 up (for 2-way) More... | |
![]() | |
OsiObject () | |
Default Constructor. More... | |
OsiObject (const OsiObject &) | |
Copy constructor. More... | |
OsiObject & | operator= (const OsiObject &rhs) |
Assignment operator. More... | |
virtual | ~OsiObject () |
Destructor. More... | |
double | infeasibility (const OsiSolverInterface *solver, int &whichWay) const |
Infeasibility of the object. More... | |
virtual double | checkInfeasibility (const OsiBranchingInformation *info) const |
virtual double | feasibleRegion (OsiSolverInterface *solver) const |
For the variable(s) referenced by the object, look at the current solution and set bounds to match the solution. More... | |
virtual bool | canDoHeuristics () const |
Return true if object can take part in normal heuristics. More... | |
virtual bool | canMoveToNearest () const |
Return true if object can take part in move to nearest heuristic. More... | |
int | priority () const |
Return Priority - note 1 is highest priority. More... | |
void | setPriority (int priority) |
Set priority. More... | |
virtual bool | boundBranch () const |
Return true if branch should only bound variables. More... | |
int | numberWays () const |
Return maximum number of ways branch may have. More... | |
void | setNumberWays (int numberWays) |
Set maximum number of ways branch may have. More... | |
void | setWhichWay (int way) |
Return preferred way to branch. More... | |
int | whichWay () const |
Return current preferred way to branch. More... | |
double | infeasibility () const |
Return infeasibility. More... | |
virtual void | updateBefore (const OsiObject *) |
Updates stuff like pseudocosts before threads. More... | |
virtual void | updateAfter (const OsiObject *, const OsiObject *) |
Updates stuff like pseudocosts after threads finished. More... | |
Protected Attributes | |
int | numberBiLinear_ |
data Number of bilinear objects (maybe could be more general) More... | |
int | type_ |
Type of variable - 0 continuous, 1 integer. More... | |
OsiObject ** | objects_ |
Objects. More... | |
![]() | |
double | originalLower_ |
data Original lower bound More... | |
double | originalUpper_ |
Original upper bound. More... | |
int | columnNumber_ |
Column number in solver. More... | |
![]() | |
int | preferredWay_ |
Preferred way of branching - -1 off, 0 down, 1 up (for 2-way) More... | |
double | otherInfeasibility_ |
"Infeasibility" on other way More... | |
![]() | |
double | infeasibility_ |
data More... | |
short | whichWay_ |
Computed preferred way to branch. More... | |
short | numberWays_ |
Maximum number of ways on branch. More... | |
int | priority_ |
Priority. More... | |
Define a single variable class which is involved with OsiBiLinear objects.
This is used so can make better decision on where to branch as it can look at all objects.
This version sees if it can re-use code from OsiSimpleInteger even if not an integer variable. If not then need to duplicate code.
Definition at line 1176 of file CbcLinked.hpp.
OsiUsesBiLinear::OsiUsesBiLinear | ( | ) |
Default Constructor.
OsiUsesBiLinear::OsiUsesBiLinear | ( | const OsiSolverInterface * | solver, |
int | iColumn, | ||
int | type | ||
) |
Useful constructor - passed solver index.
OsiUsesBiLinear::OsiUsesBiLinear | ( | int | iColumn, |
double | lower, | ||
double | upper, | ||
int | type | ||
) |
Useful constructor - passed solver index and original bounds.
OsiUsesBiLinear::OsiUsesBiLinear | ( | const OsiSimpleInteger & | rhs, |
int | type | ||
) |
Useful constructor - passed simple integer.
OsiUsesBiLinear::OsiUsesBiLinear | ( | const OsiUsesBiLinear & | rhs | ) |
Copy constructor.
|
virtual |
Destructor.
|
virtual |
Clone.
Reimplemented from OsiSimpleInteger.
OsiUsesBiLinear& OsiUsesBiLinear::operator= | ( | const OsiUsesBiLinear & | rhs | ) |
Assignment operator.
|
virtual |
Infeasibility - large is 0.5.
Reimplemented from OsiSimpleInteger.
|
virtual |
Creates a branching object.
The preferred direction is set by way
, 0 for down, 1 for up.
Reimplemented from OsiSimpleInteger.
|
virtual |
Set bounds to fix the variable at the current value.
Given an current value, set the lower and upper bounds to fix the variable. Returns amount it had to move variable.
Reimplemented from OsiSimpleInteger.
void OsiUsesBiLinear::addBiLinearObjects | ( | OsiSolverLink * | solver | ) |
Add all bi-linear objects.
|
protected |
data Number of bilinear objects (maybe could be more general)
Definition at line 1227 of file CbcLinked.hpp.
|
protected |
Type of variable - 0 continuous, 1 integer.
Definition at line 1229 of file CbcLinked.hpp.
|
protected |
Objects.
Definition at line 1231 of file CbcLinked.hpp.