source: trunk/Clp/src/ClpPdco.hpp @ 1525

Last change on this file since 1525 was 1525, checked in by mjs, 10 years ago

Formatted .cpp, .hpp, .c, .h files with "astyle -A4 -p". This matches the formatting used in the grand CBC reorganization.

  • Property svn:keywords set to Id
File size: 1.6 KB
Line 
1/* $Id: ClpPdco.hpp 1525 2010-02-26 17:27:59Z mjs $ */
2// Copyright (C) 2003, International Business Machines
3// Corporation and others.  All Rights Reserved.
4
5/*
6   Authors
7
8   John Tomlin
9
10 */
11#ifndef ClpPdco_H
12#define ClpPdco_H
13
14#include "ClpInterior.hpp"
15
16/** This solves problems in Primal Dual Convex Optimization
17
18    It inherits from ClpInterior.  It has no data of its own and
19    is never created - only cast from a ClpInterior object at algorithm time.
20
21*/
22class ClpPdco : public ClpInterior {
23
24public:
25
26     /**@name Description of algorithm */
27     //@{
28     /** Pdco algorithm
29
30         Method
31
32
33     */
34
35     int pdco();
36     // ** Temporary version
37     int  pdco( ClpPdcoBase * stuff, Options &options, Info &info, Outfo &outfo);
38
39     //@}
40
41     /**@name Functions used in pdco */
42     //@{
43     /// LSQR
44     void lsqr();
45
46     void matVecMult( int, double *, double *);
47
48     void matVecMult( int, CoinDenseVector<double> &, double *);
49
50     void matVecMult( int, CoinDenseVector<double> &, CoinDenseVector<double> &);
51
52     void matVecMult( int, CoinDenseVector<double> *, CoinDenseVector<double> *);
53
54     void getBoundTypes( int *, int *, int *, int**);
55
56     void getGrad(CoinDenseVector<double> &x, CoinDenseVector<double> &grad);
57
58     void getHessian(CoinDenseVector<double> &x, CoinDenseVector<double> &H);
59
60     double getObj(CoinDenseVector<double> &x);
61
62     void matPrecon( double, double *, double *);
63
64     void matPrecon( double, CoinDenseVector<double> &, double *);
65
66     void matPrecon( double, CoinDenseVector<double> &, CoinDenseVector<double> &);
67
68     void matPrecon( double, CoinDenseVector<double> *, CoinDenseVector<double> *);
69     //@}
70
71};
72#endif
Note: See TracBrowser for help on using the repository browser.