/home/coin/SVN-release/CoinAll-1.1.0/Clp/src/ClpPrimalColumnPivot.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2002, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 #ifndef ClpPrimalcolumnPivot_H
00004 #define ClpPrimalcolumnPivot_H
00005 
00006 class ClpSimplex;
00007 class CoinIndexedVector;
00008 
00009 //#############################################################################
00010 
00022 class ClpPrimalColumnPivot  {
00023   
00024 public:
00025   
00027 
00028   
00047   virtual int pivotColumn(CoinIndexedVector * updates,
00048                           CoinIndexedVector * spareRow1,
00049                           CoinIndexedVector * spareRow2,
00050                           CoinIndexedVector * spareColumn1,
00051                           CoinIndexedVector * spareColumn2) = 0;
00052   
00054   virtual void updateWeights(CoinIndexedVector * input);
00055   
00067   virtual void saveWeights(ClpSimplex * model,int mode)=0;
00073   virtual int pivotRow(double & way)
00074   {way=0;return -2;}
00076   virtual void clearArrays();
00078   virtual bool looksOptimal() const
00079   { return looksOptimal_;}
00081   virtual void setLooksOptimal(bool flag)
00082   { looksOptimal_ = flag;}
00084   
00085   
00087 
00088 
00089   ClpPrimalColumnPivot(); 
00090   
00092   ClpPrimalColumnPivot(const ClpPrimalColumnPivot &);
00093   
00095   ClpPrimalColumnPivot & operator=(const ClpPrimalColumnPivot& rhs);
00096   
00098   virtual ~ClpPrimalColumnPivot ();
00099 
00101   virtual ClpPrimalColumnPivot * clone(bool copyData = true) const = 0;
00102  
00104 
00106 
00107 
00108   inline ClpSimplex * model()
00109   { return model_;}
00110   
00112   inline int type()
00113   { return type_;}
00114 
00118   virtual int numberSprintColumns(int & numberIterations) const;
00120   virtual void switchOffSprint();
00122   virtual void maximumPivotsChanged() {}
00123   
00125 
00126   //---------------------------------------------------------------------------
00127   
00128 protected:
00130 
00131 
00132   ClpSimplex * model_;
00134   int type_;
00136   bool looksOptimal_;
00138 };
00139 
00140 #endif

Generated on Sun Nov 14 14:06:32 2010 for Coin-All by  doxygen 1.4.7