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