Lift And Project Cut Generator Class. More...
#include <CglLiftAndProject.hpp>
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. More... | |
double | getBeta () const |
Get the normalization : Either beta=+1 or beta=-1. More... | |
void | setBeta (int oneOrMinusOne) |
Set the normalization : Either beta=+1 or beta=-1. More... | |
Constructors and destructors | |
CglLiftAndProject () | |
Default constructor. More... | |
CglLiftAndProject (const CglLiftAndProject &) | |
Copy constructor. More... | |
virtual CglCutGenerator * | clone () const |
Clone. More... | |
CglLiftAndProject & | operator= (const CglLiftAndProject &rhs) |
Assignment operator. More... | |
virtual | ~CglLiftAndProject () |
Destructor. More... | |
virtual std::string | generateCpp (FILE *fp) |
Create C++ lines to get to current state. More... | |
![]() | |
CglCutGenerator () | |
Default constructor. More... | |
CglCutGenerator (const CglCutGenerator &) | |
Copy constructor. More... | |
CglCutGenerator & | operator= (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... | |
Private Attributes | |
Private member data | |
double | beta_ |
The normalization is beta_=1 or beta_=-1. More... | |
double | epsilon_ |
epsilon More... | |
double | onetol_ |
1-epsilon More... | |
Friends | |
void | CglLiftAndProjectUnitTest (const OsiSolverInterface *siP, const std::string mpdDir) |
A function that tests the methods in the CglLiftAndProject class. More... | |
Additional Inherited Members | |
![]() | |
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... | |
Lift And Project Cut Generator Class.
Definition at line 13 of file CglLiftAndProject.hpp.
CglLiftAndProject::CglLiftAndProject | ( | ) |
Default constructor.
CglLiftAndProject::CglLiftAndProject | ( | const CglLiftAndProject & | ) |
Copy constructor.
|
virtual |
Destructor.
|
virtual |
Generate lift-and-project cuts for the model of the solver interface, si.
Insert the generated cuts into OsiCut, cs.
Implements CglCutGenerator.
|
inline |
Get the normalization : Either beta=+1 or beta=-1.
Definition at line 30 of file CglLiftAndProject.hpp.
|
inline |
Set the normalization : Either beta=+1 or beta=-1.
Default value is 1.
Definition at line 37 of file CglLiftAndProject.hpp.
|
virtual |
Clone.
Implements CglCutGenerator.
CglLiftAndProject& CglLiftAndProject::operator= | ( | const CglLiftAndProject & | rhs | ) |
Assignment operator.
|
virtual |
Create C++ lines to get to current state.
Reimplemented from CglCutGenerator.
|
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.
|
private |
The normalization is beta_=1 or beta_=-1.
Definition at line 87 of file CglLiftAndProject.hpp.
|
private |
epsilon
Definition at line 89 of file CglLiftAndProject.hpp.
|
private |
1-epsilon
Definition at line 91 of file CglLiftAndProject.hpp.