CoinUtils  2.11.4
CoinPresolveForcing.hpp
Go to the documentation of this file.
1 /* $Id$ */
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 CoinPresolveForcing_H
7 #define CoinPresolveForcing_H
8 
9 #include "CoinPresolveMatrix.hpp"
10 
15 #define IMPLIED_BOUND 7
16 
31 
32 public:
33  struct action {
34  const int *rowcols;
35  const double *bounds;
36  int row;
37  int nlo;
38  int nup;
39  };
40 
41 private:
42  const int nactions_;
43  // actions_ is owned by the class and must be deleted at destruction
44  const action *const actions_;
45 
46 public:
48  const action *actions,
49  const CoinPresolveAction *next)
51  , nactions_(nactions)
52  , actions_(actions)
53  {
54  }
55 
56  const char *name() const;
57 
59  const CoinPresolveAction *next);
60 
61  void postsolve(CoinPostsolveMatrix *prob) const;
62 
64 };
65 
66 #endif
67 
68 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
69 */
Declarations for CoinPresolveMatrix and CoinPostsolveMatrix and their common base class CoinPrePostso...
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
Abstract base class of all presolve routines.
const CoinPresolveAction * next
The next presolve transformation.
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
Detect and process forcing constraints and useless constraints.
forcing_constraint_action & operator=(const forcing_constraint_action &rhs)
virtual ~forcing_constraint_action()
forcing_constraint_action(int nactions, const action *actions, const CoinPresolveAction *next)
const char * name() const
A name for debug printing.
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
forcing_constraint_action(const forcing_constraint_action &rhs)