matchingMarkets: Analysis of Stable Matchings in R
Get started by installing the R software for statistical computing.
To get the latest stable version of the package from CRAN:
Under Linux, the dependency package
gmp requires that you have GNU MP (> 4.1.4) installed:
$ sudo apt-get install libgmp-dev. See http://gmplib.org.
To get the most recent development version from GitHub:
install.packages("devtools") devtools::install_github("thiloklein/matchingMarkets") library(matchingMarkets)
or from R-Forge:
install.packages("matchingMarkets", repos="http://R-Forge.R-project.org") library(matchingMarkets)
Java Note 1: If you get a Java error such as
JAVA_HOME cannot be determined from the Registry, this can be resolved by either running
install.packages() with the
INSTALL_opts = "--no-multiarch" argument or by installing a Java version (i.e. 64-bit Java or 32-bit Java) that fits to the type of R version that you are using (i.e. 64-bit R or 32-bit R). This problem can easily effect Windows 7 users, since they might have installed a version of Java that is different than the version of R they are using. See this post and download the Java version from the Oracle website.
Java Note 2: If the installation of the dependent
rJava package fails with configuration failed for package ‘rJava’, this can be fixed in Linux by
$ sudo apt-get install r-cran-rjava.
matchingMarkets R package comes with two estimators:
stabit: Implements a Bayes estimator that corrects for sample selection in matching markets when the selection process is a one-sided matching game (i.e. group formation).
and algorithms that can be used to simulate matching data:
hri: Constraint model for the hospital/residents problem. Finds all stable matchings in two-sided matching markets. Implemented for both the stable marriage problem (one-to-one matching) and the hospital/residents problem, also known as college admissions problem (many-to-one matching).
hri2: Roth-Peranson Algorithm for the hospital/residents problem with couples. Finds the resident-optimal stable matching (if one exists) in the two-sided matching market.
iaa: Immediate Acceptance Algorithm (a.k.a. Boston mechanism): First-preference-first algorithm used for school choice in many countries. And Gale-Shapley Deferred Acceptance Algorithm.
sri: Constraint model for the stable roommates problem. Finds all stable matchings in the roommates problem (one-sided matching market).
plp: Partitioning Linear Programme. Finds the unique matching in the roommates problem (one-sided matching market) with transferable utility.
rsd: Random serial dictatorship mechanism.
ttc: Top-Trading-Cycles Algorithm. Finds efficient matchings in the housing market problem.
ttc2: Top-Trading-Cycles Algorithm for a two sided matching problem.
ttcc: Top-Trading-Cycles and Chains Algorithm for the kidney exchange problem.
sri are based on Patrick Prosser's n-ary constraint encoding model. They allow for incomplete preference lists (some agents find certain agents unacceptable) and unbalanced instances (unequal number of agents on both sides).