CoinUtils
2.11.13
Toggle main menu visibility
Loading...
Searching...
No Matches
CoinUtils
src
CoinPresolveSubst.hpp
Go to the documentation of this file.
1
/* $Id$ */
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 CoinPresolveSubst_H
7
#define CoinPresolveSubst_H
8
12
13
#define SUBST_ROW 21
14
15
#include "
CoinPresolveMatrix.hpp
"
16
37
class
subst_constraint_action
:
public
CoinPresolveAction
{
38
private
:
39
subst_constraint_action
();
40
subst_constraint_action
(
const
subst_constraint_action
&rhs);
41
subst_constraint_action
&
operator=
(
const
subst_constraint_action
&rhs);
42
43
struct
action
{
44
double
*
rlos
;
45
double
*
rups
;
46
47
double
*
coeffxs
;
48
int
*
rows
;
49
50
int
*
ninrowxs
;
51
int
*
rowcolsxs
;
52
double
*
rowelsxs
;
53
54
const
double
*
costsx
;
55
int
col
;
56
int
rowy
;
57
58
int
nincol
;
59
};
60
61
const
int
nactions_
;
62
// actions_ is owned by the class and must be deleted at destruction
63
const
action
*
const
actions_
;
64
65
subst_constraint_action
(
int
nactions,
66
action
*actions,
67
const
CoinPresolveAction
*
next
)
68
:
CoinPresolveAction
(
next
)
69
,
nactions_
(nactions)
70
,
actions_
(actions)
71
{
72
}
73
74
public
:
75
const
char
*
name
()
const
;
76
77
static
const
CoinPresolveAction
*
presolve
(
CoinPresolveMatrix
*prob,
78
const
int
*implied_free,
79
const
int
*which,
80
int
numberFree,
81
const
CoinPresolveAction
*
next
,
82
int
fill_level);
83
static
const
CoinPresolveAction
*
presolveX
(
CoinPresolveMatrix
*prob,
84
const
CoinPresolveAction
*
next
,
85
int
fillLevel);
86
87
void
postsolve
(
CoinPostsolveMatrix
*prob)
const
;
88
89
virtual
~subst_constraint_action
();
90
};
91
92
/*static*/
void
implied_bounds
(
const
double
*els,
93
const
double
*clo,
const
double
*cup,
94
const
int
*hcol,
95
CoinBigIndex
krs,
CoinBigIndex
kre,
96
double
*maxupp,
double
*maxdownp,
97
int
jcol,
98
double
rlo,
double
rup,
99
double
*iclb,
double
*icub);
100
#endif
101
102
/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
103
*/
CoinPresolveMatrix.hpp
Declarations for CoinPresolveMatrix and CoinPostsolveMatrix and their common base class CoinPrePostso...
implied_bounds
void implied_bounds(const double *els, const double *clo, const double *cup, const int *hcol, CoinBigIndex krs, CoinBigIndex kre, double *maxupp, double *maxdownp, int jcol, double rlo, double rup, double *iclb, double *icub)
CoinBigIndex
int CoinBigIndex
Definition
Coin_C_defines.h:136
CoinPostsolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
Definition
CoinPresolveMatrix.hpp:1552
CoinPresolveAction
Abstract base class of all presolve routines.
Definition
CoinPresolveMatrix.hpp:163
CoinPresolveAction::next
const CoinPresolveAction * next
The next presolve transformation.
Definition
CoinPresolveMatrix.hpp:180
CoinPresolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
Definition
CoinPresolveMatrix.hpp:905
subst_constraint_action::subst_constraint_action
subst_constraint_action(int nactions, action *actions, const CoinPresolveAction *next)
Definition
CoinPresolveSubst.hpp:65
subst_constraint_action::actions_
const action *const actions_
Definition
CoinPresolveSubst.hpp:63
subst_constraint_action::nactions_
const int nactions_
Definition
CoinPresolveSubst.hpp:61
subst_constraint_action::subst_constraint_action
subst_constraint_action(const subst_constraint_action &rhs)
subst_constraint_action::presolveX
static const CoinPresolveAction * presolveX(CoinPresolveMatrix *prob, const CoinPresolveAction *next, int fillLevel)
subst_constraint_action::name
const char * name() const
Construct a postsolve object and add it to the transformation list.
subst_constraint_action::~subst_constraint_action
virtual ~subst_constraint_action()
subst_constraint_action::subst_constraint_action
subst_constraint_action()
subst_constraint_action::presolve
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const int *implied_free, const int *which, int numberFree, const CoinPresolveAction *next, int fill_level)
subst_constraint_action::postsolve
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
subst_constraint_action::operator=
subst_constraint_action & operator=(const subst_constraint_action &rhs)
subst_constraint_action::action
Definition
CoinPresolveSubst.hpp:43
subst_constraint_action::action::rows
int * rows
Definition
CoinPresolveSubst.hpp:48
subst_constraint_action::action::rlos
double * rlos
Definition
CoinPresolveSubst.hpp:44
subst_constraint_action::action::coeffxs
double * coeffxs
Definition
CoinPresolveSubst.hpp:47
subst_constraint_action::action::rowy
int rowy
Definition
CoinPresolveSubst.hpp:56
subst_constraint_action::action::col
int col
Definition
CoinPresolveSubst.hpp:55
subst_constraint_action::action::rups
double * rups
Definition
CoinPresolveSubst.hpp:45
subst_constraint_action::action::ninrowxs
int * ninrowxs
Definition
CoinPresolveSubst.hpp:50
subst_constraint_action::action::rowelsxs
double * rowelsxs
Definition
CoinPresolveSubst.hpp:52
subst_constraint_action::action::costsx
const double * costsx
Definition
CoinPresolveSubst.hpp:54
subst_constraint_action::action::rowcolsxs
int * rowcolsxs
Definition
CoinPresolveSubst.hpp:51
subst_constraint_action::action::nincol
int nincol
Definition
CoinPresolveSubst.hpp:58
Generated by
1.17.0