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.

• References:
• P. E. Gill, W. Murray, M. A. Saunders, Elizabeth Wong.
SQOPT 7.7 User's Manual.
CCoM Technical Report 18-2, Center for Computational Mathematics, University of California, San Diego.
( )
 @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 } 
• Written in Fortran 77+
• Intended for large-scale problems
• New and improved C/C++ interface
• Matlab/mex interface; precompiled mex-files are included for a variety of machines
• Visual Studio files to compile SQOPT library and Matlab mex-files included for Windows
• For students and for evaluation purposes, we provide precompiled Matlab mex-files and libraries for a restricted version of SQOPT. Downloads are available here