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

- File List
- File Members

# /home/coin/svn-release/Alps-1.4.8/CoinUtils/src/CoinPresolveForcing.hpp

Go to the documentation of this file.

    00001 /* $Id: CoinPresolveForcing.hpp 1498 2011-11-02 15:25:35Z mjs $ */
    00002 // Copyright (C) 2002, International Business Machines
    00003 // Corporation and others.  All Rights Reserved.
    00004 // This code is licensed under the terms of the Eclipse Public License (EPL).
    00005
    00006 #ifndef CoinPresolveForcing_H
    00007 #define CoinPresolveForcing_H
    00008
    00009 #include "CoinPresolveMatrix.hpp"
    00010
    00015 #define IMPLIED_BOUND   7
    00016
    00027 class forcing_constraint_action : public CoinPresolveAction {
    00028   forcing_constraint_action();
    00029   forcing_constraint_action(const forcing_constraint_action& rhs);
    00030   forcing_constraint_action& operator=(const forcing_constraint_action& rhs);
    00031 public:
    00032   struct action {
    00033     const int *rowcols;
    00034     const double *bounds;
    00035     int row;
    00036     int nlo;
    00037     int nup;
    00038   };
    00039 private:
    00040   const int nactions_;
    00041   // actions_ is owned by the class and must be deleted at destruction
    00042   const action *const actions_;
    00043
    00044 public:
    00045   forcing_constraint_action(int nactions,
    00046                       const action *actions,
    00047                       const CoinPresolveAction *next) :
    00048     CoinPresolveAction(next),
    00049     nactions_(nactions), actions_(actions) {}
    00050
    00051   const char *name() const;
    00052
    00053   static const CoinPresolveAction *presolve(CoinPresolveMatrix * prob,
    00054                                          const CoinPresolveAction *next);
    00055
    00056   void postsolve(CoinPostsolveMatrix *prob) const;
    00057
    00058   virtual ~forcing_constraint_action();
    00059 };
    00060
    00061 #endif