OsiCuts Class Reference

Collections of row cuts and column cuts. More...

#include <OsiCuts.hpp>

List of all members.

Classes

class  const_iterator
 Const Iterator. More...
class  iterator
 Iterator. More...
class  OsiCutCompare

Public Member Functions

Inserting a cut into collection



void insert (const OsiRowCut &rc)
 Insert a row cut.
void insertIfNotDuplicate (OsiRowCut &rc, CoinAbsFltEq treatAsSame=CoinAbsFltEq(1.0e-12))
 Insert a row cut unless it is a duplicate - cut may get sorted.
void insertIfNotDuplicate (OsiRowCut &rc, CoinRelFltEq treatAsSame)
 Insert a row cut unless it is a duplicate - cut may get sorted.
void insert (const OsiColCut &cc)
 Insert a column cut.
void insert (OsiRowCut *&rcPtr)
 Insert a row cut.
void insert (OsiColCut *&ccPtr)
 Insert a column cut.
void insert (const OsiCuts &cs)
 Insert a set of cuts.
Number of cuts in collection



int sizeRowCuts () const
 Number of row cuts in collection.
int sizeColCuts () const
 Number of column cuts in collection.
int sizeCuts () const
 Number of cuts in collection.
Debug stuff



void printCuts () const
 Print cuts in collection.
Get a cut from collection



OsiRowCutrowCutPtr (int i)
 Get pointer to i'th row cut.
const OsiRowCutrowCutPtr (int i) const
 Get const pointer to i'th row cut.
OsiColCutcolCutPtr (int i)
 Get pointer to i'th column cut.
const OsiColCutcolCutPtr (int i) const
 Get const pointer to i'th column cut.
OsiRowCutrowCut (int i)
 Get reference to i'th row cut.
const OsiRowCutrowCut (int i) const
 Get const reference to i'th row cut.
OsiColCutcolCut (int i)
 Get reference to i'th column cut.
const OsiColCutcolCut (int i) const
 Get const reference to i'th column cut.
const OsiCutmostEffectiveCutPtr () const
 Get const pointer to the most effective cut.
OsiCutmostEffectiveCutPtr ()
 Get pointer to the most effective cut.
Deleting cut from collection



void eraseRowCut (int i)
 Remove i'th row cut from collection.
void eraseColCut (int i)
 Remove i'th column cut from collection.
OsiRowCutrowCutPtrAndZap (int i)
 Get pointer to i'th row cut and remove ptr from collection.
void dumpCuts ()
 Clear all row cuts without deleting them.
void eraseAndDumpCuts (const std::vector< int > to_erase)
 Selective delete and clear for row cuts.
Sorting collection



void sort ()
 Cuts with greatest effectiveness are first.
Iterators

Example of using an iterator to sum effectiveness of all cuts in the collection.

     double sumEff=0.0;
     for ( OsiCuts::iterator it=cuts.begin(); it!=cuts.end(); ++it )
           sumEff+= (*it)->effectiveness();
     


iterator begin ()
 Get iterator to beginning of collection.
const_iterator begin () const
 Get const iterator to beginning of collection.
iterator end ()
 Get iterator to end of collection.
const_iterator end () const
 Get const iterator to end of collection.
Constructors and destructors



 OsiCuts ()
 Default constructor.
 OsiCuts (const OsiCuts &)
 Copy constructor.
OsiCutsoperator= (const OsiCuts &rhs)
 Assignment operator.
virtual ~OsiCuts ()
 Destructor.

Private Member Functions

Private methods



void gutsOfCopy (const OsiCuts &source)
 Copy internal data.
void gutsOfDestructor ()
 Delete internal data.

Private Attributes

Private member data



OsiVectorRowCutPtr rowCutPtrs_
 Vector of row cuts pointers.
OsiVectorColCutPtr colCutPtrs_
 Vector of column cuts pointers.

Friends

void OsiCutsUnitTest ()
 A function that tests the methods in the OsiCuts class.

Detailed Description

Collections of row cuts and column cuts.

Definition at line 20 of file OsiCuts.hpp.


Constructor & Destructor Documentation

OsiCuts::OsiCuts (  ) 

Default constructor.

OsiCuts::OsiCuts ( const OsiCuts  ) 

Copy constructor.

virtual OsiCuts::~OsiCuts (  )  [virtual]

Destructor.


Member Function Documentation

void OsiCuts::insert ( const OsiRowCut rc  )  [inline]

Insert a row cut.

Definition at line 307 of file OsiCuts.hpp.

void OsiCuts::insertIfNotDuplicate ( OsiRowCut rc,
CoinAbsFltEq  treatAsSame = CoinAbsFltEq(1.0e-12) 
)

Insert a row cut unless it is a duplicate - cut may get sorted.

Duplicate is defined as CoinAbsFltEq says same

void OsiCuts::insertIfNotDuplicate ( OsiRowCut rc,
CoinRelFltEq  treatAsSame 
)

Insert a row cut unless it is a duplicate - cut may get sorted.

Duplicate is defined as CoinRelFltEq says same

void OsiCuts::insert ( const OsiColCut cc  )  [inline]

Insert a column cut.

Definition at line 313 of file OsiCuts.hpp.

void OsiCuts::insert ( OsiRowCut *&  rcPtr  )  [inline]

Insert a row cut.

The OsiCuts object takes control of the cut object. On return, rcPtr is NULL.

Definition at line 320 of file OsiCuts.hpp.

void OsiCuts::insert ( OsiColCut *&  ccPtr  )  [inline]

Insert a column cut.

The OsiCuts object takes control of the cut object. On return ccPtr is NULL.

Definition at line 325 of file OsiCuts.hpp.

void OsiCuts::insert ( const OsiCuts cs  )  [inline]

Insert a set of cuts.

Definition at line 348 of file OsiCuts.hpp.

int OsiCuts::sizeRowCuts (  )  const [inline]

Number of row cuts in collection.

Definition at line 375 of file OsiCuts.hpp.

int OsiCuts::sizeColCuts (  )  const [inline]

Number of column cuts in collection.

Definition at line 376 of file OsiCuts.hpp.

int OsiCuts::sizeCuts (  )  const [inline]

Number of cuts in collection.

Definition at line 377 of file OsiCuts.hpp.

void OsiCuts::printCuts (  )  const [inline]

Print cuts in collection.

Definition at line 421 of file OsiCuts.hpp.

OsiRowCut * OsiCuts::rowCutPtr ( int  i  )  [inline]

Get pointer to i'th row cut.

Definition at line 384 of file OsiCuts.hpp.

const OsiRowCut * OsiCuts::rowCutPtr ( int  i  )  const [inline]

Get const pointer to i'th row cut.

Definition at line 382 of file OsiCuts.hpp.

OsiColCut * OsiCuts::colCutPtr ( int  i  )  [inline]

Get pointer to i'th column cut.

Definition at line 385 of file OsiCuts.hpp.

const OsiColCut * OsiCuts::colCutPtr ( int  i  )  const [inline]

Get const pointer to i'th column cut.

Definition at line 383 of file OsiCuts.hpp.

OsiRowCut & OsiCuts::rowCut ( int  i  )  [inline]

Get reference to i'th row cut.

Definition at line 389 of file OsiCuts.hpp.

const OsiRowCut & OsiCuts::rowCut ( int  i  )  const [inline]

Get const reference to i'th row cut.

Definition at line 387 of file OsiCuts.hpp.

OsiColCut & OsiCuts::colCut ( int  i  )  [inline]

Get reference to i'th column cut.

Definition at line 390 of file OsiCuts.hpp.

const OsiColCut & OsiCuts::colCut ( int  i  )  const [inline]

Get const reference to i'th column cut.

Definition at line 388 of file OsiCuts.hpp.

const OsiCut * OsiCuts::mostEffectiveCutPtr (  )  const [inline]

Get const pointer to the most effective cut.

Definition at line 395 of file OsiCuts.hpp.

OsiCut * OsiCuts::mostEffectiveCutPtr (  )  [inline]

Get pointer to the most effective cut.

Definition at line 401 of file OsiCuts.hpp.

void OsiCuts::eraseRowCut ( int  i  )  [inline]

Remove i'th row cut from collection.

Definition at line 440 of file OsiCuts.hpp.

void OsiCuts::eraseColCut ( int  i  )  [inline]

Remove i'th column cut from collection.

Definition at line 445 of file OsiCuts.hpp.

OsiRowCut * OsiCuts::rowCutPtrAndZap ( int  i  )  [inline]

Get pointer to i'th row cut and remove ptr from collection.

Definition at line 452 of file OsiCuts.hpp.

void OsiCuts::dumpCuts (  )  [inline]

Clear all row cuts without deleting them.

Handy in case one wants to use CGL without managing cuts in one of the OSI containers. Client is ultimately responsible for deleting the data structures holding the row cuts.

Definition at line 459 of file OsiCuts.hpp.

void OsiCuts::eraseAndDumpCuts ( const std::vector< int >  to_erase  )  [inline]

Selective delete and clear for row cuts.

Deletes the cuts specified in to_erase then clears remaining cuts without deleting them. A hybrid of eraseRowCut(int) and dumpCuts(). Client is ultimately responsible for deleting the data structures for row cuts not specified in to_erase.

Definition at line 463 of file OsiCuts.hpp.

void OsiCuts::sort (  )  [inline]

Cuts with greatest effectiveness are first.

Definition at line 365 of file OsiCuts.hpp.

iterator OsiCuts::begin (  )  [inline]

Get iterator to beginning of collection.

Definition at line 248 of file OsiCuts.hpp.

const_iterator OsiCuts::begin (  )  const [inline]

Get const iterator to beginning of collection.

Definition at line 250 of file OsiCuts.hpp.

iterator OsiCuts::end (  )  [inline]

Get iterator to end of collection.

Definition at line 252 of file OsiCuts.hpp.

const_iterator OsiCuts::end (  )  const [inline]

Get const iterator to end of collection.

Definition at line 254 of file OsiCuts.hpp.

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

Assignment operator.

void OsiCuts::gutsOfCopy ( const OsiCuts source  )  [private]

Copy internal data.

void OsiCuts::gutsOfDestructor (  )  [private]

Delete internal data.


Friends And Related Function Documentation

void OsiCutsUnitTest (  )  [friend]

A function that tests the methods in the OsiCuts class.

The only reason for it not to be a member method is that this way it doesn't have to be compiled into the library. And that's a gain, because the library should be compiled with optimization on, but this method should be compiled with debugging.


Member Data Documentation

Vector of row cuts pointers.

Definition at line 296 of file OsiCuts.hpp.

Vector of column cuts pointers.

Definition at line 298 of file OsiCuts.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