10#ifndef ROL_TYPEB_ALGORITHM_H
11#define ROL_TYPEB_ALGORITHM_H
18#include "ROL_Problem.hpp"
27template<
typename Real>
49template<
typename Real>
52 const Ptr<CombinedStatusTest<Real>>
status_;
53 const Ptr<AlgorithmState<Real>>
state_;
54 Ptr<PolyhedralProjection<Real>>
proj_;
59 std::ostream &outStream = std::cout)
const;
70 const bool combineStatus =
false);
76 std::ostream &outStream = std::cout );
84 std::ostream &outStream = std::cout );
94 std::ostream &outStream = std::cout) = 0;
106 std::ostream &outStream = std::cout );
120 std::ostream &outStream = std::cout );
133 std::ostream &outStream = std::cout );
148 std::ostream &outStream = std::cout );
163 std::ostream &outStream = std::cout );
181 std::ostream &outStream = std::cout );
185 virtual void writeHeader( std::ostream& os )
const;
189 virtual void writeName( std::ostream& os )
const;
193 virtual void writeOutput( std::ostream& os,
const bool write_header =
false )
const;
198 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 writeName(std::ostream &os) const
Print step name.
const Ptr< AlgorithmState< Real > > state_
const Ptr< CombinedStatusTest< Real > > status_
virtual void writeOutput(std::ostream &os, const bool write_header=false) const
Print iterate 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