NPSOL is a set of Fortran subroutines for minimizing a smooth function subject to constraints, which may include simple bounds on the variables, linear constraints and smooth nonlinear constraints. (NPSOL may also be used for unconstrained, bound-constrained and linearly constrained optimization.) The user provides subroutines to define the objective and constraint functions and (optionally) their first derivatives. NPSOL is not intended for large sparse problems, but there is no fixed limit on problem size.
NPSOL uses a sequential quadratic programming (SQP) algorithm, in which each search direction is the solution of a QP subproblem. Bounds, linear constraints and nonlinear constraints are treated separately. NPSOL requires relatively few evaluations of the problem functions. Hence it is especially effective if the objective or constraint functions are expensive to evaluate.
The source code for NPSOL is suitable for all scientific machines with a Fortran 77 compiler. This includes mainframes, workstations and PCs, preferably with 1MB or more of main storage. The source code, test problems and utilities are distributed on diskettes.