GAMS Transfer

GAMS Transfer is a package to maintain GAMS data outside a GAMS script in a programming language like Python or Matlab. It allows the user to add GAMS symbols (Sets, Parameters, Variables and Equations), to manipulate GAMS symbols, read symbols from a GDX file or write them to one. While keeping those operations as simple as possible for the user, GAMS Transfer’s main focus is the highly efficient transfer of data between GAMS and the target programming language. In order to achieve this, symbol records – the actual and potentially large-scale data sets – are stored in native data structures of the corresponding programming languages, e.g., dataframes, tables or (sparse) matrices. The benefits of this approach are threefold: (1) The user is usually very familiar with these data structures, (2) these data structures come with a large tool box for various data operations, and (3) optimized methods for reading from and writing to GDX can transfer the data as a bulk – resulting in the high performance of this package.

In comparison to the GAMS API, GAMS Transfer focuses on data exchange. For this it is more efficient and offers a richer set of features to read and write GDX files. Moreover, GAMS Transfer comes with a more user-friendly interface than GDXMRW.

Navigate to the Class Reference or the GAMS Transfer Matlab Tutorial to learn more about how to use GAMS Transfer.