SQOPT
(Sparse Quadratic OPTimizer) 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 two-phase, active-set,
reduce-Hessian 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/2)x'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 anti-degeneracy procedure,
scaling, and elastic bounds on any number of constraints and
variables.
SQOPT is part of the
SNOPT package for large-scale
nonlinearly constrained optimization. The source code is re-entrant and
suitable for any machine with a Fortran compiler. SQOPT may be called from
a driver program in Fortran, Matlab, or C/C++ with the new interface based
on the Fortran 2003 standard on Fortran-C interoperability. SQOPT can
also be used as a stand-alone package, reading data in the MPS format used
by commercial mathematical programming systems.
@techreport{sqopt77,
AUTHOR = {Gill, Philip E. and Murray, Walter and Saunders, Michael A. and Wong, Elizabeth},
TITLE = {User's Guide for {SQOPT 7.7}: Software for Large-Scale Linear and Quadratic Programming},
INSTITUTION = {Department of Mathematics, University of California, San Diego},
ADDRESS = {La Jolla, CA},
TYPE = {Center for Computational Mathematics Report},
NUMBER = {CCoM 18-2},
YEAR = 2018
}