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

- File List
- File Members

# /home/coin/SVN-release/CoinUtils-2.6.1/CoinUtils/src/CoinPresolveForcing.hpp

Go to the documentation of this file.

    00001 /* $Id: CoinPresolveForcing.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 CoinPresolveForcing_H
    00006 #define CoinPresolveForcing_H
    00007
    00008 #include "CoinPresolveMatrix.hpp"
    00009
    00014 #define IMPLIED_BOUND   7
    00015
    00026 class forcing_constraint_action : public CoinPresolveAction {
    00027   forcing_constraint_action();
    00028   forcing_constraint_action(const forcing_constraint_action& rhs);
    00029   forcing_constraint_action& operator=(const forcing_constraint_action& rhs);
    00030 public:
    00031   struct action {
    00032     const int *rowcols;
    00033     const double *bounds;
    00034     int row;
    00035     int nlo;
    00036     int nup;
    00037   };
    00038 private:
    00039   const int nactions_;
    00040   // actions_ is owned by the class and must be deleted at destruction
    00041   const action *const actions_;
    00042
    00043 public:
    00044   forcing_constraint_action(int nactions,
    00045                       const action *actions,
    00046                       const CoinPresolveAction *next) :
    00047     CoinPresolveAction(next),
    00048     nactions_(nactions), actions_(actions) {}
    00049
    00050   const char *name() const;
    00051
    00052   static const CoinPresolveAction *presolve(CoinPresolveMatrix * prob,
    00053                                          const CoinPresolveAction *next);
    00054
    00055   void postsolve(CoinPostsolveMatrix *prob) const;
    00056
    00057   ~forcing_constraint_action();
    00058 };
    00059
    00060 #endif