Problems involving the efficient arrangement of simple objects, as captured by bin packing and makespan scheduling, are fundamental tasks in combinatorial optimization. These are well understood in the traditional online and offline cases, but have been less well-studied when the volume of the input is truly massive, and cannot even be read into memory. This is captured by the streaming model of computation, where the aim is to approximate the cost of the solution in one pass over the data, using small space. As a result, streaming algorithms produce concise input summaries that approximately preserve the optimum value. We design the first efficient streaming algorithms for these fundamental problems in combinatorial optimization. For Bin Packing, we provide a streaming asymptotic (1 + ε)-approximation with widetilde {O}left (frac {1}{varepsilon }right ), where widetilde {{{O}}} hides logarithmic factors. Moreover, such a space bound is essentially optimal. Our algorithm implies a streaming (d + ε)-approximation for Vector Bin Packing in d dimensions, running in space widetilde {{{O}}}left (frac {d}{varepsilon }right ). For the related Vector Scheduling problem, we show how to construct an input summary in space widetilde {{{O}}}(d^{2}cdot m / varepsilon ^{2}) that preserves the optimum value up to a factor of 2 - frac {1}{m} +varepsilon , where m is the number of identical machines.
Read full abstract