- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# /home/coin/SVN-release/Vol-1.2.0/CoinUtils/src/CoinPresolveUseless.hpp

Go to the documentation of this file.

    00001 /* $Id: CoinPresolveUseless.hpp 1191 2009-07-25 08:38:12Z 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