summer school on matching problems markets and mechanisms
play

Summer School on Matching Problems, Markets and Mechanisms David - PowerPoint PPT Presentation

Summer School on Matching Problems, Markets and Mechanisms David Manlove Nobel prize in Economic Sciences, 2012 1 Outline 1. The Hospitals / Residents problem and its variants 2. The House Allocation problem 3. Kidney exchange 2 Tutorial 1


  1. Summer School on Matching Problems, Markets and Mechanisms David Manlove

  2. Nobel prize in Economic Sciences, 2012 1

  3. Outline 1. The Hospitals / Residents problem and its variants 2. The House Allocation problem 3. Kidney exchange 2

  4. Tutorial 1 The Hospitals / Residents problem and its variants with applications to Junior Doctor Allocation 3

  5. Primer: computational complexity (1) l Given two functions f and g , we say f ( n )=O( g ( n )) if there are positive constants c and N such that f ( n ) ≤ c . g ( n ) for all n ≥ N l An algorithm for a problem has time complexity O( g ( n )) if its running time f satisfies f ( n )=O( g ( n )) where n is the input size l An algorithm runs in polynomial time if its time complexity is O( n c ) for some constant c , where n is the input size l A decision problem is a problem whose solution is yes or no for any input l A decision problem belongs to the class P if it has a polynomial- time algorithm l If a decision problem is NP-complete it has no polynomial-time algorithm unless P=NP 4

  6. Primer: computational complexity (2) l An optimisation problem is a problem that involves maximising or minimising (subject to a suitable measure) over a set of feasible solutions for a given instance – e.g., colour a graph using as few colours as possible l If an optimisation problem is NP-hard it has no polynomial-time algorithm unless P=NP l An approximation algorithm A for an optimisation problem is a polynomial-time algorithm that produces a feasible solution A ( I ) for any instance I l A has performance guarantee c , for some c >1 if – | A ( I )| ≤ c . opt ( I ) for any instance I (in the case of a minimisation problem) – | A ( I )| ≥ (1/ c ). opt ( I ) for any instance I (in the case of a maximisation problem) where opt ( I ) is the measure of an optimal solution 5

  7. Centralised matching schemes l Intending junior doctors must undergo training in hospitals l Applicants rank hospitals in order of preference l Hospitals do likewise with their applicants l Centralised matching schemes (clearinghouses) produce a matching in several countries – US (National Resident Matching Program) – Canada (Canadian Resident Matching Service) – Japan (Japan Residency Matching Program) – Scotland (Scottish Foundation Allocation Scheme) • typically 700-750 applicants and 50 hospitals l Stability is the key property of a matching – [Roth, 1984] 6

  8. Tutorial Outline 1.1: Classical Hospitals / Residents problem 1.2: Hospitals / Residents problem with Ties 1.3: Hospitals / Residents problem with Couples 1.4: “Almost stable” matchings 1.5: Social Stability 7

  9. Tutorial Outline 1.1: Classical Hospitals / Residents problem 1.2: Hospitals / Residents problem with Ties 1.3: Hospitals / Residents problem with Couples 1.4: “Almost stable” matchings 1.5: Social Stability 8

  10. Hospitals / Residents problem (HR) l Underlying theoretical model: Hospitals / Residents problem (HR) l We have n 1 residents r 1 , r 2 , …, r n 1 and n 2 hospitals h 1 , h 2 , …, h n 2 l Each hospital has a capacity l Residents rank hospitals in order of preference, hospitals do likewise l r finds h acceptable if h is on r ’s preference list, and unacceptable otherwise (and vice versa) l A matching M is a set of resident-hospital pairs such that: 1. ( r , h ) ∈ M ⇒ r , h find each other acceptable 2. No resident appears in more than one pair 3. No hospital appears in more pairs than its capacity 9

  11. HR: example instance r 1 : h 2 h 1 r 2 : h 1 h 2 Each hospital has capacity 2 r 3 : h 1 h 3 h 1 : r 1 r 3 r 2 r 5 r 6 r 4 : h 2 h 3 h 2 : r 2 r 6 r 1 r 4 r 5 r 5 : h 2 h 1 h 3 : r 4 r 3 r 6 : h 1 h 2 Resident preferences Hospital preferences 10

  12. HR: example matching r 1 : h 2 h 1 r 2 : h 1 h 2 Each hospital has capacity 2 r 3 : h 1 h 3 h 1 : r 1 r 3 r 2 r 5 r 6 r 4 : h 2 h 3 h 2 : r 2 r 6 r 1 r 4 r 5 r 5 : h 2 h 1 h 3 : r 4 r 3 r 6 : h 1 h 2 Resident preferences Hospital preferences M = {( r 1 , h 1 ), ( r 2 , h 2 ), ( r 3 , h 3 ), ( r 5 , h 2 ), ( r 6 , h 1 )} (size 5 ) 11

  13. HR: stability l Matching M is stable if M admits no blocking pair – ( r , h ) is a blocking pair of matching M if: 1. r , h find each other acceptable and 2. either r is unmatched in M or r prefers h to his/her assigned hospital in M and 3. either h is undersubscribed in M or h prefers r to its worst resident assigned in M 12

  14. HR: blocking pair (1) r 1 : h 2 h 1 r 2 : h 1 h 2 Each hospital has capacity 2 r 3 : h 1 h 3 h 1 : r 1 r 3 r 2 r 5 r 6 r 4 : h 2 h 3 h 2 : r 2 r 6 r 1 r 4 r 5 r 5 : h 2 h 1 h 3 : r 4 r 3 r 6 : h 1 h 2 Resident preferences Hospital preferences M = {( r 1 , h 1 ), ( r 2 , h 2 ), ( r 3 , h 3 ), ( r 5 , h 2 ), ( r 6 , h 1 )} (size 5 ) ( r 2 , h 1 ) is a blocking pair of M 13

  15. HR: blocking pair (2) r 1 : h 2 h 1 r 2 : h 1 h 2 Each hospital has capacity 2 r 3 : h 1 h 3 h 1 : r 1 r 3 r 2 r 5 r 6 r 4 : h 2 h 3 h 2 : r 2 r 6 r 1 r 4 r 5 r 5 : h 2 h 1 h 3 : r 4 r 3 r 6 : h 1 h 2 Resident preferences Hospital preferences M = {( r 1 , h 1 ), ( r 2 , h 2 ), ( r 3 , h 3 ), ( r 5 , h 2 ), ( r 6 , h 1 )} (size 5 ) ( r 4 , h 2 ) is a blocking pair of M 14

  16. HR: blocking pair (3) r 1 : h 2 h 1 r 2 : h 1 h 2 Each hospital has capacity 2 r 3 : h 1 h 3 h 1 : r 1 r 3 r 2 r 5 r 6 r 4 : h 2 h 3 h 2 : r 2 r 6 r 1 r 4 r 5 r 5 : h 2 h 1 h 3 : r 4 r 3 r 6 : h 1 h 2 Resident preferences Hospital preferences M = {( r 1 , h 1 ), ( r 2 , h 2 ), ( r 3 , h 3 ), ( r 5 , h 2 ), ( r 6 , h 1 )} (size 5 ) ( r 4 , h 3 ) is a blocking pair of M 15

  17. HR: stable matching r 1 : h 2 h 1 r 2 : h 1 h 2 Each hospital has capacity 2 r 3 : h 1 h 3 h 1 : r 1 r 3 r 2 r 5 r 6 r 4 : h 2 h 3 h 2 : r 2 r 6 r 1 r 4 r 5 r 5 : h 2 h 1 h 3 : r 4 r 3 r 6 : h 1 h 2 Resident preferences Hospital preferences M = {( r 1 , h 2 ), ( r 2 , h 1 ), ( r 3 , h 1 ), ( r 4 , h 3 ), ( r 6 , h 2 )} (size 5 ) r 5 is unmatched h 3 is undersubscribed 16

  18. HR: classical results l A stable matching always exists and can be found in linear time [Gale and Shapley, 1962; Gusfield and Irving, 1989] l There are resident-optimal and hospital-optimal stable matchings l Stable matchings form a distributive lattice [Conway, 1976; Gusfield and Irving, 1989] l “Rural Hospitals Theorem”: for a given instance of HR: 1. the same residents are assigned in all stable matchings; 2. each hospital is assigned the same number of residents in all stable matchings; 3. any hospital that is undersubscribed in one stable matching is assigned exactly the same set of residents in all stable matchings. – [Roth, 1984; Gale and Sotomayor, 1985; Roth, 1986] 17

  19. Resident-oriented Gale-Shapley algorithm M = ∅ ; while (some resident r i is unmatched and has a non-empty list) { r i applies to the first hospital h j on his list; M = M ∪ {(r i ,h j )}; if (h j is over-subscribed) { r k = worst resident assigned to h j ; M = M \ {(r k ,h j )}; } if (h j is full) { r k = worst resident assigned to h j ; for (each successor r l of r k on h j ’ s list) { delete r l from h j ’ s list; delete h j from r l ’ s list; } } } 18

  20. RGS algorithm: example r 1 : h 2 h 1 r 2 : h 1 h 2 Each hospital has capacity 2 r 3 : h 1 h 3 h 1 : r 1 r 3 r 2 r 5 r 6 r 4 : h 2 h 3 h 2 : r 2 r 6 r 1 r 4 r 5 r 5 : h 2 h 1 h 3 : r 4 r 3 r 6 : h 1 h 2 Resident preferences Hospital preferences 19

  21. RGS algorithm: example r 1 : h 2 h 1 r 2 : h 1 h 2 Each hospital has capacity 2 r 3 : h 1 h 3 h 1 : r 1 r 3 r 2 r 5 r 6 r 4 : h 2 h 3 h 2 : r 2 r 6 r 1 r 4 r 5 r 5 : h 2 h 1 h 3 : r 4 r 3 r 6 : h 1 h 2 Resident preferences Hospital preferences Stable matching: M = {( r 1 , h 2 ), ( r 2 , h 1 ), ( r 3 , h 1 ), ( r 4 , h 3 ), ( r 6 , h 2 )} 20

  22. Tutorial Outline 1.1: Classical Hospitals / Residents problem 1.2: Hospitals / Residents problem with Ties 1.3: Hospitals / Residents problem with Couples 1.4: “Almost stable” matchings 1.5: Social Stability 21

  23. Hospitals / Residents problem with Ties l In practice, residents’ preference lists are short l Hospitals’ lists are generally long, so ties may be used – Hospitals / Residents problem with Ties ( HRT ) l A hospital may be indifferent among several residents l E.g., h 1 : (r 1 r 3 ) r 2 (r 5 r 6 r 8 ) l Matching M is stable if there is no pair ( r , h ) such that: 1. r , h find each other acceptable 2. either r is unmatched in M or r prefers h to his/her assigned hospital in M 3. either h is undersubscribed in M or h prefers r to its worst resident assigned in M l A matching M is stable in an HRT instance I if and only if M is stable in some instance I ʹ″ of HR obtained from I by breaking the ties [M et al, 1999] 22

  24. HRT: stable matching (1) r 1 : h 1 h 2 r 2 : h 1 h 2 Each hospital has capacity 2 r 3 : h 1 h 3 h 1 : r 1 r 2 r 3 r 5 r 6 r 4 : h 2 h 3 h 2 : r 2 r 1 r 6 (r 4 r 5 ) r 5 : h 2 h 1 h 3 : r 4 r 3 r 6 : h 1 h 2 Resident preferences Hospital preferences 23

  25. HRT: stable matching (1) r 1 : h 1 h 2 r 2 : h 1 h 2 Each hospital has capacity 2 r 3 : h 1 h 3 h 1 : r 1 r 2 r 3 r 5 r 6 r 4 : h 2 h 3 h 2 : r 2 r 1 r 6 (r 4 r 5 ) r 5 : h 2 h 1 h 3 : r 4 r 3 r 6 : h 1 h 2 Resident preferences Hospital preferences M = {( r 1 , h 1 ), ( r 2 , h 1 ), ( r 3 , h 3 ), ( r 4 , h 2 ), ( r 6 , h 2 )} (size 5 ) 24

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend