Computable General Equilibrium (CGE) models are large systems of non-linear equations that combine economic theory with real economic data to describe impacts of policies or shocks in the economy. Currently these problems are predominately solved using GAMS which is an expensive, closed source solution. We have created a package called GamsStructure.jl to emulate GAMS data manipulation in Julia. We will discuss several models created in both GAMS and Julia to highlight key similarities.
GAMS, or General Algebraic Modelling System, is used extensively to solve economic optimization problems. Originally released in 1987, the language lacks many conveniences of a modern language such as case sensitivity. Julia JuMP is a natural successor to GAMS allowing for a complete model description, from data cleaning to solving a model to displaying the data.
A large issue is converting GAMS users to Julia. GAMS has been in use for 35 years and the people that use GAMS are accustomed to the compact, self-documenting syntax that GAMS allows. To bridge this gap, we have created a Julia package called GamsStructure.jl. This package has been designed to emulate loading and manipulating data in GAMS, and has built in mechanisms to attach a description to Sets and Parameters.
Being an old language in heavy use GAMS has a rich library of examples and sample code to assist modelers in building complex models. We are working on translating many of these models into Julia and building a repository to share with the general community. We are also preparing a paper comparing the impacts of policing on tourism in Jamaica using both GAMS and Julia.