CoinUtils
trunk
|
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