« Previous « Start » Next »
1 Introduction
1.1 Overview
Welcome to the TOMLAB /KNITRO User's Guide. TOMLAB /KNITRO includes
the
KNITRO NLP solver from Ziena Optimization and an interface to
The MathWorks' MATLAB.
Knitro implements both state-of-the-art interior-point and
active-set methods for solving nonlinear optimization problems. In
the interior method (also known as a barrier method), the nonlinear
programming problem is replaced by a series of barrier sub-problems
controlled by a barrier parameter μ (initial value set using
Prob.KNITRO.options.mu ). The algorithm uses trust regions and
a merit function to promote convergence. The algorithm performs one
or more minimization steps on each barrier problem, then decreases
the barrier parameter, and repeats the process until the original
problem has been solved to the desired accuracy.
Knitro provides two procedures for computing the steps within
the interior point approach. In the version known as
Interior/CG each step is computed using a projected conjugate
gradient iteration. This approach differs from most interior methods
proposed in the literature in that it does not compute each step by
solving a linear system involving the KKT (or primal-dual) matrix.
Instead, it factors a projection matrix, and uses the conjugate
gradient method, to approximately minimize a quadratic model of the
barrier problem.
The second procedure for computing the steps, which we call
Interior/Direct, always attempts to compute a new iterate by
solving the primal-dual KKT matrix using direct linear algebra. In
the case when this step cannot be guaranteed to be of good quality,
or if negative curvature is detected, then the new iterate is
computed by the
Interior/CG procedure.
Knitro also implements an active-set sequential
linear-quadratic programming (SLQP) algorithm which we call
Active. This method is similar in nature to a sequential quadratic
programming method but uses linear programming sub-problems to
estimate the active-set at each iteration. This active-set code may
be preferable when a good initial point can be provided, for
example, when solving a sequence of related problems.
We encourage the user to try all algorithmic options to
determine which one is more suitable for the application at hand.
For guidance on choosing the best algorithm see Section
7.
1.2 Contents of this Manual
- Section 1 provides a basic overview of the KNITRO
solver.
- Section 2 provides an overview of the
Matlab interface to KNITRO .
- Section 3 describes
how to set KNITRO solver options from Matlab.
- Section 4 gives detailed information about the
interface routine knitroTL .
- Section 5 shows how the solver terminates.
- Section 6 details the solver output.
- Section 7 provides detailed information about
the algorithmic options available.
- Section 8 discusses some of the options and
features in TOMLAB /KNITRO.
1.3 More information
Please visit the following links for more information:
1.4 Prerequisites
In this manual we assume that the user is familiar with nonlinear
programming, setting up problems in TOMLAB (in particular constrained
nonlinear (
con) problems) and the Matlab language in
general.
« Previous « Start » Next »