Student-Project Allocation with Preferences over Projects - PowerPoint PPT Presentation

About This Presentation
Title:

Student-Project Allocation with Preferences over Projects

Description:

University of Southampton. Lecturer preferences over students ... University of York, Department of Computer Science. Arbitrary project and lecturer capacities ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 29
Provided by: dcsG6
Category:

less

Transcript and Presenter's Notes

Title: Student-Project Allocation with Preferences over Projects


1
Student-Project Allocation withPreferences over
Projects
  • David Manlove
  • Gregg OMalley
  • University of GlasgowDepartment 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
  • Project and lecturer capacities equal to 1
  • University of York, Department of Computer
    Science
  • 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 preferencesover 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 Ss1, s2, , sn
  • Set of projects Pp1, p2, , pm
  • Set of lecturers Ll1, l2, , lq
  • Each student si finds acceptable a set of
    projects Ai ? P
  • si ranks Ai in strict order of preference
  • Each project pj has a capacity cj
  • Each lecturer lk has a capacity dk
  • Each lecturer lk offers a set of projects Pk ? P
  • lk ranks Pk in strict order of preference
  • assume that P1, P2, , Pq partitions P

6
Example SPA-P instance
  • Student preferences Lecturer preferences Lecturer
    capacities
  • s1 p1 p4 p3 l1 p1 p2 p3
    3
  • s2 p5 p1 Project capacities 1 2
    1
  • s3 p2 p5
  • s4 p4 p2 l2 p4 p5 2
  • s5 p5 p2 Project capacities 1 2
  • Lecturer capacities d1 3, d2 2
  • Project capacities c1 1 c2 2 c3 1 c4
    2 c5 1

7
Definition of a matching
  • A matching M is a subset of SP such that
  • if (si, pj)?M then pj ? Ai , i.e. si finds pj
    acceptable
  • ? si ?S pj ?P (si, pj)?M ?1
  • ? pj ?P si ?S (si, pj)?M ?cj ,
  • ? lk ?L si ?S (si, pj)?M ? pj ? Pk ?dk
  • If (si, pj)?M , where lk offers pj , we say that
  • si is assigned to pj
  • si is assigned to lk
  • pj is assigned si
  • lk is assigned si
  • For any assigned student si , M(si) denotes the
    project that si is assigned to
  • For any project pj , M(pj) denotes the set of
    students assigned to pj
  • For any lecturer lk , M(lk) denotes the set of
    students assigned to (projects offered by) lk

8
Definition of a matching
  • A matching M is a subset of SP such that
  • if (si, pj)?M then pj ? Ai , i.e. si finds pj
    acceptable
  • ? si ?S pj ?P (si, pj)?M ?1
  • ? pj ?P si ?S (si, pj)?M ?cj ,
  • ? lk ?L si ?S (si, pj)?M ? pj ? Pk ?dk
  • If (si, pj)?M , where lk offers pj , we say that
  • si is assigned to pj
  • si is assigned to lk
  • pj is assigned si
  • lk is assigned si
  • For any assigned student si , M(si) denotes the
    project that si is assigned to
  • For any project pj , M(pj) denotes the set of
    students assigned to pj
  • For any lecturer lk , M(lk) denotes the set of
    students assigned to (projects offered by) lk

9
Definition of a matching
  • A matching M is a subset of SP such that
  • if (si, pj)?M then pj ? Ai , i.e. si finds pj
    acceptable
  • ? si ?S pj ?P (si, pj)?M ?1
  • ? pj ?P si ?S (si, pj)?M ?cj ,
  • ? lk ?L si ?S (si, pj)?M ? pj ? Pk ?dk
  • If (si, pj)?M , where lk offers pj , we say that
  • si is assigned to pj
  • si is assigned to lk
  • pj is assigned si
  • lk is assigned si
  • For any assigned student si , M(si) denotes the
    project that si is assigned to
  • For any project pj , M(pj) denotes the set of
    students assigned to pj
  • For any lecturer lk , M(lk) denotes the set of
    students assigned to (projects offered by) lk

10
Example matching
  • Student preferences Lecturer preferences Lecturer
    capacities
  • s1 p1 p4 p3 l1 p1 p2
    p3 2/3
  • s2 p5 p1 Project capacities 0/1 1/2
    1/1
  • s3 p2 p5
  • s4 p4 p2 l2 p4 p5 2/2
  • s5 p5 p2 Project capacities 0/1 2/2
  • Lecturer capacities d1 3, d2 2
  • Project capacities c1 1 c2 2 c3 1 c4
    1 c5 2

11
Stable matchings
  • (si, pj) is a blocking pair of a matching M if
  • pj ? Ai
  • Either si is unmatched in M, or si prefers pj to
    M(si)
  • pj is under-subscribed and either
  • si ?M(lk) and lk prefers pj to M(si)
  • si ?M(lk) and lk is under-subscribed
  • si ?M(lk) and lk prefers pj to his worst
    non-empty project
  • where lk is the lecturer who offers pj
  • A matching M is stable if it admits no blocking
    pair

12
Example blocking pair (1)
  • Student preferences Lecturer preferences Lecturer
    capacities
  • s1 p1 p4 p3 l1 p1 p2
    p3 2/3
  • s2 p5 p1 Project capacities 0/1 1/2
    1/1
  • s3 p2 p5
  • s4 p4 p2 l2 p4 p5 2/2
  • s5 p5 p2 Project capacities 0/1 2/2
  • (s1, p1) is a blocking pair, since
  • 3. p1 is under-subscribed and
  • s1 ?M(l1) and l1 prefers p1 to M(s1)p3

13
Example blocking pair (2)
  • Student preferences Lecturer preferences Lecturer
    capacities
  • s1 p1 p4 p3 l1 p1 p2
    p3 2/3
  • s2 p5 p1 Project capacities 0/1 1/2
    1/1
  • s3 p2 p5
  • s4 p4 p2 l2 p4 p5 2/2
  • s5 p5 p2 Project capacities 0/1 2/2
  • (s2, p1) is a blocking pair, since
  • 3. p1 is under-subscribed and
  • s2 ?M(l1) and l1 is under-subscribed

14
Example blocking pair (3)
  • Student preferences Lecturer preferences Lecturer
    capacities
  • s1 p1 p4 p3 l1 p1 p2
    p3 2/3
  • s2 p5 p1 Project capacities 0/1 1/2
    1/1
  • s3 p2 p5
  • s4 p4 p2 l2 p4 p5 2/2
  • s5 p5 p2 Project capacities 0/1 2/2
  • (s4, p4) is a blocking pair, since
  • 3. p4 is under-subscribed and
  • s4 ?M(l2) and l2 prefers p4 to his worst
    non-empty project

15
Example stable matching
  • Student preferences Lecturer preferences Lecturer
    capacities
  • s1 p1 p4 p3 l1 p1 p2
    p3 2/3
  • s2 p5 p1 Project capacities 1/1 1/2
    0/1
  • s3 p2 p5
  • s4 p4 p2 l2 p4 p5 2/2
  • s5 p5 p2 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 preferences Lecturer preferences
  • s1 p1 p2 l1 p1
  • s2 p1 l2 p2 (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 preferences Lecturer preferences
  • s1 p1 p2 l1 p1
  • s2 p1 l2 p2 (each project and lecturer
    has capacity 1)
  • M1(s1, p1)

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 preferences Lecturer preferences
  • s1 p1 p2 l1 p1
  • s2 p1 l2 p2 (each project and lecturer
    has capacity 1)
  • M1(s1, p1)
  • Student preferences Lecturer preferences
  • s1 p1 p2 l1 p1
  • s2 p1 l2 p2 (each project and lecturer
    has capacity 1)
  • M2(s1, p2), (s2, p1)

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 ?gt1 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 ?gt1 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
if (lk is over-subscribed)
/ lk prefers pj to pz / sr some
student in M(pz) M M \ (sr , pz)
delete pz from srs list
if (lk is full) pz lks
worst non-empty project for (each
successor pt of pz on lks list)
for (each student sr such that sr?At)
delete pt from srs list
/ else / / while /
  • M ?
  • while (some student si is free and
  • si has a nonempty list)
  • pj first project on sis list
  • lk lecturer who offers pj
  • / si applies to pj /
  • pz lks worst non-empty project
  • if (pj is full or (lk is full and pz pj ))
  • delete pj from sis list
  • else
  • M M ? (si, pj)
  • / si is provisionally assigned
  • / to pj and lk /

22
Approximation algorithm
if (lk is over-subscribed)
/ lk prefers pj to pz / sr some
student in M(pz) M M \ (sr , pz)
delete pz from srs list
if (lk is full) pz lks
worst non-empty project for (each
successor pt of pz on lks list)
for (each student sr such that sr?At)
delete pt from srs list
/ else / / while /
  • M ?
  • while (some student si is free and
  • si has a nonempty list)
  • pj first project on sis list
  • lk lecturer who offers pj
  • / si applies to pj /
  • pz lks worst non-empty project
  • if (pj is full or (lk is full and pz pj ))
  • delete pj from sis list
  • else
  • M M ? (si, pj)
  • / si is provisionally assigned
  • / to pj and lk /

23
Approximation algorithm
if (lk is over-subscribed)
/ lk prefers pj to pz / sr some
student in M(pz) M M \ (sr , pz)
delete pz from srs list
if (lk is full) pz lks
worst non-empty project for (each
successor pt of pz on lks list)
for (each student sr such that sr?At)
delete pt from srs list
/ else / / while /
  • M ?
  • while (some student si is free and
  • si has a nonempty list)
  • pj first project on sis list
  • lk lecturer who offers pj
  • / si applies to pj /
  • pz lks worst non-empty project
  • if (pj is full or (lk is full and pz pj ))
  • delete pj from sis list
  • else
  • M M ? (si, pj)
  • / si is provisionally assigned
  • / to pj and lk /

24
Approximation algorithm
if (lk is over-subscribed)
/ lk prefers pj to pz / sr some
student in M(pz) M M \ (sr , pz)
delete pz from srs list
if (lk is full) pz lks
worst non-empty project for (each
successor pt of pz on lks list)
for (each student sr such that sr?At)
delete pt from srs list
/ else / / while /
  • M ?
  • while (some student si is free and
  • si has a nonempty list)
  • pj first project on sis list
  • lk lecturer who offers pj
  • / si applies to pj /
  • pz lks worst non-empty project
  • if (pj is full or (lk is full and pz pj ))
  • delete pj from sis list
  • else
  • M M ? (si, pj)
  • / si is provisionally assigned
  • / to pj and lk /

25
Approximation algorithm
if (lk is over-subscribed)
/ lk prefers pj to pz / sr some
student in M(pz) M M \ (sr , pz)
delete pz from srs list
if (lk is full) pz lks
worst non-empty project for (each
successor pt of pz on lks list)
for (each student sr such that sr?At)
delete pt from srs list
/ else / / while /
  • M ?
  • while (some student si is free and
  • si has a nonempty list)
  • pj first project on sis list
  • lk lecturer who offers pj
  • / si applies to pj /
  • pz lks worst non-empty project
  • if (pj is full or (lk is full and pz pj ))
  • delete pj from sis list
  • else
  • M M ? (si, pj)
  • / si is provisionally assigned
  • / to pj and lk /

26
Approximation algorithm
if (lk is over-subscribed)
/ lk prefers pj to pz / sr some
student in M(pz) M M \ (sr , pz)
delete pz from srs list
if (lk is full) pz lks
worst non-empty project for (each
successor pt of pz on lks list)
for (each student sr such that sr?At)
delete pt from srs list
/ else / / while /
  • M ?
  • while (some student si is free and
  • si has a nonempty list)
  • pj first project on sis list
  • lk lecturer who offers pj
  • / si applies to pj /
  • pz lks worst non-empty project
  • if (pj is full or (lk is full and pz pj ))
  • delete pj from sis list
  • else
  • M M ? (si, pj)
  • / si is provisionally assigned
  • / to pj and lk /

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. l1 (s1, p2) (s2, p2) (s1, p3)
  • Ties in the preference lists
  • Lower bounds on projects
Write a Comment
User Comments (0)
About PowerShow.com