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)
 Assignment operator.
 ~CbcSOS ()
virtual double infeasibility (int &preferredWay) const
 Infeasibility - large is 0.5.
virtual void feasibleRegion ()
 This looks at solution and sets bounds to contain solution.
virtual CbcBranchingObjectcreateBranch (int way)
 Creates a branching object.
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.
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_
 data
double * weights_
 Weights.
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  ) 
CbcSOS::~CbcSOS (  ) 

Member Function Documentation

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

Clone.

Implements CbcObject.

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

Assignment operator.

Reimplemented from CbcObject.

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

Infeasibility - large is 0.5.

Implements CbcObject.

virtual void CbcSOS::feasibleRegion (  )  [virtual]

This looks at solution and sets bounds to contain solution.

Implements CbcObject.

virtual CbcBranchingObject* CbcSOS::createBranch ( int  way  )  [virtual]

Creates a branching object.

Implements 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 152 of file CbcBranchActual.hpp.

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

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

Definition at line 156 of file CbcBranchActual.hpp.

int CbcSOS::sosType (  )  const [inline]

SOS type.

Definition at line 160 of file CbcBranchActual.hpp.

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

Array of weights.

Definition at line 164 of file CbcBranchActual.hpp.

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

Set number of members.

Definition at line 168 of file CbcBranchActual.hpp.

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

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

Definition at line 172 of file CbcBranchActual.hpp.

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

Array of weights.

Definition at line 176 of file CbcBranchActual.hpp.

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

Return true if object can take part in normal heuristics.

Reimplemented from OsiObject.

Definition at line 181 of file CbcBranchActual.hpp.

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

Set whether set is integer valued or not.

Definition at line 184 of file CbcBranchActual.hpp.


Member Data Documentation

int* CbcSOS::members_ [private]

data

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

Definition at line 190 of file CbcBranchActual.hpp.

double* CbcSOS::weights_ [private]

Weights.

Definition at line 192 of file CbcBranchActual.hpp.

int CbcSOS::numberMembers_ [private]

Number of members.

Definition at line 195 of file CbcBranchActual.hpp.

int CbcSOS::sosType_ [private]

SOS type.

Definition at line 197 of file CbcBranchActual.hpp.

bool CbcSOS::integerValued_ [private]

Whether integer valued.

Definition at line 199 of file CbcBranchActual.hpp.


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

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1