ROL
ROL_TypeP_iPianoAlgorithm.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Rapid Optimization Library (ROL) Package
4 //
5 // Copyright 2014 NTESS and the ROL contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef ROL_TYPEP_IPIANOALGORITHM_HPP
11 #define ROL_TYPEP_IPIANOALGORITHM_HPP
12 
13 #include "ROL_TypeP_Algorithm.hpp"
14 
19 namespace ROL {
20 namespace TypeP {
21 
22 template<typename Real>
23 class iPianoAlgorithm : public TypeP::Algorithm<Real> {
24 private:
25  int maxit_;
30 
34 
35  void initialize(Vector<Real> &x,
36  const Vector<Real> &g,
37  Objective<Real> &sobj,
38  Objective<Real> &nobj,
39  Vector<Real> &px,
40  Vector<Real> &dg,
41  std::ostream &outStream = std::cout);
42 public:
43 
44  iPianoAlgorithm(ParameterList &list);
45 
47  void run( Vector<Real> &x,
48  const Vector<Real> &g,
49  Objective<Real> &sobj,
50  Objective<Real> &nobj,
51  std::ostream &outStream = std::cout) override;
52 
53  void writeHeader( std::ostream& os ) const override;
54 
55  void writeName( std::ostream& os ) const override;
56 
57  void writeOutput( std::ostream& os, bool write_header = false ) const override;
58 
59 }; // class ROL::TypeP::iPianoAlgorithm
60 
61 } // namespace TypeP
62 } // namespace ROL
63 
65 
66 #endif
Provides the interface to evaluate objective functions.
void initialize(Vector< Real > &x, const Vector< Real > &g, Objective< Real > &sobj, Objective< Real > &nobj, Vector< Real > &px, Vector< Real > &dg, std::ostream &outStream=std::cout)
void writeName(std::ostream &os) const override
Print step name.
Defines the linear algebra or vector space interface.
Definition: ROL_Vector.hpp:46
void writeOutput(std::ostream &os, bool write_header=false) const override
Print iterate status.
void run(Vector< Real > &x, const Vector< Real > &g, Objective< Real > &sobj, Objective< Real > &nobj, std::ostream &outStream=std::cout) override
Run algorithm on unconstrained problems (Type-U). This general interface supports the use of dual opt...
Provides an interface to run optimization algorithms to minimize composite optimization problems f+ph...
void writeHeader(std::ostream &os) const override
Print iterate header.
Provides an interface to run the proximal gradient algorithm.