'math+econ+code' masterclass
on optimal transport
and economic applications
January 1014, 2022
This intensive course, part of the ‘math+econ+code’ series, is focused on models of demand, matching models, and optimal transport methods, with various applications pertaining to labor markets, economics of marriage, industrial organization, matching platforms, networks, and international trade, from the crossed perspectives of theory, empirics and computation. It will introduce tools from economic theory, mathematics, econometrics and computing, on a needs basis, without any particular prerequisite other than the equivalent of a first year graduate sequence in econ or in applied math.
Because it aims at providing a bridge between theory and practice, the teaching format is somewhat unusual: each teaching “block” will be made of a mix of theory and coding (in Python), based on an empirical application related to the theory just seen. Students will have the opportunity to write their own code, which is expected to be operational at the end of each block. This course is therefore closer to cooking lessons than to traditional lectures.
Practical information
• The course will be taught over five consecutive days, Jan 1014, 8am12pm NY time, 2pm6pm Paris time.
• Additionally, five special lectures will be taught online on a monthly basis afterwards. Precise days of the lectures will be announced later.
• The instructor is Alfred Galichon (professor of economics and of mathematics at NYU and principal investigator of the ERCfunded project 'equiprice' at Sciences Po), and the TA is Clement Montes (Sciences Po).
• Seats are limited. To apply, fill out the following form and have a faculty advisor send a reference letter to math.econ.code@gmail.com. The first deadline to apply is November 30, 2021.
Course outline
Day 1: Linear programming fundamentals

The diet problem

Optimal assignments and the Becker model

Intro to the toolchain: docker, github, jupyter

The Gurobi library
Day 2: The optimal assignment problem

Entropic regularization, the IPFP algorithm

Semidiscrete case, Aurenhammer's algorithm
Day 3: Discrete choice models

Discrete choice models and their inversion

Generalized linear models

Regularization and model selection: LASSO, elastic nets, etc.

The scikitlearn library
Day 4: Demand estimation

The pure characteristics model

BerryLevinsohnPakes' random coefficient logit model

The pyblp package
Day 5: Matching estimation and the gravity equation

The Choo and Siow model and its offsprings

Matching estimation and the gravity equation
+ 5 special lectures

Networks 1

Networks 2

Dynamic programming 1

Dynamic programming 2

Quantile methods
Advanced lectures
Special lecture 1
Networks 1
January 2022

Introduction to networks

Topology on networks

Markov chains on networks

The networkx and the osmnx libraries
Special lecture 2
Dynamic programming 1
February 2022

Finitehorizon dynamic programming

Backward and forward induction

Linear programming formulation
Special lecture 3
Networks 2
March 2022

Finitehorizon dynamic programming

Mincost flow problems

Shortest path problems

The BellmanFord and Dijkstra algorithms
Special lecture 4
Dynamic programming 2
April 2022

Infinitehorizon dynamic programming

Stationarity

Unit discount rate

Linear programming and LCP formulation
Special lecture 5
Quantile methods
May 2022

Quantiles and optimal transport

Classical quantile regression

Vector quantile regression