GAMS(ID:4914/gam009)

General Algebraic Modeling System 


for General Algebraic Modeling System

Algebraic language

GAMS Development Corporation  
Anthony Brooke  
David Kendrick  
Alexander Meeraus  
Ramesh Raman


References:
  • A. Brooke, D. Kendrick, and A. Meeraus "GAMS: ­ A User's Guide" The Scientific Press, Redwood City, CA, 1988. view details Abstract: INTRODUCTION
    1.1 MOTIVATION
    Substantial progress was made in the 1950s and 1960s with the development of algorithms and computer codes to solve large mathematical programming problems. The number of applications of these tools in the 1970s was less then expected, however, because the solution procedures formed only a small part of the overall modeling effort. A large part of the time required to develop a model involved data preparation and transformation and report preparation. Each model
    required many hours of analyst and programming time to organize the data and write the programs that would transform the data into the form required by the mathematical programming optimizers. Furthermore, it was difficult to detect and eliminate errors because the programs that performed the data operations were only accessible to the specialist who wrote them and not to the analysts in charge of the project.
    GAMS was developed to improve on this situation by:
    · Providing a high-level language for the compact representation of large and complex models
    · Allowing changes to be made in model specifications simply and safely
    · Allowing unambiguous statements of algebraic relationships
    · Permitting model descriptions that are independent of solution algorithms

    1.2 BASIC FEATURES OF GAMS
    Some basic features of GAMS are explained in the following subsections.
    1.2.1 GENERAL PRINCIPLES
    The design of GAMS has incorporated ideas drawn from relational database theory and mathematical programming and has attempted to merge these ideas to suit the needs of strategic modelers.
    Relational database theory provides a structured framework for developing general data organization and transformation capabilities. Mathematical programming provides a way of describing a problem and a variety of methods for solving it. The following principles were used in designing the system:
    · All existing algorithmic methods should be available without changing the user's model representation. Introduction of new methods, or of new implementations of existing methods, should be possible without requiring changes in existing models. Linear, nonlinear, mixed integer, mixed integer nonlinear optimizations and mixed complementarity problems can currently be accommodated.
    · The optimization problem should be expressible independently of the data it uses. This separation of logic and data allows a problem to be increased in size without causing an increase in the complexity of the representation.
    · The use of the relational data model requires that the allocation of computer resources be automated. This means that large and complex models can be constructed without the user having to worry about details such as array sizes and scratch storage.
  • Rosenthal, Richard E. "A Gams Tutorial" The Scientific Press, Redwood City, CA, 1988. view details Abstract: This tutorial gives an example which is an a quick but complete
    overview of GAMS and its features. Many references are made to the GAMS user's Guide book, but they are only to tell you where to look for more details; the material here can be read profitably without
    reference to the rest of the book.

    The example is an instance of the transportation problem of linear
    programming, which has historically served as a 'laboratory animal' in the development of optimization technology. It is good choice for illustrating the power of algebraic modeling languages like GAMS because the transportation problem, no matter how large the instance at hand, possesses a simple, exploitable algebraic structure. You will see that almost all of the statements in the GAMS input file we are about to present would remain unchanged if a much larger transportation problem were considered. External link: Online copy at CiteSeer
  • Anthony Brooke, David Kendrick, Alexander Meeraus, Ramesh Raman "GAMS A User's Guide" Release 2.25. The Scientific Press, 1992 view details External link: Online copy
  • Dirkse, S.P. ; M.C. Ferris, P.V. Preckel and T. Rutherford, The GAMS Callable Program Library for Variational and Complementarity Solvers. Mathematical Programming Technical Report 94-07, University of Wisconsin, Madison (1994) view details External link: Online copy
  • Rutherford, T. F. Applied general equilibrium modeling with MPSGE as a GAMS subsystem. Manuscript, Department of Economics, University of Colorado, Boulder, Jan. 1994. view details Abstract: This paper describes a programming environment for economic
    equilibrium analysis.

    The system introduces the Mathematical Programming System for General
    Equilibrium analysis (MPSGE, Rutherford 1987) within the Generalized Algebraic Modelling System (GAMS, Brooke, Kendrick and Meeraus (1988)). This arrangement exploits GAMS' set-oriented algebraic syntax for data manipulation and report writing. The system
    based on the tabular MPSGE input format provides a compact, non-algebraic representation of a model's nonlinear equations. This paper provides an overview of the modelling environment and three worked examples in tax policy analysis. External link: Online copy
  • Greenberg Harvey J. "A Bibliography for the Development of An Intelligent Mathematical Programming System" in ITORMS 1(1) 1997 view details
  • Helmstrom, Kenneth "TOMLAB - An environment for Solving Optimization Problems in MATLAB" Applied Modelling and Research Group in the Department of Mathematics and Physics, Malardalen University Sweden view details
    Resources
    • GAMS home page
      The General Algebraic Modeling System (GAMS) is specifically designed for modeling linear, nonlinear and mixed integer optimization problems. The system is especially useful with large, complex problems. GAMS is available for use on personal computers, workstations, mainframes and supercomputers.

      GAMS allows the user to concentrate on the modeling problem by making the setup simple. The system takes care of the time-consuming details of the specific machine and system software implementation.

      GAMS is especially useful for handling large, complex, one-of-a-kind problems which may require many revisions to establish an accurate model. The system models problems in a highly compact and natural way. The user can change the formulation quickly and easily, can change from one solver to another, and can even convert from linear to nonlinear with little trouble.
      external link