Cbc
2.10.3
|
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... | |
double | infeasibility (const OsiSolverInterface *solver, int &whichWay) const |
virtual double | infeasibility (const OsiBranchingInformation *info, int &whichWay) const =0 |
double | infeasibility () const |
virtual double | feasibleRegion (OsiSolverInterface *solver) const |
virtual double | feasibleRegion (OsiSolverInterface *solver, const OsiBranchingInformation *info) const =0 |
![]() | |
OsiSimpleInteger () | |
OsiSimpleInteger (const OsiSolverInterface *solver, int iColumn) | |
OsiSimpleInteger (int iColumn, double lower, double upper) | |
OsiSimpleInteger (const OsiSimpleInteger &) | |
OsiSimpleInteger & | operator= (const OsiSimpleInteger &rhs) |
virtual | ~OsiSimpleInteger () |
void | setColumnNumber (int value) |
virtual int | columnNumber () const |
double | originalLowerBound () const |
void | setOriginalLowerBound (double value) |
double | originalUpperBound () const |
void | setOriginalUpperBound (double value) |
virtual void | resetBounds (const OsiSolverInterface *solver) |
virtual void | resetSequenceEtc (int numberColumns, const int *originalColumns) |
virtual double | upEstimate () const |
virtual double | downEstimate () const |
virtual bool | canHandleShadowPrices () const |
double | infeasibility (const OsiSolverInterface *solver, int &whichWay) const |
double | infeasibility () const |
virtual double | feasibleRegion (OsiSolverInterface *solver) const |
![]() | |
OsiObject2 () | |
OsiObject2 (const OsiObject2 &) | |
OsiObject2 & | operator= (const OsiObject2 &rhs) |
virtual | ~OsiObject2 () |
void | setPreferredWay (int value) |
virtual int | preferredWay () const |
![]() | |
OsiObject () | |
OsiObject (const OsiObject &) | |
OsiObject & | operator= (const OsiObject &rhs) |
virtual | ~OsiObject () |
double | infeasibility (const OsiSolverInterface *solver, int &whichWay) const |
virtual double | checkInfeasibility (const OsiBranchingInformation *info) const |
virtual bool | canDoHeuristics () const |
virtual bool | canMoveToNearest () const |
int | priority () const |
void | setPriority (int priority) |
virtual bool | boundBranch () const |
int | numberWays () const |
void | setNumberWays (int numberWays) |
void | setWhichWay (int way) |
int | whichWay () const |
double | infeasibility () const |
virtual void | updateBefore (const OsiObject *) |
virtual void | updateAfter (const OsiObject *, const OsiObject *) |
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_ |
double | originalUpper_ |
int | columnNumber_ |
![]() | |
int | preferredWay_ |
double | otherInfeasibility_ |
![]() | |
double | infeasibility_ |
short | whichWay_ |
short | numberWays_ |
int | priority_ |
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.
double OsiObject::infeasibility |
virtual double OsiObject::infeasibility |
double OsiObject::infeasibility |
virtual double OsiObject::feasibleRegion |
virtual double OsiObject::feasibleRegion |
|
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.