CoinPresolveTripleton.hpp
Go to the documentation of this file.
1 /* $Id: CoinPresolveTripleton.hpp 1215 2009-11-05 11:03:04Z forrest $ */
2 // Copyright (C) 2003, International Business Machines
3 // Corporation and others. All Rights Reserved.
4 
5 #ifndef CoinPresolveTripleton_H
6 #define CoinPresolveTripleton_H
7 #define TRIPLETON 11
8 
14  public:
15  struct action {
16  int icolx;
17  int icolz;
18  int row;
19 
20  int icoly;
21  double cloy;
22  double cupy;
23  double costy;
24  double clox;
25  double cupx;
26  double costx;
27 
28  double rlo;
29  double rup;
30 
31  double coeffx;
32  double coeffy;
33  double coeffz;
34 
35  double *colel;
36 
37  int ncolx;
38  int ncoly;
39  };
40 
41  const int nactions_;
42  const action *const actions_;
43 
44  private:
45  tripleton_action(int nactions,
46  const action *actions,
47  const CoinPresolveAction *next) :
48  CoinPresolveAction(next),
49  nactions_(nactions), actions_(actions)
50 {}
51 
52  public:
53  const char *name() const { return ("tripleton_action"); }
54 
56  const CoinPresolveAction *next);
57 
58  void postsolve(CoinPostsolveMatrix *prob) const;
59 
61 };
62 #endif
63 
64 
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
const char * name() const
A name for debug printing.
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
static const CoinPresolveAction * presolve(CoinPresolveMatrix *, const CoinPresolveAction *next)
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
const action *const actions_
tripleton_action(int nactions, const action *actions, const CoinPresolveAction *next)
Abstract base class of all presolve routines.
const CoinPresolveAction * next
The next presolve transformation.
We are only going to do this if it does not increase number of elements?.