21. Convergence

Although TAO and its solvers set default parameters that are useful for many problems, it may be necessary for the user to modify these parameters to change the behavior and convergence of various algorithms.

One convergence criterion for most algorithms concerns the of digits of accuracy needed in the solution. In particular, one convergence test employed by TAO attempts to stop when the error in the constraints is less than , and either

where X* is the current approximation to X. TAO estimates f(X) - f(X*) with either the square of the norm of the gradient or the duality gap. A relative tolerance of indicates that two significant digits are desired in the objective function. Each solver sets its own convergence tolerances, but they can be changed using the routine TaoSetTolerances() . Another set of convergence tolerances can be set with TaoSetGradientTolerances(). These tolerances terminate the solver when the norm of the gradient function (or Lagrangian function for bound-constrained problems) is sufficiently close to zero.

Other stopping criteria include a minimum trust region radius or a maximum number of iterations. These parameters can be set with the routines TaoSetTrustRegionTolerance() and TaoSetMaximumIterates(). Similarly, a maximum number of function evaluations can be set with the command TaoSetMaximumFunctionEvaluations() .