/build/buildd/clp-1.12.0/Clp/examples/myPdco.hpp
Go to the documentation of this file.
00001 /* $Id: myPdco.hpp 1552 2010-05-25 01:03:59Z mjs $ */
00002 // Copyright (C) 2003, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 #ifndef myPdco_H
00005 #define myPdco_H
00006 
00007 
00008 #include "CoinPragma.hpp"
00009 
00010 #include "ClpPdcoBase.hpp"
00011 
00017 class myPdco : public ClpPdcoBase {
00018 
00019 public:
00022      virtual void matVecMult(ClpInterior * model, int mode, double * x, double * y) const;
00023 
00024      virtual void getGrad(ClpInterior * model, CoinDenseVector<double> &x, CoinDenseVector<double> &grad) const;
00025 
00026      virtual void getHessian(ClpInterior * model, CoinDenseVector<double> &x, CoinDenseVector<double> &H) const;
00027 
00028      virtual double getObj(ClpInterior * model, CoinDenseVector<double> &x) const;
00029 
00030      virtual void matPrecon(ClpInterior * model,  double delta, double * x, double * y) const ;
00032 
00033 
00037      myPdco();
00039      myPdco(double d1, double d2,
00040             int numnodes, int numlinks);
00042      myPdco(ClpInterior & model, FILE * fpData, FILE * fpParam);
00044      virtual ~myPdco();
00046 
00050      myPdco(const myPdco&);
00051 
00052      myPdco& operator=(const myPdco&);
00054      virtual ClpPdcoBase * clone() const ;
00056 
00057 
00058 protected:
00062      int * rowIndex_;
00063      int numlinks_;
00064      int numnodes_;
00065 
00067 };
00068 
00069 #endif