Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

CoinPresolveDupcol.hpp

00001 // Copyright (C) 2002, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 
00004 #ifndef CoinPresolveDupcol_H
00005 #define CoinPresolveDupcol_H
00006 #define DUPCOL  10
00007 
00008 class dupcol_action : public CoinPresolveAction {
00009   struct action {
00010     double thislo;
00011     double thisup;
00012     double lastlo;
00013     double lastup;
00014     int ithis;
00015     int ilast;
00016 
00017     int *colrows;
00018     double *colels;
00019     int nincol;
00020   };
00021 
00022   const int nactions_;
00023   const action *const actions_;
00024 
00025   dupcol_action():CoinPresolveAction(NULL),nactions_(0),actions_(NULL) {};
00026   dupcol_action(int nactions,
00027                 const action *actions,
00028                 const CoinPresolveAction *next)/* :
00029     nactions_(nactions), actions_(actions),
00030     CoinPresolveAction(next) {}*/;
00031 
00032  public:
00033   const char *name() const;
00034 
00035   static const CoinPresolveAction *presolve(CoinPresolveMatrix *prob,
00036                                          const CoinPresolveAction *next);
00037 
00038   void postsolve(CoinPostsolveMatrix *prob) const;
00039 
00040   //~dupcol_action() { delete[]actions_; }
00041 };
00042 
00043 
00044 class duprow_action : public CoinPresolveAction {
00045   struct action {
00046     int row;
00047     double lbound;
00048     double ubound;
00049   };
00050 
00051   const int nactions_;
00052   const action *const actions_;
00053 
00054   duprow_action():CoinPresolveAction(NULL),nactions_(0),actions_(NULL) {};
00055   duprow_action(int nactions,
00056                       const action *actions,
00057                       const CoinPresolveAction *next) :
00058     CoinPresolveAction(next),
00059     nactions_(nactions), actions_(actions) {}
00060 
00061  public:
00062   const char *name() const;
00063 
00064   static const CoinPresolveAction *presolve(CoinPresolveMatrix *prob,
00065                                          const CoinPresolveAction *next);
00066 
00067   void postsolve(CoinPostsolveMatrix *prob) const;
00068 
00069   //~duprow_action() { delete[]actions_; }
00070 };
00071 
00072 #endif
00073 

Generated on Wed Dec 3 14:34:22 2003 for Coin by doxygen 1.3.5