Try the Performance Analysis Tool [ Home  | Tools  |  Links/Other Performance World

PAVER - GAMS Model Translation Web Submission Tool (GMS2XX)

The PAVER GAMS model translation web-submission tool runs the GAMS/CONVERT "solver" to translate GAMS models into the following supported languages: The service requries that all models be self contained. Upon submission, the resulting translated models will be sent via e-mail.
 

Creating a Self Contained Model:

The translation service requires a self contained model with no $include or $batinclude. The GAMS system provides an easy way to produce such a model even if it contains nested $include and $call statements. Run your model in the usual way but add the GAMS parameter dumpopt=11:
            gams mymodel dumpopt=11
This will create a file mymodel.dmp which represents a self contained version of the original model.

CONVERT Options

CONVERT has options that impact the translation. For example, for a cone model the option CONEREFORM creates an NLP rather than a scalar cone problem. Please refer to the CONVERT manual on the GAMS web page for all options.

In the GAMS model that you are going to submit, you can add options to the CONVERT option file in the following way:

            ...

            $ontext >> convert.opt
            conereform 1
            objvar myobjvar
            $offtext

            solve mymodel min obj using lp;
Important: You need to append to ">>" rather than create ">" the CONVERT option file. Otherwise, gms2xx will not work properly.

Background Information

The GMS2XX translator is transforming GAMS models into a very simple internal scalar format. A model that is passed on to a solver can be seen as a linear list of variables, X1 to Xn, a linear list of equations or constraints, E1 to Em, plus the relationship between these variables and equations represented in some form. This internal format of a single model can then be written out in many different formats. With GAMS as output format, the scalar model consists of

All operations involving sets are unrolled, and all expressions involving parameters are evaluated and replaced by their numerical values. Since there are no sets or indexed parameters in the scalar models, most of the differences between modeling systems have disappeared. The GAMS format is therefore very easy to transform into the format of another language.

The proprietary parts of an industrial model are usually hidden in the names of sets, parameters, variables, and equations; the names of set elements, the numerical values of parameters, the structure of the symbolic equations, and the relationships between these items. During the translation of a user-written GAMS model into scalar format, most of this information is lost. All that is left is the size of the model, the structure of the Jacobian, and some linear and nonlinear relationships with numerical coefficients. The developer of a model will often not even be able to recognize his own model. Industrial users with an interest in improving the solvers they use themselves can therefore in many cases release the scalar version of their model to a model library like MINLPLib.

Example

Here is an example of a translation of the well known transportation problem trnsport.gms from the GAMS model library. A submission of the form below with Translation Options ALL and the file trnsport.gms attached will trigger a translation of the model and will email back an attached ZIP file convert.zip with the following content:
alpha.ecp The model in AlphaECP scalar format
ampl.mod The model in AMPL scalar format
amplnlc.c The model in C code
coinfml.xmlThe model in CoinFML XML format
convert.optThe option file used to translate the model to the requested format
cplex.lpThe model in CPLEX LP format
cplex.mpsThe model in CPLEX MPS format
dict.txt The dictionary of the model
fixed.mps The model in FIXED MPS format
gams.bar The model in BARON scalar format
gams.gms The model in GAMS scalar format
gamsmcp.gms The model in GAMS MCP format with added KKT conditions
jacobian.gdx A GDX file containing the basic model data
lago.gms The model in LaGO GAMS scalar format
lgomain.forThe model as a Fortran subroutine (used by LGO)
lindo.mpi The model in LINDO MPI format
lingo.lng The model in LINGO scalar format
minopt.dat    The model in MINOPT scalar format
vienna.dag The model in VIENNA DAG scalar format


GAMS Model (required):
Translation Options:


For questions or comments please contact the Performance World managing editor.