“Almoststable” matchings in the Hospitals / Residents problem with Couples
Abstract
The Hospitals / Residents problem with Couples (hrc) models the allocation of intending junior doctors to hospitals where couples are allowed to submit joint preference lists over pairs of (typically geographically close) hospitals. It is known that a stable matching need not exist, so we consider min bp hrc, the problem of finding a matching that admits the minimum number of blocking pairs (i.e., is “as stable as possible”). We show that this problem is NPhard and difficult to approximate even in the highly restricted case that each couple finds only one hospital pair acceptable. However if we further assume that the preference list of each single resident and hospital is of length at most 2, we give a polynomialtime algorithm for this case. We then present the first Integer Programming (IP) and Constraint Programming (CP) models for min bp hrc. Finally, we discuss an empirical evaluation of these models applied to randomlygenerated instances of min bp hrc. We find that on average, the CP model is about 1.15 times faster than the IP model, and when presolving is applied to the CP model, it is on average 8.14 times faster. We further observe that the number of blocking pairs admitted by a solution is very small, i.e., usually at most 1, and never more than 2, for the (28,000) instances considered.
Keywords
Moststable matching Blocking pair Polynomialtime algorithm NPhardness Integer programming model Constraint programming model Empirical evaluation1 Introduction
The Hospitals / Residents problem
The Hospitals / Residents problem (hr) [13] is a manytoone allocation problem that models the assignment process involved in centralised matching schemes such as the National Resident Matching Program (NRMP) [42] which assigns graduating medical students to hospital posts in the USA. Analogous schemes exist in Canada [37] and Japan [39]. A similar process was used until recently to match medical graduates to Foundation Programme places in Scotland: the Scottish Foundation Allocation Scheme (SFAS) [19]. Moreover, similar matching schemes exist in the context of Higher Education admission in Hungary [4, 40], Spain [29], Turkey [3] and Ireland [38, 40]. The reader is referred to [40] for details of matching practices in a number of practical contexts throughout Europe.
An instance of hr consists of two sets of agents – a set \(R= \{r_{1} ,{\ldots } r_{n_{1}}\}\) containing residents and a set \(H= \{h_{1} ,{\ldots } h_{n_{2}}\}\) containing hospitals. Every resident expresses a linear preference over some subset of the hospitals, his preference list. The hospitals in a resident’s preference list are his acceptable partners; all other hospitals being unacceptable. Every hospital expresses a linear preference over those residents who find it acceptable. Further, each hospital h_{j}∈H has a positive integral capacityc_{j}, the maximum number of residents to which it may be assigned. A matchingM is a set of acceptable residenthospital pairs such that each resident appears in at most one pair and each hospital h_{j} belongs to at most c_{j} pairs. If (r_{i},h_{j})∈M then r_{i} is said to be assigned to h_{j}, M(r_{i}) denotes h_{j}, and r_{i} is an assignee of h_{j}. Given r_{i}∈R, if r_{i} does not belong to any pair in M then r_{i} is said to be unassigned. Given h_{j}∈H, we let M(h_{j}) denote the set of assignees of h_{j} in M. Hospital h_{j} is undersubscribed, full or oversubscribed according as M(h_{j}) is less than, equal to, or larger than c_{j}, respectively.
Roth [31] argued that a key property to be satisfied by any matching M in an instance I of hr is stability, which ensures that M admits no blocking pair in I. Informally, such a pair comprises a resident r_{i} and a hospital h_{j}, both of whom have an incentive to disregard their assignments (if any) and become matched to one another outside of M, undermining its integrity. A matching is stable if it admits no blocking pair. It is known that every instance of hr admits at least one stable matching, which can be found in time linear in the size of the instance [13].
The Hospitals / Residents problem with Couples
The Hospitals / Residents problem with Couples (hrc) is a generalisation of hr that is important in practical applications because it models the case where some of the residents may apply jointly in couples, so that they may be matched to hospitals that are geographically close to one another. In order to ensure this, a couple submits a joint preference list over pairs of hospitals, rather than individual hospitals. Matching schemes for junior doctors such as the NRMP [42] allow couples to apply jointly, as do assignment processes in the US Navy [28, 34, 36] (for which hrc is an appropriate problem model), for example.
Formally, an instance I of hrc consists of a set \(R=\{r_{1} ,{\ldots } r_{n_{1}}\}\) containing residents and a set \(H=\{h_{1} ,{\ldots } h_{n_{2}}\}\) containing hospitals. The residents in R are partitioned into two sets, S and S^{′}. The set S consists of single residents and the set S^{′} consists of those residents involved in couples. There is a set C={(r_{i},r_{j}):r_{i},r_{j}∈S^{′}} of couples such that each resident in S^{′} belongs to exactly one pair in C.
Each single resident r_{i}∈S expresses a linear preference order over some subset of the hospitals, his acceptable hospitals; all other hospitals being unacceptable. Each couple (r_{i},r_{j})∈C expresses a joint linear preference order over a subset A of H×H where (h_{p},h_{q})∈A represents the simultaneous assignment of r_{i} to h_{p} and r_{j} to h_{q}. The hospital pairs in A represent those joint assignments that are acceptable to (r_{i},r_{j}), all other joint assignments being unacceptable. Each hospital h_{j}∈H expresses a linear preference order over those residents who find it acceptable, either as a single resident or as part of a couple, and as in the case of hr, each hospital h_{j}∈H has a positive integral capacityc_{j}.
A matchingM in I is defined as in hr case, with the additional restriction that, for each couple (r_{i},r_{j})∈C, either both r_{i} and r_{j} appear in no pair of M, or else {(r_{i},h_{k}),(r_{j},h_{l})}⊆M for some pair (h_{k},h_{l}) that (r_{i},r_{j}) find acceptable. In the former case, (r_{i},r_{j}) are said to be unassigned, whilst in the latter case, (r_{i},r_{j}) are said to be jointly assigned to (h_{k},h_{l}). Given a resident r_{i}∈R, the definitions of M(r_{i}), assigned and unassigned are the same as for the hr case, whilst for a hospital h_{j}∈H, the definitions of assignees, M(h_{j}), undersubscribed, full and oversubscribed for hospitals are also the same as before.
We seek a stable matching, which guarantees that no resident and hospital, and no couple and pair of hospitals, have an incentive to deviate from their assignments and become assigned to each other outside of the matching. Roth [31] considered stability in the hrc context but did not define the concept explicitly. Whilst Gusfield and Irving [15] gave a formal definition of a blocking pair, it neglected to deal with the case that both members of a couple may wish to be assigned to the same hospital. A number of other stability definitions for hrc have since been given in the literature that address this issue (see [6] and [20, Section 5.3] for more details), including that of McDermid and Manlove [24], which we adopt in this paper. We repeat their definition again here for completeness.
Definition 1 (24)
 1.
There is a single resident r_{i} and a hospital h_{j}, where r_{i} finds h_{j} acceptable, such that either r_{i} is unassigned in M or prefers h_{j} to M(r_{i}), and either h_{j} is undersubscribed in M or prefers r_{i} to some member of M(h_{j}).
 2.There is couple (r_{i},r_{j}) and a hospital h_{k} such that either
 (a)
(r_{i},r_{j}) prefers (h_{k},M(r_{j})) to (M(r_{i}),M(r_{j})), and either h_{k} is undersubscribed in M or prefers r_{i} to some member of M(h_{k})∖{r_{j}}or
 (b)
(r_{i},r_{j}) prefers (M(r_{i}),h_{k}) to (M(r_{i}),M(r_{j})), and either h_{k} is undersubscribed in M or prefers r_{j} to some member of M(h_{k})∖{r_{i}}.
 (a)
 3.There is a couple (r_{i},r_{j}) and a pair of (not necessarily distinct) hospitals h_{k}≠M(r_{i}), h_{l}≠M(r_{j}) such that (r_{i},r_{j}) finds (h_{k},h_{l}) acceptable, and either (r_{i},r_{j}) is unassigned or prefers the joint assignment (h_{k},h_{l}) to (M(r_{i}),M(r_{j})), and either
 (a)
h_{k}≠h_{l}, and h_{k} (respectively h_{l}) is either undersubscribed in M or prefers r_{i} (respectively r_{j}) to at least one of its assignees in M; or
 (b)
h_{k} = h_{l}, and h_{k} has two free posts in M, i.e., c_{k}−M(h_{k})≥2; or
 (c)
h_{k} = h_{l}, and h_{k} has one free post in M, i.e., c_{k}−M(h_{k})=1, and h_{k} prefers at least one of r_{i},r_{j} to some member of M(h_{k}); or
 (d)
h_{k} = h_{l}, h_{k} is full in M, h_{k} prefers r_{i} to some r_{s}∈M(h_{k}), and h_{k} prefers r_{j} to some r_{t}∈M(h_{k})∖{r_{s}}.
A resident and hospital, or a couple and hospital pair, satisfying one of the above conditions, is called a blocking pair of M and is said to blockM.
 (a)
Existing algorithmic results for hrc
An instance I of hrc need not admit a stable matching [31]. We call Isolvable if it admits a stable matching, and unsolvable otherwise. Also an instance of hrc may admit stable matchings of differing sizes [2]. Further, the problem of deciding whether a stable matching exists in an instance of hrc is NPcomplete, even in the restricted case where there are no single residents and each hospital has capacity 1 [25, 30]. The decision problem is also W[1]hard [22] when parameterized by the number of couples.
In many practical applications of hrc the residents’ preference lists are short. Let (α,β,γ)hrc denote the restriction of hrc in which each single resident’s preference list contains at most α hospitals, each couple’s preference list contains at most β pairs of hospitals and each hospital’s preference list contains at most γ residents. Biró et al. [7] showed that deciding whether an instance of (0,2,2)hrc admits a stable matching is NPcomplete.
Heuristics for hrc were described and compared experimentally by Biró et al. [5]. As far as exact algorithms are concerned, Biró et al. [7] gave an Integer Programming (IP) formulation for finding a maximum cardinality stable matching (or reporting that none exists) in an arbitrary instance of hrc and presented an empirical evaluation of an implementation of their model, showing that their formulation was capable of solving instances of the magnitude of those arising in the SFAS application. Further algorithmic results for hrc are given in [6, 20, 23].
Moststable matchings
Given that a stable matching need not exist in a given hrc instance I, a natural question to ask is whether there is some other matching that might be the best alternative amongst the matchings in I. Roth [32, 33] argued that instability in the outcome of an allocation process gives participants a greater incentive to circumvent formal procedures; it follows minimising the amount of instability might be a desirable objective. Eriksson and Häggström [11] suggested that the number of blocking pairs admitted by a matching is a meaningful way to measure its degree of instability.
Define bp(M) to be the set of blocking pairs relative to a matching M in I, and define a moststable matching to be a matching M for which bp(M) is minimum, taken over all matchings in I. Clearly if I admits a stable matching M, then M is a moststable matching in I. Let min bp hrc denote the problem of finding a moststable matching, given an instance of hrc. Moststable matchings have been studied from an algorithmic point of view in various matching problem contexts [1, 8, 9, 12, 16, 17] (see [20] for more details), including in humanitarian organisations [35]. Define (α,β,γ)min bp hrc to be the restriction of min bp hrc to instances of (α,β,γ)hrc.
Contribution of this work
In Section 2 we show that (∞,1,∞)min bp hrc is NPhard and not approximable within \(n_{1}^{1\varepsilon }\), for any ε>0, unless P=NP (recall that n_{1} is the number of residents in a given instance). In this highly restricted case of min bp hrc, each couple finds only one hospital pair acceptable and each hospital has capacity 1 (∞ refers to preference lists of unbounded length). We also show that (∞,∞,1)min bp hrc and (2,1,2)min bp hrc are solvable in polynomial time. These results help to narrow down the search for the boundary between polynomialtime solvable and NPhard restrictions of min bp hrc (recall that (0,2,2)min bp hrc is NPhard [7]).
In Section 3 we present the first IP model for min bp hrc; indeed this model can be used to find a moststable matching of maximum cardinality. This formulation extends our earlier IP model for hrc, presented in [7]. Then in Section 4 we present data from an empirical evaluation of an implementation of the IP model for min bp hrc applied to randomlygenerated instances. We measure the mean solution time, mean size of a moststable matching and mean number of blocking pairs admitted by a moststable matching when varying (i) the number of residents, (ii) the number of couples, (iii) the number of hospitals and (iv) the lengths of the residents’ preference lists. Our main finding is that, over the 28,000 instances considered, the number of blocking pairs admitted by a moststable matching is very small: it is usually at most 1, and never more than 2. This suggests that in a given hrc instance in practice, even if a stable matching does not exist, we may be able to find a matching with only a very small amount of instability.
Finally, in Section 5 we present the first Constraint Programming (CP) model for min bp hrc and evaluate its performance compared to the IP model over the instances used for the empirical analysis in Section 4. We observe that on average, the CP model is about 1.15 times faster than the IP model, and when presolving is applied to the CP model, it is on average 8.14 times faster.
Related work
Drummond et al. [10] presented SAT and IP encodings of hrc and investigated empirically their performance, along with two earlier heuristics for hrc, on randomlygenerated instances. Their main aim was to measure the time taken to find a stable matching or report that none exists, and the proportion of solvable instances. They found that the SAT encoding gave the fastest method and was generally able to resolve the solvability question for the highest proportion of instances. In another paper [27], the same authors conducted further empirical investigations on random instances using an extension of their SAT encoding to determine how many stable matchings were admitted, and whether a resident Pareto optimal stable matching existed. We remark that the results in [10, 27] are not directly comparable to ours, because the stability definition considered in those papers is slightly weaker than that given by Definition 1. See Section A of the online supplement for a discussion of this issue.
Hinder [18] presented an IP model for a general stable matching problem with contracts, which includes hrc as defined here, as a special case. He conducted an empircal study on randomlygenerated instances, comparing the performance of the IP model, its LP relaxation and a previouslypublished heuristic. Hinder showed that the LP relaxation finds stable matchings (when they exist) with much higher probability than the heuristic, and with probability quite close to the true value given by the IP model. The IP model terminates surprisingly quickly when the number of residents belonging to a couple is 10 %, but it should be emphasised that in Hinder’s random instances, all hospitals have capacity 1. In such a case our IP/CP models would be much simpler and need not involve the constraints corresponding to stability criteria 3(b), 3(c) and 3(d) in Definition 1, thus our runtime results are not directly comparable to Hinder’s.
To the best of our knowledge there have been no previous CP models for hrc, though a CP model for hr was given in [21], extending an earlier CP model for the classical Stable Marriage problem, the 11 restriction of hr [14]. A detailed survey of CP models for stable matching problems is given in [20, Section 2.5].
Nguyen and Vohra [26] proved a remarkable result, namely that it is always possible to find a stable matching in an instance of hrc if the capacity of each hospital can be adjusted (up or down) by at most 4, with the total capacity of the hospitals increasing by at most 9.
2 Complexity results for min bp hrc
In this section we present complexity and approximability results for min bp hrc in the case that preference lists of some or all of the agents are of bounded length. We begin with (∞,1,∞)min bp hrc, the restriction in which each couple lists only one hospital pair on their preference list. Even in this highly restricted case, the problem of finding a moststable matching is NPhard and difficult to approximate. The proof of this result, given in Section B of the online supplement, begins by showing that, given an instance of (∞,1,∞)hrc, the problem of deciding whether a stable matching exists is NPcomplete. Then a gapintroducing reduction is given from this problem to (∞,1,∞)min bp hrc.
Theorem 2
(∞,1,∞)min bp hrcis NPhard and not approximable within a factor of\(n_{1}^{1\varepsilon }\), for any ε>0, unless P=NP, where n_{1}is the number of residents in a given instance. The result holds even if each hospital has capacity 1.
We now turn to the case that hospitals’ lists are of bounded length. It will be helpful to introduce the notion of a fixed assignment in a given hrc instance I. This involves either (i) a residenthospital pair (r_{i},h_{j}) such that h_{j} is the first choice of r_{i}, and r_{i} is among the first c_{j} choices of h_{j}, or (ii) a pair comprising a couple (r_{i},r_{j}) and a pair of hospitals (h_{p},h_{q}) such that h_{p} (resp. h_{q}) is the first choice of r_{i} (resp. r_{j}), and r_{i} (resp. r_{j}) is among the first c_{p} (resp. c_{q}) choices of h_{p} (resp. h_{q}). Clearly any stable matching must contain all the fixed assignments in I. By eliminating the fixed assignments iteratively, we arrive at the following straightforward result for (∞,∞,1)hrc (the proofs of all the results stated in this section from this point onwards can be found in Section C of the online supplement).
Proposition 3
An instance I of (∞,∞,1)hrcadmits exactly one stable matching, which can be found in polynomial time.
We now consider the (2,1,2)hrc case. The process of satisfying a fixed assignment involves matching together the resident(s) and hospital(s) involved, deleting the agents themselves (and removing them from the remaining preference lists). This may uncover further fixed assignments, which themselves can be satisfied. Once this process terminates, we say that all fixed assignments have been iteratively satisfied. Let I be the (2,1,2)hrc instance that remains. It turns out that I has a special structure, as the following result indicates.
Lemma 4
It is then straightforward to find a moststable matching in each such subinstance.
Lemma 5
Let I^{′}be an instance of (2,1,2)hrcof the form shown in Fig. 1. If I^{′}has an even number of couples then I^{′}admits a stable matching M. Otherwise I^{′}admits a matching M such that bp(M)=1 in I^{′}.
Using Lemmas 4 and 5, it follows that we can find a moststable matching in an instance I of (2,1,2)hrc as follows. Assume that M_{0} is the matching in I in which all fixed assignments have been iteratively satisfied, and assume that the corresponding deletions have been made from the preference lists in I, yielding instance I^{′}. Lemma 4 shows that I^{′} is a union of disjoint subinstances I_{1},I_{2},…,I_{t}, where each I_{j} is of the form shown in shown in Fig. 1 (1≤j≤t). Let j (1≤j≤t) be given and let N_{j} be the number of couples in I_{j}. Lemma 5 implies that, if N_{j} is even, we may find a stable matching M_{j} in I_{j}, otherwise we may find a matching M_{j} in I_{j} such that bp(M_{j})=1 in I_{j}. It follows that \(M=\cup _{j=0}^{t} M_{j}\) is a moststable matching in I. This leads to the following result.
Theorem 6
(2,1,2)min bp hrcis solvable in polynomial time.
It remains open to resolve the complexity of (p,1,q)hrc for constant values of p and q where max{p,q}≥3.
3 An integer programming formulation for min bp hrc
In this section we describe our IP model for min bp hrc, which extends the earlier IP model for hrc presented in [7] (we discuss relationships between the two models at the end of this section). Let I be an instance of hrc where \(R=\{r_{1},r_{2},\dots ,r_{n_{1}}\}\) is the set of residents and \(H=\{h_{1},h_{2},\dots ,h_{n_{2}}\}\) is the set of hospitals; we will denote by J the IP model corresponding to I. To streamline the exposition we will only present some of the constraints in J; the full description of J is contained in Section D of the online supplement.
The IP model J is based on modelling the various types of blocking pairs that might arise according to Definition 1, and allowing them to be counted by imposing a series of linear inequalities. The variables are defined for each resident, whether single or a member of a couple, and for each element on his preference list (with the possibility of being unassigned). A further consistency constraint ensures that each member of a couple obtains hospitals from the same pair in their list, if assigned. A suitable objective function then enables the number of blocking pairs to be minimised. Subject to this, we may also maximise the size of the constructed matching.
Notation
For a resident r_{i}∈R (whether single or a member of a couple), let l(r_{i}) denote the length of a resident r_{i}’s individual preference list. Moreover let pref (r_{i},p) denote the hospital at position p of r_{i}’s individual preference list.
Variables in the IP model
For each i(1≤i≤n_{1}) and p(1≤p≤l(r_{i})), J has a variable x_{i,p}∈{0,1} such that x_{i,p}=1 if and only if r_{i} is assigned to his p^{th}choice hospital. Also, for each i (1≤i≤n_{1}) and p = l(r_{i})+1, J has a variable x_{i,p}∈{0,1} such that x_{i,p}=1 if and only if r_{i} is unassigned. Let X={x_{i,p}:1≤i≤n_{1}∧1≤p≤l(r_{i})+1}.
J also contains variables 𝜃_{i,p}∈{0,1} for each i(1≤i≤n_{1}) and p(1≤p≤l(r_{i})). The intuitive meaning of a variable 𝜃_{i,p} is that 𝜃_{i,p}=1 if and only if resident r_{i} is involved in a blocking pair with the hospital at position p on his individual preference list, either as a single resident or as part of a couple.
Constraints in the IP model
We firstly add constraints to J which force every variable to be binary valued. Next we ensure that matching constraints are satisfied, as follows. As each resident r_{i}∈R is assigned to exactly one hospital or is unassigned (but not both), \({\sum }_{p=1}^{l(r_{i})+1} x_{i,p}=1\) must hold for all i(1≤i≤n_{1}). Similarly, since a hospital h_{j} may be assigned at most c_{j} residents, x_{i,p}=1 where pref (r_{i},p) = h_{j} for at most c_{j} residents, and hence for all j(1≤j≤n_{2}), \({\sum }_{i=1}^{n_{1}}{\sum }_{p=1}^{l(r_{i})} \{x_{i,p} \in X :\,\, \)pref (r_{i},p) = h_{j}}≤c_{j} must hold.
For each couple (r_{2i−1},r_{2i}), r_{2i−1} is unassigned if and only if r_{2i} is unassigned, and r_{2i−1} is assigned to the hospital in position p in their individual list if and only if r_{2i} is assigned to the hospital in position p in their individual list. Thus for all i(1≤i≤c) and p(1≤p≤l(r_{2i−1})+1), x_{2i−1,p} = x_{2i,p} must hold,
The remaining constraints in J allow the number of blocking pairs of a given matching to be counted. Each such constraint deals with a specific type of blocking pair that satisfies a given part of Definition 1. It allows a blocking pair to exist involving either (i) a single resident r_{i} with the hospital at some position p on his list, or (ii) a couple (r_{2i−1},r_{2i}) with the hospital pair at some position p on their joint list, if and only if 𝜃_{i,p}=1. We illustrate the construction of J by giving the constraint corresponding to socalled “Type 1” blocking pairs, involving involve single residents, where Condition 1 of Definition 1 is satisfied. The other constraints may be dealt with in a similar fashion – see Section D of the online supplement for further details.
Type 1 blocking pairs
Objective functions in the IP model
A maximum cardinality moststable matching M is a matching of maximum cardinality, taken over all moststable matchings in I. To compute a maximum moststable matching in J, we apply two objective functions in sequence.
First we find an optimal solution in J that minimises the number of blocking pairs. To this end we apply the objective function \(\min \sum \limits _{i=1}^{n_{1}} \sum \limits _{p=1}^{l(r_{i})} \theta _{i,p}\).
The matching M corresponding to an optimal solution in J will be a moststable matching in I. Let k=bp(M). Now we seek a maximum cardinality matching in I with at most k blocking pairs. Thus we add the following constraint to J, which ensures that, when maximising on cardinality, any solution also has at most k blocking pairs: \(\sum \limits _{i=1}^{n_{1}} \sum \limits _{p=1}^{l(r_{i})} \theta _{i,p} \leq k\).
The final step is to maximise the size of the matching, subject to the matching being moststable. This involves optimising for a second time, this time using the following objective function: \(\max \sum \limits _{i=1}^{n_{1}} \sum \limits _{p=1}^{l(r_{i})} x_{i,p}\).
The following result, which establishes the correctness of the IP formulation, is proved in Section D of the online supplement.
Theorem 7
Given an instance I ofmin bp hrc, let J be the corresponding IP model as defined above. A maximum cardinality moststable matching in I is exactly equivalent to an optimal solution to J.
We remark that the IP model presented in this section develops the earlier model for hrc [7] with the addition of the 𝜃_{i,p} variables. There are similarities between the constraints (with these variables omitted) when comparing the two models. However in the hrc model [7] essentially all stability constraints had to be satisfied, whereas in the min bp hrc model a blocking pair is allowed at the expense of a 𝜃_{i,p} variable having value 1, which allows the number of blocking pairs to be counted. Suitable placement of the 𝜃_{i,p} variables within the constraints from the hrc model allows this condition on the 𝜃_{i,p} variables to be enforced.
4 Empirical results from the IP model for min bp hrc
In this section we present data from an empirical evaluation of an implementation of the IP model for finding a maximum cardinality moststable matching in an instance of min bp hrc. We considered the following properties for randomlygenerated hrc instances: the time taken to find a maximum cardinality moststable matching, the size of a maximum cardinality moststable matching and the number of blocking pairs admitted by a moststable matching. We show how these properties varied as we modified the number of residents, the percentage of residents involved in couples, the number of hospitals and the lengths of residents’ preference lists in the constructed instances.
Methodology
We ran all the experiments on an implementation of the IP model using the CPLEX 12.4 Java Concert API applied to randomlygenerated instances of hrc.^{1} In these instances, the preference lists of residents and hospitals were constructed to take into account of the fact that, in reality, some hospitals and residents are more popular than others, respectively. Typically, the most popular hospital in the SFAS context had 56 times as many applicants as the least popular, and the numbers of applicants to the other hospitals were fairly uniformly distributed between the two extremes. Our constructed instances reflected this realworld behaviour. For more details about the construction of the instances and the correctness testing methodology, the reader is referred to [23, Chapters 6,7].
All experiments were carried out on a desktop PC with an Intel i52400 3.1Ghz processor with 8Gb of memory running Windows 7. To find a moststable matching in an instance I of hrc we applied the following procedure. We first used the hrc IP implementation presented in [7] to find a maximum cardinality stable matching M in I if one exists. Clearly, if I is solvable then M is a maximum cardinality moststable matching. However, if I was found to be unsolvable, we applied the min bp hrc IP model to I. In this case we applied a lower bound of 1 to the number of blocking pairs in a moststable matching in I since we knew that no stable matching existed. All instances were allowed to run to completion. We remark that the min bp hrc model appears to be much more difficult to solve than the hrc model presented in [7], and thus the largest instances sizes considered here are smaller than the largest ones generated in the experimental evaluation in [7].
Experiment 1
The results show that the time taken to find an optimal solution increases with x, with the min bp hrc formulation being more difficult to solve in general than the hrc formulation. The mean size of an optimal solution increases with x for both solvable and unsolvable instances (it is around 95 % of x for x=50, decreasing to around 93 % of x for x=150, with the optimal matching size for unsolvable instances being very slightly larger than that for solvable instances). Perhaps most interestingly, the maximum number of blocking pairs was 1, with the mean at most 0.1, and the mean number of unsolvable instances being 77.
Experiment 2
The results show that the time taken to find an optimal solution increases with x; again the min bp hrc formulation is more difficult to solve in general than the hrc formulation. The mean size of an optimal solution decreases with x for both solvable and unsolvable instances; again the optimal matching size for unsolvable instances is slightly larger than that for solvable instances. As for Experiment 1, the maximum number of blocking pairs was 1, with the number of unsolvable instances increasing from 50 for x=5 to 224 for x=30.
Experiment 3
The results show that the time taken to find an optimal solution decreases with x; again the min bp hrc model solution time is slower than that for the hrc model. Clearly the problem is becoming less constrained as the number of hospitals increases. Also the mean size of an optimal solution decreases with x for both solvable and unsolvable instances; again the optimal matching size for unsolvable instances is slightly larger than that for solvable instances. This time the maximum number of blocking pairs was 2, with the mean number of blocking pairs decreasing from 0.08 for x=20 to 0.04 for x=100.
Experiment 4
The results show that increasing the preference list length makes the problem harder to solve; again the min bp hrc model is slower to solve than the hrc model. Also the mean size of an optimal solution increases with x for both solvable and unsolvable instances as more options become available in the preference lists (from 86.4 for x=2 to 97.5 for x=6 in the case of unsolvable instances); again the optimal matching size for unsolvable instances is slightly larger than that for solvable instances. The maximum number of blocking pairs was 1, with the mean at most 0.1, and the mean number of unsolvable instances being 81.
Discussion
The results presented in this section suggest that, even as we increase the number of residents or hospitals, the percentage of residents involved in a couple or the length of the residents’ preference lists, the number of blocking pairs admitted by a moststable matching is very low. For most of the 28,000 instances generated in our experimental evaluation, the moststable matchings found admitted at most 1 blocking pair, and the maximum number of blocking pairs admitted by any moststable matching was never more than 2. These findings are essentially consistent with the results of Nguyen and Vohra [26], who showed that an unsolvable hrc instance only requires a small amount of perturbation in order to become solvable. Further empirical investigation is required to determine whether this behaviour is replicated for larger hrc instance sizes.
5 A constraint programming model for min bp hrc
In addition to the IP model, we designed a Constraint Programming model for min bp hrc and implemented this using the MiniZinc constraint modelling language.
We assume that residents’ preference lists are given by integer variables rpref [i][j], which play a similar role to pref (r_{i},j) in the IP model, and that hospitals’ ranking arrays are given by integer variables hrank [h,i], which are analogous to rank (h_{j},r_{i}) in the IP model. The lengths of the preference lists of a resident r_{i} and a hospital h_{j} are given by rpref_len [i] and hpref_len [j] respectively. The capacity of a hospital h_{j} is given by hosp _cap[j].
For each single resident r_{i}, the model includes an integer variable single_pos [i] with domain (1,…,l(r_{i})+1), where l(r_{i}) is the value of rpref_len [i], which takes the value j if r_{i} is assigned her jthchoice hospital, or l(r_{i})+1 if r_{i} is unassigned. For each couple i, we include an integer variable coup _pos[i] with a similar interpretation.
Each single resident’s single_pos [i] variable is channelled to an array of l(r_{i}) boolean variables single_assigned [i], such that single_assigned [i][j]= true if and only if single_pos [i] = j, and a variable single_unassigned [i], such that single_unassigned [i]= true if and only if single_pos [i] = l(r_{i})+1. Similarly, we have boolean coup_assigned and coup_unassigned variables for each couple.
For each hospital i, and each position j on hospital i’s preference list, we have a boolean variable hosp_assigned [i][j] which is true if and only if hospital i is assigned its jthchoice resident. We include a constraint to ensure that hosp_assigned [i][j]= true if and only if a corresponding single_assigned or coup_assigned variable is also true. Furthermore, each hospital has a linear inequality constraint to ensure that its capacity is not exceeded.
For each position on the preference list of a single resident or couple, we create a boolean variable single_bp [i][j] or coup_bp [i][j] indicating whether the resident or couple, along with their jthchoice hospital, constitutes a blocking pair. For each type of blocking pair, we define a set of constraints and then give some brief intuition.
Type 1 blocking pairs
The constraint for Type 1 blocking pairs thus sets single_bp [i,j] to true if and only if r_{i} is unassigned or prefers h to his partner, and h is undersubscribed or prefers r_{i} at least one of its assignees, where h = rpref [i,j].
Type 2a/b blocking pairs
 (a)
h2 = h4 and either h1 is undersubscribed or prefers r1 to at least one assignee that is not r2 (if r2 is assigned to h1) or
 (b)
h1 = h3 and either h2 is undersubscribed or prefers r2 to at least one assignee that is not r1 (if r1 is assigned to h2).
Type 3a blocking pairs
The constraint for Type 3a blocking pairs thus sets coup_bp [i,j] to true if and only if couple (r1,r2) are unassigned or prefer (h1,h2) to their joint assignment, whilst for each k∈{1,2}, hk is undersubscribed or prefers rk to at least one of its assignees, where (r1,r2) is the ith couple and (h1,h2) is the hospital pair at position j of their joint list.
Type 3b/c/d blocking pairs
The constraint for Type 3b/c/d blocking pairs thus sets coup_bp [i,j] to true if and only if couple (r1,r2) are unassigned or prefer (h,h) to their joint assignment, whilst h either has two free posts (Type 3b), or h has one free post and prefers one of r1 or r2 to at least one of its assignees (Type 3c), or h is full and and prefers r1 to some assignee rk, and prefers r2 to at least one of its assignees apart from rk (Type 3d), where (r1,r2) is the ith couple and (h,h) is the hospital pair at position j of their joint list.
Experiments
The CP model was solved using the lazy clause solver Chuffed [41] on the same machine that was used for the experiments on the IP model as reported in Section 4. All instances were allowed to run to completion. We present results on the runtime of the CP model both with and without presolving. The presolve step, when included, specifies in advance which set S of residenthospital pairs will block the solution (in practice we try out values of k=0,1,2,… and generate all subsets S of size k until we reach a feasible solution) and then performs preference list deletions in the knowledge that the pairs in S will block. This allows large reductions in the model size, and works well because the number of blocking pairs admitted by a moststable matching is generally very small, as we saw in Section 4. We did not use presolve with the IP model, but we note that it may be possible to solve the IP model more quickly by carrying out this step.
Summary of mean and median runtimes over all experiments (all timings are in seconds)
Instance type  Mean  Median  

IP model  CP model  IP model  CP model  
No presolve  Presolve  No presolve  Presolve  
All  2.568  2.237  0.315  0.031  0.430  0.129 
Solvable  0.034  1.839  0.143  0.016  0.402  0.127 
Unsolvable  30.781  6.669  1.276  8.948  3.240  1.395 
The CP model without presolve generally performs unfavourably for solvable instances. Here, the IP model is faster than the CP model with presolve; this is likely to be due to the fact that for such instances, the earlier IP model for hrc [7] is used instead of the more complex IP formulation for min bp hrc. For unsolvable instances, the CP model (with or without presolve) is faster than the IP model. This is likely to be due to the fact that the CP model for min bp hrc is more compact than its IP counterpart, involving fewer variables and constraints. Comparing total run time summed across all 28,000 instances, the CP model was 1.15 times faster than the CP model without presolve, and the CP model with presolve was 8.14 times faster than the IP model.
When solving the CP model, the distribution of runtimes for the case without presolve had a very long right tail; 14 of the 28,000 instances accounted for over half of the total run time. The longestrunning instance took 17,617 seconds, and surprisingly this was a solvable instance (generated for Experiment 2). For this reason, Table 1 shows median run times as well as mean run times; from this we can see that the median runtime for the IP model is lower than that for the CP models for all instances and for solvable instances. However for unsolvable instances, the median runtime for CP without presolve is 2.762 times faster than the median runtime for IP, and this factor increases to 6.414 for CP with presolve.
6 Concluding remarks
In this paper we have presented complexity and approximability results for min bp hrc, showing that the problem is NPhard and very difficult to approximate even in highly restricted cases. We have then presented IP and CP models, together with empirical analyses of both models applied to randomlygenerated hrc instances. Our main finding is that moststable matchings admit a very small number of blocking pairs (in most cases at most 1, but never more than 2) on the instances we generated. We also showed that on average the CP model is faster than the IP model, with the performance of the CP model being enhanced if presolving was carried out. As far as future work is concerned, it would be interesting to determine the effect of presolving on the IP model, and more generally, to investigate further methods to enable the models to be scaled up to larger instances, such as column generation in the case of the IP model, and variable / value ordering heuristics in the case of the CP model.
Acknowledgments
David Manlove and James Trimble were supported by Engineering and Physical Sciences Research Council grants EP/K010042/1 and EP/N508792/1. We would like to thank anonymous reviewers of earlier versions of this paper for their valuable comments, including the suggestion of references [28, 34, 35, 36], which have helped to improve the presentation of this paper.
Supplementary material
Funding information
Funder Name  Grant Number  Funding Note 

Engineering and Physical Sciences Research Council 
 
Scottish Informatics and Computer Science Alliance 

Copyright information
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.