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

- File List
- File Members

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

Go to the documentation of this file.

    00001 // Copyright (C) 2002, International Business Machines
    00002 // Corporation and others.  All Rights Reserved.
    00003
    00004 #ifndef CoinPresolveForcing_H
    00005 #define CoinPresolveForcing_H
    00006
    00007 #include "CoinPresolveMatrix.hpp"
    00008
    00013 #define IMPLIED_BOUND   7
    00014
    00025 class forcing_constraint_action : public CoinPresolveAction {
    00026   forcing_constraint_action();
    00027   forcing_constraint_action(const forcing_constraint_action& rhs);
    00028   forcing_constraint_action& operator=(const forcing_constraint_action& rhs);
    00029
    00030   struct action {
    00031     const int *rowcols;
    00032     const double *bounds;
    00033     int row;
    00034     int nlo;
    00035     int nup;
    00036   };
    00037
    00038   const int nactions_;
    00039   // actions_ is owned by the class and must be deleted at destruction
    00040   const action *const actions_;
    00041
    00042   forcing_constraint_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
    00054   void postsolve(CoinPostsolveMatrix *prob) const;
    00055
    00056   ~forcing_constraint_action();
    00057 };
    00058
    00059 #endif