CoinUtils  2.11.9
CoinPresolveUseless.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 CoinPresolveUseless_H
7 #define CoinPresolveUseless_H
8 #define USELESS 20
9 
11  struct action {
12  double rlo;
13  double rup;
14  const int *rowcols;
15  const double *rowels;
16  int row;
17  int ninrow;
18  };
19 
20  const int nactions_;
21  const action *const actions_;
22 
23  useless_constraint_action(int nactions,
24  const action *actions,
25  const CoinPresolveAction *next);
26 
27 public:
28  const char *name() const;
29 
30  // These rows are asserted to be useless,
31  // that is, given a solution the row activity
32  // must be in range.
34  const int *useless_rows,
35  int nuseless_rows,
36  const CoinPresolveAction *next);
37 
38  void postsolve(CoinPostsolveMatrix *prob) const;
39 
41 };
42 
58  const CoinPresolveAction *next);
59 
60 #endif
61 
62 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
63 */
useless_constraint_action::action::rup
double rup
Definition: CoinPresolveUseless.hpp:13
useless_constraint_action::testRedundant
const CoinPresolveAction * testRedundant(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
Scan constraints looking for useless constraints.
useless_constraint_action::action::rowcols
const int * rowcols
Definition: CoinPresolveUseless.hpp:14
useless_constraint_action::useless_constraint_action
useless_constraint_action(int nactions, const action *actions, const CoinPresolveAction *next)
useless_constraint_action::action::rowels
const double * rowels
Definition: CoinPresolveUseless.hpp:15
useless_constraint_action::postsolve
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
useless_constraint_action::presolve
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, const int *useless_rows, int nuseless_rows, const CoinPresolveAction *next)
useless_constraint_action::actions_
const action *const actions_
Definition: CoinPresolveUseless.hpp:21
CoinPostsolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
Definition: CoinPresolveMatrix.hpp:1552
useless_constraint_action::action::row
int row
Definition: CoinPresolveUseless.hpp:16
useless_constraint_action::action::ninrow
int ninrow
Definition: CoinPresolveUseless.hpp:17
useless_constraint_action::name
const char * name() const
A name for debug printing.
CoinPresolveAction
Abstract base class of all presolve routines.
Definition: CoinPresolveMatrix.hpp:163
useless_constraint_action
Definition: CoinPresolveUseless.hpp:10
useless_constraint_action::nactions_
const int nactions_
Definition: CoinPresolveUseless.hpp:20
useless_constraint_action::action::rlo
double rlo
Definition: CoinPresolveUseless.hpp:12
useless_constraint_action::~useless_constraint_action
virtual ~useless_constraint_action()
CoinPresolveMatrix
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
Definition: CoinPresolveMatrix.hpp:905
CoinPresolveAction::next
const CoinPresolveAction * next
The next presolve transformation.
Definition: CoinPresolveMatrix.hpp:180