CoinPresolveTighten.hpp
Go to the documentation of this file.
1 /* $Id: CoinPresolveTighten.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 CoinPresolveTighten_H
6 #define CoinPresolveTighten_H
7 
8 #include "CoinPresolveMatrix.hpp"
9 
10 // This action has no separate class;
11 // instead, it decides which columns can be made fixed
12 // and calls make_fixed_action::presolve.
14  const CoinPresolveAction *next);
15 
16 #define DO_TIGHTEN 30
17 
22 
23  struct action {
24  int *rows;
25  double *lbound;
26  double *ubound;
27  int col;
28  int nrows;
29  int direction; // just for assertions
30  };
31 
32  const int nactions_;
33  const action *const actions_;
34 
35  do_tighten_action(int nactions,
36  const action *actions,
37  const CoinPresolveAction *next) :
38  CoinPresolveAction(next),
39  nactions_(nactions), actions_(actions) {}
40 
41  public:
42  const char *name() const;
43 
45  const CoinPresolveAction *next);
46 
47  void postsolve(CoinPostsolveMatrix *prob) const;
48 
50 
51 };
52 #endif
53 
54