Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
OsiUsesBiLinear Class Reference

Define a single variable class which is involved with OsiBiLinear objects. More...

#include <CbcLinked.hpp>

+ Inheritance diagram for OsiUsesBiLinear:
+ Collaboration diagram for OsiUsesBiLinear:

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 OsiObjectclone () const
 Clone. More...
 
OsiUsesBiLinearoperator= (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 OsiBranchingObjectcreateBranch (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...
 
- Public Member Functions inherited from OsiSimpleInteger
 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...
 
OsiSimpleIntegeroperator= (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...
 
- Public Member Functions inherited from OsiObject2
 OsiObject2 ()
 Default Constructor. More...
 
 OsiObject2 (const OsiObject2 &)
 Copy constructor. More...
 
OsiObject2operator= (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...
 
- Public Member Functions inherited from OsiObject
 OsiObject ()
 Default Constructor. More...
 
 OsiObject (const OsiObject &)
 Copy constructor. More...
 
OsiObjectoperator= (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...
 
- Protected Attributes inherited from OsiSimpleInteger
double originalLower_
 data Original lower bound More...
 
double originalUpper_
 Original upper bound. More...
 
int columnNumber_
 Column number in solver. More...
 
- Protected Attributes inherited from OsiObject2
int preferredWay_
 Preferred way of branching - -1 off, 0 down, 1 up (for 2-way) More...
 
double otherInfeasibility_
 "Infeasibility" on other way More...
 
- Protected Attributes inherited from OsiObject
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...
 

Detailed Description

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 1139 of file CbcLinked.hpp.

Constructor & Destructor Documentation

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 OsiUsesBiLinear::~OsiUsesBiLinear ( )
virtual

Destructor.

Member Function Documentation

virtual OsiObject* OsiUsesBiLinear::clone ( ) const
virtual

Clone.

Reimplemented from OsiSimpleInteger.

OsiUsesBiLinear& OsiUsesBiLinear::operator= ( const OsiUsesBiLinear rhs)

Assignment operator.

virtual double OsiUsesBiLinear::infeasibility ( const OsiBranchingInformation info,
int &  whichWay 
) const
virtual

Infeasibility - large is 0.5.

Reimplemented from OsiSimpleInteger.

virtual OsiBranchingObject* OsiUsesBiLinear::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.

Reimplemented from OsiSimpleInteger.

virtual double OsiUsesBiLinear::feasibleRegion ( OsiSolverInterface solver,
const OsiBranchingInformation info 
) const
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.

Member Data Documentation

int OsiUsesBiLinear::numberBiLinear_
protected

data Number of bilinear objects (maybe could be more general)

Definition at line 1190 of file CbcLinked.hpp.

int OsiUsesBiLinear::type_
protected

Type of variable - 0 continuous, 1 integer.

Definition at line 1192 of file CbcLinked.hpp.

OsiObject** OsiUsesBiLinear::objects_
protected

Objects.

Definition at line 1194 of file CbcLinked.hpp.


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