CoinUtils  trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
CoinPresolveTripleton.hpp
Go to the documentation of this file.
00001 /* $Id$ */
00002 // Copyright (C) 2003, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 // This code is licensed under the terms of the Eclipse Public License (EPL).
00005 
00006 #ifndef CoinPresolveTripleton_H
00007 #define CoinPresolveTripleton_H
00008 #define TRIPLETON 11
00009 
00015 class tripleton_action : public CoinPresolveAction {
00016  public:
00017   struct action {
00018     int icolx;
00019     int icolz;
00020     int row;
00021 
00022     int icoly;
00023     double cloy;
00024     double cupy;
00025     double costy;
00026     double clox;
00027     double cupx;
00028     double costx;
00029 
00030     double rlo;
00031     double rup;
00032 
00033     double coeffx;
00034     double coeffy;
00035     double coeffz;
00036 
00037     double *colel;
00038 
00039     int ncolx;
00040     int ncoly;
00041   };
00042 
00043   const int nactions_;
00044   const action *const actions_;
00045 
00046  private:
00047   tripleton_action(int nactions,
00048                       const action *actions,
00049                       const CoinPresolveAction *next) :
00050     CoinPresolveAction(next),
00051     nactions_(nactions), actions_(actions)
00052 {}
00053 
00054  public:
00055   const char *name() const { return ("tripleton_action"); }
00056 
00057   static const CoinPresolveAction *presolve(CoinPresolveMatrix *,
00058                                          const CoinPresolveAction *next);
00059   
00060   void postsolve(CoinPostsolveMatrix *prob) const;
00061 
00062   virtual ~tripleton_action();
00063 };
00064 #endif
00065 
00066 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines