Clp 1.17.6

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

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 2083 2019-01-06 19:38:09Z unxusr $ */
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
29 class implied_free_action : public CoinPresolveAction {
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)
47 , actions_(actions)
48 {
49 }
50
51 public:
52 const char *name() const;
53
54 static const CoinPresolveAction *presolve(CoinPresolveMatrix *prob,
55 const CoinPresolveAction *next,
56 int &fillLevel);
57
58 void postsolve(CoinPostsolveMatrix *prob) const;
59
60 virtual ~implied_free_action();
61 };
62
63 #endif
64
65 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
66 */
implied_free_action::action::ninrow
int ninrow
Definition: CoinPresolveImpliedFree.hpp:36
implied_free_action
Detect and process implied free variables.
Definition: CoinPresolveImpliedFree.hpp:29
implied_free_action::action::clo
double clo
Definition: CoinPresolveImpliedFree.hpp:32
implied_free_action::presolve
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const CoinPresolveAction *next, int &fillLevel)
implied_free_action::action::cup
double cup
Definition: CoinPresolveImpliedFree.hpp:32
implied_free_action::action::rlo
double rlo
Definition: CoinPresolveImpliedFree.hpp:33
CoinPresolveAction
Abstract base class of all presolve routines.
Definition: CoinPresolveMatrix.hpp:163
implied_free_action::action
Definition: CoinPresolveImpliedFree.hpp:30
implied_free_action::action::costs
const double * costs
Definition: CoinPresolveImpliedFree.hpp:35
implied_free_action::actions_
const action *const actions_
Definition: CoinPresolveImpliedFree.hpp:40
implied_free_action::action::rup
double rup
Definition: CoinPresolveImpliedFree.hpp:33
implied_free_action::nactions_
const int nactions_
Definition: CoinPresolveImpliedFree.hpp:39
implied_free_action::action::row
int row
Definition: CoinPresolveImpliedFree.hpp:31
CoinPresolveAction::next
const CoinPresolveAction * next
The next presolve transformation.
Definition: CoinPresolveMatrix.hpp:180
CoinPostsolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
Definition: CoinPresolveMatrix.hpp:1552
implied_free_action::implied_free_action
implied_free_action(int nactions, const action *actions, const CoinPresolveAction *next)
Definition: CoinPresolveImpliedFree.hpp:42
implied_free_action::action::rowels
const double * rowels
Definition: CoinPresolveImpliedFree.hpp:34
CoinPresolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
Definition: CoinPresolveMatrix.hpp:905
implied_free_action::name
const char * name() const
A name for debug printing.
implied_free_action::action::col
int col
Definition: CoinPresolveImpliedFree.hpp:31
implied_free_action::~implied_free_action
virtual ~implied_free_action()
implied_free_action::postsolve
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.