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

- File List
- File Members

# /home/coin/SVN-release/Osi-0.98.1/Clp/src/ClpDualRowPivot.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2002, International Business Machines
    00002 // Corporation and others.  All Rights Reserved.
    00003 #ifndef ClpDualRowPivot_H
    00004 #define ClpDualRowPivot_H
    00005
    00006 class ClpSimplex;
    00007 class CoinIndexedVector;
    00008
    00009 //#############################################################################
    00010
    00019 class ClpDualRowPivot  {
    00020
    00021 public:
    00022
    00024
    00025
    00027   virtual int pivotRow() = 0;
    00028
    00030   virtual double updateWeights(CoinIndexedVector * input,
    00031                              CoinIndexedVector * spare,
    00032                              CoinIndexedVector * updatedColumn) = 0;
    00033
    00040    /* FIXME: this was pure virtul (=0). Why? */
    00041   virtual void updatePrimalSolution(CoinIndexedVector * input,
    00042                                     double theta,
    00043                                     double & changeInObjective) = 0;
    00054   virtual void saveWeights(ClpSimplex * model,int mode);
    00056   virtual void checkAccuracy();
    00058   virtual void unrollWeights();
    00060   virtual void clearArrays();
    00062   virtual bool looksOptimal() const
    00063   { return false;}
    00065   virtual void maximumPivotsChanged() {}
    00067
    00068
    00070
    00071
    00072   ClpDualRowPivot();
    00073
    00075   ClpDualRowPivot(const ClpDualRowPivot &);
    00076
    00078   ClpDualRowPivot & operator=(const ClpDualRowPivot& rhs);
    00079
    00081   virtual ~ClpDualRowPivot ();
    00082
    00084   virtual ClpDualRowPivot * clone(bool copyData = true) const = 0;
    00085
    00087
    00089
    00090
    00091   inline ClpSimplex * model()
    00092   { return model_;}
    00093
    00095   inline int type()
    00096   { return type_;}
    00097
    00099
    00100   //---------------------------------------------------------------------------
    00101
    00102 protected:
    00104
    00105
    00106   ClpSimplex * model_;
    00108   int type_;
    00110 };
    00111
    00112 #endif