/home/coin/SVN-release/CoinAll-1.1.0/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

Generated on Sun Nov 14 14:06:32 2010 for Coin-All by  doxygen 1.4.7