CoinUtils 2.11.4
Loading...
Searching...
No Matches
CoinPresolveTighten.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 CoinPresolveTighten_H
7#define CoinPresolveTighten_H
8
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.
15 const CoinPresolveAction *next);
16
17#define DO_TIGHTEN 30
18
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,
40 , nactions_(nactions)
41 , actions_(actions)
42 {
43 }
44
45public:
46 const char *name() const;
47
50
51 void postsolve(CoinPostsolveMatrix *prob) const;
52
54};
55#endif
56
57/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
58*/
Declarations for CoinPresolveMatrix and CoinPostsolveMatrix and their common base class CoinPrePostso...
const CoinPresolveAction * tighten_zero_cost(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
Abstract base class of all presolve routines.
const CoinPresolveAction * next
The next presolve transformation.
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
const action *const actions_
do_tighten_action(const do_tighten_action &rhs)
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
do_tighten_action & operator=(const do_tighten_action &rhs)
virtual ~do_tighten_action()
const char * name() const
A name for debug printing.
do_tighten_action(int nactions, const action *actions, const CoinPresolveAction *next)