44#ifndef ROL_TYPEU_LINESEARCHALGORITHM_H
45#define ROL_TYPEU_LINESEARCHALGORITHM_H
103 Ptr<DescentDirection_U<Real>>
desc_;
147 std::ostream &outStream = std::cout)
override;
153 void writeOutput( std::ostream& os,
bool print_header =
false )
const override;
Provides the interface to compute unconstrained optimization steps for line search.
Provides interface for and implements line searches.
Provides the interface to evaluate objective functions.
Algorithm()
Constructor, given a step and a status test.
const Ptr< CombinedStatusTest< Real > > status_
const Ptr< AlgorithmState< Real > > state_
Ptr< DescentDirection_U< Real > > desc_
Unglobalized step object.
bool acceptLastAlpha_
For backwards compatibility. When max function evaluations are reached take last step.
LineSearchAlgorithm(ParameterList &parlist, const Ptr< DescentDirection_U< Real > > &descent=nullPtr, const Ptr< LineSearch_U< Real > > &lineSearch=nullPtr)
Constructor.
void writeHeader(std::ostream &os) const override
Print iterate header.
bool usePreviousAlpha_
If true, use the previously accepted step length (if any) as the new initial step length.
Ptr< LineSearch_U< Real > > lineSearch_
Line-search object.
void writeName(std::ostream &os) const override
Print step name.
EDescentU edesc_
enum determines type of descent direction
void run(Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, std::ostream &outStream=std::cout) override
std::string lineSearchName_
ELineSearchU els_
enum determines type of line search
void writeOutput(std::ostream &os, bool print_header=false) const override
Print iterate status.
void initialize(const Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, std::ostream &outStream=std::cout)
ECurvatureConditionU econd_
enum determines type of curvature condition
Defines the linear algebra or vector space interface.