#include <OsiRowCutDebugger.hpp>
Public Member Functions | |
Validate Row Cuts | |
virtual int | validateCuts (const OsiCuts &cs, int first, int last) const |
If we are on the path to the optimal integer solution then check if any generated cuts cut off the optimal solution! | |
virtual bool | invalidCut (const OsiRowCut &rowcut) const |
check one cut. Return true if cut is invalid | |
const double * | optimalSolution () const |
Return optimal solution. | |
Activate Debugger | |
bool | activate (const OsiSolverInterface &si, const char *model) |
Activate debugger using name of model. | |
bool | activate (const OsiSolverInterface &si, const double *solution) |
Activate debugger using full solution array. | |
Test if on Optimal Path | |
bool | onOptimalPath (const OsiSolverInterface &si) const |
Returns whether still on optimal path. | |
Test if debugger active | |
bool | active () const |
Returns true if debugger is active. | |
Constructors and destructors | |
OsiRowCutDebugger () | |
Default constructor - no checking. | |
OsiRowCutDebugger (const OsiSolverInterface &si, const char *model) | |
Constructor with name of model. | |
OsiRowCutDebugger (const OsiSolverInterface &si, const double *solution) | |
Default constructor - no checking. | |
OsiRowCutDebugger (const OsiRowCutDebugger &) | |
Copy constructor. | |
OsiRowCutDebugger & | operator= (const OsiRowCutDebugger &rhs) |
Assignment operator. | |
virtual | ~OsiRowCutDebugger () |
Destructor. | |
Private Attributes | |
Private member data | |
int | numberColumns_ |
number of columns in problem | |
bool * | integerVariable_ |
Whether integer or not. | |
double * | optimalSolution_ |
Optimal column solution. | |
Friends | |
void | OsiRowCutDebuggerUnitTest (const OsiSolverInterface *siP, const std::string &mpsDir) |
A function that tests the methods in the OsiRowCut class. |
Definition at line 12 of file OsiRowCutDebugger.hpp.
|
Default constructor - no checking.
|
|
Constructor with name of model. It may or may not work if problem presolved |
|
Default constructor - no checking.
|
|
Copy constructor.
|
|
Destructor.
|
|
If we are on the path to the optimal integer solution then check if any generated cuts cut off the optimal solution! If so then print offending cuts and return non-zero code Up to user to check if on optimalPath (using function of same name). This is normally handled by rowCutDebugger() in OsiSolverInterface. Return number of invalid cuts. |
|
check one cut. Return true if cut is invalid
|
|
Return optimal solution.
Definition at line 36 of file OsiRowCutDebugger.hpp. |
|
Activate debugger using name of model. It may or may not work if problem presolved. Returns true if debugger activated. |
|
Activate debugger using full solution array. Only integer values need to be correct. Up to user to get it correct. Returns true if debugger activated (i.e. solution was valid). |
|
Returns whether still on optimal path. This should normally be invoked from OsiSolverInterface::rowCutDebugger() |
|
Returns true if debugger is active.
|
|
Assignment operator.
|
|
A function that tests the methods in the OsiRowCut 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. |
|
number of columns in problem
Definition at line 112 of file OsiRowCutDebugger.hpp. |
|
Whether integer or not.
Definition at line 114 of file OsiRowCutDebugger.hpp. |
|
Optimal column solution.
Definition at line 116 of file OsiRowCutDebugger.hpp. |