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

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

Go to the documentation of this file.
00001 /* $Id: ClpPdcoBase.hpp 1370 2009-06-04 09:37:13Z forrest $ */
00002 // Copyright (C) 2003, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 #ifndef ClpPdcoBase_H
00005 #define ClpPdcoBase_H
00006 
00007 #include "CoinPragma.hpp"
00008 
00009 #include "CoinPackedMatrix.hpp"
00010 #include "CoinDenseVector.hpp"
00011 class ClpInterior;
00012 
00023 class ClpPdcoBase  {
00024   
00025 public:
00028   virtual void matVecMult(ClpInterior * model, int mode, double * x, double * y) const=0;
00029   
00030   virtual void getGrad(ClpInterior * model, CoinDenseVector<double> &x, CoinDenseVector<double> &grad) const=0;
00031   
00032   virtual void getHessian(ClpInterior * model, CoinDenseVector<double> &x, CoinDenseVector<double> &H) const=0;
00033   
00034   virtual double getObj(ClpInterior * model, CoinDenseVector<double> &x) const=0;
00035   
00036   virtual void matPrecon(ClpInterior * model,  double delta, double * x, double * y) const = 0;
00037   
00039 
00040 
00041 
00042   virtual ClpPdcoBase * clone() const = 0;
00044   inline int type() const
00045   { return type_;};
00047   inline void setType(int type) {type_=type;};
00049   inline int sizeD1() const
00050   { return 1;};
00052   inline double getD1() const
00053   { return d1_;};
00055   inline int sizeD2() const
00056   { return 1;};
00058   inline double getD2() const
00059   { return d2_;};
00061   
00062   
00063 protected:
00064 
00070    ClpPdcoBase();
00072 public:
00073    virtual ~ClpPdcoBase();
00074 protected:
00075   // Copy
00076    ClpPdcoBase(const ClpPdcoBase&);
00077   // Assignment
00078    ClpPdcoBase& operator=(const ClpPdcoBase&);
00080    
00081     
00082 protected:
00086 
00087   double d1_;
00088   double d2_;
00090    int type_;
00092 };
00093 
00094 #endif

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