The INFORMS Annual Meeting 2017 will be held in Houston, TX, October 22-25, and we will be taking part with an exhibit booth and presentations. Visit our booth for a chat - give us feedback or share your experiences with GAMS.
Fred, Lutz, Michael and Steve will be at the conference and are looking forward to meeting you at our booth (#12)!
GAMS Technology Workshop: An introduction and selected advanced topics
by Lutz Westermann and Fred Fiand
Saturday, 21 Oct, 16:00-18:30
Convention Center - 340B, level 3
We start with the basics of GAMS to develop algebraic models, solve them using state-of-the art algorithms, and introduce the key concepts of GAMS and the fundamentals of the language (e.g. sets, data, variables, equations). The largest part of the workshop will consist of a demonstration, where we are going to build a simple optimization based decision support application from scratch. We show how GAMS supports an easy growth path to larger and more sophisticated models, promotes speed and reliability during the development phase of optimization models, and provides access to the most powerful large-scale solver packages. Along the way we will look at some of the data management tools included in the GAMS system and show how to analyze and debug large problems using the various tools available within GAMS.
This introduction assumes no familiarity with GAMS.
After a short break we will continue with the second part, which is catered to the requirements of advanced GAMS users and application builders. It provides a great opportunity to learn about selected topics and recently added features like:
– The use of the GAMS Object-Oriented API’s to integrate GAMS models into different environments, like C#, Python, and Java.
– Code embedding in GAMS
– Stochastic programming in GAMS
Tutorial Session: "GAMS - An Introduction"
by Steven Dirkse
Sunday, 22 Oct, 11:00 - 11:45
session SB77 - room 372F
We’ll introduce the key concepts of the GAMS language (e.g. sets, data, variables, equations) as we show how to build an optimization-based decision support application. Along the way, we’ll show how GAMS supports an easy growth path to larger and more sophisticated models and provides access to the most powerful large-scale solver packages. We will also look at some of the data management tools included in the GAMS system and show how to analyze and debug large problems using the various tools available within GAMS. Finally, we’ll show how our latest release supports integrating GAMS with object-oriented programming languages like C#, Python, and Java.
Embedded Code in GAMS - Using Python as an Example
by Lutz Westermann & Michael Bussieck
Tuesday, 24 Oct, 10:30 - 12:00
session TB74 - room 372C
This talk is about a recent extension of the General Algebraic Modeling System (GAMS): The "Embedded Code" facility. With the data model used by GAMS, code for parallel assignment and equation definition is compact, elegant, and efficient. However, traditional data structures (arrays, lists, ...) are not natively available. Though it is possible to represent such data structures, the GAMS code can become unwieldy or inefficient.
To overcome this and other issues, the Embedded Code facility was introduced recently. It allows the use of external code (e.g. Python) to access GAMS symbols in memory, so that the user can concentrate on the task at hand and not the mechanics of moving data in and out of GAMS.
High Performance Computing with GAMS
Frederik Fiand & Michael Bussieck
Sunday, 22 Oct, 16:30 - 18:00
session SD77 - room 372F
BEAM-ME is a project addressing the need for new and improved solution approaches for energy system models of vast size. The focus is on large-scale LPs having a block structure that is not well exploited by state-of-the-art LP solvers. Without considering this structure the models quickly become intractable. We develop new solution algorithms that exploit the block structure and utilize HPC environments. We discuss extensions to GAMS that allow annotations specifying block structure, as well as other challenges overcome to produce some initial results.