CbcSOS Class Reference

Define Special Ordered Sets of type 1 and 2. More...

#include <CbcBranchActual.hpp>

Inheritance diagram for CbcSOS:

Inheritance graph
[legend]
Collaboration diagram for CbcSOS:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 CbcSOS ()
 CbcSOS (CbcModel *model, int numberMembers, const int *which, const double *weights, int identifier, int type=1)
 Useful constructor - which are indices and weights are also given.
 CbcSOS (const CbcSOS &)
virtual CbcObjectclone () const
 Clone.
CbcSOSoperator= (const CbcSOS &rhs)
virtual ~CbcSOS ()
virtual double infeasibility (const OsiBranchingInformation *info, int &preferredWay) const
 Infeasibility - large is 0.5.
virtual void feasibleRegion ()
 This looks at solution and sets bounds to contain solution.
virtual CbcBranchingObjectcreateCbcBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
 Creates a branching object.
virtual CbcObjectUpdateData createUpdateInformation (const OsiSolverInterface *solver, const CbcNode *node, const CbcBranchingObject *branchingObject)
 Pass in information on branch just done and create CbcObjectUpdateData instance.
virtual void updateInformation (const CbcObjectUpdateData &data)
 Update object by CbcObjectUpdateData.
virtual OsiSolverBranchsolverBranch () const
 Create an OsiSolverBranch object.
virtual void redoSequenceEtc (CbcModel *model, int numberColumns, const int *originalColumns)
 Redoes data when sequence numbers change.
OsiSOSosiObject (const OsiSolverInterface *solver) const
 Construct an OsiSOS object.
int numberMembers () const
 Number of members.
const int * members () const
 Members (indices in range 0 ... numberColumns-1).
int sosType () const
 SOS type.
int numberTimesDown () const
 Down number times.
int numberTimesUp () const
 Up number times.
const double * weights () const
 Array of weights.
void setNumberMembers (int n)
 Set number of members.
int * mutableMembers () const
 Members (indices in range 0 ... numberColumns-1).
double * mutableWeights () const
 Array of weights.
virtual bool canDoHeuristics () const
 Return true if object can take part in normal heuristics.
void setIntegerValued (bool yesNo)
 Set whether set is integer valued or not.

Private Attributes

int * members_
 Members (indices in range 0 ... numberColumns-1).
double * weights_
 Weights.
double shadowEstimateDown_
 Current pseudo-shadow price estimate down.
double shadowEstimateUp_
 Current pseudo-shadow price estimate up.
double downDynamicPseudoRatio_
 Down pseudo ratio.
double upDynamicPseudoRatio_
 Up pseudo ratio.
int numberTimesDown_
 Number of times we have gone down.
int numberTimesUp_
 Number of times we have gone up.
int numberMembers_
 Number of members.
int sosType_
 SOS type.
bool integerValued_
 Whether integer valued.

Detailed Description

Define Special Ordered Sets of type 1 and 2.

These do not have to be integer - so do not appear in lists of integers.

which_ points directly to columns of matrix

Definition at line 101 of file CbcBranchActual.hpp.


Constructor & Destructor Documentation

CbcSOS::CbcSOS (  ) 

CbcSOS::CbcSOS ( CbcModel model,
int  numberMembers,
const int *  which,
const double *  weights,
int  identifier,
int  type = 1 
)

Useful constructor - which are indices and weights are also given.

If null then 0,1,2.. type is SOS type

CbcSOS::CbcSOS ( const CbcSOS  ) 

virtual CbcSOS::~CbcSOS (  )  [virtual]


Member Function Documentation

virtual CbcObject* CbcSOS::clone (  )  const [virtual]

Clone.

Implements CbcObject.

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

virtual double CbcSOS::infeasibility ( const OsiBranchingInformation info,
int &  preferredWay 
) const [virtual]

Infeasibility - large is 0.5.

Reimplemented from CbcObject.

virtual void CbcSOS::feasibleRegion (  )  [virtual]

This looks at solution and sets bounds to contain solution.

Implements CbcObject.

virtual CbcBranchingObject* CbcSOS::createCbcBranch ( OsiSolverInterface solver,
const OsiBranchingInformation info,
int  way 
) [virtual]

Creates a branching object.

Reimplemented from CbcObject.

virtual CbcObjectUpdateData CbcSOS::createUpdateInformation ( const OsiSolverInterface solver,
const CbcNode node,
const CbcBranchingObject branchingObject 
) [virtual]

Pass in information on branch just done and create CbcObjectUpdateData instance.

If object does not need data then backward pointer will be NULL. Assumes can get information from solver

Reimplemented from CbcObject.

virtual void CbcSOS::updateInformation ( const CbcObjectUpdateData data  )  [virtual]

Update object by CbcObjectUpdateData.

Reimplemented from CbcObject.

virtual OsiSolverBranch* CbcSOS::solverBranch (  )  const [virtual]

Create an OsiSolverBranch object.

This returns NULL if branch not represented by bound changes

Reimplemented from CbcObject.

virtual void CbcSOS::redoSequenceEtc ( CbcModel model,
int  numberColumns,
const int *  originalColumns 
) [virtual]

Redoes data when sequence numbers change.

Reimplemented from CbcObject.

OsiSOS* CbcSOS::osiObject ( const OsiSolverInterface solver  )  const

Construct an OsiSOS object.

int CbcSOS::numberMembers (  )  const [inline]

Number of members.

Definition at line 161 of file CbcBranchActual.hpp.

References numberMembers_.

const int* CbcSOS::members (  )  const [inline]

Members (indices in range 0 ... numberColumns-1).

Definition at line 165 of file CbcBranchActual.hpp.

References members_.

int CbcSOS::sosType (  )  const [inline]

SOS type.

Definition at line 169 of file CbcBranchActual.hpp.

References sosType_.

int CbcSOS::numberTimesDown (  )  const [inline]

Down number times.

Definition at line 172 of file CbcBranchActual.hpp.

References numberTimesDown_.

int CbcSOS::numberTimesUp (  )  const [inline]

Up number times.

Definition at line 175 of file CbcBranchActual.hpp.

References numberTimesUp_.

const double* CbcSOS::weights (  )  const [inline]

Array of weights.

Definition at line 179 of file CbcBranchActual.hpp.

References weights_.

void CbcSOS::setNumberMembers ( int  n  )  [inline]

Set number of members.

Definition at line 183 of file CbcBranchActual.hpp.

References numberMembers_.

int* CbcSOS::mutableMembers (  )  const [inline]

Members (indices in range 0 ... numberColumns-1).

Definition at line 187 of file CbcBranchActual.hpp.

References members_.

double* CbcSOS::mutableWeights (  )  const [inline]

Array of weights.

Definition at line 191 of file CbcBranchActual.hpp.

References weights_.

virtual bool CbcSOS::canDoHeuristics (  )  const [inline, virtual]

Return true if object can take part in normal heuristics.

Reimplemented from OsiObject.

Definition at line 196 of file CbcBranchActual.hpp.

References integerValued_, and sosType_.

void CbcSOS::setIntegerValued ( bool  yesNo  )  [inline]

Set whether set is integer valued or not.

Definition at line 199 of file CbcBranchActual.hpp.

References integerValued_.


Member Data Documentation

int* CbcSOS::members_ [private]

Members (indices in range 0 ... numberColumns-1).

Definition at line 205 of file CbcBranchActual.hpp.

Referenced by members(), and mutableMembers().

double* CbcSOS::weights_ [private]

Weights.

Definition at line 207 of file CbcBranchActual.hpp.

Referenced by mutableWeights(), and weights().

double CbcSOS::shadowEstimateDown_ [mutable, private]

Current pseudo-shadow price estimate down.

Definition at line 209 of file CbcBranchActual.hpp.

double CbcSOS::shadowEstimateUp_ [mutable, private]

Current pseudo-shadow price estimate up.

Definition at line 211 of file CbcBranchActual.hpp.

double CbcSOS::downDynamicPseudoRatio_ [private]

Down pseudo ratio.

Definition at line 213 of file CbcBranchActual.hpp.

double CbcSOS::upDynamicPseudoRatio_ [private]

Up pseudo ratio.

Definition at line 215 of file CbcBranchActual.hpp.

int CbcSOS::numberTimesDown_ [private]

Number of times we have gone down.

Definition at line 217 of file CbcBranchActual.hpp.

Referenced by numberTimesDown().

int CbcSOS::numberTimesUp_ [private]

Number of times we have gone up.

Definition at line 219 of file CbcBranchActual.hpp.

Referenced by numberTimesUp().

int CbcSOS::numberMembers_ [private]

Number of members.

Definition at line 221 of file CbcBranchActual.hpp.

Referenced by numberMembers(), and setNumberMembers().

int CbcSOS::sosType_ [private]

SOS type.

Definition at line 223 of file CbcBranchActual.hpp.

Referenced by canDoHeuristics(), and sosType().

bool CbcSOS::integerValued_ [private]

Whether integer valued.

Definition at line 225 of file CbcBranchActual.hpp.

Referenced by canDoHeuristics(), and setIntegerValued().


The documentation for this class was generated from the following file:
Generated on Tue Jan 19 03:04:21 2010 by  doxygen 1.4.7