Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CoinPresolveDoubleton.hpp
Go to the documentation of this file.
1 /* $Id: CoinPresolveDoubleton.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 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), actions_(actions)
59 {}
60 
61  public:
62  const char *name() const { return ("doubleton_action"); }
63 
65  const CoinPresolveAction *next);
66 
67  void postsolve(CoinPostsolveMatrix *prob) const;
68 
69  virtual ~doubleton_action();
70 };
71 #endif
72 
73 
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
Abstract base class of all presolve routines.
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.
const CoinPresolveAction * next
The next presolve transformation.
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...
doubleton_action(int nactions, const action *actions, const CoinPresolveAction *next)
virtual ~doubleton_action()