An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer...

129
An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and Sofiat Olaosebikan School of Computing Science, University of Glasgow BCTCS 2018, Royal Holloway, University of London March 28, 2018 D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of GlasgowInteger Programming BCTCS 2018 1 / 26

Transcript of An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer...

Page 1: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

An Integer Programming Formulation for a MatchingProblem

David Manlove, Duncan Milne and Sofiat Olaosebikan

School of Computing Science, University of Glasgow

BCTCS 2018, Royal Holloway, University of London

March 28, 2018

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 1 / 26

Page 2: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Outline

1 IntroductionMatching ProblemsStudent-Project Allocation problem (SPA)SPA with preferences over Projects (SPA-P)The problem: MAX-SPA-P

2 An Integer Programming (IP) model for MAX-SPA-P

3 Experimental results

4 Discussions and Future work

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 2 / 26

Page 3: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Problems

This class of problem generally involves

assigning a set of agents to another set of agents

based on the preferences of the agents

and some problem-specific constraints

for example, the capacity of the agents

Example applications include

allocation of junior doctors to hospitals

assigning conference papers to reviewers

assigning students to projects

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 3 / 26

Page 4: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Problems

This class of problem generally involves

assigning a set of agents to another set of agents

based on the preferences of the agents

and some problem-specific constraints

for example, the capacity of the agents

Example applications include

allocation of junior doctors to hospitals

assigning conference papers to reviewers

assigning students to projects

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 3 / 26

Page 5: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Problems

This class of problem generally involves

assigning a set of agents to another set of agents

based on the preferences of the agents

and some problem-specific constraints

for example, the capacity of the agents

Example applications include

allocation of junior doctors to hospitals

assigning conference papers to reviewers

assigning students to projects

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 3 / 26

Page 6: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Problems

This class of problem generally involves

assigning a set of agents to another set of agents

based on the preferences of the agents

and some problem-specific constraints

for example, the capacity of the agents

Example applications include

allocation of junior doctors to hospitals

assigning conference papers to reviewers

assigning students to projects

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 3 / 26

Page 7: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Problems

This class of problem generally involves

assigning a set of agents to another set of agents

based on the preferences of the agents

and some problem-specific constraints

for example, the capacity of the agents

Example applications include

allocation of junior doctors to hospitals

assigning conference papers to reviewers

assigning students to projects

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 3 / 26

Page 8: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Problems

This class of problem generally involves

assigning a set of agents to another set of agents

based on the preferences of the agents

and some problem-specific constraints

for example, the capacity of the agents

Example applications include

allocation of junior doctors to hospitals

assigning conference papers to reviewers

assigning students to projects

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 3 / 26

Page 9: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Problems

This class of problem generally involves

assigning a set of agents to another set of agents

based on the preferences of the agents

and some problem-specific constraints

for example, the capacity of the agents

Example applications include

allocation of junior doctors to hospitals

assigning conference papers to reviewers

assigning students to projects

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 3 / 26

Page 10: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Student-Project Allocation Problem (SPA)

SPA involves

the assignment of students to projects offered by lecturers

based on the capacities of projects and lecturers

students’ preferences over projects

lecturers’ preferences over

students (SPA-S), orprojects (SPA-P), orstudent-project pairs (SPA-(S,P))

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 4 / 26

Page 11: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Student-Project Allocation Problem (SPA)

SPA involves

the assignment of students to projects offered by lecturers

based on the capacities of projects and lecturers

students’ preferences over projects

lecturers’ preferences over

students (SPA-S), orprojects (SPA-P), orstudent-project pairs (SPA-(S,P))

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 4 / 26

Page 12: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Student-Project Allocation Problem (SPA)

SPA involves

the assignment of students to projects offered by lecturers

based on the capacities of projects and lecturers

students’ preferences over projects

lecturers’ preferences over

students (SPA-S), orprojects (SPA-P), orstudent-project pairs (SPA-(S,P))

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 4 / 26

Page 13: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Student-Project Allocation Problem (SPA)

SPA involves

the assignment of students to projects offered by lecturers

based on the capacities of projects and lecturers

students’ preferences over projects

lecturers’ preferences over

students (SPA-S), or

projects (SPA-P), orstudent-project pairs (SPA-(S,P))

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 4 / 26

Page 14: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Student-Project Allocation Problem (SPA)

SPA involves

the assignment of students to projects offered by lecturers

based on the capacities of projects and lecturers

students’ preferences over projects

lecturers’ preferences over

students (SPA-S), orprojects (SPA-P), or

student-project pairs (SPA-(S,P))

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 4 / 26

Page 15: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Student-Project Allocation Problem (SPA)

SPA involves

the assignment of students to projects offered by lecturers

based on the capacities of projects and lecturers

students’ preferences over projects

lecturers’ preferences over

students (SPA-S), orprojects (SPA-P), orstudent-project pairs (SPA-(S,P))

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 4 / 26

Page 16: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Student-Project Allocation Problem (SPA)

SPA involves

the assignment of students to projects offered by lecturers

based on the capacities of projects and lecturers

students’ preferences over projects

lecturers’ preferences over

students (SPA-S), orprojects (SPA-P), orstudent-project pairs (SPA-(S,P))

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 4 / 26

Page 17: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

SPA with preferences over Projects (SPA-P)

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

What we seek...

a matching of students to projects based on these preferences

each student is not assigned more than one projectcapacities of projects and lecturers are not exceeded

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 5 / 26

Page 18: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

SPA with preferences over Projects (SPA-P)

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

What we seek...

a matching of students to projects based on these preferences

each student is not assigned more than one projectcapacities of projects and lecturers are not exceeded

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 5 / 26

Page 19: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

SPA with preferences over Projects (SPA-P)

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

What we seek...

a matching of students to projects based on these preferences

each student is not assigned more than one project

capacities of projects and lecturers are not exceeded

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 5 / 26

Page 20: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

SPA with preferences over Projects (SPA-P)

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

What we seek...

a matching of students to projects based on these preferences

each student is not assigned more than one projectcapacities of projects and lecturers are not exceeded

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 5 / 26

Page 21: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

A matching..

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

however,

s2 would prefer to be assigned p1

this means l1 also gets her most preferred project

we call (s2, p1) a blocking pair

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 6 / 26

Page 22: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

A matching..

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

however,

s2 would prefer to be assigned p1

this means l1 also gets her most preferred project

we call (s2, p1) a blocking pair

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 6 / 26

Page 23: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

A matching..

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

however,

s2 would prefer to be assigned p1

this means l1 also gets her most preferred project

we call (s2, p1) a blocking pair

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 6 / 26

Page 24: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

A matching..

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

however,

s2 would prefer to be assigned p1

this means l1 also gets her most preferred project

we call (s2, p1) a blocking pair

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 6 / 26

Page 25: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Definition: Blocking Pair

Given an instance I of SPA-P, and a matching M in I. The pair (si, pj)forms a blocking pair relative to M , where lk is the lecturer who offerspj , if:

1 either si is unassigned in M or si prefers pj to M(si), and2 pj is undersubscribed in M , and either

(i) si ∈M(lk) and lk prefers pj to M(si), or(ii) si /∈M(lk) and lk is undersubcribed, or(iii) si /∈M(lk) and lk prefers pj to her worst non-empty project in

M(lk).

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 7 / 26

Page 26: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Definition: Blocking Pair

Given an instance I of SPA-P, and a matching M in I. The pair (si, pj)forms a blocking pair relative to M , where lk is the lecturer who offerspj , if:

1 either si is unassigned in M or si prefers pj to M(si), and2 pj is undersubscribed in M , and either

(i) si ∈M(lk) and lk prefers pj to M(si), or(ii) si /∈M(lk) and lk is undersubcribed, or(iii) si /∈M(lk) and lk prefers pj to her worst non-empty project in

M(lk).

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 7 / 26

Page 27: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Definition: Blocking Pair

Given an instance I of SPA-P, and a matching M in I. The pair (si, pj)forms a blocking pair relative to M , where lk is the lecturer who offerspj , if:

1 either si is unassigned in M or si prefers pj to M(si), and

2 pj is undersubscribed in M , and either

(i) si ∈M(lk) and lk prefers pj to M(si), or(ii) si /∈M(lk) and lk is undersubcribed, or(iii) si /∈M(lk) and lk prefers pj to her worst non-empty project in

M(lk).

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 7 / 26

Page 28: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Definition: Blocking Pair

Given an instance I of SPA-P, and a matching M in I. The pair (si, pj)forms a blocking pair relative to M , where lk is the lecturer who offerspj , if:

1 either si is unassigned in M or si prefers pj to M(si), and2 pj is undersubscribed in M , and either

(i) si ∈M(lk) and lk prefers pj to M(si), or(ii) si /∈M(lk) and lk is undersubcribed, or(iii) si /∈M(lk) and lk prefers pj to her worst non-empty project in

M(lk).

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 7 / 26

Page 29: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Definition: Blocking Pair

Given an instance I of SPA-P, and a matching M in I. The pair (si, pj)forms a blocking pair relative to M , where lk is the lecturer who offerspj , if:

1 either si is unassigned in M or si prefers pj to M(si), and2 pj is undersubscribed in M , and either

(i) si ∈M(lk) and lk prefers pj to M(si), or

(ii) si /∈M(lk) and lk is undersubcribed, or(iii) si /∈M(lk) and lk prefers pj to her worst non-empty project in

M(lk).

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 7 / 26

Page 30: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Definition: Blocking Pair

Given an instance I of SPA-P, and a matching M in I. The pair (si, pj)forms a blocking pair relative to M , where lk is the lecturer who offerspj , if:

1 either si is unassigned in M or si prefers pj to M(si), and2 pj is undersubscribed in M , and either

(i) si ∈M(lk) and lk prefers pj to M(si), or(ii) si /∈M(lk) and lk is undersubcribed, or

(iii) si /∈M(lk) and lk prefers pj to her worst non-empty project inM(lk).

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 7 / 26

Page 31: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Definition: Blocking Pair

Given an instance I of SPA-P, and a matching M in I. The pair (si, pj)forms a blocking pair relative to M , where lk is the lecturer who offerspj , if:

1 either si is unassigned in M or si prefers pj to M(si), and2 pj is undersubscribed in M , and either

(i) si ∈M(lk) and lk prefers pj to M(si), or(ii) si /∈M(lk) and lk is undersubcribed, or(iii) si /∈M(lk) and lk prefers pj to her worst non-empty project in

M(lk).

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 7 / 26

Page 32: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Another matching..

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

s1 and s2 would rather swap their assigned projects, in order to bebetter off

we call {s1, s2} a coalition

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 8 / 26

Page 33: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Another matching..

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

s1 and s2 would rather swap their assigned projects, in order to bebetter off

we call {s1, s2} a coalition

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 8 / 26

Page 34: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Another matching..

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

s1 and s2 would rather swap their assigned projects, in order to bebetter off

we call {s1, s2} a coalition

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 8 / 26

Page 35: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Definition: Coalition

Given a matching M , a coalition is a set of students {si0 , . . . , sir−1}, forsome r ≥ 2 such that each student sij (0 ≤ j ≤ r − 1) is assigned in Mand prefers M(sij+1) to M(sij ), where addition is performed modulo r.

s3

s2

s1

s5

s4

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 9 / 26

Page 36: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Definition: Coalition

Given a matching M , a coalition is a set of students {si0 , . . . , sir−1}, forsome r ≥ 2 such that each student sij (0 ≤ j ≤ r − 1) is assigned in Mand prefers M(sij+1) to M(sij ), where addition is performed modulo r.

s3

s2

s1

s5

s4

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 9 / 26

Page 37: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Definition: Coalition

Given a matching M , a coalition is a set of students {si0 , . . . , sir−1}, forsome r ≥ 2 such that each student sij (0 ≤ j ≤ r − 1) is assigned in Mand prefers M(sij+1) to M(sij ), where addition is performed modulo r.

s3

s2

s1

s5

s4

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 9 / 26

Page 38: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Definition: Coalition

Given a matching M , a coalition is a set of students {si0 , . . . , sir−1}, forsome r ≥ 2 such that each student sij (0 ≤ j ≤ r − 1) is assigned in Mand prefers M(sij+1) to M(sij ), where addition is performed modulo r.

s3

s2

s1

s5

s4

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 9 / 26

Page 39: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Definition: Coalition

Given a matching M , a coalition is a set of students {si0 , . . . , sir−1}, forsome r ≥ 2 such that each student sij (0 ≤ j ≤ r − 1) is assigned in Mand prefers M(sij+1) to M(sij ), where addition is performed modulo r.

s3

s2

s1

s5

s4

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 9 / 26

Page 40: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Definition: Coalition

Given a matching M , a coalition is a set of students {si0 , . . . , sir−1}, forsome r ≥ 2 such that each student sij (0 ≤ j ≤ r − 1) is assigned in Mand prefers M(sij+1) to M(sij ), where addition is performed modulo r.

s3

s2

s1

s5

s4

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 9 / 26

Page 41: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Definition: Coalition

Given a matching M , a coalition is a set of students {si0 , . . . , sir−1}, forsome r ≥ 2 such that each student sij (0 ≤ j ≤ r − 1) is assigned in Mand prefers M(sij+1) to M(sij ), where addition is performed modulo r.

s3

s2

s1

s5

s4

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 9 / 26

Page 42: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

The type of matching we seek..

Stable matchings

one with no blocking pair and no coalition

Image adapted from https://bit.ly/2uBuuAO (last accessed 28 March 2018).

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 10 / 26

Page 43: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

The type of matching we seek..

Stable matchings

one with no blocking pair and no coalition

Image adapted from https://bit.ly/2uBuuAO (last accessed 28 March 2018).

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 10 / 26

Page 44: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Stable matchings..

A stable matching

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

2 students are matched

Another stable matching

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

3 students are matched

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 11 / 26

Page 45: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Stable matchings..

A stable matching

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

2 students are matched

Another stable matching

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

3 students are matched

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 11 / 26

Page 46: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Maximum cardinality stable matching

Another problem..

finding a maximum cardinality stable matching (MAX-SPA-P)

MAX-SPA-P is NP-hard

Existing results for MAX-SPA-P

Suppose the size of a maximum stable matching M is 12,

2-approximation algorithma, i.e., solution at least 12M = 6

32 -approximation algorithmb, i.e., solution at least 2

3M = 8

not approximable within 2119 − ε, for any ε > 0, unless P = NP

aD.F. Manlove and G. O’Malley. Student project allocation with preferences over projects.

Journal of Discrete Algorithms, 6:553–560, 2008bK. Iwama, S. Miyazaki, and H. Yanagisawa. Improved approximation bounds for the

student-project allocation problem with preferences over projects. Journal of DiscreteAlgorithms, 13:59–66, 2012.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 12 / 26

Page 47: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Maximum cardinality stable matching

Another problem..

finding a maximum cardinality stable matching (MAX-SPA-P)

MAX-SPA-P is NP-hard

Existing results for MAX-SPA-P

Suppose the size of a maximum stable matching M is 12,

2-approximation algorithma, i.e., solution at least 12M = 6

32 -approximation algorithmb, i.e., solution at least 2

3M = 8

not approximable within 2119 − ε, for any ε > 0, unless P = NP

aD.F. Manlove and G. O’Malley. Student project allocation with preferences over projects.

Journal of Discrete Algorithms, 6:553–560, 2008bK. Iwama, S. Miyazaki, and H. Yanagisawa. Improved approximation bounds for the

student-project allocation problem with preferences over projects. Journal of DiscreteAlgorithms, 13:59–66, 2012.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 12 / 26

Page 48: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Maximum cardinality stable matching

Another problem..

finding a maximum cardinality stable matching (MAX-SPA-P)

MAX-SPA-P is NP-hard

Existing results for MAX-SPA-P

Suppose the size of a maximum stable matching M is 12,

2-approximation algorithma, i.e., solution at least 12M = 6

32 -approximation algorithmb, i.e., solution at least 2

3M = 8

not approximable within 2119 − ε, for any ε > 0, unless P = NP

aD.F. Manlove and G. O’Malley. Student project allocation with preferences over projects.

Journal of Discrete Algorithms, 6:553–560, 2008bK. Iwama, S. Miyazaki, and H. Yanagisawa. Improved approximation bounds for the

student-project allocation problem with preferences over projects. Journal of DiscreteAlgorithms, 13:59–66, 2012.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 12 / 26

Page 49: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Maximum cardinality stable matching

Another problem..

finding a maximum cardinality stable matching (MAX-SPA-P)

MAX-SPA-P is NP-hard

Existing results for MAX-SPA-P

Suppose the size of a maximum stable matching M is 12,

2-approximation algorithma, i.e., solution at least 12M = 6

32 -approximation algorithmb, i.e., solution at least 2

3M = 8

not approximable within 2119 − ε, for any ε > 0, unless P = NP

aD.F. Manlove and G. O’Malley. Student project allocation with preferences over projects.

Journal of Discrete Algorithms, 6:553–560, 2008bK. Iwama, S. Miyazaki, and H. Yanagisawa. Improved approximation bounds for the

student-project allocation problem with preferences over projects. Journal of DiscreteAlgorithms, 13:59–66, 2012.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 12 / 26

Page 50: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Maximum cardinality stable matching

Another problem..

finding a maximum cardinality stable matching (MAX-SPA-P)

MAX-SPA-P is NP-hard

Existing results for MAX-SPA-P

Suppose the size of a maximum stable matching M is 12,

2-approximation algorithma, i.e., solution at least 12M = 6

32 -approximation algorithmb, i.e., solution at least 2

3M = 8

not approximable within 2119 − ε, for any ε > 0, unless P = NP

aD.F. Manlove and G. O’Malley. Student project allocation with preferences over projects.

Journal of Discrete Algorithms, 6:553–560, 2008bK. Iwama, S. Miyazaki, and H. Yanagisawa. Improved approximation bounds for the

student-project allocation problem with preferences over projects. Journal of DiscreteAlgorithms, 13:59–66, 2012.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 12 / 26

Page 51: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

An Integer Programming (IP) model for MAX-SPA-P

A general construction of our IP model

create binary-valued variables to represent the assignment ofstudents to projects;

enforce the following classes of constraints:1 find a matching;2 ensure matching does not admit a blocking pair;3 ensure matching does not admit a coalition;

describe an objective function to maximise the size of thematching.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 13 / 26

Page 52: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

An Integer Programming (IP) model for MAX-SPA-P

A general construction of our IP model

create binary-valued variables to represent the assignment ofstudents to projects;

enforce the following classes of constraints:1 find a matching;2 ensure matching does not admit a blocking pair;3 ensure matching does not admit a coalition;

describe an objective function to maximise the size of thematching.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 13 / 26

Page 53: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

An Integer Programming (IP) model for MAX-SPA-P

A general construction of our IP model

create binary-valued variables to represent the assignment ofstudents to projects;

enforce the following classes of constraints:1 find a matching;2 ensure matching does not admit a blocking pair;3 ensure matching does not admit a coalition;

describe an objective function to maximise the size of thematching.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 13 / 26

Page 54: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

An Integer Programming (IP) model for MAX-SPA-P

A general construction of our IP model

create binary-valued variables to represent the assignment ofstudents to projects;

enforce the following classes of constraints:

1 find a matching;2 ensure matching does not admit a blocking pair;3 ensure matching does not admit a coalition;

describe an objective function to maximise the size of thematching.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 13 / 26

Page 55: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

An Integer Programming (IP) model for MAX-SPA-P

A general construction of our IP model

create binary-valued variables to represent the assignment ofstudents to projects;

enforce the following classes of constraints:1 find a matching;

2 ensure matching does not admit a blocking pair;3 ensure matching does not admit a coalition;

describe an objective function to maximise the size of thematching.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 13 / 26

Page 56: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

An Integer Programming (IP) model for MAX-SPA-P

A general construction of our IP model

create binary-valued variables to represent the assignment ofstudents to projects;

enforce the following classes of constraints:1 find a matching;2 ensure matching does not admit a blocking pair;

3 ensure matching does not admit a coalition;

describe an objective function to maximise the size of thematching.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 13 / 26

Page 57: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

An Integer Programming (IP) model for MAX-SPA-P

A general construction of our IP model

create binary-valued variables to represent the assignment ofstudents to projects;

enforce the following classes of constraints:1 find a matching;2 ensure matching does not admit a blocking pair;3 ensure matching does not admit a coalition;

describe an objective function to maximise the size of thematching.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 13 / 26

Page 58: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

An Integer Programming (IP) model for MAX-SPA-P

A general construction of our IP model

create binary-valued variables to represent the assignment ofstudents to projects;

enforce the following classes of constraints:1 find a matching;2 ensure matching does not admit a blocking pair;3 ensure matching does not admit a coalition;

describe an objective function to maximise the size of thematching.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 13 / 26

Page 59: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Encoding the binary-valued variables

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

We encode each (si, pj) as a variable xi,j ∈ {0, 1}

x1,3 x1,2 x1,1⇓

= 1, then s1 is assigned to p3= 0, then s1 is not assigned to p3

x2,1 x2,2

x3,3

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 14 / 26

Page 60: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Encoding the binary-valued variables

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

We encode each (si, pj) as a variable xi,j ∈ {0, 1}x1,3 x1,2 x1,1

= 1, then s1 is assigned to p3= 0, then s1 is not assigned to p3

x2,1 x2,2

x3,3

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 14 / 26

Page 61: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Encoding the binary-valued variables

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

We encode each (si, pj) as a variable xi,j ∈ {0, 1}x1,3 x1,2 x1,1⇓

= 1, then s1 is assigned to p3

= 0, then s1 is not assigned to p3

x2,1 x2,2

x3,3

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 14 / 26

Page 62: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Encoding the binary-valued variables

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

We encode each (si, pj) as a variable xi,j ∈ {0, 1}x1,3 x1,2 x1,1⇓

= 1, then s1 is assigned to p3= 0, then s1 is not assigned to p3

x2,1 x2,2

x3,3

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 14 / 26

Page 63: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Encoding the binary-valued variables

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

We encode each (si, pj) as a variable xi,j ∈ {0, 1}x1,3 x1,2 x1,1⇓

= 1, then s1 is assigned to p3= 0, then s1 is not assigned to p3

x2,1 x2,2

x3,3

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 14 / 26

Page 64: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Encoding the binary-valued variables

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

We encode each (si, pj) as a variable xi,j ∈ {0, 1}x1,3 x1,2 x1,1⇓

= 1, then s1 is assigned to p3= 0, then s1 is not assigned to p3

x2,1 x2,2

x3,3

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 14 / 26

Page 65: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

each student is not assigned more than one project∑pj∈Ai

xi,j ≤ 1 (1 ≤ i ≤ n1), =⇒ x1,3 + x1,2 + x1,1 ≤ 1

capacities of projects are not exceeded

n1∑i=1

xi,j ≤ cj , (1 ≤ j ≤ n2) =⇒ x1,1 + x2,1 ≤ 1

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 15 / 26

Page 66: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

each student is not assigned more than one project

∑pj∈Ai

xi,j ≤ 1 (1 ≤ i ≤ n1), =⇒ x1,3 + x1,2 + x1,1 ≤ 1

capacities of projects are not exceeded

n1∑i=1

xi,j ≤ cj , (1 ≤ j ≤ n2) =⇒ x1,1 + x2,1 ≤ 1

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 15 / 26

Page 67: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

each student is not assigned more than one project∑pj∈Ai

xi,j ≤ 1 (1 ≤ i ≤ n1), =⇒

x1,3 + x1,2 + x1,1 ≤ 1

capacities of projects are not exceeded

n1∑i=1

xi,j ≤ cj , (1 ≤ j ≤ n2) =⇒ x1,1 + x2,1 ≤ 1

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 15 / 26

Page 68: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

each student is not assigned more than one project∑pj∈Ai

xi,j ≤ 1 (1 ≤ i ≤ n1), =⇒ x1,3 + x1,2 + x1,1 ≤ 1

capacities of projects are not exceeded

n1∑i=1

xi,j ≤ cj , (1 ≤ j ≤ n2) =⇒ x1,1 + x2,1 ≤ 1

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 15 / 26

Page 69: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

each student is not assigned more than one project∑pj∈Ai

xi,j ≤ 1 (1 ≤ i ≤ n1), =⇒ x1,3 + x1,2 + x1,1 ≤ 1

capacities of projects are not exceeded

n1∑i=1

xi,j ≤ cj , (1 ≤ j ≤ n2) =⇒ x1,1 + x2,1 ≤ 1

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 15 / 26

Page 70: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

each student is not assigned more than one project∑pj∈Ai

xi,j ≤ 1 (1 ≤ i ≤ n1), =⇒ x1,3 + x1,2 + x1,1 ≤ 1

capacities of projects are not exceeded

n1∑i=1

xi,j ≤ cj , (1 ≤ j ≤ n2)

=⇒ x1,1 + x2,1 ≤ 1

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 15 / 26

Page 71: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

each student is not assigned more than one project∑pj∈Ai

xi,j ≤ 1 (1 ≤ i ≤ n1), =⇒ x1,3 + x1,2 + x1,1 ≤ 1

capacities of projects are not exceeded

n1∑i=1

xi,j ≤ cj , (1 ≤ j ≤ n2) =⇒ x1,1 + x2,1 ≤ 1

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 15 / 26

Page 72: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Constraints..

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

capacities of lecturers are not exceeded

n1∑i=1

∑pj∈Pk

xi,j ≤ dk (1 ≤ k ≤ n3),

=⇒ x1,2 + x1,1 + x2,1 + x2,2 ≤ 2

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 16 / 26

Page 73: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Constraints..

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

capacities of lecturers are not exceeded

n1∑i=1

∑pj∈Pk

xi,j ≤ dk (1 ≤ k ≤ n3),

=⇒ x1,2 + x1,1 + x2,1 + x2,2 ≤ 2

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 16 / 26

Page 74: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Matching Constraints..

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

capacities of lecturers are not exceeded

n1∑i=1

∑pj∈Pk

xi,j ≤ dk (1 ≤ k ≤ n3),

=⇒ x1,2 + x1,1 + x2,1 + x2,2 ≤ 2

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 16 / 26

Page 75: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Blocking pair constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

For each (si, pj), where lk is the lecturer who offers pj, we

define θi,j = 1−∑

pj′∈Si,jxi,j′ =⇒ θ2,1 = 1− x2,1 = 1.

create αj ∈ {0, 1}, enforce cjαj ≥ cj −∑n1

i′=1 xi′,j =⇒ α1 = 1.

define γi,j,k =∑

pj′∈Tk,jxi,j′ ; T1,1 = {p2} =⇒ γ2,1,1 = x2,2 = 1.

(i) θi,j + αj + γi,j,k ≤ 2; (ii) θi,j + αj + (1− βi,k) + δk ≤ 3;(iii) θi,j + αj + (1− βi,k) + ηj,k ≤ 3.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 17 / 26

Page 76: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Blocking pair constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

For each (si, pj), where lk is the lecturer who offers pj, we

define θi,j = 1−∑

pj′∈Si,jxi,j′ =⇒ θ2,1 = 1− x2,1 = 1.

create αj ∈ {0, 1}, enforce cjαj ≥ cj −∑n1

i′=1 xi′,j =⇒ α1 = 1.

define γi,j,k =∑

pj′∈Tk,jxi,j′ ; T1,1 = {p2} =⇒ γ2,1,1 = x2,2 = 1.

(i) θi,j + αj + γi,j,k ≤ 2; (ii) θi,j + αj + (1− βi,k) + δk ≤ 3;(iii) θi,j + αj + (1− βi,k) + ηj,k ≤ 3.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 17 / 26

Page 77: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Blocking pair constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

For each (si, pj), where lk is the lecturer who offers pj, we

define θi,j = 1−∑

pj′∈Si,jxi,j′

=⇒ θ2,1 = 1− x2,1 = 1.

create αj ∈ {0, 1}, enforce cjαj ≥ cj −∑n1

i′=1 xi′,j =⇒ α1 = 1.

define γi,j,k =∑

pj′∈Tk,jxi,j′ ; T1,1 = {p2} =⇒ γ2,1,1 = x2,2 = 1.

(i) θi,j + αj + γi,j,k ≤ 2; (ii) θi,j + αj + (1− βi,k) + δk ≤ 3;(iii) θi,j + αj + (1− βi,k) + ηj,k ≤ 3.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 17 / 26

Page 78: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Blocking pair constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

For each (si, pj), where lk is the lecturer who offers pj, we

define θi,j = 1−∑

pj′∈Si,jxi,j′ =⇒ θ2,1 = 1− x2,1 = 1.

create αj ∈ {0, 1}, enforce cjαj ≥ cj −∑n1

i′=1 xi′,j =⇒ α1 = 1.

define γi,j,k =∑

pj′∈Tk,jxi,j′ ; T1,1 = {p2} =⇒ γ2,1,1 = x2,2 = 1.

(i) θi,j + αj + γi,j,k ≤ 2; (ii) θi,j + αj + (1− βi,k) + δk ≤ 3;(iii) θi,j + αj + (1− βi,k) + ηj,k ≤ 3.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 17 / 26

Page 79: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Blocking pair constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

For each (si, pj), where lk is the lecturer who offers pj, we

define θi,j = 1−∑

pj′∈Si,jxi,j′ =⇒ θ2,1 = 1− x2,1 = 1.

create αj ∈ {0, 1}, enforce cjαj ≥ cj −∑n1

i′=1 xi′,j

=⇒ α1 = 1.

define γi,j,k =∑

pj′∈Tk,jxi,j′ ; T1,1 = {p2} =⇒ γ2,1,1 = x2,2 = 1.

(i) θi,j + αj + γi,j,k ≤ 2; (ii) θi,j + αj + (1− βi,k) + δk ≤ 3;(iii) θi,j + αj + (1− βi,k) + ηj,k ≤ 3.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 17 / 26

Page 80: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Blocking pair constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

For each (si, pj), where lk is the lecturer who offers pj, we

define θi,j = 1−∑

pj′∈Si,jxi,j′ =⇒ θ2,1 = 1− x2,1 = 1.

create αj ∈ {0, 1}, enforce cjαj ≥ cj −∑n1

i′=1 xi′,j =⇒ α1 = 1.

define γi,j,k =∑

pj′∈Tk,jxi,j′ ; T1,1 = {p2} =⇒ γ2,1,1 = x2,2 = 1.

(i) θi,j + αj + γi,j,k ≤ 2; (ii) θi,j + αj + (1− βi,k) + δk ≤ 3;(iii) θi,j + αj + (1− βi,k) + ηj,k ≤ 3.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 17 / 26

Page 81: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Blocking pair constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

For each (si, pj), where lk is the lecturer who offers pj, we

define θi,j = 1−∑

pj′∈Si,jxi,j′ =⇒ θ2,1 = 1− x2,1 = 1.

create αj ∈ {0, 1}, enforce cjαj ≥ cj −∑n1

i′=1 xi′,j =⇒ α1 = 1.

define γi,j,k =∑

pj′∈Tk,jxi,j′ ;

T1,1 = {p2} =⇒ γ2,1,1 = x2,2 = 1.

(i) θi,j + αj + γi,j,k ≤ 2; (ii) θi,j + αj + (1− βi,k) + δk ≤ 3;(iii) θi,j + αj + (1− βi,k) + ηj,k ≤ 3.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 17 / 26

Page 82: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Blocking pair constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

For each (si, pj), where lk is the lecturer who offers pj, we

define θi,j = 1−∑

pj′∈Si,jxi,j′ =⇒ θ2,1 = 1− x2,1 = 1.

create αj ∈ {0, 1}, enforce cjαj ≥ cj −∑n1

i′=1 xi′,j =⇒ α1 = 1.

define γi,j,k =∑

pj′∈Tk,jxi,j′ ; T1,1 = {p2}

=⇒ γ2,1,1 = x2,2 = 1.

(i) θi,j + αj + γi,j,k ≤ 2; (ii) θi,j + αj + (1− βi,k) + δk ≤ 3;(iii) θi,j + αj + (1− βi,k) + ηj,k ≤ 3.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 17 / 26

Page 83: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Blocking pair constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

For each (si, pj), where lk is the lecturer who offers pj, we

define θi,j = 1−∑

pj′∈Si,jxi,j′ =⇒ θ2,1 = 1− x2,1 = 1.

create αj ∈ {0, 1}, enforce cjαj ≥ cj −∑n1

i′=1 xi′,j =⇒ α1 = 1.

define γi,j,k =∑

pj′∈Tk,jxi,j′ ; T1,1 = {p2} =⇒ γ2,1,1 = x2,2 = 1.

(i) θi,j + αj + γi,j,k ≤ 2; (ii) θi,j + αj + (1− βi,k) + δk ≤ 3;(iii) θi,j + αj + (1− βi,k) + ηj,k ≤ 3.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 17 / 26

Page 84: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Blocking pair constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

For each (si, pj), where lk is the lecturer who offers pj, we

define θi,j = 1−∑

pj′∈Si,jxi,j′ =⇒ θ2,1 = 1− x2,1 = 1.

create αj ∈ {0, 1}, enforce cjαj ≥ cj −∑n1

i′=1 xi′,j =⇒ α1 = 1.

define γi,j,k =∑

pj′∈Tk,jxi,j′ ; T1,1 = {p2} =⇒ γ2,1,1 = x2,2 = 1.

(i) θi,j + αj + γi,j,k ≤ 2;

(ii) θi,j + αj + (1− βi,k) + δk ≤ 3;(iii) θi,j + αj + (1− βi,k) + ηj,k ≤ 3.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 17 / 26

Page 85: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Blocking pair constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

For each (si, pj), where lk is the lecturer who offers pj, we

define θi,j = 1−∑

pj′∈Si,jxi,j′ =⇒ θ2,1 = 1− x2,1 = 1.

create αj ∈ {0, 1}, enforce cjαj ≥ cj −∑n1

i′=1 xi′,j =⇒ α1 = 1.

define γi,j,k =∑

pj′∈Tk,jxi,j′ ; T1,1 = {p2} =⇒ γ2,1,1 = x2,2 = 1.

(i) θi,j + αj + γi,j,k ≤ 2; (ii) θi,j + αj + (1− βi,k) + δk ≤ 3;

(iii) θi,j + αj + (1− βi,k) + ηj,k ≤ 3.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 17 / 26

Page 86: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Blocking pair constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Project capacities: c1 = c2 = c3 = 1.Lecturer capacities: d1 = 2, d2 = 1.

For each (si, pj), where lk is the lecturer who offers pj, we

define θi,j = 1−∑

pj′∈Si,jxi,j′ =⇒ θ2,1 = 1− x2,1 = 1.

create αj ∈ {0, 1}, enforce cjαj ≥ cj −∑n1

i′=1 xi′,j =⇒ α1 = 1.

define γi,j,k =∑

pj′∈Tk,jxi,j′ ; T1,1 = {p2} =⇒ γ2,1,1 = x2,2 = 1.

(i) θi,j + αj + γi,j,k ≤ 2; (ii) θi,j + αj + (1− βi,k) + δk ≤ 3;(iii) θi,j + αj + (1− βi,k) + ηj,k ≤ 3.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 17 / 26

Page 87: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Coalition constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Envy graph

s1 s2s3

admits topological ordering =⇒ it is acyclic =⇒ no coalition.

For each (si, si′), if si envies si′ , create ei,i′ ∈ {0, 1} and enforce

ei,i′ + 1 ≥ xi,j + xi′,j′ i 6= i′

to hold the label of each vertex in the topological ordering, createan integer-valued variable vi and enforce

vi < vi′ + n1(1− ei,i′) n1 – number of students.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 18 / 26

Page 88: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Coalition constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Envy graph

s1 s2s3

admits topological ordering =⇒ it is acyclic =⇒ no coalition.

For each (si, si′), if si envies si′ , create ei,i′ ∈ {0, 1} and enforce

ei,i′ + 1 ≥ xi,j + xi′,j′ i 6= i′

to hold the label of each vertex in the topological ordering, createan integer-valued variable vi and enforce

vi < vi′ + n1(1− ei,i′) n1 – number of students.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 18 / 26

Page 89: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Coalition constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Envy graph

s1 s2s3

admits topological ordering =⇒ it is acyclic =⇒ no coalition.

For each (si, si′), if si envies si′ , create ei,i′ ∈ {0, 1} and enforce

ei,i′ + 1 ≥ xi,j + xi′,j′ i 6= i′

to hold the label of each vertex in the topological ordering, createan integer-valued variable vi and enforce

vi < vi′ + n1(1− ei,i′) n1 – number of students.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 18 / 26

Page 90: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Coalition constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Envy graph

s1 s2s3

admits topological ordering =⇒ it is acyclic =⇒ no coalition.

For each (si, si′), if si envies si′ , create ei,i′ ∈ {0, 1} and enforce

ei,i′ + 1 ≥ xi,j + xi′,j′ i 6= i′

to hold the label of each vertex in the topological ordering, createan integer-valued variable vi and enforce

vi < vi′ + n1(1− ei,i′) n1 – number of students.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 18 / 26

Page 91: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Coalition constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Envy graph

s1 s2s3

admits topological ordering =⇒ it is acyclic =⇒ no coalition.

For each (si, si′), if si envies si′ , create ei,i′ ∈ {0, 1} and enforce

ei,i′ + 1 ≥ xi,j + xi′,j′ i 6= i′

to hold the label of each vertex in the topological ordering, createan integer-valued variable vi and enforce

vi < vi′ + n1(1− ei,i′) n1 – number of students.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 18 / 26

Page 92: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Coalition constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Envy graph

s1 s2s3

admits topological ordering =⇒ it is acyclic =⇒ no coalition.

For each (si, si′), if si envies si′ , create ei,i′ ∈ {0, 1} and enforce

ei,i′ + 1 ≥ xi,j + xi′,j′ i 6= i′

to hold the label of each vertex in the topological ordering, createan integer-valued variable vi and enforce

vi < vi′ + n1(1− ei,i′) n1 – number of students.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 18 / 26

Page 93: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Coalition constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Envy graph

s1 s2s3

admits topological ordering =⇒ it is acyclic =⇒ no coalition.

For each (si, si′), if si envies si′ , create ei,i′ ∈ {0, 1} and enforce

ei,i′ + 1 ≥ xi,j + xi′,j′ i 6= i′

to hold the label of each vertex in the topological ordering, createan integer-valued variable vi and enforce

vi < vi′ + n1(1− ei,i′) n1 – number of students.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 18 / 26

Page 94: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Coalition constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Envy graph

s1 s2s3

admits topological ordering =⇒ it is acyclic =⇒ no coalition.

For each (si, si′), if si envies si′ , create ei,i′ ∈ {0, 1} and enforce

ei,i′ + 1 ≥ xi,j + xi′,j′ i 6= i′

to hold the label of each vertex in the topological ordering, createan integer-valued variable vi and enforce

vi < vi′ + n1(1− ei,i′) n1 – number of students.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 18 / 26

Page 95: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Coalition constraints

Students’ preferences Lecturers’ preferences

s1: p3 p2 p1 l1: p1 p2s2: p1 p2 l2: p3s3: p3

Envy graph

s1 s2s3

admits topological ordering =⇒ it is acyclic =⇒ no coalition.

For each (si, si′), if si envies si′ , create ei,i′ ∈ {0, 1} and enforce

ei,i′ + 1 ≥ xi,j + xi′,j′ i 6= i′

to hold the label of each vertex in the topological ordering, createan integer-valued variable vi and enforce

vi < vi′ + n1(1− ei,i′) n1 – number of students.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 18 / 26

Page 96: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Objective function

summation of all the xi,j binary variables

maxn1∑i=1

∑pj∈Ai

xi,j

it seeks to maximise the number of students assigned to projects

Theorem

Given an instance I of spa-p, there exists an IP formulation J of Isuch that an optimal solution in J corresponds to a maximum stablematching in I, and vice-versa.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 19 / 26

Page 97: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Objective function

summation of all the xi,j binary variables

maxn1∑i=1

∑pj∈Ai

xi,j

it seeks to maximise the number of students assigned to projects

Theorem

Given an instance I of spa-p, there exists an IP formulation J of Isuch that an optimal solution in J corresponds to a maximum stablematching in I, and vice-versa.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 19 / 26

Page 98: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Objective function

summation of all the xi,j binary variables

maxn1∑i=1

∑pj∈Ai

xi,j

it seeks to maximise the number of students assigned to projects

Theorem

Given an instance I of spa-p, there exists an IP formulation J of Isuch that an optimal solution in J corresponds to a maximum stablematching in I, and vice-versa.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 19 / 26

Page 99: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Objective function

summation of all the xi,j binary variables

maxn1∑i=1

∑pj∈Ai

xi,j

it seeks to maximise the number of students assigned to projects

Theorem

Given an instance I of spa-p, there exists an IP formulation J of Isuch that an optimal solution in J corresponds to a maximum stablematching in I, and vice-versa.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 19 / 26

Page 100: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Implementation and Experimental Setup

IP model was implemented using the Gurobi optimisation solver

www.gurobi.com

to investigate how the solution produced by the approximationalgorithms compares to the optimal solution obtained from the IPmodel, with respect to the size of the stable matchings constructed

IP solver on instance size involving 1000 students

with the coalition constraints (63.50 seconds)without the coalition constraints (2.61 seconds)

size of a maximum stable matching = size of a matching thatadmits no blocking pair, but potentially admits a coalition

for the purpose of this experiment, we removed the coalitionconstraints from our IP solver

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 20 / 26

Page 101: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Implementation and Experimental Setup

IP model was implemented using the Gurobi optimisation solver

www.gurobi.com

to investigate how the solution produced by the approximationalgorithms compares to the optimal solution obtained from the IPmodel, with respect to the size of the stable matchings constructed

IP solver on instance size involving 1000 students

with the coalition constraints (63.50 seconds)without the coalition constraints (2.61 seconds)

size of a maximum stable matching = size of a matching thatadmits no blocking pair, but potentially admits a coalition

for the purpose of this experiment, we removed the coalitionconstraints from our IP solver

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 20 / 26

Page 102: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Implementation and Experimental Setup

IP model was implemented using the Gurobi optimisation solver

www.gurobi.com

to investigate how the solution produced by the approximationalgorithms compares to the optimal solution obtained from the IPmodel, with respect to the size of the stable matchings constructed

IP solver on instance size involving 1000 students

with the coalition constraints (63.50 seconds)without the coalition constraints (2.61 seconds)

size of a maximum stable matching = size of a matching thatadmits no blocking pair, but potentially admits a coalition

for the purpose of this experiment, we removed the coalitionconstraints from our IP solver

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 20 / 26

Page 103: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Implementation and Experimental Setup

IP model was implemented using the Gurobi optimisation solver

www.gurobi.com

to investigate how the solution produced by the approximationalgorithms compares to the optimal solution obtained from the IPmodel, with respect to the size of the stable matchings constructed

IP solver on instance size involving 1000 students

with the coalition constraints (63.50 seconds)without the coalition constraints (2.61 seconds)

size of a maximum stable matching = size of a matching thatadmits no blocking pair, but potentially admits a coalition

for the purpose of this experiment, we removed the coalitionconstraints from our IP solver

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 20 / 26

Page 104: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Implementation and Experimental Setup

IP model was implemented using the Gurobi optimisation solver

www.gurobi.com

to investigate how the solution produced by the approximationalgorithms compares to the optimal solution obtained from the IPmodel, with respect to the size of the stable matchings constructed

IP solver on instance size involving 1000 students

with the coalition constraints (63.50 seconds)without the coalition constraints (2.61 seconds)

size of a maximum stable matching = size of a matching thatadmits no blocking pair, but potentially admits a coalition

for the purpose of this experiment, we removed the coalitionconstraints from our IP solver

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 20 / 26

Page 105: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Implementation and Experimental Setup

IP model was implemented using the Gurobi optimisation solver

www.gurobi.com

to investigate how the solution produced by the approximationalgorithms compares to the optimal solution obtained from the IPmodel, with respect to the size of the stable matchings constructed

IP solver on instance size involving 1000 students

with the coalition constraints (63.50 seconds)without the coalition constraints (2.61 seconds)

size of a maximum stable matching = size of a matching thatadmits no blocking pair, but potentially admits a coalition

for the purpose of this experiment, we removed the coalitionconstraints from our IP solver

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 20 / 26

Page 106: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Experimental results: Randomly-generated SPA-P

instances

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 21 / 26

Page 107: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Experimental results: Randomly-generated SPA-P

instances

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 22 / 26

Page 108: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Experimental results: SPA-P instances derived from realdatasets

actual student preference data from previous runs of projectallocation in the School of Computing Science, University ofGlasgow; lecturer preference data was derived from thisinformation

Random Most popular Least popular

Year n1 n2 n3 l A B C D E A B C D E A B C D E

2014 55 149 38 6 55 55 55 54 53 55 55 55 54 50 55 55 55 54 52

2015 76 197 46 6 76 76 76 76 72 76 76 76 76 72 76 76 76 76 75

2016 92 214 44 6 84 82 83 77 75 85 85 83 79 76 82 80 77 76 74

2017 90 289 59 4 89 87 85 80 76 90 89 86 81 79 88 85 84 80 77

Table 1: A,B,C,D and E denotes the solution obtained from the IP model, 100 runs of32-approximation algorithm, single run of 3

2-approximation algorithm, 100 runs of

2-approximation algorithm, and single run of 2-approximation algorithm respectively. Also,n1, n2, n3 and l is number of students, number of projects, number of lecturers and lengthof the students’ preference lists respectively.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 23 / 26

Page 109: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Experimental results: SPA-P instances derived from realdatasets

actual student preference data from previous runs of projectallocation in the School of Computing Science, University ofGlasgow; lecturer preference data was derived from thisinformation

Random Most popular Least popular

Year n1 n2 n3 l A B C D E A B C D E A B C D E

2014 55 149 38 6 55 55 55 54 53 55 55 55 54 50 55 55 55 54 52

2015 76 197 46 6 76 76 76 76 72 76 76 76 76 72 76 76 76 76 75

2016 92 214 44 6 84 82 83 77 75 85 85 83 79 76 82 80 77 76 74

2017 90 289 59 4 89 87 85 80 76 90 89 86 81 79 88 85 84 80 77

Table 1: A,B,C,D and E denotes the solution obtained from the IP model, 100 runs of32-approximation algorithm, single run of 3

2-approximation algorithm, 100 runs of

2-approximation algorithm, and single run of 2-approximation algorithm respectively. Also,n1, n2, n3 and l is number of students, number of projects, number of lecturers and lengthof the students’ preference lists respectively.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 23 / 26

Page 110: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Experimental results: SPA-P instances derived from realdatasets

actual student preference data from previous runs of projectallocation in the School of Computing Science, University ofGlasgow; lecturer preference data was derived from thisinformation

Random Most popular Least popular

Year n1 n2 n3 l A B C D E A B C D E A B C D E

2014 55 149 38 6 55 55 55 54 53 55 55 55 54 50 55 55 55 54 52

2015 76 197 46 6 76 76 76 76 72 76 76 76 76 72 76 76 76 76 75

2016 92 214 44 6 84 82 83 77 75 85 85 83 79 76 82 80 77 76 74

2017 90 289 59 4 89 87 85 80 76 90 89 86 81 79 88 85 84 80 77

Table 1: A,B,C,D and E denotes the solution obtained from the IP model, 100 runs of32-approximation algorithm, single run of 3

2-approximation algorithm, 100 runs of

2-approximation algorithm, and single run of 2-approximation algorithm respectively. Also,n1, n2, n3 and l is number of students, number of projects, number of lecturers and lengthof the students’ preference lists respectively.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 23 / 26

Page 111: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Discussions and Conclusions

the approximation algorithms outperform the expected bound

the 32 -approximation algorithm finds stable matchings that are

very close in size to optimal, even on a single run

IP solver on instance size involving 10, 000 students (100 seconds)

IP model can be employed in practice

potential coalitions can subsequently be dealt with inpolynomial-time

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 24 / 26

Page 112: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Discussions and Conclusions

the approximation algorithms outperform the expected bound

the 32 -approximation algorithm finds stable matchings that are

very close in size to optimal, even on a single run

IP solver on instance size involving 10, 000 students (100 seconds)

IP model can be employed in practice

potential coalitions can subsequently be dealt with inpolynomial-time

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 24 / 26

Page 113: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Discussions and Conclusions

the approximation algorithms outperform the expected bound

the 32 -approximation algorithm finds stable matchings that are

very close in size to optimal, even on a single run

IP solver on instance size involving 10, 000 students (100 seconds)

IP model can be employed in practice

potential coalitions can subsequently be dealt with inpolynomial-time

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 24 / 26

Page 114: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Discussions and Conclusions

the approximation algorithms outperform the expected bound

the 32 -approximation algorithm finds stable matchings that are

very close in size to optimal, even on a single run

IP solver on instance size involving 10, 000 students (100 seconds)

IP model can be employed in practice

potential coalitions can subsequently be dealt with inpolynomial-time

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 24 / 26

Page 115: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Discussions and Conclusions

the approximation algorithms outperform the expected bound

the 32 -approximation algorithm finds stable matchings that are

very close in size to optimal, even on a single run

IP solver on instance size involving 10, 000 students (100 seconds)

IP model can be employed in practice

potential coalitions can subsequently be dealt with inpolynomial-time

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 24 / 26

Page 116: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Future work

Interesting directions..

Approximation algorithm with improved bounds?

Fixed-Parameter Tractable (FPT) algorithm for MAX-SPA-P?

each project and lecturer has capacity 1 7all preference lists are of bounded length 7what if there is a constant number of lecturer? 7might be solvable in polynomial-time with one lecturer?remains hard to solve with two lecturers, even if each project hascapacity 1 3more parameters yet to be explored..

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 25 / 26

Page 117: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Future work

Interesting directions..

Approximation algorithm with improved bounds?

Fixed-Parameter Tractable (FPT) algorithm for MAX-SPA-P?

each project and lecturer has capacity 1 7all preference lists are of bounded length 7what if there is a constant number of lecturer? 7might be solvable in polynomial-time with one lecturer?remains hard to solve with two lecturers, even if each project hascapacity 1 3more parameters yet to be explored..

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 25 / 26

Page 118: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Future work

Interesting directions..

Approximation algorithm with improved bounds?

Fixed-Parameter Tractable (FPT) algorithm for MAX-SPA-P?

each project and lecturer has capacity 1 7all preference lists are of bounded length 7what if there is a constant number of lecturer? 7might be solvable in polynomial-time with one lecturer?remains hard to solve with two lecturers, even if each project hascapacity 1 3more parameters yet to be explored..

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 25 / 26

Page 119: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Future work

Interesting directions..

Approximation algorithm with improved bounds?

Fixed-Parameter Tractable (FPT) algorithm for MAX-SPA-P?

each project and lecturer has capacity 1

7all preference lists are of bounded length 7what if there is a constant number of lecturer? 7might be solvable in polynomial-time with one lecturer?remains hard to solve with two lecturers, even if each project hascapacity 1 3more parameters yet to be explored..

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 25 / 26

Page 120: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Future work

Interesting directions..

Approximation algorithm with improved bounds?

Fixed-Parameter Tractable (FPT) algorithm for MAX-SPA-P?

each project and lecturer has capacity 1 7

all preference lists are of bounded length 7what if there is a constant number of lecturer? 7might be solvable in polynomial-time with one lecturer?remains hard to solve with two lecturers, even if each project hascapacity 1 3more parameters yet to be explored..

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 25 / 26

Page 121: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Future work

Interesting directions..

Approximation algorithm with improved bounds?

Fixed-Parameter Tractable (FPT) algorithm for MAX-SPA-P?

each project and lecturer has capacity 1 7all preference lists are of bounded length

7what if there is a constant number of lecturer? 7might be solvable in polynomial-time with one lecturer?remains hard to solve with two lecturers, even if each project hascapacity 1 3more parameters yet to be explored..

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 25 / 26

Page 122: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Future work

Interesting directions..

Approximation algorithm with improved bounds?

Fixed-Parameter Tractable (FPT) algorithm for MAX-SPA-P?

each project and lecturer has capacity 1 7all preference lists are of bounded length 7

what if there is a constant number of lecturer? 7might be solvable in polynomial-time with one lecturer?remains hard to solve with two lecturers, even if each project hascapacity 1 3more parameters yet to be explored..

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 25 / 26

Page 123: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Future work

Interesting directions..

Approximation algorithm with improved bounds?

Fixed-Parameter Tractable (FPT) algorithm for MAX-SPA-P?

each project and lecturer has capacity 1 7all preference lists are of bounded length 7what if there is a constant number of lecturer?

7might be solvable in polynomial-time with one lecturer?remains hard to solve with two lecturers, even if each project hascapacity 1 3more parameters yet to be explored..

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 25 / 26

Page 124: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Future work

Interesting directions..

Approximation algorithm with improved bounds?

Fixed-Parameter Tractable (FPT) algorithm for MAX-SPA-P?

each project and lecturer has capacity 1 7all preference lists are of bounded length 7what if there is a constant number of lecturer?

7

might be solvable in polynomial-time with one lecturer?

remains hard to solve with two lecturers, even if each project hascapacity 1 3more parameters yet to be explored..

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 25 / 26

Page 125: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Future work

Interesting directions..

Approximation algorithm with improved bounds?

Fixed-Parameter Tractable (FPT) algorithm for MAX-SPA-P?

each project and lecturer has capacity 1 7all preference lists are of bounded length 7what if there is a constant number of lecturer?

7

might be solvable in polynomial-time with one lecturer?remains hard to solve with two lecturers, even if each project hascapacity 1

3more parameters yet to be explored..

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 25 / 26

Page 126: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Future work

Interesting directions..

Approximation algorithm with improved bounds?

Fixed-Parameter Tractable (FPT) algorithm for MAX-SPA-P?

each project and lecturer has capacity 1 7all preference lists are of bounded length 7what if there is a constant number of lecturer?

7

might be solvable in polynomial-time with one lecturer?remains hard to solve with two lecturers, even if each project hascapacity 1 3

more parameters yet to be explored..

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 25 / 26

Page 127: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Future work

Interesting directions..

Approximation algorithm with improved bounds?

Fixed-Parameter Tractable (FPT) algorithm for MAX-SPA-P?

each project and lecturer has capacity 1 7all preference lists are of bounded length 7what if there is a constant number of lecturer? 7might be solvable in polynomial-time with one lecturer?remains hard to solve with two lecturers, even if each project hascapacity 1 3

more parameters yet to be explored..

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 25 / 26

Page 128: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Future work

Interesting directions..

Approximation algorithm with improved bounds?

Fixed-Parameter Tractable (FPT) algorithm for MAX-SPA-P?

each project and lecturer has capacity 1 7all preference lists are of bounded length 7what if there is a constant number of lecturer? 7might be solvable in polynomial-time with one lecturer?remains hard to solve with two lecturers, even if each project hascapacity 1 3more parameters yet to be explored..

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 25 / 26

Page 129: An Integer Programming Formulation for a Matching Problemsofiat/BCTCS2018.pdf · An Integer Programming Formulation for a Matching Problem David Manlove, Duncan Milne and So at Olaosebikan

Thank you for your attention

David Manlove1, Duncan Milne and Sofiat Olaosebikan2. An IntegerProgramming Approach to the Student-Project Allocation Problemwith Preferences over Projects. To appear in proceedings of ISCO 2018:the 5th International Symposium on Combinatorial Optimisation,Lecture Notes in Computer Science, Springer, 2018.

Corresponding author: Sofiat OlaosebikanWebsite: www.dcs.gla.ac.uk/∼sofiatEmail: [email protected]

1Supported by grant EP/P028306/1 from the Engineering and Physical Sciences Research Council.

2Supported by a College of Science and Engineering Scholarship, University of Glasgow.

D. Manlove, D. Milne, S. Olaosebikan (School of Computing Science, University of Glasgow)Integer Programming BCTCS 2018 26 / 26