Popular Matchings with Multiple Partners
  Our input is a bipartite graph $G = (A \cup B,E)$ where each vertex in $A \cup B$ has a preference list strictly ranking its neighbors. The vertices in $A$ and in $B$ are called students and courses, respectively. Each student $a$ seeks to be matched to $\mathsf{cap}(a) \ge 1$ courses while each course $b$ seeks $\mathsf{cap}(b) \ge 1$ many students to be matched to it. The Gale-Shapley algorithm computes a pairwise-stable matching (one with no blocking edge) in $G$ in linear time. We consider the problem of computing a popular matching in $G$ -- a matching $M$ is popular if $M$ cannot lose an election to any matching where vertices cast votes for one matching versus another. Our main contribution is to show that a max-size popular matching in $G$ can be computed by the 2-level Gale-Shapley algorithm in linear time. This is an extension of the classical Gale-Shapley algorithm and we prove its correctness via linear programming. 
F. Brandl and T. Kavitha
cs.GT cs.MA