« Previous « Start » Next »
7 Algorithm Options
7.1 Automatic
By default,
Knitro will automatically try to choose the best
optimizer for the given problem based on the problem
characteristics.
7.2 Interior/Direct
If the Hessian of the Lagrangian is ill-conditioned or the problem
does not have a large-dense Hessian, it may be advisable to compute
a step by directly factoring the KKT (primal-dual) matrix rather
than using an iterative approach to solve this system.
Knitro
offers the Interior/Direct optimizer which allows the algorithm to
take direct steps by setting
ALG=1. This option will try
to take a direct step at each iteration and will only fall back on
the iterative step if the direct step is suspected to be of poor
quality, or if negative curvature is detected.
Using the Interior/Direct optimizer may result in substantial
improvements over Interior/CG when the problem is ill-conditioned
(as evidenced by Interior/CG taking a large number of Conjugate
Gradient iterations).
We encourage the user to try both options as it is difficult to
predict in advance which one will be more effective on a given
problem.
NOTE: Since the Interior/Direct algorithm in
Knitro requires the explicit storage of a Hessian matrix, this
version can only be used with Hessian options,
HESSOPT=1, 2,
3 or
6. It may not be used with Hessian options,
HESSOPT=4 or
5, which only provide Hessian-vector
products. Also, the Interior/Direct optimizer cannot be used with
the feasible option (
FEASIBLE=1).
7.3 Interior/CG
Since
Knitro was designed with the idea of solving large
problems, the Interior/CG optimizer in
Knitro offers an
iterative Conjugate Gradient approach to compute the step at each
iteration. This approach has proven to be efficient in most cases
and allows
Knitro to handle problems with large, dense
Hessians, since it does not require factorization of the Hessian
matrix. The Interior/CG algorithm can be chosen by setting
ALG=2. It can use any of the Hessian options as well as the
feasible option.
7.4 Active
Knitro 4.0 introduces a new active-set Sequential
Linear-Quadratic Programing (SLQP) optimizer. This optimizer is
particular advantageous when “warm starting” (i.e., when the user
can provide a good initial solution estimate, for example, when
solving a sequence of closely related problems). This algorithm is
also the preferred algorithm for detecting infeasible problems
quickly. The Active algorithm can be chosen by setting
ALG=3. It can use any of the Hessian options.
« Previous « Start » Next »