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
10
15#define IMPLIED_BOUND 7
16
31
32public:
33 struct action {
34 const int *rowcols;
35 const double *bounds;
36 int row;
37 int nlo;
38 int nup;
39 };
40
41private:
42 const int nactions_;
43 // actions_ is owned by the class and must be deleted at destruction
44 const action *const actions_;
45
46public:
48 const action *actions,
51 , nactions_(nactions)
52 , actions_(actions)
53 {
54 }
55
56 const char *name() const;
57
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.
const char * name() const
A name for debug printing.
forcing_constraint_action & operator=(const forcing_constraint_action &rhs)
virtual ~forcing_constraint_action()
forcing_constraint_action(int nactions, const action *actions, 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)
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const CoinPresolveAction *next)