/home/coin/SVN-release/Bcp-1.2.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   
00031   virtual double updateWeights(CoinIndexedVector * input,
00032                              CoinIndexedVector * spare,
00033                              CoinIndexedVector * spare2,
00034                              CoinIndexedVector * updatedColumn) = 0;
00035   
00042    /* FIXME: this was pure virtul (=0). Why? */
00043   virtual void updatePrimalSolution(CoinIndexedVector * input,
00044                                     double theta,
00045                                     double & changeInObjective) = 0;
00056   virtual void saveWeights(ClpSimplex * model,int mode);
00058   virtual void checkAccuracy();
00060   virtual void unrollWeights();
00062   virtual void clearArrays();
00064   virtual bool looksOptimal() const
00065   { return false;}
00067   virtual void maximumPivotsChanged() {}
00069   
00070   
00072 
00073 
00074   ClpDualRowPivot(); 
00075   
00077   ClpDualRowPivot(const ClpDualRowPivot &);
00078   
00080   ClpDualRowPivot & operator=(const ClpDualRowPivot& rhs);
00081   
00083   virtual ~ClpDualRowPivot ();
00084 
00086   virtual ClpDualRowPivot * clone(bool copyData = true) const = 0;
00087  
00089 
00091 
00092 
00093   inline ClpSimplex * model()
00094   { return model_;}
00095   
00097   inline void setModel(ClpSimplex * model)
00098   { model_=model;}
00099   
00101   inline int type()
00102   { return type_;}
00103   
00105 
00106   //---------------------------------------------------------------------------
00107   
00108 protected:
00110 
00111 
00112   ClpSimplex * model_;
00114   int type_;
00116 };
00117 
00118 #endif

Generated on Thu Jan 15 03:01:00 2009 for coin-Bcp by  doxygen 1.4.7