CoinUtils
2.11.2
src
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
*/
drop_zero_coefficients_action::postsolve
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
CoinPresolveAction
Abstract base class of all presolve routines.
Definition:
CoinPresolveMatrix.hpp:163
deleteAction
#define deleteAction(array, type)
Definition:
CoinPresolveMatrix.hpp:38
drop_zero_coefficients
const CoinPresolveAction * drop_zero_coefficients(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
drop_zero_coefficients_action::name
const char * name() const
A name for debug printing.
Definition:
CoinPresolveZeros.hpp:47
CoinPresolveAction::CoinPresolveAction
CoinPresolveAction(const CoinPresolveAction *next)
Construct a postsolve object and add it to the transformation list.
Definition:
CoinPresolveMatrix.hpp:187
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:1554
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:907
dropped_zero::row
int row
Definition:
CoinPresolveZeros.hpp:23
drop_zero_coefficients_action
Removal of explicit zeros.
Definition:
CoinPresolveZeros.hpp:32
Generated by
1.8.14