1 Introduction

Consider a two-sided one to one market setting, where agents on one side of the market (say “Projects”) are grouped into indifference classes that are exogenously ranked, and agents on the other side (say “Firms”) prefer higher ranked projects. However, each firm face internal feasibility constraints that prevent her from matching with projects ranked above an individual threshold. Examples include—(1) the refugee matching problem: where benevolent hosts with a limited number of beds to spare, are willing to shelter refugee families in their homes in exchange for a monetary reward (which is increasing in family size) from the government; (2) firms competing for large-scale governmental projects over which there is generally a consensus as to which ones are more desirable, but firm-specific capacity constraints (technological, deadline, budget, etc.) prevent it from going after very top projects; (3) the slot allocation problem: where slots are arranged on a line with earlier slots ranked higher, users arrive over time and wish to be served as early as possible once they do, for instance, researchers wishing to use a supercomputer, ships wanting to load/unload cargo at a port, etc. Being indifferent between different options is a ubiquitous phenomenon in our society, and the above examples are no exception.

These observations collectively inform our assumptions on the preference domain. We assume that projects are exogenously ranked (but several projects can have the same rank, thus giving rise to indifference classes), and each firm f faces a threshold \(t_f\). This firm f prefers projects of higher rank, but projects of rank above \(t_f\) are not acceptable to her. Preferences of firms thereby have a nested structure (formally presented in Sect. 2). Each project j can have arbitrary (non-strict) preferences over firms but prefers any firm to remaining unmatched. Taking preferences of both sides into account, firms must be matched to projects in a one-to-one fashion.

We pursue two important design goals that are standard in the literature. The first is stability, which ensures that agents would accept the matching proposed by the designer and would not try to individually renegotiate it. To define it, we rely on the notion of strong blocking: two agents form a pair and block a matching if each agent in the pair strictly prefers the other over their current match.Footnote 1 The second is efficiency, i.e., the matching cannot be Pareto improved upon at any preference profile. Having met these two goals, in the above examples, the designer may additionally wish to improve welfare by maximizing as much as possible the size (i.e., the total number of matched pairs) of the proposed matching.

In our domain with indifferences, all stable matchings have the same size (Proposition 1). To the best of our knowledge, it is the first non-trivial non-strict preference domain in the literature where this fact holds. This implies that, in the space of stable and efficient matchings, the designer is not constrained by welfare considerations regarding the matching size. The absence of this constraint has an important practical implication. This is because, finding a stable matching that maximizes size is a computationally hard problem in domains with indifferences, even under severe restrictions on preferences.Footnote 2

We propose two assignment rules, both of which always generate a stable and efficient matching for any given problem. The rules are in the spirit of the classical serial dictatorship rule, where an ordering of projects (in the queue) is used to determine the allocation of firms: the first project in the queue picks his best firm and leaves with that firm, from what remains the second project in the queue picks, from what remains the third project in the queue picks and so on.Footnote 3 The first rule, which we call the decreasing refined priority rule, adds two additional tweaks to this procedure. Firstly, the priority (queue) order over projects used by the rule is always aligned with the exogenous ranking over the indifference classes of projects: the projects in the top indifference class appear first in the queue order, followed next by projects in the second-from-top indifference class, and so on (see, Definition 2). This ensures stability. Secondly, the rule starts with the set of matchings instead of the set of firms. Following the queue order, at every step, the rule eliminates allFootnote 4 matchings where the project being assigned does not get his best firm (one of his best firms if there are many), from the set of matchings available at that step. This refinement ensures that the resulting matching is efficient, in the presence of indifferences. This is elaborated further in Example 1 and the discussion thereafter.

Stability and efficiency do not however characterize the decreasing refined priority rule (Proposition 4). Nevertheless, we show that every matching that is both stable and efficient can be generated by a decreasing (non-refined) priority rule. Therefore, in our proposed domain, stable and efficient matchings are arguably hierarchical by nature: they can be thought of as an outcome of projects being arranged in a queue order, with each project receiving one of their best firms in turn from the set of remaining firms (Proposition 6).

Motivated by the above observation, we propose another class of rules that we call the Pareto improved decreasing priority rule. Stability and efficiency completely characterize this class (Proposition 8). The rule works in two steps. In the first step, a matching is constructed using a queue order over projects, that is aligned with the exogenous ranking over projects (just as discussed above, thereby ensuring stability). Then in the second step, it tests for the presence of Pareto improvement (PI) cycles, a notion introduced by Erdil and Ergin (2017). The absence of PI-cycles in a stable matching guarantees that it is efficient: in our domain, a stable matching can be Pareto dominated if and only if projects can form a trading cycle, where every project and firm involved gets weakly better off, with at least one of them getting strictly better (Proposition 7).

We proceed to discuss the strengthening of the stability notion to strong stability. We show that strongly stable matchings (those where there are not even weak blocking pairs where only one member of the pair strictly benefits) exist rarely, and imply a very specific structure on both preferences and the strongly stable matchings themselves. If they do exist, then at that corresponding profile, the set of all strongly stable matchings is exactly equal to the set of all matchings that can be generated by some decreasing refined priority rule (Proposition 9).

1.1 Outline of the paper

In the following sub-section, we discuss the connection of this work with the existing literature. In Sect. 2 we present the formal model and the result that stable matchings have the same size. Section 3 focuses on stable and efficient matchings and presents the formal definitions for candidate assignment rules to find them. Section 4 discusses the strengthening of stability notion to strong stability. A concluding discussion follows. Some proofs are relegated to the “Appendix”.

1.2 Relation to literature

It is well known that, in a bilateral matching problem, when every agent has a strict (but arbitrary) preference over agents on the other side, the size of all stable matchings are identical, a consequence of the Lone Wolf TheoremFootnote 5 (McVitie and Wilson 1970; Gale and Sotomayor 1985). This result breaks down if we allow for general preferences (Roth and Sotomayor 1990). However, in our domain with indifferences, the equivalence of stable matchings with respect to size remains true.

This paper contributes to the literature on matching with indifferences. In particular, it is closely related to the Stable Marriage problem with Ties and Incomplete Lists with a Master List (Irving et al. 2008). The term “Ties” simply means indifferences in our context; “Incomplete Lists” refer to the fact that each agent’s preference list may consist of only a subset of the members of the other side (the acceptable partners of this agent); and, an agent’s preference list contains her acceptable partners ranked precisely according to the “Master List” . In the above problem, Irving et al. note that even when preferences of both sides are derived from a master list,Footnote 6 weakly stable matchings need not have the same size, and subsequently discusses the algorithmics of finding weakly stable matchings that maximize size. In our model, where preferences of only one side are derived from a master list, while preferences of the other side are not incomplete;Footnote 7 weakly stable matchings necessarily have the same size. This result is therefore of practical significance since, in the presence of incomplete lists and ties (indifferences), finding a weakly stable matching that maximizes size is a hard problem; even under restrictions on the number and length of ties (Manlove et al. 2002), or preferences of both sides being limited to a master list (Irving et al. 2008).Footnote 8 On structural results, Manlove (2002) proves the lattice structure of the set of strongly stable matchings with ties (without allowing for incomplete lists) and notes the absence of such a structure for the set of weakly stable matchings. Our structural results, therefore, do not concern the set of weakly stable matchings. We argue instead that, every matching that is both (weakly) stable and efficient admits a hierarchical structure in a precise sense.

Erdil and Ergin (2017) study a very general two-sided many-to-one matching domain with indifferences. Apart from PI-cycles that we use in this paper, the notion of PI-chains plays an important role in the algorithm they propose. The presence of PI-chains in a stable matching indicates the possibility for welfare improvement by accommodating a previously unmatched project and reshuffling existing matches, eventually leading to an increased matching size. By the size-equivalence result, such a scenario does not arise in our domain. In our more restricted setting, we are additionally able to pin down the structure of stable and efficient matchings as well as strongly stable matchings. In fact, we fully characterize the set of all stable and efficient matchings, and the set of all strongly stable matchings (whenever they exist).

Other matching applications with indifferences include: the school choice problem with weak priorities (Erdil and Ergin 2008; Ehlers and Erdil 2010);Footnote 9 the housing market model where agents are initially endowed with a house (Aziz and De Keijzer 2012); kidney exchange models (Roth et al. 2005; Andersson and Kratz 2020). Unlike in our model, in these studies, welfare of only one side of the market is relevant, i.e., the efficiency notion is one-sided.

Our mechanism design problem involves matching agents to each other without the possibility of resorting to money or lotteries. As a consequence, most fairness requirements are immediately out of reach. Any matching will therefore favour some agents and leave others largely unsatisfied. In such settings, it is widely observed that resulting mechanisms tend to have a hierarchical structure. Formally proving, or even formalizing this statement is however elusive. Under strict preferences some results are obtained: see, for instance, pure assignment models without transfers and exchange models in Svensson (1999), Pápai (2000), and Pycia and Ünver (2017). Under non-strict preferences, we are only aware of Svensson (1994) and Bogomolnaia et al. (2005). Most of these papers attempt to characterize the set of incentive-compatible (in a strong sense of strategy-proofness) and efficient mechanisms and demonstrate that they have a hierarchical structure.

We study a more general setting in this paper. Our model can be considered as an extension of the “house allocation” model. Here the role of “houses” is played by “firms” . But contrary to that model, firms now have preferences, albeit rather homogeneous ones. When all projects have the same rank, our model is reduced to the “house allocation” model with general non-strict preferences. In this reduced model, Bogomolnaia et al. (2005) showed that the set of all stable and efficient assignments is equal to the set of all assignments obtained by some refined priority rule.Footnote 10 In our more general case, the results have a similar flavour. A decreasing refined priority rule always outputs a stable and efficient matching. Every stable and efficient matching is a result of a decreasing (non-refined) priority rule. The set of all stable and efficient matchings is equal to the set of all matchings that can be generated by some Pareto improved decreasing priority rule. If a preference profile admits strongly stable matching(s), then the set of all strongly stable matchings is equal to the set of all matchings that can be generated by some decreasing refined priority rule.

Finally, the preference domain studied in this paper is also related to that of the refugee matching problem discussed by Andersson and Ehlers (2020). In their model, refugee families (projects) are also ordered according to family size giving rise to blocks containing projects of the same size. Hosts (firms) have limited beds and therefore their preferences have a nested structureFootnote 11 over these blocks similar to ours. The differences are as follows. Firstly, in our domain, hosts are necessarily indifferent between all refugee families in the same block (as a result we have indifference classes); while in their model, hosts can have general preferences over refugee families within the same block while respecting the nested structure between blocks. Secondly, contrary to our domain, their model do not elicit any preferences from refugee families whatsoever. It is important to take into account their preferences: there is growing evidence that the initial placement of refugee families greatly affects outcomes like education, job prospects, and earnings; which in turn profoundly alters their lifetime welfare, as most refugees do not move from the localities to which they are resettled for many years (Åslund and Rooth 2007; Damm 2014; Jones and Teytelboym 2017; Åslund et al. 2010; Martén et al. 2019). As described in Jones and Teytelboym (2018), ignoring preferences for refugees has even caused families seeking shelter in Finland to cancel their asylum applications.

2 Model

Throughout the rest of this article, we use the project-firm terminology for convenience. We take the liberty to personify projects and firms, and whenever convenient, we refer to them using pronouns “he” and “she” , respectively. There is a finite set \(J = \{1,2,..., |J|\}\) of projects, and a finite set F of firms. Let \(A = J \cup F\) denote the set of all agents. Furthermore, J is partitioned into a set of indifference classes \(\{ J_{1}, J_{2},...,J_{p}\}\), and there is an exogenously given (strict) order \(\succ \) over these classes. Without loss of generality, suppose it is \(J_{p} \succ J_{p-1} \succ ... \succ J_{1}\). All the above ingredients are fixed for the rest of the paper.

2.1 The preference domain

The preference relation of every firm \(f \in F\) is completely identified by a threshold \(t_f \in \{1,2,...,p\}\) that she reports. Let \(R^{*}_{k}\) be a weak order (complete and transitive relation) over \(J \cup \{f\} \big (f \in F \big )\) defined as follows:

$$\begin{aligned} {J_{k}}\,P^{*}_{k} {J_{k-1}}\,P^{*}_{k}... {J_{1}}\,P^{*}_{k} \mathbf{f} \,P^{*}_{k} {J_{p}}\, I^{*}_{k}\,{J_{p-1}}\, ...\, I^{*}_{k}\,{J_{k+1}}\, \end{aligned}$$

where \(P^{*}_{k}\) and \(I^{*}_{k}\) are the antisymmetric and symmetric parts of \(R^{*}_{k}\), respectively, and \(k \in \{1,2,...,p\}\). Then, the preference relation of a firm \(f \in F\) with threshold \(t_f\), denoted by \(R_{f}\), is given by \(R_{f}\) \(\equiv \) \(R^{*}_{t_f}\) where \(t_f \in \{1,2,...,p\}\) and the \(\mathbf{f} \) in the definition of \(R^{*}_{t_f}\) is to be interpreted simply as the corresponding firm f. Preferences of firms have a nested structure in the sense that if for two firms f and \(f'\), we have \(R_{f} \equiv R^{*}_{k} \) and \(R_{f'} \equiv R^{*}_{k'} \) with \(k > k'\), then over the indifference classes \(J_{k'}, J_{k'-1}, ..., J_{1}\), both \(R_{f}\) and \(R_{f'}\) are identical.

Preference of a project \(j \in J\), denoted by \(R_{j}\), is a weak order over the set \(F \cup \{j\}\). Let \(P_{j}\) and \(I_{j}\) denote the antisymmetric and symmetric parts of \(R_{j}\), respectively.

Let \(R = (R_{i})_{i \in J \cup F}\) denote a profile of preferences. Given a profile R, we will say that a firm \(f \big (\hbox {resp}., \hbox {project} j\big )\) is acceptable to a project \(j \big (\hbox {resp}., \hbox {firm} f\big )\) if \(f P_{j} j \big (\hbox {resp}., j P_{f} f\big )\). We will say that a project j and a firm f are compatible if they are mutually acceptable to each other. We assume throughout that all projects find every firm acceptable, i.e., for any project \( j \in J\), we assume that \(f P_{j} j\) \(\forall f \in F\).

Finally, let \(\mathcal {R}\) denote the set of all such preference profiles.

2.2 Notations and definitions

A matching is a function \(\mu : \) \(J \cup F\) \(\rightarrow \) \(J\cup F\) such that:

  • \(\mu (j) \in F \cup \{j\}\) \(\forall \) \(j \in J\)

  • \(\mu (f) \in J \cup \{f\}\) \(\forall \) \(f \in F\)

  • \(\mu (f) = j\) \(\iff \) \( \mu (j) = f,\) \( \forall j \in J, f \in F\)

Let \(\mathcal {M}\) be the set of all possible matchings.

Given a preference profile \(R \in \mathcal {R}\), let us define partial orders \(R_A\), \(R_J\), and \(R_F\) on the set of matchings as follows. Let \(\mu R_J \nu \), if \(\mu (j) R_j \nu (j)\) for every \(j \in J\); let \(\mu R_F \nu \), if \(\mu (f) R_f \nu (f)\) for every \(f \in F\); and let \(\mu R_A \nu \), if \(\mu R_J \nu \) and \(\mu R_F \nu \). Let \(I_A\), \(I_J\) and \(I_F\) denote the symmetric parts, and let \(P_A\), \(P_J\) and \(P_F\) denote the asymmetric parts of these relations.

A matching \(\mu \) \(\in \mathcal {M}\) is individually rational at profile \(R \in \) \(\mathcal {R}\) if every agent is acceptable to his or her mate, i.e., \(\not \exists \, i\in A\) such that \(i P_i \mu (i) \).

A matching \(\mu \) \(\in \mathcal {M}\) is strongly blocked at profile \(R \in \) \(\mathcal {R}\) by a pair \((j,f) \in J \times F\), if  \(j P_f \mu (f)\) and \(f P_j \mu (j)\). A matching \(\mu \) \(\in \mathcal {M}\) is weakly blocked at profile \(R \in \) \(\mathcal {R}\) by a pair \((j,f) \in J \times F\), if  \(j R_f \mu (f)\) and \(f R_j \mu (j)\), and at least one of these two relations holds strictly. A matching \(\mu \) \(\in \mathcal {M}\) is stable at profile \(R \in \) \(\mathcal {R}\), if it is individually rational and is not strongly blocked by any pair of agents. A matching \(\mu \) \(\in \mathcal {M}\) is strongly stable at profile \(R \in \) \(\mathcal {R}\), if it is individually rational and is not even weakly blocked by any pair of agents.

A matching \(\nu \) Pareto dominates a matching \(\mu \) at profile R  if  \(\nu P_A \mu \), i.e., all projects and firms weakly prefer \(\nu \) to \(\mu \), and at least one project or a firm strictly prefers \(\nu \) to \(\mu \). A matching \(\mu \) \(\in \mathcal {M}\) is efficient at profile \(R \in \) \(\mathcal {R}\) if it is not Pareto dominated by another matching at R.

The size of a matching \(\mu \) \(\in \mathcal {M}\) is defined as the total number of pairs \((j,f) \in J \times F\) such that \(\mu (j) = f\).

Recall that J is partitioned into a set of indifference classes. Consider one such class \(J_{k}\), \(k \in \{1,2,..., p\}\). Now consider a project \(j \in J_{k}\) and a firm f with \(R_{f} \equiv R^{*}_{s} \) where \(s < k\). Then, given the way the preference \(R^{*}_{s}\) is defined, project j is not acceptable to her. Then, although project j considers firm f as an acceptable match, individual rationality dictates that they are not matched to each other. Therefore, it will be useful to keep track of all firms that considers the class \(J_{k}\) as acceptable.

Given a preference profile R and some \(k \in \{1,2,..., p\}\), let \(C(J_{k}, R)\) denote the set of firms that find projects in \(J_{k}\) acceptable, i.e., for every firm \(f \in C(J_{k}, R)\) we have \(R_{f} \equiv R^{*}_{s} \) where \(s \ge k\)  (therefore, \(J_{k}\)\(P_{f}\) f). Given the nested structure of preferences, for \(k' < k \), every firm that considers \(J_{k}\) acceptable also finds \(J_{k'}\) acceptable but not necessarily the other way round. As a result, we have an inclusion: \(C(J_{p}, R) \subset C(J_{p-1}, R) \cdots \subset C(J_{1}, R)\). Let \(J_{<k}\) be a shorthand to denote \(J_{x}\) with \(x < k\). \(J_{\le k}\), \(J_{\ge k}\) and \(J_{> k}\) are similarly defined. Finally, note that every firm \(f \in C(J_{k}, R) \) strictly prefers \(J_{k}\) over \(J_{<k}\), i.e., for every \(f \in C(J_{k}, R) \) we have \(J_{k}\)\(P_{f}\) \(J_{<k}\).

Given a matching \(\mu \), for every indifference class \(J_{k}\), \(k \in \{1,2,..., p\}\), the set of projects in \(J_{k}\) that are matched under \(\mu \) are collected in the set below:

$$\begin{aligned} J_{k}^{\mu } = \{ j \in J_{k} \,|\, \mu (j) \ne j \} \end{aligned}$$

In our preference domain, stable matchings are equivalent with respect to size.

Proposition 1

Given any profile of preference \(R \in \mathcal {R} \), any two stable matchings \(\mu \) and \(\mu '\) must have the same size. In particular, for every \(k \in \{1,2,...,p\} \),

$$\begin{aligned} |J_{k}^{\mu }| = | J_{k}^{\mu '}| \end{aligned}$$

Proof

Consider first the top indifference class of projects \(J_{p}\). Let \(\mu \) and \(\mu '\) denote two stable matchings such that \(|J_{p}^{\mu }| > | J_{p}^{\mu '}| \), i.e., fewer projects from \(J_p\) are matched under \(\mu '\) compared to \(\mu \). Since a project in \(J_{p}\) can only be matched to some firm in \(C(J_{p}, R)\), this means that there are at least \(|J_{p}^{\mu }|\) firms in \(C(J_{p}, R)\). But only \(| J_{p}^{\mu '}|\) of them are matched under \(\mu '\). This implies that there exists at least one firm f \(\in \) \(C(J_{p}, R)\) that was matched to a project in \(J_{p}\) under \(\mu \) but is either unmatched or is matched to a project in \(J_{<p}\) under \(\mu '\). But \(|J_{p}^{\mu }| > | J_{p}^{\mu '}| \) implies there is a project j \(\in \) \(J_{p}\) that is matched under \(\mu \) but not under \(\mu '\). Pair (jf) would then block \(\mu '\), a contradiction to the stability of \(\mu '\).

Next, let \(k < p\) be the largest integer such that there exist two stable matchings \(\mu \) and \(\mu '\) such that \(|J_{k}^{\mu }| > | J_{k}^{\mu '}| \), i.e. fewer projects from \(J_k\) are matched in \(\mu '\) than in \(\mu \). Therefore, both \(\mu \) and \(\mu '\) matches the same number of projects from classes, \(J_{k+1}, J_{k+2},..., J_{p}\), i.e. we have \( |J_{q}^{\mu }| = | J_{q}^{\mu '}| = X_{q}\) \(\forall q \in \{k+1, k+2,..,p\}\). Let the total number of such projects be X. Thus,

$$\begin{aligned} X = X_{k+1} + X_{k+2}+...+ X_{p} \end{aligned}$$

This means that there are at least X firms in \(C(J_{k+1}, R)\). Now, since \(|J_{k}^{\mu }|\) projects are matched under \(\mu \), it must be the case that there are at least \(X + |J_{k}^{\mu }|\) firms in \(C(J_{k}, R)\). However, only \(X + |J_{k}^{\mu '}| < X + |J_{k}^{\mu }|\) firms from \(C(J_{k}, R)\) are matched to some project from \(J_{\ge k}\) under \(\mu '\). Therefore, there is a firm \(f \in C(J_{k}, R)\) that is either unmatched or is matched to a project in \(J_{<k}\) (less preferred to \(J_{k}\)) under \(\mu '\). Also, \(|J_{k}^{\mu }| > | J_{k}^{\mu '}| \) implies there is at least one project j \(\in \) \(J_{k}\) which is unmatched under \(\mu '\). Then pair (jf) blocks \(\mu '\), a contradiction.   

\(\square \)

3 Assignment rules for stable and efficient matchings

We propose and discuss various candidate assignment rules to solve any instance of the given problem.

Let us recall that, the exogenously given order over the indifference classes of projects  \(\{J_{1}, J_{2}, ..., J_{p}\}\)  is given by: \(J_{p} \succ J_{p-1} \succ ... \succ J_{1}\).

The assignment rules we discuss are parameterized by a priority order over projects. A priority order (or, queue order) over the set of projects J is a bijection mapping \(\sigma : J \rightarrow J\). To refer to positions in a queue order, we will use the phrase queue slots.

Since preferences of one side (firms) are aligned (see, Sect. 2), a natural starting point is the priority rule (or, the serial dictator rule), where the other side (projects) is ordered in a queue and allowed to choose a firm in turn. Next, we define this rule formally.

Recall that \(C(J_k,R)\) denotes the set of firms that are compatible with projects in \(J_k\) at preference profile R. For ease of presentation, in the notation below, we suppress its dependence on R and denote it simply by \(C(J_k)\).

For any given subset of firms \(\bar{F} \subset F\), a preference profile R, and a project \(j \in J_k\), denote by

$$\begin{aligned} B_j(\bar{F} \,|\, {R}) = {\left\{ \begin{array}{ll} \{f \in \bar{F} \cap C(J_k) \,|\, f R_j f' \,\,\forall f'\in \bar{F}\cap C(J_k)\}, &{} \text {if}\, \bar{F}\cap C(J_k) \ne \emptyset \\ \{j\}, &{} \text {otherwise} \end{array}\right. } \end{aligned}$$

the subset of \(\bar{F}\) consisting of best compatible firms for project j among all compatible firms in \(\bar{F}\); if every firm in \(\bar{F}\) is incompatible with project j, it is just the set containing project j.

Definition 1

The priority rule is parameterized by an arbitrary priority order \(\sigma \) over projects. For any fixed priority order \(\sigma \), the priority rule is a correspondence \(\psi _{\sigma }^{P}: \mathcal {R} \twoheadrightarrow \mathcal {M}\) such that, for any preference profile R we have that \(\psi _{\sigma }^{P}(R) = M \), with M denoting a set of matchings, where every matching \(\mu \in M\) is constructed iteratively such that:

$$\begin{aligned} \mu (\sigma (1)) \,\,&\in \,\, B_{\sigma (1)}\big (F \big | {R} \big )\\ \mu (\sigma (2)) \,\,&\in \,\, B_{\sigma (2)}\big (F \!\setminus \!\big \{\mu (\sigma (1))\big \} \,\big |\, {R}\big )\\ \mu (\sigma (3)) \,\,&\in \,\, B_{\sigma (3)}\big (F \!\setminus \!\big \{\mu (\sigma (1)),\, \mu (\sigma (2))\big \} \,\big |\, {R}\big )\\&\,\,\vdots \\ \mu (\sigma (|J|)) \,\,&\in \,\, B_{\sigma (|J|)}\big (F \!\setminus \!\big \{\mu (\sigma (1)),\, \mu (\sigma (2)), ...,\, \mu (\sigma (|J|-1)) \big \} \big | {R}\big ) \\ \end{aligned}$$

In words, the priority rule sequentially (according to priority order \(\sigma \)) assigns every project to one of his best compatible firms at every iteration, from the set of remaining compatible firms at that iteration. If no compatible firm is available, then the project remains unmatched. Since preferences exhibit indifferences, based on the choice made at each iteration, several different matchings may be reached by this rule for any fixed profile of preferences.

Given any profile R, an outcome of the priority rule, i.e., a matching \(\mu \in \psi _{\sigma }^{P}(R) \) for some priority order \(\sigma \), is not necessarily stable. This is because the priority order \(\sigma \) is not necessarily aligned with the exogenous order \(\succ \) over the indifference classes of projects. That is to say, for two projects \(j \in J_k\) and \(j' \in J_{<k}\),Footnote 12 it may be the case that \(\sigma (j') \,<\, \sigma (j)\), i.e., project \(j'\) is assigned earlier. Therefore, if project \(j'\) is assigned to some firm \(f \in C(J_k, R)\) that project j strictly prefers to his own partner, then (jf) forms a strong blocking pair since firm f is also compatible with project j and hence prefers project j over \(j'\).

The above observation necessitates that the priority order be aligned with the exogenous order \(J_{p} \succ J_{p-1} \succ ... \succ J_{1}\). Accordingly, we define next the notion of a decreasing priority order, and correspondingly, the decreasing priority rule. Indeed, it turns out that this new rule solves the above-mentioned issue and always outputs a stable matching (see, Proposition 2).

Definition 2

For any priority order \(\sigma \), the associated decreasing priority order, denoted by \(\sigma ^D\), is evaluated in the following way.

For any two projects i and j, let \(i \in J_x\) and \(j \in J_y\). Then \(\sigma ^D\) is derived from \(\sigma \) such that:

  • * if    \(x > y,\)   then   \(\sigma ^{D}(i) \,<\, \sigma ^{D}(j) \)

  • * if    \(x = y,\)   then   \(\sigma ^{D}(i) \,<\, \sigma ^{D}(j) \) \(\iff \) \(\sigma (i) \,<\, \sigma (j) \)  

A priority order \(\sigma \) is called a decreasing priority order if \(\sigma = \sigma ^D\).

In words, for any given priority order \(\sigma \), the associated decreasing priority order \(\sigma ^D\) aligns the priority of projects according to the exogenous order  \(\succ \)  over the indifference classes of projects: any project \(j \in J_k\) gets a better priority in \(\sigma ^D\) over all projects \(j' \in J_{<k}\); while, if two projects \(j, j' \in J_k\), i.e., they belong to the same indifference class, then their relative priority in \(\sigma ^D\) remains the same as in the original priority order \(\sigma \).

Definition 3

The decreasing priority (DP) rule \(\psi _{\sigma }^{DP}\) with respect to any fixed priority order \(\sigma \), is simply the priority rule with respect to the associated decreasing priority order \(\sigma ^D\). That is, for any preference profile R, we have,

$$\begin{aligned} \psi _{\sigma }^{DP}(R) \,=\,\psi _{\sigma ^D}^{P}(R) \end{aligned}$$

Proposition 2

Consider a preference profile \(R \in \mathcal {R} \) and let \(\mu \in \psi _{\sigma }^{DP}(R)\), then \(\mu \) is stable but not necessarily efficient.

The proof of stability appears in the “Appendix”. The intuition is as follows: since the priority order over projects is aligned according to  \(\succ \),  whenever a firm f strictly prefers a project j over her own partner, it must be the case that this firm f was available to be assigned to project j, which in turn implies project j either prefers his current partner over firm f or is indifferent between them. As a result, the blocking pair of the kind discussed above in the context of the priority rule never forms.

Although always stable, the output (matching) produced by the DP rule is not necessarily efficient. This inefficiency stems from the combination of two facts. At any given iteration, firstly, the rule does not take into account the preferences of projects that are to be matched in subsequent iterations; and secondly, preferences of projects exhibit indifferences. The following example illustrates this inefficiency.

Example 1

Consider a single indifference class \(J = \{1, 2\}\) of projects and two firms A and B, both of which are compatible with this class.

Suppose preferences of projects are as follows below:

\(R_1\)

\(R_2\)

A , B

A

 

B

Then, \( \psi _{\sigma }^{DP}(R) = \Bigg \{ \begin{pmatrix} 1 &{} 2 \\ A &{} B \end{pmatrix}, \begin{pmatrix} 1 &{} 2 \\ B &{} A \end{pmatrix}\Bigg \} \)  for the priority order  \(\sigma :\, \sigma (1) = 1, \sigma (2) = 2.\) It is easy to check that both these matchings are stable, while only the second is also efficient.

In the above example, project 1 is indifferent between firm A and B, and project 1 has the higher priority. Just ensuring that this project gets one of his best compatible firms without considering that project 2 strictly prefers firm A may lead to inefficiency. Additional refinements or adjustments are therefore necessary to guarantee efficiency. Specifically, in any iteration, if one encounters the scenario that there are multiple best compatible firms for the project in question, one must find a way to not outright eliminate any possibility that does not hurt this concerned project. Doing so allows for utility gains to be had in future iterations.

Accordingly, unlike in the case of the priority rule, where we start from the set of all firms and remove a firm at every iteration; we instead modify the procedure and start from the set of all matchings. At any iteration, it is then possible to keep every option (matching) where the currently assigned project receives one of his best compatible firms (even if there are multiple such firms), allowing for full utility gains to be had in future iterations. We call this modified procedure the refined priority rule.

To formally define it, we will use the notation \(B^{*}( \,\cdot \,|\, { R})\), which is the counterpart of \(B(\,\cdot \,|\, { R} )\) presented earlier in the context of the priority rule. The difference is that B operates on a set of firms, while \(B^{*}\) operates on a set of matchings. We will additionally require the following notation.

Given a set of matchings \(M \subset \mathcal {M}\), a preference profile R, and a project \(j \in J_k\), denote by   \( C^{*}_j(M, R) \,:=\,\{\mu \in M \,\,| \,\, \mu (j) \in C(J_k, R) \} \),  the subset of M where project j is matched to a firm that is compatible with this project at preference profile R. For ease of presentation, we suppress the dependence of \(C^{*}_j(M, R)\) on R, and denote it simply by \(C^{*}_j(M)\).

For any given set of matchings \(M \subset \mathcal {M}\), a preference profile R, and a project \(j \in J_k\), let

$$\begin{aligned} B^{*}_j(M \,|\, {R}) = {\left\{ \begin{array}{ll} \{\mu \in C^{*}_j(M) \,| \, \mu (j)\,R_j\,\mu '(j) \,\, \forall \mu ' \in C^{*}_j(M) \},&{}\, \text {if}\, C^{*}_j(M) \ne \emptyset \\ \{\mu \in M \,|\, \mu (j) = j \} ,&{}\, \text {otherwise} \end{array}\right. } \end{aligned}$$

denote, the subset of M consisting of the best compatible matchings for project j in the sense that project j is matched to one of his best-ranked compatible firms among all matchings in M. If there are no matchings where project j is matched to a compatible firm, \(B^{*}_j(M \,|\, {R})\) is simply the subset of M consisting of all matchings where project j is unmatched.

Definition 4

A refined priority (RP) rule with respect to any fixed priority order \(\sigma \), is a correspondence  \(\psi _{\sigma }^{RP}: \mathcal {R} \twoheadrightarrow \mathcal {M}\)  such that, for any preference profile R, we have that \(\psi _{\sigma }^{RP}(R) = M_{|J|} \), where \(M_{|J|}\) is defined as follows. Let \(M_0 = \mathcal {M}\,\)(the set of all possible matchings),

$$\begin{aligned} M_1 \,\,&= \,\, B^{*}_{\sigma (1)}\big (M_0 \,|\, {R}\big )\\ M_2 \,\,&= \,\, B^{*}_{\sigma (2)}\big (M_1 \,|\, {R}\big ) \\&\,\,\vdots \\ M_{|J|} \,\,&= \,\, B^{*}_{\sigma (|J|)}\big (M_{|J|-1} \,|\, {R}\big ) \end{aligned}$$

Clearly, the above rule can be multi-valued, but note that a direct consequence of its definition is that all projects are indifferent between all elements (matchings) in \(M_{|J|}\).

Definition 5

The decreasing refined priority (DRP) rule \(\psi _{\sigma }^{DRP}\) with respect to any fixed priority order \(\sigma \), is simply the RP rule with respect to the associated decreasing priority order \(\sigma ^D\). That is, for any preference profile R, we have,

$$\begin{aligned} \psi _{\sigma }^{DRP}(R) \,=\,\psi _{\sigma ^D}^{RP}(R) \end{aligned}$$

Proposition 3

Consider a preference profile \(R \in \mathcal {R} \) and let \(\mu \in \psi _{\sigma }^{DRP}(R)\), then \(\mu \) is both stable and efficient at R.

The formal proof of the proposition appears in the “Appendix”. Here we present an informal discussion. The DRP rule always uses a priority order that is aligned with the exogenous order \(J_{p} \succ J_{p-1} \succ ... \succ J_{1}\). This ensures that any selection (matching) from the set \(\psi _{\sigma }^{DRP}(R)\) is stableFootnote 13 at profile R. Since this rule is also refined,Footnote 14 any selection from \(\psi _{\sigma }^{DRP}(R)\) also happens to be efficient at profile R. Intuitively, since at every iteration, the rule only eliminates those matchings in which, the project assigned at that iteration does not get one of his best firms conditional on every project in all previous iterations receiving one of their best firms; it leaves no room for increasing welfare further. Any attempt at increasing an agent’s welfare must come at the expense of another.

Next, we discuss the structure of matchings that are both stable and efficient. For any given preference profile, we ask, whether or not every stable and efficient matching at that profile always results from one of the earlier defined rules.

Proposition 4

There exists a preference profile R, and a matching \(\mu \) that is stable and efficient at R such that \(\mu \notin \psi _{\sigma }^{DRP}(R). \)

Proof

Consider the following example.

Suppose we have indifference classes \(J_2 = \{1, 2\}\) and \(J_1 = \{3\}\) of projects and three firms \(F=\{A, B, C\}\) that are compatible with all projects. Let preferences be as below:

(a) Projects

(b) Firms

\(R_1\)

\(R_2\)

\(R_3\)

\(R_A\)

\(R_B\)

\(R_C\)

A , B

A

B

1, 2

1, 2

1, 2

C

C

A, C

3

3

3

 

B

    

The matching \( \mu = \begin{pmatrix} 1 &{} 2 &{} 3\\ A &{} C &{} B \end{pmatrix} \) is stable and efficient at R.

The two decreasing priority orders are:

\(\sigma : \,\, \sigma (1)=1, \sigma (2)=2, \sigma (3)=3\)

\(\bar{\sigma }: \,\, \bar{\sigma }(1)=2, \bar{\sigma }(2)=1, \bar{\sigma }(3)=3\)

It is easy to verify that \(\mu \notin \psi _{\sigma }^{DRP}(R) \) and \(\mu \notin \psi _{\bar{\sigma }}^{DRP}(R).\) \(\square \)

Proposition 4 implies that stability and efficiency do not characterize the decreasing refined priority rule.

Proposition 5

There exists a preference profile R, and a matching \(\mu \) that is stable and efficient at R such that  \(\mu \notin \psi _{\sigma }^{RP}(R).\)

Proof

Consider the following example with two projects \(J = \{1, 2\}\) and two firms \(F = \{A, B\}\). Preferences are as under:

(a) Projects

(b) Firms

\(R_1\)

\(R_2\)

\(R_A\)

\(R_B\)

A , B

A

1

1

 

B

2

2

The matching \( \mu = \begin{pmatrix} 1 &{} 2 \\ A &{} B \end{pmatrix} \) is stable and efficient at this profile.

But the refined priority rule with both possible priority orders produces the matching \(\mu '= \begin{pmatrix} 1 &{} 2 \\ B &{} A \end{pmatrix}\). \(\square \)

For the example in the preceding proof, \(\mu \) and \(\mu '\) are the two stable and efficient at profile R. For priority order \(\sigma \) with \(\sigma (1)=1\) and \(\sigma (2) = 2,\) we have, \(\psi _{\sigma }^{DP}(R) = \{\mu , \mu '\},\) while \(\psi _{\sigma }^{RP}(R) = \{ \mu '\}.\) This difference is driven by the fact that the latter operates on the set of matchings while the former on the set of firms. Project 2 strictly prefers \(\mu '\) to \(\mu \) while project 1 is indifferent between them. Using the RP rule, both \(\mu \) and \(\mu '\) survives after the first iteration and \(\mu \) is thereafter eliminated by project 2. But if project 1 is assigned to \(A = \mu '(2)\) in the first iteration, it is no longer available for project 2. Therefore, \(\mu \) can still be generated by using a DP rule.

In Proposition 6 below, we show that every stable and efficient matching can be generated by a DP rule. This demonstrates that matchings that are both stable and efficient are hierarchical by nature: they can be thought of as a result of projects being arranged in a queue order, with each project being matched to one of his best firms in turn, from the set of remaining firms. Efficiency is necessary for this result to hold. Stable but not efficient matchings do not necessarily admit this structure, as demonstrated by the following example.

Example 2

Consider the following. One indifference class \(J = \{1, 2\}\) of projects. Two firms A and B, both of which are compatible with this class. Preferences of projects are as under:

\(R_1\)

\(R_2\)

A

B

B

A

The matching \( \mu = \begin{pmatrix} 1 &{} 2 \\ B &{} A \end{pmatrix} \) is stable but not efficient. It is easy to check that there is no priority order \(\sigma \) such that \(\mu \in \psi _{\sigma }^{P}(R)\).

Proposition 6

Consider a preference profile \(R \in \mathcal {R} \) and let \(\mu \) be a stable and efficient matching at R. Then, there is a priority order \(\sigma \) over projects such that \(\mu \in \psi _{\sigma }^{DP}(R)\).

The formal proof of this proposition appears in the “Appendix”. We briefly outline the proof steps next. Fix any indifference class of projects \(J_r\). Since \(\mu \) is stable at R, a firm \(f \in C(J_r, R)\) is matched to some project in \(J_{<r}\) under \(\mu \) only in the event that all projects in \(J_{r}\) are already matched to some firm in \(C(J_r, R)\) that they weakly prefer over this firm f. Thus, in a stable matching, the demand of projects in \(J_r\) is catered to before projects in \(J_{<r}\); and accordingly projects in \(J_r\) receive an earlier queue slot compared to projects in \(J_{<r}\). This means the priority order is decreasing. We still need the individual queue slots for projects within every indifference class. Fix the top class \(J_p\). By efficiency, we must have that at least one project in \(J_p\) is matched to his best firm under \(\mu \). This fact identifies precisely the project(s)Footnote 15 which receive the earliest queue slot within projects in \(J_p\). Removing the corresponding matched firms from the set of firms and repeatedly applying the same arguments until we exhaust \(J_p\) gives the individual queue slots for all projects within \(J_p\). Finally, repeating the process for \(J_{p-1}\), \(J_{p-2},\) \(\ldots \), \(J_1\) in turn, completes the proof.

It is important to note here that, even though one can always find a priority order \(\sigma \) such that \(\mu \in \psi _{\sigma }^{DP}(R)\) for any matching \(\mu \) that is stable and efficient at R; every selection (matching) from the set \(\psi _{\sigma }^{DP}(R)\), in spite of always being stable, is not guaranteed to be efficient (see, Proposition 2 or Remark 1).

Let \(\varSigma \) denote the set of all possible decreasing priority orders over the set of projects. For any profile R, denote by \(\mathcal {M}_{SE}(R)\) the set of all stable and efficient matchings at R. Next denote by \(\mathcal {M}_{DP}(R) := \cup _{\sigma \in \varSigma }\, \psi _{\sigma }^{DP}(R)\), the set of all matchings that can be obtained using some DP rule. Similarly, let \(\mathcal {M}_{DRP}(R)\) denote the set of all matchings that can be obtained using some DRP rule.

The preceding results can be summarised as follows:

Remark 1

For any preference profile \(R \in \mathcal {R}\),

$$\begin{aligned} \mathcal {M}_{DRP}(R) \subseteq \mathcal {M}_{SE}(R) \subseteq \mathcal {M}_{DP}(R) \end{aligned}$$

with, there existing profiles where one or both of these inclusions above are strict.

Next, we define another class of rules that Pareto improves upon the DP rule. We make use of the notion of Pareto improvement cycles introduced by Erdil and Ergin (2017) (henceforth, EE’17). Since the DP rule always outputs a stable matching, in the discussion below we implicitly assume that the matching is stable.

We start by noting that Pareto improving upon a stable matching preserves stability, an implication of the following lemma.

Lemma 1

Let \(\mu \) be a stable matching. Let \(\nu \) be another matching that every agent weakly prefers to \(\mu \), i.e., \(\nu R_A \mu \). Then, \(\nu \) must also be stable.

Proof

Since \(\mu \) is stable, it is individually rational, and therefore \(\nu \) is also individually rational. Next, assume that \(\nu \) is not stable. Suppose \((j, f) \in J \times F\) strongly blocks \(\nu \). Then, \(f P_j \nu (j)\) and \(j P_f \nu (f)\). But then \(f P_j \nu (j) R_j \mu (j)\) and \(j P_f \nu (f) R_f \mu (f)\), implying that (jf) strongly blocks \(\mu \), a contradiction.

    \(\square \)

Definition 6

Fix a profile R and a matching \(\mu \). A Pareto improvement (PI) cycle consists of projects \(j_1, j_2, ..., j_n \equiv j_0\) \((n \ge 2)\) such that:

  1. (a)

    Every project \(j_t\) is matched to a firm.

  2. (b)

    \(\mu (j_{t+1}) R_{j_t} \mu (j_{t})\) and \(j_{t} R_{\mu (j_{t+1})} j_{t+1}\)    \(\forall t \in \{0, 1, ..., (n-1)\}.\)

  3. (c)

    At least one of the preference relations in (b) is strict, for some \( t \in \{0, 1, ..., (n-1)\}\).

Every project \(j_t\) in a PI-cycle weakly prefers the firm of the following project \(j_{t+1}\), and the firm \(\mu (j_{t+1})\) matched to the latter would not mind swapping project \(j_{t+1}\) with \(j_t\). Additionally, at least one project strictly envies the following project, or at least one firm \(\mu (j_{t+1})\) strictly prefers \(j_t\) to \(j_{t+1}\). If there is a PI-cycle, then a Pareto dominating matching \(\nu \) can be obtained by matching each project in the cycle to the firm of the next project:

$$\begin{aligned} \nu (j) = {\left\{ \begin{array}{ll} \mu (j_{t+1}) \,\,\, &{}\text {if}\, j = j_t \,\text { for some }\, t \in \{0, 1, ..., n-1\} \\ \mu (j) &{}\text {otherwise.} \end{array}\right. } \end{aligned}$$

By implementing a PI-cycle, we mean constructing the new matching \(\nu \) that Pareto dominates \(\mu \) as above. The existence of at least one PI-cycle therefore imply that \(\mu \) is not efficient. Proposition 7 below shows that the converse of this is also true: if \(\mu \) is stable and admits no PI-cycle, then \(\mu \) must be efficient. This result is an adaptation of Theorem 1 in EE’17 to our domain. In their more general setting, to ascertain if a stable matching is efficient, one needs to additionally test for the existence of Pareto improvement (PI) chains. PI-chains are defined in a similar fashion, except that PI-chains accommodate a previously unmatched project (thereby increasing the matching size) by readjusting assignments in the manner described above. PI-chains do not play any role in our model: by the size-equivalence result in Proposition 1, it is impossible to accommodate a previously unmatched project without hurting another.

A directed graph \(G =(V, E)\) consists of a set V of vertices and a set E of directed edges, where a directed edge (henceforth, edge) is an ordered pair of vertices, i.e., an element of \(V \times V\). Let us denote an edge (xy) as \(x\rightarrow y\). A cycle in G consists of distinct vertices \(x_0, ..., x_{n-1} (n \ge 2)\) such that \(x_0 \rightarrow x_1 \rightarrow \ \cdots \rightarrow x_{n-1}\rightarrow x_n \equiv x_0\). Note that, given a directed graph, if each vertex of this graph has exactly one incoming and one outgoing edge, then each edge of the graph is part of a cycle.Footnote 16

Proposition 7

A stable matching is efficient if and only if it does not admit any PI-cycles.

Proof

(if part) Assume that \(\mu \) is stable but not efficient. Suppose \(\nu \) Pareto dominates \(\mu \). Since \(\mu \) is stable and \(\nu P_A \mu \), Lemma 1 and Proposition 1 imply that the set of projects and firms that are matched in \(\nu \) is identical to that in \(\mu \). Among these matched projects, collect in \(\hat{J} := \{ j \in J\,|\, \nu (j) \ne \mu (j)\}\) all those that are matched to different firms in the two matchings. Note that \(|\hat{J}| \ge 2.\) Next, construct a directed graph G with \(\hat{J}\) as the set of vertices in the following manner. For any project \(j \in \hat{J}\), take the unique firm f such that \(\nu (f) = j\). Find the project \(j'\) such that \(\mu (f) = j'\). Clearly \(j' \in \hat{J}\). Let there be an edge \(j \rightarrow j'\). Since \(\nu P_A \mu \), it is easy to check that if \(j \rightarrow j'\) then \(\mu (j') R_{j} \mu (j)\) and \(j R_{\mu (j')} j'\). If one of these preferences is strict, denote the corresponding edge by \(j \twoheadrightarrow j'\), and call it a strict edge.

Given the way edges are defined, every vertex in G must have exactly one outgoing and one incoming edge. Therefore, each edge of G is part of a cycle. Since \(\nu \) Pareto dominates \(\mu \), G must have at least one strict edge. As a result, there is at least one cycle containing a strict edge, that leads to a PI-cycle.

The other direction is easy to see.

    \(\square \)

Definition 7

The Pareto improved decreasing priority (PIDP) rule is parameterized by an arbitrary priority order \(\sigma \) over projects. For any fixed priority order \(\sigma \), the PIDP rule is a correspondence \(\psi _{\sigma }^{PIDP}: \mathcal {R} \twoheadrightarrow \mathcal {M}\) such that for any preference profile R, we have that \(\psi _{\sigma }^{PIDP}(R) = M \), where M denotes a set of matchings such that every \(\mu \in M\) satisfies the following:

  1. (a)

    \(\mu \, \in \psi _{\sigma }^{DP}(R).\)

  2. (b)

    \(\mu \) does not admit a PI-cycle.

For any given priority order, at every preference profile, the PIDP rule outputs a subset of the set of matchings produced by the DP rule, by eliminating all those that admit at least one PI-cycle.

Fix a priority order \(\sigma \) and a profile R. Consider a matching \(\mu \in \psi _{\sigma }^{DP}(R)\). Suppose it admits a PI-cycle. Let \(\mu '\) be obtained by implementing a PI-cycle. Then, \(\mu ' \in \psi _{\sigma }^{DP}(R)\). Therefore, at any profile R, the following procedure leads to the same set of matchings (M) as the PIDP rule:

Select (iteratively) a matching from \(\psi _{\sigma }^{DP}(R)\). It is always stable. As long as it is not efficient, by Proposition 7 there will always be a PI-cycle. If so, find a new matching by implementing a PI-cycle. This matching will also be stable by Lemma 1. Repeat this process as long as the new matching does not have a PI-cycle. Since the model is finite, an efficient matching will be found in finitely many steps. Collect this matching in the set M if it is not already present. EE’17 shows that the search for PI-cycles is computationally efficient, thereby making the process of finding a stable and efficient matching fast.

It is then clear that the PIDP rule always gives a stable and efficient matching. In fact, stability and efficiency completely characterize the class of PIDP rules (Proposition 8).

Denote by \(\mathcal {M}_{PIDP}(R) := \cup _{\sigma \in \varSigma }\, \psi _{\sigma }^{PIDP}(R)\), the set of all matchings that can be obtained using some Pareto improved decreasing priority rule.

Proposition 8

For any preference profile \(R \in \mathcal {R}\),

$$\begin{aligned} \mathcal {M}_{SE}(R) = \mathcal {M}_{PIDP}(R) \end{aligned}$$

Proof

Follows from Propositions 2, 6 and 7.     \(\square \)

4 Strongly stable matchings

Strongly stable matchings are not guaranteed to exist in our preference domain (see, for instance, the example used in Proposition 5 which does not admit any strongly stable matching). In fact, the existence of a strongly stable matching is a rare event, and implies a very specific structure of both preferences and the strongly stable matchings themselves. We outline this phenomenon using the lemmas presented below.

In what follows we assume that the preference profile admits at least one strongly stable matching (henceforth, SSM).

Lemma 2

Every SSM is efficient.

Proof

Let \(\mu \) be a SSM that can be Pareto improved by matching \(\mu '\). There is an agent x (firm or project) who strictly prefers \(\mu '\) to \(\mu \). Hence, x is matched at \(\mu '\), say to some agent y. Since \(\mu '\) is Pareto superior to \(\mu \), y is at least as well at \(\mu '\) as at \(\mu \). Hence, the pair (xy) weakly blocks \(\mu \), a contradiction to \(\mu \) being a SSM.

   \(\square \)

Lemma 3

In any SSM, for every \(k \in \{1,2, \ldots , p\}\), the set of projects \(J_k\) is either fully matched or fully unmatched.

Proof

Fix a SSM \(\mu \). Suppose there are two projects \(i,j \in J_k\), such that i is matched with firm f at \(\mu \) while j is unmatched. Since firm f is indifferent between projects i and j, the pair (jf) weakly blocks \(\mu \), a contradiction.

   \(\square \)

For any matching \(\mu \) and a set of projects \(\hat{J}\), let \( \mu (\hat{J})\) denote the set of firms matched with some project in \(\hat{J}\).

Lemma 4

Fix a preference profile and a SSM  \(\mu \). For any \(k \in \{1,2, \ldots , p\}\), let \(F_k\) denote the set of firms that are not matched with some project in  \(\cup _{x = k+1}^p\,J_{x}\)  at \(\mu \). Then,

  1. (a)

    For any matched project \(j \in J_k\), firm \(\mu (j)\) belongs to the top indifference class of this project j among all compatible firms of project j in the set \(F_k\).

  2. (b)

    A firm \(f \in F_{k}\! \setminus \!\mu (J_k) \) does not belong to the top indifference class (within compatible firms in \(F_k\)) of any project \(j \in J_k\).

  3. (c)

    \(\mu (J_k) = T_k\), where \(T_k \subset F_k\) is the set of firms that are in the top indifference class (within compatible firms in \(F_k\)) for at least one project \(j \in J_k\).

Proof

Part (a): If project j would strictly prefer some firm \(f \in F_k\) to \(\mu (j)\), then (jf) would weakly block \(\mu \) (firm f cannot strictly prefer its current match to j, since it is not matched to a project of better rank).

Part (b): Any firm \(f \in F_{k} \!\setminus \! \mu (J_k) \) compatible with projects in \(J_k\), prefers any project \(j \in J_k\) to its match in \(\mu \). If this firm f is in the top (within compatible firms in \(F_k\)) indifference class of any such project \(j\in J_k\), then project j is indifferent between firms f and \(\mu (j)\). Hence (jf) weakly blocks \(\mu \), a contradiction.

Part (c): Take any firm \(f\in \mu (J_k)\). Then by Part (a), we have \(f \in T_k\) and so, \(\mu (J_k) \subset T_k\). Next, assume for contradiction that \(f \in T_k\) but \(f \notin \mu (J_k)\). This means \(f \in F_{k} \!\setminus \! \mu (J_k) \). Then by Part (b) we have, \(f \notin T_k\), a contradiction. Thus, \(f \in \mu (J_k)\) and so, \( T_k \subset \mu (J_k)\). Hence \(\mu (J_k) = T_k\).

   \(\square \)

Lemma 5

Let \(\mu \) be a SSM at preference profile R. Suppose \(k^* \in \{1,2, \ldots , p\}\) is the largest integer such that there is a project \(j \in J_{k^*}\) which is matched at \(\mu \). Then,

  1. (a)

    There does not exist a firm f that is compatible with projects in \(J_{> k^*}\) at preference profile R.

  2. (b)

    \(J_{k^*}\) is always fully matched at every SSM at R.

Proof

(a): If such a firm would exist, then that firm would form a weak blocking pair with a project of rank better than \(k^*\).

(b): Since there is a project \(j \in J_{k^*}\) which is matched at \(\mu \), the firm \(\mu (j)\) finds projects in \(J_{k^*}\) compatible. By Lemma 4(a), this firm \(\mu (j)\) belongs to the top indifference class of project j among all his compatible firms. Therefore, this firm \(\mu (j)\) must be matched to a project in \(J_{k^*}\) (possibly different from j) in every other SSM. This implies at least one project in \(J_{k^*}\) must be matched at every SSM at R. By Lemma 3, \(J_{k^*}\) must then be fully matched in every SSM at R.

   \(\square \)

Lemma 6

Suppose \(\mu \) and \(\mu '\) are two SSMs at a given preference profile R. Then the set of firms matched to every indifference class of projects \(J_k\) remains the same across these two SSMs, i.e.,

$$\begin{aligned} \mu (J_k) = \mu '(J_k) \,\, \, \forall k \in \{1,2, \ldots , p\}. \end{aligned}$$

Proof

Let \(k^* \in \{1,2, \ldots , p\}\) be the largest threshold such that projects in \( J_{k^*}\) are compatible for some firm in F at preference profile R. Then by individual rationality, all projects in \(J_{> k^*}\) are unmatched in both \(\mu '\) and \(\mu \). Thus, \(\mu (J_k) = \mu '(J_k) \,\, \forall k \in \{k^* + 1, k^* +2 , \ldots , p\} \). Moreover, Lemma 5 implies that both \(\mu '\) and \(\mu \) must fully match all projects in \(J_{k^*}\). By Lemma 4(c) we have that, \(\mu (J_{k^*}) = T_{k^*}= \mu '(J_{k^*}) \), where \(T_{k^*}\) is the set of all firms which are in the top indifference class for at least one project in \(J_{k^*}\).

Next let  \(k^{**} \in \{1,2, \ldots , k^* -1\}\) be the largest threshold such that projects in \( J_{k^{**}}\) are compatible for some firm in  \(F \!\setminus \! T_{k^*}\)  at preference profile R. If  \(k^{**} < k^{*}-1\), then projects in \(J_{k^{**}+1}\), \(J_{k^{**}+2}\),... , \(J_{k^{*}-1}\) are unmatched in both \(\mu \) and \(\mu '\), since there are no compatible firms for these projects at preference profile R that are not already matched to some better-ranked project in both \(\mu \) and \(\mu '\). Furthermore, by Lemma 5 and Lemma 4(c) we have   \(\mu (J_{k^{**}}) = T_{k^{**}}= \mu '(J_{k^{**}}) \).

Proceeding in this fashion completes the proof.

   \(\square \)

Lemma 7

If a preference profile admits more than one SSM, all projects are indifferent between them.

Proof

Follows from Lemmas 4(a) and 6.

   \(\square \)

The implications from the preceding lemmas can be summarized as follows. If a preference profile admits at least one SSM, then in every such SSM, any set of projects \(J_k\) of a given rank is either fully matched or fully unmatched. Moreover, in every such SSM, projects in \(J_k\) are matched to the same set of firms (and those firms are the best for these projects among all compatible firms not matched with a better-ranked project). These observations drive the equivalence result in Proposition 9: if a preference profile admits at least one strongly stable matching, then the set of all strongly stable matchings at that profile is exactly equal to the set of all matchings that can be generated by a decreasing refined priority rule at that profile. The proof appears in the “Appendix”.

For any preference profile R, let \(\mathcal {M}_{SS}(R)\) denote the set of all matchings that are strongly stable at profile R. Also recall that \(\mathcal {M}_{DRP}(R)\) denotes the set of all matchings which can be obtained using some decreasing refined priority rule, i.e., \(\mathcal {M}_{DRP}(R) = \cup _{\sigma \in \varSigma }\, \psi _{\sigma }^{DRP}(R)\), where \(\varSigma \) denotes the set of all possible decreasing priority order. The following proposition establishes the relationship between these two sets.

Proposition 9

Assume that preference profile \(R \in \mathcal {R}\) admits a strongly stable matching. Then,

$$\begin{aligned} \mathcal {M}_{SS}(R) = \mathcal {M}_{DRP}(R) \end{aligned}$$

5 Concluding remarks

This article proposes a two-sided matching domain where preferences of one side of the market are derived from a master preference list, while agents on the other side have general preferences. The domain permits indifferences. It has been shown that stable matchings have the same size. We have discussed why this is a positive result due to its practical significance. Our discussion on the assignment rules demonstrates the hierarchical nature of stable and efficient matchings for the problem. In particular, we have shown that the set of stable and efficient matchings in this domain is completely characterized by the Pareto improved decreasing priority rule. We have also discussed the more demanding notion of strong stability and shown that its existence is not guaranteed. If they do exist, then the set of strongly stable matchings is completely characterized by the decreasing refined priority rule. Next, we make some additional remarks about our results.

Firstly, we have not analyzed the strategic aspects of our assignment rules. It is easy to check that the decreasing refined (and, non-refined) priority rule is not manipulable by an individual project. This is not surprising given that the serial dictatorship rule is well known to be strategy-proof. One can also easily check that they are not manipulable by firms. Recall that the set of projects J is partitioned into \(\{J_1, J_2,..., J_p\}.\) We have implicitly assumed that the block to which any particular project belongs, is publicly observable. If this information is privately held, then projects can manipulate the decreasing priority order by their reports, and thereby the assignment rules.

Secondly, note that the assignment rules we have discussed are expensive in terms of the information that the designer must elicit about every project’s preference over the entire set of firms. This may become a major concern as the number of agents gets very large. It is in regard to this observation that Proposition 6 has an important implication.

We know from Proposition 6 that, for any matching \(\mu \) that is both stable and efficient at a preference profile R, there is a (decreasing) priority order \(\sigma \) over projects and a (weakly) decreasing sequence \(\{\varGamma _j\}_{j=1}^{|J|}\) of choice sets consisting of firms, such that \(\mu (\sigma (j)) \in B_{\sigma (j)}(\varGamma _{j},\,|\, {R})\) for all \(j \in J\). We conjecture the existence of a sophisticated procedure whereby a stable and efficient matching may be obtained by a recursively defined procedure, where at each step and given the data from previous steps, a choice set for every “project” is defined. The “project” then only needs to report the maximal elements from the choice set. The advantage of such a procedure would be that the projects will no longer need to report the entire preference over the complete list of firms. This can reduce the information elicitation burden greatly and hence can be of particular relevance from a practical standpoint when the number of agents is significantly large. We leave the study of the existence of such a rule open for future investigation.