00001 // Copyright (C) 2002, International Business Machines 00002 // Corporation and others. All Rights Reserved. 00003 00004 #ifndef CoinPresolveForcing_H 00005 #define CoinPresolveForcing_H 00006 00011 #define IMPLIED_BOUND 7 00012 00023 class forcing_constraint_action : public CoinPresolveAction { 00024 struct action { 00025 const int *rowcols; 00026 const double *bounds; 00027 int row; 00028 int nlo; 00029 int nup; 00030 }; 00031 00032 const int nactions_; 00033 const action *const actions_; 00034 00035 forcing_constraint_action(int nactions, 00036 const action *actions, 00037 const CoinPresolveAction *next) : 00038 CoinPresolveAction(next), 00039 nactions_(nactions), actions_(actions) {}; 00040 00041 public: 00042 const char *name() const; 00043 00044 static const CoinPresolveAction *presolve(CoinPresolveMatrix * prob, 00045 const CoinPresolveAction *next); 00046 00047 void postsolve(CoinPostsolveMatrix *prob) const; 00048 00049 ~forcing_constraint_action(); 00050 }; 00051 00052 #endif