GAMS Outline I Introduction Basic Modeling Compilation vs. Execution Input / Output Dynamic Sets Program Flow Control Exchanging Data with other Applications Introduction 2/90 GAMS (cid:73) The General Algebraic Modeling System (cid:73) Roots: World Bank, 1976 (cid:73) Went commercial in 1987 (cid:73) Application Areas: (cid:73) Agricultural Economics (cid:73) Applied General Equilibrium (cid:73) Chemical Engineering (cid:73) Economic Development (cid:73) Econometrics (cid:73) Energy (cid:73) Environmental Economics (cid:73) Engineering (cid:73) Finance (cid:73) Forestry (cid:73) International Trade (cid:73) Logistics (cid:73) Macro Economics (cid:73) Military (cid:73) Management Science/OR (cid:73) Mathematics (cid:73) ... Introduction 3/90 The Vision: World Bank Slide, 1976 Introduction 4/90 Language Declarative Language: (cid:73) Similar to mathematical notation (cid:73) Few basic language elements: sets, parameters, variables, equations, models (cid:73) Model is executable (algebraic) description of the problem Imperative Elements: (cid:73) Control flow statements: loops, for, if, ... (cid:73) build algorithms within GAMS (cid:73) exchange data with other systems Introduction 5/90 Independence of Model and Solver GAMS is not a Solver! GAMS: Model building and interaction with solvers and environment. Solver: Solve an instance (instantiation of a model with data) using mathematical optimization. (cid:73) Major commercial and academic solvers integrated: 31 solvers, half of them actively developed/updated (cid:73) Switch between solvers with one statement: option solver = scip; Introduction 6/90 Solvers ↔ Problemtypes (GAMS 24.5) LP MIP NLP MCP MPEC CNS DNLP MINLP QCP MIQCP Stoch.Global ALPHAECP x x ANTIGONE1.1 x x x x x x x BARON15.8 x x x x x x x x x BDMLP x x BONMIN1.8 x x CBC2.9 x x CONOPT3 x x x x x COUENNE0.5 x x x x x x x CPLEX12.6 x x x x DECIS x x DICOPT x x GUROBI6.0 x x x x IPOPT3.12 x x x x x KNITRO9.1 x x x x x x x LGO x x x x (x) LINDO9.0 x x x x x x x x x LOCALSOLVER5.5 x x x x x x x x MILES x MINOS x x x x x MOSEK7 x x x x x x MSNLP x x x (x) NLPEC x x OQNLP x x x x x (x) PATH x x SBB x x SCIP3.2 x x x x x x x x SNOPT x x x x x SOPLEX2.2 x SULUM4.3 x x XA x x XPRESS28.01 x x x x Introduction 7/90 Independence of Model and Platform Supported Platforms: Introduction 8/90 Documentation and Help Online: http://www.gams.com/help (withsearch) Offline: <GAMS system directory>/docs/index.html (nosearch,usegrep!) (cid:73) GAMS – A User’s Guide: Tutorial, Basics, Advanced Topics (cid:73) McCarl (Expanded) GAMS User Guide (cid:73) Solver Manuals (cid:73) Tools Manuals (cid:73) APIs: Tutorials and Reference Manuals (cid:73) Release Notes Tutorial Videos: http://www.youtube.com/user/GAMSLessons Support wiki: http://support.gams.com/doku.php Discussion group: http://www.gamsworld.org/ Introduction 9/90 (cid:73) GAMS API Library (cid:73) scripts to compile and execute GAMS API examples (cid:73) GAMS Data Utilities Library (cid:73) demonstrate utilities to interface GAMS with other applications (cid:73) GAMS EMP Library (cid:73) illustrate and test capabilities of extended mathematical programming facility (cid:73) Contributed Libraries: (cid:73) FINLIB – financial optimization models (by Consiglio, Nielsen and Zenios) (cid:73) NOALIB – nonlinear optimization applications models (by Neculai Andrei) (cid:73) GAMS Testlib Library (cid:73) testing and quality control Model Libraries Online: http://www.gams.com/modlibs Offline: gamslib, apilib, datalib, emplib, testlib tools (cid:73) GAMS Model Library (cid:73) representing interesting and sometimes classic problems (cid:73) illustrating GAMS modeling capabilities Introduction 10/90
Description: