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
11class 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