Skip to content

Package for simulating matching markets, assignment games, dynamic matching and non-bipartite matching.

Notifications You must be signed in to change notification settings

karthiktadepalli1/matchmaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Readme

matchmaker is a codebase in progress on which researchers can build to run simulations of matching markets, assignment markets, and dynamic matching markets. It implements markets as undirected graphs and produces matchings as undirected graphs with edges between two matched nodes. matchmaker is built upon the networkx library.

Goals

Matching simulations are useful in two main contexts:

  1. A researcher has a dataset of preferences for market participants, and wants to analyze counterfactual markets with this data. This frequently uses canonical mechanisms as comparisons, and quick-access implementations of those mechanisms would be helpful.
  2. A researcher wants to analyze a complex, multi-parameter market. The number of free parameters (e.g. time, entry/exit, compatibility, non-convex preferences, etc) makes this less amenable to theoretical analysis, so they would like to run simulations to see the outcomes of such a market.

The goal, then, is to aid researchers in both of these contexts. Three design features will help accomplish this:

  1. Comprehensiveness - the goal is to implement the most commonly-used subset of matching algorithms, making lives easier for the researchers who would otherwise have to implement these algorithms themselves.
  2. Usability - researchers are not the most tech-savvy people, and user-friendliness makes it more likely that they will prefer this package. Providing the tools very simply and making it easy to produce good visualizations is essential here.
  3. Flexibility - most researchers are working on matching models at the cutting edge, which means we necessarily cannot build those models in. The goal is to allow researchers to fork our code to implement their models relatively easily.

TODOs (9/30/20)

  1. Modify the setup to implement:
  • dynamic matching
  • many-to-one matching
  1. New algorithms:
  • competitive equilibrium with equal incomes
  1. Introduce visualization tools built on networkx and nxviz.
  2. Modify the implemented algorithms to work with indifferences in preferences.
  3. Introduce richer type spaces/utility functions rather than relying solely on ranks.

About

Package for simulating matching markets, assignment games, dynamic matching and non-bipartite matching.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages