DyLP
1.10.4
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
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
drop_empty_cols_action::nactions_
const int nactions_
Definition:
CoinPresolveEmpty.hpp:36
drop_empty_rows_action::action::rlo
double rlo
Definition:
CoinPresolveEmpty.hpp:89
CoinPresolveAction
Abstract base class of all presolve routines.
Definition:
CoinPresolveMatrix.hpp:163
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
deleteAction
#define deleteAction(array, type)
Definition:
CoinPresolveMatrix.hpp:38
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_COL
const int DROP_COL
Definition:
CoinPresolveEmpty.hpp:15
drop_empty_cols_action::presolve
static const CoinPresolveAction * presolve(CoinPresolveMatrix *, const int *ecols, int necols, const CoinPresolveAction *)
DROP_ROW
const int DROP_ROW
Definition:
CoinPresolveEmpty.hpp:14
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
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
CoinPresolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
Definition:
CoinPresolveMatrix.hpp:905
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
Generated by
1.8.5