29                                        const RealType t_ini) {
 
   34    RealType qtold, t = t_ini;
 
   35    size_t loopNumber = 0;
 
   53    if ((
qt_ - q0) > -alpha_ * t * qpt_) {
 
   69      } 
while ((((
qt_ - q0) > (-alpha_ * t * qpt_)) ||
 
   70                ((qtold - q0) <= (-alpha_ * t * qpt_ / beta_))) &&
 
   80    qpt_ = P.DotProduct(gradient_, gradient_);
 
 
Armijo line-search class.
Abstract optimization method class.
Abstract optimization problem class.
Dynamically-sized vector class.
RealType operator()(Problem &P, EndCriteria::Type &ecType, const EndCriteria &, const RealType t_ini)
Perform line search.
Criteria to end optimization process:
bool checkMaxIterations(const size_t iteration, EndCriteria::Type &ecType) const
Test if the number of iteration is below MaxIterations.
DynamicVector< RealType > xtd_
new x and its gradient
DynamicVector< RealType > searchDirection_
current values of the search direction
RealType qt_
objective function value and gradient norm corresponding to xtd_
bool succeed_
flag to know if linesearch succeed
Constrained optimization problem.
void gradient(DynamicVector< RealType > &grad_f, const DynamicVector< RealType > &x)
call objective function gradient computation and increment
RealType functionValue() const
value of objective function
RealType value(const DynamicVector< RealType > &x)
call objective function computation and increment evaluation counter
RealType gradientNormValue() const
value of objective function gradient norm
Constraint & constraint() const
Constraint.
const DynamicVector< RealType > & currentValue() const
current value of the local minimum