Loading...
Searching...
No Matches
CglLiftAndProject Class Reference

Lift And Project Cut Generator Class. More...

`#include <CglLiftAndProject.hpp>`

Inheritance diagram for CglLiftAndProject:
[legend]
Collaboration diagram for CglLiftAndProject:
[legend]

## Public Member Functions

Generate Cuts
virtual void | generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo())
| Generate lift-and-project cuts for the model of the solver interface, si.
double | getBeta () const
| Get the normalization : Either beta=+1 or beta=-1.
void | setBeta (int oneOrMinusOne)
| Set the normalization : Either beta=+1 or beta=-1.
Constructors and destructors
| CglLiftAndProject ()
| Default constructor.
| CglLiftAndProject (const CglLiftAndProject &)
| Copy constructor.
virtual CglCutGenerator * | clone () const
| Clone.
CglLiftAndProject & | operator= (const CglLiftAndProject &rhs)
| Assignment operator.
virtual | ~CglLiftAndProject ()
| Destructor.
virtual std::string | generateCpp (FILE *fp)
| Create C++ lines to get to current state.
Public Member Functions inherited from CglCutGenerator
| CglCutGenerator ()
| Default constructor.
| CglCutGenerator (const CglCutGenerator &)
| Copy constructor.
CglCutGenerator & | operator= (const CglCutGenerator &rhs)
| Assignment operator.
virtual | ~CglCutGenerator ()
| Destructor.
virtual void | refreshSolver (OsiSolverInterface *)
| This can be used to refresh any information.
int | getAggressiveness () const
| Get Aggressiveness - 0 = neutral, 100 is normal root node.
void | setAggressiveness (int value)
| Set Aggressiveness - 0 = neutral, 100 is normal root node.
void | setGlobalCuts (bool trueOrFalse)
| Set whether can do global cuts.
bool | canDoGlobalCuts () const
| Say whether can do global cuts.
virtual bool | mayGenerateRowCutsInTree () const
| Returns true if may generate Row cuts in tree (rather than root node).
virtual bool | needsOptimalBasis () const
| Return true if needs optimal basis to do cuts.
virtual int | maximumLengthOfCutInTree () const
| Return maximum length of cut in tree.

## Private Attributes

Private member data
double | beta_
| The normalization is beta_=1 or beta_=-1.
double | epsilon_
| epsilon
double | onetol_
| 1-epsilon

## Friends

void | CglLiftAndProjectUnitTest (const OsiSolverInterface *siP, const std::string mpdDir)
| A function that tests the methods in the CglLiftAndProject class.

## Additional Inherited Members

int | aggressive_
| Aggressiveness - 0 = neutral, 100 is normal root node.
bool | canDoGlobalCuts_
| True if can do global cuts i.e. no general integers.

## Detailed Description

Lift And Project Cut Generator Class.

Definition at line 13 of file CglLiftAndProject.hpp.

## Constructor & Destructor Documentation

## CglLiftAndProject() [1/2]

CglLiftAndProject::CglLiftAndProject | ( |  | ) |

Default constructor.

## CglLiftAndProject() [2/2]

CglLiftAndProject::CglLiftAndProject | ( | const CglLiftAndProject & |  | ) |

Copy constructor.

## ~CglLiftAndProject()

virtual CglLiftAndProject::~CglLiftAndProject | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## generateCuts()

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

virtual

Generate lift-and-project cuts for the model of the solver interface, si.

Insert the generated cuts into OsiCut, cs.

Implements CglCutGenerator.

## getBeta()

double CglLiftAndProject::getBeta | ( |  | ) | const

inline

Get the normalization : Either beta=+1 or beta=-1.

Definition at line 30 of file CglLiftAndProject.hpp.

## setBeta()

void CglLiftAndProject::setBeta | ( | int | oneOrMinusOne | ) |

inline

Set the normalization : Either beta=+1 or beta=-1.

Default value is 1.

Definition at line 37 of file CglLiftAndProject.hpp.

## clone()

virtual CglCutGenerator * CglLiftAndProject::clone | ( |  | ) | const

virtual

Clone.

Implements CglCutGenerator.

## operator=()

CglLiftAndProject & CglLiftAndProject::operator= | ( | const CglLiftAndProject & | rhs | ) |

Assignment operator.

## generateCpp()

virtual std::string CglLiftAndProject::generateCpp | ( | FILE * | fp | ) |

virtual

Create C++ lines to get to current state.

Reimplemented from CglCutGenerator.

## Friends And Related Symbol Documentation

## CglLiftAndProjectUnitTest

void CglLiftAndProjectUnitTest | ( | const OsiSolverInterface * | siP,
|  | const std::string | mpdDir )

friend

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

## beta_

double CglLiftAndProject::beta_

private

The normalization is beta_=1 or beta_=-1.

Definition at line 87 of file CglLiftAndProject.hpp.

## epsilon_

double CglLiftAndProject::epsilon_

private

epsilon

Definition at line 89 of file CglLiftAndProject.hpp.

## onetol_

double CglLiftAndProject::onetol_

private

1-epsilon

Definition at line 91 of file CglLiftAndProject.hpp.

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

- Cgl/src/CglLiftAndProject/CglLiftAndProject.hpp