/home/coin/SVN-release/Osi-0.102.2/CoinUtils/src/CoinPresolveUseless.hpp

Go to the documentation of this file.
00001 /* $Id: CoinPresolveUseless.hpp 1215 2009-11-05 11:03:04Z forrest $ */
00002 // Copyright (C) 2002, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 
00005 #ifndef CoinPresolveUseless_H
00006 #define CoinPresolveUseless_H
00007 #define USELESS         20
00008 
00009 class useless_constraint_action : public CoinPresolveAction {
00010   struct action {
00011     double rlo;
00012     double rup;
00013     const int *rowcols;
00014     const double *rowels;
00015     int row;
00016     int ninrow;
00017   };
00018 
00019   const int nactions_;
00020   const action *const actions_;
00021 
00022   useless_constraint_action(int nactions,
00023                             const action *actions,
00024                             const CoinPresolveAction *next);
00025 
00026  public:
00027   const char *name() const;
00028 
00029   // These rows are asserted to be useless,
00030   // that is, given a solution the row activity
00031   // must be in range.
00032   static const CoinPresolveAction *presolve(CoinPresolveMatrix * prob,
00033                                          const int *useless_rows,
00034                                          int nuseless_rows,
00035                                          const CoinPresolveAction *next);
00036 
00037   void postsolve(CoinPostsolveMatrix *prob) const;
00038 
00039   ~useless_constraint_action();
00040 
00041 };
00042 
00043 
00044 #endif

Generated on Wed Apr 7 03:06:53 2010 by  doxygen 1.4.7