CoinUtils 2.11.4
Loading...
Searching...
No Matches
CoinPresolveImpliedFree.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 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,
46 , nactions_(nactions)
47 , actions_(actions)
48 {
49 }
50
51public:
52 const char *name() const;
53
56 int &fillLevel);
57
58 void postsolve(CoinPostsolveMatrix *prob) const;
59
61};
62
63#endif
64
65/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
66*/
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 implied free variables.
virtual ~implied_free_action()
const char * name() const
A name for debug printing.
const action *const actions_
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const CoinPresolveAction *next, int &fillLevel)
implied_free_action(int nactions, const action *actions, const CoinPresolveAction *next)
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.