SNOPT, for Sparse Nonlinear OPTimizer, is a software package for solving large-scale
nonlinear optimization
In mathematics, nonlinear programming (NLP) is the process of solving an optimization problem where some of the constraints or the objective function are nonlinear. An optimization problem is one of calculation of the extrema (maxima, minima or st ...
problems written by Philip Gill, Walter Murray and
Michael Saunders
Michael Edward Brett Saunders (born November 19, 1986) is a Canadian former professional baseball outfielder. He played in Major League Baseball (MLB) for the Seattle Mariners, Toronto Blue Jays, and Philadelphia Phillies.
He was nicknamed ...
. SNOPT is mainly written in
Fortran, but interfaces to
C,
C++
C, or c, is the third letter in the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''cee'' (pronounced ), plural ''cees''.
History
"C" ...
,
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pr ...
and
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementatio ...
are available.
It employs a sparse
sequential quadratic programming
Sequential quadratic programming (SQP) is an iterative method for constrained nonlinear optimization. SQP methods are used on mathematical problems for which the objective function and the constraints are twice continuously differentiable.
SQP me ...
(SQP) 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 (
ASTOS),
General Mission Analysis Tool, and Optimal Trajectories by Implicit Simulation (OTIS). It is also available in the Astrogator module of
Systems Tool Kit.
SNOPT is supported in the
AIMMS AIMMS (acronym for Advanced Interactive Multidimensional Modeling System) is a prescriptive analytics software company with offices in the Netherlands, United States, China and Singapore.
It has two main product offerings that provide modeling and ...
,
AMPL
AMPL (A Mathematical Programming Language) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (i.e., large-scale optimization and scheduling-type problems).
It was developed b ...
,
APMonitor
Advanced process monitor (APMonitor) is a modeling language for differential algebraic ( DAE) equations. It is a free web-service or local server for solving representations of physical systems in the form of implicit DAE models. APMonitor is ...
,
General Algebraic Modeling System (GAMS), and
TOMLAB modeling systems.
References
*
External links
*
SNOPT manual (.pdf)
{{Mathematical optimization software
Numerical software
Mathematical optimization software