CoinUtils
2.11.3
src
CoinPresolveUseless.hpp
Go to the documentation of this file.
1
/* $Id: CoinPresolveUseless.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 CoinPresolveUseless_H
7
#define CoinPresolveUseless_H
8
#define USELESS 20
9
10
class
useless_constraint_action
:
public
CoinPresolveAction
{
11
struct
action {
12
double
rlo;
13
double
rup;
14
const
int
*rowcols;
15
const
double
*rowels;
16
int
row;
17
int
ninrow;
18
};
19
20
const
int
nactions_;
21
const
action *
const
actions_;
22
23
useless_constraint_action
(
int
nactions,
24
const
action *actions,
25
const
CoinPresolveAction
*
next
);
26
27
public
:
28
const
char
*
name
()
const
;
29
30
// These rows are asserted to be useless,
31
// that is, given a solution the row activity
32
// must be in range.
33
static
const
CoinPresolveAction
*
presolve
(
CoinPresolveMatrix
*prob,
34
const
int
*useless_rows,
35
int
nuseless_rows,
36
const
CoinPresolveAction
*
next
);
37
38
void
postsolve
(
CoinPostsolveMatrix
*prob)
const
;
39
40
virtual
~useless_constraint_action
();
41
};
42
57
const
CoinPresolveAction
*
testRedundant
(
CoinPresolveMatrix
*prob,
58
const
CoinPresolveAction
*next);
59
60
#endif
61
62
/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
63
*/
useless_constraint_action::name
const char * name() const
A name for debug printing.
useless_constraint_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
useless_constraint_action::presolve
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const int *useless_rows, int nuseless_rows, const CoinPresolveAction *next)
useless_constraint_action::testRedundant
const CoinPresolveAction * testRedundant(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
Scan constraints looking for useless constraints.
useless_constraint_action
Definition:
CoinPresolveUseless.hpp:10
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:1554
CoinPresolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
Definition:
CoinPresolveMatrix.hpp:907
useless_constraint_action::~useless_constraint_action
virtual ~useless_constraint_action()
Generated by
1.8.15