SNOPT


SNOPT, for Sparse Nonlinear OPTimizer, is a software package for solving large-scale nonlinear optimization problems written by Philip Gill, Walter Murray and Michael Saunders. SNOPT is mainly written in Fortran, but interfaces to C, C++, Python and MATLAB are available.
It employs a sparse sequential quadratic programming algorithm with limited-memory quasi-Newton approximations to the Hessian of the Lagrangian. It is especially effective for nonlinear problems with functions and gradients that are expensive to evaluate. The functions should be smooth but need not be convex.
SNOPT is used in several trajectory optimization software packages, including Copernicus, AeroSpace Trajectory Optimization and Software, General Mission Analysis Tool, and Optimal Trajectories by Implicit Simulation.
SNOPT is supported in the AIMMS, AMPL, APMonitor, General Algebraic Modeling System,and TOMLAB modeling systems.