44#ifndef ROL_TYPEU_ALGORITHM_H
45#define ROL_TYPEU_ALGORITHM_H
50#include "ROL_Problem.hpp"
59template<
typename Real>
82template<
typename Real>
85 const Ptr<CombinedStatusTest<Real>>
status_;
86 const Ptr<AlgorithmState<Real>>
state_;
99 bool combineStatus =
false);
105 std::ostream &outStream = std::cout );
112 std::ostream &outStream = std::cout );
123 std::ostream &outStream = std::cout );
136 std::ostream &outStream = std::cout );
145 std::ostream &outStream = std::cout) = 0;
157 virtual void writeOutput( std::ostream& os,
bool write_header =
false )
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.
virtual void run(Vector< Real > &x, Objective< Real > &obj, Constraint< Real > &linear_con, Vector< Real > &linear_mul, std::ostream &outStream=std::cout)
Run algorithm on unconstrained problems with explicit linear equality constraints (Type-U)....
const Ptr< CombinedStatusTest< Real > > status_
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 writeName(std::ostream &os) const
Print step name.
virtual void writeHeader(std::ostream &os) const
Print iterate header.
Ptr< const AlgorithmState< Real > > getState() const
void initialize(const Vector< Real > &x, const Vector< Real > &g)
virtual void run(Vector< Real > &x, Objective< Real > &obj, std::ostream &outStream=std::cout)
Run algorithm on unconstrained problems (Type-U). This is the primary Type-U interface.
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...
virtual void writeOutput(std::ostream &os, bool write_header=false) const
Print iterate status.
virtual void run(Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, Constraint< Real > &linear_con, Vector< Real > &linear_mul, const Vector< Real > &linear_c, std::ostream &outStream=std::cout)
Run algorithm on unconstrained problems with explicit linear equality constraints (Type-U)....
void setStatusTest(const Ptr< StatusTest< Real > > &status, bool combineStatus=false)
const Ptr< AlgorithmState< Real > > state_
virtual void writeExitStatus(std::ostream &os) const
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