Course Allocation with Credits via Stable Matching
José Rodríguez, David Manlove
TL;DR
The paper introduces a formal model for course allocation where courses carry different credit values and may have conflicts, and studies four stability notions—pair stability, pair-size stability, coalition stability, and first-coalition stability. It develops a polynomial-time algorithm to find pair-size-stable matchings in the arbitrary-preference setting and shows existence guarantees under master lists via Serial Dictatorship, with uniqueness. It also thoroughly maps the computational complexity of verifying stability and finding stable or maximum-size stable matchings, proving NP-hardness for most definitions and identifying polynomial cases primarily when master lists are present. The analysis extends to lower quotas and their impact, showing that while some problems remain tractable under master lists, many stability-related optimization problems become NP-hard with quotas or closures, highlighting fundamental limits and guiding future research on stability in heterogeneous-credit allocation systems.
Abstract
In the {\sc Course Allocation} problem, there are a set of students and a set of courses at a given university. University courses may have different numbers of credits, typically related to different numbers of learning hours, and there may be other constraints such as courses running concurrently. Our goal is to allocate the students to the courses such that the resulting matching is stable, which means that no student and course(s) have an incentive to break away from the matching and become assigned to one another. We study several definitions of stability and for each we give a mixture of polynomial-time algorithms and hardness results for problems involving verifying the stability of a matching, finding a stable matching or determining that none exists, and finding a maximum size stable matching. We also study variants of the problem with master lists of students, and lower quotas on the number of students allocated to a course, establishing additional complexity results in these settings.
