html5-img
1 / 15

A Constraint Programming Approach to the Hospitals / Residents Problem

A Constraint Programming Approach to the Hospitals / Residents Problem. By David Manlove, Gregg O’Malley, Patrick Prosser and Chris Unsworth. Contents. The Hospital/Residents Problem The Algorithms Cloned Solution Constraint Based Model (CBM) Specialised N-ary Constraint (HRN) Versatility

kreeli
Download Presentation

A Constraint Programming Approach to the Hospitals / Residents Problem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Constraint Programming Approach to theHospitals / Residents Problem By David Manlove, Gregg O’Malley, Patrick Prosser and Chris Unsworth

  2. Contents • The Hospital/Residents Problem • The Algorithms • Cloned Solution • Constraint Based Model (CBM) • Specialised N-ary Constraint (HRN) • Versatility • Conclusion • Questions

  3. The Hospital/Residents Problem • This is a real world problem • The National Resident Matching Program (NRMP) in the US • 31,000 residents matched to 2,300 hospitals • The Canadian Resident Matching Service (CaRMS) • The Scottish PRHO Allocation scheme (SPA)

  4. The Hospital/Residents Problem We have n residents and m hospitals Each hospital has a capacity c Each resident ranks the m hospitals And each hospital ranks the n residents Residents Hospitals H1 H2 : R2 R3 R1 : R2 R1 R3 R1 R2 R3 : H1 H2 : H1 H2 : H1 H2 (2) (1) Objective : To find a matching of residents to hospitals Such that the matching is Stable And the hospital capacities not exceeded

  5. The Hospital/Residents Problem A matching But not a stable one  R3 and H1 would both be better off if they were matched to each other Residents Hospitals H1 H2 : R2 R3 R1 : R2 R1 R3 R1 R2 R3 : H1 H2 : H1 H2 : H1 H2 (2) (1) In this matching R3 and H1 are a Blocking pair A matching is only stable iff it contains no Blocking pairs

  6. The Hospital/Residents Problem A stable matching Residents Hospitals H1 H2 : R2 R3 R1 : R2 R1 R3 R1 R2 R3 : H1 H2 : H1 H2 : H1 H2 (2) (1)

  7. The Algorithms • Two Algorithms • Resident-Oriented (RGS) • Hospital-Oriented (HGS) • Both reach a fixed point • RGS-lists • HGS-lists • Union of these is GS-lists • Both run in O(L) time and require O(nm) space

  8. Cloned Solution If a hospital has capacity > 1 It can be cloned into c hospitals with capacity 1 We then expand the residents preference lists Residents Hospitals H1 H2 : R2 R3 R1 : R2 R1 R3 R1 R2 R3 : H1 H2 : H1 H2 : H1 H2 : H1a H1b H2 : H1a H1b H2 : H1a H1b H2 H1a H1b H2 (1) (1) (1) : R2 R3 R1 : R2 R3 R1 : R2 R1 R3 (2) (1) This is now a stable marriage instance Which can be solved by any stable marriage solution

  9. Constraint Based Model (CBM) • a variable for each of the n Residents each with a domain (1 .. m) • C variables for each of the m Hospitals each with a domain (1 .. n) • O(Lc) standard “toolbox” constraints • Takes O(Lc(n+m)) time to enforce AC • Takes O(Lc) space

  10. Specialised N-ary Constraint (HRN) • a variable for each of the n Residents each with a domain (1 .. m) • a variables for each of the m Hospitals each with a domain (1 .. n) • 1 Specialised n-ary constraints • Details are in the paper • Takes O(Lc) time to enforce AC • Takes O(nm) space

  11. Versatility • Resident-exchange-stable • NP-Complete • Constraint for each r1,r2,h1,h2 combination • Such that: • r1 prefers h1 to h2 • r2 prefers h2 to h1 • r1=h2 r2≠h1 • r1=h2 r2≠h1

  12. Versatility • Forbidden pairs • Linear time solvable decision problem • Not all instances are solvable • Relaxed optimisation problem • No poly-time algorithm • Add {0,1} variable for each forbidden pair • Minimise the sum

  13. Versatility • Groups • No poly-time algorithm • Constraint for each group • r1=hi r2=hi • Ties in preference lists

  14. Conclusion • We have proposed three new constraint solutions to the Hospital/Residents problem • A Reformulation technique • A model that uses toolbox constraints • A specialised n-ary constraint • Demonstration of versatility

  15. Questions • Any Questions?

More Related