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

Last change on this file since 2385 was 2385, checked in by unxusr, 4 months ago

formatting

  • Property svn:keywords set to Id
File size: 1.7 KB
Line 
1/* $Id: ClpPdco.hpp 2385 2019-01-06 19:43:06Z unxusr $ */
2// Copyright (C) 2003, International Business Machines
3// Corporation and others.  All Rights Reserved.
4// This code is licensed under the terms of the Eclipse Public License (EPL).
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  /**@name Description of algorithm */
26  //@{
27  /** Pdco algorithm
28
29         Method
30
31
32     */
33
34  int pdco();
35  // ** Temporary version
36  int pdco(ClpPdcoBase *stuff, Options &options, Info &info, Outfo &outfo);
37
38  //@}
39
40  /**@name Functions used in pdco */
41  //@{
42  /// LSQR
43  void lsqr();
44
45  void matVecMult(int, double *, double *);
46
47  void matVecMult(int, CoinDenseVector< double > &, double *);
48
49  void matVecMult(int, CoinDenseVector< double > &, CoinDenseVector< double > &);
50
51  void matVecMult(int, CoinDenseVector< double > *, CoinDenseVector< double > *);
52
53  void getBoundTypes(int *, int *, int *, int **);
54
55  void getGrad(CoinDenseVector< double > &x, CoinDenseVector< double > &grad);
56
57  void getHessian(CoinDenseVector< double > &x, CoinDenseVector< double > &H);
58
59  double getObj(CoinDenseVector< double > &x);
60
61  void matPrecon(double, double *, double *);
62
63  void matPrecon(double, CoinDenseVector< double > &, double *);
64
65  void matPrecon(double, CoinDenseVector< double > &, CoinDenseVector< double > &);
66
67  void matPrecon(double, CoinDenseVector< double > *, CoinDenseVector< double > *);
68  //@}
69};
70#endif
71
72/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
73*/
Note: See TracBrowser for help on using the repository browser.