CoinUtils
trunk
|
00001 /* $Id$ */ 00002 // Copyright (C) 2002, 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 CoinPresolveImpliedFree_H 00007 #define CoinPresolveInpliedFree_H 00008 00013 #define IMPLIED_FREE 9 00014 00029 class implied_free_action : public CoinPresolveAction { 00030 struct action { 00031 int row, col; 00032 double clo, cup; 00033 double rlo, rup; 00034 const double *rowels; 00035 const double *costs; 00036 int ninrow; 00037 }; 00038 00039 const int nactions_; 00040 const action *const actions_; 00041 00042 implied_free_action(int nactions, 00043 const action *actions, 00044 const CoinPresolveAction *next) : 00045 CoinPresolveAction(next), 00046 nactions_(nactions), actions_(actions) {} 00047 00048 public: 00049 const char *name() const; 00050 00051 static const CoinPresolveAction *presolve(CoinPresolveMatrix * prob, 00052 const CoinPresolveAction *next, 00053 int & fillLevel); 00054 00055 void postsolve(CoinPostsolveMatrix *prob) const; 00056 00057 virtual ~implied_free_action(); 00058 }; 00059 00060 #endif