ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
algorithm
ROL_Solver.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_SOLVER_HPP
11
#define ROL_SOLVER_HPP
12
13
#include "
ROL_TypeU_AlgorithmFactory.hpp
"
14
#include "
ROL_TypeB_AlgorithmFactory.hpp
"
15
#include "
ROL_TypeE_AlgorithmFactory.hpp
"
16
#include "
ROL_TypeG_AlgorithmFactory.hpp
"
17
#include "
ROL_TypeP_AlgorithmFactory.hpp
"
18
#include "
ROL_Problem.hpp
"
19
20
#include "ROL_ParameterList.hpp"
21
#include "
ROL_Stream.hpp
"
22
27
28
namespace
ROL
{
29
30
template
<
typename
Real>
31
class
Solver
{
32
private
:
33
34
const
Ptr<Problem<Real>>
opt_
;
35
const
EProblem
problemType_
;
36
37
Ptr<TypeU::Algorithm<Real>>
algoU_
;
38
Ptr<TypeB::Algorithm<Real>>
algoB_
;
39
Ptr<TypeE::Algorithm<Real>>
algoE_
;
40
Ptr<TypeG::Algorithm<Real>>
algoG_
;
41
Ptr<TypeP::Algorithm<Real>>
algoP_
;
42
43
public
:
44
52
Solver
(
const
Ptr<
Problem<Real>
> &opt,
53
ParameterList &list,
54
const
Ptr<
Secant<Real>
> &secant = nullPtr );
55
63
int
solve
(
const
Ptr<
StatusTest<Real>
> &status = nullPtr,
64
bool
combineStatus =
true
);
65
74
int
solve
( std::ostream &outStream,
75
const
Ptr<
StatusTest<Real>
> &status = nullPtr,
76
bool
combineStatus =
true
);
77
82
//Ptr<const AlgorithmState<Real>>& getAlgorithmState() const;
83
Ptr<const AlgorithmState<Real>>
getAlgorithmState
()
const
;
84
94
void
reset
();
95
96
};
// class Solver
97
98
}
// namespace ROL
99
100
#include "
ROL_Solver_Def.hpp
"
101
102
#endif
// ROL_SOLVER_HPP
103
104
ROL_Solver_Def.hpp
ROL_Stream.hpp
Defines a no-output stream class ROL::NullStream and a function makeStreamPtr which either wraps a re...
ROL_TypeB_AlgorithmFactory.hpp
ROL_TypeE_AlgorithmFactory.hpp
ROL_TypeG_AlgorithmFactory.hpp
ROL_TypeP_AlgorithmFactory.hpp
ROL_TypeU_AlgorithmFactory.hpp
ROL_Problem.hpp
ROL::Problem
Definition
function/prox/ROL_Problem.hpp:27
ROL::Secant
Provides interface for and implements limited-memory secant operators.
Definition
ROL_Secant.hpp:45
ROL::Solver::Solver
Solver(const Ptr< Problem< Real > > &opt, ParameterList &list, const Ptr< Secant< Real > > &secant=nullPtr)
Constructor.
Definition
ROL_Solver_Def.hpp:16
ROL::Solver::algoG_
Ptr< TypeG::Algorithm< Real > > algoG_
Definition
ROL_Solver.hpp:40
ROL::Solver::reset
void reset()
Reset both Algorithm and Step.
Definition
ROL_Solver_Def.hpp:92
ROL::Solver::algoB_
Ptr< TypeB::Algorithm< Real > > algoB_
Definition
ROL_Solver.hpp:38
ROL::Solver::algoE_
Ptr< TypeE::Algorithm< Real > > algoE_
Definition
ROL_Solver.hpp:39
ROL::Solver::opt_
const Ptr< Problem< Real > > opt_
Definition
ROL_Solver.hpp:34
ROL::Solver::getAlgorithmState
Ptr< const AlgorithmState< Real > > getAlgorithmState() const
Return the AlgorithmState.
Definition
ROL_Solver_Def.hpp:76
ROL::Solver::solve
int solve(const Ptr< StatusTest< Real > > &status=nullPtr, bool combineStatus=true)
Solve optimization problem with no iteration output.
Definition
ROL_Solver_Def.hpp:33
ROL::Solver::problemType_
const EProblem problemType_
Definition
ROL_Solver.hpp:35
ROL::Solver::algoP_
Ptr< TypeP::Algorithm< Real > > algoP_
Definition
ROL_Solver.hpp:41
ROL::Solver::algoU_
Ptr< TypeU::Algorithm< Real > > algoU_
Definition
ROL_Solver.hpp:37
ROL::StatusTest
Provides an interface to check status of optimization algorithms.
Definition
ROL_StatusTest.hpp:24
ROL
Definition
ROL_ElementwiseVector.hpp:27
ROL::EProblem
EProblem
Definition
ROL_Types.hpp:223
Generated by
1.17.0