NLPQLP - Nonlinear Programming with Non-Monotone and Distributed Line
Version 4.2 (2014)
NLPQLP is a Fortran code for
solving constrained nonlinear
It is assumed that all problem functions are continuously differentiable.
NLPQLP is a special implementation of a sequential quadratic programming (SQP)
method. Proceeding from a quadratic approximation of the Lagrangian
function and a linearization of constraints, a quadratic
programming subproblem is formulated and solved by QL.
Depending on the number of nodes of the distributed system,
objective and constraint functions can be evaluated simultaneously at predetermined
test points along the search direction.
The parallel line search is performed with respect to an augmented Lagrangian merit function.
Moreover, a non-monotone line search is performed in error situations where the
line search cannot be stopped within a given number of iterations. All theoretical convergence properties of the SQP algorithm remain satisfied.
The Hessian approximation is updated by the modified BFGS-formula.
The new version is extremely stable. Various restarts options are
implemented to overcome error situations, which usually lead to termination.
It is possible to solve 90 % of our 306 standard test examples even if the
partial derivatives possess only one correct digit due to random noise.
NLPQLP 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
In case of numerical gradient evaluation, even higher order difference formulae
can be applied, if the number of distributed systems is sufficiently large.
In the ideal case, each iteration of NLPQLP requires one simultaneous function evaluation for
the line search and another one for approximation of gradients. Special
safeguards are implemented to overcome error situations, see below.
- upper and lower bounds on the variables handled separately
- initial multiplier and Hessian approximation
- reverse communication
- bounds and linear constraints remain satisfied
robust and efficient implementation
extremely robust in case of noisy function and derivative
several restart options in case of uphill search directions
due to inaccurate derivatives
initial and periodic restarts with scaled identity matrix
Fortran source code (close to F77, conversion to C by f2c
Extensive set of test runs
Easy-to-use version available (NLPQLY)
NLPQL/NLPQLP is in practical use in hundreds of applications since the last 20 years from PC to mainframe. The most popular practical
application is structural mechanical optimization.
Customers include AMD, Applied Research Corp., Aramco, Astrium, Aware, Axiva, BASF, Bastra, Bayer, Bell Labs, BMW, CEA, Chevron Research, DLR,
Dornier Systems, Dow Chemical, EADS, EMCOSS, ENSIGC, EPCOS, ESOC, Eurocopter, Fantoft Prosess, Fernmeldetechnisches Zentralamt,
General Electric, GLM Lasertechnik, Hidroelectrica Espanola, Hoechst, IABG, IBM, INRIA,
NRS-Telecommunications, KFZ Karlsruhe, Markov Processes, Micronic Laser
Systems, MTU, NASA Langley, Nevesbu, National Airspace Laboratory, Norsk Hydro Research, Numerola, Mathematical Systems Institute
Honcho, Norwegian Computing Center, Peaktime, Philips, Prema, Polysar, ProSim, Research Triangle Institute,
Rolls-Royce, SAQ Kontroll, SDRC, Siemens, Solar Turbines, Space Systems/Loral, TNO, Transpower, USAF Research Lab, VTT Chemical Technology, Wright R&D Center,
and in addition dozens
of academic research institutions all over the world.
NLPQL is part of commercial redistributed optimization systems like
- - ANSYS/POPT (CAD-FEM, Grafing) for
optimization of shell structures,
- - DesignXplorer
(ANSYS Inc., Canonsburg) for structural
- - STRUREL (RCP, Munich) for reliability analysis,
- - TEMPO (OECD Reactor Project, Halden) for control of power plants,
- - Microwave Office Suit (Applied Wave Research, El Segundo) for electronic design,
- - MOOROPT (Marintec, Trondheim) for the design of mooring systems,
- - iSIGHT
(Engineous Software, Cary, North Carolina) for multi-disciplinary CAE,
- - POINTER (Synaps, Atlanta) for design
- EXCITE (AVL, Graz) for non-linear dynamics of power
- modeFrontier (ESTECO, Trieste) for integrated multi-objective and multi-disciplinary design
- - TOMLAB/MathLab
(Tomlab Optimization, Västerås, Sweden) for general nonlinear programming,
least squares optimization, data fitting in dynamical systems,
- - EASY-FIT (Schittkowski,
Bayreuth) for data fitting in dynamical systems,
- OptiSLang (DYNARDO,
Weimar) for structural design optimization,
- AMESim (IMAGINE,
Roanne) for multidisciplinary system design,
- - Chemasim (BASF,
Ludwigshafen) for design of chemical reactors,
OPTIMUS (NOESIS, Leuven, Belgium) for multi-disciplinary CAE,
- RADIOSS/M-OPT (MECALOG,
Antony, France) for multi-disciplinary CAE.
DAKOTA interface is also available.
||Yu-hong Dai, K. Schittkowski
(2008): A sequential quadratic programming
algorithm with non-monotone line search, Pacific Journal of
Optimization, Vol. 4, 335-351
K. Schittkowski, NLPQLP: A Fortran implementation of a sequential quadratic
programming algorithm with distributed and non-monotone line Search - User's
guide, Version 4.2, Report, Department of Computer Science, University of Bayreuth (2009)
K. Schittkowski, NLPQL: A Fortran subroutine for
solving constrained nonlinear programming problems,
Annals of Operations Research, Vol. 5, 485-500 (1985/86)
||K. Schittkowski (2010):
A robust implementation of a
sequential quadratic programming algorithm with successive error
restoration, Optimization Letters, Vol. 5, 283-296
For more details contact the author or click here for free
license for members and students of academic