• Main Page
  • Classes
  • Files
  • File List
  • File Members

/build/buildd/clp-1.11.1/Clp/src/ClpDualRowPivot.hpp

Go to the documentation of this file.
00001 /* $Id: ClpDualRowPivot.hpp 1461 2009-11-06 19:06:43Z stefan $ */
00002 // Copyright (C) 2002, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 #ifndef ClpDualRowPivot_H
00005 #define ClpDualRowPivot_H
00006 
00007 class ClpSimplex;
00008 class CoinIndexedVector;
00009 
00010 //#############################################################################
00011 
00020 class ClpDualRowPivot  {
00021   
00022 public:
00023   
00025 
00026   
00028   virtual int pivotRow() = 0;
00029   
00032   virtual double updateWeights(CoinIndexedVector * input,
00033                              CoinIndexedVector * spare,
00034                              CoinIndexedVector * spare2,
00035                              CoinIndexedVector * updatedColumn) = 0;
00036   
00043    /* FIXME: this was pure virtul (=0). Why? */
00044   virtual void updatePrimalSolution(CoinIndexedVector * input,
00045                                     double theta,
00046                                     double & changeInObjective) = 0;
00057   virtual void saveWeights(ClpSimplex * model,int mode);
00059   virtual void checkAccuracy();
00061   virtual void unrollWeights();
00063   virtual void clearArrays();
00065   virtual bool looksOptimal() const
00066   { return false;}
00068   virtual void maximumPivotsChanged() {}
00070   
00071   
00073 
00074 
00075   ClpDualRowPivot(); 
00076   
00078   ClpDualRowPivot(const ClpDualRowPivot &);
00079   
00081   ClpDualRowPivot & operator=(const ClpDualRowPivot& rhs);
00082   
00084   virtual ~ClpDualRowPivot ();
00085 
00087   virtual ClpDualRowPivot * clone(bool copyData = true) const = 0;
00088  
00090 
00092 
00093 
00094   inline ClpSimplex * model()
00095   { return model_;}
00096   
00098   inline void setModel(ClpSimplex * newmodel)
00099   { model_=newmodel;}
00100   
00102   inline int type()
00103   { return type_;}
00104   
00106 
00107   //---------------------------------------------------------------------------
00108   
00109 protected:
00111 
00112 
00113   ClpSimplex * model_;
00115   int type_;
00117 };
00118 
00119 #endif

Generated on Fri Aug 20 2010 06:29:28 by  doxygen 1.7.1