6 #ifndef CoinPresolveSubst_H
7 #define CoinPresolveSubst_H
63 const action *
const actions_;
69 nactions_(nactions), actions_(actions) {}
72 const char *
name()
const;
75 const int *implied_free,
94 const double *clo,
const double *cup,
97 double *maxupp,
double *maxdownp,
99 double rlo,
double rup,
100 double *iclb,
double *icub);
static const CoinPresolveAction * presolveX(CoinPresolveMatrix *prob, const CoinPresolveAction *next, int fillLevel)
Abstract base class of all presolve routines.
Detect and process implied free variables.
Declarations for CoinPresolveMatrix and CoinPostsolveMatrix and their common base class CoinPrePostso...
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const int *implied_free, const int *which, int numberFree, const CoinPresolveAction *next, int fill_level)
CoinPresolveAction(const CoinPresolveAction *next)
Construct a postsolve object and add it to the transformation list.
const char * name() const
A name for debug printing.
const CoinPresolveAction * next
The next presolve transformation.
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...
void implied_bounds(const double *els, const double *clo, const double *cup, const int *hcol, CoinBigIndex krs, CoinBigIndex kre, double *maxupp, double *maxdownp, int jcol, double rlo, double rup, double *iclb, double *icub)
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
virtual ~subst_constraint_action()