The NLP Procedure

Line-Search Methods

In each iteration $ k$, the (dual) quasi-Newton, hybrid quasi-Newton, conjugate gradient, and Newton-Raphson minimization techniques use iterative line-search algorithms that try to optimize a linear, quadratic, or cubic approximation of $ f$ along a feasible descent search direction $ s^{(k)}$

\[  x^{(k+1)} = x^{(k)} + \alpha ^{(k)} s^{(k)} , \quad \alpha ^{(k)} > 0  \]

by computing an approximately optimal scalar $\alpha ^{(k)}$.

Therefore, a line-search algorithm is an iterative process that optimizes a nonlinear function $f=f(\alpha )$ of one parameter ($\alpha $) within each iteration $ k$ of the optimization technique, which itself tries to optimize a linear or quadratic approximation of the nonlinear objective function $ f=f(x)$ of $ n$ parameters $ x$. Since the outside iteration process is based only on the approximation of the objective function, the inside iteration of the line-search algorithm does not have to be perfect. Usually, the choice of $\alpha $ significantly reduces (in a minimization) the objective function. Criteria often used for termination of line-search algorithms are the Goldstein conditions (refer to Fletcher (1987)).

Various line-search algorithms can be selected using the LINESEARCH= option. The line-search method LINESEARCH=2 seems to be superior when function evaluation consumes significantly less computation time than gradient evaluation. Therefore, LINESEARCH=2 is the default value for Newton-Raphson, (dual) quasi-Newton, and conjugate gradient optimizations.

A special default line-search algorithm for TECH=HYQUAN is useful only for least squares problems and cannot be chosen by the LINESEARCH= option. This method uses three columns of the $ m \times n$ Jacobian matrix, which for large $ m$ can require more memory than using the algorithms designated by LINESEARCH=1 through LINESEARCH=8.

The line-search methods LINESEARCH=2 and LINESEARCH=3 can be modified to exact line search by using the LSPRECISION= option (specifying the $\sigma $ parameter in Fletcher (1987)). The line-search methods LINESEARCH=1, LINESEARCH=2, and LINESEARCH=3 satisfy the left-hand-side and right-hand-side Goldstein conditions (refer to Fletcher (1987)). When derivatives are available, the line-search methods LINESEARCH=6, LINESEARCH=7, and LINESEARCH=8 try to satisfy the right-hand-side Goldstein condition; if derivatives are not available, these line-search algorithms use only function calls.