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() .