An $O(n^3)$ time algorithm for the maximum-weight limited-capacity many-to-many matching
Fatemeh Rajabi-Alni, Behrouz Minaei-Bidgoli
TL;DR
The paper tackles maximum weight LCMM on bipartite graphs with vertex capacities $Cap(v)$ by exploiting a reduction to a degree-constrained subgraph problem and adapting the Hungarian algorithm. A complete augmented graph $G'=(X\cup Y,E')$ is built from $A,B$ and capacity-encoded copies $A',B'$, and a two-step ModifiedHungarianAlg procedure is applied to first cover $A$ and then $B$, yielding a maximum weight LCMM in $O(n^3)$ time for non-positive edge weights. This approach provides an exact, efficient alternative to previous methods whose complexity depends on weight ranges and capacity sums. The results are significant for applications requiring efficient, exact LCMM solutions and demonstrate a principled Hungarian-based framework for capacity-constrained matchings on bipartite graphs.
Abstract
Given an undirected bipartite graph $G=(A \cup B, E)$, a many-to-many matching (MM) in $G$ matches each vertex $v$ in $A$ (resp. $B$) to at least one vertex in $B$ (resp. $A$). In this paper, we consider the limited-capacity many-to-many matching (LCMM) in $G$, where each vertex $v\in A\cup B$ is matched to at least one and at most $Cap(v)$ vertices; the function $Cap : A\cup B \rightarrow \mathbb{Z}> 0$ denotes the capacity of $v$ (an upper bound on its degree in the LCMM). We give an $O(n^3)$ time algorithm for finding a maximum (respectively minimum) weight LCMM in $G$ with non-positive real (respectively non-negative real) edge weights, where $\lvert A \rvert+\lvert B \rvert=n$.
