00001
00002
00003 #ifndef myPdco_H
00004 #define myPdco_H
00005
00006
00007 #include "CoinPragma.hpp"
00008
00009 #include "ClpPdcoBase.hpp"
00010
00016 class myPdco : public ClpPdcoBase {
00017
00018 public:
00021 virtual void matVecMult(ClpInterior * model, int mode, double * x, double * y) const;
00022
00023 virtual void getGrad(ClpInterior * model, CoinDenseVector<double> &x, CoinDenseVector<double> &grad) const;
00024
00025 virtual void getHessian(ClpInterior * model, CoinDenseVector<double> &x, CoinDenseVector<double> &H) const;
00026
00027 virtual double getObj(ClpInterior * model, CoinDenseVector<double> &x) const;
00028
00029 virtual void matPrecon(ClpInterior * model, double delta, double * x, double * y) const ;
00031
00032
00036 myPdco();
00038 myPdco(double d1,double d2,
00039 int numnodes, int numlinks);
00041 myPdco(ClpInterior & model, FILE * fpData, FILE * fpParam);
00043 virtual ~myPdco();
00045
00049 myPdco(const myPdco&);
00050
00051 myPdco& operator=(const myPdco&);
00053 virtual ClpPdcoBase * clone() const ;
00055
00056
00057 protected:
00061 int * rowIndex_;
00062 int numlinks_;
00063 int numnodes_;
00064
00066 };
00067
00068 #endif