ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
algorithm
TypeE
ROL_TypeE_FletcherAlgorithm.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_TYPEE_FLETCHERALGORITHM_H
11
#define ROL_TYPEE_FLETCHERALGORITHM_H
12
13
#include "
ROL_TypeE_Algorithm.hpp
"
14
#include "
ROL_FletcherObjectiveE.hpp
"
15
#include "
ROL_Secant.hpp
"
16
21
22
namespace
ROL
{
23
namespace
TypeE
{
24
25
template
<
typename
Real>
26
class
FletcherAlgorithm
:
public
TypeE::Algorithm
<Real> {
27
private
:
28
29
const
Ptr<Secant<Real>>
secant_
;
30
ParameterList
list_
;
31
std::string
subStep_
;
32
// Penalty function data
33
Real
merit_
,
gpnorm_
;
34
Real
sigma_
,
delta_
;
35
Real
minSigma_
,
maxSigma_
,
sigmaUpdate_
;
36
Real
minDelta_
,
deltaUpdate_
;
37
bool
modifySigma_
;
38
int
subproblemIter_
;
39
// Verbosity flag
40
int
verbosity_
;
41
bool
printHeader_
;
42
43
using
TypeE::Algorithm
<Real>
::state_
;
44
using
TypeE::Algorithm
<Real>
::status_
;
45
46
public
:
47
48
FletcherAlgorithm
(ParameterList &list,
const
Ptr<
Secant<Real>
> &secant = nullPtr);
49
50
void
initialize
(
Vector<Real>
&x,
51
const
Vector<Real>
&g,
52
const
Vector<Real>
&l,
53
const
Vector<Real>
&c,
54
FletcherObjectiveE<Real>
&fobj,
55
Constraint<Real>
&con,
56
std::ostream &outStream);
57
58
using
TypeE::Algorithm
<Real>
::run
;
59
virtual
void
run
(
Vector<Real>
&x,
60
const
Vector<Real>
&g,
61
Objective<Real>
&obj,
62
Constraint<Real>
&econ,
63
Vector<Real>
&emul,
64
const
Vector<Real>
&eres,
65
std::ostream &outStream = std::cout)
override
;
66
67
virtual
void
writeHeader
( std::ostream& os )
const override
;
68
69
virtual
void
writeName
( std::ostream& os )
const override
;
70
71
virtual
void
writeOutput
( std::ostream& os,
const
bool
print_header =
false
)
const override
;
72
73
};
// class ROL::TypeE::FletcherAlgorithm
74
75
}
// namespace TypeE
76
}
// namespace ROL
77
78
#include "
ROL_TypeE_FletcherAlgorithm_Def.hpp
"
79
80
#endif
ROL_FletcherObjectiveE.hpp
ROL_Secant.hpp
ROL_TypeE_Algorithm.hpp
ROL_TypeE_FletcherAlgorithm_Def.hpp
ROL::Constraint
Defines the general constraint operator interface.
Definition
ROL_Constraint.hpp:52
ROL::FletcherObjectiveE
Definition
ROL_FletcherObjectiveE.hpp:18
ROL::Objective
Provides the interface to evaluate objective functions.
Definition
ROL_Objective.hpp:44
ROL::ROL::TypeE::Algorithm::status_
const Ptr< CombinedStatusTest< Real > > status_
Definition
ROL_Constraint_SerialSimOpt.hpp:56
ROL::ROL::TypeE::Algorithm::state_
const Ptr< AlgorithmState< Real > > state_
Definition
ROL_Constraint_SerialSimOpt.hpp:57
ROL::Secant
Provides interface for and implements limited-memory secant operators.
Definition
ROL_Secant.hpp:45
ROL::TypeE::Algorithm
Definition
ROL_TypeE_Algorithm.hpp:54
ROL::TypeE::FletcherAlgorithm::maxSigma_
Real maxSigma_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:35
ROL::TypeE::FletcherAlgorithm::minSigma_
Real minSigma_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:35
ROL::TypeE::FletcherAlgorithm::FletcherAlgorithm
FletcherAlgorithm(ParameterList &list, const Ptr< Secant< Real > > &secant=nullPtr)
Definition
ROL_TypeE_FletcherAlgorithm_Def.hpp:19
ROL::TypeE::FletcherAlgorithm::modifySigma_
bool modifySigma_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:37
ROL::TypeE::FletcherAlgorithm::deltaUpdate_
Real deltaUpdate_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:36
ROL::TypeE::FletcherAlgorithm::verbosity_
int verbosity_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:40
ROL::TypeE::FletcherAlgorithm::gpnorm_
Real gpnorm_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:33
ROL::TypeE::FletcherAlgorithm::secant_
const Ptr< Secant< Real > > secant_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:29
ROL::TypeE::FletcherAlgorithm::writeName
virtual void writeName(std::ostream &os) const override
Print step name.
Definition
ROL_TypeE_FletcherAlgorithm_Def.hpp:208
ROL::TypeE::FletcherAlgorithm::subStep_
std::string subStep_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:31
ROL::TypeE::FletcherAlgorithm::writeHeader
virtual void writeHeader(std::ostream &os) const override
Print iterate header.
Definition
ROL_TypeE_FletcherAlgorithm_Def.hpp:169
ROL::TypeE::FletcherAlgorithm::printHeader_
bool printHeader_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:41
ROL::TypeE::FletcherAlgorithm::run
virtual void run(Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, Constraint< Real > &econ, Vector< Real > &emul, const Vector< Real > &eres, std::ostream &outStream=std::cout) override
Definition
ROL_TypeE_FletcherAlgorithm_Def.hpp:83
ROL::TypeE::FletcherAlgorithm::subproblemIter_
int subproblemIter_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:38
ROL::TypeE::FletcherAlgorithm::merit_
Real merit_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:33
ROL::TypeE::FletcherAlgorithm::sigmaUpdate_
Real sigmaUpdate_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:35
ROL::TypeE::FletcherAlgorithm::minDelta_
Real minDelta_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:36
ROL::TypeE::FletcherAlgorithm::writeOutput
virtual void writeOutput(std::ostream &os, const bool print_header=false) const override
Print iterate status.
Definition
ROL_TypeE_FletcherAlgorithm_Def.hpp:217
ROL::TypeE::FletcherAlgorithm::initialize
void initialize(Vector< Real > &x, const Vector< Real > &g, const Vector< Real > &l, const Vector< Real > &c, FletcherObjectiveE< Real > &fobj, Constraint< Real > &con, std::ostream &outStream)
Definition
ROL_TypeE_FletcherAlgorithm_Def.hpp:47
ROL::TypeE::FletcherAlgorithm::list_
ParameterList list_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:30
ROL::TypeE::FletcherAlgorithm::delta_
Real delta_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:34
ROL::TypeE::FletcherAlgorithm::sigma_
Real sigma_
Definition
ROL_TypeE_FletcherAlgorithm.hpp:34
ROL::Vector
Defines the linear algebra or vector space interface.
Definition
ROL_Vector.hpp:51
ROL::TypeE
Definition
ROL_TypeE_Algorithm.hpp:23
ROL
Definition
ROL_ElementwiseVector.hpp:27
Generated by
1.17.0