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

Recommend


More recommend