We study the following load balancing problem on paths (PB). There is a path containing n vertices. Every vertex i has an initial load hi , and every edge (j,j + 1) has an initial load wj that it needs to distribute among the two vertices that are its endpoints. The goal is to distribute the load of the edges over the vertices in a way that will make the loads of the vertices as balanced as possible (formally, minimizing the sum of squares of loads of the vertices). This problem can be solved in polynomial time, e.g, by dynamic programming. We present an algorithm that solves this problem in time O(n logn). As a mental aide in the design of our algorithm, we first design a hydraulic apparatus composed of bins (representing vertices), tubes (representing edges) that are connected between bins, cylinders within the tubes that constrain the flow of water, and valves that can close the connections between bins and tubes. Water may be poured into the various bins, to levels that correspond to the initial loads in the input to the PB problem. When all valves are opened, the water flows between bins (to the extent that is feasible due to the cylinders) and stabilizes at levels that are the correct output to the respective PB problem. Our algorithm is based on a fast simulation of the behavior of this hydraulic apparatus, when valves are opened one by one. © 2011 Springer-Verlag.
CITATION STYLE
Devanur, N. R., & Feige, U. (2011). An O(n log n) algorithm for a load balancing problem on paths. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 6844 LNCS, pp. 326–337). https://doi.org/10.1007/978-3-642-22300-6_28
Mendeley helps you to discover research relevant for your work.