We describe a solution to the student-project allocation problem using simulated annealing. The problem involves assigning students to projects, where each student has ranked a fixed number of projects in order of preference. Each project is offered by a specific supervisor (or supervisors), and the goal is to find an optimal matching of students to projects taking into account the students' preferences, the constraint that only one student can be assigned to a given project, and the constraint that supervisors have a maximum workload. We show that when applied to a real dataset from a university physics department, simulated annealing allows the rapid determination of high quality solutions to this allocation problem. The quality of the solution is quantified by a satisfaction metric derived from empirical student survey data. Our approach provides high quality allocations in a matter of minutes that are as good as those found previously by the course organizer using a laborious trial-and-error approach. We investigate how the quality of the allocation is affected by the ratio of the number of projects offered to the number of students and the number of projects ranked by each student. We briefly discuss how our approach can be generalized to include other types of constraints and discuss its potential applicability to wider allocation problems.

1.
I. H.
Osman
, “
Heuristics for the generalised assignment problem: simulated annealing and tabu search approaches
,”
OR Spektrum
17
,
211
225
(
1995
).
2.
P. C.
Chu
and
J. E.
Beasley
, “
A genetic algorithm for the generalised assignment problem
,”
Comput. Oper. Res.
24
,
17
23
(
1997
).
3.
Reuven
Cohen
,
Liran
Katzir
, and
Danny
Raz
, “
An efficient approximation for the generalized assignment problem
,”
Inf. Proces. Lett.
100
,
162
166
(
2006
).
4.
L. G.
Proll
, “
A simple method of assigning projects to students
,”
J. Oper. Res. Soc.
23
,
195
201
(
1972
).
5.
A. A.
Anwar
and
A. S.
Bahaj
, “
Student project allocation using integer programming
,”
IEEE Trans. Educ.
46
,
359
367
(
2003
).
6.
Paul R.
Harper
,
Valter
de Senna
,
Israel T.
Vieira
, and
Arjan K.
Shahani
, “
A genetic algorithm for the project assignment problem
,”
Comput. Oper. Res.
32
,
1255
1265
(
2005
).
7.
Augustine
Kwanashie
,
Robert W.
Irving
,
David F.
Manlove
, and
Colin T. S.
Sng
, “
Profile-based optimal matchings in the student/project allocation problem
,” in
Combinatorial Algorithms: 25th International Workshop, IWOCA 2014, Duluth, MN
, 2014, edited by
Kratochvíl
Jan
,
Mirka
Miller
, and
Dalibor
Froncek
(
Springer
,
New York
,
2015
), pp.
213
225
.
8.
David J.
Abraham
,
Robert W.
Irving
, and
David F.
Manlove
, “
Two algorithms for the student-project allocation problem
,”
J. Disc. Algorithms
5
,
73
90
(
2007
).
9.
David F.
Manlove
and
Gregg
O'Malley
, “
Student-project allocation with preferences over projects
,”
J. Disc. Algorithms
6
,
553
560
(
2008
).
10.
K.
Binder
and
D. W.
Heermann
,
Monte Carlo Simulation in Statistical Physics: An Introduction
, 5th ed. (
Springer
,
New York
,
2010
).
11.
Wilson K.
Clemons
,
Don A.
Grundel
, and
David E.
Jeffcoat
, “
Applying simulated annealing to the multidimensional assignment problem
,” in
Theory and Algorithms for Cooperative Systems
, edited by
Don
Grundel
,
Robert
Murphey
, and
Panos M.
Pardalos
(
World Scientific
,
Singapore
,
2004
), pp.
45
61
.
12.
Y.
Teo
and
D. J.
Ho
, “
A systematic approach to the implementation of final year project in an electrical engineering undergraduate course
,”
IEEE Trans. Educ.
41
,
25
30
(
1998
).
13.
S.
Geman
and
D.
Geman
, “
Stochastic relaxation, Gibbs distributions, and the Bayesian restoration of images
,”
IEEE Trans. Pattern Anal. Mach. Intell.
PAMI-6
,
721
741
(
1984
).
14.
Our C program
can be downloaded from <https://github.com/abichown/SPA-Code>. It is also available as Supplementary Material at https://doi.org/10.1119/1.5045331 .

Supplementary Material

AAPT members receive access to the American Journal of Physics and The Physics Teacher as a member benefit. To learn more about this member benefit and becoming an AAPT member, visit the Joining AAPT page.