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
CoinPresolveTighten.hpp
Go to the documentation of this file.
1 /* $Id: CoinPresolveTighten.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 CoinPresolveTighten_H
7 #define CoinPresolveTighten_H
8
9 #include "CoinPresolveMatrix.hpp"
10
11 // This action has no separate class;
12 // instead, it decides which columns can be made fixed
13 // and calls make_fixed_action::presolve.
14 const CoinPresolveAction *tighten_zero_cost(CoinPresolveMatrix *prob,
15 const CoinPresolveAction *next);
16
17 #define DO_TIGHTEN 30
18
19 class do_tighten_action : public CoinPresolveAction {
20 do_tighten_action();
21 do_tighten_action(const do_tighten_action &rhs);
22 do_tighten_action &operator=(const do_tighten_action &rhs);
23
24 struct action {
25 int *rows;
26 double *lbound;
27 double *ubound;
28 int col;
29 int nrows;
30 int direction; // just for assertions
31 };
32
33 const int nactions_;
34 const action *const actions_;
35
36 do_tighten_action(int nactions,
37 const action *actions,
38 const CoinPresolveAction *next)
39 : CoinPresolveAction(next)
40 , nactions_(nactions)
41 , actions_(actions)
42 {
43 }
44
45 public:
46 const char *name() const;
47
48 static const CoinPresolveAction *presolve(CoinPresolveMatrix *prob,
49 const CoinPresolveAction *next);
50
51 void postsolve(CoinPostsolveMatrix *prob) const;
52
53 virtual ~do_tighten_action();
54 };
55 #endif
56
57 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
58 */
do_tighten_action::do_tighten_action
do_tighten_action(int nactions, const action *actions, const CoinPresolveAction *next)
Definition: CoinPresolveTighten.hpp:36
do_tighten_action::action
Definition: CoinPresolveTighten.hpp:24
do_tighten_action::action::lbound
double * lbound
Definition: CoinPresolveTighten.hpp:26
do_tighten_action::operator=
do_tighten_action & operator=(const do_tighten_action &rhs)
CoinPresolveAction
Abstract base class of all presolve routines.
Definition: CoinPresolveMatrix.hpp:163
do_tighten_action::nactions_
const int nactions_
Definition: CoinPresolveTighten.hpp:33
do_tighten_action::action::direction
int direction
Definition: CoinPresolveTighten.hpp:30
CoinPresolveMatrix.hpp
Declarations for CoinPresolveMatrix and CoinPostsolveMatrix and their common base class CoinPrePostso...
tighten_zero_cost
const CoinPresolveAction * tighten_zero_cost(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
do_tighten_action::~do_tighten_action
virtual ~do_tighten_action()
do_tighten_action::postsolve
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
do_tighten_action::name
const char * name() const
A name for debug printing.
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
do_tighten_action::do_tighten_action
do_tighten_action()
CoinPresolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
Definition: CoinPresolveMatrix.hpp:905
do_tighten_action::presolve
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
do_tighten_action::action::rows
int * rows
Definition: CoinPresolveTighten.hpp:25
do_tighten_action::actions_
const action *const actions_
Definition: CoinPresolveTighten.hpp:34
do_tighten_action::action::nrows
int nrows
Definition: CoinPresolveTighten.hpp:29
do_tighten_action
Definition: CoinPresolveTighten.hpp:19
do_tighten_action::action::ubound
double * ubound
Definition: CoinPresolveTighten.hpp:27
do_tighten_action::action::col
int col
Definition: CoinPresolveTighten.hpp:28