Systems Optimization Laboratory
Stanford, CA 943054121 USA

User guide for SQOPT 7:
Software for largescale linear and quadratic programming
SQOPT is a software package for minimizing a convex quadratic
function subject to both equality and inequality constraints. SQOPT may
also be used for linear programming and for finding a feasible point for a set
of linear equalities and inequalities. SQOPT uses a
twophase, activeset, reducedHessian method. It is most efficient
on problems with relatively few degrees of freedom (for example, if only some
of the variables appear in the quadratic term, or the number of active
constraints and bounds is nearly as large as the number of variables).
However, unlike previous versions of SQOPT, there is no limit on
the number of degrees of freedom.
SQOPT is primarily intended for
large linear and quadratic problems with sparse constraint matrices.
A quadratic term 1/2x'Hx in the objective function is represented
by a user subroutine that returns the product Hx for a given vector x.
SQOPT uses stable
numerical methods throughout and includes a reliable basis package
(for maintaining sparse LU factors of the basis matrix), a
practical antidegeneracy procedure, scaling, and elastic bounds
on any number of constraints and variables.
SQOPT is part of the SNOPT package for largescale
nonlinearly constrained optimization.
The source code is reentrant and suitable for any machine with a
Fortran 77, 90, or later compiler.
We recommend gfortran
(part of GCC, the GNU Compiler Collection).
The f2c translation of the SQOPT f77 source code can be used with a C compiler.
SQOPT may be called from a driver program in Fortran, C, or Matlab.
It can also be used as a standalone package, reading data in the MPS format
used by commercial mathematical programming systems.
P. E. Gill, W. Murray, and M. A. Saunders (2008),
SQOPT 7 User's Guide.
