ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
algorithm
TypeB
ROL_TypeB_GradientAlgorithm.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_GRADIENTALGORITHM_HPP
11
#define ROL_TYPEB_GRADIENTALGORITHM_HPP
12
13
#include "
ROL_TypeB_Algorithm.hpp
"
14
18
19
namespace
ROL
{
20
namespace
TypeB
{
21
22
template
<
typename
Real>
23
class
GradientAlgorithm
:
public
TypeB::Algorithm
<Real> {
24
private
:
25
int
maxit_
;
26
Real
alpha0_
,
alpha0bnd_
,
rhodec_
,
rhoinc_
,
c1_
,
maxAlpha_
;
27
bool
useralpha_
,
usePrevAlpha_
,
useAdapt_
,
normAlpha_
;
28
int
verbosity_
;
29
bool
writeHeader_
;
30
31
using
TypeB::Algorithm
<Real>
::status_
;
32
using
TypeB::Algorithm
<Real>
::state_
;
33
using
TypeB::Algorithm
<Real>
::proj_
;
34
35
void
initialize
(
Vector<Real>
&x,
36
const
Vector<Real>
&g,
37
Objective<Real>
&obj,
38
BoundConstraint<Real>
&bnd,
39
std::ostream &outStream = std::cout);
40
41
public
:
42
43
GradientAlgorithm
(ParameterList &list);
44
45
using
TypeB::Algorithm
<Real>
::run
;
46
void
run
(
Vector<Real>
&x,
47
const
Vector<Real>
&g,
48
Objective<Real>
&obj,
49
BoundConstraint<Real>
&bnd,
50
std::ostream &outStream = std::cout)
override
;
51
52
void
writeHeader
( std::ostream& os )
const override
;
53
54
void
writeName
( std::ostream& os )
const override
;
55
56
void
writeOutput
( std::ostream& os,
const
bool
write_header =
false
)
const override
;
57
58
};
// class ROL::TypeB::GradientAlgorithm
59
60
}
// namespace TypeB
61
}
// namespace ROL
62
63
#include "
ROL_TypeB_GradientAlgorithm_Def.hpp
"
64
65
#endif
ROL_TypeB_Algorithm.hpp
ROL_TypeB_GradientAlgorithm_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::GradientAlgorithm::rhodec_
Real rhodec_
Definition
ROL_TypeB_GradientAlgorithm.hpp:26
ROL::TypeB::GradientAlgorithm::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_GradientAlgorithm_Def.hpp:92
ROL::TypeB::GradientAlgorithm::rhoinc_
Real rhoinc_
Definition
ROL_TypeB_GradientAlgorithm.hpp:26
ROL::TypeB::GradientAlgorithm::writeHeader
void writeHeader(std::ostream &os) const override
Print iterate header.
Definition
ROL_TypeB_GradientAlgorithm_Def.hpp:232
ROL::TypeB::GradientAlgorithm::initialize
void initialize(Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, BoundConstraint< Real > &bnd, std::ostream &outStream=std::cout)
Definition
ROL_TypeB_GradientAlgorithm_Def.hpp:40
ROL::TypeB::GradientAlgorithm::alpha0bnd_
Real alpha0bnd_
Definition
ROL_TypeB_GradientAlgorithm.hpp:26
ROL::TypeB::GradientAlgorithm::writeName
void writeName(std::ostream &os) const override
Print step name.
Definition
ROL_TypeB_GradientAlgorithm_Def.hpp:261
ROL::TypeB::GradientAlgorithm::GradientAlgorithm
GradientAlgorithm(ParameterList &list)
Definition
ROL_TypeB_GradientAlgorithm_Def.hpp:17
ROL::TypeB::GradientAlgorithm::normAlpha_
bool normAlpha_
Definition
ROL_TypeB_GradientAlgorithm.hpp:27
ROL::TypeB::GradientAlgorithm::useAdapt_
bool useAdapt_
Definition
ROL_TypeB_GradientAlgorithm.hpp:27
ROL::TypeB::GradientAlgorithm::maxAlpha_
Real maxAlpha_
Definition
ROL_TypeB_GradientAlgorithm.hpp:26
ROL::TypeB::GradientAlgorithm::maxit_
int maxit_
Definition
ROL_TypeB_GradientAlgorithm.hpp:25
ROL::TypeB::GradientAlgorithm::usePrevAlpha_
bool usePrevAlpha_
Definition
ROL_TypeB_GradientAlgorithm.hpp:27
ROL::TypeB::GradientAlgorithm::writeHeader_
bool writeHeader_
Definition
ROL_TypeB_GradientAlgorithm.hpp:29
ROL::TypeB::GradientAlgorithm::alpha0_
Real alpha0_
Definition
ROL_TypeB_GradientAlgorithm.hpp:26
ROL::TypeB::GradientAlgorithm::c1_
Real c1_
Definition
ROL_TypeB_GradientAlgorithm.hpp:26
ROL::TypeB::GradientAlgorithm::verbosity_
int verbosity_
Definition
ROL_TypeB_GradientAlgorithm.hpp:28
ROL::TypeB::GradientAlgorithm::writeOutput
void writeOutput(std::ostream &os, const bool write_header=false) const override
Print iterate status.
Definition
ROL_TypeB_GradientAlgorithm_Def.hpp:268
ROL::TypeB::GradientAlgorithm::useralpha_
bool useralpha_
Definition
ROL_TypeB_GradientAlgorithm.hpp:27
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