00001
00002
00003
00004
00005
00006 #ifndef myPdco_H
00007 #define myPdco_H
00008
00009
00010 #include "CoinPragma.hpp"
00011
00012 #include "ClpPdcoBase.hpp"
00013
00019 class myPdco : public ClpPdcoBase {
00020
00021 public:
00024 virtual void matVecMult(ClpInterior * model, int mode, double * x, double * y) const;
00025
00026 virtual void getGrad(ClpInterior * model, CoinDenseVector<double> &x, CoinDenseVector<double> &grad) const;
00027
00028 virtual void getHessian(ClpInterior * model, CoinDenseVector<double> &x, CoinDenseVector<double> &H) const;
00029
00030 virtual double getObj(ClpInterior * model, CoinDenseVector<double> &x) const;
00031
00032 virtual void matPrecon(ClpInterior * model, double delta, double * x, double * y) const ;
00034
00035
00039 myPdco();
00041 myPdco(double d1, double d2,
00042 int numnodes, int numlinks);
00044 myPdco(ClpInterior & model, FILE * fpData, FILE * fpParam);
00046 virtual ~myPdco();
00048
00052 myPdco(const myPdco&);
00053
00054 myPdco& operator=(const myPdco&);
00056 virtual ClpPdcoBase * clone() const ;
00058
00059
00060 protected:
00064 int * rowIndex_;
00065 int numlinks_;
00066 int numnodes_;
00067
00069 };
00070
00071 #endif