The NEOS Server offers EMP
(Extended Mathematical Programming), an (experimental) framework for automated mathematical programming reformulations.
Models that cannot be solved reliably are reformulated into models of established mathematical programming
classes in order to use advanced solver technology.
EMP supports the modeling of Bilevel Programs, Variational Inequalities, Disjunctive Programs, Extended Nonlinear Programs and Embedded Complementarity Systems.
The reformulation is done by the solver JAMS, which is currently the only solver that is capable of handling EMP models.
The GAMS EMP Library, which is included in the GAMS Distribution, includes
examples demonstrating how to use the EMP framework and the solver JAMS.
JAMS is included free of charge with any licensed GAMS system but needs a subsolver to solve the generated models.
EMP has been developed jointly by
Michael Ferris
of UWMadison,
Ignacio Grossmann
of Carnegie Mellon University, and GAMS Development Corporation.
Using the NEOS Server with EMP
The user must submit a model in GAMS
format to solve an EMP problem. For security purposes, the model
submitted must adhere to the following conventions:
 It must be self contained, i.e., no $include or $batinclude statements.
 It may not execute external programs, i.e., no $call or execute statements.
 It may not create files, i.e., no put files or $echo statements.
If you are unfamiliar with GAMS, the GAMS Documentation Center provides a GAMS Tutorial and User's Guide.
Examples of models in GAMS
format can be found in the
GAMS Model Libraries.
The NEOS Server initially 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 the
modeling language for further information.
