42 double feasibilityTolerance = 0.0,
43 bool keepIntegers =
true,
45 bool dropNames =
false,
46 bool doRowObjective =
false,
47 const char * prohibitedRows=NULL,
48 const char * prohibitedColumns=NULL);
54 double feasibilityTolerance = 0.0,
55 bool keepIntegers =
true,
57 bool dropNames =
false,
58 bool doRowObjective =
false);
229 virtual void postsolve(
bool updateStatus =
true);
291 double feasibilityTolerance,
296 const char * prohibitedRows=NULL,
297 const char * prohibitedColumns=NULL);
void setZeroSmall(int value)
This version saves data in a file.
void setSubstitution(int value)
Substitution level.
int substitution_
Substitution level.
void setDoGubrow(bool doGubrow)
This version saves data in a file.
CoinBigIndex nelems_
Original model - must not be destroyed before postsolve.
bool doSingletonColumn() const
Whether we want to do singleton column part of presolve.
bool doTighten() const
Whether we want to do tighten part of presolve.
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
bool doDupcol() const
Whether we want to do dupcol part of presolve.
const int * originalColumns() const
return pointer to original columns
double nonLinearValue() const
This version saves data in a file.
void setOriginalModel(ClpSimplex *model)
Set pointer to original model.
int presolveStatus() const
Return presolve status (0,1,2)
int ncols_
The postsolved problem will expand back to its former size as postsolve transformations are applied...
int * originalRow_
Original row numbers.
void setDoForcing(bool doForcing)
This version saves data in a file.
int presolvedModelToFile(ClpSimplex &si, std::string fileName, double feasibilityTolerance=0.0, bool keepIntegers=true, int numberPasses=5, bool dropNames=false, bool doRowObjective=false)
This version saves data in a file.
virtual const CoinPresolveAction * presolve(CoinPresolveMatrix *prob)
If you want to apply the individual presolve routines differently, or perhaps add your own to the mix...
void setDoDoubleton(bool doDoubleton)
This version saves data in a file.
void setDoDependency(bool doDependency)
This version saves data in a file.
virtual void postsolve(bool updateStatus=true)
Gets rid of presolve actions (e.g.when infeasible)
const CoinPresolveAction * paction_
The list of transformations applied.
bool doTripleton() const
Whether we want to do tripleton part of presolve.
int numberPasses_
Number of major passes.
std::string saveFile_
Name of saved model file.
int presolveActions_
Whether we want to skip dual part of presolve etc.
const int * originalRows() const
return pointer to original rows
virtual ClpSimplex * gutsOfPresolvedModel(ClpSimplex *originalModel, double feasibilityTolerance, bool keepIntegers, int numberPasses, bool dropNames, bool doRowObjective, const char *prohibitedRows=NULL, const char *prohibitedColumns=NULL)
This is main part of Presolve.
bool doDuprow() const
Whether we want to do duprow part of presolve.
void setDoIntersection(bool doIntersection)
This version saves data in a file.
ClpPresolve()
Default constructor.
ClpSimplex * model() const
Return pointer to presolved model, Up to user to destroy.
This is the Clp interface to CoinPresolve.
void setNonLinearValue(double value)
"Magic" number.
double nonLinearValue_
"Magic" number.
void setDoDual(bool doDual)
This version saves data in a file.
void setDoSingleton(bool doSingleton)
This version saves data in a file.
int presolveActions() const
Set whole group.
int * originalColumn_
Original column numbers.
Abstract base class of all presolve routines.
bool doDoubleton() const
Whether we want to do doubleton part of presolve.
void destroyPresolve()
Gets rid of presolve actions (e.g.when infeasible)
void setDoTripleton(bool doTripleton)
This version saves data in a file.
This solves LPs using the simplex method.
bool doForcing() const
Whether we want to do forcing part of presolve.
void setDoImpliedFree(bool doImpliedfree)
This version saves data in a file.
bool doGubrow() const
Whether we want to do gubrow part of presolve.
int zeroSmall() const
How much we want to zero small values from aggregation - ratio 0 - 1.0e-12, 1 1.0e-11, 2 1.0e-10, 3 1.0e-9.
void setPresolveActions(int action)
This version saves data in a file.
bool doSingleton() const
Whether we want to do singleton part of presolve.
void setDoDupcol(bool doDupcol)
This version saves data in a file.
bool doIntersection() const
Whether we want to allow duplicate intersections.
ClpSimplex * originalModel() const
Return pointer to original model.
bool doTwoxTwo() const
Whether we want to do twoxtwo part of presolve.
ClpSimplex * presolvedModel_
ClpPresolved model - up to user to destroy by deleteClpPresolvedModel.
double * rowObjective_
Row objective.
void statistics()
Asks for statistics.
bool doDual() const
Whether we want to do dual part of presolve.
void setDoSingletonColumn(bool doSingleton)
This version saves data in a file.
ClpSimplex * presolvedModel(ClpSimplex &si, double feasibilityTolerance=0.0, bool keepIntegers=true, int numberPasses=5, bool dropNames=false, bool doRowObjective=false, const char *prohibitedRows=NULL, const char *prohibitedColumns=NULL)
This version saves data in a file.
bool doDependency() const
Whether we want to do dependency part of presolve.
void setDoTighten(bool doTighten)
This version saves data in a file.
void setDoDuprow(bool doDuprow)
This version saves data in a file.
ClpSimplex * originalModel_
Original model - must not be destroyed before postsolve.
int nrows_
Original model - must not be destroyed before postsolve.
virtual ~ClpPresolve()
Virtual destructor.
bool doImpliedFree() const
Whether we want to do impliedfree part of presolve.
void setDoTwoxtwo(bool doTwoxTwo)
This version saves data in a file.