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

CoinPresolveSubst.hpp

00001 // Copyright (C) 2002, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 
00004 #ifndef CoinPresolveSubst_H
00005 #define CoinPresolveSubst_H
00006 #define SUBST_ROW       21
00007 
00008 
00009 class subst_constraint_action : public CoinPresolveAction {
00010 public:
00011   struct action {
00012     double *rlos;
00013     double *rups;
00014 
00015     double *coeffxs;
00016     int *rows;
00017     
00018     int *ninrowxs;
00019     /*const*/ int *rowcolsxs;
00020     /*const*/ double *rowelsxs;
00021 
00022     const double *costsx;
00023     int col;
00024     int rowx;
00025     int rowy;
00026 
00027     int nincol;
00028   };
00029 
00030   const int nactions_;
00031   const action *const actions_;
00032 
00033   subst_constraint_action(int nactions,
00034                           action *actions,
00035                       const CoinPresolveAction *next) :
00036     CoinPresolveAction(next),
00037     nactions_(nactions), actions_(actions) {};
00038 
00039  public:
00040   const char *name() const;
00041 
00042   static const CoinPresolveAction *presolve(CoinPresolveMatrix * prob,
00043                                          int *implied_free,
00044                                          const CoinPresolveAction *next,
00045                                         int & fill_level);
00046   static const CoinPresolveAction *presolveX(CoinPresolveMatrix * prob,
00047                                   const CoinPresolveAction *next,
00048                                   int fillLevel);
00049 
00050   void postsolve(CoinPostsolveMatrix *prob) const;
00051 
00052   ~subst_constraint_action();
00053 };
00054 
00055 
00056 
00057 
00058 
00059 /*static*/ void implied_bounds(const double *els,
00060                            const double *clo, const double *cup,
00061                            const int *hcol,
00062                            CoinBigIndex krs, CoinBigIndex kre,
00063                            double *maxupp, double *maxdownp,
00064                            int jcol,
00065                            double rlo, double rup,
00066                            double *iclb, double *icub);
00067 #endif

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