CoinUtils
2.9.0
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 1498 2011-11-02 15:25:35Z mjs $ */
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),
actions_
(actions) {}
41
42
public
:
43
const
char
*
name
()
const
;
44
45
static
const
CoinPresolveAction
*
presolve
(
CoinPresolveMatrix
*prob,
46
const
CoinPresolveAction
*
next
);
47
48
void
postsolve
(
CoinPostsolveMatrix
*prob)
const
;
49
50
virtual
~do_tighten_action
();
51
52
};
53
#endif
54
55
Generated by
1.8.3.1