NLPIP - Large-Scale Nonlinear Programming
Version 2.0 (2013)
NLPIP is a Fortran code for
solving large-scale constrained nonlinear
optimization problems, i.e., problems with a large number of variables and
sparsity patterns in the Jacobian matrix of the constraints.
It is assumed that all problem functions are continuously differentiable.
NLPIP applies a combined SQP-IPM
strategy. Depending on the preferences of the user, either a standard SQP
method is used where the quadratic programming subproblem is solved by an
interior point method, or a nonlinear interior point method is executed.
Moreover, any combination in between is possible. BFGS updates use the
limited memory method subject to different merit functions.
Alternatively, second derivatives can be provided if available. In any case,
the primal-dual system of linear equations possesses the same structure and
must be solved by a user-provided routine depending on the sparsity patterns
of the Jacobian matrix of the constraints.
NLPIP is written in double precision FORTRAN and organized in form
of a subroutine. Nonlinear problem functions and analytical gradients
must be provided by the user within the calling program by reverse
For solving the internal reduced KKT system of linear equations, the so-called primal-dual
system, a special subroutine with name LINSLV must be implemented by the
user. Frames for dense linear algebra (Lapack) and a sparse solver (PARDISO)
are included. LINSLV is called from NLPIP with different flags for
factorization, matrix times vector products, or retrieving solution vectors
with different right-hand sides.
- upper and lower bounds on the variables handled separately
- interfaces (LINSLV) for PARDISO and LAPACK included
- reverse communication
- bounds and linear constraints remain satisfied
robust and efficient implementation
complex active-set strategy analogously to the one
implemented in NLPQLB
Fortran source code
full documentation and example codes
solves 304 out of 306 test problems of the
solves large elliptic optimal-control problems with more than
5 million variables and 2.5 million constraints
The development of NLPIP was supported by
EADS and NLPIP became part of the in-house FE-based structural optimization
For more details contact the author or click here for free
license for members and students of academic