6 #ifndef CoinPresolveSingleton_H 7 #define CoinPresolveSingleton_H 8 #define SLACK_DOUBLETON 2 9 #define SLACK_SINGLETON 8 39 const action *
const actions_;
42 const action *actions,
50 const char *
name()
const {
return (
"slack_doubleton_action"); }
90 const action *
const actions_;
93 const action *actions,
101 const char *
name()
const {
return (
"slack_singleton_action"); }
105 double * rowObjective);
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const CoinPresolveAction *next, bool ¬Finished)
Convert explicit bound constraints to column bounds.
For variables with one entry.
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
Abstract base class of all presolve routines.
#define deleteAction(array, type)
CoinPresolveAction(const CoinPresolveAction *next)
Construct a postsolve object and add it to the transformation list.
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...
virtual ~slack_doubleton_action()
const char * name() const
A name for debug printing.
Convert an explicit bound constraint to a column bound.
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
virtual ~slack_singleton_action()
const char * name() const
A name for debug printing.
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const CoinPresolveAction *next, double *rowObjective)