Cgl  0.59.9
Public Member Functions | Friends | List of all members
CglFlowCover Class Reference

Lifed Simple Generalized Flow Cover Cut Generator Class. More...

#include <CglFlowCover.hpp>

+ Inheritance diagram for CglFlowCover:
+ Collaboration diagram for CglFlowCover:

Public Member Functions

void flowPreprocess (const OsiSolverInterface &si)
 Do the following tasks: More...
 
Generate Cuts
virtual void generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo())
 Generate Lifed Simple Generalized flow cover cuts for the model data contained in si. More...
 
Functions to query and set maximum number of cuts can be

generated.

int getMaxNumCuts () const
 
void setMaxNumCuts (int mc)
 
Constructors and destructors
 CglFlowCover ()
 Default constructor. More...
 
 CglFlowCover (const CglFlowCover &)
 Copy constructor. More...
 
virtual CglCutGeneratorclone () const
 Clone. More...
 
CglFlowCoveroperator= (const CglFlowCover &rhs)
 Assignment operator. More...
 
virtual ~CglFlowCover ()
 Destructor. More...
 
virtual std::string generateCpp (FILE *fp)
 Create C++ lines to get to current state. More...
 
- Public Member Functions inherited from CglCutGenerator
 CglCutGenerator ()
 Default constructor. More...
 
 CglCutGenerator (const CglCutGenerator &)
 Copy constructor. More...
 
CglCutGeneratoroperator= (const CglCutGenerator &rhs)
 Assignment operator. More...
 
virtual ~CglCutGenerator ()
 Destructor. More...
 
virtual void refreshSolver (OsiSolverInterface *)
 This can be used to refresh any information. More...
 
int getAggressiveness () const
 Get Aggressiveness - 0 = neutral, 100 is normal root node. More...
 
void setAggressiveness (int value)
 Set Aggressiveness - 0 = neutral, 100 is normal root node. More...
 
void setGlobalCuts (bool trueOrFalse)
 Set whether can do global cuts. More...
 
bool canDoGlobalCuts () const
 Say whether can do global cuts. More...
 
virtual bool mayGenerateRowCutsInTree () const
 Returns true if may generate Row cuts in tree (rather than root node). More...
 
virtual bool needsOptimalBasis () const
 Return true if needs optimal basis to do cuts. More...
 
virtual int maximumLengthOfCutInTree () const
 Return maximum length of cut in tree. More...
 

Static Public Member Functions

Functions to query and set the number of cuts have been

generated.

static int getNumFlowCuts ()
 
static void setNumFlowCuts (int fc)
 
static void incNumFlowCuts (int fc=1)
 

Friends

void CglFlowCoverUnitTest (const OsiSolverInterface *siP, const std::string mpdDir)
 A function that tests the methods in the CglFlowCover class. More...
 

Additional Inherited Members

- Public Attributes inherited from CglCutGenerator
int aggressive_
 Aggressiveness - 0 = neutral, 100 is normal root node. More...
 
bool canDoGlobalCuts_
 True if can do global cuts i.e. no general integers. More...
 

Detailed Description

Lifed Simple Generalized Flow Cover Cut Generator Class.

Definition at line 148 of file CglFlowCover.hpp.

Constructor & Destructor Documentation

CglFlowCover::CglFlowCover ( )

Default constructor.

CglFlowCover::CglFlowCover ( const CglFlowCover )

Copy constructor.

virtual CglFlowCover::~CglFlowCover ( )
virtual

Destructor.

Member Function Documentation

void CglFlowCover::flowPreprocess ( const OsiSolverInterface &  si)

Do the following tasks:

  • classify row types
  • indentify vubs and vlbs

This function is called by generateCuts(const OsiSolverInterface & si, OsiCuts & cs).

virtual void CglFlowCover::generateCuts ( const OsiSolverInterface &  si,
OsiCuts &  cs,
const CglTreeInfo  info = CglTreeInfo() 
)
virtual

Generate Lifed Simple Generalized flow cover cuts for the model data contained in si.

The generated cuts are inserted into and returned in the collection of cuts cs.

Implements CglCutGenerator.

int CglFlowCover::getMaxNumCuts ( ) const
inline

Definition at line 178 of file CglFlowCover.hpp.

void CglFlowCover::setMaxNumCuts ( int  mc)
inline

Definition at line 179 of file CglFlowCover.hpp.

static int CglFlowCover::getNumFlowCuts ( )
inlinestatic

Definition at line 185 of file CglFlowCover.hpp.

static void CglFlowCover::setNumFlowCuts ( int  fc)
inlinestatic

Definition at line 186 of file CglFlowCover.hpp.

static void CglFlowCover::incNumFlowCuts ( int  fc = 1)
inlinestatic

Definition at line 187 of file CglFlowCover.hpp.

virtual CglCutGenerator* CglFlowCover::clone ( ) const
virtual

Clone.

Implements CglCutGenerator.

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

Assignment operator.

virtual std::string CglFlowCover::generateCpp ( FILE *  fp)
virtual

Create C++ lines to get to current state.

Reimplemented from CglCutGenerator.

Friends And Related Function Documentation

void CglFlowCoverUnitTest ( const OsiSolverInterface *  siP,
const std::string  mpdDir 
)
friend

A function that tests the methods in the CglFlowCover 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.


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