CoinUtils 2.11.12
Loading...
Searching...
No Matches
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
14
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...
const CoinPresolveAction * next
The next presolve transformation.
CoinPresolveAction(const CoinPresolveAction *next)
Construct a postsolve object and add it to the transformation list.
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
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)