NLPIP - Large-Scale Nonlinear Programming

Version 1.0 (2010)
 
Purpose:
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.
 
Numerical Method:
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, and three different merit functions are available. 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.
 
 
Program Organization:
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 communication. Nonlinear problem functions and corresponding gradients
must be provided by the user within the calling program by reverse communication. Depending on a flag, either new function values (IFAIL=-1) or new gradient values (IFAIL=-2) must be computed and NLPIP is restarted. For solving the internal 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.
 
Special Features:
  1. upper and lower bounds on the variables handled separately
  2. interfaces (LINSLV) for PARDISO, MUMPS and LAPACK included
  3. reverse communication
  4. bounds and linear constraints remain satisfied
  5. robust and efficient implementation
  6. complex active-set strategy analogously to the one implemented in NLPQLB
  7. Fortran source code
  8. full documentation and example codes
Applications:
The development of NLPIP was supported by EADS and NLPIP became part of the in-house FE-based structural optimization system LAGRANGE.
 
Reference:
B. Sachsenberg, NLPIP: A Fortran implementation of an SQP interior point method for solving large-scale nonlinear optimization problems - User's guide, Version 1.0, Report, Department of Computer Science, University of Bayreuth (2010) 

Availability:
   
     For more details contact the author or click here for free license for members and students of academic institutions.

Back to home page Back to list of software klaus@schittkowski.de