Several
approximation algorithms for the general bin-packing problem use the following scheme: • Separate the items to "small" (smaller than
eB, for some fraction e in (0,1)) and "large" (at least
eB). • Handle the large items first: • Round the item sizes in some way, such that the number of different sizes is at most some constant
d. • Solve the resulting high-multiplicity problem. • Allocate the small items greedily, e.g. with
next-fit bin packing. If no new bins are created, then we are done. If new bins are created, this means that all bins (except maybe the last one) are full up to at least (1-
e)
B. Therefore, the number of bins is at most OPT/(1-
e)+1 ≤ (1+2
e)OPT+1. The algorithms differ in how they round the instance.
Linear rounding Lueker and de-la-Vega and invented the idea of
adaptive input rounding. Order the items by their size, and group them into 1/
e2 groups of cardinality
ne2. In each group, round the sizes upwards to the maximum size in the group. Now, there are only
d=1/
e2 different sizes. The solution of the rounded instance is feasible for the original instance too, but the number of bins may be larger than necessary. To quantify the loss, consider the instance rounded
down to the maximum size in the
previous group (the first group is rounded down to 0). The rounded-down instance
D is almost equal to the rounded-up instance
U, except that in
D there are some
ne2 zeros while in
U there are some
ne2 large items instead; but their size is at most
B. Therefore, U requires at most
ne2 more bins than
D. Since
D requires fewer bins than the optimum, we get that Bins(
U) ≤ OPT +
ne2, that is, we have an additive error that can be made as small as we like by choosing
e. If all items are large (of size at least
eB), then each bin in OPT contains at most 1/
e items (of size at least
eB), so OPT must be at least
en. Therefore, Bins(
U) ≤ (1+
e)OPT. After handling the small items, we get at most (1+2e)\mathrm{OPT}+1.
Geometric rounding Karmarkar and Karp present a more efficient rounding method which they call
geometric rounding (in contrast to the linear rounding of de-la-Vega and Lueker). Based on these innovations, they present an algorithm with run-time polynomial in n and 1/\varepsilon. Their algorithm finds a solution with size at most \mathrm{OPT} + \mathcal{O}(\log^2(\mathrm{OPT})).
Improvements This technique was later improved by several authors: • Rothvoss presented an algorithm that generates a solution with size at most \mathrm{OPT} + O(\log(\mathrm{OPT})\cdot \log\log(\mathrm{OPT})). • Hoberg and Rothvoss improved this algorithm to generate a solution with size at most \mathrm{OPT} + O(\log(\mathrm{OPT})). The algorithm is randomized, and its running-time is polynomial in the total number of items. == See also ==