Accessing Model Libraries

Professor Paul Samuelson is fond of saying that he hopes each generation of economists will be able to "stand on the shoulders" of the previous generation. The library of models included with the GAMS system is a reflection of this desire. We believe that the quality of modeling will be greatly improved and the productivity of modelers enhanced if each generation can stand on the shoulders of the previous generation by beginning with the previous models and enhancing and improving them. The Model Libraries include a large number of models, collectively organized as

  • GAMS Model Library - includes GAMS models representing interesting and sometimes classic problems, ranged from production and shipment by firms, investment planning, cropping patterns in agriculture, operation of oil refineries and petrochemical plants, macroeconomics stabilization, applied general equilibrium, international trade in aluminum and in copper, water distribution networks, and many more.
  • GAMS Test Library - includes GAMS models developed for testing and quality control, both for the GAMS base module and the many solvers distributed with the GAMS system.
  • GAMS Data Utilities Library - includes GAMS models demonstrating various utilities to interface GAMS with other tools and applications such as spreadsheets and database interface.
  • GAMS EMP Library - includes GAMS Extended Mathematical Programming (EMP) models that illustrate and test the capabilities of GAMS/EMP.
  • GAMS API Library - includes GAMS Models used as scripts to compile and execute application programs in various programming languages interfacing to GAMS.
  • FIN Library - includes GAMS practical financial optimization models described in the book Practical Financial Optimization: Decision Making for Financial Engineers by Consiglio, Nielsen and Zenios,
  • NOA Library - includes GAMS nonlinear optimization applications models based on the book Nonlinear Optimization Applications Using the GAMS Technology by Neculai Andrei.
  • PSOPT Library - includes GAMS optimization models based on the book Power System Optimization Modelling in GAMS by Alireza Soroudi.

The models included have been selected not only because they collectively provide strong shoulders for new users to stand on, but also because they represent interesting and sometimes classic problems. For example the trade-off between consumption and investment is richly illustrated in the Ramsey problem, which can be solved using nonlinear programming methods. Examples of other problems included in the library are production and shipment by firms, investment planning in time and space, cropping patterns in agriculture, operation of oil refineries and petrochemical plants, macroeconomics stabilization, applied general equilibrium, international trade in aluminum and in copper, water distribution networks, and relational databases.

Another criterion for including models in the library is that they illustrate the modeling capabilities GAMS offers. For example, the mathematical specification of cropping patterns can be represented handily in GAMS. Another example of the system's capability is the style for specifying initial solutions as staring points in the search for the optimal solution of dynamic nonlinear optimization problems.

Finally, some models have been selected for inclusion because they have been used in other modeling systems. Examples are network problems and production planning models. These models permit the user to compare how problems are set up and solved in different modeling systems.

Most of the models have been contributed by GAMS users. The submission of new models is encouraged. If you would like to see your model in a future release of the library, please send the model and associated documents and reports to GAMS Development Corporation.

Usage

Command Line Approach

One way to access the library is through command line. The following commands copy a model from the library directory into the current directory.

Command Library to access
gamslib GAMS Model Library
testlib GAMS Test Library
datalib GAMS Data Library
emplib GAMS EMP Library
apilib GAMS API Library
finlib FIN Library
noalib NOA Library
psoptlib PSOPT Library

Take the command gamslib for an example, if you enter gamslib without any parameters, the command syntax will be displayed as shown below:

> gamslib modelname [target]

or

> gamslib modelnum [target]

where

  • modelname is the modelname
  • modelnum is the model sequence number, and
  • target is the target directory name (relative or absolute path).

If the target directory name is not provided, the file will be automatically copied into the current working directory. For example, the [TRNSPORT] model from the GAMS Model library has sequence number 1 and could be copied in any of the following ways.

To copy [TRNSPORT] model file trnsport.gms into the current directory:

> gamslib trnsport
> gamslib 1 

To copy [TRNSPORT] model into the a subdirectory named subdir:

> gamslib trnsport subdir
> gamslib 1 subdir

Besides the optional trailing target path argument, gamslib command has two optional named arguments

  • -q or -quiet enables quiet mode so messages like Copy ASCII : trnsport.gms are not printed
  • -lib library index file (default is gamslib_ml/gamslib.glb in GAMS system directory)

In addition there are two modes (activated via -i and -g) for internal bookkeeping purposes.

The other commands have similar usage to gamslib command.

IDE Approach

A convenient way to access the model library on the major platforms is the "Model Library Explorer" from GAMS Studio. It is described in detail in the GAMS Studio documentation.

Users may define their own library by using a GLB file. These libraries can also be accessed through Studio.