## Restricting the Step Length

Almost all line-search algorithms use iterative extrapolation
techniques that can easily lead them to (feasible) points where the
objective function *f* is no longer defined or difficult to compute.
Therefore, PROC NLMIXED provides options restricting the step length
or trust region radius , especially during the
first main iterations.
The inner product *g*^{T}*s* of the gradient *g* and the search
direction *s* is the slope of along the search direction *s*. The default starting value
in each line-search
algorithm ()during the main iteration *k* is computed in three steps:

- The first step uses either the difference
*df*=|*f*^{(k)} - *f*^{(k-1)}|
of the function values during the last two consecutive
iterations or the final step-size value of
the last iteration *k*-1 to compute a first value of
.
- If the DAMPSTEP
option is not used,

with

This value of can be too large and can lead
to a difficult or impossible function evaluation, especially
for highly nonlinear functions such as the EXP function.
- If the DAMPSTEP[=
*r*] option is used,

The initial value for the new step length can be no
larger than *r* times the final step length of the former iteration. The default value is *r*=2.

- During the first five iterations, the second step
enables you to reduce to a
smaller starting value using
the INSTEP=
*r*
option:

After more than five iterations, is set to . - The third step can further reduce the step
length by

where *u* is the maximum length of a step inside the
feasible region.

The INSTEP=*r*
option enables you to specify a
smaller or larger radius of the trust region used in the
first iteration of the trust region and double dogleg algorithms.
The default initial trust region radius is the length
of the scaled gradient (Mor 1978). This step corresponds to the
default radius factor of *r*=1. In most practical applications of
the TRUREG and DBLDOG algorithms, this choice is successful.
However, for bad initial values and highly nonlinear objective
functions (such as the EXP function), the default start radius can
result in arithmetic overflows. If this happens, you can try
decreasing values of INSTEP=*r*, 0 < *r* < 1, until the iteration
starts successfully. A small factor *r* also affects the trust
region radius of the next steps because the radius
is changed in each iteration by a factor , depending on
the ratio expressing the goodness of quadratic function
approximation. Reducing the radius corresponds to
increasing the ridge parameter , producing smaller steps
directed more closely toward the (negative) gradient direction.

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.