ROL
Public Member Functions | Private Attributes | List of all members
ROL::Solver< Real > Class Template Reference

Provides a simplified interface for solving a wide range of optimization problems. More...

#include <ROL_Solver.hpp>

Public Member Functions

 Solver (const Ptr< Problem< Real >> &opt, ParameterList &list, const Ptr< Secant< Real >> &secant=nullPtr)
 Constructor. More...
 
int solve (const Ptr< StatusTest< Real >> &status=nullPtr, bool combineStatus=true)
 Solve optimization problem with no iteration output. More...
 
int solve (std::ostream &outStream, const Ptr< StatusTest< Real >> &status=nullPtr, bool combineStatus=true)
 Solve optimization problem. More...
 
Ptr< const AlgorithmState< Real > > getAlgorithmState () const
 Return the AlgorithmState. More...
 
void reset ()
 Reset both Algorithm and Step. More...
 

Private Attributes

const Ptr< Problem< Real > > opt_
 
const EProblem problemType_
 
Ptr< TypeU::Algorithm< Real > > algoU_
 
Ptr< TypeB::Algorithm< Real > > algoB_
 
Ptr< TypeE::Algorithm< Real > > algoE_
 
Ptr< TypeG::Algorithm< Real > > algoG_
 

Detailed Description

template<typename Real>
class ROL::Solver< Real >

Provides a simplified interface for solving a wide range of optimization problems.

Definition at line 30 of file ROL_Solver.hpp.

Constructor & Destructor Documentation

template<typename Real >
ROL::Solver< Real >::Solver ( const Ptr< Problem< Real >> &  opt,
ParameterList &  list,
const Ptr< Secant< Real >> &  secant = nullPtr 
)

Constructor.

Parameters
[in]optthe OptimizationProblem to be solved
[in]parlistalgorithm and step input parameters

Definition at line 16 of file ROL_Solver_Def.hpp.

References ROL::Solver< Real >::algoB_, ROL::Solver< Real >::algoE_, ROL::Solver< Real >::algoG_, ROL::Solver< Real >::algoU_, ROL::Solver< Real >::problemType_, ROL::TYPE_B, ROL::TYPE_E, ROL::TYPE_EB, ROL::TYPE_LAST, and ROL::TYPE_U.

Member Function Documentation

template<typename Real >
int ROL::Solver< Real >::solve ( const Ptr< StatusTest< Real >> &  status = nullPtr,
bool  combineStatus = true 
)

Solve optimization problem with no iteration output.

Parameters
[in]statusis a user-defined StatusTest
[in]combineStatusif true, the user-defined StatusTest will be combined with the default StatusTest

Definition at line 32 of file ROL_Solver_Def.hpp.

References ROL::solve().

Referenced by main(), and ROL::ProgressiveHedging< Real >::presolve().

template<typename Real >
int ROL::Solver< Real >::solve ( std::ostream &  outStream,
const Ptr< StatusTest< Real >> &  status = nullPtr,
bool  combineStatus = true 
)

Solve optimization problem.

Parameters
[in]outStreamis the output stream to collect iteration history
[in]statusis a user-defined StatusTest
[in]combineStatusif true, the user-defined StatusTest will be combined with the default StatusTest

Definition at line 39 of file ROL_Solver_Def.hpp.

References ROL::TYPE_B, ROL::TYPE_E, ROL::TYPE_EB, ROL::TYPE_LAST, and ROL::TYPE_U.

template<typename Real >
Ptr< const AlgorithmState< Real > > ROL::Solver< Real >::getAlgorithmState ( void  ) const

Return the AlgorithmState.


Definition at line 71 of file ROL_Solver_Def.hpp.

References ROL::TYPE_B, ROL::TYPE_E, ROL::TYPE_EB, ROL::TYPE_LAST, and ROL::TYPE_U.

template<typename Real >
void ROL::Solver< Real >::reset ( void  )

Reset both Algorithm and Step.

This function will reset the AlgorithmState and reinitialize the Step. This function does not permit changing the Step specified upon construction. To change the Step, reinitialize the OptimizationSolver.


Definition at line 86 of file ROL_Solver_Def.hpp.

References ROL::TYPE_B, ROL::TYPE_E, ROL::TYPE_EB, ROL::TYPE_LAST, and ROL::TYPE_U.

Referenced by ROL::ProgressiveHedging< Real >::presolve().

Member Data Documentation

template<typename Real>
const Ptr<Problem<Real> > ROL::Solver< Real >::opt_
private

Definition at line 33 of file ROL_Solver.hpp.

template<typename Real>
const EProblem ROL::Solver< Real >::problemType_
private

Definition at line 34 of file ROL_Solver.hpp.

Referenced by ROL::Solver< Real >::Solver().

template<typename Real>
Ptr<TypeU::Algorithm<Real> > ROL::Solver< Real >::algoU_
private

Definition at line 36 of file ROL_Solver.hpp.

Referenced by ROL::Solver< Real >::Solver().

template<typename Real>
Ptr<TypeB::Algorithm<Real> > ROL::Solver< Real >::algoB_
private

Definition at line 37 of file ROL_Solver.hpp.

Referenced by ROL::Solver< Real >::Solver().

template<typename Real>
Ptr<TypeE::Algorithm<Real> > ROL::Solver< Real >::algoE_
private

Definition at line 38 of file ROL_Solver.hpp.

Referenced by ROL::Solver< Real >::Solver().

template<typename Real>
Ptr<TypeG::Algorithm<Real> > ROL::Solver< Real >::algoG_
private

Definition at line 39 of file ROL_Solver.hpp.

Referenced by ROL::Solver< Real >::Solver().


The documentation for this class was generated from the following files: