10#ifndef ROL_TYPEU_ALGORITHM_H
11#define ROL_TYPEU_ALGORITHM_H
16#include "ROL_Problem.hpp"
25template<
typename Real>
48template<
typename Real>
51 const Ptr<CombinedStatusTest<Real>>
status_;
52 const Ptr<AlgorithmState<Real>>
state_;
65 bool combineStatus =
false);
71 std::ostream &outStream = std::cout );
78 std::ostream &outStream = std::cout );
89 std::ostream &outStream = std::cout );
102 std::ostream &outStream = std::cout );
111 std::ostream &outStream = std::cout) = 0;
115 virtual void writeHeader( std::ostream& os )
const;
119 virtual void writeName( std::ostream& os )
const;
123 virtual void writeOutput( std::ostream& os,
const bool write_header =
false )
const;
128 Ptr<const AlgorithmState<Real>>
getState()
const;
Defines the general constraint operator interface.
Provides the interface to evaluate objective functions.
Provides an interface to check status of optimization algorithms.
Provides an interface to run unconstrained optimization algorithms.
Algorithm()
Constructor, given a step and a status test.
const Ptr< CombinedStatusTest< Real > > status_
Ptr< const AlgorithmState< Real > > getState() const
void initialize(const Vector< Real > &x, const Vector< Real > &g)
virtual void writeExitStatus(std::ostream &os) const
virtual void writeHeader(std::ostream &os) const
Print iterate header.
virtual void writeName(std::ostream &os) const
Print step name.
virtual void run(Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, std::ostream &outStream=std::cout)=0
Run algorithm on unconstrained problems (Type-U). This general interface supports the use of dual opt...
void setStatusTest(const Ptr< StatusTest< Real > > &status, bool combineStatus=false)
const Ptr< AlgorithmState< Real > > state_
virtual void run(Problem< Real > &problem, std::ostream &outStream=std::cout)
Run algorithm on unconstrained problems (Type-U). This is the primary Type-U interface.
virtual void writeOutput(std::ostream &os, const bool write_header=false) const
Print iterate status.
Defines the linear algebra or vector space interface.
State for algorithm class. Will be used for restarts.
Ptr< Vector< Real > > stepVec
Ptr< Vector< Real > > gradientVec