00001
00002
00003
00004 #ifndef CoinPresolveIsolated_H
00005 #define CoinPresolveIsolated_H
00006
00007 #include "CoinPresolveMatrix.hpp"
00008
00009 class isolated_constraint_action : public CoinPresolveAction {
00010 isolated_constraint_action();
00011 isolated_constraint_action(const isolated_constraint_action& rhs);
00012 isolated_constraint_action& operator=(const isolated_constraint_action& rhs);
00013
00014 double rlo_;
00015 double rup_;
00016 int row_;
00017 int ninrow_;
00018
00019 const int *rowcols_;
00020 const double *rowels_;
00021 const double *costs_;
00022
00023 isolated_constraint_action(double rlo,
00024 double rup,
00025 int row,
00026 int ninrow,
00027 const int *rowcols,
00028 const double *rowels,
00029 const double *costs,
00030 const CoinPresolveAction *next) :
00031 CoinPresolveAction(next),
00032 rlo_(rlo), rup_(rup), row_(row), ninrow_(ninrow),
00033 rowcols_(rowcols), rowels_(rowels), costs_(costs) {}
00034
00035 public:
00036 const char *name() const;
00037
00038 static const CoinPresolveAction *presolve(CoinPresolveMatrix * prob,
00039 int row,
00040 const CoinPresolveAction *next);
00041
00042 void postsolve(CoinPostsolveMatrix *prob) const;
00043
00044 ~isolated_constraint_action();
00045 };
00046
00047
00048
00049 #endif