CoinPresolveForcing.hpp
Go to the documentation of this file.
1 /* $Id: CoinPresolveForcing.hpp 1215 2009-11-05 11:03:04Z forrest $ */
2 // Copyright (C) 2002, International Business Machines
3 // Corporation and others. All Rights Reserved.
4 
5 #ifndef CoinPresolveForcing_H
6 #define CoinPresolveForcing_H
7 
8 #include "CoinPresolveMatrix.hpp"
9 
14 #define IMPLIED_BOUND 7
15 
30 public:
31  struct action {
32  const int *rowcols;
33  const double *bounds;
34  int row;
35  int nlo;
36  int nup;
37  };
38 private:
39  const int nactions_;
40  // actions_ is owned by the class and must be deleted at destruction
41  const action *const actions_;
42 
43 public:
45  const action *actions,
46  const CoinPresolveAction *next) :
47  CoinPresolveAction(next),
48  nactions_(nactions), actions_(actions) {}
49 
50  const char *name() const;
51 
52  static const CoinPresolveAction *presolve(CoinPresolveMatrix * prob,
53  const CoinPresolveAction *next);
54 
55  void postsolve(CoinPostsolveMatrix *prob) const;
56 
58 };
59 
60 #endif