SNOPT (Sparse Nonlinear OPTimizer) is a software package for solving large-scale optimization problems (linear and nonlinear programs). It employs a sparse SQP algorithm with limited-memory quasi-Newton approximations to the Hessian of Lagrangian. SNOPT is especially effective for nonlinear problems whose functions and gradients are expensive to evaluate. The functions should be smooth but need not be convex. An augmented Lagrangian merit function ensures convergence from an arbitrary point. Infeasible problems are treated methodically via elastic bounds on the nonlinear constraints. SNOPT allows the nonlinear constraints to be violated (if necessary) and minimizes the sum of such violations.

• References:
• P. E. Gill, W. Murray, M. A. Saunders, Elizabeth Wong.
SNOPT 7.7 User's Manual.
CCoM Technical Report 18-1, Center for Computational Mathematics, University of California, San Diego.
( )
 @techreport{snopt77,  AUTHOR = {Gill, Philip E. and Murray, Walter and Saunders, Michael A. and Wong, Elizabeth},  TITLE = {User's Guide for {SNOPT 7.7}: Software for Large-Scale Nonlinear Programming},  INSTITUTION = {Department of Mathematics, University of California, San Diego},  ADDRESS = {La Jolla, CA},  TYPE = {Center for Computational Mathematics Report},  NUMBER = {CCoM 18-1},  YEAR = 2018 } 
• P. E. Gill, W. Murray and M. A. Saunders.
SNOPT: An SQP algorithm for large-scale constrained optimization.
SIAM Review 47 (2005), 99-131.
( )
 @Article {GilMS05,  AUTHOR = {Gill, Philip E. and Murray, Walter and Saunders, Michael A.},  TITLE = {{SNOPT}: An {SQP} algorithm for large-scale constrained optimization},  JOURNAL = {SIAM Rev.},  FJOURNAL = {SIAM Review. A Publication of the Society for Industrial and Applied Mathematics},  PAGES = {99--131},  VOLUME = {47},  YEAR = {2005} } 
• 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 SNOPT 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 SNOPT. Downloads are available here

### SNOPT 9

• Currently in development
• Simplified user interface
• Can use exact second derivative information
• Updated QP subproblem solver SQIC
• Written in Fortran 2003