In this chapter, we have described a polynomial-time algorithm to find a strongly stable matching or to report that no such matching exists, given an instance of SPA-ST. We also established that our algorithm produces a student-optimal strongly stable matching for solv- able instances, i.e., each student who is assigned in a solution output by our algorithm is assigned to at least as good a project as she could obtain in any strongly stable matching. We leave open the formulation of a lecturer-oriented counterpart to our algorithm.
We also carried out an empirical evaluation of our algorithm’s implementation. The aim of our experiment was to examine the likelihood of the existence of strongly stable match- ings compared to super-stable matchings in randomly-generated instances of SPA-ST. We observed that as we increased the size of the instance and the length of the preference list, and as we varied the tie density in both the students’ and lecturers’ preference lists, the re- sults that we obtained from our strong stability experiments are consistent with what we observed in our super-stability experiments, with respect to the instances that we generated randomly. However, for instances of size between 10 and 50, we observed a slight increase in the proportion of instances that admitted strongly stable matchings but no super-stable matching. Further evaluation of our implementation could investigate how other parameters (e.g., the popularity of some projects, or the position of the ties in the preference lists) affect the existence of a strongly stable matching when no super-stable matching exists.
It would also be interesting to explore some of the open problems we suggested in Chapter 4, which include: (i) formalising the results on the probability of a strongly stable matching existing, given an arbitrary instance ofSPA-ST(see [102] for some results regarding this for
the Stable Roommates problem); and (ii) characterising the strongly stable matchings in an instance of SPA-STwith respect to a dominance relation (see [82] for results regarding this forSMT).
5.6. Conclusion and open problems 133 (a) tds = 0.025. (b) tds= 0.05. (c) tds = 0.075. (d) tds = 0.1. (e) tds = 0.125. (f) tds= 0.150.
Figure 5.13: Proportion of instances that admit a strongly stable and/or super-stable match- ing as the size of the instance increases, with the length of each student’s preference list fixed at 5, and with varying tie density in the lecturers’ preference lists.
Chapter 6
Algorithmic and Experimental
Results for
SPA
-
P
6.1
Introduction
In Section 2.3.4, we considered the SPA-P [87] model, which is a variant of SPA where students have preferences over the available projects that they find acceptable while lecturers have preferences over their proposed projects. As the reader may recall, stable matchings for an instance of SPA-P can have different sizes, and the problem of finding a maximum size stable matching (MAX-SPA-P) is NP-hard, under certain restrictions [87]. Moreover, the best
known approximation algorithm forMAX-SPA-Phas a performance guarantee of 32 [61].
Our contribution in this chapter is to present new algorithmic and experimental results for
SPA-P. On the algorithmic side, first we explore the complexity ofMAX-SPA-Punder the fol- lowing restrictions: if (i) the instance involves r lecturers (denotedMAX-SPA-P-Lr), where r
is a constant; and (ii) each preference list is of length at most 3 (denoted (3, 3)-MAX-SPA-P). For the first restriction, if there is only one lecturer involved, we show that MAX-SPA-P is
polynomial-time solvable. In contrast to this, if there are two lecturers involved, we show that the problem remains NP-hard and is not approximable within some constant c > 1 un- less P = NP. For the second restriction, we show thatMAX-SPA-Premains NP-hard. We then
move on to describe an IP model to enableMAX-SPA-Pto be solved optimally, in the general case where there are no restrictions on the problem instance.
On the experimental side, we present results arising from an empirical evaluation that inves- tigates how the solutions produced by the existing approximation algorithms forMAX-SPA-P
[61, 87] compare to optimal solutions obtained from our IP model, with respect to the size of the stable matchings constructed, on instances that are both randomly-generated and derived from real datasets. These real datasets are based on actual student preference data and man-
6.2. Preliminary definitions 135 Students’ preferences Lecturers’ preferences
s1: p3 p2 p1 l1: p2 p1 s2: p1 p2 l2: p3 s3: p3
Project capacities: c1 = c2 = c3 = 1 Lecturer capacities: d1 = 2, d2 = 1 Figure 6.1: An instance I1ofSPA-P.
ufactured lecturer preference data from previous runs of student-project allocation processes at the School of Computing Science, University of Glasgow. We also present results showing the time taken by the IP model to solve the problem instances optimally. Our main finding is that the 32-approximation algorithm finds stable matchings that are very close to having maximum cardinality.
This chapter is organised as follows. We give a formal definition of stability in the context of SPA-P in Section 6.2. We describe a polynomial-time algorithm for MAX-SPA-P-L1 in
Section 6.3.1, and we give an inapproximability result forMAX-SPA-P-L2 in Section 6.3.2. In Section 6.4 we show that (3, 3)-MAX-SPA-P is NP-hard. In Section 6.5, we describe our IP model for MAX-SPA-P. We present our empirical evaluation in Section 6.6, along with some discussions regarding results obtained from the experiments. Finally, in Section 6.7 we give some conclusions and open problems.
6.2
Preliminary definitions
Formally, an instance I of SPA-P involves a set S = {s1, s2, . . . , sn1} of students, a set
P = {p1, p2, . . . , pn2} of projects and a set L = {l1, l2, . . . , ln3} of lecturers. In contrast
toSPA-S (see Section 2.3.2), each lecturer lk ∈ L ranks the projects in Pk in strict order of preference instead of ranking the students in S. An example instance ofSPA-P is illustrated
in Figure 6.1, which involves the set S = {s1, s2, s3} of students, the set P = {p1, p2, p3} of projects and the set L = {l1, l2} of lecturers, with P1 = {p1, p2} and P2 = {p3}.
All the notation and terminology defined for SPA-S also holds for SPA-P, except that of stability, which we define as follows.
Definition 6.2.1 ([87]). Let I be an instance of SPA-P and letM be a matching in I. An acceptable pair(si, pj) ∈ (S × P) \ M is a blocking pair for M if (i), (ii) and (iii) holds as follows:
(i) eithersi is unassigned inM or si preferspj toM (si); (ii) pj is undersubscribed inM ;
(iii) either (a), (b) or (c) holds as follows: (a) si ∈ M (lk) and lkpreferspj toM (si), (b) si ∈ M (l/ k) and lkis undersubscribed inM ,
(c) si ∈ M (l/ k) and lkpreferspj to his worst non-empty project.
If a pair (si, pj) forms a blocking pair for M , we may also say that (si, pj) blocks M . For ease of exposition, throughout this chapter, we will refer to any such pair as a blocking pair of type (a), type (b) or type (c). With respect to the SPA-P instance given in Figure 6.1, M1 = {(s1, p3), (s2, p1)} is clearly a matching. It is obvious that each of students s1 and s2 is assigned to her first ranked project in M1. Although s3 is unassigned in M1, the lecturer offering p3 (the only project that s3 finds acceptable) is assumed to be indifferent among those students who find p3 acceptable. Also p3 is full in M1. Thus, we say that M1 admits no blocking pair.
Another way in which a matching could be undermined is through a group of students act- ing together, forming a coalition. Given a matching M , a coalition is a set of students C = hsi0, . . . , sir−1i, for some r ≥ 2 such that each student sij (0 ≤ j ≤ r − 1) is assigned
in M and prefers M (sij+1) to M (sij), where addition is performed modulo r. Again, consid-
ering theSPA-Pinstance given in Figure 6.1, the matching M2 = {(s1, p1), (s2, p2), (s3, p3)} admits a coalition {s1, s2}, as students s1and s2would rather permute their assigned projects in M2so as to be better off. We note that the number of students assigned to each project and lecturer involved in any such swap remains the same after such a permutation. Moreover, the lecturers involved would have no incentive to prevent the switch from occurring since they are assumed to be indifferent between the students assigned to the projects they are offering. If a matching admits no coalition, we define such matching to be coalition-free.
A matching M in I is said to be stable if M admits no blocking pair and is coalition-free. Some intuition for the stable matching definition is given in [87]. The reader can easily verify that each of the matchings M1 = {(s1, p3), (s2, p1)} and M3 = {(s1, p2), (s2, p1), (s3, p3)} is stable in theSPA-Pinstance shown in Figure 6.1.