thiloklein / matchingMarkets

Analysis of Stable Matchings in R ::
http://cran.r-project.org/package=matchingMarkets
40 stars 9 forks source link

A question on computation of bounds on latent valuations. #17

Closed zxjroger closed 4 years ago

zxjroger commented 5 years ago

Hi Prof. Klein,

I am trying to learn how to code the upper and lower bound of the latent valuation from your code. I read your note titled as "Analysis of Stable Matchings in R: Package matchingMarkets". For the two-sided matching with transferable utility, unlike in Sorenson(2007), the computation of these bounds should optimize over all matchings. I feel this should involve a bilevel optimization problem. Suppose match (1,1) is in the optimal matching, then the outer problem is to minimize valuation of match (1,1) subject to observed optimal matching; the inner problem is to find the optimal matching, given the valuation of all possible matches, by an integer linear programming.

I read your function of stabit2, but I don't really understand your algorithm to compute the bound. It seems that you also use the information of students' (schools') preferences over schools (students). Does your code also accommodate the case such that these preferences are unknown and we have to draw the valuation of one match conditional on all other matches and compute the bound accordingly in a two-sided matching with transferable utility?

For Bayesian estimation, I find a language called Stan. But Stan does not have a linear programming solver. I wonder if you are aware of it and how you compare the speed of computation in Stan with R? Thank you so much.

thiloklein commented 4 years ago

Hi Roger:

(1) The matchingMarkets package is written in C++, which considerably faster than R.

(2) The focus of the package is exclusively on matching with non-transferable utility.

All the best for your research, Thilo