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 sta ...
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 nickname ...
. SNOPT is mainly written in
Fortran, but interfaces to
C,
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
,
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 (pro ...
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, implementation ...
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
ASTOS is a tool dedicated to mission analysis, Trajectory optimization, vehicle design and simulation for space scenarios, i.e. launch, re-entry missions, orbit transfers, Earth observation, navigation, coverage and re-entry safety assessments. ...
),
General Mission Analysis Tool
General Mission Analysis Tool (GMAT) is open-source space mission analysis software developed by NASA and private industry.
It has been used for several missions, including LCROSS, the Lunar Reconnaissance Orbiter, OSIRIS-REx, the Magnetosphe ...
, 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 s ...
,
General Algebraic Modeling System (GAMS), and
TOMLAB
Tomlab is a German record label based in Köln. It has released works by bands such as The Books, Casiotone for the Painfully Alone, Deerhoof, Thee Oh Sees, Les Georges Leningrad, and acts associated with Blocks Recording Club, such as Final ...
modeling systems.
References
*
External links
*
SNOPT manual (.pdf)
{{Mathematical optimization software
Numerical software
Mathematical optimization software