11email: [email protected], [email protected], [email protected] 22institutetext: FLAME University, Pune, India
22email: [email protected]
Generalized Capacity Planning for the Hospital-Residents Problem††thanks: A preliminary version of this work appeared in IWOCA 2023 [15].
Abstract
The Hospital Residents setting models important problems like school choice, assignment of undergraduate students to degree programs, among many others. In this setting, fixed quotas are associated with the programs that limit the number of agents that can be assigned to them. Motivated by scenarios where all agents must be matched, we propose and study a generalized capacity planning problem, which allows cost-controlled flexibility with respect to quotas.
Our setting is an extension of the Hospital Resident setting where programs have the usual quota as well as an associated cost, indicating the cost of matching an agent beyond the initial quotas. We seek to compute a matching that matches all agents and is optimal with respect to preferences, and minimizes either a local or a global objective on cost.
We show that there is a sharp contrast – minimizing the local objective is polynomial-time solvable, whereas minimizing the global objective is -hard. On the positive side, we present approximation algorithms for the global objective in the general case and a particular hard case. We achieve the approximation guarantee for the special hard case via a linear programming based algorithm. We strengthen the -hardness by showing a matching lower bound to our algorithmic result.
Keywords:
Stable matchings, capacity augmentation, matchings under preferences1 Introduction
The problem of computing optimal many-to-one matchings under two-sided preferences is extensively investigated in the literature [10, 18, 16, 4, 1]. This setting is commonly known as the Hospital Residents (hr) setting.
In the hr setting [10] we are given a set of agents (residents), a set of programs (hospitals), and a set of mutually acceptable pairs between them. Each agent and every program has a preference ordering over its mutually acceptable partners. Additionally, every program has a positive integral capacity that denotes the maximum number of agents that can be assigned to the program. The goal is to compute a matching, that is, an assignment between agents and programs that is optimal with respect to preferences and capacities. This setting models several real-world problems, such as assigning students to schools [1], elective courses [16], assigning medical interns to hospitals [18], and assigning undergraduate students to university programs [4].
In this setting, stability is a well-accepted notion of optimality. An assignment between agents and programs is stable if no agent-program pair has an incentive to deviate from it [10]. It is known that all stable assignments match the same set of agents [10]. In certain applications of the hr setting, every agent must be matched. For instance, in school choice [1] every child must find a school; while matching sailors to billets in the US Navy [21, 17], every sailor must be assigned to some billet. In the hr setting, the rigid upper-quotas limit the number of agents that can be matched in any matching.
The problem of capacity expansion is investigated very recently in [6, 5, 2, 7]. In the capacity expansion problem, the quotas of programs are augmented to improve the welfare of the agents. In another work, Gajulapalli et al. [9] study a two-round mechanism for school admissions in which the goal of the second round is to accommodate more students by suggesting quota increments to schools.
In our work, we are interested in the capacity augmentation problem to ensure that every agent is matched in a stable matching of the resulting instance. Our setting is similar to the hr setting except that in addition to the (initial) capacities, every program also specifies a cost of matching additional agents to it. The capacity of programs can be augmented by spending an additional cost per augmented seat such that a stable matching in the augmented instance matches every agent.
Two special cases of this setting have been studied recently by Chen et al. [7] and Nasre and Limaye [15]. In [7], the authors assume that each program has a unit cost per augmented seat. In [15], the authors assume that the cost per augmented seat can be a non-negative integer but the initial capacities are zero. In both these works, the two main problems investigated are as follows: given an instance with agents, programs, preferences on both sides, capacities, and costs, augment the instance so that it admits a stable matching that matches every agent such that one of the following goals is achieved.
-
•
the maximum augmentation cost spent at a program is minimum
-
•
the total augmentation cost spent across all programs is minimum
In the generalized setting considered in this paper, we allow both, that is, an arbitrary positive integral initial capacities (unlike zero initial capacities in [15]) and arbitrary non-negative integral costs (unlike unit costs in [7]). We are ready to define our problems formally.
1.1 Notation and Problem Definition
We are given a bipartite graph , where denotes the set of agents and denotes the set of programs. An edge indicates that and form an acceptable agent-program pair. For each vertex , we define to be the set of vertices adjacent to (that is, the neighborhood of ). Each vertex ranks vertices in in a strict order, called the preference list of vertex . For any vertex , if prefers over then we denote it by , equivalently, . The length of the longest preference list of an agent is denoted by and the length of the longest preference list of a program is denoted by . Each program has an initial quota which is a positive integer. In literature, this instance is referred to as the hr instance (programs being the hospitals and agents being the residents). In our setting, in addition to the quotas, a program has an associated non-negative integral cost . As long as a matching matches upto many agents to , no cost is incurred. For each agent matched above the quota of , we incur a cost for exceeding the quota of .
A many-to-one matching (called matching here onwards) in an hr instance is an assignment of agents to programs such that each agent is matched to at most one program and each program is matched to at most many agents. Let denote the program to which the agent is matched. We say if is unmatched in . Let denote the set of agents matched to program . We call a program under-subscribed in a matching if and fully-subscribed if . We assume that any agent prefers to be matched (to some program) rather than being unmatched.
Definition 1 (Stable Matching).
A pair is a blocking pair w.r.t. the matching if and is either under-subscribed in M or there exists at least one agent such that . A matching M is said to be stable if there is no blocking pair w.r.t. M.
Given an hr instance, a stable matching is guaranteed to exist and can be computed in linear time by the celebrated Gale and Shapley algorithm [10]. A matching is -perfect if every agent is matched in . In this work, our goal is to compute a matching that is stable and -perfect. There exist simple hr instances that do not admit an -perfect stable matching. An hr instance may admit multiple stable matchings, however, by the Rural Hospitals’ Theorem [18], it is known that all stable matchings in an hr instance match the same set of agents. Thus, one can efficiently determine whether an hr instance admits an -perfect stable matching.
In this work, to achieve -perfectness, we consider quota augmentation for programs. Let be the set of non-negative integers. Let be a function that maps a non-negative integer to every program . The indicates the amount by which the quota at program should be increased such that the modified hr instance admits an -perfect stable matching and for every program the quota of is equal to .
A trivial quota augmentation wherein for every program , is set such that always results in an -perfect stable matching. To control , we use the cost function over the set of programs. Given a matching , the cost incurred at a program is . In other words, the initial many positions of a program are free.
Given an hr instance along with costs, our goal is to compute an -perfect, stable matching that incurs the minimum cost. We consider two natural notions of minimization over cost:
-
•
minimize the total cost incurred, that is, .
-
•
minimize the maximum cost incurred at any program, that is, .
Based on this, we define the MinSum and the MinMax problems as follows:
MinSum problem: Given , preferences of agents and programs, quota for every program , a cost function (defined earlier), the MinSum problem asks for a quota augmentation function and an -perfect stable matching in the augmented instance such that the total cost of augmentation is minimized.
MinMax problem: Given , preferences of agents and programs, quota for every program , a cost function (defined earlier), the MinMax problem asks for a quota augmentation function and an -perfect stable matching in the augmented instance such that the maximum augmentation cost spent at a program is minimized.
Next, we define two special cases of MinSum and MinMax.
-
1.
Unit cost for augmentation: When every program has , we denote the problems as MinSumQ and MinMaxQ. This is equivalent to the setting investigated by Chen et al. [7].
-
2.
Initial quotas being zero: When every program has , we denote the problems as MinSumC and MinMaxC. This is equivalent to the cost-controlled quotas setting investigated by Limaye and Nasre [15].
The notion of stability considered earlier, is defined with respect to input quotas. In a setting where initial quotas may be zero, we use the following well-studied relaxation of stability. Recall that if the matching is not stable then there exists a blocking pair with respect to . The blocking pair may arise due to under-subscription of the program or may arise due to the matching assigning to an agent that prefers lower than . If we allow blocking pairs arising due to an under-subscribed program , then we get a relaxation of stability, called envy-freeness [20].
Definition 2 (Envy-Freeness).
Given a matching , an agent has a justified envy (here onwards, called envy) towards another agent if , and . The pair is called an envy-pair w.r.t. . A matching is envy-free if there is no envy-pair w.r.t. .
We observe the following about envy-freeness and stability when the initial quotas of all programs are zero. Let be an instance in our setting in which the initial quotas of all programs are zero. Let be an -perfect matching in the augmented instance . If is stable in , then by definition, is also envy-free in . Next, suppose that is an envy-free matching in . Let denote the hr instance wherein the preferences are borrowed from (that is, ), and for every program , we set its quota in to be equal to . Then, is stable in . This implies that when we start with initial quotas of all programs being zero, envy-freeness and stability are equivalent.
Example. Consider an instance shown in Fig. 1 with three agents and three programs . The tuple preceding a program indicates that the program has initial quota and the cost of matching a single agent to it. That is, , , and , , . Consider the two -perfect stable matchings: and . The total augmentation cost spent in and is and respectively, whereas the maximum augmentation cost spent in and is and respectively.
It is straightforward to verify that is the unique optimal solution for MinSum, whereas is the unique optimal solution for MinMax.
1.2 Our results
We show that the MinMax problem can be solved in polynomial time whereas the MinSum problem is -hard. Moreover, the MinSum problem is inapproximable under standard complexity-theoretic assumptions.
Theorem 1.1.
The MinMax problem can be solved in time where .
We say that the preferences of elements of a particular set, say the agent set, are derived from a master list if there is an ordering of the programs and the preferences of all agents respect this ordering.
Theorem 1.2.
MinSumC cannot be approximated within a constant factor unless . The result holds even when the preferences of agents and programs are derived from a master list and there are only two distinct costs in the instance.
The above theorem immediately implies that the MinSum problem is constant-factor inapproximable. The constant factor inapproximability of the MinSum problem is known from the result of Chen et al. [7], however their result does not imply Theorem 1.2. We further show that under the Unique Games Conjecture (UGC) [13], MinSumC cannot be approximated to within for any .
Theorem 1.3.
MinSumC cannot be approximated to within a factor of () for any under UGC. This holds even when the preferences of agents and programs are derived from a master list and there are only two distinct costs.
Theorem 1.3 implies that the MinSum problem is also ()-inapproximable () under UGC. This gives another lower bound for the MinSum problem.
We now state our algorithmic results for MinSum. We present two approximation algorithms for the general instances of the MinSum problem.
Theorem 1.4.
MinSum admits a -approximation algorithm which runs in time.
Theorem 1.5.
MinSum admits an -approximation algorithm which runs in time, where denotes the length of the longest preference list of a program.
We present an approximation algorithm with a guarantee of when the instance has two distinct costs, thereby meeting the lower bound presented in Theorem 1.3.
Theorem 1.6.
MinSumC admits an -approximation algorithm when the instance has two distinct costs.
Our results are summarized in Table 1.
MinMax | MinSum | |
---|---|---|
In (Theorem 1.1) | • -hardness and constant factor inapproximability (follows from Theorem 1.2) • -inapproximability (for any ) under UGC (Theorem 1.3) | • -approximation (Theorem 1.4) • -approximation (Theorem 1.5) • -approximation for MinSumC when two distinct costs (Theorem 1.6) |
Outline of the paper. In Section 2 we present a brief literature review. In Section 3 we present our algorithmic results for MinMax and general instances of MinSum. In Section 4 we present an algorithm for the restricted case of MinSumC problem with two distinct costs. Section 5 presents our hardness and inapproximability results. We conclude in Section 6.
2 Related Work and Background
Capacity planning and or capacity augmentation has received attention in the recent past since it is a natural and practical approach to circumvent rigid quotas for matching problems. The capacity planning problem with a similar motivation as ours is studied extensively under the two-sided preference setting in [9, 6, 5, 2, 7, 3]. In the two-round school choice problem studied by Gajulapalli et al. [9], their goal in round-2 is to match all agents in a particular set. This set is derived from the matching in round-1 and they need to match the agents in an envy-free manner (called stability preserving in their work). This can still leave certain agents unassigned. It can be shown that the MinSumC setting generalizes the matching problems in round-2. We remark that in [9] the authors state that a variant of MinSumC problem (Problem 33, Section 7) is -hard. However, they do not investigate the problem in detail.
In the very recent works [6, 5, 2] the authors consider the problem of distributing extra seats (beyond the input quotas) limited by a budget that leads to the best outcome for agents. Their setting does not involve costs, and importantly, -perfectness is not guaranteed. Bobbio et al. [6] show the -hardness of their problem. Bobbio et al. [5] and Abe et al. [2] propose a set of approaches which include heuristics along with empirical evaluations. In our work, we present algorithms with theoretical guarantees. Chen and Csáji [7] investigate a variant of the capacity augmentation problem mentioned earlier and present hardness, approximation algorithms, and parameterized complexity results. Chen and Csáji [7] investigate several variants of MinSumQ with objectives such as Pareto efficiency and student popularity instead of -perfectness. They show these variants to be hard, which implies the hardness of the corresponding objectives in the generalized MinSum setting as well. Since these variants do not require -perfectness, they are trivial in the cost-controlled quotas setting (as in [15]) - if there are no programs with cost , the solution will be the empty matching. If there are programs with cost , the solution can be obtained by matching every agent to their highest-preferred such program.
Capacity augmentation along with costs has also been considered in the one-sided preference list setting, known as the house allocation problem. Here every agent has a preference ordering over a subset of the programs and programs are indifferent between the its neighbours. In the one-sided preference list setting various notions of optimality like rank-maximilaity, fairness, popularity and weak dominance are studied. Kavitha and Nasre [11] and Kavitha et al. [12] address the capacity augmentation problem for the notion of popularity. It is known that a popular matching is not guaranteed to exist in the one-sided preference list setting. Therefore, their objective was to optimally increase program quotas to create an instance that admits a popular matching. In their setting, the min-max version turns out to be -hard whereas the min-sum problem (without the -perfectness requirement) is polynomial time solvable.
The cost-based quotas considered in our work are also considered in the one-sided preference setting by Santhini et al. [19]. In their work, the authors ask for stronger guarantees on the output matching than -perfectness. This is expressed in terms of a signature of a matching which allows encoding requirements about the number of agents matched to a particular rank. They consider the problem of computing a min-cost matching with a desired signature and show that it is efficiently solvable. This results in the one-sided setting are in contrast to the hardness and inapproximability results we show for a similar optimization problem under two-sided preferences.
Before we proceed to present our results, we discuss important connections between envy-free matchings and stable matchings in an hr instance.
2.1 Envy-free Matchings to Stable Matchings
As noted earlier, envy-freeness and stability are not equivalent in the hr setting. We begin by noting a useful property about any blocking pair with respect to an envy-free matching.
Lemma 1.
If is an envy-free matching that is not stable, then all the blocking pairs have under-subscribed programs.
Proof.
Suppose for the sake of contradiction that there exists a blocking pair such that the program is fully-subscribed (). Since is a blocking pair, we must have . Hence, and there exists an agent , such that . This implies that is an envy pair, a contradiction to the fact that is an envy-free matching. ∎
Next we show that it is possible to convert an envy-free matching in an hr instance to a stable matching in the same hr instance (with the program quotas unchanged) such that the agents that are matched in remain matched in . Algorithm 1 gives a simple procedure for the same.
It is easy to see that no agent who is matched in gets unmatched in . Next, we prove that in each iteration of the algorithm in line 6, remains envy-free.
Lemma 2.
The matching remains envy-free after every execution of line 6.
Proof.
Let be the agent and be the program selected in line 5. Agent is promoted in line 6, so will not envy any new agents after this step. Since is the highest-preferred agent that forms a blocking pair with respect to , after the promotion in line 6, no new agents will envy either. To see this, note that all agents such that are either already matched to or matched to some such that . Since the initial matching is envy-free and no new envy pairs are created after each execution of line 6, remains envy-free. ∎
Lemma 3.
Algorithm 1 terminates and outputs a stable matching .
Proof.
The while loop of the algorithm runs as long as the matching is not stable. At each iteration, since by Lemma 2 the matching is envy-free and possibly not yet stable, we are guaranteed to find a blocking pair. By Lemma 1 such a blocking pair is guaranteed to be of an under-subscription type blocking pair. Furthermore, once a blocking pair is found, the agent gets promoted. Since agent preference lists are finite, this procedure must terminate in iterations. Finally, when we exit the while loop, the matching does not admit any blocking pair which implies that is stable. ∎
This establishes the following lemma.
Lemma 4.
Given an envy-free matching in an hr instance, we can obtain a stable matching in the same hr instance such that the agents matched in remain matched in .
Lemma 4 implies that if is an -perfect, envy-free matching in an hr instance , then there exists an -perfect, stable matching in the same instance.
3 Algorithmic results
In this section, we present our algorithmic results for the MinMax problem (Theorem 1.1) and our approximation algorithms for general instances of the MinSum problem (Theorem 1.4 and Theorem 1.5).
3.1 Polynomial time algorithm for MinMax
In this section, we present a polynomial time algorithm for the MinMax problem. We begin with some observations. Let be an optimal solution for the MinMax problem and let be the cost of . For an integer , we define to be the hr instance such that for every program , its quota is . We observe the following:
-
•
For any integer , there exists an -perfect stable matching in . This holds because is an -perfect stable matching in and for every program , in is at least as much as in . Therefore, is an -perfect envy-free matching in . Combining these facts with Lemma 4 we get the desired result.
-
•
For any integer , there does not exist an -perfect stable matching in .
In the following lemma, we show an upper bound on the number of distinct values that can take. Recall that .
Lemma 5.
There are at most many distinct values that possibly takes.
Proof.
For any program , . This holds because in any solution (-perfect stable matching), for any program , the initial quota and the quota augmentation together cannot be more than .
The cost is either equal to or equal to , for some and some such that . Thus, for a fixed program , we have at most many non-zero values, if . Thus, takes at most many distinct non-zero values. Including , the lemma holds. ∎
We now give a polynomial-time algorithm for the MinMax problem – construct a sorted array such that it contains all the possible values of . Then perform a binary search on this array. For each cost being considered, construct the hr instance and check whether admits an -perfect stable matching. If yes, search over values less than or equal to , otherwise search over values strictly greater than .
3.2 -approximation algorithm for MinSum
Using the algorithm for the MinMax problem presented in Section 3.1, we present a -approximation algorithm for the MinSum problem.
Lemma 6.
The optimal solution for the MinMax problem is a -approximation for the MinSum problem on the same instance.
Proof.
Given an instance , let be an optimal solution for MinMax and let its cost be . Let the optimal cost of MinSum on the same instance be . Clearly, (otherwise it contradicts the optimality of for MinMax).
Since is the maximum augmentation cost spent at any program in , the total cost of is at most . Hence, the total cost of is at most , giving us the desired approximation. ∎
This proves Theorem 1.4.
3.3 -approximation algorithm for MinSum
In this section, we present an -approximation algorithm for the MinSum problem. This algorithm is an extension of the algorithm presented in [15] for a restricted setting wherein all initial quotas are zero.
Let be the instance of the MinSum problem. Let be any stable matching in . We call the initial stable matching. If is -perfect then we return . Otherwise, at least one agent is unmatched in . Let denote the set of agents that are unmatched in . It is well known that all stable matchings of an hr instance match the same set of agents [18]. Hence, the set is invariant of . For every agent , let denote the least-cost program occurring in the preference list of . If there are multiple such programs, let be the highest-preferred one among them. Using we construct an -perfect matching by matching every agent to . This gives us an intermediate matching, we call it . We observe that is -perfect but not necessarily stable. Next, we promote agents to ensure that is stable, as described below.
We start with the matching . We consider a program and consider agents in the reverse order of the preference list of . If an agent envies agent then we promote by unmatching it and matching it to (see Fig. 2). This process repeats for every program. The pseudo-code is given in Algorithm 2.
We proceed to prove the correctness. We begin by showing that the matching computed by Algorithm 2 is an -perfect stable matching.
Lemma 7.
The matching computed by Algorithm 2 is an -perfect stable matching.
Proof.
If the algorithm returns the matching then it is an -perfect stable matching. We show that the matching returned at line 12 is -perfect and stable.
It is clear that is -perfect, by construction (line 6). Thus, we start with matching that is -perfect. During the execution of the loop at line 8, agents are only promoted and no agent becomes unmatched. Thus, remains -perfect at the termination.
Next, we show that is stable. Suppose for contradiction that there exists a blocking pair with respect to . Then and there exists an such that . Consider the iteration of the for loop (in line 8) when was considered. Agent was either already matched to (before the iteration began) or is assigned to in this iteration. Note that and agents are considered in the reverse order of preference of . Thus, in either case, when was considered in line 9, holds.
If or at this point, since agents never get demoted in the algorithm, or holds at the end of the algorithm. Thus, we must have that at this point. This implies that the algorithm matched to in this iteration. Since could only get promoted during the subsequent iterations, or at the end of the algorithm. This contradicts the claimed blocking pair. This proves the lemma. ∎
Next, we show that is an -approximation of MinSum. Let denote the set of programs such that no agent is matched to in the matching and denote the set of programs such that for at least one agent , . Let denote the complement of with respect to . We define the following four sets of programs. Clearly, these four sets are pairwise disjoint (see Fig. 3).
-
•
-
•
-
•
-
•
Now we proceed to prove the approximation guarantee by observing important properties of the programs in these sets.
Lemma 8.
No agent is promoted and matched to any program in during the execution of the for loop in line 8.
Proof.
Let . By definition of and , . This implies that for no agent , . Therefore, after the execution of line 6, if and only if . Subsequently, at line 7, we have if and only if .
For the sake of contradiction, assume that some agent is promoted and matched to . Let be the first such agent. For this promotion to happen, there must exist agent such that and in this iteration. By the choice of , we have . Note that or since agents can only get promoted during the execution of the loop. By stability of , we have that either and or . The former case contradicts that whereas the latter case contradicts that or . This proves the lemma. ∎
Lemma 9.
Matching computed by Algorithm 2 is an -approximation of the MinSum problem.
Proof.
Let denote the total augmentation cost of the matching . During the execution of the for loop in line 8, the cost is spent only when an agent is promoted and matched to some program . By Lemma 8, agents are promoted and matched to some program such that .
Let denote the length of the preference list of program . During the execution of the for loop in line 8, at most many agents can be promoted and matched to the program . Then .
Programs in are least-cost programs for some agent . Let denote an optimal solution and denote the optimal cost. Since must match all agents in , . Moreover, for every , we have . Thus,
∎
4 MinSumC with two distinct costs
In this section, we present a linear program (LP) for the MinSumC problem followed by an approximation algorithm for a restricted hard case. Recall that under the MinSumC setting, an envy-free matching is itself stable. Therefore, in this section, we compute an envy-free matching.
4.1 Linear Program and its dual
Fig. 4 shows the LP relaxation for the MinSumC problem. Let be the underlying graph of the MinSumC instance. Let be a primal variable for the edge : is if is matched to , otherwise. The objective of the primal LP (Eq. 1) is to minimize the total cost of all matched edges. Eq. 2 encodes the envy-freeness constraint: if agent is matched to then every agent must be matched to either or a higher-preferred program than , otherwise envies . In the primal LP, the envy-freeness constraint is present for a triplet where . We call such a triplet a valid triplet. Eq. 3 encodes -perfectness constraint.
Primal: minimize
(1) |
subject to
(2) |
(3) |
(4) |
Dual: maximize
(5) |
subject to
(6) |
(7) |

In the dual LP, we have two kinds of variables, the variables which correspond to every agent and the variables which correspond to every valid triplet in the primal program. The dual constraint (Eq. 6) is for every edge in . The variable corresponding to an agent appears in the dual constraint corresponding to every edge incident on . The value can be interpreted as the cost paid by agent for matching to one of the programs in . For an edge and an agent , the dual variable appears in negative form in exactly one constraint and it is for the edge . The same dual variable appears in positive form in the constraint for every edge such that or (refer Fig. 5). The value of can be interpreted as the cost paid by agent in matching to a program such that or to resolve potential envy-pair if gets matched to . Following are the useful facts about the linear program and its dual.
Fact 1. Let be a fixed agent. If is incremented by a positive value then it increments the left-hand side (lhs) of the dual constraint of every edge by and it does not affect the dual constraint of any edge incident on agent .∎
Fact 2. Let be a fixed valid triplet. If is incremented by a positive value then it increments the lhs of the dual constraint of every edge by such that or , reduces the lhs of the dual constraint of exactly one edge by and does not affect the dual constraint of any edge incident on agent .∎
For a given dual setting and an edge, if Eq. 6 is satisfied with equality then we call such an edge as a tight edge, otherwise it is a slack edge. For an edge , denotes its slack. When referring to a variable, when a specific agent or program occurring in it does not matter, we use in its place.
Definition 3 (Threshold agent).
Let be a matching in the instance. For every program , is the most-preferred agent , if it exists, such that , otherwise is .
The definition of threshold agent is similar to the threshold resident defined in [14] and a barrier (vertex) defined in [9]. We remark that the threshold agent depends on the matching , hence when gets modified, the threshold agents for programs may change.
Definition 4 (Matchable edge).
For an envy-free matching , and an agent (matched or unmatched), we say that an edge is matchable if the dual constraint on is tight and , otherwise the edge is non-matchable.
It is straightforward to verify that for an envy-free matching , if we match agent along a matchable edge then the resultant matching remains envy-free.
4.2 An -approximation algorithm for
A reader may find the discussion in the Appendix about the challenges involved in designing a primal-dual algorithm for the general case of the MinSumC problem. In this section, we show that when the MinSumC instance has only two distinct costs and where , we can circumvent the challenges and obtain an -approximation algorithm for the MinSumC problem. We recall from Theorem 1.2 that even in this restricted setting, the problem remains NP-hard.
High-level idea of the algorithm. Our LP based algorithm begins with an initial feasible dual setting and an envy-free matching which need not be -perfect. As long as is not -perfect, we pick an unmatched agent and increase the dual variable . We show that for an unmatched agent such an increase is possible and all edges incident on become tight due to the update. However, none of the edges incident on may be matchable (since for every , ). Under the restricted setting of two distinct costs we ensure that after a bounded number of updates to the variables, at least one edge incident on is matchable. Throughout we maintain the following invariants with respect to the matching .
-
•
is envy-free, not necessarily -perfect and every matched edge is tight.
-
•
For an agent (matched or unmatched), for every , either (i) is tight and or (ii) .
Recall that when the matching is modified, thresholds may change, due to which a tight, non-matchable edge may become matchable. As long as there exists such an edge, we match it. This is achieved by the free-promotions routine. The free-promotions routine checks if there exists a matchable edge . If there is no such edge, the routine terminates. Otherwise, it matches , re-computes the threshold agents and repeats the search. Checking for a matchable edge and computing threshold agents takes time where . the free-promotions routine runs in time.
Description of the algorithm. Algorithm 3 gives the pseudo-code. In the Appendix, we give an illustrative example which depicts the key steps of the algorithm on a instance.
We begin with an empty matching and by setting all variables to and all variables to (line 1). Following this, for every agent with a cost program in we match the agent to its most-preferred program with cost (for loop at line 2). Next, we compute the threshold agent for every program w.r.t. . As long as is not -perfect, we pick an arbitrary unmatched agent and update the dual variables as follows.
-
1.
For the agent , we increase by . We ensure that the dual setting is feasible and all edges incident on become tight for the dual constraint in Eq. 6. Although this step makes all edges incident on tight, they may not be necessarily matchable. Recall that a tight edge is matchable if .
-
2.
If there is a program such that is matchable, then is immediately matched to the most-preferred such program (line 10) and we are done with matching agent . Since the matching is modified, we execute the free-promotions routine.
-
3.
In case there is no such program for which is the threshold agent, we update carefully selected variables in order to either promote the threshold agent (if matched) or match the (unmatched) threshold agent via the following steps.
-
(a)
We compute the set of programs such that the dual constraint on edge is tight and and (line 13). In other words, is the set of programs in the neighbourhood of such that is higher-preferred over and edge is tight but not matchable.
-
(b)
By the definition of , for every , there exists . We pick an arbitrary agent that is a threshold of some program in (line 15). Note that the agent can be the threshold agent of more than one program in , and we let denote the set of programs in for whom is the threshold. Let be the least-preferred program for in (line 17).
- (c)
-
(d)
Recall that the variable appears in the positive form in the dual constraint of every edge such that or . We ensure that this update results in making all edges tight and at least one of these becomes matchable. We match along the most-preferred matchable edge (line 19). Recall that variable appears in negative form in the dual constraint of edge , hence edge becomes slack after this update.
-
(e)
Since is modified, we execute the free-promotions routine. If a tight edge incident on becomes matchable, then is matched inside the free-promotions routine.
-
(f)
We remark that the set computed in line 13 is dependent on the matching , specifically and the threshold agents w.r.t. . In order to maintain a specific slack value on the edges that is useful in maintaining dual feasibility and ensuring progress, we re-compute the set (line 20) and re-enter the loop in line 14 if .
-
(a)
4.3 Proof of correctness
We start by observing the following properties.
(P1) At line 4, no agent is assigned to any program with cost and for every agent (matched or unmatched), every program has cost .
(P2) A matched agent never gets demoted.
(P3) A tight edge incident on a matched agent remains tight.
(P4) All matched edges are tight at the end of the algorithm.
(P1) is a simple observation about the matching at line 4. Whenever a matched agent changes its partner from to , we have . By the definition of the threshold agent, , which implies (P2). Note that the only edge that can become slack during the execution is the edge which is incident on an unmatched agent (line 18). This implies (P3). We observe that when the edge is matched, it is tight. By (P3), a matched edge (being incident on a matched agent) always remains tight, implying (P4).
Now, we proceed to prove Theorem 1.6. In the following lemma, we prove that the matching computed by the algorithm is envy-free.
Lemma 10.
Matching is envy-free throughout the execution of the algorithm.
Proof.
Matching is trivially envy-free after line 1. Any two agents and that are matched in line 3 are matched to a program with cost and by the choice made in line 3, it is clear that they do not form an envy-pair. By (P1), every unmatched agent has only cost programs in thus, no unmatched agent envies an agent matched in line 3. Thus, is envy-free before entering the loop at line 5.
Suppose is envy-free before a modification in inside the loop. We show that it remains envy-free after the modification. Matching is modified either at line 10 or line 19 or inside the free-promotions routine. In all these places, only a matchable edge is matched. Therefore no agent envies after this modification. Before this modification did not envy and by (P2) (if matched) is not demoted, therefore does not envy after the modification. Thus, remains envy-free. ∎
Next, we proceed to prove the dual feasibility, termination, and -perfectness. We make the following observation about the innermost while loop (line 14).
Lemma 11.
Let be a fixed unmatched agent selected in line 6 and consider an iteration of the loop at line 7 during which the algorithm enters else part. Suppose during an iteration of the loop at line 14, for some , is selected at line 17. Then at the end of iteration, and during subsequent iterations of the loop. Therefore, at most many distinct variables are updated during the iteration of the loop at line 7.
Proof.
By the choice of , the edge was tight before this iteration. By Fact 2, the update on reduces the lhs of the dual constraint of the edge by . Thus, after this update, . Therefore, when is re-computed at line 20, . Also observe that no other dual update in inside the loop at line 14 for affects the slack of edge . Thus, in a subsequent iteration of this loop, is never selected as again.
Recall that if edge is non-matchable then either is slack or . In our algorithm, we maintain a stronger invariant: for every agent and for every program higher-preferred over , we maintain that either all non-matchable edges are slack or all non-matchable edges are tight and for every such edge, . Moreover, we also maintain a specific slack value when the edges are slack. We categorize agents based on these two cases (see Fig. 6 and Fig. 7).
Definition 5 (type-1 and type-2 agents).
An agent is called a type-1 agent if for every program , . An agent is called a type-2 agent if is matched and for every program , and .


We remark that type-1 agents could be either matched or unmatched but type-2 agents are always matched. Recall that if is unmatched then and therefore, every program satisfies the condition that . We claim that a type-1 agent is selected as at most once inside the loop at line 14.
Lemma 12.
Let be a type-1 agent such that is selected in an arbitrary iteration of the loop at line 14. Then, at the termination of the loop, is a type-2 agent and in subsequent iterations of the loop, .
Proof.
Since is a type-1 agent, for every program , . Suppose is selected in line 17. Then by Fact 2, for every such that or , the dual update in line 18 results in making all edges tight. Also, since , at least one of these newly tight edges (specifically, ) becomes matchable. Therefore, is modified inside the iteration (line 19), implying that is either matched or promoted. The choice of , that is, in line 19 is such that for every , the edge is tight and . Thus, when the iteration ends, is a type-2 agent.
By (P3), the tight edges incident on remain tight throughout the algorithm. In subsequent iterations, agent may further get promoted by the free-promotions routine such that for every , and . Therefore, remains a type-2 agent in all subsequent iterations of the loop. This implies that is not the threshold for any program , in particular for any program for the chosen . Thus, during subsequent iterations of the loop, . ∎
In Lemma 13, we establish that at a specific step during the algorithm, every agent is either type-1 or type-2. This property is crucial in showing dual feasibility and termination.
Lemma 13.
Before every iteration of the loop starting at line 7, an agent is either a type-1 agent or a type-2 agent.
Proof.
We prove this by induction. Before the first iteration of the loop at line 7, suppose agent is matched. Then (P1) and the initial dual setting together imply that for every program , . Therefore is a matched type-1 agent. Suppose is unmatched. Then, by (P1), every program , , therefore the initial dual setting implies that . This implies that is an unmatched type-1 agent.
Consider an arbitrary agent . Suppose that is either type-1 or type-2 before -th iteration of the loop. It is clear that selected in line 6 is different than selected at line 15. During the -th iteration, either in line 6 or in line 15 or is promoted inside the free-promotions routine. We show that in each of the cases, is either type-1 or type-2 before -th iteration begins.
-
(i)
in line 6: It implies that is unmatched. By induction hypothesis, is a type-1 agent, therefore for every , . Then, the update in line 8 results in making all edges incident on tight. We consider the following two cases – remains unmatched during the -th iteration or gets matched.
-
•
remains unmatched during the -th iteration: Then the while loop at line 14 must have been executed. During an iteration of the loop at line 14, if then the slack of the edge becomes after the dual update in line 18 (by Fact 2). We show that for every , there is some iteration of the loop at line 14 such that is selected, thereby implying that when the loop terminates, for every edge , slack becomes . Once this is shown, it is clear that before the -th iteration, is a type-1 agent.
Suppose for contradiction that for some program , is never selected. Since the edge is tight before the loop execution began, it must be the case that either or . The first case implies that , a contradiction that remains unmatched during the -th iteration. In the second case, since , the edge was matchable inside the free-promotions routine, thus must have been matched inside the free-promotions routine, leading to a contradiction again. Thus, for every , there is some iteration of the loop during which . This implies that when the loop at line 14 terminates, for every , .
-
•
gets matched during the -th iteration: Recall that all edges incident on are tight after the dual update in line 8. If is matched at line 10 then the -th iteration immediately terminates. Thus, before the -th iteration, for every , and by the choice made in line 10, , implying that is a type-2 agent.
If is matched inside the loop at line 14 then the free-promotions routine must have matched it. Consider the last iteration of the loop at line 14 during which the free-promotions routine matched or promoted and let . We will show that for , , thereby implying that is a matched type-1 agent before -th iteration begins.
By Lemma 11, it is enough to show that for every , is chosen is some iteration of the loop at line 14. Suppose not. Then, there exists some such that is tight after the loop at line 14 terminates. By the choice of inside the free-promotions routine, was non-matchable, implying that . Hence during the last iteration of the loop, when was re-computed in line 20, , that is, . This contradicts that the loop terminated after this iteration. Therefore, for every , was selected in some iteration of the loop at line 14, thereby implying that before the -th iteration of the loop at line 7, is a matched type-1 agent.
-
•
-
(ii)
at line 15: Consider the first iteration of the loop at line 14 when this happens. Note that the dual update in line 8 does not affect the slack on edges incident on . Since is a threshold for some program , by the induction hypothesis, is a type-1 agent. Therefore, for every , before this iteration of the loop at line 14. By Lemma 12, is a type-2 agent when the loop terminates. Therefore when -th iteration of the loop at line 7 begins, is a type-2 agent.
-
(iii)
and but is promoted inside the free-promotions routine: First note that none of the dual updates in the -th iteration affect any edge incident on . Thus, if is promoted inside the free-promotions routine, then by the induction hypothesis, must be a type-2 agent. Thus, for every , and and some update in the matching must have made one of these edges matchable, that is, for some tight edge , . Consider the last iteration of the loop at line 14 when the free-promotions routine promoted . Then, by the choice of inside the routine, for every program , edge is non-matchable. This implies that for every such , . Thus, remains a type-2 agent when the -th iteration begins.
This completes the proof of the lemma. ∎
Next, we show that the dual setting is feasible.
Lemma 14.
The dual setting is feasible throughout the algorithm.
Proof.
It is clear that the dual setting is feasible before entering the loop after line 7 for the first time. We show that if the dual setting is feasible before an arbitrary dual update (either line 8 or line 18) then it remains feasible after the update.
- •
-
•
Update at line 18: We note that the update in line 18 increases the lhs of a subset of edges incident on agent (by Fact 2). Therefore we show that for an arbitrary agent selected as , the dual setting on the affected edges is feasible after the update.
Consider the first iteration of the loop at line 14 wherein an arbitrary is selected as in line 15. Since , the type of before execution of the loop at line 14 began is same as its type before entering the loop at line 7. Suppose is a type-2 agent then the fact that is threshold at some program in contradicts that for every program , . Therefore, is a type-1 agent. This implies that for every , the slack of the edge is , therefore the dual update in line 18 maintains dual feasibility. By Lemma 12, this is the only iteration of the loop at line 14 when . Therefore, when the execution of loop at line 14 terminates (followed by immediate termination of the loop at line 7), the dual setting remains feasible.
This completes the proof of the lemma. ∎
Now, we show that the algorithm terminates in polynomial time and computes an -perfect matching .
Lemma 15.
Algorithm 3 terminates by computing an -perfect matching in polynomial time.
Proof.
We first show that in every iteration of the loop in line 7, either an unmatched agent is matched or at least one agent is promoted: by Lemma 13 and Fact 1, after the dual update in line 8 all edges incident on become tight. Either gets matched in line 10 or the loop in line 14 executes at least once. Since every time the loop at line 14 is entered, an agent is selected in line 15. By the choice of , Lemma 13, Fact 2 and the choice of in line 17, the dual update in line 18 ensures that at least one edge , for becomes matchable and gets matched along that edge. By (P2), this modification does not demote (if was already matched). Therefore, either an unmatched agent (either in line 10 or in line 19) is matched or at least one agent ( in line 19) is promoted during an iteration.
Thus after iterations of the loop in line 7, a fixed unmatched agent gets matched and the loop in line 7 terminates. As mentioned earlier, the free-promotions routine takes time. Thus, the loop in line 7 terminates in time for a fixed unmatched agent and the loop in 5 terminates in time. By the termination condition of the loop, is an -perfect matching. ∎
Remark on the running time. We observe that the initial setting of dual variables takes time because there are valid triplets. Since the algorithm guarantees (P2), with careful implementation of the free-promotions routine and efficiently computing the threshold agents, the running time of the algorithm can be improved. ∎
Finally, we show that the matching computed by Algorithm 3 is an -approximation.
Lemma 16.
Matching computed by Algorithm 3 is an -approximation of MinSumC.
Proof.
Let be an optimal matching and and denote the cost of and respectively. By the LP duality, . By (P4), implies that the edge is tight. Thus, we have
where the first equality is from Eq. 1, the second equality is from Eq. 6 and the third equality follows because is -perfect. Let denote the second summation in the above cost. Our goal is to show that is upper-bounded by thereby implying that .
We first note that all the variables are set to initially and they are updated only inside the loop at line 14. We charge the update in every variable to a specific unmatched agent picked at line 6 and upper-bound the total update in charged to in terms of . Let be the set of agents unmatched before the loop at line 5 is entered. During every iteration of the loop in line 5, an unmatched agent from is picked and the loop in line 7 executes until is matched. Suppose that after picking in line 6, the loop in line 7 runs for iterations. Then, is incremented by for times and since is matched, it is not picked again at line 6. Thus, at the end of algorithm, , that is .
We first present a simpler analysis that proves an -approximation. Recall that the variables are non-negative (Eq. 7). Thus, we upper-bound the total value of variables appearing in positive form in . During the iterations to , the algorithm must enter the else part and in the iteration, the loop may or may not enter the else part. Suppose the algorithm enters the else part. Then by Lemma 11, for a fixed when the algorithm enters the else part, at most many variables are set to . Thus, at most total update in occurs during execution of the loop in line 7 when agent is picked. We charge this cost to agent , thus agent is charged at most . Thus,
Now, we proceed to a better analysis that shows an -approximation. Recall that if is a valid triplet then the variable appears in the dual constraint of possibly multiple edges incident on in positive form and in the dual constraint of exactly one edge, that is, the edge in negative form. We show that there exist certain valid triplets such that the corresponding variable occurring in positive form in the dual constraint of a matched edge also appears in negative form in the dual constraint of another matched edge, thereby canceling out their contribution in . Thus, it is enough to upper-bound the update in variables that are not cancelled. We prove that the total update in such variables that is charged to an agent can be upper-bounded by instead of as done earlier.
Let be an arbitrary agent. Suppose that after is selected at line 6, is matched to some program and that at the end of the algorithm. By (P2), or . Also, during iterations to , and the loop in line 14 executes. It implies that in each of the iterations, there exists an agent such that and is updated. Also, was matched to such that or . By (P2), at the end of the algorithm, or . Thus, the variable appears in positive form in the dual constraint of the edge . Since and the variable appears in negative form in the dual constraint of edge . Therefore, the variable cancels out in . This implies that for each of the iterations to , at most many variables are set to such that they may not cancel out. We charge the update in these variables to .
In the last -th iteration, gets matched. If is matched at line 10 then no variable is updated during this iteration. Otherwise, is matched in one of the iterations of the loop in line 14 by the free-promotions routine. Recall that by our assumption, is matched to in this step. By the choice of in the free-promotions routine, the edge must have been matchable, that is, it is tight and . The fact that edge was tight implies (by Fact 2) that no variable of the form was updated so far inside the loop at line 14 during the -th iteration. When is re-computed, because at this step. Thus, in the subsequent iterations of the loop in line 14, no agent could have selected in line 17. This implies that no variable of the form is updated during the rest of the execution of the loop at line 14 of the -th iteration. This implies that during the -th iteration, the variables that are set to are of the form where . By the fact that , and , the number such variables is at most .
Thus, during many iterations for the agent at most total update in is charged to . Recall that . Thus, agent contributes at most in . This gives
This completes the proof of the lemma. ∎
This establishes Theorem 1.6.
5 Hardness and inapproximability
In this section, we prove hardness and inapproximability results for MinSumC. These results are extended versions of the hardness results in [15]. Recall that under the MinSumC setting, envy-freeness and stability are equivalent.
5.1 Constant factor inapproximability of MinSumC
In this section, we show that MinSumC cannot be approximated within any constant factor. This result holds even when there are only two distinct costs in the instance and the preference lists follow master list ordering on both sides. We present a reduction from the Set cover problem.
The Set cover problem: Given a universe of elements and a collection of sets where each set , a set cover is a set such that . Given an integer , the goal is to decide whether there is a set cover with cardinality at most .
A subset is said to cover an element if . A set is said to cover element if there exists such that covers .
Reduction to MinSumC: Given a set cover instance , the corresponding MinSumC instance is constructed as follows: for every element , there is an element-agent . For every subset , there is a subset-program and dummy agents and dummy programs where . Therefore, in the reduced instance, there are agents and programs.
Next, we define the cost of the programs and the preference lists in the reduced instance.
For all subset-programs, and for all dummy programs, . Note that in the reduced instance, there are only two distinct costs. For a set , let denote the elements of ordered in a fixed but arbitrary way. Every element-agent ranks all subset-programs such that the corresponding element is in the subset . Every dummy agent corresponding to the subset prefers the subset-program over the dummy program corresponding to . Every subset-program prefers its corresponding dummy agents over the element-agents corresponding to elements in the subset . Every dummy program ranks only its dummy agents. The preference lists are shown below. Note that , .
Preference lists of agents
Preference lists of programs
We define as . We also assume that , without loss of generality.
Lemma 17.
Given a set cover in such that , we can construct an -perfect envy-free matching in such that .
Proof.
Let . Note that . Construct by matching every element-agent to its highest-preferred program in . Dummy agents corresponding to programs in are matched to their respective programs, and the remaining dummy agents are matched to their dummy programs. Thus the matching is -perfect.
We show that the constructed matching is envy-free. For element-agents , any program such that will have no agents matched to it (by construction). The same holds for dummy agents corresponding to programs not in . The dummy agents corresponding to programs in are matched to their highest-preferred programs. Therefore, no agent envies another agent.
Next, we show that . For every program in , some number of element-agents and all dummy agents of are matched to it in . There are such dummy agents per program, while the element-agents together contribute a cost of over all programs. Therefore, . Given that , we get . ∎
Lemma 18.
Given an -perfect envy-free matching in such that for some constant , we can construct a set cover in such that .
Proof.
Given , define the set of programs . Let . We show that the set is a set cover. Suppose for the contradiction that is not a set cover. Then there exists an element which is not covered by . None of the potential partners of the corresponding element-agent are in , so must be unmatched in . This implies that is not -perfect, leading to a contradiction. Thus, is a set cover.
Next, we show that the size of is at most . Note that . Since is an -perfect matching, each is matched in , thereby contributing a cost of one unit each in . Moreover, since is envy-free, if an agent is matched to program then the dummy agents corresponding to must be matched to in . They together contribute a cost of since such . The dummy agents corresponding to each program may be matched to either or . Thus, . Given that , we get . This implies that .
∎
Suppose, for the sake of contradiction, that there exists an -approximation algorithm for the MinSumC problem. For a given set cover instance, we can use the above reduction to construct a MinSumC instance. Then, using the -approximation algorithm and Lemma 17 and Lemma 18, we can get a -approximation algorithm for the Set Cover problem. However, the Set Cover problem cannot be approximated within any constant factor unless [8]. This implies that for any constant , MinSumC does not admit an -approximation algorithm.
Finally, we note that the following master list ordering over agents and programs holds in the reduced MinSumC instance.
This establishes Theorem 1.2.
Remark: Note that in the MinSumC problem, stable matchings and envy-free matchings are the same. Thus, if we had an -approximation algorithm for the MinSum problem, we would have an -approximation algorithm for MinSumC, which would contradict Theorem 1.2. Thus, the MinSum problem is also constant-factor inapproximable. As mentioned earlier, this also follows from Theorem 2 in [7].
5.2 -inapproximability of MinSumC
In this section, we show that our algorithmic result for the MinSumC problem (Theorem 1.6) is tight modulo Unique Games Conjecture [13]. Specifically, we show that for any , MinSumC does not admit an approximation algorithm. We present a reduction from the Vertex cover problem, which is a special case of the Set cover problem defined in Section 5.1. The construction of the MinSumC instance presented below is similar to the construction presented in Section 5.1.
We first note the following: if MinSumC admits an approximation algorithm with guarantee then it admits an approximation algorithm with guarantee for any constants . Therefore, it is enough to show that MinSumC does not admit an approximation algorithm with guarantee for .
The Vertex cover problem: Given a graph where and , a set is called a vertex cover if for every edge , there is a vertex such that is incident on . Given an integer , our goal is to decide whether there exists a vertex cover with cardinality at most . An instance of the Vertex cover problem can be reduced to the instance of the Set cover problem by taking , and the same value of .
Reduction to MinSumC: Given a vertex cover instance , construct the corresponding set cover instance . Then construct the MinSumC instance from as presented in Section 5.1 with the following change: instead of constructing dummy agents and programs per subset , construct -many such dummy agents and dummy programs corresponding to each subset , where (since ).
Note that in the reduced instance, there are agents and programs. The preference lists for all agents and programs are constructed identically as presented in Section 5.1. We define .
Lemma 19.
Given a vertex cover in such that , we can construct an -perfect envy-free matching in such that .
Proof.
Let . Note that , as in Lemma 17. Again, is constructed by matching every element-agent to its highest-preferred program in . Dummy agents corresponding to programs in are matched to their respective programs, and the remaining dummy agents are matched to their dummy programs. As in Lemma 17, we see that is -perfect and envy-free. Moreover, . ∎
Lemma 20.
If admits an -perfect envy-free matching with for , then admits a vertex cover with where .
Proof.
Given an -perfect envy-free matching , define the set of opened programs and construct a vertex cover using , as done in the proof of Lemma 18. Hence, . As it follows from Lemma 18, is a valid set cover. Next, we show that . Since we have -many dummy agents for every program, specifically for every , the cost . Also, in the reduced instance , we have since each element of is contained in exactly two sets (corresponding to the two end-points of that edge in ), so the element-agents have only two programs in their preference lists, dummy agents always have only two programs in their preference list. Therefore, we get
Substituting followed by , we get
where . ∎
If the MinSumC problem admits an -approximation algorithm (), then using Lemma 20 and Lemma 19 we get a -approximation algorithm () for the Vertex cover problem (where ). However, under the Unique Games Conjecture, it is known that the Vertex cover problem cannot be approximated within a factor of for [13]. Therefore, the MinSumC problem does not admit an -approximation algorithm, for any .
6 Concluding remarks
In this work we propose and investigate the generalized capacity planning problem for the many-to-one matchings under two-sided preferences. Motivated by the need to match every agent, we propose a setting wherein costs control the extent to which a program is matched. We aim to compute a stable matching in an optimally cost-augmented instance such that it matches every agent. We investigate two optimization problems. We prove that the MinMax problem is efficiently solvable but the MinSum problem turns out to be -hard. We present approximation algorithms for MinSum with varying approximation guarantees and an improved approximation algorithm for a special hard case. A specific open direction is to bridge the gap between the upper bound and lower bound for general instances of the MinSum problem. It is also interesting to extend the LP algorithm for general instances.
References
- [1] Abdulkadiroğlu, A., Sönmez, T.: School Choice: A Mechanism Design Approach. American Economic Review 93(3), 729–747 (2003). https://doi.org/10.1257/000282803322157061
- [2] Abe, K., Komiyama, J., Iwasaki, A.: Anytime Capacity Expansion in Medical Residency Match by Monte Carlo Tree Search. In: Proceedings of the Thirty-First International Joint Conference on Artificial Intelligence, IJCAI 2022, Vienna, Austria, 23-29 July 2022. pp. 3–9 (2022). https://doi.org/10.24963/ijcai.2022/1
- [3] Afacan, M.O., Dur, U., Van der Linden, M.: Capacity design in school choice. Games and Economic Behavior 146, 277–291 (2024). https://doi.org/10.1016/j.geb.2024.05.002
- [4] Baswana, S., Chakrabarti, P.P., Chandran, S., Kanoria, Y., Patange, U.: Centralized Admissions for Engineering Colleges in India. Interfaces 49(5), 338–354 (2019). https://doi.org/10.1287/inte.2019.1007
- [5] Bobbio, F., Carvalho, M., Lodi, A., Rios, I., Torrico, A.: Capacity Planning in Stable Matching: An Application to School Choice. In: Proceedings of the Twenty-Fourth ACM Conference on Economics and Computation. p. 295 (2023). https://doi.org/10.1145/3580507.3597771
- [6] Bobbio, F., Carvalho, M., Lodi, A., Torrico, A.: Capacity Variation in the Many-to-one Stable Matching (2022). https://doi.org/10.48550/ARXIV.2205.01302
- [7] Chen, J., Csáji, G.: Optimal Capacity Modification for Many-To-One Matching Problems. In: Proceedings of the Twenty-Second International Conference on Autonomous Agents and Multiagent Systems, AAMAS 2023. pp. 2880–2882 (2023), https://dl.acm.org/doi/10.5555/3545946.3599110
- [8] Dinur, I., Steurer, D.: Analytical approach to parallel repetition. In: Proceedings of the Forty-Sixth Annual ACM symposium on Theory of Computing. pp. 624–633 (2014). https://doi.org/10.1145/2591796.2591884
- [9] Gajulapalli, K., Liu, J.A., Mai, T., Vazirani, V.V.: Stability-Preserving, Time-Efficient Mechanisms for School Choice in Two Rounds. In: Proceedings of the Fortieth IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science, (FSTTCS 2020). pp. 21:1–21:15 (2020). https://doi.org/10.4230/LIPIcs.FSTTCS.2020.21
- [10] Gale, D., Shapley, L.S.: College admissions and the stability of marriage. The American Mathematical Monthly 69(1), 9–15 (1962), http://www.jstor.org/stable/2312726
- [11] Kavitha, T., Nasre, M.: Popular matchings with variable item copies. Theor. Comput. Sci. 412(12-14), 1263–1274 (2011). https://doi.org/10.1016/J.TCS.2010.12.067
- [12] Kavitha, T., Nasre, M., Nimbhorkar, P.: Popularity at minimum cost. J. Comb. Optim. 27(3), 574–596 (2014). https://doi.org/10.1007/S10878-012-9537-0
- [13] Khot, S., Regev, O.: Vertex cover might be hard to approximate within 2-. Journal of Computer and System Sciences 74(3), 335–349 (2008). https://doi.org/10.1016/j.jcss.2007.06.019
- [14] Krishnapriya, A.M., Nasre, M., Nimbhorkar, P., Rawat, A.: How Good Are Popular Matchings? In: Proceedings of the Seventeenth International Symposium on Experimental Algorithms (SEA 2018). pp. 9:1–9:14 (2018). https://doi.org/10.4230/LIPIcs.SEA.2018.9
- [15] Limaye, G., Nasre, M.: Optimal Cost-Based Allocations Under Two-Sided Preferences. In: Proceedings of the Thirty-Fourth International Workshop on Combinatorial Algorithms (IWOCA 2023). pp. 259–270 (2023), https://link.springer.com/chapter/10.1007/978-3-031-34347-6_22
- [16] Othman, A., Sandholm, T., Budish, E.: Finding approximate competitive equilibria: efficient and fair course allocation. In: Proceedings of the Ninth International Conference on Autonomous Agents and Multiagent Systems (AAMAS 2010). p. 873–880 (2010), https://dl.acm.org/doi/10.5555/1838206.1838323
- [17] Robards, P.A.: Applying two-sided matching processes to the United States Navy Enlisted assignment process. Tech. rep., Naval Postgraduate School Monterey CA (2001), https://hdl.handle.net/10945/10845
- [18] Roth, A.E.: On the Allocation of Residents to Rural Hospitals: A General Property of Two-Sided Matching Markets. Econometrica 54(2), 425–427 (1986), http://www.jstor.org/stable/1913160
- [19] Santhini, K.A., Sankar, G.S., Nasre, M.: Optimal matchings with one-sided preferences: Fixed and cost-based quotas. In: Proceedings of the Twenty-First International Conference on Autonomous Agents and Multiagent Systems, AAMAS 2022. pp. 696–704 (2022), https://dl.acm.org/doi/10.5555/3535850.3535929
- [20] Wu, Q., Roth, A.E.: The lattice of envy-free matchings. Games and Economic Behavior 109, 201–211 (2018). https://doi.org/10.1016/j.geb.2017.12.016
- [21] Yang, W., Giampapa, J., Sycara, K.: Two-sided matching for the US Navy Detailing Process with Market Complication. Tech. rep., Robotics Institute, Carnegie-Mellon University (2003), https://www.ri.cmu.edu/publications/two-sided-matching-for-the-u-s-navy-detailing-process-with-market-complication/
Appendix 0.A Appendix
0.A.1 Challenges in designing a primal-dual algorithm for MinSumC
A standard primal-dual approach for the MinSumC problem would be to begin with a dual feasible solution. The algorithm then repeatedly updates the dual till we obtain a primal feasible solution using the tight edges w.r.t. to the dual setting. We illustrate the challenges in using such an approach for the general MinSumC problem. Consider the MinSumC instance in Fig. 8. Recall that the tuple preceding a program indicates that the initial quota and cost of that program is and respectively. Since the instance in Fig. 8 is of the MinSumC problem, the initial quotas are 0 for each program.
Assume that we begin with an initial dual setting where all dual variables are set to . The matching obtained on the tight edges is envy-free but does not match agent and hence is not primal feasible. Since no edge incident on is tight (slack on and is 6 and 11 respectively) we can set to 6 while maintaining dual feasibility. We observe that while this update makes the edge tight, adding the edge to the matching introduces an envy pair – namely envying . We note that this is our first difficulty, that is, while there are tight edges incident on an unmatched agent, none of them may be matchable.
The second difficulty stems from the following: in order to match along the (non-matchable) tight edge we must first resolve the potential envy pair , that is, we must promote agent . With the current dual setting, cannot be increased hence a natural way is to update a variable. This can indeed be achieved by setting , thus making tight. However, as encountered earlier, this edge is not matchable, since matching to introduces several other envy pairs. Note that this chain of potential envy resolutions is triggered by the unmatched agent . Since, this chain can be arbitrarily long, several updates may be required. It is not immediate if these updates in variables can be charged to an update in some variable, thereby achieving a reasonable approximation ratio.
However, as seen in Section 4.2, for the restricted hard case of two distinct costs, we are able to resolve these challenges.