1 | /* $Id: CoinPresolveIsolated.hpp 1372 2011-01-03 23:31:00Z lou $ */ |
2 | // Copyright (C) 2002, International Business Machines |
3 | // Corporation and others. All Rights Reserved. |
4 | // This code is licensed under the terms of the Eclipse Public License (EPL). |
5 | |
6 | #ifndef CoinPresolveIsolated_H |
7 | #define CoinPresolveIsolated_H |
8 | |
9 | #include "CoinPresolveMatrix.hpp" |
10 | |
11 | class isolated_constraint_action : public CoinPresolveAction { |
12 | isolated_constraint_action(); |
13 | isolated_constraint_action(const isolated_constraint_action& rhs); |
14 | isolated_constraint_action& operator=(const isolated_constraint_action& rhs); |
15 | |
16 | double rlo_; |
17 | double rup_; |
18 | int row_; |
19 | int ninrow_; |
20 | // the arrays are owned by the class and must be deleted at destruction |
21 | const int *rowcols_; |
22 | const double *rowels_; |
23 | const double *costs_; |
24 | |
25 | isolated_constraint_action(double rlo, |
26 | double rup, |
27 | int row, |
28 | int ninrow, |
29 | const int *rowcols, |
30 | const double *rowels, |
31 | const double *costs, |
32 | const CoinPresolveAction *next) : |
33 | CoinPresolveAction(next), |
34 | rlo_(rlo), rup_(rup), row_(row), ninrow_(ninrow), |
35 | rowcols_(rowcols), rowels_(rowels), costs_(costs) {} |
36 | |
37 | public: |
38 | const char *name() const override; |
39 | |
40 | static const CoinPresolveAction *presolve(CoinPresolveMatrix * prob, |
41 | int row, |
42 | const CoinPresolveAction *next); |
43 | |
44 | void postsolve(CoinPostsolveMatrix *prob) const override; |
45 | |
46 | ~isolated_constraint_action(); |
47 | }; |
48 | |
49 | |
50 | |
51 | #endif |
52 | |