  The Student-Project Allocation problem with preferences over Projects (SPA-P)
involves sets of students, projects and lecturers, where the students and
lecturers each have preferences over the projects. In this context, we
typically seek a stable matching of students to projects (and lecturers).
However, these stable matchings can have different sizes, and the problem of
finding a maximum stable matching (MAX-SPA-P) is NP-hard. There are two known
approximation algorithms for MAX-SPA-P, with performance guarantees of 2 and
3/2. In this paper, we describe an Integer Programming (IP) model to enable
MAX-SPA-P to be solved optimally. Following this, we present results arising
from an empirical analysis that investigates how the solution produced by the
approximation algorithms compares to the optimal solution obtained from the IP
model, with respect to the size of the stable matchings constructed, on
instances that are both randomly-generated and derived from real datasets. Our
main finding is that the 3/2-approximation algorithm finds stable matchings
that are very close to having maximum cardinality.
