Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
opt
build
coinutils-2.6.4
CoinUtils
src
CoinPresolveTighten.hpp
Go to the documentation of this file.
1
/* $Id: CoinPresolveTighten.hpp 1215 2009-11-05 11:03:04Z forrest $ */
2
// Copyright (C) 2002, International Business Machines
3
// Corporation and others. All Rights Reserved.
4
5
#ifndef CoinPresolveTighten_H
6
#define CoinPresolveTighten_H
7
8
#include "
CoinPresolveMatrix.hpp
"
9
10
// This action has no separate class;
11
// instead, it decides which columns can be made fixed
12
// and calls make_fixed_action::presolve.
13
const
CoinPresolveAction
*
tighten_zero_cost
(
CoinPresolveMatrix
*prob,
14
const
CoinPresolveAction
*next);
15
16
#define DO_TIGHTEN 30
17
18
class
do_tighten_action
:
public
CoinPresolveAction
{
19
do_tighten_action
();
20
do_tighten_action
(
const
do_tighten_action
& rhs);
21
do_tighten_action
&
operator=
(
const
do_tighten_action
& rhs);
22
23
struct
action
{
24
int
*
rows
;
25
double
*
lbound
;
26
double
*
ubound
;
27
int
col
;
28
int
nrows
;
29
int
direction
;
// just for assertions
30
};
31
32
const
int
nactions_
;
33
const
action
*
const
actions_
;
34
35
do_tighten_action
(
int
nactions,
36
const
action
*actions,
37
const
CoinPresolveAction
*
next
) :
38
CoinPresolveAction
(next),
39
nactions_
(nactions),
actions_
(actions) {}
40
41
public
:
42
const
char
*
name
()
const
;
43
44
static
const
CoinPresolveAction
*
presolve
(
CoinPresolveMatrix
*prob,
45
const
CoinPresolveAction
*
next
);
46
47
void
postsolve
(
CoinPostsolveMatrix
*prob)
const
;
48
49
~do_tighten_action
();
50
51
};
52
#endif
53
54
do_tighten_action::do_tighten_action
do_tighten_action(int nactions, const action *actions, const CoinPresolveAction *next)
Definition:
CoinPresolveTighten.hpp:35
do_tighten_action::action
Definition:
CoinPresolveTighten.hpp:23
do_tighten_action::action::lbound
double * lbound
Definition:
CoinPresolveTighten.hpp:25
CoinPostsolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
Definition:
CoinPresolveMatrix.hpp:1307
CoinPresolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
Definition:
CoinPresolveMatrix.hpp:773
do_tighten_action::~do_tighten_action
~do_tighten_action()
do_tighten_action::operator=
do_tighten_action & operator=(const do_tighten_action &rhs)
do_tighten_action::nactions_
const int nactions_
Definition:
CoinPresolveTighten.hpp:32
do_tighten_action::action::direction
int direction
Definition:
CoinPresolveTighten.hpp:29
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
Abstract base class of all presolve routines.
Definition:
CoinPresolveMatrix.hpp:133
do_tighten_action::do_tighten_action
do_tighten_action()
CoinPresolveMatrix.hpp
tighten_zero_cost
const CoinPresolveAction * tighten_zero_cost(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
do_tighten_action::presolve
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
do_tighten_action::action::rows
int * rows
Definition:
CoinPresolveTighten.hpp:24
do_tighten_action::actions_
const action *const actions_
Definition:
CoinPresolveTighten.hpp:33
do_tighten_action::action::nrows
int nrows
Definition:
CoinPresolveTighten.hpp:28
do_tighten_action
Definition:
CoinPresolveTighten.hpp:18
do_tighten_action::action::ubound
double * ubound
Definition:
CoinPresolveTighten.hpp:26
do_tighten_action::action::col
int col
Definition:
CoinPresolveTighten.hpp:27
CoinPresolveAction::next
const CoinPresolveAction * next
The next presolve transformation.
Definition:
CoinPresolveMatrix.hpp:150
Generated on Sun Feb 21 2016 03:15:09 by
1.8.7