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.
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...
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
virtual ~slack_doubleton_action()
Convert an explicit bound constraint to a column bound.
const char * name() const
A name for debug printing.
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)