The NLPC Nonlinear Optimization Solver

Optimality Control

The ABSOPTTOL= and RELOPTTOL= options are based on satisfying the first-order necessary conditions. In particular, the stationarity condition requires the gradient of the objective function or Lagrange function to be zero at the optimal point x^*, i.e.,

\nabla\!f(x^*) = 0
in unconstrained cases and
\nabla\!_x l(x^*,\lambda^*) = 0
in constrained cases.

Since the computation is carried out in finite-precision arithmetic, rounding errors prevent the algorithms from exactly satisfying the preceding condition. Instead, we terminate the algorithms at some small threshold values for the preceding gradients. These threshold values can be measured in an absolute or relative sense. We define \xi_1^k, the absolute optimality error at x^k, as

\xi_1^k=\vert\nabla\!f(x^k)\vert _{\infty}
for unconstrained problems, or
\xi_1^k=\vert\nabla\!_x l(x^k,\lambda^k)\vert _{\infty}
for constrained problems. We define \xi_2^k, the relative optimality error at x^k, as
\xi_2^k=\frac{\vert\nabla\!f(x^k)\vert _{\infty}}{\max\{1,| f(x^k)|\}}
for unconstrained problems, or
\xi_2^k=\frac{\vert\nabla\!_x l(x^k,\lambda^k)\vert _{\infty}}    {\max\{1,\vert\nabla\!f(x^k)\vert _{\infty}\}}
for constrained problems.

An optimization algorithm terminates at x^k if both termination criteria as specified by the ABSOPTTOL=\delta_1 and RELOPTTOL=\delta_2 options are satisfied - that is, if     \xi_1^k \le \delta_1   and     \xi_2^k \le \delta_2   . The default value of ABSOPTTOL=1.0E-3 effectively prevents an algorithm from terminating at some point x^k where the absolute optimality error, as measured by the maximum magnitude of the gradient elements at x^k, is large but the relative optimality error is small.

If you set a very small value for the ABSOPTTOL= or RELOPTTOL= option, depending on the problem, the termination criteria might not be able to be satisfied. This is especially true when a very small value of the ABSOPTTOL= option is used, and it often occurs when the magnitudes of the objective value or the gradient elements are very large. It can also occur when finite-difference approximations of derivatives are used.

In addition, the complementarity condition must be satisfied at the optimal point x^*. This condition is checked at the end of the optimization by using the same criteria characterized by the ABSOPTTOL= or RELOPTTOL= option. See the section "Conditions of Optimality" for more information about the optimality conditions.



Previous Page | Next Page | Top of Page