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

Define Special Linked Ordered Sets. More...

#include <CbcLinked.hpp>

+ Inheritance diagram for OsiLink:
+ Collaboration diagram for OsiLink:

Public Member Functions

 OsiLink ()
 
 OsiLink (const OsiSolverInterface *solver, int yRow, int yColumn, double meshSize)
 Useful constructor -. More...
 
 OsiLink (const OsiLink &)
 
virtual OsiObjectclone () const
 Clone. More...
 
OsiLinkoperator= (const OsiLink &rhs)
 
virtual ~OsiLink ()
 
virtual double infeasibility (const OsiBranchingInformation *info, int &whichWay) const
 Infeasibility - large is 0.5. More...
 
virtual double feasibleRegion (OsiSolverInterface *solver, const OsiBranchingInformation *info) const
 Set bounds to fix the variable at the current (integer) value. More...
 
virtual OsiBranchingObjectcreateBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) const
 Creates a branching object. More...
 
virtual void resetSequenceEtc (int numberColumns, const int *originalColumns)
 Redoes data when sequence numbers change. More...
 
int numberLinks () const
 Number of links for each member. More...
 
virtual bool canDoHeuristics () const
 Return true if object can take part in normal heuristics. More...
 
virtual bool boundBranch () const
 Return true if branch should only bound variables. More...
 
- Public Member Functions inherited from OsiSOS
 OsiSOS ()
 
 OsiSOS (const OsiSolverInterface *solver, int numberMembers, const int *which, const double *weights, int type=1)
 Useful constructor - which are indices and weights are also given. More...
 
 OsiSOS (const OsiSOS &)
 
OsiSOSoperator= (const OsiSOS &rhs)
 
virtual ~OsiSOS ()
 
virtual double upEstimate () const
 Return "up" estimate (default 1.0e-5) More...
 
virtual double downEstimate () const
 Return "down" estimate (default 1.0e-5) More...
 
int numberMembers () const
 Number of members. More...
 
const int * members () const
 Members (indices in range 0 ... numberColumns-1) More...
 
int sosType () const
 SOS type. More...
 
int setType () const
 SOS type. More...
 
const double * weights () const
 Array of weights. More...
 
void setIntegerValued (bool yesNo)
 Set whether set is integer valued or not. More...
 
virtual bool canHandleShadowPrices () const
 Return true if knows how to deal with Pseudo Shadow Prices. More...
 
void setNumberMembers (int value)
 Set number of members. More...
 
int * mutableMembers () const
 Members (indices in range 0 ... numberColumns-1) More...
 
void setSosType (int value)
 Set SOS type. More...
 
double * mutableWeights () const
 Array of weights. 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 canMoveToNearest () const
 Return true if object can take part in move to nearest heuristic. More...
 
virtual int columnNumber () const
 Column number if single column object -1 otherwise, Used by heuristics. More...
 
int priority () const
 Return Priority - note 1 is highest priority. More...
 
void setPriority (int priority)
 Set priority. 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 resetBounds (const OsiSolverInterface *)
 Reset variable bounds to their original values. 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

double meshSize_
 data Current increment for y points More...
 
OsiOneLinkdata_
 Links. More...
 
int numberLinks_
 Number of links. More...
 
int yRow_
 Row which defines y. More...
 
int yColumn_
 Column which defines y. More...
 
- Protected Attributes inherited from OsiSOS
int * members_
 data More...
 
double * weights_
 Weights. More...
 
int numberMembers_
 Number of members. More...
 
int sosType_
 SOS type. More...
 
bool integerValued_
 Whether integer valued. 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 Special Linked Ordered Sets.

New style

members and weights may be stored in SOS object

This is for y and x*f(y) and z*g(y) etc

Definition at line 612 of file CbcLinked.hpp.

Constructor & Destructor Documentation

OsiLink::OsiLink ( )
OsiLink::OsiLink ( const OsiSolverInterface solver,
int  yRow,
int  yColumn,
double  meshSize 
)

Useful constructor -.

OsiLink::OsiLink ( const OsiLink )
virtual OsiLink::~OsiLink ( )
virtual

Member Function Documentation

virtual OsiObject* OsiLink::clone ( ) const
virtual

Clone.

Reimplemented from OsiSOS.

OsiLink& OsiLink::operator= ( const OsiLink rhs)
virtual double OsiLink::infeasibility ( const OsiBranchingInformation info,
int &  whichWay 
) const
virtual

Infeasibility - large is 0.5.

Reimplemented from OsiSOS.

virtual double OsiLink::feasibleRegion ( OsiSolverInterface solver,
const OsiBranchingInformation info 
) const
virtual

Set bounds to fix the variable at the current (integer) value.

Given an integer value, set the lower and upper bounds to fix the variable. Returns amount it had to move variable.

Reimplemented from OsiSOS.

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

virtual void OsiLink::resetSequenceEtc ( int  numberColumns,
const int *  originalColumns 
)
virtual

Redoes data when sequence numbers change.

Reimplemented from OsiSOS.

int OsiLink::numberLinks ( ) const
inline

Number of links for each member.

Definition at line 658 of file CbcLinked.hpp.

virtual bool OsiLink::canDoHeuristics ( ) const
inlinevirtual

Return true if object can take part in normal heuristics.

Reimplemented from OsiSOS.

Definition at line 665 of file CbcLinked.hpp.

virtual bool OsiLink::boundBranch ( ) const
inlinevirtual

Return true if branch should only bound variables.

Reimplemented from OsiObject.

Definition at line 671 of file CbcLinked.hpp.

Member Data Documentation

double OsiLink::meshSize_
protected

data Current increment for y points

Definition at line 679 of file CbcLinked.hpp.

OsiOneLink* OsiLink::data_
protected

Links.

Definition at line 681 of file CbcLinked.hpp.

int OsiLink::numberLinks_
protected

Number of links.

Definition at line 683 of file CbcLinked.hpp.

int OsiLink::yRow_
protected

Row which defines y.

Definition at line 685 of file CbcLinked.hpp.

int OsiLink::yColumn_
protected

Column which defines y.

Definition at line 687 of file CbcLinked.hpp.


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