CoinUtils  2.10.13
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CoinPresolveImpliedFree.hpp
Go to the documentation of this file.
1 /* $Id: CoinPresolveImpliedFree.hpp 1694 2014-04-29 02:08:35Z tkr $ */
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 CoinPresolveImpliedFree_H
7 #define CoinPresolveImpliedFree_H
8 
13 #define IMPLIED_FREE 9
14 
30  struct action {
31  int row, col;
32  double clo, cup;
33  double rlo, rup;
34  const double *rowels;
35  const double *costs;
36  int ninrow;
37  };
38 
39  const int nactions_;
40  const action *const actions_;
41 
42  implied_free_action(int nactions,
43  const action *actions,
44  const CoinPresolveAction *next) :
45  CoinPresolveAction(next),
46  nactions_(nactions), actions_(actions) {}
47 
48  public:
49  const char *name() const;
50 
51  static const CoinPresolveAction *presolve(CoinPresolveMatrix * prob,
52  const CoinPresolveAction *next,
53  int & fillLevel);
54 
55  void postsolve(CoinPostsolveMatrix *prob) const;
56 
57  virtual ~implied_free_action();
58 };
59 
60 #endif
Detect and process implied free variables.
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const CoinPresolveAction *next, int &fillLevel)
Abstract base class of all presolve routines.
CoinPresolveAction(const CoinPresolveAction *next)
Construct a postsolve object and add it to the transformation list.
const CoinPresolveAction * next
The next presolve transformation.
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
const char * name() const
A name for debug printing.
virtual ~implied_free_action()
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.