An approximation algorithm for the load-balanced semi-matching problem in weighted bipartite graphs
A semi-matching on a bipartite graph G = (U boolean OR V, E) is a set of edges X subset of E such that each vertex in U is incident to exactly one edge in X. The sum of the weights of the vertices from U that are assigned (semi-matched) to some vertex V E V is referred to as the load of vertex v. In this paper, we consider the problem to finding a semi-matching that minimizes the maximum load among all vertices in V. This problem has been shown to be solvable in polynomial time by Harvey et al. [N. Harvey, R. Ladner, L. Lovasz, T. Tamir, Semi-matchings for bipartite graphs and load balancing, in: Proc. 8th WADS, 2003, pp. 284-306] and Fakcharoenphol et al. [J. Fakcharoenphol, B. Lekhanukit, D. Nanongkai, A faster algorithm for optimal semi-matching, Manuscript, 2005] for unweighted graphs. However, the computational complexity for the weighted version of the problem was left as an open problem. In this paper, we prove that the problem of finding a semi-matching that minimizes the maximum load among all vertices in a weighted bipartite graph is NP-complete. A (3)/(2)-approximation algorithm is proposed for this problem. (c) 2006 Elsevier B.V. All rights reserved.
approximation algorithms semi-matching bipartite graphs load balancing np-hard