#include <CglGomory.hpp>
Inheritance diagram for CglGomory:
Public Member Functions | |
Generate Cuts | |
virtual void | generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) const |
Generate Mixed Integer Gomory cuts for the model of the solver interface, si. | |
int | generateCuts (const OsiRowCutDebugger *debugger, OsiCuts &cs, const CoinPackedMatrix &columnCopy, const double *objective, const double *colsol, const double *colLower, const double *colUpper, const double *rowLower, const double *rowUpper, const char *intVar, const CoinWarmStartBasis *warm, const CglTreeInfo info=CglTreeInfo()) const |
Generates cuts given matrix and solution etc, returns number of cuts generated. | |
virtual bool | needsOptimalBasis () const |
Return true if needs optimal basis to do cuts (will return true). | |
Change limit on how many variables in cut (default 50) | |
void | setLimit (int limit) |
Set. | |
int | getLimit () const |
Get. | |
void | setLimitAtRoot (int limit) |
Set at root (if <normal then use normal). | |
int | getLimitAtRoot () const |
Get at root. | |
Change criterion on which variables to look at. All ones | |
more than "away" away from integrality will be investigated (default 0.05) | |
void | setAway (double value) |
Set. | |
double | getAway () const |
Get. | |
Constructors and destructors | |
CglGomory () | |
Default constructor. | |
CglGomory (const CglGomory &) | |
Copy constructor. | |
virtual CglCutGenerator * | clone () const |
Clone. | |
CglGomory & | operator= (const CglGomory &rhs) |
Assignment operator. | |
virtual | ~CglGomory () |
Destructor. | |
virtual std::string | generateCpp (FILE *fp) |
Create C++ lines to get to current state. | |
Private Attributes | |
Private member data | |
double | away_ |
Only investigate if more than this away from integrality. | |
int | limit_ |
Limit - only generate if fewer than this in cut. | |
int | limitAtRoot_ |
Limit - only generate if fewer than this in cut (at root). | |
Friends | |
void | CglGomoryUnitTest (const OsiSolverInterface *siP, const std::string mpdDir) |
A function that tests the methods in the CglGomory class. |
Definition at line 12 of file CglGomory.hpp.
|
Default constructor.
|
|
Copy constructor.
|
|
Destructor.
|
|
Generate Mixed Integer Gomory cuts for the model of the solver interface, si. Insert the generated cuts into OsiCut, cs. There is a limit option, which will only generate cuts with less than this number of entries. We can also only look at 0-1 variables a certain distance from integer. Implements CglCutGenerator. |
|
Generates cuts given matrix and solution etc, returns number of cuts generated.
|
|
Return true if needs optimal basis to do cuts (will return true).
Reimplemented from CglCutGenerator. |
|
Set.
|
|
Get.
|
|
Set at root (if <normal then use normal).
|
|
Get at root.
|
|
Set.
|
|
Get.
|
|
Clone.
Implements CglCutGenerator. |
|
Assignment operator.
|
|
Create C++ lines to get to current state.
Reimplemented from CglCutGenerator. |
|
A function that tests the methods in the CglGomory 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. |
|
Only investigate if more than this away from integrality.
Definition at line 106 of file CglGomory.hpp. |
|
Limit - only generate if fewer than this in cut.
Definition at line 108 of file CglGomory.hpp. |
|
Limit - only generate if fewer than this in cut (at root).
Definition at line 110 of file CglGomory.hpp. |