Cbc  2.9.9
 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.
const action *const actions_
const CoinPresolveAction * next
The next presolve transformation.
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
implied_free_action(int nactions, const action *actions, const CoinPresolveAction *next)
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.