CoinUtils
2.10.13
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
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
CoinPresolveAction
Abstract base class of all presolve routines.
Definition:
CoinPresolveMatrix.hpp:155
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()
CoinPresolveAction::CoinPresolveAction
CoinPresolveAction(const CoinPresolveAction *next)
Construct a postsolve object and add it to the transformation list.
Definition:
CoinPresolveMatrix.hpp:178
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:171
CoinPostsolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
Definition:
CoinPresolveMatrix.hpp:1421
CoinPresolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
Definition:
CoinPresolveMatrix.hpp:835
do_tighten_action::presolve
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
do_tighten_action
Definition:
CoinPresolveTighten.hpp:19
Generated by
1.8.5