fbpx
Wikipedia

General algebraic modeling system

The general algebraic modeling system (GAMS) is a high-level modeling system for mathematical optimization. GAMS is designed for modeling and solving linear, nonlinear, and mixed-integer optimization problems. The system is tailored for complex, large-scale modeling applications and allows the user to build large maintainable models that can be adapted to new situations. The system is available for use on various computer platforms. Models are portable from one platform to another.

GAMS
Developer(s)GAMS Development Corporation
Stable release
44.3.0 / 1 September 2023 (48 days ago) (2023-09-01)[1]
PlatformCross-platform
TypeAlgebraic Modeling Language (AML)
LicenseProprietary
Websitewww.gams.com

GAMS was the first algebraic modeling language (AML)[2] and is formally similar to commonly used fourth-generation programming languages. GAMS contains an integrated development environment (IDE) and is connected to a group of third-party optimization solvers. Among these solvers are BARON, COIN-OR solvers, CONOPT, COPT Cardinal Optimizer, CPLEX, DICOPT, MOSEK, SNOPT, SULUM, and XPRESS.

GAMS allows the users to implement a sort of hybrid algorithm combining different solvers. Models are described in concise, human-readable algebraic statements. GAMS is among the most popular input formats for the NEOS Server.[citation needed] Although initially designed for applications related to economics and management science, it has a community of users from various backgrounds of engineering and science.

Timeline Edit

  • 1976 GAMS idea is presented at the International Symposium on Mathematical Programming (ISMP), Budapest[3]
  • 1978 Phase I: GAMS supports linear programming. Supported platforms: Mainframes and Unix Workstations
  • 1979 Phase II: GAMS supports nonlinear programming.
  • 1987 GAMS becomes a commercial product
  • 1988 First PC System (16 bit)
  • 1988 Alex Meeraus, the initiator of GAMS and founder of GAMS Development Corporation, is awarded INFORMS Computing Society Prize
  • 1990 32 bit Dos Extender
  • 1990 GAMS moves to Georgetown, Washington, D.C.
  • 1991 Mixed Integer Non-Linear Programs capability (DICOPT)
  • 1994 GAMS supports mixed complementarity problems
  • 1995 MPSGE language is added for CGE modeling
  • 1996 European branch opens in Germany
  • 1998 32 bit native Windows
  • 1998 Stochastic programming capability (OSL/SE, DECIS)
  • 1999 Introduction of the GAMS Integrated development environment (IDE)
  • 2000 End of support for DOS & Win 3.11
  • 2000 GAMS World initiative started
  • 2001 GAMS Data Exchange (GDX) is introduced
  • 2002 GAMS is listed in OR/MS 50th Anniversary list of milestones
  • 2003 Conic programming is added
  • 2003 Global optimization in GAMS
  • 2004 Quality assurance initiative starts
  • 2004 Support for Quadratic Constrained programs
  • 2005 Support for 64 bit PC Operating systems (Mac PowerPC / Linux / Win)
  • 2006 GAMS supports parallel grid computing
  • 2007 GAMS supports open-source solvers from COIN-OR
  • 2007 Support for Solaris on Sparc64
  • 2008 Support for 32 and 64 bit Mac OS X
  • 2009 GAMS available on the Amazon Elastic Compute Cloud
  • 2009 GAMS supports extended mathematical programs (EMP)
  • 2010 GAMS is awarded the company award of the German Society of Operations Research (GOR)
  • 2010 GDXMRW interface between GAMS and Matlab
  • 2010 End of support for Mac PowerPC / Dec Alpha / SGI IRIX / HP-9000/HP-UX
  • 2011 Support for Extrinsic Function Libraries
  • 2011 End of support for Win95 / 98 / ME, and Win2000
  • 2012 The Winners of the 2012 INFORMS Impact Prize included Alexander Meeraus. The prize was awarded to the originators of the five most important algebraic modeling languages.
  • 2012 Introduction of Object Oriented API for .NET, Java, and Python
  • 2012 The winners of the 2012 Coin OR Cup included Michael Bussieck, Steven Dirkse, & Stefan Vigerske for GAMSlinks
  • 2012 End of support for 32 bit on Mac OS X
  • 2013 Support for distributed MIP (Cplex)
  • 2013 Stochastic programming extension of GAMS EMP
  • 2013 GDXRRW interface between GAMS and R
  • 2014 Local search solver LocalSolver added to solver portfolio
  • 2014 End of support for 32 bit Linux and 32 bit Solaris
  • 2015 LaTeX documentation from GAMS source (Model2TeX)
  • 2015 End of support for Win XP
  • 2016 New Management Team
  • 2017 EmbeddedCode Facility
  • 2017 C++ API
  • 2017 Introduction of "Core" and "Peripheral" platforms
  • 2018 GAMS Studio (Beta)
  • 2018 End of support for x86-64 Solaris
  • 2019 GAMS MIRO - Model Interface with Rapid Orchestration (Beta)
  • 2019 End of support for Win7, moved 32 bit Windows to peripheral platforms[4]
  • 2019 Altered versioning scheme to XX.Y.Z
  • 2020 Introduction of demo and community licensing scheme
  • 2020 Official release of GAMS MIRO (Model Interface with Rapid Orchestration) for deployment of GAMS models as interactive applications
  • 2021 Official release of GAMS Engine, the new solution for running GAMS jobs in cloud environments
  • 2022 Official release of GAMS Engine SaaS, the hosted version of GAMS Engine

Background Edit

The driving force behind the development of GAMS were the users of mathematical programming who believed in optimization as a powerful and elegant framework for solving real life problems in science and engineering. At the same time, these users were frustrated by high costs, skill requirements, and an overall low reliability of applying optimization tools. Most of the system's initiatives and support for new development arose in response to problems in the fields of economics, finance, and chemical engineering, since these disciplines view and understand the world as a mathematical program.

GAMS’s impetus for development arose from the frustrating experience of a large economic modeling group at the World Bank. In hindsight, one may call it a historic accident that in the 1970s mathematical economists and statisticians were assembled to address problems of development. They used the best techniques available at that time to solve multi-sector economy-wide models and large simulation and optimization models in agriculture, steel, fertilizer, power, water use, and other sectors. Although the group produced impressive research, initial success was difficult to reproduce outside their well functioning research environment. The existing techniques to construct, manipulate, and solve such models required several manual, time-consuming, and error-prone translations into different, problem-specific representations required by each solution method. During seminar presentations, modelers had to defend the existing versions of their models, sometimes quite irrationally, because of time and money considerations. Their models just could not be moved to other environments, because special programming knowledge was needed, and data formats and solution methods were not portable.

The idea of an algebraic approach to represent, manipulate, and solve large-scale mathematical models fused old and new paradigms into a consistent and computationally tractable system. Using generator matrices for linear programs revealed the importance of naming rows and columns in a consistent manner. The connection to the emerging relational data model became evident. Experience using traditional programming languages to manage those name spaces naturally lead one to think in terms of sets and tuples, and this led to the relational data model.

Combining multi-dimensional algebraic notation with the relational data model was the obvious answer. Compiler writing techniques were by now widespread, and languages like GAMS could be implemented relatively quickly. However, translating this rigorous mathematical representation into the algorithm-specific format required the computation of partial derivatives on very large systems. In the 1970s, TRW developed a system called PROSE that took the ideas of chemical engineers to compute point derivatives that were exact derivatives at a given point, and to embed them in a consistent, Fortran-style calculus modeling language. The resulting system allowed the user to use automatically generated exact first and second order derivatives. This was a pioneering system and an important demonstration of a concept. However, PROSE had a number of shortcomings: it could not handle large systems, problem representation was tied to an array-type data structure that required address calculations, and the system did not provide access to state-of-the art solution methods. From linear programming, GAMS learned that exploitation of sparsity was key to solving large problems. Thus, the final piece of the puzzle was the use of sparse data structures.

Lines starting with an * in column one are treated as comments.[5]: 32 

A sample model Edit

A transportation problem from George Dantzig is used to provide a sample GAMS model.[6] This model is part of the model library which contains many more complete GAMS models. This problem finds a least cost shipping schedule that meets requirements at markets and supplies at factories.

Dantzig, G B, Chapter 3.3. In Linear Programming and Extensions. Princeton University Press, Princeton, New Jersey, 1963.

 Sets i canning plants / seattle, san-diego / j markets / new-york, Chicago, topeka / ; Parameters a(i) capacity of plant i in cases / seattle 350 san-diego 600 / b(j) demand at market j in cases / new-york 325 Chicago 300 topeka 275 / ; Table d(i,j) distance in thousands of miles new-york Chicago topeka seattle 2.5 1.7 1.8 san-diego 2.5 1.8 1.4  ; Scalar f freight in dollars per case per thousand miles /90/ ; Parameter c(i,j) transport cost in thousands of dollars per case ; c(i,j) = f * d(i,j) / 1000 ; Variables x(i,j) shipment quantities in cases z total transportation costs in thousands of dollars ; Positive Variable x ; Equations cost define objective function supply(i) observe supply limit at plant i demand(j) satisfy demand at market j ; cost .. z =e= sum((i,j), c(i,j)*x(i,j)) ; supply(i) .. sum(j, x(i,j)) =l= a(i) ; demand(j) .. sum(i, x(i,j)) =g= b(j) ; Model transport /all/ ; Solve transport using lp minimizing z ; Display x.l, x.m ; 

Subsystems Edit

The Mathematical Programming System for General Equilibrium analysis (MPSGE) is a language used for formulating and solving Arrow–Debreu economic equilibrium models and exists as a subsystem within GAMS.[7]

See also Edit

References Edit

  1. ^ "44 Distribution". gams.com. Retrieved 2023-09-05.
  2. ^ Kallrath, Josef (2004). Modeling Languages in Mathematical Optimization (First ed.). Norwell, USA: Kluer Academic Publishers. p. 241. ISBN 978-1-4613-7945-4.
  3. ^ Toward a General Algebraic Modelling System (PDF). IX. International Symposium on Mathematical Programming. Budapest, Hungary. 1976. p. 185.
  4. ^ https://www.gams.com/blog/article/news/phasing-out-of-32-bit-support-with-gams-30/?tx_news_pi1%5Bcontroller%5D=News&tx_news_pi1%5Baction%5D=detail&cHash=42ad8bd6cb83482b9820e0af6e263f03[dead link]
  5. ^ Rosenthal, Richard E (2007). GAMS — A user's guide (PDF). Washington, DC, USA: GAMS Development Corporation. Retrieved 2020-12-20.
  6. ^ R E Rosenthal (1988). "Chapter 2: A GAMS Tutorial". GAMS: A User's Guide. The Scientific Press, Redwood City, California.
  7. ^ Rutherford, T. F. (1999). "Applied General Equilibrium Modeling with MPSGE as a GAMS Subsystem: An Overview of the Modeling Framework and Syntax". Computational Economics. 14: 1–4. doi:10.1023/A:1008655831209. S2CID 60954697.

External links Edit

  • GAMS Development Corporation
  • GAMS Software GmbH
  • GAMS World

general, algebraic, modeling, system, general, algebraic, modeling, system, gams, high, level, modeling, system, mathematical, optimization, gams, designed, modeling, solving, linear, nonlinear, mixed, integer, optimization, problems, system, tailored, complex. The general algebraic modeling system GAMS is a high level modeling system for mathematical optimization GAMS is designed for modeling and solving linear nonlinear and mixed integer optimization problems The system is tailored for complex large scale modeling applications and allows the user to build large maintainable models that can be adapted to new situations The system is available for use on various computer platforms Models are portable from one platform to another GAMSDeveloper s GAMS Development CorporationStable release44 3 0 1 September 2023 48 days ago 2023 09 01 1 PlatformCross platformTypeAlgebraic Modeling Language AML LicenseProprietaryWebsitewww wbr gams wbr comGAMS was the first algebraic modeling language AML 2 and is formally similar to commonly used fourth generation programming languages GAMS contains an integrated development environment IDE and is connected to a group of third party optimization solvers Among these solvers are BARON COIN OR solvers CONOPT COPT Cardinal Optimizer CPLEX DICOPT MOSEK SNOPT SULUM and XPRESS GAMS allows the users to implement a sort of hybrid algorithm combining different solvers Models are described in concise human readable algebraic statements GAMS is among the most popular input formats for the NEOS Server citation needed Although initially designed for applications related to economics and management science it has a community of users from various backgrounds of engineering and science Contents 1 Timeline 2 Background 3 A sample model 4 Subsystems 5 See also 6 References 7 External linksTimeline Edit1976 GAMS idea is presented at the International Symposium on Mathematical Programming ISMP Budapest 3 1978 Phase I GAMS supports linear programming Supported platforms Mainframes and Unix Workstations 1979 Phase II GAMS supports nonlinear programming 1987 GAMS becomes a commercial product 1988 First PC System 16 bit 1988 Alex Meeraus the initiator of GAMS and founder of GAMS Development Corporation is awarded INFORMS Computing Society Prize 1990 32 bit Dos Extender 1990 GAMS moves to Georgetown Washington D C 1991 Mixed Integer Non Linear Programs capability DICOPT 1994 GAMS supports mixed complementarity problems 1995 MPSGE language is added for CGE modeling 1996 European branch opens in Germany 1998 32 bit native Windows 1998 Stochastic programming capability OSL SE DECIS 1999 Introduction of the GAMS Integrated development environment IDE 2000 End of support for DOS amp Win 3 11 2000 GAMS World initiative started 2001 GAMS Data Exchange GDX is introduced 2002 GAMS is listed in OR MS 50th Anniversary list of milestones 2003 Conic programming is added 2003 Global optimization in GAMS 2004 Quality assurance initiative starts 2004 Support for Quadratic Constrained programs 2005 Support for 64 bit PC Operating systems Mac PowerPC Linux Win 2006 GAMS supports parallel grid computing 2007 GAMS supports open source solvers from COIN OR 2007 Support for Solaris on Sparc64 2008 Support for 32 and 64 bit Mac OS X 2009 GAMS available on the Amazon Elastic Compute Cloud 2009 GAMS supports extended mathematical programs EMP 2010 GAMS is awarded the company award of the German Society of Operations Research GOR 2010 GDXMRW interface between GAMS and Matlab 2010 End of support for Mac PowerPC Dec Alpha SGI IRIX HP 9000 HP UX 2011 Support for Extrinsic Function Libraries 2011 End of support for Win95 98 ME and Win2000 2012 The Winners of the 2012 INFORMS Impact Prize included Alexander Meeraus The prize was awarded to the originators of the five most important algebraic modeling languages 2012 Introduction of Object Oriented API for NET Java and Python 2012 The winners of the 2012 Coin OR Cup included Michael Bussieck Steven Dirkse amp Stefan Vigerske for GAMSlinks 2012 End of support for 32 bit on Mac OS X 2013 Support for distributed MIP Cplex 2013 Stochastic programming extension of GAMS EMP 2013 GDXRRW interface between GAMS and R 2014 Local search solver LocalSolver added to solver portfolio 2014 End of support for 32 bit Linux and 32 bit Solaris 2015 LaTeX documentation from GAMS source Model2TeX 2015 End of support for Win XP 2016 New Management Team 2017 EmbeddedCode Facility 2017 C API 2017 Introduction of Core and Peripheral platforms 2018 GAMS Studio Beta 2018 End of support for x86 64 Solaris 2019 GAMS MIRO Model Interface with Rapid Orchestration Beta 2019 End of support for Win7 moved 32 bit Windows to peripheral platforms 4 2019 Altered versioning scheme to XX Y Z 2020 Introduction of demo and community licensing scheme 2020 Official release of GAMS MIRO Model Interface with Rapid Orchestration for deployment of GAMS models as interactive applications 2021 Official release of GAMS Engine the new solution for running GAMS jobs in cloud environments 2022 Official release of GAMS Engine SaaS the hosted version of GAMS EngineBackground EditThe driving force behind the development of GAMS were the users of mathematical programming who believed in optimization as a powerful and elegant framework for solving real life problems in science and engineering At the same time these users were frustrated by high costs skill requirements and an overall low reliability of applying optimization tools Most of the system s initiatives and support for new development arose in response to problems in the fields of economics finance and chemical engineering since these disciplines view and understand the world as a mathematical program GAMS s impetus for development arose from the frustrating experience of a large economic modeling group at the World Bank In hindsight one may call it a historic accident that in the 1970s mathematical economists and statisticians were assembled to address problems of development They used the best techniques available at that time to solve multi sector economy wide models and large simulation and optimization models in agriculture steel fertilizer power water use and other sectors Although the group produced impressive research initial success was difficult to reproduce outside their well functioning research environment The existing techniques to construct manipulate and solve such models required several manual time consuming and error prone translations into different problem specific representations required by each solution method During seminar presentations modelers had to defend the existing versions of their models sometimes quite irrationally because of time and money considerations Their models just could not be moved to other environments because special programming knowledge was needed and data formats and solution methods were not portable The idea of an algebraic approach to represent manipulate and solve large scale mathematical models fused old and new paradigms into a consistent and computationally tractable system Using generator matrices for linear programs revealed the importance of naming rows and columns in a consistent manner The connection to the emerging relational data model became evident Experience using traditional programming languages to manage those name spaces naturally lead one to think in terms of sets and tuples and this led to the relational data model Combining multi dimensional algebraic notation with the relational data model was the obvious answer Compiler writing techniques were by now widespread and languages like GAMS could be implemented relatively quickly However translating this rigorous mathematical representation into the algorithm specific format required the computation of partial derivatives on very large systems In the 1970s TRW developed a system called PROSE that took the ideas of chemical engineers to compute point derivatives that were exact derivatives at a given point and to embed them in a consistent Fortran style calculus modeling language The resulting system allowed the user to use automatically generated exact first and second order derivatives This was a pioneering system and an important demonstration of a concept However PROSE had a number of shortcomings it could not handle large systems problem representation was tied to an array type data structure that required address calculations and the system did not provide access to state of the art solution methods From linear programming GAMS learned that exploitation of sparsity was key to solving large problems Thus the final piece of the puzzle was the use of sparse data structures Lines starting with an in column one are treated as comments 5 32 A sample model EditA transportation problem from George Dantzig is used to provide a sample GAMS model 6 This model is part of the model library which contains many more complete GAMS models This problem finds a least cost shipping schedule that meets requirements at markets and supplies at factories Dantzig G B Chapter 3 3 In Linear Programming and Extensions Princeton University Press Princeton New Jersey 1963 Sets i canning plants seattle san diego j markets new york Chicago topeka Parameters a i capacity of plant i in cases seattle 350 san diego 600 b j demand at market j in cases new york 325 Chicago 300 topeka 275 Table d i j distance in thousands of miles new york Chicago topeka seattle 2 5 1 7 1 8 san diego 2 5 1 8 1 4 Scalar f freight in dollars per case per thousand miles 90 Parameter c i j transport cost in thousands of dollars per case c i j f d i j 1000 Variables x i j shipment quantities in cases z total transportation costs in thousands of dollars Positive Variable x Equations cost define objective function supply i observe supply limit at plant i demand j satisfy demand at market j cost z e sum i j c i j x i j supply i sum j x i j l a i demand j sum i x i j g b j Model transport all Solve transport using lp minimizing z Display x l x m Subsystems EditThe Mathematical Programming System for General Equilibrium analysis MPSGE is a language used for formulating and solving Arrow Debreu economic equilibrium models and exists as a subsystem within GAMS 7 See also EditExtended Mathematical Programming EMP an extension to mathematical programming languages available within GAMS GNU MathProg an open source mathematical programming language based on AMPLReferences Edit 44 Distribution gams com Retrieved 2023 09 05 Kallrath Josef 2004 Modeling Languages in Mathematical Optimization First ed Norwell USA Kluer Academic Publishers p 241 ISBN 978 1 4613 7945 4 Toward a General Algebraic Modelling System PDF IX International Symposium on Mathematical Programming Budapest Hungary 1976 p 185 https www gams com blog article news phasing out of 32 bit support with gams 30 tx news pi1 5Bcontroller 5D News amp tx news pi1 5Baction 5D detail amp cHash 42ad8bd6cb83482b9820e0af6e263f03 dead link Rosenthal Richard E 2007 GAMS A user s guide PDF Washington DC USA GAMS Development Corporation Retrieved 2020 12 20 R E Rosenthal 1988 Chapter 2 A GAMS Tutorial GAMS A User s Guide The Scientific Press Redwood City California Rutherford T F 1999 Applied General Equilibrium Modeling with MPSGE as a GAMS Subsystem An Overview of the Modeling Framework and Syntax Computational Economics 14 1 4 doi 10 1023 A 1008655831209 S2CID 60954697 External links EditGAMS Development Corporation GAMS Software GmbH GAMS World Retrieved from https en wikipedia org w index php title General algebraic modeling system amp oldid 1176390860, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.