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
CoinPresolveZeros.hpp
Go to the documentation of this file.
1 /* $Id: CoinPresolveZeros.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 CoinPresolveZeros_H
7 #define CoinPresolveZeros_H
8
14 #define DROP_ZERO 8
15
22 struct dropped_zero {
23 int row;
24 int col;
25 };
26
32 class drop_zero_coefficients_action : public CoinPresolveAction {
33
34 const int nzeros_;
35 const dropped_zero *const zeros_;
36
37 drop_zero_coefficients_action(int nzeros,
38 const dropped_zero *zeros,
39 const CoinPresolveAction *next)
40 : CoinPresolveAction(next)
41 , nzeros_(nzeros)
42 , zeros_(zeros)
43 {
44 }
45
46 public:
47 const char *name() const { return ("drop_zero_coefficients_action"); }
48
49 static const CoinPresolveAction *presolve(CoinPresolveMatrix *prob,
50 int *checkcols,
51 int ncheckcols,
52 const CoinPresolveAction *next);
53
54 void postsolve(CoinPostsolveMatrix *prob) const;
55
56 virtual ~drop_zero_coefficients_action() { deleteAction(zeros_, dropped_zero *); }
57 };
58
59 const CoinPresolveAction *drop_zero_coefficients(CoinPresolveMatrix *prob,
60 const CoinPresolveAction *next);
61
62 #endif
63
64 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
65 */
CoinPresolveAction
Abstract base class of all presolve routines.
Definition: CoinPresolveMatrix.hpp:163
deleteAction
#define deleteAction(array, type)
Definition: CoinPresolveMatrix.hpp:38
drop_zero_coefficients_action::nzeros_
const int nzeros_
Definition: CoinPresolveZeros.hpp:34
drop_zero_coefficients
const CoinPresolveAction * drop_zero_coefficients(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
drop_zero_coefficients_action::presolve
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, int *checkcols, int ncheckcols, const CoinPresolveAction *next)
drop_zero_coefficients_action::~drop_zero_coefficients_action
virtual ~drop_zero_coefficients_action()
Definition: CoinPresolveZeros.hpp:56
CoinPresolveAction::next
const CoinPresolveAction * next
The next presolve transformation.
Definition: CoinPresolveMatrix.hpp:180
dropped_zero::col
int col
Definition: CoinPresolveZeros.hpp:24
CoinPostsolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
Definition: CoinPresolveMatrix.hpp:1552
drop_zero_coefficients_action::drop_zero_coefficients_action
drop_zero_coefficients_action(int nzeros, const dropped_zero *zeros, const CoinPresolveAction *next)
Definition: CoinPresolveZeros.hpp:37
dropped_zero
Tracking information for an explicit zero coefficient.
Definition: CoinPresolveZeros.hpp:22
CoinPresolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
Definition: CoinPresolveMatrix.hpp:905
drop_zero_coefficients_action::postsolve
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
drop_zero_coefficients_action::name
const char * name() const
A name for debug printing.
Definition: CoinPresolveZeros.hpp:47
dropped_zero::row
int row
Definition: CoinPresolveZeros.hpp:23
drop_zero_coefficients_action::zeros_
const dropped_zero *const zeros_
Definition: CoinPresolveZeros.hpp:35
drop_zero_coefficients_action
Removal of explicit zeros.
Definition: CoinPresolveZeros.hpp:32