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

- File List
- File Members

# /home/coin/svn-release/Alps-1.4.6/CoinUtils/src/CoinPresolveDoubleton.hpp

Go to the documentation of this file.

    00001 /* $Id: CoinPresolveDoubleton.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 CoinPresolveDoubleton_H
    00007 #define CoinPresolveDoubleton_H
    00008
    00009 #define DOUBLETON       5
    00010
    00026 class doubleton_action : public CoinPresolveAction {
    00027  public:
    00028   struct action {
    00029
    00030     double clox;
    00031     double cupx;
    00032     double costx;
    00033
    00034     double costy;
    00035
    00036     double rlo;
    00037
    00038     double coeffx;
    00039     double coeffy;
    00040
    00041     double *colel;
    00042
    00043     int icolx;
    00044     int icoly;
    00045     int row;
    00046     int ncolx;
    00047     int ncoly;
    00048   };
    00049
    00050   const int nactions_;
    00051   const action *const actions_;
    00052
    00053  private:
    00054   doubleton_action(int nactions,
    00055                       const action *actions,
    00056                       const CoinPresolveAction *next) :
    00057     CoinPresolveAction(next),
    00058     nactions_(nactions), actions_(actions)
    00059 {}
    00060
    00061  public:
    00062   const char *name() const { return ("doubleton_action"); }
    00063
    00064   static const CoinPresolveAction *presolve(CoinPresolveMatrix *,
    00065                                          const CoinPresolveAction *next);
    00066
    00067   void postsolve(CoinPostsolveMatrix *prob) const;
    00068
    00069   virtual ~doubleton_action();
    00070 };
    00071 #endif
    00072
    00073