44#ifndef ROL_TYPEG_ALGORITHM_H
45#define ROL_TYPEG_ALGORITHM_H
52#include "ROL_Problem.hpp"
61template<
typename Real>
89template<
typename Real>
92 const Ptr<CombinedStatusTest<Real>>
status_;
93 const Ptr<AlgorithmState<Real>>
state_;
94 Ptr<PolyhedralProjection<Real>>
proj_;
110 bool combineStatus =
false);
116 std::ostream &outStream = std::cout );
126 std::ostream &outStream = std::cout );
136 std::ostream &outStream = std::cout );
147 std::ostream &outStream = std::cout );
159 std::ostream &outStream = std::cout );
172 std::ostream &outStream = std::cout );
185 std::ostream &outStream = std::cout ) = 0;
197 std::ostream &outStream = std::cout );
210 std::ostream &outStream = std::cout );
225 std::ostream &outStream = std::cout );
241 std::ostream &outStream = std::cout );
256 std::ostream &outStream = std::cout );
268 std::ostream &outStream = std::cout );
281 std::ostream &outStream = std::cout );
295 std::ostream &outStream = std::cout );
310 std::ostream &outStream = std::cout );
328 std::ostream &outStream = std::cout );
343 std::ostream &outStream = std::cout );
359 std::ostream &outStream = std::cout );
377 std::ostream &outStream = std::cout );
396 std::ostream &outStream = std::cout );
400 virtual void writeHeader( std::ostream& os )
const;
404 virtual void writeName( std::ostream& os )
const;
408 virtual void writeOutput( std::ostream& os,
bool write_header =
false )
const;
413 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 general constrained optimization algorithms.
virtual void run(Problem< Real > &problem, std::ostream &outStream=std::cout)
Run algorithm on general constrained problems (Type-G). This is the primary Type-G interface.
virtual void run(Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, BoundConstraint< Real > &bnd, Constraint< Real > &econ, Vector< Real > &emul, const Vector< Real > &eres, std::ostream &outStream=std::cout)=0
Run algorithm on general constrained problems (Type-G). This is the primary Type-G interface.
virtual void writeName(std::ostream &os) const
Print step name.
Algorithm()
Constructor, given a step and a status test.
virtual void writeHeader(std::ostream &os) const
Print iterate header.
void initialize(const Vector< Real > &x, const Vector< Real > &g, const Vector< Real > &mul, const Vector< Real > &c)
virtual void writeOutput(std::ostream &os, bool write_header=false) const
Print iterate status.
Ptr< const AlgorithmState< Real > > getState() const
virtual void writeExitStatus(std::ostream &os) const
const Ptr< CombinedStatusTest< Real > > status_
Ptr< PolyhedralProjection< Real > > proj_
void setStatusTest(const Ptr< StatusTest< Real > > &status, bool combineStatus=false)
const Ptr< AlgorithmState< Real > > state_
Defines the linear algebra or vector space interface.
State for algorithm class. Will be used for restarts.
Ptr< Vector< Real > > constraintVec
Ptr< Vector< Real > > stepVec
Ptr< Vector< Real > > gradientVec