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
CoinPresolveTighten.hpp
Go to the documentation of this file.
1
/* $Id: CoinPresolveTighten.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 CoinPresolveTighten_H
7
#define CoinPresolveTighten_H
8
9
#include "
CoinPresolveMatrix.hpp
"
10
11
// This action has no separate class;
12
// instead, it decides which columns can be made fixed
13
// and calls make_fixed_action::presolve.
14
const
CoinPresolveAction
*
tighten_zero_cost
(
CoinPresolveMatrix
*prob,
15
const
CoinPresolveAction
*next);
16
17
#define DO_TIGHTEN 30
18
19
class
do_tighten_action
:
public
CoinPresolveAction
{
20
do_tighten_action
();
21
do_tighten_action
(
const
do_tighten_action
&rhs);
22
do_tighten_action
&
operator=
(
const
do_tighten_action
&rhs);
23
24
struct
action
{
25
int
*
rows
;
26
double
*
lbound
;
27
double
*
ubound
;
28
int
col
;
29
int
nrows
;
30
int
direction
;
// just for assertions
31
};
32
33
const
int
nactions_
;
34
const
action
*
const
actions_
;
35
36
do_tighten_action
(
int
nactions,
37
const
action
*actions,
38
const
CoinPresolveAction
*
next
)
39
:
CoinPresolveAction
(next)
40
,
nactions_
(nactions)
41
,
actions_
(actions)
42
{
43
}
44
45
public
:
46
const
char
*
name
()
const
;
47
48
static
const
CoinPresolveAction
*
presolve
(
CoinPresolveMatrix
*prob,
49
const
CoinPresolveAction
*
next
);
50
51
void
postsolve
(
CoinPostsolveMatrix
*prob)
const
;
52
53
virtual
~do_tighten_action
();
54
};
55
#endif
56
57
/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
58
*/
do_tighten_action::do_tighten_action
do_tighten_action(int nactions, const action *actions, const CoinPresolveAction *next)
Definition:
CoinPresolveTighten.hpp:36
do_tighten_action::action
Definition:
CoinPresolveTighten.hpp:24
do_tighten_action::action::lbound
double * lbound
Definition:
CoinPresolveTighten.hpp:26
do_tighten_action::operator=
do_tighten_action & operator=(const do_tighten_action &rhs)
CoinPresolveAction
Abstract base class of all presolve routines.
Definition:
CoinPresolveMatrix.hpp:163
do_tighten_action::nactions_
const int nactions_
Definition:
CoinPresolveTighten.hpp:33
do_tighten_action::action::direction
int direction
Definition:
CoinPresolveTighten.hpp:30
CoinPresolveMatrix.hpp
Declarations for CoinPresolveMatrix and CoinPostsolveMatrix and their common base class CoinPrePostso...
tighten_zero_cost
const CoinPresolveAction * tighten_zero_cost(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
do_tighten_action::~do_tighten_action
virtual ~do_tighten_action()
do_tighten_action::postsolve
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
do_tighten_action::name
const char * name() const
A name for debug printing.
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
do_tighten_action::do_tighten_action
do_tighten_action()
CoinPresolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
Definition:
CoinPresolveMatrix.hpp:905
do_tighten_action::presolve
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
do_tighten_action::action::rows
int * rows
Definition:
CoinPresolveTighten.hpp:25
do_tighten_action::actions_
const action *const actions_
Definition:
CoinPresolveTighten.hpp:34
do_tighten_action::action::nrows
int nrows
Definition:
CoinPresolveTighten.hpp:29
do_tighten_action
Definition:
CoinPresolveTighten.hpp:19
do_tighten_action::action::ubound
double * ubound
Definition:
CoinPresolveTighten.hpp:27
do_tighten_action::action::col
int col
Definition:
CoinPresolveTighten.hpp:28
Generated by
1.8.5