An Introduction to the GAMS Modeling System
In this chapter we introduce the high-level algebraic modeling language that will be used in the rest of this book to build financial optimization models. The basic elements of the language are given first, together with details on getting started with the language, and the FINLIB library of models are also discussed here.
1.2 Basics of Modeling
Optimization is concerned with the representation and solution of models. Models can be represented in a number of ways, and they can be solved using a number of methods or algorithms. The General Algebraic Modeling System, GAMS, is a system for formulating and solving optimization models. It consists of a language that allows a high-level, algebraic representation of mathematical models, and provides a set of solvers, i.e., numerical algorithms, to solve them.
Why use algebraic modeling? Small models are easy to formulate and solve. They have a simple structure and one can simply edit a file containing the model’s coefficients, and then call a standard linear programming solver to solve it. In fact, in the early days of optimization, models were solved using specialized matrix generators that provided the necessary input files for solvers. However, as models grow larger and become more complex, they become difficult to manage and to verify using this approach. GAMS was developed in response to the need for powerful and flexible front-end tools to manage large, real-life ...