9 class CoinPresolveAction;
10 #include "CoinPresolveMatrix.hpp" 91 double feasibilityTolerance=0.0,
92 bool keepIntegers=
true,
94 const char * prohibited=NULL,
96 const char * rowProhibited=NULL);
115 virtual void postsolve(
bool updateStatus=
true);
230 virtual const CoinPresolveAction *
presolve(CoinPresolveMatrix *prob);
242 virtual void postsolve(CoinPostsolveMatrix &prob);
int numberPasses_
Number of major passes.
int nrows_
Number of rows in original model.
int ncols_
Number of columns in original model.
const int * originalRows() const
Return a pointer to the original rows.
OsiSolverInterface * model() const
Return a pointer to the presolved model.
virtual void postsolve(bool updateStatus=true)
Restate the solution to the presolved problem in terms of the original problem and load it into the o...
double nonLinearValue() const
virtual OsiSolverInterface * presolvedModel(OsiSolverInterface &origModel, double feasibilityTolerance=0.0, bool keepIntegers=true, int numberPasses=5, const char *prohibited=NULL, bool doStatus=true, const char *rowProhibited=NULL)
Create a new OsiSolverInterface loaded with the presolved problem.
void setOriginalModel(OsiSolverInterface *model)
Set the pointer to the original model.
OsiSolverInterface * presolvedModel_
Presolved model (solver interface loaded with the presolved problem)
Abstract Base Class for describing an interface to a solver.
void setNonLinearValue(double value)
"Magic" number.
void setPresolveActions(int action)
Fine control over presolve actions.
int getNumCols() const
Return number of columns in original model.
virtual ~OsiPresolve()
Virtual destructor.
double nonLinearValue_
"Magic" number.
CoinBigIndex nelems_
Number of nonzero matrix coefficients in the original model.
OSI interface to COIN problem simplification capabilities.
int * originalRow_
Original row numbers.
void gutsOfDestroy()
Destroys queued postsolve actions.
const CoinPresolveAction * paction_
The list of transformations applied.
virtual const CoinPresolveAction * presolve(CoinPresolveMatrix *prob)
Apply presolve transformations to the problem.
OsiSolverInterface * originalModel_
Original model (solver interface loaded with the original problem).
OsiSolverInterface * originalModel() const
Return a pointer to the original model.
int presolveActions_
Whether we want to skip dual part of presolve etc.
OsiPresolve()
Default constructor (empty object)
const int * originalColumns() const
Return a pointer to the original columns.
int * originalColumn_
Original column numbers.
int getNumRows() const
Return number of rows in original model.