44#ifndef ROL_TYPEB_ALGORITHM_H
45#define ROL_TYPEB_ALGORITHM_H
52#include "ROL_Problem.hpp"
61template<
typename Real>
83template<
typename Real>
86 const Ptr<CombinedStatusTest<Real>>
status_;
87 const Ptr<AlgorithmState<Real>>
state_;
88 Ptr<PolyhedralProjection<Real>>
proj_;
93 std::ostream &outStream = std::cout)
const;
104 const bool combineStatus =
false);
110 std::ostream &outStream = std::cout );
118 std::ostream &outStream = std::cout );
128 std::ostream &outStream = std::cout) = 0;
140 std::ostream &outStream = std::cout );
154 std::ostream &outStream = std::cout );
167 std::ostream &outStream = std::cout );
182 std::ostream &outStream = std::cout );
197 std::ostream &outStream = std::cout );
215 std::ostream &outStream = std::cout );
219 virtual void writeHeader( std::ostream& os )
const;
223 virtual void writeName( std::ostream& os )
const;
227 virtual void writeOutput( std::ostream& os,
bool write_header =
false )
const;
232 Ptr<const AlgorithmState<Real>>
getState()
const;
Provides the interface to apply upper and lower bound constraints.
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 bound constrained optimization algorithms.
virtual void run(Problem< Real > &problem, std::ostream &outStream=std::cout)
Run algorithm on bound constrained problems (Type-B). This is the primary Type-B interface.
Ptr< PolyhedralProjection< Real > > proj_
void initialize(const Vector< Real > &x, const Vector< Real > &g)
virtual void writeHeader(std::ostream &os) const
Print iterate header.
Real optimalityCriterion(const Vector< Real > &x, const Vector< Real > &g, Vector< Real > &primal, std::ostream &outStream=std::cout) const
Algorithm()
Constructor, given a step and a status test.
virtual void writeExitStatus(std::ostream &os) const
virtual void writeOutput(std::ostream &os, bool write_header=false) const
Print iterate status.
virtual void writeName(std::ostream &os) const
Print step name.
const Ptr< AlgorithmState< Real > > state_
const Ptr< CombinedStatusTest< Real > > status_
Ptr< const AlgorithmState< Real > > getState() const
virtual void run(Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, BoundConstraint< Real > &bnd, std::ostream &outStream=std::cout)=0
Run algorithm on bound constrained problems (Type-B). This general interface supports the use of dual...
void setStatusTest(const Ptr< StatusTest< Real > > &status, const bool combineStatus=false)
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