Dip
0.92.4
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
tmp
Dip-0.92.4
CoinUtils
src
CoinPresolveEmpty.hpp
Go to the documentation of this file.
1
/* $Id: CoinPresolveEmpty.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 CoinPresolveEmpty_H
7
#define CoinPresolveEmpty_H
8
14
const
int
DROP_ROW
= 3;
15
const
int
DROP_COL
= 4;
16
34
class
drop_empty_cols_action
:
public
CoinPresolveAction
{
35
private
:
36
const
int
nactions_
;
37
38
struct
action
{
39
double
clo
;
40
double
cup
;
41
double
cost
;
42
double
sol
;
43
int
jcol
;
44
};
45
const
action
*
const
actions_
;
46
47
drop_empty_cols_action
(
int
nactions,
48
const
action
*
const
actions,
49
const
CoinPresolveAction
*
next
)
50
:
CoinPresolveAction
(next)
51
,
nactions_
(nactions)
52
,
actions_
(actions)
53
{
54
}
55
56
public
:
57
const
char
*
name
()
const
{
return
(
"drop_empty_cols_action"
); }
58
59
static
const
CoinPresolveAction
*
presolve
(
CoinPresolveMatrix
*,
60
const
int
*ecols,
61
int
necols,
62
const
CoinPresolveAction
*);
63
64
static
const
CoinPresolveAction
*
presolve
(
CoinPresolveMatrix
*prob,
65
const
CoinPresolveAction
*
next
);
66
67
void
postsolve
(
CoinPostsolveMatrix
*prob)
const
;
68
69
virtual
~drop_empty_cols_action
() {
deleteAction
(
actions_
,
action
*); }
70
};
71
86
class
drop_empty_rows_action
:
public
CoinPresolveAction
{
87
private
:
88
struct
action
{
89
double
rlo
;
90
double
rup
;
91
int
row
;
92
int
fill_row
;
// which row was moved into position row to fill it
93
};
94
95
const
int
nactions_
;
96
const
action
*
const
actions_
;
97
98
drop_empty_rows_action
(
int
nactions,
99
const
action
*actions,
100
const
CoinPresolveAction
*
next
)
101
:
CoinPresolveAction
(next)
102
,
nactions_
(nactions)
103
,
actions_
(actions)
104
{
105
}
106
107
public
:
108
const
char
*
name
()
const
{
return
(
"drop_empty_rows_action"
); }
109
110
static
const
CoinPresolveAction
*
presolve
(
CoinPresolveMatrix
*prob,
111
const
CoinPresolveAction
*
next
);
112
113
void
postsolve
(
CoinPostsolveMatrix
*prob)
const
;
114
115
virtual
~drop_empty_rows_action
() {
deleteAction
(
actions_
,
action
*); }
116
};
117
#endif
118
119
/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
120
*/
drop_empty_rows_action::action::row
int row
Definition:
CoinPresolveEmpty.hpp:91
drop_empty_cols_action::postsolve
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
drop_empty_cols_action::action::jcol
int jcol
Definition:
CoinPresolveEmpty.hpp:43
drop_empty_cols_action::~drop_empty_cols_action
virtual ~drop_empty_cols_action()
Definition:
CoinPresolveEmpty.hpp:69
drop_empty_cols_action::actions_
const action *const actions_
Definition:
CoinPresolveEmpty.hpp:45
CoinPostsolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
Definition:
CoinPresolveMatrix.hpp:1552
CoinPresolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
Definition:
CoinPresolveMatrix.hpp:905
drop_empty_cols_action::nactions_
const int nactions_
Definition:
CoinPresolveEmpty.hpp:36
drop_empty_rows_action::action::rlo
double rlo
Definition:
CoinPresolveEmpty.hpp:89
deleteAction
#define deleteAction(array, type)
Definition:
CoinPresolveMatrix.hpp:38
drop_empty_cols_action::drop_empty_cols_action
drop_empty_cols_action(int nactions, const action *const actions, const CoinPresolveAction *next)
Definition:
CoinPresolveEmpty.hpp:47
DROP_ROW
const int DROP_ROW
Definition:
CoinPresolveEmpty.hpp:14
drop_empty_rows_action::action::fill_row
int fill_row
Definition:
CoinPresolveEmpty.hpp:92
drop_empty_cols_action::action::cost
double cost
Definition:
CoinPresolveEmpty.hpp:41
drop_empty_cols_action::presolve
static const CoinPresolveAction * presolve(CoinPresolveMatrix *, const int *ecols, int necols, const CoinPresolveAction *)
CoinPresolveAction
Abstract base class of all presolve routines.
Definition:
CoinPresolveMatrix.hpp:163
DROP_COL
const int DROP_COL
Definition:
CoinPresolveEmpty.hpp:15
drop_empty_cols_action
Physically removes empty columns in presolve, and reinserts empty columns in postsolve.
Definition:
CoinPresolveEmpty.hpp:34
drop_empty_rows_action::action::rup
double rup
Definition:
CoinPresolveEmpty.hpp:90
drop_empty_cols_action::action::cup
double cup
Definition:
CoinPresolveEmpty.hpp:40
drop_empty_rows_action::name
const char * name() const
A name for debug printing.
Definition:
CoinPresolveEmpty.hpp:108
drop_empty_rows_action::presolve
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
drop_empty_cols_action::action::clo
double clo
Definition:
CoinPresolveEmpty.hpp:39
drop_empty_rows_action::drop_empty_rows_action
drop_empty_rows_action(int nactions, const action *actions, const CoinPresolveAction *next)
Definition:
CoinPresolveEmpty.hpp:98
drop_empty_rows_action::nactions_
const int nactions_
Definition:
CoinPresolveEmpty.hpp:95
drop_empty_cols_action::action
Definition:
CoinPresolveEmpty.hpp:38
drop_empty_rows_action::action
Definition:
CoinPresolveEmpty.hpp:88
drop_empty_rows_action::postsolve
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
drop_empty_cols_action::name
const char * name() const
A name for debug printing.
Definition:
CoinPresolveEmpty.hpp:57
drop_empty_cols_action::action::sol
double sol
Definition:
CoinPresolveEmpty.hpp:42
drop_empty_rows_action
Physically removes empty rows in presolve, and reinserts empty rows in postsolve. ...
Definition:
CoinPresolveEmpty.hpp:86
drop_empty_rows_action::~drop_empty_rows_action
virtual ~drop_empty_rows_action()
Definition:
CoinPresolveEmpty.hpp:115
drop_empty_rows_action::actions_
const action *const actions_
Definition:
CoinPresolveEmpty.hpp:96
CoinPresolveAction::next
const CoinPresolveAction * next
The next presolve transformation.
Definition:
CoinPresolveMatrix.hpp:180
Generated by
1.8.5