SOL Logo

Systems Optimization Laboratory

Stanford University
Dept of Management Science and Engineering (MS&E)

Huang Engineering Center

Stanford, CA 94305-4121  USA

User guide for QPOPT: Fortran package for constrained linear least-squares and convex quadratic programming


QPOPT is a set of Fortran 77 subroutines for minimizing a general quadratic function subject to linear constraints and simple upper and lower bounds. QPOPT may also be used for linear programming and for finding a feasible point for a set of linear equalities and inequalities.

If the quadratic function is convex (i.e., the Hessian is positive definite or positive semidefinite), the solution obtained will be a global minimizer. If the quadratic is non-convex (i.e., the Hessian is indefinite), the solution obtained will be a local minimizer or a dead-point.

A two-phase active-set method is used. The first phase minimizes the sum of infeasibilities. The second phase minimizes the quadratic function within the feasible region, using a reduced Hessian to obtain search directions. The method is most efficient when many constraints or bounds are active at the solution.

QPOPT is not intended for large sparse problems, but there is no fixed limit on problem size.


P. E. Gill, W. Murray, and M. A. Saunders (1995), QPOPT 1.0 User's Guide.