1 Student-Project Allocation with Preferences over Projects David Manlove Gregg OMalley University of Glasgow Department of Computing Science Supported.

Slides:



Advertisements
Similar presentations
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Advertisements

You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
EE384y: Packet Switch Architectures
Advanced Piloting Cruise Plot.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Chapter 1 The Study of Body Function Image PowerPoint
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
My Alphabet Book abcdefghijklm nopqrstuvwxyz.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Addition Facts
Strong Stability in the Hospitals/Residents Problem Robert W. Irving, David F. Manlove and Sandy Scott University of Glasgow Department of Computing Science.
1 Almost stable matchings in the Roommates problem David Abraham Computer Science Department Carnegie-Mellon University Péter Biró Department of Computer.
Modelling and Solving the Stable Marriage problem using Constraint Programming David Manlove and Gregg OMalley University Of Glasgow Department of Computing.
1 Approximability Results for Induced Matchings in Graphs David Manlove University of Glasgow Joint work with Billy Duckworth Michele Zito Macquarie University.
Stable Matching Problems with Constant Length Preference Lists Rob Irving, David Manlove, Gregg OMalley University Of Glasgow Department of Computing Science.
1 Almost stable matchings in the Roommates problem David Abraham Computer Science Department Carnegie-Mellon University, USA Péter Biró Department of Computer.
1 Student-Project Allocation with Preferences over Projects David Manlove University of Glasgow Department of Computing Science Joint work with Gregg OMalley.
Strong Stability in the Hospitals/Residents Problem
LAW February A 5/3 approximation algorithm for a hard case of stable marriage Rob Irving Computing Science Department University of Glasgow (joint.
Reductions Complexity ©D.Moshkovitz.
Richmond House, Liverpool (1) 26 th January 2004.
Randomized Algorithms Randomized Algorithms CS648 1.
ABC Technology Project
Prof. Swarat Chaudhuri COMP 482: Design and Analysis of Algorithms Spring 2013 Lecture 2.
1 Chapter 4 Greedy Algorithms Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
VOORBLAD.
1 Breadth First Search s s Undiscovered Discovered Finished Queue: s Top of queue 2 1 Shortest path from s.
BIOLOGY AUGUST 2013 OPENING ASSIGNMENTS. AUGUST 7, 2013  Question goes here!
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Squares and Square Root WALK. Solve each problem REVIEW:
© 2012 National Heart Foundation of Australia. Slide 2.
Lets play bingo!!. Calculate: MEAN Calculate: MEDIAN
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Chapter 5 Test Review Sections 5-1 through 5-4.
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
1 On c-Vertex Ranking of Graphs Yung-Ling Lai & Yi-Ming Chen National Chiayi University Taiwan.
Addition 1’s to 20.
25 seconds left…...
Januar MDMDFSSMDMDFSSS
1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11.
Week 1.
We will resume in: 25 Minutes.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Mathematics1 Mathematics 1 Applied Informatics Štefan BEREŽNÝ.
A SMALL TRUTH TO MAKE LIFE 100%
PSSA Preparation.
How Cells Obtain Energy from Food
Immunobiology: The Immune System in Health & Disease Sixth Edition
From Approximative Kernelization to High Fidelity Reductions joint with Michael Fellows Ariel Kulik Frances Rosamond Technion Charles Darwin Univ. Hadas.
Bart Jansen 1.  Problem definition  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least k leaves?
Equivalence Relations
Minimum Vertex Cover in Rectangle Graphs
Joint work with Rob Irving
Strong Stability in the Hospitals/Residents Problem Robert W. Irving, David F. Manlove and Sandy Scott University of Glasgow Department of Computing Science.
L3 #1 The Hospitals / Residents Problem and Some Extensions David Manlove University of Glasgow Department of Computing Science Supported by EPSRC grant.
Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science University of Glasgow David Abraham Computer Science Department.
Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science University of Glasgow David Abraham Computer Science Department.
Algorithms for Student-Project Allocation
1 “Almost stable” matchings in the Roommates problem David Abraham Computer Science Department Carnegie-Mellon University, USA Péter Biró Department of.
“Almost stable” matchings in the Roommates problem
A Grand Tour of Stable Matching Problems
Presentation transcript:

1 Student-Project Allocation with Preferences over Projects David Manlove Gregg OMalley University of Glasgow Department of Computing Science Supported by EPSRC grant GR/R84597/01, RSE / Scottish Exec Personal Research Fellowship

2 Background and motivation Students may undertake project work during degree course Set of students, projects and lecturers Typically a wide range of projects – exceeding number of students Students may rank projects in preference order Lecturers may have preferences over students / projects Projects / lecturers may have capacities

3 Related work Growing interest in automating the allocation process Efficient algorithms are important Formalise the matching problem The Student-Project Allocation problem (SPA) No explicit lecturer preferences University of Southampton Lecturer preferences over students 1. Project and lecturer capacities equal to 1 University of York, Department of Computer Science 2. Arbitrary project and lecturer capacities Abraham, Irving and DFM, The student-project allocation problem, Proc. ISAAC 2003, LNCS Abraham, Irving and DFM, Two algorithms for the student- project allocation problem, 2004, submitted

4 Lecturer preferences over projects Lecturer preferences over students Defaults to academic merit order? Weaker students obtain less preferable projects Lecturer preferences over projects Ranking could reflect research interests, for example Lecturer implicitly indifferent among all students who find a given project acceptable Student-Project Allocation problem with Project preferences (SPA-P) Seek a stable matching as a solution Roth (1984)

5 Formal definition of SPA-P Set of students S={s 1, s 2, …, s n } Set of projects P={p 1, p 2, …, p m } Set of lecturers L={l 1, l 2, …, l q } Each student s i finds acceptable a set of projects A i P s i ranks A i in strict order of preference Each project p j has a capacity c j Each lecturer l k has a capacity d k Each lecturer l k offers a set of projects P k P l k ranks P k in strict order of preference assume that P 1, P 2, …, P q partitions P

6 Example SPA-P instance Student preferencesLecturer preferencesLecturer capacities s 1 : p 1 p 4 p 3 l 1 : p 1 p 2 p 3 3 s 2 : p 5 p 1 Project capacities: s 3 : p 2 p 5 s 4 : p 4 p 2 l 2 : p 4 p 5 2 s 5 : p 5 p 2 Project capacities: 1 2 Lecturer capacities: d 1 = 3, d 2 = 2 Project capacities: c 1 = 1 ; c 2 = 2 ; c 3 = 1 ; c 4 = 2 ; c 5 = 1

7 A matching M is a subset of S × P such that 1. if (s i, p j ) M then p j A i, i.e. s i finds p j acceptable 2. s i S | p j P : (s i, p j ) M}| 1 3. p j P | s i S : (s i, p j ) M}| c j, 4. l k L | s i S : (s i, p j ) M p j P k }| d k If (s i, p j ) M, where l k offers p j, we say that s i is assigned to p j s i is assigned to l k p j is assigned s i l k is assigned s i For any assigned student s i, M ( s i ) denotes the project that s i is assigned to For any project p j, M ( p j ) denotes the set of students assigned to p j For any lecturer l k, M ( l k ) denotes the set of students assigned to (projects offered by) l k Definition of a matching

8 A matching M is a subset of S × P such that 1. if (s i, p j ) M then p j A i, i.e. s i finds p j acceptable 2. s i S | p j P : (s i, p j ) M}| 1 3. p j P | s i S : (s i, p j ) M}| c j, 4. l k L | s i S : (s i, p j ) M p j P k }| d k If (s i, p j ) M, where l k offers p j, we say that s i is assigned to p j s i is assigned to l k p j is assigned s i l k is assigned s i For any assigned student s i, M ( s i ) denotes the project that s i is assigned to For any project p j, M ( p j ) denotes the set of students assigned to p j For any lecturer l k, M ( l k ) denotes the set of students assigned to (projects offered by) l k Definition of a matching

9 A matching M is a subset of S × P such that 1. if (s i, p j ) M then p j A i, i.e. s i finds p j acceptable 2. s i S | p j P : (s i, p j ) M}| 1 3. p j P | s i S : (s i, p j ) M}| c j, 4. l k L | s i S : (s i, p j ) M p j P k }| d k If (s i, p j ) M, where l k offers p j, we say that s i is assigned to p j s i is assigned to l k p j is assigned s i l k is assigned s i For any assigned student s i, M ( s i ) denotes the project that s i is assigned to For any project p j, M ( p j ) denotes the set of students assigned to p j For any lecturer l k, M ( l k ) denotes the set of students assigned to (projects offered by) l k Definition of a matching

10 Example matching Student preferencesLecturer preferencesLecturer capacities s 1 : p 1 p 4 p 3 l 1 : p 1 p 2 p 3 2/3 s 2 : p 5 p 1 Project capacities: 0/1 1/2 1/1 s 3 : p 2 p 5 s 4 : p 4 p 2 l 2 : p 4 p 5 2/2 s 5 : p 5 p 2 Project capacities: 0/1 2/2 Lecturer capacities: d 1 = 3, d 2 = 2 Project capacities: c 1 = 1 ; c 2 = 2 ; c 3 = 1 ; c 4 = 1 ; c 5 = 2

11 Stable matchings (s i, p j ) is a blocking pair of a matching M if: 1. p j A i 2. Either s i is unmatched in M, or s i prefers p j to M(s i ) 3. p j is under-subscribed and either a) s i M(l k ) and l k prefers p j to M(s i ) b) s i M(l k ) and l k is under-subscribed c) s i M(l k ) and l k prefers p j to his worst non-empty project where l k is the lecturer who offers p j A matching M is stable if it admits no blocking pair

12 Example blocking pair (1) Student preferencesLecturer preferencesLecturer capacities s 1 : p 1 p 4 p 3 l 1 : p 1 p 2 p 3 2/3 s 2 : p 5 p 1 Project capacities: 0/1 1/2 1/1 s 3 : p 2 p 5 s 4 : p 4 p 2 l 2 : p 4 p 5 2/2 s 5 : p 5 p 2 Project capacities: 0/1 2/2 (s 1, p 1 ) is a blocking pair, since 3. p 1 is under-subscribed and a) s 1 M(l 1 ) and l 1 prefers p 1 to M(s 1 )=p 3

13 Example blocking pair (2) Student preferencesLecturer preferencesLecturer capacities s 1 : p 1 p 4 p 3 l 1 : p 1 p 2 p 3 2/3 s 2 : p 5 p 1 Project capacities: 0/1 1/2 1/1 s 3 : p 2 p 5 s 4 : p 4 p 2 l 2 : p 4 p 5 2/2 s 5 : p 5 p 2 Project capacities: 0/1 2/2 (s 2, p 1 ) is a blocking pair, since 3. p 1 is under-subscribed and b) s 2 M(l 1 ) and l 1 is under-subscribed

14 Example blocking pair (3) Student preferencesLecturer preferencesLecturer capacities s 1 : p 1 p 4 p 3 l 1 : p 1 p 2 p 3 2/3 s 2 : p 5 p 1 Project capacities: 0/1 1/2 1/1 s 3 : p 2 p 5 s 4 : p 4 p 2 l 2 : p 4 p 5 2/2 s 5 : p 5 p 2 Project capacities: 0/1 2/2 (s 4, p 4 ) is a blocking pair, since 3. p 4 is under-subscribed and c) s 4 M(l 2 ) and l 2 prefers p 4 to his worst non-empty project

15 Example stable matching Student preferencesLecturer preferencesLecturer capacities s 1 : p 1 p 4 p 3 l 1 : p 1 p 2 p 3 2/3 s 2 : p 5 p 1 Project capacities: 1/1 1/2 0/1 s 3 : p 2 p 5 s 4 : p 4 p 2 l 2 : p 4 p 5 2/2 s 5 : p 5 p 2 Project capacities: 1/1 1/2

16 Sizes of stable matchings Every instance of SPA-P admits at least one stable matching

17 Sizes of stable matchings Every instance of SPA-P admits at least one stable matching But, stable matchings can have different sizes, e.g. Student preferencesLecturer preferences s 1 : p 1 p 2 l 1 : p 1 s 2 : p 1 l 2 : p 2 (each project and lecturer has capacity 1)

18 Sizes of stable matchings Every instance of SPA-P admits at least one stable matching But, stable matchings can have different sizes, e.g. Student preferencesLecturer preferences s 1 : p 1 p 2 l 1 : p 1 s 2 : p 1 l 2 : p 2 (each project and lecturer has capacity 1) M 1 ={(s 1, p 1 )}

19 Sizes of stable matchings Every instance of SPA-P admits at least one stable matching But, stable matchings can have different sizes, e.g. Student preferencesLecturer preferences s 1 : p 1 p 2 l 1 : p 1 s 2 : p 1 l 2 : p 2 (each project and lecturer has capacity 1) M 1 ={(s 1, p 1 )} Student preferencesLecturer preferences s 1 : p 1 p 2 l 1 : p 1 s 2 : p 1 l 2 : p 2 (each project and lecturer has capacity 1) M 2 ={(s 1, p 2 ), (s 2, p 1 )}

20 Maximisation problem MAX-SPA-P denotes the problem of finding a maximum cardinality stable matching, given an instance of SPA-P There exists some >1 such that the problem of approximating MAX-SPA-P within is NP-hard Result holds even if each project and lecturer has capacity 1, and all preference lists are of constant length Gap-preserving reduction from Minimum Maximal Matching (MMM) There exists some >1 such that the problem of approximating MMM within is NP-hard Result holds even for subdivision graphs of cubic graphs Halldorsson, Irving, Iwama, DFM, Miyazaki, Morita and Scott, Approximability results for stable marriage problems with ties, Theoretical Computer Science, 2003

21 Approximation algorithm M = ; while (some student s i is free and s i has a nonempty list) { p j = first project on s i s list ; l k = lecturer who offers p j ; /* s i applies to p j */ p z = l k s worst non-empty project ; if (p j is full or (l k is full and p z = p j )) delete p j from s i s list ; else { M = M {(s i, p j )} ; /* s i is provisionally assigned /* to p j and l k */ if (l k is over-subscribed) { /* l k prefers p j to p z */ s r = some student in M(p z ); M = M \ {(s r, p z )} ; delete p z from s r s list ; } if (l k is full) { p z = l k s worst non-empty project ; for (each successor p t of p z on l k s list) for (each student s r such that s r A t ) delete p t from s r s list ; } } /* else */ } /* while */

22 Approximation algorithm M = ; while (some student s i is free and s i has a nonempty list) { p j = first project on s i s list ; l k = lecturer who offers p j ; /* s i applies to p j */ p z = l k s worst non-empty project ; if (p j is full or (l k is full and p z = p j )) delete p j from s i s list ; else { M = M {(s i, p j )} ; /* s i is provisionally assigned /* to p j and l k */ if (l k is over-subscribed) { /* l k prefers p j to p z */ s r = some student in M(p z ); M = M \ {(s r, p z )} ; delete p z from s r s list ; } if (l k is full) { p z = l k s worst non-empty project ; for (each successor p t of p z on l k s list) for (each student s r such that s r A t ) delete p t from s r s list ; } } /* else */ } /* while */

23 Approximation algorithm M = ; while (some student s i is free and s i has a nonempty list) { p j = first project on s i s list ; l k = lecturer who offers p j ; /* s i applies to p j */ p z = l k s worst non-empty project ; if (p j is full or (l k is full and p z = p j )) delete p j from s i s list ; else { M = M {(s i, p j )} ; /* s i is provisionally assigned /* to p j and l k */ if (l k is over-subscribed) { /* l k prefers p j to p z */ s r = some student in M(p z ); M = M \ {(s r, p z )} ; delete p z from s r s list ; } if (l k is full) { p z = l k s worst non-empty project ; for (each successor p t of p z on l k s list) for (each student s r such that s r A t ) delete p t from s r s list ; } } /* else */ } /* while */

24 Approximation algorithm M = ; while (some student s i is free and s i has a nonempty list) { p j = first project on s i s list ; l k = lecturer who offers p j ; /* s i applies to p j */ p z = l k s worst non-empty project ; if (p j is full or (l k is full and p z = p j )) delete p j from s i s list ; else { M = M {(s i, p j )} ; /* s i is provisionally assigned /* to p j and l k */ if (l k is over-subscribed) { /* l k prefers p j to p z */ s r = some student in M(p z ); M = M \ {(s r, p z )} ; delete p z from s r s list ; } if (l k is full) { p z = l k s worst non-empty project ; for (each successor p t of p z on l k s list) for (each student s r such that s r A t ) delete p t from s r s list ; } } /* else */ } /* while */

25 Approximation algorithm M = ; while (some student s i is free and s i has a nonempty list) { p j = first project on s i s list ; l k = lecturer who offers p j ; /* s i applies to p j */ p z = l k s worst non-empty project ; if (p j is full or (l k is full and p z = p j )) delete p j from s i s list ; else { M = M {(s i, p j )} ; /* s i is provisionally assigned /* to p j and l k */ if (l k is over-subscribed) { /* l k prefers p j to p z */ s r = some student in M(p z ); M = M \ {(s r, p z )} ; delete p z from s r s list ; } if (l k is full) { p z = l k s worst non-empty project ; for (each successor p t of p z on l k s list) for (each student s r such that s r A t ) delete p t from s r s list ; } } /* else */ } /* while */

26 Approximation algorithm M = ; while (some student s i is free and s i has a nonempty list) { p j = first project on s i s list ; l k = lecturer who offers p j ; /* s i applies to p j */ p z = l k s worst non-empty project ; if (p j is full or (l k is full and p z = p j )) delete p j from s i s list ; else { M = M {(s i, p j )} ; /* s i is provisionally assigned /* to p j and l k */ if (l k is over-subscribed) { /* l k prefers p j to p z */ s r = some student in M(p z ); M = M \ {(s r, p z )} ; delete p z from s r s list ; } if (l k is full) { p z = l k s worst non-empty project ; for (each successor p t of p z on l k s list) for (each student s r such that s r A t ) delete p t from s r s list ; } } /* else */ } /* while */

27 Theoretical results Algorithm produces a stable matching, given an instance of SPA-P So every instance of SPA-P admits a stable matching Algorithm may be implemented to run in O(L) time, where L is total length of the students preference lists Approximation algorithm has a performance guarantee of 2 Analysis is tight The constructed matching admits no exchange-blocking coalition

28 Open problems Improved approximation algorithm? Extend to the case where lecturers have preferences over (student, project) pairs E.g. l 1 : (s 1, p 2 ) (s 2, p 2 ) (s 1, p 3 ) … Ties in the preference lists Lower bounds on projects