coin-Bcp
CoinPresolveDoubleton.hpp
Go to the documentation of this file.
1 /* $Id: CoinPresolveDoubleton.hpp 2083 2019-01-06 19:38:09Z unxusr $ */
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 CoinPresolveDoubleton_H
7 #define CoinPresolveDoubleton_H
8 
9 #define DOUBLETON 5
10 
27 public:
28  struct action {
29 
30  double clox;
31  double cupx;
32  double costx;
33 
34  double costy;
35 
36  double rlo;
37 
38  double coeffx;
39  double coeffy;
40 
41  double *colel;
42 
43  int icolx;
44  int icoly;
45  int row;
46  int ncolx;
47  int ncoly;
48  };
49 
50  const int nactions_;
51  const action *const actions_;
52 
53 private:
54  doubleton_action(int nactions,
55  const action *actions,
56  const CoinPresolveAction *next)
57  : CoinPresolveAction(next)
58  , nactions_(nactions)
59  , actions_(actions)
60  {
61  }
62 
63 public:
64  const char *name() const { return ("doubleton_action"); }
65 
67  const CoinPresolveAction *next);
68 
69  void postsolve(CoinPostsolveMatrix *prob) const;
70 
71  virtual ~doubleton_action();
72 };
73 #endif
74 
75 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
76 */
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
const char * name() const
A name for debug printing.
const action *const actions_
static const CoinPresolveAction * presolve(CoinPresolveMatrix *, const CoinPresolveAction *next)
Solve ax+by=c for y and substitute y out of the problem.
Abstract base class of all presolve routines.
doubleton_action(int nactions, const action *actions, const CoinPresolveAction *next)
virtual ~doubleton_action()
const CoinPresolveAction * next
The next presolve transformation.