Cbc  2.10.3
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:

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...
 
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
 
- Public Member Functions inherited from OsiSimpleInteger
 OsiSimpleInteger ()
 
 OsiSimpleInteger (const OsiSolverInterface *solver, int iColumn)
 
 OsiSimpleInteger (int iColumn, double lower, double upper)
 
 OsiSimpleInteger (const OsiSimpleInteger &)
 
OsiSimpleIntegeroperator= (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
 
- Public Member Functions inherited from OsiObject2
 OsiObject2 ()
 
 OsiObject2 (const OsiObject2 &)
 
OsiObject2operator= (const OsiObject2 &rhs)
 
virtual ~OsiObject2 ()
 
void setPreferredWay (int value)
 
virtual int preferredWay () const
 
- Public Member Functions inherited from OsiObject
 OsiObject ()
 
 OsiObject (const OsiObject &)
 
OsiObjectoperator= (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...
 
- Protected Attributes inherited from OsiSimpleInteger
double originalLower_
 
double originalUpper_
 
int columnNumber_
 
- Protected Attributes inherited from OsiObject2
int preferredWay_
 
double otherInfeasibility_
 
- Protected Attributes inherited from OsiObject
double infeasibility_
 
short whichWay_
 
short numberWays_
 
int priority_
 

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

Constructor & Destructor Documentation

◆ OsiUsesBiLinear() [1/5]

OsiUsesBiLinear::OsiUsesBiLinear ( )

Default Constructor.

◆ OsiUsesBiLinear() [2/5]

OsiUsesBiLinear::OsiUsesBiLinear ( const OsiSolverInterface solver,
int  iColumn,
int  type 
)

Useful constructor - passed solver index.

◆ OsiUsesBiLinear() [3/5]

OsiUsesBiLinear::OsiUsesBiLinear ( int  iColumn,
double  lower,
double  upper,
int  type 
)

Useful constructor - passed solver index and original bounds.

◆ OsiUsesBiLinear() [4/5]

OsiUsesBiLinear::OsiUsesBiLinear ( const OsiSimpleInteger rhs,
int  type 
)

Useful constructor - passed simple integer.

◆ OsiUsesBiLinear() [5/5]

OsiUsesBiLinear::OsiUsesBiLinear ( const OsiUsesBiLinear rhs)

Copy constructor.

◆ ~OsiUsesBiLinear()

virtual OsiUsesBiLinear::~OsiUsesBiLinear ( )
virtual

Destructor.

Member Function Documentation

◆ clone()

virtual OsiObject* OsiUsesBiLinear::clone ( ) const
virtual

Clone.

Reimplemented from OsiSimpleInteger.

◆ operator=()

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

Assignment operator.

◆ infeasibility() [1/4]

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

Infeasibility - large is 0.5.

Reimplemented from OsiSimpleInteger.

◆ createBranch()

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.

◆ feasibleRegion() [1/3]

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.

◆ addBiLinearObjects()

void OsiUsesBiLinear::addBiLinearObjects ( OsiSolverLink solver)

Add all bi-linear objects.

◆ infeasibility() [2/4]

double OsiObject::infeasibility

◆ infeasibility() [3/4]

virtual double OsiObject::infeasibility

◆ infeasibility() [4/4]

double OsiObject::infeasibility

◆ feasibleRegion() [2/3]

virtual double OsiObject::feasibleRegion

◆ feasibleRegion() [3/3]

virtual double OsiObject::feasibleRegion

Member Data Documentation

◆ numberBiLinear_

int OsiUsesBiLinear::numberBiLinear_
protected

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

Definition at line 1227 of file CbcLinked.hpp.

◆ type_

int OsiUsesBiLinear::type_
protected

Type of variable - 0 continuous, 1 integer.

Definition at line 1229 of file CbcLinked.hpp.

◆ objects_

OsiObject** OsiUsesBiLinear::objects_
protected

Objects.

Definition at line 1231 of file CbcLinked.hpp.


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