Wednesday, October 21, 2009

Informs powerpoint


Powerpoint from INFORMS presentation Data and Software Interoperability with GAMS at San Diego INFORMS meeting.

Basic ideas:

  1. Specialized Modeling Languages such as AMPL and GAMS are in many cases more efficient than using traditional programming languages, even when fortified with a modeling API (Ilog Concert or MS SFS). It is unfortunate that those environments are getting as much attention as they do.
  2. GAMS/GDX is a tool that really works. Some large scale examples are shown.
  3. Problems in the interface between systems (e.g between modeling language and database) are to be expected. These are the seams of an application, and here is where problems are more likely to occur. This is unfortunate because fixing these problems is more difficult: you need knowledge about both systems e.g. SQL and GAMS to debug. This is an extension of Murphy’s law: bugs appear where they are most difficult to debug and fix.
  4. SQL2GMS/MDB2GMS is less elegant than direct access through specialized syntax as in AMPL. However the big advantage is that we can repair problems on-the-fly using SQL. SQL is typically good in fixing problems where GAMS is less well-suited (e.g. string processing). In practice almost all data import requires some fixing.
  5. GAMS is one of the modeling languages that is very well equipped to do data manipulation. For some policy evaluation models this is very important. Some numerical evidence is given about such models: large models with > 95% of the code dedicated to data manipulation. GAMS excels when dealing with sparse data.
  6. New facilities in GAMS allow to call external programs and exchange data through GDX. This works but can be cumbersome. A proposal is presented to allow for direct function calls to external functions.