CoinUtils
trunk
|
00001 00002 #ifndef CoinPresolveMonitor_H 00003 #define CoinPresolveMonitor_H 00004 00029 class CoinPresolveMonitor 00030 { 00031 public: 00032 00037 CoinPresolveMonitor() ; 00038 00044 CoinPresolveMonitor(const CoinPresolveMatrix *mtx, bool isRow, int k) ; 00045 00051 CoinPresolveMonitor(const CoinPostsolveMatrix *mtx, bool isRow, int k) ; 00052 00059 void checkAndTell(const CoinPresolveMatrix *mtx) ; 00060 00067 void checkAndTell(const CoinPostsolveMatrix *mtx) ; 00068 00069 private: 00070 00072 CoinPackedVector *extractRow(int i, const CoinPresolveMatrix *mtx) const ; 00073 00075 CoinPackedVector *extractCol(int j, const CoinPresolveMatrix *mtx) const ; 00076 00078 CoinPackedVector *extractRow(int i, const CoinPostsolveMatrix *mtx) const ; 00079 00081 CoinPackedVector *extractCol(int j, const CoinPostsolveMatrix *mtx) const ; 00082 00084 void checkAndTell(CoinPackedVector *curVec, double lb, double ub) ; 00085 00087 bool isRow_ ; 00088 00090 int ndx_ ; 00091 00096 CoinPackedVector *origVec_ ; 00097 00099 double lb_ ; 00100 00102 double ub_ ; 00103 } ; 00104 00105 #endif