ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
algorithm
TypeB
ROL_TypeB_SpectralGradientAlgorithm.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_TYPEB_SPECTRALGRADIENTALGORITHM_HPP
11
#define ROL_TYPEB_SPECTRALGRADIENTALGORITHM_HPP
12
13
#include "
ROL_TypeB_Algorithm.hpp
"
14
18
19
namespace
ROL
{
20
namespace
TypeB
{
21
22
template
<
typename
Real>
23
class
SpectralGradientAlgorithm
:
public
TypeB::Algorithm
<Real> {
24
private
:
25
int
maxit_
,
maxSize_
;
26
Real
lambda_
,
lambdaMin_
,
lambdaMax_
,
sigma1_
,
sigma2_
,
rhodec_
,
gamma_
;
27
int
verbosity_
;
28
bool
writeHeader_
;
29
30
using
TypeB::Algorithm
<Real>
::status_
;
31
using
TypeB::Algorithm
<Real>
::state_
;
32
using
TypeB::Algorithm
<Real>
::proj_
;
33
34
void
initialize
(
Vector<Real>
&x,
35
const
Vector<Real>
&g,
36
Objective<Real>
&obj,
37
BoundConstraint<Real>
&bnd,
38
std::ostream &outStream = std::cout);
39
40
public
:
41
42
SpectralGradientAlgorithm
(ParameterList &list);
43
44
using
TypeB::Algorithm
<Real>
::run
;
45
void
run
(
Vector<Real>
&x,
46
const
Vector<Real>
&g,
47
Objective<Real>
&obj,
48
BoundConstraint<Real>
&bnd,
49
std::ostream &outStream = std::cout)
override
;
50
51
void
writeHeader
( std::ostream& os )
const override
;
52
53
void
writeName
( std::ostream &os )
const override
;
54
55
void
writeOutput
( std::ostream &os,
const
bool
write_header =
false
)
const override
;
56
57
};
// class ROL::TypeB::SpectralGradientAlgorithm
58
59
}
// namespace TypeB
60
}
// namespace ROL
61
62
#include "
ROL_TypeB_SpectralGradientAlgorithm_Def.hpp
"
63
64
#endif
ROL_TypeB_Algorithm.hpp
ROL_TypeB_SpectralGradientAlgorithm_Def.hpp
ROL::BoundConstraint
Provides the interface to apply upper and lower bound constraints.
Definition
ROL_BoundConstraint.hpp:39
ROL::Objective
Provides the interface to evaluate objective functions.
Definition
ROL_Objective.hpp:44
ROL::TypeB::Algorithm
Provides an interface to run bound constrained optimization algorithms.
Definition
ROL_TypeB_Algorithm.hpp:50
ROL::TypeB::Algorithm::proj_
Ptr< PolyhedralProjection< Real > > proj_
Definition
ROL_TypeB_Algorithm.hpp:54
ROL::TypeB::Algorithm::state_
const Ptr< AlgorithmState< Real > > state_
Definition
ROL_TypeB_Algorithm.hpp:53
ROL::TypeB::Algorithm::status_
const Ptr< CombinedStatusTest< Real > > status_
Definition
ROL_TypeB_Algorithm.hpp:52
ROL::TypeB::SpectralGradientAlgorithm::writeHeader
void writeHeader(std::ostream &os) const override
Print iterate header.
Definition
ROL_TypeB_SpectralGradientAlgorithm_Def.hpp:178
ROL::TypeB::SpectralGradientAlgorithm::verbosity_
int verbosity_
Definition
ROL_TypeB_SpectralGradientAlgorithm.hpp:27
ROL::TypeB::SpectralGradientAlgorithm::SpectralGradientAlgorithm
SpectralGradientAlgorithm(ParameterList &list)
Definition
ROL_TypeB_SpectralGradientAlgorithm_Def.hpp:19
ROL::TypeB::SpectralGradientAlgorithm::maxit_
int maxit_
Definition
ROL_TypeB_SpectralGradientAlgorithm.hpp:25
ROL::TypeB::SpectralGradientAlgorithm::initialize
void initialize(Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, BoundConstraint< Real > &bnd, std::ostream &outStream=std::cout)
Definition
ROL_TypeB_SpectralGradientAlgorithm_Def.hpp:40
ROL::TypeB::SpectralGradientAlgorithm::writeName
void writeName(std::ostream &os) const override
Print step name.
Definition
ROL_TypeB_SpectralGradientAlgorithm_Def.hpp:211
ROL::TypeB::SpectralGradientAlgorithm::lambda_
Real lambda_
Definition
ROL_TypeB_SpectralGradientAlgorithm.hpp:26
ROL::TypeB::SpectralGradientAlgorithm::maxSize_
int maxSize_
Definition
ROL_TypeB_SpectralGradientAlgorithm.hpp:25
ROL::TypeB::SpectralGradientAlgorithm::sigma1_
Real sigma1_
Definition
ROL_TypeB_SpectralGradientAlgorithm.hpp:26
ROL::TypeB::SpectralGradientAlgorithm::writeOutput
void writeOutput(std::ostream &os, const bool write_header=false) const override
Print iterate status.
Definition
ROL_TypeB_SpectralGradientAlgorithm_Def.hpp:218
ROL::TypeB::SpectralGradientAlgorithm::sigma2_
Real sigma2_
Definition
ROL_TypeB_SpectralGradientAlgorithm.hpp:26
ROL::TypeB::SpectralGradientAlgorithm::lambdaMax_
Real lambdaMax_
Definition
ROL_TypeB_SpectralGradientAlgorithm.hpp:26
ROL::TypeB::SpectralGradientAlgorithm::run
void run(Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, BoundConstraint< Real > &bnd, std::ostream &outStream=std::cout) override
Run algorithm on bound constrained problems (Type-B). This general interface supports the use of dual...
Definition
ROL_TypeB_SpectralGradientAlgorithm_Def.hpp:67
ROL::TypeB::SpectralGradientAlgorithm::gamma_
Real gamma_
Definition
ROL_TypeB_SpectralGradientAlgorithm.hpp:26
ROL::TypeB::SpectralGradientAlgorithm::rhodec_
Real rhodec_
Definition
ROL_TypeB_SpectralGradientAlgorithm.hpp:26
ROL::TypeB::SpectralGradientAlgorithm::writeHeader_
bool writeHeader_
Definition
ROL_TypeB_SpectralGradientAlgorithm.hpp:28
ROL::TypeB::SpectralGradientAlgorithm::lambdaMin_
Real lambdaMin_
Definition
ROL_TypeB_SpectralGradientAlgorithm.hpp:26
ROL::Vector
Defines the linear algebra or vector space interface.
Definition
ROL_Vector.hpp:51
ROL::TypeB
Definition
ROL_TypeB_Algorithm.hpp:25
ROL
Definition
ROL_ElementwiseVector.hpp:27
Generated by
1.17.0