The NEOS Server offers SNOPT for the solution of nonlinearly constrained
optimization problems. Problems can be submitted to SNOPT on the NEOS
server in AMPL or GAMS format.
SNOPT is a solver for nonlinearly constrained optimization problems; it is
suitable for large-scale linear and quadratic programming, for linearly
constrained optimization and for general nonlinear programs. SNOPT finds
solutions that are locally optimal. SNOPT implements a sequential quadratic
programming (SQP) algorithm. Search directions are obtained from quadratic
programming subproblems that minimize a quadratic model of the Lagrangian
function subject to linearized constraints. An augmented Lagrangian merit
function is reduced along each search direction to ensure convergence from
any starting point. SNOPT is especially effective for nonlinear programs whose
functions and gradients are expensive to evaluate. The functions should be
smooth but do not need to be convex.
SNOPT was developed by
Philip E. Gill,
Walter Murray, and
Additional information on SNOPT can be found in the
Guide for SNOPT Version 7.
The user must submit a model in GAMS
format to solve an optimization problem. For security purposes, the model
submitted must adhere to the following conventions:
If you are unfamiliar with GAMS, the
GAMS Documentation includes a
GAMS Tutorial and
Examples of models in GAMS format can be found in the
GAMS model library.
By default, the NEOS Server limits the amount of output generated in the listing
file by turning off the symbol and unique element list, symbol cross references,
and restricting the rows and columns listed to zero. This behavior can be changed
by specifying the appropriate options in the model file. See the
documentation on GAMS output
for further information.
You may optionally submit an options file if you wish to override the default parameter settings for the solver.
Currently, the NEOS Server can only use optfile=1 with GAMS input. Therefore, any model that specifies a different options file will not work as intended.
<modelname>.optfile = 1 ;
optfile = 1