Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

CoinPresolveUseless.hpp

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

Generated on Wed Dec 3 14:34:23 2003 for Coin by doxygen 1.3.5