1BP: APTAS

Dependencies:

  1. Bin packing and Knapsack
  2. 1BP: ⌈size(I)⌉ ≤ opt(I)
  3. Bin packing: config-enum algorithm
  4. Bin packing: predecessor of an input instance
  5. 1BP: linear grouping
  6. 1BP: extending by small items

Let $I$ be a 1D bin packing instance containing $n$ items. Without loss of generality, assume bins have size 1. Then for any constant $\eps > 0$, there is an algorithm that packs $I$ in $\frac{1}{1-\eps}\Opt(I) + 1$ bins in $O((n+1)^R R/\eps^2)$ time, where $R = \ceil{1/\eps}^{\ceil{1/\eps^2}}$.

Algorithm

Algorithm $\operatorname{binPack}(I, \eps)$:

In this algorithm, $P$ is a packing of $I_L$ and $Q$ is a packing of $I$.

Running time and approximation ratio

Since $I_L$ has items of size $> \eps$, \[ \Size(I_L) \ge \eps |I_L| \implies |I_L| \le \frac{\Size(I_L)}{\eps} \]

The number of distinct items in $I_1$ is \[ \ceil{\frac{|I_L|}{k}} \le \ceil{\frac{\Size(I_L)/\eps}{\floor{\eps \Size(I_L)} + 1}} \le \ceil{\frac{1}{\eps^2}} \] The maximum number of items a bin can accommodate is $\ceil{\frac{1}{\eps}}-1$. So the exactBinPack algorithm runs in time $O((n+1)^R R/\eps^2)$, where $R = \ceil{1/\eps}^{\ceil{1/\eps^2}}$.

By the property of linear grouping, we get $I_1 \preceq I_L$. Therefore, \begin{align} |P| &= |P_1| + |P_2| \le \Opt(I_1) + k-1 \\ &\le \Opt(I_L) + \eps \Size(I_L) \le (1+\eps)\Opt(I_L) \\ &\le (1+\eps)\Opt(I) \end{align}

Since $Q$ is obtained by adding $I_S$ to $P$ via first-fit, \begin{align} |Q| &\le \max\left(|P|, \frac{1}{1-\eps}\Size(I)+1\right) \\ &\le \max\left( (1+\eps)\Opt(I), \frac{1}{1-\eps}\Opt(I)+1 \right) \\ &\le \frac{1}{1-\eps}\Opt(I)+1 \end{align}

Dependency for: None

Info:

Transitive dependencies:

  1. Bin packing and Knapsack
  2. 1BP: ⌈size(I)⌉ ≤ opt(I)
  3. 1BP: extending by small items
  4. Bin packing: union of input instances
  5. Bin packing: predecessor of an input instance
  6. 1BP: linear grouping
  7. Binomial Coefficient
  8. Binomial coefficient: Additive recursion
  9. Binomial coefficient: Sum 2
  10. Number of tuples with bounded sum
  11. Algorithm for enumerating tuples with bounded sum
  12. Bin packing: config-enum algorithm