MPSGE Overview
February 27, 2026
At its core, the MPSGE.jl package creates a JuMP.jl model with the necessary constraints of a CGE model. Namely: zero profit, income balance, market clearance, and any auxiliary constraints. This appendix gives the mathematical background on how these constraints are created given a model specified by MPSGE. Read more
Basic Structure of a Scalar MPSGE.jl Model
February 16, 2026
This example will create a model three ways: in MPSGE/GAMS, in MPSGE.jl, and as an explicit algebraic MCP using JuMP.jl. This example will assume that you are familiar with MPSGE/GAMS syntax and are interested in experimenting with Julia. The MPSGE.jl syntax is designed to mirror the MPSGE/GAMS syntax as closely as possible, so if you are familiar with MPSGE/GAMS, you should be able to understand MPSGE.jl with ease. Read more
A Julia/JuMP Introduction
January 31, 2026
This example will introduce the basic syntax of JuMP, a modeling language for optimization problems in Julia. We start with a simple example to introduce syntactic elements of JuMP and compare it to GAMS syntax. Then we will detail a slightly larger example. Read more
Aggregating WiNDC National
January 06, 2026
This example will walk through the code in this repository. This repository contains an example aggregating the WiNDC National dataset to a size that can be run with a trial PATH license (less than 300 variables in the model). Read more
Closed Economy Model with Monopoly in the X Sector
July 23, 2025
This example is a conversion of the Markusen M51 model into Julia. This is a standard two-good, two-factor, closed-economy general-equilibrium model. Activities are X, Y and W (welfare or utility). Factors of production are called unskilled and skilled labor. Unskilled labor is typically called L with a price of PW or just W, and skilled labor is called S with a price of PZ or just Z. PU is the price of a unit of utility (the value of the unit expenditure function). Read more