OsiSOS Class Reference

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

#include <OsiBranchingObject.hpp>

Inheritance diagram for OsiSOS:
Inheritance graph
[legend]
Collaboration diagram for OsiSOS:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 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.
 OsiSOS (const OsiSOS &)
virtual OsiObjectclone () const
 Clone.
OsiSOSoperator= (const OsiSOS &rhs)
 Assignment operator.
virtual ~OsiSOS ()
virtual double infeasibility (const OsiBranchingInformation *info, int &whichWay) const
 Infeasibility - large is 0.5.
virtual double feasibleRegion (OsiSolverInterface *solver, const OsiBranchingInformation *info) const
 Set bounds to fix the variable at the current (integer) value.
virtual OsiBranchingObjectcreateBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) const
 Creates a branching object.
virtual double upEstimate () const
 Return "up" estimate (default 1.0e-5).
virtual double downEstimate () const
 Return "down" estimate (default 1.0e-5).
virtual void resetSequenceEtc (int numberColumns, const int *originalColumns)
 Redoes data when sequence numbers change.
int numberMembers () const
 Number of members.
const int * members () const
 Members (indices in range 0 ... numberColumns-1).
int sosType () const
 SOS type.
int setType () const
 SOS type.
const double * weights () 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.
virtual bool canHandleShadowPrices () const
 Return true if knows how to deal with Pseudo Shadow Prices.
void setNumberMembers (int value)
 Set number of members.
int * mutableMembers () const
 Members (indices in range 0 ... numberColumns-1).
void setSosType (int value)
 Set SOS type.
double * mutableWeights () const
 Array of weights.

Protected 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 columns of matrix

Definition at line 659 of file OsiBranchingObject.hpp.


Constructor & Destructor Documentation

OsiSOS::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.

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

OsiSOS::OsiSOS ( const OsiSOS  ) 
virtual OsiSOS::~OsiSOS (  )  [virtual]

Member Function Documentation

virtual OsiObject* OsiSOS::clone (  )  const [virtual]

Clone.

Implements OsiObject.

Reimplemented in OsiOldLink, and OsiLink.

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

Assignment operator.

Reimplemented from OsiObject2.

Reimplemented in OsiOldLink, and OsiLink.

virtual double OsiSOS::infeasibility ( const OsiBranchingInformation info,
int &  whichWay 
) const [virtual]

Infeasibility - large is 0.5.

Implements OsiObject.

Reimplemented in OsiOldLink, and OsiLink.

virtual double OsiSOS::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.

Implements OsiObject.

Reimplemented in OsiOldLink, and OsiLink.

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

Implements OsiObject.

Reimplemented in OsiOldLink, and OsiLink.

virtual double OsiSOS::upEstimate (  )  const [virtual]

Return "up" estimate (default 1.0e-5).

Reimplemented from OsiObject.

virtual double OsiSOS::downEstimate (  )  const [virtual]

Return "down" estimate (default 1.0e-5).

Reimplemented from OsiObject.

virtual void OsiSOS::resetSequenceEtc ( int  numberColumns,
const int *  originalColumns 
) [virtual]

Redoes data when sequence numbers change.

Reimplemented from OsiObject.

Reimplemented in OsiOldLink, and OsiLink.

int OsiSOS::numberMembers (  )  const [inline]

Number of members.

Definition at line 711 of file OsiBranchingObject.hpp.

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

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

Definition at line 715 of file OsiBranchingObject.hpp.

int OsiSOS::sosType (  )  const [inline]

SOS type.

Definition at line 719 of file OsiBranchingObject.hpp.

int OsiSOS::setType (  )  const [inline]

SOS type.

Definition at line 723 of file OsiBranchingObject.hpp.

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

Array of weights.

Definition at line 727 of file OsiBranchingObject.hpp.

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

Return true if object can take part in normal heuristics.

Reimplemented from OsiObject.

Reimplemented in OsiOldLink, and OsiLink.

Definition at line 732 of file OsiBranchingObject.hpp.

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

Set whether set is integer valued or not.

Definition at line 735 of file OsiBranchingObject.hpp.

virtual bool OsiSOS::canHandleShadowPrices (  )  const [inline, virtual]

Return true if knows how to deal with Pseudo Shadow Prices.

Reimplemented from OsiObject.

Definition at line 738 of file OsiBranchingObject.hpp.

void OsiSOS::setNumberMembers ( int  value  )  [inline]

Set number of members.

Definition at line 741 of file OsiBranchingObject.hpp.

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

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

Definition at line 745 of file OsiBranchingObject.hpp.

void OsiSOS::setSosType ( int  value  )  [inline]

Set SOS type.

Definition at line 749 of file OsiBranchingObject.hpp.

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

Array of weights.

Definition at line 753 of file OsiBranchingObject.hpp.


Member Data Documentation

int* OsiSOS::members_ [protected]

data

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

Definition at line 759 of file OsiBranchingObject.hpp.

double* OsiSOS::weights_ [protected]

Weights.

Definition at line 761 of file OsiBranchingObject.hpp.

int OsiSOS::numberMembers_ [protected]

Number of members.

Definition at line 764 of file OsiBranchingObject.hpp.

int OsiSOS::sosType_ [protected]

SOS type.

Definition at line 766 of file OsiBranchingObject.hpp.

bool OsiSOS::integerValued_ [protected]

Whether integer valued.

Definition at line 768 of file OsiBranchingObject.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