/home/coin/SVN-release/CoinAll-1.1.0/CoinUtils/src/CoinPresolveZeros.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 CoinPresolveZeros_H
00005 #define CoinPresolveZeros_H
00006 
00012 #define DROP_ZERO       8
00013 
00020 struct dropped_zero {
00021   int row;
00022   int col;
00023 };
00024 
00030 class drop_zero_coefficients_action : public CoinPresolveAction {
00031 
00032   const int nzeros_;
00033   const dropped_zero *const zeros_;
00034 
00035   drop_zero_coefficients_action(int nzeros,
00036                                 const dropped_zero *zeros,
00037                                 const CoinPresolveAction *next) :
00038     CoinPresolveAction(next),
00039     nzeros_(nzeros), zeros_(zeros)
00040 {}
00041 
00042  public:
00043   const char *name() const { return ("drop_zero_coefficients_action"); }
00044 
00045   static const CoinPresolveAction *presolve(CoinPresolveMatrix *prob,
00046                                          int *checkcols,
00047                                          int ncheckcols,
00048                                          const CoinPresolveAction *next);
00049 
00050   void postsolve(CoinPostsolveMatrix *prob) const;
00051 
00052   ~drop_zero_coefficients_action() { deleteAction(zeros_,dropped_zero*); }
00053 };
00054 
00055 const CoinPresolveAction *drop_zero_coefficients(CoinPresolveMatrix *prob,
00056                                               const CoinPresolveAction *next);
00057 
00058 #endif

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