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