Approximation Algorithms for School Assignment: Group Fairness and Multi-criteria Optimization

Santhini K. A Indian Institute of Technology, Madras
{cs18d013,meghana}@cse.iitm.ac.in
Kamesh Munagala Supported by NSF grant CCF-2113798. Duke University
{munagala,govind.s.sankar}@duke.edu
Meghana Nasre Indian Institute of Technology, Madras
{cs18d013,meghana}@cse.iitm.ac.in
Govind S. Sankar11footnotemark: 1 Duke University
{munagala,govind.s.sankar}@duke.edu
Abstract

We consider the problem of assigning students to schools, when students have different utilities for schools and schools have capacity. There are additional group fairness considerations over students that can be captured either by concave objectives, or additional constraints on the groups. We present approximation algorithms for this problem via convex program rounding that achieve various trade-offs between utility violation, capacity violation, and running time. We also show that our techniques easily extend to the setting where there are arbitrary covering constraints on the feasible assignment, capturing multi-criteria and ranking optimization.

1 Introduction

In this paper, we consider a general model of assignment with a group fairness objective or constraints, motivated by school choice. In the school assignment problem, we are required to assign students to schools, subject to: (1) matching every student, (2) respecting the capacities of schools, and (3) being fair on the utilities to a pre-defined set of g𝑔gitalic_g groups of students, which can potentially overlap. These groups could capture demographic features like income, race, etc. Each student has arbitrary cardinal utilities bounded in [0,1]01[0,1][ 0 , 1 ] over schools, and the group fairness could either be captured in the objective defined over the utilities obtained by each group, or as a set of constraints capturing the same.

Our main contribution is a set of approximation algorithms for this problem. For arbitrary fairness objectives, we present two algorithms based on rounding a natural convex programming relaxation, which yield somewhat different guarantees:

  • A polynomial time algorithm where each group achieves at least as much utility as in the relaxation. However, school v𝑣vitalic_v’s capacity is violated by 1+δv1subscript𝛿𝑣1+\delta_{v}1 + italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT, where vδv2gsubscript𝑣subscript𝛿𝑣2𝑔\sum_{v}\delta_{v}\leq 2g∑ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ≤ 2 italic_g. This algorithm is a careful adaptation of the rounding algorithm in [7].

  • A nO(g)superscript𝑛𝑂𝑔n^{O(g)}italic_n start_POSTSUPERSCRIPT italic_O ( italic_g ) end_POSTSUPERSCRIPT time algorithm where each group receives at least its utility in the relaxation, while each school v𝑣vitalic_v’s capacity is violated by δvsubscript𝛿𝑣\delta_{v}italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT, where vδv=O(g2)subscript𝑣subscript𝛿𝑣𝑂superscript𝑔2\sum_{v}\delta_{v}=O(g^{2})∑ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT = italic_O ( italic_g start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).

For practical school choice scenarios [1], the number of students significantly outweigh the number of available schools, while the number of groups g𝑔gitalic_g is typically small, even constant. The above violations are therefore quite mild.

General Covering Constraints.

We subsequently present an extension of our framework to handle assignments with more general covering constraints. As one application, suppose the utility of a student for a school is multi-dimensional, capturing aspects like academic excellence, or location, or diversity of student body. The goal is to achieve at least a certain total utility value in each dimension. Such multi-objective optimization can be modeled using covering constraints.

As another application, we study the assignment with ranks problem first considered in [6]. Here, each student ordinally ranks the schools with possible ties. An input signature ρ𝜌\vec{\rho}over→ start_ARG italic_ρ end_ARG of length r𝑟ritalic_r, the goal is to find an assignment where the number of students who are assigned their first k𝑘kitalic_k choices (for all kr𝑘𝑟k\leq ritalic_k ≤ italic_r) is at least j=1kρjsuperscriptsubscript𝑗1𝑘subscript𝜌𝑗\sum_{j=1}^{k}\rho_{j}∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. Using the same ideas as before, we give a polynomial time algorithm that finds such a matching, while violating the capacity of school v𝑣vitalic_v by 1+δv1subscript𝛿𝑣1+\delta_{v}1 + italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT, where vδv2rsubscript𝑣subscript𝛿𝑣2𝑟\sum_{v}\delta_{v}\leq 2r∑ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ≤ 2 italic_r. We also give a O(nO(r))𝑂superscript𝑛𝑂𝑟O(n^{O(r)})italic_O ( italic_n start_POSTSUPERSCRIPT italic_O ( italic_r ) end_POSTSUPERSCRIPT ) time algorithm that finds such a matching, while violating the capacity of school v𝑣vitalic_v by δvsubscript𝛿𝑣\delta_{v}italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT, where vδv=O(r2)subscript𝑣subscript𝛿𝑣𝑂superscript𝑟2\sum_{v}\delta_{v}=O(r^{2})∑ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT = italic_O ( italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ). In comparison to the algorithm in [6] that runs in time nO(r2)superscript𝑛𝑂superscript𝑟2n^{O(r^{2})}italic_n start_POSTSUPERSCRIPT italic_O ( italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) end_POSTSUPERSCRIPT and uses multivariate polynomial interpolation, our algorithms present substantial improvements in both runtime and ease of implementation at the cost of a small capacity violation, when students are given a small choice r𝑟ritalic_r of ranks.

1.1 Related Work and Techniques

GAP Rounding.

Our algorithm uses LP rounding, and borrows ideas from the semimal Generalized Assignment Problem (GAP) rounding technique of Lenstra, Shmoys, and Tardos [7, 11]. Their iterative rounding procedure involves the observation that the number of fractional variables in a vertex solution to a linear programming relaxation is bounded. We build on this idea and apply it to a linear program written on paths and cycles instead of assignments, enabling us to combine it with recent methods for finding proportional allocations mentioned below.

In addition to GAP rounding, closely related rounding techniques include that for the bounded degree minimum spanning tree problem [4, 12], which outputs a spanning tree whose cost is at most the optimal solution and whose degree constraints are violated by small additive constants.

School Assignment and Matching.

The school assignment problem as formulated above was first considered recently in Procaccia, Robinson, and Tucker-Foltz [10]. This work only considers the objective of proportionality — in the assignment, each of the g𝑔gitalic_g groups is required to achieve at least 1/g1𝑔1/g1 / italic_g fraction of the utility it could have achieved had it been the only group in the system. They present an algorithm (not based on rounding) tailored to proportionality by applying a theorem of Stromquist and Woodall [14], which they call “cake frosting”. The theorem in [14] is a consequence of the celebrated ham-sandwich theorem [13], and is hence non-constructive. Using this technique, the algorithm for proportional school choice in [10] loses an additive O(glogg)𝑂𝑔𝑔O(g\log g)italic_O ( italic_g roman_log italic_g ) on utilities (hence achieving approximate proportionality), in addition to violating the total capacity by O(glogg)𝑂𝑔𝑔O(g\log g)italic_O ( italic_g roman_log italic_g ). In contrast, we use convex programming relaxation to handle arbitrary fairness objectives, for instance, proportional fairness, Pareto-optimality, and leximin fairness, hence vastly generalizing the space of objectives. Our method only loses O(g2)𝑂superscript𝑔2O(g^{2})italic_O ( italic_g start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) on the total capacity, while preserving utilities from the fractional relaxation. For instance, our method would achieve exact proportionality.

At a high level, our main technical contribution is to show how the cake frosting method can be applied to certain types of fractional solutions, in particular, a vertex solution constructed via GAP rounding of the convex programming relaxation. We hence showcase the full power of the technique in [14]. In addition, as discussed above, our techniques extend smoothly to handle arbitrary covering constraints on the allocations, which is motivated by multi-objective optimization and rank optimization.

We note that the idea of using cake frosting to round fractional solutions has appeared before for packing problems in Grandoni et al. [5], where the authors develop a PTAS for matchings in general graphs with O(1)𝑂1O(1)italic_O ( 1 ) budget constraints on the set of chosen edges. At a high level, all these approaches – the ones in [10, 5] and our work – apply cake frosting to decompose paths and cycles to approximately preserve constraints, but differ in the details of how the paths and cycles are constructed from the integer or fractional solutions. For instance, in contrast to [10] that defines the frosting function based on schools, we define it based on students, hence avoiding an additive violation on the utility. Further, since [5] consider packing problems, their reduction to cake frosting is entirely different in the technical details.

Matching with Violations.

Recently, several papers have considered assignment problems with small capacity violations. These papers mostly fall into two categories - those that try to directly optimize the capacity violations in some form while achieving a set goal like stability or perfectness [2, 3, 6] and those that optimize some other objective like fairness with provably small capacity violations [5, 9, 10]. Our model falls in the latter category – we want to find a matching that satisfies some notion of fairness, while violating capacities by as little as possible.

1.2 Roadmap

We present the group fairness problem in school choice, along with the statement of our main result (Theorem 1) in Section 2. We present the two approximation algorithms that prove Theorem 1 in Section 3. We generalize the model to covering constraints in Section 4, specializing it to the ranking problem mentioned above in Section 4.3.

2 Preliminaries and Main Result

We first present the school redistricting problem introduced in [10]. There is a set S𝑆Sitalic_S of n𝑛nitalic_n students divided into g𝑔gitalic_g possibly overlap** groups sets S1,S2,,Sgsubscript𝑆1subscript𝑆2subscript𝑆𝑔S_{1},S_{2},\ldots,S_{g}italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_S start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT. There is a set T𝑇Titalic_T of schools, and school j𝑗jitalic_j has capacity Cjsubscript𝐶𝑗C_{j}italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT.

An assignment of students to schools is a feasible solution y𝒫𝑦𝒫\vec{y}\in\mathcal{P}over→ start_ARG italic_y end_ARG ∈ caligraphic_P, where 𝒫𝒫\mathcal{P}caligraphic_P is defined by:

jTyij=1iSiSyijCjjTyij{0,1}iS,jTsubscript𝑗𝑇subscript𝑦𝑖𝑗1for-all𝑖𝑆subscript𝑖𝑆subscript𝑦𝑖𝑗subscript𝐶𝑗for-all𝑗𝑇subscript𝑦𝑖𝑗01formulae-sequencefor-all𝑖𝑆𝑗𝑇\begin{array}[]{rcll}\sum_{j\in T}y_{ij}&=&1&\forall i\in S\\ \sum_{i\in S}y_{ij}&\leq&C_{j}&\forall j\in T\\ y_{ij}&\in&\{0,1\}&\forall i\in S,j\in T\end{array}start_ARRAY start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_j ∈ italic_T end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_CELL start_CELL = end_CELL start_CELL 1 end_CELL start_CELL ∀ italic_i ∈ italic_S end_CELL end_ROW start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_i ∈ italic_S end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_CELL start_CELL ≤ end_CELL start_CELL italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_CELL start_CELL ∀ italic_j ∈ italic_T end_CELL end_ROW start_ROW start_CELL italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_CELL start_CELL ∈ end_CELL start_CELL { 0 , 1 } end_CELL start_CELL ∀ italic_i ∈ italic_S , italic_j ∈ italic_T end_CELL end_ROW end_ARRAY

Utility and Objective.

The utility of assigning student i𝑖iitalic_i to school j𝑗jitalic_j is uij[0,1]subscript𝑢𝑖𝑗01u_{ij}\in[0,1]italic_u start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ∈ [ 0 , 1 ]. Given an assignment y𝒫𝑦𝒫\vec{y}\in\mathcal{P}over→ start_ARG italic_y end_ARG ∈ caligraphic_P, we define the utility of each group Sksubscript𝑆𝑘S_{k}italic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT as

Uk(y)=iSkjuijyij.subscript𝑈𝑘𝑦subscript𝑖subscript𝑆𝑘subscript𝑗subscript𝑢𝑖𝑗subscript𝑦𝑖𝑗U_{k}(\vec{y})=\sum_{i\in S_{k}}\sum_{j}u_{ij}y_{ij}.italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( over→ start_ARG italic_y end_ARG ) = ∑ start_POSTSUBSCRIPT italic_i ∈ italic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT .

Let U=U1,U2,,Ug𝑈subscript𝑈1subscript𝑈2subscript𝑈𝑔\vec{U}=\langle U_{1},U_{2},\ldots,U_{g}\rangleover→ start_ARG italic_U end_ARG = ⟨ italic_U start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_U start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_U start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ⟩. The goal is to find an assignment of each student to a school, in order to maximize some fairness function on the utilities perceived by the g𝑔gitalic_g groups. Let f()𝑓f(\cdot)italic_f ( ⋅ ) be a non-decreasing concave function. Then the goal is to maximize

f(U)=kf(Uk(y)).𝑓𝑈subscript𝑘𝑓subscript𝑈𝑘𝑦f(\vec{U})=\sum_{k}f\left(U_{k}(\vec{y})\right).italic_f ( over→ start_ARG italic_U end_ARG ) = ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_f ( italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( over→ start_ARG italic_y end_ARG ) ) .

As an example, the celebrated proportional fairness objective sets f=log𝑓f=\logitalic_f = roman_log, and the optimal solution Usuperscript𝑈\vec{U^{*}}over→ start_ARG italic_U start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_ARG has the following property: For any other feasible utility vector Usuperscript𝑈\vec{U^{\prime}}over→ start_ARG italic_U start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG:

1gkUkUk1.1𝑔subscript𝑘subscriptsuperscript𝑈𝑘subscriptsuperscript𝑈𝑘1\frac{1}{g}\sum_{k}\frac{U^{\prime}_{k}}{U^{*}_{k}}\leq 1.divide start_ARG 1 end_ARG start_ARG italic_g end_ARG ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT divide start_ARG italic_U start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_ARG start_ARG italic_U start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_ARG ≤ 1 .

Such an allocation is not only proportional to the groups: UkgUksubscriptsuperscript𝑈𝑘𝑔subscriptsuperscript𝑈𝑘U^{\prime}_{k}\leq g\cdot U^{*}_{k}italic_U start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ≤ italic_g ⋅ italic_U start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, but also proportional to various subsets of groups.

2.1 Main Result

Our main result is the following:

Theorem 1.

Let Usuperscript𝑈\vec{U^{*}}over→ start_ARG italic_U start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_ARG be the optimal solution for any concave fairness function. Then, we can compute an assignment y𝒫𝑦𝒫\vec{y}\in\mathcal{P}over→ start_ARG italic_y end_ARG ∈ caligraphic_P that satisfies relaxed school capacities Csuperscript𝐶\vec{C^{\prime}}over→ start_ARG italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG and yields utilities Usuperscript𝑈\vec{U^{\prime}}over→ start_ARG italic_U start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG with UkUksubscriptsuperscript𝑈𝑘subscriptsuperscript𝑈𝑘U^{\prime}_{k}\geq U^{*}_{k}italic_U start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ≥ italic_U start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT for all groups k𝑘kitalic_k, with one of the following guarantees on capacity:

  1. 1.

    A polynomial111Throughout the paper, we use this to mean polynomial in both n,g𝑛𝑔n,gitalic_n , italic_g. time algorithm that yields CjCj+1+δjsubscriptsuperscript𝐶𝑗subscript𝐶𝑗1subscript𝛿𝑗C^{\prime}_{j}\leq C_{j}+1+\delta_{j}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + 1 + italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, where jδj2gsubscript𝑗subscript𝛿𝑗2𝑔\sum_{j}\delta_{j}\leq 2g∑ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ 2 italic_g.

  2. 2.

    A nO(g)superscript𝑛𝑂𝑔n^{O(g)}italic_n start_POSTSUPERSCRIPT italic_O ( italic_g ) end_POSTSUPERSCRIPT running time algorithm that yields CjCj+δjsubscriptsuperscript𝐶𝑗subscript𝐶𝑗subscript𝛿𝑗C^{\prime}_{j}\leq C_{j}+\delta_{j}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT with jδj=O(g2)subscript𝑗subscript𝛿𝑗𝑂superscript𝑔2\sum_{j}\delta_{j}=O(g^{2})∑ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = italic_O ( italic_g start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).

Note that the latter algorithm is slower, but yields better violation of capacities if g|T|much-less-than𝑔𝑇g\ll|T|italic_g ≪ | italic_T |.

2.2 Hardness Results

The hardness results below motivate the need to violate capacities in Theorem 1 if we want to preserve utilities exactly. We first show that the problem under the max-min fairness objective is strongly NP-Hard when the number of groups g𝑔gitalic_g is part of the input.

Theorem 2.

Suppose the number of groups g𝑔gitalic_g is part of the input, and the objective is to decide if the minimum utility received by any group is at least one. Then the school redistricting problem is NP-Complete even when there are only two schools.

Proof.

We reduce from Set Cover with a collection 𝒞𝒞\mathcal{C}caligraphic_C of sets, and a universe U𝑈Uitalic_U of elements. Suppose the goal is to decide if a set cover instance has k𝑘kitalic_k sets that cover U𝑈Uitalic_U. Then each element becomes a group, and each set a student. A student belongs to a group if the corresponding set covers the corresponding element. There are two schools s1subscript𝑠1s_{1}italic_s start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and s2subscript𝑠2s_{2}italic_s start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. The former school has capacity k𝑘kitalic_k and the latter has capacity \infty. Each student has utility 1111 for s1subscript𝑠1s_{1}italic_s start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and 00 for s2subscript𝑠2s_{2}italic_s start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Then the goal of matching k𝑘kitalic_k students to s1subscript𝑠1s_{1}italic_s start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT to give each group utility at least one is exactly the same as finding a set cover of size k𝑘kitalic_k, completing the proof. ∎

We next show that the school redistricting problem under the max-min fairness (or proportionality) objective is weakly NP-Hard even when the number of groups g=2𝑔2g=2italic_g = 2.

Theorem 3.

Suppose the number of groups g=2𝑔2g=2italic_g = 2, and the objective is to decide if an exactly proportional allocation exists. Then the school redistricting problem is weakly NP-Complete.

Proof.

We reduce from Partition. Given a set of numbers x1,..,xnx_{1},..,x_{n}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , . . , italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, the goal is to decide if there is a subset of sum exactly X/2𝑋2X/2italic_X / 2 where X=ixi𝑋subscript𝑖subscript𝑥𝑖X=\sum_{i}x_{i}italic_X = ∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT.

For every number xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, create two students pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and qisubscript𝑞𝑖q_{i}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, and one school Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT of capacity 1. There is also a dummy school S0subscript𝑆0S_{0}italic_S start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT of capacity n𝑛nitalic_n. The students pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and qisubscript𝑞𝑖q_{i}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT have edges only to Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and S0subscript𝑆0S_{0}italic_S start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, where pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and qisubscript𝑞𝑖q_{i}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT have utility xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and 0 for S0subscript𝑆0S_{0}italic_S start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT.

All the pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT students belong to group 1 and all the qisubscript𝑞𝑖q_{i}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT students belong to group 2. We want to find a matching that gives utility X/2𝑋2X/2italic_X / 2 to both groups, which is the proportional share.

Suppose there is a subset T𝑇Titalic_T of the numbers that sums to exactly X/2𝑋2X/2italic_X / 2. Then for every xiTsubscript𝑥𝑖𝑇x_{i}\in Titalic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_T, we assign pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and qisubscript𝑞𝑖q_{i}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to S0subscript𝑆0S_{0}italic_S start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. For every xiTsubscript𝑥𝑖𝑇x_{i}\notin Titalic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∉ italic_T, we assign qisubscript𝑞𝑖q_{i}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to S0subscript𝑆0S_{0}italic_S start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. Both groups get utility X/2𝑋2X/2italic_X / 2 each. The reverse direction is similar, completing the proof. ∎

3 Proof of Theorem 1

In this section, we prove Theorem 1. We begin with a convex programming relaxation to the problem, and then present two rounding schemes that yield the two guarantees in the theorem.

3.1 Convex Program Relaxation

The first step is to write the following convex programming relaxation:

Maximizekf(Uk)Maximizesubscript𝑘𝑓subscript𝑈𝑘\mbox{Maximize}\sum_{k}f(U_{k})Maximize ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_f ( italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT )
iSkjTuijyijUkkjTyij=1iSiSyijCjjTyij0iS,jTUk0 groups ksubscript𝑖subscript𝑆𝑘subscript𝑗𝑇subscript𝑢𝑖𝑗subscript𝑦𝑖𝑗subscript𝑈𝑘for-all𝑘subscript𝑗𝑇subscript𝑦𝑖𝑗1for-all𝑖𝑆subscript𝑖𝑆subscript𝑦𝑖𝑗subscript𝐶𝑗for-all𝑗𝑇subscript𝑦𝑖𝑗0formulae-sequencefor-all𝑖𝑆𝑗𝑇subscript𝑈𝑘0for-all groups 𝑘\begin{array}[]{rcll}\sum_{i\in S_{k}}\sum_{j\in T}u_{ij}y_{ij}&\geq&U_{k}&% \forall k\\ \sum_{j\in T}y_{ij}&=&1&\forall i\in S\\ \sum_{i\in S}y_{ij}&\leq&C_{j}&\forall j\in T\\ y_{ij}&\geq&0&\forall i\in S,j\in T\\ U_{k}&\geq&0&\forall\mbox{ groups }k\end{array}start_ARRAY start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_i ∈ italic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ italic_T end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_CELL start_CELL ≥ end_CELL start_CELL italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_CELL start_CELL ∀ italic_k end_CELL end_ROW start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_j ∈ italic_T end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_CELL start_CELL = end_CELL start_CELL 1 end_CELL start_CELL ∀ italic_i ∈ italic_S end_CELL end_ROW start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_i ∈ italic_S end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_CELL start_CELL ≤ end_CELL start_CELL italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_CELL start_CELL ∀ italic_j ∈ italic_T end_CELL end_ROW start_ROW start_CELL italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_CELL start_CELL ≥ end_CELL start_CELL 0 end_CELL start_CELL ∀ italic_i ∈ italic_S , italic_j ∈ italic_T end_CELL end_ROW start_ROW start_CELL italic_U start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_CELL start_CELL ≥ end_CELL start_CELL 0 end_CELL start_CELL ∀ groups italic_k end_CELL end_ROW end_ARRAY

This can clearly be solved in polynomial time. Let the optimal solution to the convex program yield utility vector Usuperscript𝑈\vec{U^{*}}over→ start_ARG italic_U start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_ARG. We now need to round the following set of constraints, so that the {yij}subscript𝑦𝑖𝑗\{y_{ij}\}{ italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT } values are integer. Denote this formulation as (LP1).

iSkjTuijyijUkkjTyij=1iSiSyijCjjTyij0iS,jTsubscript𝑖subscript𝑆𝑘subscript𝑗𝑇subscript𝑢𝑖𝑗subscript𝑦𝑖𝑗subscriptsuperscript𝑈𝑘for-all𝑘subscript𝑗𝑇subscript𝑦𝑖𝑗1for-all𝑖𝑆subscript𝑖𝑆subscript𝑦𝑖𝑗subscript𝐶𝑗for-all𝑗𝑇subscript𝑦𝑖𝑗0formulae-sequencefor-all𝑖𝑆𝑗𝑇\begin{array}[]{rcll}\sum_{i\in S_{k}}\sum_{j\in T}u_{ij}y_{ij}&\geq&U^{*}_{k}% &\forall k\\ \sum_{j\in T}y_{ij}&=&1&\forall i\in S\\ \sum_{i\in S}y_{ij}&\leq&C_{j}&\forall j\in T\\ y_{ij}&\geq&0&\forall i\in S,j\in T\end{array}start_ARRAY start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_i ∈ italic_S start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ italic_T end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_CELL start_CELL ≥ end_CELL start_CELL italic_U start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_CELL start_CELL ∀ italic_k end_CELL end_ROW start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_j ∈ italic_T end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_CELL start_CELL = end_CELL start_CELL 1 end_CELL start_CELL ∀ italic_i ∈ italic_S end_CELL end_ROW start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_i ∈ italic_S end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_CELL start_CELL ≤ end_CELL start_CELL italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_CELL start_CELL ∀ italic_j ∈ italic_T end_CELL end_ROW start_ROW start_CELL italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_CELL start_CELL ≥ end_CELL start_CELL 0 end_CELL start_CELL ∀ italic_i ∈ italic_S , italic_j ∈ italic_T end_CELL end_ROW end_ARRAY

We now present two rounding algorithms that yields the corresponding guarantees in Theorem 1.

3.2 Generalized Assignment Rounding

The first rounding algorithm is similar to rounding for generalized assignment (GAP) [7, 11], and is presented in Algorithm 1. We remark that the iterative procedure from Step 1-6 is not necessary; the same can be achieved with a single LP solution. We present it this way for ease of exposition. We show that it achieves the following guarantee, yielding the first part of Theorem 1.

Theorem 4.

Algorithm 1 runs in polynomial time and finds an integer solution y𝒫𝑦𝒫\vec{y}\in\mathcal{P}over→ start_ARG italic_y end_ARG ∈ caligraphic_P that satisfies relaxed school capacities Csuperscript𝐶\vec{C^{\prime}}over→ start_ARG italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG and yields utilities Usuperscript𝑈\vec{U^{\prime}}over→ start_ARG italic_U start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG, where

  1. 1.

    UkUksubscriptsuperscript𝑈𝑘subscriptsuperscript𝑈𝑘U^{\prime}_{k}\geq U^{*}_{k}italic_U start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ≥ italic_U start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT for all groups k𝑘kitalic_k, and

  2. 2.

    CjCj+1+δjsubscriptsuperscript𝐶𝑗subscript𝐶𝑗1subscript𝛿𝑗C^{\prime}_{j}\leq C_{j}+1+\delta_{j}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + 1 + italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, where jδj2gsubscript𝑗subscript𝛿𝑗2𝑔\sum_{j}\delta_{j}\leq 2g∑ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ 2 italic_g.

Algorithm 1 GAP Rounding
1:repeat
2:     Obtain a vertex solution y𝑦\vec{y}over→ start_ARG italic_y end_ARG to (LP1).
3:     for all yij=b{0,1}subscript𝑦𝑖𝑗𝑏01y_{ij}=b\in\{0,1\}italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = italic_b ∈ { 0 , 1 } do
4:         Fix yij=bsubscript𝑦𝑖𝑗𝑏y_{ij}=bitalic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = italic_b and remove this variable from (LP1), updating the constraints as needed.
5:     end for
6:until (LP1) is not modified.
7:For each remaining student i𝑖iitalic_i (these have degree more than 1111), assign this student to argmaxj{uij|yij>0}subscriptargmax𝑗conditional-setsubscript𝑢𝑖𝑗subscript𝑦𝑖𝑗0\mbox{argmax}_{j}\{u_{ij}|y_{ij}>0\}argmax start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT { italic_u start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT | italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT > 0 }.
Proof of Theorem 4..

We denote the number of incident edges with yij>0subscript𝑦𝑖𝑗0y_{ij}>0italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT > 0 as the “degree” of a vertex. First note that since each student i𝑖iitalic_i is assigned to argmaxj{uij|yij>0}subscriptargmax𝑗conditional-setsubscript𝑢𝑖𝑗subscript𝑦𝑖𝑗0\mbox{argmax}_{j}\{u_{ij}|y_{ij}>0\}argmax start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT { italic_u start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT | italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT > 0 }, the utility in the integer solution is at least that in (LP1).

We now argue the capacity violation. We note that Step 4 cannot violate any capacities, since y𝑦\vec{y}over→ start_ARG italic_y end_ARG was feasible for (LP1). Thus, it only remains to argue that Step 7 does not incur too many capacity violations. Let E𝐸Eitalic_E be the set of remaining edges with yij(0,1)subscript𝑦𝑖𝑗01y_{ij}\in(0,1)italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ∈ ( 0 , 1 ). Since y𝑦\vec{y}over→ start_ARG italic_y end_ARG was an extreme point solution to (LP1), |E|𝐸|E|| italic_E | constraints of (LP1) must be tight.

At the beginning of Step 7, let Tsuperscript𝑇T^{\prime}italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the set of remaining schools and among these, let T^^𝑇\hat{T}over^ start_ARG italic_T end_ARG be those whose capacity constraints are tight. Let Ssuperscript𝑆S^{\prime}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the set of remaining students. Note that each student has a tight constraint associated with it. Suppose gsuperscript𝑔g^{\prime}italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT of the g𝑔gitalic_g constraints corresponding to the groups are tight. Since we have a vertex solution,

2|E|=2(|S|+|T^|+g)2𝐸2superscript𝑆^𝑇superscript𝑔\displaystyle 2|E|=2(|S^{\prime}|+|\hat{T}|+g^{\prime})2 | italic_E | = 2 ( | italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT | + | over^ start_ARG italic_T end_ARG | + italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) (1)

From the Handshaking lemma, we also have

vTT^deg(v)+vST^deg(v)=2|E|.subscript𝑣superscript𝑇^𝑇deg𝑣subscript𝑣superscript𝑆^𝑇deg𝑣2𝐸\displaystyle\sum_{v\in T^{\prime}\setminus\hat{T}}\mathrm{deg}(v)+\sum_{v\in S% ^{\prime}\cup\hat{T}}\mathrm{deg}(v)=2|E|.∑ start_POSTSUBSCRIPT italic_v ∈ italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∖ over^ start_ARG italic_T end_ARG end_POSTSUBSCRIPT roman_deg ( italic_v ) + ∑ start_POSTSUBSCRIPT italic_v ∈ italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ over^ start_ARG italic_T end_ARG end_POSTSUBSCRIPT roman_deg ( italic_v ) = 2 | italic_E | .
Combining this with Eq. 1, we have
vTT^deg(v)+vST^deg(v)2|S|2|T^|subscript𝑣superscript𝑇^𝑇deg𝑣subscript𝑣superscript𝑆^𝑇deg𝑣2superscript𝑆2^𝑇\displaystyle\sum_{v\in T^{\prime}\setminus\hat{T}}\mathrm{deg}(v)+\sum_{v\in S% ^{\prime}\cup\hat{T}}\mathrm{deg}(v)-2|S^{\prime}|-2|\hat{T}|∑ start_POSTSUBSCRIPT italic_v ∈ italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∖ over^ start_ARG italic_T end_ARG end_POSTSUBSCRIPT roman_deg ( italic_v ) + ∑ start_POSTSUBSCRIPT italic_v ∈ italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ over^ start_ARG italic_T end_ARG end_POSTSUBSCRIPT roman_deg ( italic_v ) - 2 | italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT | - 2 | over^ start_ARG italic_T end_ARG | =2g2gabsent2superscript𝑔2𝑔\displaystyle=2g^{\prime}\leq 2g= 2 italic_g start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≤ 2 italic_g
vTT^deg(v)+vST^(deg(v)2)absentsubscript𝑣superscript𝑇^𝑇deg𝑣subscript𝑣superscript𝑆^𝑇deg𝑣2\displaystyle\implies\sum_{v\in T^{\prime}\setminus\hat{T}}\mathrm{deg}(v)+% \sum_{v\in S^{\prime}\cup\hat{T}}(\mathrm{deg}(v)-2)⟹ ∑ start_POSTSUBSCRIPT italic_v ∈ italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∖ over^ start_ARG italic_T end_ARG end_POSTSUBSCRIPT roman_deg ( italic_v ) + ∑ start_POSTSUBSCRIPT italic_v ∈ italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ over^ start_ARG italic_T end_ARG end_POSTSUBSCRIPT ( roman_deg ( italic_v ) - 2 ) 2gabsent2𝑔\displaystyle\leq 2g≤ 2 italic_g

We know that each school in T^^𝑇\hat{T}over^ start_ARG italic_T end_ARG has degree at least 2, since the capacity is an integer, and all assignment variables are strict fractions. Similarly, each student in Ssuperscript𝑆S^{\prime}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT has degree at least 2222. Therefore, every term in the above summation is non-negative. Let school vT^𝑣^𝑇v\in\hat{T}italic_v ∈ over^ start_ARG italic_T end_ARG and student iS𝑖superscript𝑆i\in S^{\prime}italic_i ∈ italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT have degree 2+δv2subscript𝛿𝑣2+\delta_{v}2 + italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT, while school vTT^𝑣superscript𝑇^𝑇v\in T^{\prime}\setminus\hat{T}italic_v ∈ italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∖ over^ start_ARG italic_T end_ARG have degree δvsubscript𝛿𝑣\delta_{v}italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. We will refer to these δvsubscript𝛿𝑣\delta_{v}italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT terms as the excess degrees. Then the above implies

vTSδv2g.subscript𝑣superscript𝑇superscript𝑆subscript𝛿𝑣2𝑔\sum_{v\in T^{\prime}\cup S^{\prime}}\delta_{v}\leq 2g.∑ start_POSTSUBSCRIPT italic_v ∈ italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∪ italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ≤ 2 italic_g . (2)

To bound the capacity violation in 7, we just observe that

  • If a school in T^^𝑇\hat{T}over^ start_ARG italic_T end_ARG had degree 2, then it must have had capacity at least 1, and in the worst case, both students with edges to it will match to it. This leads to a violation of 1 in this school’s capacity.

  • For any other school vT^𝑣^𝑇v\in\hat{T}italic_v ∈ over^ start_ARG italic_T end_ARG, it again has capacity at least 1 and has 2+δv2subscript𝛿𝑣2+\delta_{v}2 + italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT students applying to it. In the worst case, this leads to a capacity violation of at most 1+δv1subscript𝛿𝑣1+\delta_{v}1 + italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT.

  • For schools vTT^𝑣superscript𝑇^𝑇v\in T^{\prime}\setminus\hat{T}italic_v ∈ italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∖ over^ start_ARG italic_T end_ARG, since the degree is δvsubscript𝛿𝑣\delta_{v}italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT, this leads to a violation of at most δvsubscript𝛿𝑣\delta_{v}italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT.

In total, this leads to a violation of 1 per school and the excess degrees vδvsubscript𝑣subscript𝛿𝑣\sum_{v}\delta_{v}∑ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT italic_δ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT lead to an additional 2g2𝑔2g2 italic_g violation overall. This completes the proof. ∎

3.3 Improved Capacity Violation via Cake Cutting

In this part, we show the following theorem, corresponding to the second part of Theorem 1. The main advantage is that we don’t need extra capacity at each school, albeit at the expense of a worse running time.

Theorem 5.

There is a nO(g)superscript𝑛𝑂𝑔n^{O(g)}italic_n start_POSTSUPERSCRIPT italic_O ( italic_g ) end_POSTSUPERSCRIPT time algorithm that computes an integer assignment y𝒫𝑦𝒫\vec{y}\in\mathcal{P}over→ start_ARG italic_y end_ARG ∈ caligraphic_P that satisfies relaxed school capacities Csuperscript𝐶\vec{C^{\prime}}over→ start_ARG italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG and yields utilities Usuperscript𝑈\vec{U^{\prime}}over→ start_ARG italic_U start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG, such that:

  1. 1.

    UkUksubscriptsuperscript𝑈𝑘subscriptsuperscript𝑈𝑘U^{\prime}_{k}\geq U^{*}_{k}italic_U start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ≥ italic_U start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT for all groups k𝑘kitalic_k; and

  2. 2.

    CjCj+δjsubscriptsuperscript𝐶𝑗subscript𝐶𝑗subscript𝛿𝑗C^{\prime}_{j}\leq C_{j}+\delta_{j}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT with jδj=O(g2)subscript𝑗subscript𝛿𝑗𝑂superscript𝑔2\sum_{j}\delta_{j}=O(g^{2})∑ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = italic_O ( italic_g start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).

We prove the above theorem by replace Step 7 in Algorithm 1 with a more involved cake cutting process, building on the work of [10].

Paths and Cycles.

Let G𝐺Gitalic_G be the graph at the beginning of Step 7 in Algorithm 1. Recall that the maximum degree in G𝐺Gitalic_G was 2, save for some vertices with excess degrees in Eq. 2. We will process the graph into a graph of maximum degree 2, with some additional properties, in Algorithm 2.

Algorithm 2 Graph Modification
1:for each student i𝑖iitalic_i with degree strictly more than 2222 do
2:     Add a capacity of one to j=argmaxj{uij|yij>0}superscript𝑗subscriptargmax𝑗conditional-setsubscript𝑢𝑖𝑗subscript𝑦𝑖𝑗0j^{*}=\mbox{argmax}_{j}\{u_{ij}|y_{ij}>0\}italic_j start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = argmax start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT { italic_u start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT | italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT > 0 }.
3:     Fix yij=1subscript𝑦𝑖superscript𝑗1y_{ij^{*}}=1italic_y start_POSTSUBSCRIPT italic_i italic_j start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = 1 and remove this student.
4:     Decrease the capacity of jsuperscript𝑗j^{*}italic_j start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT correspondingly.
5:end for
6:S1={j|jT^,degree(j)>2}subscript𝑆1conditional-set𝑗formulae-sequence𝑗^𝑇degree𝑗2S_{1}=\{j|j\in\hat{T},\mbox{degree}(j)>2\}italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = { italic_j | italic_j ∈ over^ start_ARG italic_T end_ARG , degree ( italic_j ) > 2 }.
7:S2={j|jT^,degree(j)=2,Cj=2}subscript𝑆2conditional-set𝑗formulae-sequence𝑗^𝑇formulae-sequencedegree𝑗2subscript𝐶𝑗2S_{2}=\{j|j\in\hat{T},\mbox{degree}(j)=2,C_{j}=2\}italic_S start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = { italic_j | italic_j ∈ over^ start_ARG italic_T end_ARG , degree ( italic_j ) = 2 , italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 2 }.
8:for each school jS1S2(TT^)𝑗subscript𝑆1subscript𝑆2superscript𝑇^𝑇j\in S_{1}\cup S_{2}\cup(T^{\prime}\setminus\hat{T})italic_j ∈ italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∪ italic_S start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∪ ( italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∖ over^ start_ARG italic_T end_ARG ) do
9:     d=degree(j)𝑑degree𝑗d=\mbox{degree}(j)italic_d = degree ( italic_j ).
10:     Create d𝑑ditalic_d copies of j𝑗jitalic_j, each with capacity one.
11:     Assign (add an edge from) each i𝑖iitalic_i with yij>0subscript𝑦𝑖𝑗0y_{ij}>0italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT > 0 to a distinct copy of j𝑗jitalic_j.
12:     \triangleright Each new school has degree one.
13:end for
14:If a school has degree one, reduce its capacity to one.

At the end of the process, let G(V,E)𝐺𝑉𝐸G(V,E)italic_G ( italic_V , italic_E ) be the resulting graph on fractional edges. Any vertex has degree at most two, and hence we get a graph with the following structure:

  • Every connected component is a path or a cycle.

  • Every student has degree exactly two, and is an internal node of a path or cycle.

  • Every school jT𝑗superscript𝑇j\in T^{\prime}italic_j ∈ italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT has capacity one and degree at most two.

  • School jTT^𝑗superscript𝑇^𝑇j\in T^{\prime}\setminus\hat{T}italic_j ∈ italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∖ over^ start_ARG italic_T end_ARG has degree one and capacity one, and is therefore a leaf of a path.

Lemma 6.

Algorithm 2 violates the total capacity by an additional 4g4𝑔4g4 italic_g.

Proof.

For jS1𝑗subscript𝑆1j\in S_{1}italic_j ∈ italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, let degree(j)=2+δj>2degree𝑗2subscript𝛿𝑗2\mbox{degree}(j)=2+\delta_{j}>2degree ( italic_j ) = 2 + italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT > 2, implying δj1subscript𝛿𝑗1\delta_{j}\geq 1italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≥ 1. We increase the capacity by 1+δj2δj1subscript𝛿𝑗2subscript𝛿𝑗1+\delta_{j}\leq 2\delta_{j}1 + italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ 2 italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. For jS2𝑗subscript𝑆2j\in S_{2}italic_j ∈ italic_S start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, the new capacity is the same as the original capacity. For jTT^𝑗superscript𝑇^𝑇j\in T^{\prime}\setminus\hat{T}italic_j ∈ italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∖ over^ start_ARG italic_T end_ARG, suppose degree(j)=δjdegree𝑗subscript𝛿𝑗\mbox{degree}(j)=\delta_{j}degree ( italic_j ) = italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, then we increase the capacity by δjsubscript𝛿𝑗\delta_{j}italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. By Eq. 2, the total increase is therefore at most 4g4𝑔4g4 italic_g. ∎

In the graph G𝐺Gitalic_G, suppose e=(i,j)𝑒𝑖𝑗e=(i,j)italic_e = ( italic_i , italic_j ); then we denote xe=yijsubscript𝑥𝑒subscript𝑦𝑖𝑗x_{e}=y_{ij}italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT. This graph is a collection of paths and cycles. For non-leaf school or student v𝑣vitalic_v, the above conditions imply xe1+xe2=1subscript𝑥subscript𝑒1subscript𝑥subscript𝑒21x_{e_{1}}+x_{e_{2}}=1italic_x start_POSTSUBSCRIPT italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = 1 if the two edges incident on v𝑣vitalic_v are e1subscript𝑒1e_{1}italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and e2subscript𝑒2e_{2}italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. This follows because a degree-two school must belong to T^^𝑇\hat{T}over^ start_ARG italic_T end_ARG and corresponds to a tight constraint, and any student is associated with a tight constraint. This implies the following claim:

Claim 7.

For every component (path or cycle) C𝐶Citalic_C of G𝐺Gitalic_G, there is some α(0,1)𝛼01\alpha\in(0,1)italic_α ∈ ( 0 , 1 ) such that every even edge e𝑒eitalic_e in the component has xe=αsubscript𝑥𝑒𝛼x_{e}=\alphaitalic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = italic_α and every odd edge has xe=1αsubscript𝑥𝑒1𝛼x_{e}=1-\alphaitalic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 1 - italic_α.

Bounding the number of fractional components.

We view this fractional solution in the following way. For a component C𝐶Citalic_C, set zC=αsubscript𝑧𝐶𝛼z_{C}=\alphaitalic_z start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT = italic_α if xe=αsubscript𝑥𝑒𝛼x_{e}=\alphaitalic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = italic_α for every even edge. Let uCeven(i)superscriptsubscript𝑢𝐶𝑒𝑣𝑒𝑛𝑖u_{C}^{even}(i)italic_u start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_e italic_v italic_e italic_n end_POSTSUPERSCRIPT ( italic_i ) be the utility that group i𝑖iitalic_i gets in the assignment that selects all even edges (and none of the odd edges) of component C𝐶Citalic_C. Let uCodd()superscriptsubscript𝑢𝐶𝑜𝑑𝑑u_{C}^{odd}(\ell)italic_u start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_o italic_d italic_d end_POSTSUPERSCRIPT ( roman_ℓ ) be the utility that group \ellroman_ℓ gets in the assignment that selects all odd edges of component C𝐶Citalic_C. We modify (LP1) to the following, where U^subscriptsuperscript^𝑈\hat{U}^{*}_{\ell}over^ start_ARG italic_U end_ARG start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT is the modified utility after removing all the integral variables.

CzCuCeven()+(1zC)uCodd()U^ groups zC[0,1] components Csubscript𝐶subscript𝑧𝐶superscriptsubscript𝑢𝐶𝑒𝑣𝑒𝑛1subscript𝑧𝐶superscriptsubscript𝑢𝐶𝑜𝑑𝑑subscriptsuperscript^𝑈for-all groups subscript𝑧𝐶01for-all components 𝐶\begin{array}[]{rcll}\sum_{C}z_{C}\cdot u_{C}^{even}(\ell)+(1-z_{C})\cdot u_{C% }^{odd}(\ell)&\geq&\hat{U}^{*}_{\ell}&\forall\mbox{ groups }\ell\\ z_{C}&\in&[0,1]&\forall\mbox{ components }C\end{array}start_ARRAY start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT italic_z start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT ⋅ italic_u start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_e italic_v italic_e italic_n end_POSTSUPERSCRIPT ( roman_ℓ ) + ( 1 - italic_z start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT ) ⋅ italic_u start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_o italic_d italic_d end_POSTSUPERSCRIPT ( roman_ℓ ) end_CELL start_CELL ≥ end_CELL start_CELL over^ start_ARG italic_U end_ARG start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT end_CELL start_CELL ∀ groups roman_ℓ end_CELL end_ROW start_ROW start_CELL italic_z start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT end_CELL start_CELL ∈ end_CELL start_CELL [ 0 , 1 ] end_CELL start_CELL ∀ components italic_C end_CELL end_ROW end_ARRAY

Let s𝑠sitalic_s denote the number of variables. In any extreme point solution, at least sg𝑠𝑔s-gitalic_s - italic_g of the constraints zC[0,1]subscript𝑧𝐶01z_{C}\in[0,1]italic_z start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT ∈ [ 0 , 1 ] are tight, which means at most g𝑔gitalic_g of the zCsubscript𝑧𝐶z_{C}italic_z start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT variables can be fractional, in (0,1)01(0,1)( 0 , 1 ). For all integral zCsubscript𝑧𝐶z_{C}italic_z start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT, we select the even matching if zC=1subscript𝑧𝐶1z_{C}=1italic_z start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT = 1 or the odd matching if zC=0subscript𝑧𝐶0z_{C}=0italic_z start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT = 0. Remove these variables and rewrite the above LP just on the fractional variables.

Algorithm 3 Cake Frosting Rounding
1:for every student i𝑖iitalic_i do
2:     if [i1r,ir)X𝑖1𝑟𝑖𝑟𝑋[\frac{i-1}{r},\frac{i}{r})\subseteq X[ divide start_ARG italic_i - 1 end_ARG start_ARG italic_r end_ARG , divide start_ARG italic_i end_ARG start_ARG italic_r end_ARG ) ⊆ italic_X then
3:         Choose the edge from the even matching for student i𝑖iitalic_i, and include i𝑖iitalic_i in set T1subscript𝑇1T_{1}italic_T start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT.
4:     else if [i1r,ir)[0,1]X𝑖1𝑟𝑖𝑟01𝑋[\frac{i-1}{r},\frac{i}{r})\subseteq[0,1]\setminus X[ divide start_ARG italic_i - 1 end_ARG start_ARG italic_r end_ARG , divide start_ARG italic_i end_ARG start_ARG italic_r end_ARG ) ⊆ [ 0 , 1 ] ∖ italic_X then
5:         Choose the edge from the odd matching for student i𝑖iitalic_i and include i𝑖iitalic_i in set T2subscript𝑇2T_{2}italic_T start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT.
6:     else
7:         Assign i𝑖iitalic_i to argmaxj{uij,yij>0}subscriptargmaxsuperscript𝑗subscript𝑢𝑖superscript𝑗subscript𝑦𝑖superscript𝑗0\mbox{argmax}_{j^{\prime}}\{u_{ij^{\prime}},y_{ij^{\prime}}>0\}argmax start_POSTSUBSCRIPT italic_j start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT { italic_u start_POSTSUBSCRIPT italic_i italic_j start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_i italic_j start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT > 0 }.
8:     end if
9:end for

Reduction to Cake Frosting.

For the g𝑔gitalic_g components with fractional zCsubscript𝑧𝐶z_{C}italic_z start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT, we need to find an integral solution that approximately preserves the utilities. This would be achieved if we could ‘interpolate’ zCsubscript𝑧𝐶z_{C}italic_z start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT fraction of the way from the odd matching to the even matching. We can view this as a cake-frosting problem as in [10] where the g𝑔gitalic_g groups are the players. First, we convert each cycle into a path as follows: Pick some student i𝑖iitalic_i on this cycle, assign i𝑖iitalic_i to argmaxj{uij|yij>0}subscriptargmax𝑗conditional-setsubscript𝑢𝑖𝑗subscript𝑦𝑖𝑗0\mbox{argmax}_{j}\{u_{ij}|y_{ij}>0\}argmax start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT { italic_u start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT | italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT > 0 }, and delete this student. This step increases the capacity of at most g𝑔gitalic_g schools by one, and reduces each cycle to a path that begins and ends at a school.

Before proceeding, we recall the “cake frosting” lemma first presented in [14] and generalized in [5, 10].

Lemma 8 (Cake Frosting Lemma).

Given g𝑔gitalic_g piecewise constant functions f,=1,2,,gformulae-sequencesubscript𝑓12𝑔f_{\ell},\ell=1,2,\ldots,gitalic_f start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT , roman_ℓ = 1 , 2 , … , italic_g with domain [0,1]01[0,1][ 0 , 1 ], and given any α(0,1)𝛼01\alpha\in(0,1)italic_α ∈ ( 0 , 1 ), there is a ‘perfect frosting’ X[0,1]𝑋01X\subseteq[0,1]italic_X ⊆ [ 0 , 1 ] written as a union of at most 2g12𝑔12g-12 italic_g - 1 intervals such that for all \ellroman_ℓ:

Xf(x)𝑑x=α01f(x)𝑑x.subscript𝑋subscript𝑓𝑥differential-d𝑥𝛼superscriptsubscript01subscript𝑓𝑥differential-d𝑥\int_{X}f_{\ell}(x)dx=\alpha\cdot\int_{0}^{1}f_{\ell}(x)dx.∫ start_POSTSUBSCRIPT italic_X end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT ( italic_x ) italic_d italic_x = italic_α ⋅ ∫ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT italic_f start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT ( italic_x ) italic_d italic_x .

We now show how to apply the above lemma in a fashion similar to [10, 5]. Fix a path C𝐶Citalic_C. Let zC=αsubscript𝑧𝐶𝛼z_{C}=\alphaitalic_z start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT = italic_α. Let there be r𝑟ritalic_r students in C𝐶Citalic_C, indexed from 1111 to r𝑟ritalic_r. We divide the interval [0,1]01[0,1][ 0 , 1 ] into r𝑟ritalic_r parts where [i1r,ir)𝑖1𝑟𝑖𝑟[\frac{i-1}{r},\frac{i}{r})[ divide start_ARG italic_i - 1 end_ARG start_ARG italic_r end_ARG , divide start_ARG italic_i end_ARG start_ARG italic_r end_ARG ) belongs to the ithsuperscript𝑖𝑡i^{th}italic_i start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT student.222This is in contrast to the method in [10], which defines intervals based on schools. Define for every group \ellroman_ℓ,

ueven(,i)={uij if the even matching assigns student i school j and student i is in group 0 Otherwisesubscript𝑢𝑒𝑣𝑒𝑛𝑖casessubscript𝑢𝑖𝑗 if the even matching assigns student i school j and student i is in group 0 Otherwise\displaystyle u_{even}(\ell,i)=\begin{cases}u_{ij}&\mbox{ if the even matching% assigns student $i$ school $j$ and student $i$ is in group $\ell$}\\ 0&\mbox{ Otherwise}\end{cases}italic_u start_POSTSUBSCRIPT italic_e italic_v italic_e italic_n end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) = { start_ROW start_CELL italic_u start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_CELL start_CELL if the even matching assigns student italic_i school italic_j and student italic_i is in group roman_ℓ end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL Otherwise end_CELL end_ROW
uodd(,i)={uij if the odd matching assigns student i school j and student i is in group 0 Otherwisesubscript𝑢𝑜𝑑𝑑𝑖casessubscript𝑢𝑖𝑗 if the odd matching assigns student i school j and student i is in group 0 Otherwise\displaystyle u_{odd}(\ell,i)=\begin{cases}u_{ij}&\mbox{ if the odd matching % assigns student $i$ school $j$ and student $i$ is in group $\ell$}\\ 0&\mbox{ Otherwise}\end{cases}italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) = { start_ROW start_CELL italic_u start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_CELL start_CELL if the odd matching assigns student italic_i school italic_j and student italic_i is in group roman_ℓ end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL Otherwise end_CELL end_ROW

For x[i1r,ir)𝑥𝑖1𝑟𝑖𝑟x\in[\frac{i-1}{r},\frac{i}{r})italic_x ∈ [ divide start_ARG italic_i - 1 end_ARG start_ARG italic_r end_ARG , divide start_ARG italic_i end_ARG start_ARG italic_r end_ARG ), define f(x)subscript𝑓𝑥f_{\ell}(x)italic_f start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT ( italic_x ) as

f(x)=r(ueven(,i)uodd(,i)).subscript𝑓𝑥𝑟subscript𝑢𝑒𝑣𝑒𝑛𝑖subscript𝑢𝑜𝑑𝑑𝑖f_{\ell}(x)=r(u_{even}(\ell,i)-u_{odd}(\ell,i)).italic_f start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT ( italic_x ) = italic_r ( italic_u start_POSTSUBSCRIPT italic_e italic_v italic_e italic_n end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) - italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) ) .

Rounding Procedure.

For path C𝐶Citalic_C, we now apply the cake frosting lemma to the function f𝑓fitalic_f as defined above, with α=zC𝛼subscript𝑧𝐶\alpha=z_{C}italic_α = italic_z start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT to find the perfect frosting X𝑋Xitalic_X that is a union of at most 2g12𝑔12g-12 italic_g - 1 intervals. Given X𝑋Xitalic_X, we construct the assignment as in Algorithm 3.

The final algorithm applies this procedure separately to each of the g𝑔gitalic_g fractional paths. Note that the α𝛼\alphaitalic_α value depends on the path.

Analysis.

We first bound the utility of each group \ellroman_ℓ in path C𝐶Citalic_C. Define T3:=[r](T1T2)assignsubscript𝑇3delimited-[]𝑟subscript𝑇1subscript𝑇2T_{3}:=[r]\setminus(T_{1}\cup T_{2})italic_T start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT := [ italic_r ] ∖ ( italic_T start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∪ italic_T start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), i.e. the set of students in C𝐶Citalic_C not in T1subscript𝑇1T_{1}italic_T start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT or T2subscript𝑇2T_{2}italic_T start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. The utility of group \ellroman_ℓ in the integer solution is:

iT1ueven(,i)+iT2uodd(,i)+iT3max(ueven(,i),uodd(,i))subscript𝑖subscript𝑇1subscript𝑢𝑒𝑣𝑒𝑛𝑖subscript𝑖subscript𝑇2subscript𝑢𝑜𝑑𝑑𝑖subscript𝑖subscript𝑇3subscript𝑢𝑒𝑣𝑒𝑛𝑖subscript𝑢𝑜𝑑𝑑𝑖\displaystyle\sum_{i\in T_{1}}u_{even}(\ell,i)+\sum_{i\in T_{2}}u_{odd}(\ell,i% )+\sum_{i\in T_{3}}\max(u_{even}(\ell,i),u_{odd}(\ell,i))∑ start_POSTSUBSCRIPT italic_i ∈ italic_T start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_e italic_v italic_e italic_n end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) + ∑ start_POSTSUBSCRIPT italic_i ∈ italic_T start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) + ∑ start_POSTSUBSCRIPT italic_i ∈ italic_T start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT roman_max ( italic_u start_POSTSUBSCRIPT italic_e italic_v italic_e italic_n end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) , italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) )
=\displaystyle== iT1(ueven(,j)uodd(,j))+i[r]uodd(,j)+iT3max(ueven(,i),uodd(,i))uodd(,i)subscript𝑖subscript𝑇1subscript𝑢𝑒𝑣𝑒𝑛𝑗subscript𝑢𝑜𝑑𝑑𝑗subscript𝑖delimited-[]𝑟subscript𝑢𝑜𝑑𝑑𝑗subscript𝑖subscript𝑇3subscript𝑢𝑒𝑣𝑒𝑛𝑖subscript𝑢𝑜𝑑𝑑𝑖subscript𝑢𝑜𝑑𝑑𝑖\displaystyle\sum_{i\in T_{1}}(u_{even}(\ell,j)-u_{odd}(\ell,j))+\sum_{i\in[r]% }u_{odd}(\ell,j)+\sum_{i\in T_{3}}\max(u_{even}(\ell,i),u_{odd}(\ell,i))-u_{% odd}(\ell,i)∑ start_POSTSUBSCRIPT italic_i ∈ italic_T start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_u start_POSTSUBSCRIPT italic_e italic_v italic_e italic_n end_POSTSUBSCRIPT ( roman_ℓ , italic_j ) - italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_j ) ) + ∑ start_POSTSUBSCRIPT italic_i ∈ [ italic_r ] end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_j ) + ∑ start_POSTSUBSCRIPT italic_i ∈ italic_T start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT roman_max ( italic_u start_POSTSUBSCRIPT italic_e italic_v italic_e italic_n end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) , italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) ) - italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_i )
\displaystyle\geq iT1(ueven(,j)uodd(,j))+i[r]uodd(,j)+iT3|[i1r,ir)X|(ueven(,i)uodd(,i))subscript𝑖subscript𝑇1subscript𝑢𝑒𝑣𝑒𝑛𝑗subscript𝑢𝑜𝑑𝑑𝑗subscript𝑖delimited-[]𝑟subscript𝑢𝑜𝑑𝑑𝑗subscript𝑖subscript𝑇3𝑖1𝑟𝑖𝑟𝑋subscript𝑢𝑒𝑣𝑒𝑛𝑖subscript𝑢𝑜𝑑𝑑𝑖\displaystyle\sum_{i\in T_{1}}(u_{even}(\ell,j)-u_{odd}(\ell,j))+\sum_{i\in[r]% }u_{odd}(\ell,j)+\sum_{i\in T_{3}}\absolutevalue{\left[\frac{i-1}{r},\frac{i}{% r}\right)\cap X}(u_{even}(\ell,i)-u_{odd}(\ell,i))∑ start_POSTSUBSCRIPT italic_i ∈ italic_T start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_u start_POSTSUBSCRIPT italic_e italic_v italic_e italic_n end_POSTSUBSCRIPT ( roman_ℓ , italic_j ) - italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_j ) ) + ∑ start_POSTSUBSCRIPT italic_i ∈ [ italic_r ] end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_j ) + ∑ start_POSTSUBSCRIPT italic_i ∈ italic_T start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT | start_ARG [ divide start_ARG italic_i - 1 end_ARG start_ARG italic_r end_ARG , divide start_ARG italic_i end_ARG start_ARG italic_r end_ARG ) ∩ italic_X end_ARG | ( italic_u start_POSTSUBSCRIPT italic_e italic_v italic_e italic_n end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) - italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) )
=\displaystyle== 1riT1x[i1r,ir)f(x)+uCodd()+1riT3x[i1r,ir)Xf(x)1𝑟subscript𝑖subscript𝑇1subscript𝑥𝑖1𝑟𝑖𝑟subscript𝑓𝑥superscriptsubscript𝑢𝐶𝑜𝑑𝑑1𝑟subscript𝑖subscript𝑇3subscript𝑥𝑖1𝑟𝑖𝑟𝑋subscript𝑓𝑥\displaystyle\frac{1}{r}\sum_{i\in T_{1}}\int_{x\in[\frac{i-1}{r},\frac{i}{r})% }f_{\ell}(x)+u_{C}^{odd}(\ell)+\frac{1}{r}\sum_{i\in T_{3}}\int_{x\in[\frac{i-% 1}{r},\frac{i}{r})\cap X}f_{\ell}(x)divide start_ARG 1 end_ARG start_ARG italic_r end_ARG ∑ start_POSTSUBSCRIPT italic_i ∈ italic_T start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∫ start_POSTSUBSCRIPT italic_x ∈ [ divide start_ARG italic_i - 1 end_ARG start_ARG italic_r end_ARG , divide start_ARG italic_i end_ARG start_ARG italic_r end_ARG ) end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT ( italic_x ) + italic_u start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_o italic_d italic_d end_POSTSUPERSCRIPT ( roman_ℓ ) + divide start_ARG 1 end_ARG start_ARG italic_r end_ARG ∑ start_POSTSUBSCRIPT italic_i ∈ italic_T start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∫ start_POSTSUBSCRIPT italic_x ∈ [ divide start_ARG italic_i - 1 end_ARG start_ARG italic_r end_ARG , divide start_ARG italic_i end_ARG start_ARG italic_r end_ARG ) ∩ italic_X end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT ( italic_x )
=\displaystyle== 1rxXf(x)+uCodd()=αrx[0,1]f(x)+uCodd()=α(uCeven()uCodd())+uCodd()1𝑟subscript𝑥𝑋subscript𝑓𝑥superscriptsubscript𝑢𝐶𝑜𝑑𝑑𝛼𝑟subscript𝑥01subscript𝑓𝑥superscriptsubscript𝑢𝐶𝑜𝑑𝑑𝛼superscriptsubscript𝑢𝐶𝑒𝑣𝑒𝑛superscriptsubscript𝑢𝐶𝑜𝑑𝑑superscriptsubscript𝑢𝐶𝑜𝑑𝑑\displaystyle\frac{1}{r}\int_{x\in X}f_{\ell}(x)+u_{C}^{odd}(\ell)=\frac{% \alpha}{r}\cdot\int_{x\in[0,1]}f_{\ell}(x)+u_{C}^{odd}(\ell)=\alpha\cdot(u_{C}% ^{even}(\ell)-u_{C}^{odd}(\ell))+u_{C}^{odd}(\ell)divide start_ARG 1 end_ARG start_ARG italic_r end_ARG ∫ start_POSTSUBSCRIPT italic_x ∈ italic_X end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT ( italic_x ) + italic_u start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_o italic_d italic_d end_POSTSUPERSCRIPT ( roman_ℓ ) = divide start_ARG italic_α end_ARG start_ARG italic_r end_ARG ⋅ ∫ start_POSTSUBSCRIPT italic_x ∈ [ 0 , 1 ] end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT ( italic_x ) + italic_u start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_o italic_d italic_d end_POSTSUPERSCRIPT ( roman_ℓ ) = italic_α ⋅ ( italic_u start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_e italic_v italic_e italic_n end_POSTSUPERSCRIPT ( roman_ℓ ) - italic_u start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_o italic_d italic_d end_POSTSUPERSCRIPT ( roman_ℓ ) ) + italic_u start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_o italic_d italic_d end_POSTSUPERSCRIPT ( roman_ℓ )
=\displaystyle== αuCeven()+(1α)uCodd().𝛼superscriptsubscript𝑢𝐶𝑒𝑣𝑒𝑛1𝛼superscriptsubscript𝑢𝐶𝑜𝑑𝑑\displaystyle\alpha\cdot u_{C}^{even}(\ell)+(1-\alpha)\cdot u_{C}^{odd}(\ell).italic_α ⋅ italic_u start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_e italic_v italic_e italic_n end_POSTSUPERSCRIPT ( roman_ℓ ) + ( 1 - italic_α ) ⋅ italic_u start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_o italic_d italic_d end_POSTSUPERSCRIPT ( roman_ℓ ) .

The first equality follows by adding and subtracting iT1T3uodd(,i)subscript𝑖subscript𝑇1subscript𝑇3subscript𝑢𝑜𝑑𝑑𝑖\sum_{i\in T_{1}\cup T_{3}}u_{odd}(\ell,i)∑ start_POSTSUBSCRIPT italic_i ∈ italic_T start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∪ italic_T start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_i ). The second line and the only inequality follows from the observation that |[i1r,ir)X|1𝑖1𝑟𝑖𝑟𝑋1\absolutevalue{\left[\frac{i-1}{r},\frac{i}{r}\right)\cap X}\leq 1| start_ARG [ divide start_ARG italic_i - 1 end_ARG start_ARG italic_r end_ARG , divide start_ARG italic_i end_ARG start_ARG italic_r end_ARG ) ∩ italic_X end_ARG | ≤ 1 and max(ueven(,i),uodd(,i))uodd(,i)0subscript𝑢𝑒𝑣𝑒𝑛𝑖subscript𝑢𝑜𝑑𝑑𝑖subscript𝑢𝑜𝑑𝑑𝑖0\max(u_{even}(\ell,i),u_{odd}(\ell,i))-u_{odd}(\ell,i)\geq 0roman_max ( italic_u start_POSTSUBSCRIPT italic_e italic_v italic_e italic_n end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) , italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) ) - italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) ≥ 0. The third line follows from the definition of f𝑓fitalic_f, the fourth line follows from the the structure of X𝑋Xitalic_X and T1,T3subscript𝑇1subscript𝑇3T_{1},T_{3}italic_T start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_T start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT, and the fifth follows from the cake frosting lemma. The above chain of equalities shows that the integer solution for path C𝐶Citalic_C has utility for each group \ellroman_ℓ at least the fractional solution.

To bound the total capacity violation, note that Algorithm 3 violates the capacity by one at every interval boundary. By the Cake Frosting lemma, this is an additional violation of O(g)𝑂𝑔O(g)italic_O ( italic_g ) per path, and hence O(g2)𝑂superscript𝑔2O(g^{2})italic_O ( italic_g start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) overall. This completes the proof of Theorem 5, and hence Theorem 1.

4 Generalization to Covering Constraints

We now generalize the setting in Theorems 4 and 5. As before, we are given a set T𝑇Titalic_T of schools, where school j𝑗jitalic_j has capacity Cjsubscript𝐶𝑗C_{j}italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, a set S𝑆Sitalic_S of students, and a bipartite graph G=(ST,E)𝐺𝑆𝑇𝐸G=(S\cup T,E)italic_G = ( italic_S ∪ italic_T , italic_E ) between the students and schools. The objective is to find an integral assignment y𝑦\vec{y}over→ start_ARG italic_y end_ARG of all the students that satisfies an additional set of r𝑟ritalic_r covering constraints with non-negative coefficients.

In other words, we wish solve the following integer program:

(IP)
jyijsubscript𝑗subscript𝑦𝑖𝑗\displaystyle\sum_{j}y_{ij}∑ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT =1absent1\displaystyle=1= 1  students ifor-all students 𝑖\displaystyle\forall\mbox{ students }i∀ students italic_i (3)
iyijsubscript𝑖subscript𝑦𝑖𝑗\displaystyle\sum_{i}y_{ij}∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT Cjabsentsubscript𝐶𝑗\displaystyle\leq C_{j}≤ italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT  schools jfor-all schools 𝑗\displaystyle\forall\mbox{ schools }j∀ schools italic_j (4)
i,jqijyijsubscript𝑖𝑗superscriptsubscript𝑞𝑖𝑗subscript𝑦𝑖𝑗\displaystyle\sum_{i,j}q_{ij}^{\ell}y_{ij}∑ start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT italic_q start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT Qabsentsubscript𝑄\displaystyle\geq Q_{\ell}≥ italic_Q start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT {1,2,,r}for-all12𝑟\displaystyle\forall\ell\in\{1,2,\ldots,r\}∀ roman_ℓ ∈ { 1 , 2 , … , italic_r } (5)
yijsubscript𝑦𝑖𝑗\displaystyle y_{ij}italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT {0,1}absent01\displaystyle\in\{0,1\}\qquad∈ { 0 , 1 } i,jfor-all𝑖𝑗\displaystyle\forall~{}i,j∀ italic_i , italic_j (6)

As motivation, each qijsuperscriptsubscript𝑞𝑖𝑗q_{ij}^{\ell}italic_q start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT could capture a different type of utility student i𝑖iitalic_i has for school j𝑗jitalic_j, for instance, academic excellence, closeness, diversity of student body, etc, and we want a solution that achieves high average utility in all dimensions.

Define LP to be linear relaxation of IP obtained by relaxing Eq. 6 to yij[0,1]subscript𝑦𝑖𝑗01y_{ij}\in[0,1]italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ∈ [ 0 , 1 ]. Unlike the previous section, a given yijsubscript𝑦𝑖𝑗y_{ij}italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT variable can appear in the constraints in an arbitrary way. We show that Theorems 4 and 5 generalizes to arbitrary covering constraints at the cost of incurring an additive loss proportional to Qmax:=maxi,j,qijassignsubscript𝑄maxsubscript𝑖𝑗superscriptsubscript𝑞𝑖𝑗Q_{\mathrm{max}}:=\max_{i,j,\ell}q_{ij}^{\ell}italic_Q start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT := roman_max start_POSTSUBSCRIPT italic_i , italic_j , roman_ℓ end_POSTSUBSCRIPT italic_q start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT and r𝑟ritalic_r, the number of rows in Q𝑄Qitalic_Q.

4.1 Generalizing Theorem 4

Our algorithm runs in the following steps, which build on Algorithm 1.

  1. 1.

    Solve the linear programming relaxation, fix and remove the integral variables, and find a vertex solution. Let E𝐸Eitalic_E be the set of fractional variables, and Ssuperscript𝑆S^{\prime}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the remaining students.

  2. 2.

    Rewrite LP on the variables E𝐸Eitalic_E and without the capacity constraints Eq. 4.

  3. 3.

    Keep eliminating integer variables, stop** at a vertex solution where all variables are fractional. Let Esuperscript𝐸E^{\prime}italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the remaining variables and S′′superscript𝑆′′S^{\prime\prime}italic_S start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT be the remaining students.

  4. 4.

    Set an arbitrary yij>0subscript𝑦𝑖𝑗0y_{ij}>0italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT > 0 to 1111 for each iS′′𝑖superscript𝑆′′i\in S^{\prime\prime}italic_i ∈ italic_S start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT.

Theorem 9.

For arbitrary covering constraints, when the linear programming relaxation has a feasible solution, there is a polynomial time algorithm that outputs an integer matching and that achieves the following guarantee:

  • The constraints Eq. 5 are preserved up to an additive rQmax𝑟subscript𝑄maxr\cdot Q_{\mathrm{max}}italic_r ⋅ italic_Q start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT; and

  • If each school is given one unit extra capacity, the total violation in Eq. 4 over this is 2r2𝑟2r2 italic_r.

Proof.

First, the proof of Theorem 4 shows that regardless of how the students in Ssuperscript𝑆S^{\prime}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT are assigned, if each school is given one extra unit of capacity, then the total violation in capacity is at most 2r2𝑟2r2 italic_r.

We can therefore focus on assigning the students so that the constraints Eq. 5 are not violated significantly. In Step (2), since any student in S′′superscript𝑆′′S^{\prime\prime}italic_S start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT has degree at least 2222, we have |E|2|S′′|superscript𝐸2superscript𝑆′′|E^{\prime}|\geq 2|S^{\prime\prime}|| italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT | ≥ 2 | italic_S start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT |. Further, any extreme point in Step (3) has exactly |E|superscript𝐸|E^{\prime}|| italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT | tight constraints. But since the number of potential tight constraints is at most |S′′|+rsuperscript𝑆′′𝑟|S^{\prime\prime}|+r| italic_S start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT | + italic_r, we obtain |S′′|rsuperscript𝑆′′𝑟|S^{\prime\prime}|\leq r| italic_S start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT | ≤ italic_r. Therefore Step (4) violates each constraint by an additive rQmax𝑟subscript𝑄maxr\cdot Q_{\mathrm{max}}italic_r ⋅ italic_Q start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT, completing the proof. ∎

4.2 Generalizing Theorem 5

We next generalize Theorem 5. We first apply Algorithm 1 to the linear programming relaxation. We then follow the procedure in Section 3.3 and sequentially apply Algorithms 2 and 3 to the fractional solution. To set up the cake frosting game to apply Algorithm 3, we view each of the r𝑟ritalic_r Eq. 5 constraints as a player of the cake frosting instance, and the function ueven(,i):=qijassignsubscript𝑢𝑒𝑣𝑒𝑛𝑖superscriptsubscript𝑞𝑖𝑗u_{even}(\ell,i):=q_{ij}^{\ell}italic_u start_POSTSUBSCRIPT italic_e italic_v italic_e italic_n end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) := italic_q start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT where (i,j)𝑖𝑗(i,j)( italic_i , italic_j ) is the even matching edge adjacent to j𝑗jitalic_j and uodd(,i)subscript𝑢𝑜𝑑𝑑𝑖u_{odd}(\ell,i)italic_u start_POSTSUBSCRIPT italic_o italic_d italic_d end_POSTSUBSCRIPT ( roman_ℓ , italic_i ) is defined similarly. The only steps that are different are the assignment steps – Step 3 in Algorithm 2 and Step 7 in Algorithm 3. Here, we perform an arbitrary assignment of the students to the schools. We present the complete algorithm in Algorithm 4 for completeness.

Algorithm 4 Algorithm for Theorem 10
1:repeat
2:     Obtain a vertex solution y𝑦\vec{y}over→ start_ARG italic_y end_ARG to (LP1).
3:     for all yij=b{0,1}subscript𝑦𝑖𝑗𝑏01y_{ij}=b\in\{0,1\}italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = italic_b ∈ { 0 , 1 } do
4:         Fix yij=bsubscript𝑦𝑖𝑗𝑏y_{ij}=bitalic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = italic_b and remove this variable from (LP1), updating the constraints as needed.
5:     end for
6:until (LP1) is not modified.
7:for each student i𝑖iitalic_i with degree strictly more than 2222 do
8:     Add a capacity of one to an arbitrary school j𝑗jitalic_j with yij>0subscript𝑦𝑖𝑗0y_{ij}>0italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT > 0.
9:     Fix yij=1subscript𝑦𝑖𝑗1y_{ij}=1italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = 1 and remove this student.
10:     Decrease the capacity of j𝑗jitalic_j correspondingly.
11:end for
12:S1={j|jT^,degree(j)>2}subscript𝑆1conditional-set𝑗formulae-sequence𝑗^𝑇degree𝑗2S_{1}=\{j|j\in\hat{T},\mbox{degree}(j)>2\}italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = { italic_j | italic_j ∈ over^ start_ARG italic_T end_ARG , degree ( italic_j ) > 2 }.
13:S2={j|jT^,degree(j)=2,Cj=2}subscript𝑆2conditional-set𝑗formulae-sequence𝑗^𝑇formulae-sequencedegree𝑗2subscript𝐶𝑗2S_{2}=\{j|j\in\hat{T},\mbox{degree}(j)=2,C_{j}=2\}italic_S start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = { italic_j | italic_j ∈ over^ start_ARG italic_T end_ARG , degree ( italic_j ) = 2 , italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 2 }.
14:for each school jS1S2(TT^)𝑗subscript𝑆1subscript𝑆2superscript𝑇^𝑇j\in S_{1}\cup S_{2}\cup(T^{\prime}\setminus\hat{T})italic_j ∈ italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∪ italic_S start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∪ ( italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∖ over^ start_ARG italic_T end_ARG ) do
15:     d=degree(j)𝑑degree𝑗d=\mbox{degree}(j)italic_d = degree ( italic_j ).
16:     Create d𝑑ditalic_d copies of j𝑗jitalic_j, each with capacity one.
17:     Assign (add an edge from) each i𝑖iitalic_i with yij>0subscript𝑦𝑖𝑗0y_{ij}>0italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT > 0 to a distinct copy of j𝑗jitalic_j.
18:end for
19:If a school has degree one, reduce its capacity to one.
20:Set up the Cake Frosting instance as described in the text. Let X𝑋Xitalic_X be a perfect frosting.
21:for every student i𝑖iitalic_i do
22:     if [i1r,ir)X𝑖1𝑟𝑖𝑟𝑋[\frac{i-1}{r},\frac{i}{r})\subseteq X[ divide start_ARG italic_i - 1 end_ARG start_ARG italic_r end_ARG , divide start_ARG italic_i end_ARG start_ARG italic_r end_ARG ) ⊆ italic_X then
23:         Choose the edge from the even matching for student i𝑖iitalic_i.
24:     else if [i1r,ir)[0,1]X𝑖1𝑟𝑖𝑟01𝑋[\frac{i-1}{r},\frac{i}{r})\subseteq[0,1]\setminus X[ divide start_ARG italic_i - 1 end_ARG start_ARG italic_r end_ARG , divide start_ARG italic_i end_ARG start_ARG italic_r end_ARG ) ⊆ [ 0 , 1 ] ∖ italic_X then
25:         Choose the edge from the odd matching for student i𝑖iitalic_i.
26:     else
27:         Assign i𝑖iitalic_i to some j𝑗jitalic_j with yij>0subscript𝑦𝑖superscript𝑗0y_{ij^{\prime}}>0italic_y start_POSTSUBSCRIPT italic_i italic_j start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT > 0.
28:     end if
29:end for
Theorem 10.

When the linear programming relaxation has a feasible solution, if r𝑟ritalic_r is the number of constraints Eq. 5, there is a nO(r)superscript𝑛𝑂𝑟n^{O(r)}italic_n start_POSTSUPERSCRIPT italic_O ( italic_r ) end_POSTSUPERSCRIPT time algorithm that outputs an integer matching and that achieves the following guarantee:

  • The constraints Eq. 5 are preserved up to an additive O(r2Qmax)𝑂superscript𝑟2subscript𝑄maxO(r^{2}\cdot Q_{\mathrm{max}})italic_O ( italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ⋅ italic_Q start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT ); and

  • The total violation in Eq. 4 is O(r2)𝑂superscript𝑟2O(r^{2})italic_O ( italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).

Proof.

We first argue about the violation in Eq. 5. The only steps that affect the constraints are the assignment steps – Steps 9 and 27 in Algorithm 4. In Step 9, the number of students assigned is O(r)𝑂𝑟O(r)italic_O ( italic_r ) from Eq. 2, while that in Step 27 is O(r2)𝑂superscript𝑟2O(r^{2})italic_O ( italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ). If these students are arbitrarily assigned, each assignment loses an additive Qmaxsubscript𝑄maxQ_{\mathrm{max}}italic_Q start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT in the constraint. Therefore, the overall additive loss is O(r2Qmax)𝑂superscript𝑟2subscript𝑄maxO(r^{2}\cdot Q_{\mathrm{max}})italic_O ( italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ⋅ italic_Q start_POSTSUBSCRIPT roman_max end_POSTSUBSCRIPT ). Note that the capacity bound violation follows from the proof of Theorem 5 and holds even when these students are arbitrarily assigned. ∎

Using Theorem 4.12 in [5], we can improve Theorem 10 to the following corollary. It follows by guessing 8r2/ϵ8superscript𝑟2italic-ϵ8r^{2}/\epsilon8 italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT / italic_ϵ chosen edges with highest utility for each group, and applying Algorithms 2 and 3 subsequently. This yields the following corollary, and we omit the standard details.

Corollary 11.

When the linear programming relaxation has a feasible solution, if r𝑟ritalic_r is the number of constraints Eq. 5, then for any constant ϵ>0italic-ϵ0\epsilon>0italic_ϵ > 0, there is a nO(r3/ϵ)superscript𝑛𝑂superscript𝑟3italic-ϵn^{O(r^{3}/\epsilon)}italic_n start_POSTSUPERSCRIPT italic_O ( italic_r start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT / italic_ϵ ) end_POSTSUPERSCRIPT time algorithm that outputs an integer matching and that achieves the following guarantee:

  • The constraints Eq. 5 are preserved up to a multiplicative factor of (1ϵ)1italic-ϵ(1-\epsilon)( 1 - italic_ϵ ); and

  • The total violation in Eq. 4 is O(r2)𝑂superscript𝑟2O(r^{2})italic_O ( italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).

4.3 Better Bounds for Monotonic Constraints

We next show that if the constraints Q𝑄Qitalic_Q have additional monotonicity structure, then we can generalize Theorem 4 without the additive loss in the constraints. We say that Q𝑄Qitalic_Q satisfies “monotonicity” if for each student i𝑖iitalic_i, there is an ordering isubscriptsucceeds-or-equals𝑖\succeq_{i}⪰ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT of the schools j1ij2iijmsubscriptsucceeds-or-equals𝑖subscript𝑗1subscript𝑗2subscriptsucceeds-or-equals𝑖subscriptsucceeds-or-equals𝑖subscript𝑗𝑚j_{1}\succeq_{i}j_{2}\succeq_{i}\ldots\succeq_{i}j_{m}italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⪰ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⪰ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT … ⪰ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT such that for all {1,2,,r}12𝑟\ell\in\{1,2,\ldots,r\}roman_ℓ ∈ { 1 , 2 , … , italic_r } and k{1,2,,m1}𝑘12𝑚1k\in\{1,2,\ldots,m-1\}italic_k ∈ { 1 , 2 , … , italic_m - 1 }, we have qijkqijk+1superscriptsubscript𝑞𝑖subscript𝑗𝑘superscriptsubscript𝑞𝑖subscript𝑗𝑘1q_{ij_{k}}^{\ell}\geq q_{ij_{k+1}}^{\ell}italic_q start_POSTSUBSCRIPT italic_i italic_j start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT ≥ italic_q start_POSTSUBSCRIPT italic_i italic_j start_POSTSUBSCRIPT italic_k + 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT.

Theorem 12.

If the constraints Q𝑄Qitalic_Q are monotone, when the linear programming relaxation has a feasible solution, there is a polynomial time algorithm that outputs an integer matching and that achieves the following guarantee:

  • The constraints Eq. 5 are preserved; and

  • If each school is given one unit extra capacity, the total violation in Eq. 4 over this is 2r2𝑟2r2 italic_r.

Theorem 13.

If the constraints Q𝑄Qitalic_Q are monotone, when the linear programming relaxation has a feasible solution, there is a nO(r)superscript𝑛𝑂𝑟n^{O(r)}italic_n start_POSTSUPERSCRIPT italic_O ( italic_r ) end_POSTSUPERSCRIPT time algorithm that outputs an integer matching and that achieves the following guarantee:

  • The constraints Eq. 5 are preserved; and

  • The total violation in Eq. 4 over this is O(r2)𝑂superscript𝑟2O(r^{2})italic_O ( italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).

Proof of Theorems 12 and 13.

We proceed as in Theorems 4 and 5. At each point where the algorithm assigns a student to j=argmaxjXuijsuperscript𝑗subscript𝑗𝑋subscript𝑢𝑖𝑗j^{*}=\arg\max_{j\in X}u_{ij}italic_j start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = roman_arg roman_max start_POSTSUBSCRIPT italic_j ∈ italic_X end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT for some set X𝑋Xitalic_X, we simply assign it to mink{jk|jkX}subscript𝑘conditionalsubscript𝑗𝑘subscript𝑗𝑘𝑋\min_{k}\{j_{k}\ |j_{k}\in X\}roman_min start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT { italic_j start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT | italic_j start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∈ italic_X }. That is, assign it to the most preferred school (according to isubscriptsucceeds-or-equals𝑖\succeq_{i}⪰ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT). This also preserves the r𝑟ritalic_r constraints because of monotonicity. ∎

Application: Weak Dominance of Ranks.

As a special case, we consider the setting in [6]. Here, every student ranks the schools it has an edge to, and this ranking may have ties. Let r𝑟ritalic_r be the largest rank any student has, which can be much smaller than the number of schools. Given a matching, the rank of edge (p,q)𝑝𝑞(p,q)( italic_p , italic_q ) is the rank of school q𝑞qitalic_q in student p𝑝pitalic_p’s ranking. A matching M𝑀Mitalic_M has signature σ=(σ1,σ2,,σr)𝜎subscript𝜎1subscript𝜎2subscript𝜎𝑟\sigma=(\sigma_{1},\sigma_{2},\ldots,\sigma_{r})italic_σ = ( italic_σ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_σ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_σ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ) if it has σtsubscript𝜎𝑡\sigma_{t}italic_σ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT rank t𝑡titalic_t edges for every t[r]𝑡delimited-[]𝑟t\in[r]italic_t ∈ [ italic_r ]. We say that signature σ𝜎\sigmaitalic_σ weakly dominates333The authors of [6] use ‘cumulatively better than’. signature ρ𝜌\rhoitalic_ρ, or σρsucceeds𝜎𝜌\sigma\succ\rhoitalic_σ ≻ italic_ρ if

t[r],t=1tσtt=1tρt.formulae-sequencefor-all𝑡delimited-[]𝑟superscriptsubscriptsuperscript𝑡1𝑡subscript𝜎superscript𝑡superscriptsubscriptsuperscript𝑡1𝑡subscript𝜌superscript𝑡\displaystyle\forall~{}t\in[r],\sum_{t^{\prime}=1}^{t}\sigma_{t^{\prime}}\geq% \sum_{t^{\prime}=1}^{t}\rho_{t^{\prime}}.∀ italic_t ∈ [ italic_r ] , ∑ start_POSTSUBSCRIPT italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT italic_σ start_POSTSUBSCRIPT italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ≥ ∑ start_POSTSUBSCRIPT italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT italic_ρ start_POSTSUBSCRIPT italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT . (7)

Given an input signature ρ𝜌\rhoitalic_ρ, the goal is to find a matching whose signature weakly dominates ρ𝜌\rhoitalic_ρ. We term this the matching with ranking problem. We have the following theorems, which directly follow from the observation that the constraints satisfy the monotonicity assumption. At each step where, for some set X𝑋Xitalic_X, we assign i𝑖iitalic_i to argmaxjXuijsubscript𝑗𝑋subscript𝑢𝑖𝑗\arg\max_{j\in X}{u_{ij}}roman_arg roman_max start_POSTSUBSCRIPT italic_j ∈ italic_X end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT, we instead assign it to its most preferred school from X𝑋Xitalic_X. This preserves the signature of any fractional assignment. Our approach yields faster nO(r)superscript𝑛𝑂𝑟n^{O(r)}italic_n start_POSTSUPERSCRIPT italic_O ( italic_r ) end_POSTSUPERSCRIPT time deterministic algorithms at the cost of small violations in capacities whereas the algorithm in [6] is randomized and takes nO(r2)superscript𝑛𝑂superscript𝑟2n^{O(r^{2})}italic_n start_POSTSUPERSCRIPT italic_O ( italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) end_POSTSUPERSCRIPT time. Their approach essentially uses the algorithm for Exact Matchings [8]. It has been a longstanding open question whether it is possible to derandomize it.

Theorem 14.

If there is a feasible solution to matching with ranking with input signature ρ𝜌\rhoitalic_ρ, then there is an algorithm that runs in time \poly(n,r)\poly𝑛𝑟\poly(n,r)( italic_n , italic_r ) and finds a matching with signature σρsucceeds𝜎𝜌\sigma\succ\rhoitalic_σ ≻ italic_ρ that satisfies relaxed capacities Csuperscript𝐶C^{\prime}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT where CjCj+1+δjsubscriptsuperscript𝐶𝑗subscript𝐶𝑗1subscript𝛿𝑗C^{\prime}_{j}\leq C_{j}+1+\delta_{j}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + 1 + italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, and jδj2rsubscript𝑗subscript𝛿𝑗2𝑟\sum_{j}\delta_{j}\leq 2r∑ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ 2 italic_r.

Theorem 15.

If there is a feasible solution to matching with ranking with input signature ρ𝜌\rhoitalic_ρ, then there is an algorithm that runs in time nO(r)superscript𝑛𝑂𝑟n^{O(r)}italic_n start_POSTSUPERSCRIPT italic_O ( italic_r ) end_POSTSUPERSCRIPT and finds a matching with signature σρsucceeds𝜎𝜌\sigma\succ\rhoitalic_σ ≻ italic_ρ that satisfies relaxed capacities Csuperscript𝐶C^{\prime}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT where CjCj+δjsubscriptsuperscript𝐶𝑗subscript𝐶𝑗subscript𝛿𝑗C^{\prime}_{j}\leq C_{j}+\delta_{j}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, and jδj=O(r2)subscript𝑗subscript𝛿𝑗𝑂superscript𝑟2\sum_{j}\delta_{j}=O(r^{2})∑ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_δ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = italic_O ( italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).

References

  • [1] Atila Abdulkadiroğlu and Tayfun Sönmez. School choice: A mechanism design approach. American economic review, 93(3):729–747, 2003.
  • [2] Federico Bobbio, Margarida Carvalho, Andrea Lodi, and Alfredo Torrico. Capacity variation in the many-to-one stable matching, 2022.
  • [3] Jiehua Chen and Gergely Csáji. Optimal capacity modification for many-to-one matching problems. In Proceedings of the 2023 International Conference on Autonomous Agents and Multiagent Systems, AAMAS ’23, page 2880–2882, Richland, SC, 2023. International Foundation for Autonomous Agents and Multiagent Systems.
  • [4] Michel X Goemans. Minimum bounded degree spanning trees. In 2006 47th Annual IEEE Symposium on Foundations of Computer Science (FOCS’06), pages 273–282. IEEE, 2006.
  • [5] Fabrizio Grandoni, R. Ravi, Mohit Singh, and Rico Zenklusen. New approaches to multi-objective optimization. Math. Program., 146(1-2):525–554, 2014.
  • [6] Santhini K. A., Govind S. Sankar, and Meghana Nasre. Optimal matchings with one-sided preferences: Fixed and cost-based quotas. In Proceedings of the 21st International Conference on Autonomous Agents and Multiagent Systems, AAMAS ’22, page 696–704, Richland, SC, 2022. International Foundation for Autonomous Agents and Multiagent Systems.
  • [7] Jan Karel Lenstra, David B. Shmoys, and Eva Tardos. Approximation algorithms for scheduling unrelated parallel machines. In 28th Annual Symposium on Foundations of Computer Science (sfcs 1987), pages 217–224, 1987.
  • [8] Ketan Mulmuley, Umesh V Vazirani, and Vijay V Vazirani. Matching is as easy as matrix inversion. In Proceedings of the nineteenth annual ACM symposium on Theory of computing, pages 345–354, 1987.
  • [9] Thanh Nguyen and Rakesh Vohra. Near-feasible stable matchings with couples. American Economic Review, 108(11):3154–3169, 2018.
  • [10] Ariel D. Procaccia, Isaac Robinson, and Jamie Tucker-Foltz. School redistricting: Wi** unfairness off the map. In Proc. ACM-SIAM SODA, 2024.
  • [11] David B. Shmoys and Éva Tardos. An approximation algorithm for the generalized assignment problem. Math. Program., 62:461–474, 1993.
  • [12] Mohit Singh and Lap Chi Lau. Approximating minimum bounded degree spanning trees to within one of optimal. In Proceedings of the Thirty-Ninth Annual ACM Symposium on Theory of Computing, STOC ’07, page 661–670, New York, NY, USA, 2007. Association for Computing Machinery.
  • [13] A. H. Stone and J. W. Tukey. Generalized “sandwich” theorems. Duke Mathematical Journal, 9(2):356 – 359, 1942.
  • [14] Walter Stromquist and D.R Woodall. Sets on which several measures agree. Journal of Mathematical Analysis and Applications, 108(1):241–248, 1985.