44 #ifndef ROL_TYPEU_LINESEARCHALGORITHM_H
45 #define ROL_TYPEU_LINESEARCHALGORITHM_H
100 template <
class Real>
104 Ptr<DescentDirection_U<Real>>
desc_;
150 std::ostream &outStream = std::cout)
override;
152 void writeHeader( std::ostream& os )
const override;
154 void writeName( std::ostream& os )
const override;
156 void writeOutput( std::ostream& os,
const bool print_header =
false )
const override;
Provides interface for and implements line searches.
Provides the interface to evaluate objective functions.
void writeHeader(std::ostream &os) const override
Print iterate header.
bool acceptLastAlpha_
For backwards compatibility. When max function evaluations are reached take last step.
EDescentU
Enumeration of descent direction types.
std::string lineSearchName_
ELineSearchU
Enumeration of line-search types.
void writeName(std::ostream &os) const override
Print step name.
void initialize(const Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, std::ostream &outStream=std::cout)
ECurvatureConditionU
Enumeration of line-search curvature conditions.
Defines the linear algebra or vector space interface.
Ptr< LineSearch_U< Real > > lineSearch_
Line-search object.
bool usePreviousAlpha_
If true, use the previously accepted step length (if any) as the new initial step length...
LineSearchAlgorithm(ParameterList &parlist, const Ptr< Secant< Real >> &secant=nullPtr, const Ptr< DescentDirection_U< Real >> &descent=nullPtr, const Ptr< LineSearch_U< Real >> &lineSearch=nullPtr)
Constructor.
Provides an interface to run unconstrained optimization algorithms.
Provides interface for and implements limited-memory secant operators.
ECurvatureConditionU econd_
enum determines type of curvature condition
void writeOutput(std::ostream &os, const bool print_header=false) const override
Print iterate status.
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
Run algorithm on unconstrained problems (Type-U). This general interface supports the use of dual opt...
Provides the interface to compute unconstrained optimization steps for line search.
Ptr< DescentDirection_U< Real > > desc_
Unglobalized step object.
ELineSearchU els_
enum determines type of line search
Provides an interface to run unconstrained line search algorithms.