Clp trunk
|
00001 /* $Id$ */ 00002 // Copyright (C) 2003, International Business Machines 00003 // Corporation and others. All Rights Reserved. 00004 // This code is licensed under the terms of the Eclipse Public License (EPL). 00005 /* 00006 Authors 00007 00008 John Tomlin 00009 00010 */ 00011 #ifndef ClpPdco_H 00012 #define ClpPdco_H 00013 00014 #include "ClpInterior.hpp" 00015 00022 class ClpPdco : public ClpInterior { 00023 00024 public: 00025 00035 int pdco(); 00036 // ** Temporary version 00037 int pdco( ClpPdcoBase * stuff, Options &options, Info &info, Outfo &outfo); 00038 00040 00043 00044 void lsqr(); 00045 00046 void matVecMult( int, double *, double *); 00047 00048 void matVecMult( int, CoinDenseVector<double> &, double *); 00049 00050 void matVecMult( int, CoinDenseVector<double> &, CoinDenseVector<double> &); 00051 00052 void matVecMult( int, CoinDenseVector<double> *, CoinDenseVector<double> *); 00053 00054 void getBoundTypes( int *, int *, int *, int**); 00055 00056 void getGrad(CoinDenseVector<double> &x, CoinDenseVector<double> &grad); 00057 00058 void getHessian(CoinDenseVector<double> &x, CoinDenseVector<double> &H); 00059 00060 double getObj(CoinDenseVector<double> &x); 00061 00062 void matPrecon( double, double *, double *); 00063 00064 void matPrecon( double, CoinDenseVector<double> &, double *); 00065 00066 void matPrecon( double, CoinDenseVector<double> &, CoinDenseVector<double> &); 00067 00068 void matPrecon( double, CoinDenseVector<double> *, CoinDenseVector<double> *); 00070 00071 }; 00072 #endif