Bin Packing Problem
Outline
- Explanation of original bin packing problem
- On-line algorithms for original bin packing problem
- Definition of extensible bin packing problem
- Brief information about some real world applications related to extensible bin packing problem
- A FPTAAS for extensible bin backing problem
- Conclusion
Original Bin Packing Problem
Here size(S) =
∑a∈ S size(a) and profit(S) =
∑a∈ S profit(a).
In original bin packing problem, we are given a list of n items L={a1,a2,…,an} and infinite number of bins with capacity C.
The size of i-th item ai is s(ai), where 0 < s(ai) ≤ C.
The problem is to pack the items in minimum number of bins under the constraint that the total size of items in each bin cannot exceed the capacity of the bin.
Online Algorithms for Original Bin Packing Problem
On-line bin packing algorithms are the algorithms which packs each item one by one without any knowledge of the next items. Thus, approximation factor of these algorithms are higher than offline algorithms in which size and number of items in the list are known before starting to pack them.
Definitions
The following definitions will be used in this section when we talk about on-line algorithms for original bin packing problem.
- There are two types of nonempty bins. Open bins are available for packing additional items whereas closed bins are unavailable for packing. Closed bins cannot be re-opened.
- Bj denotes the items packed in j-th bin.
- |Bj| denotes the number of items in j-th bin.
- The size of a bin is computed as following: c(Bj) = ∑ai ∈ Bj s(ai)
Next-Fit (NF)
- Pack the first item into the first bin
- For each successive item
- If it fits in the bin that contains the last packed item, pack in that bin.
- Otherwise, close this bin and pack the item in an empty bin.
==Extensible Bin Packing Problem ==
Extensible bin packing problem is a variation of original bin packing problem. In this problem, number of bins is given as an input. The capacity of each bin is 1 and bins may be extended to hold more than their capacities. The cost of a bin is 1 if it is not extended, and the size of items in it if it is extended. The goal of this problem is to pack a set of items of given sizes into the specified number of bins in a way to minimize the total cost. In this tutorial, a fully asymptotic approximation scheme will be introduced for extensible bin packing problem.
Extensible bin packing has a number of important real world applications such as:
A FTPAAS for Extensible Bin Packing Problem
Introduction
Input
- xi for i=1,2,3,...,n: size of i-th item.
- m: number of bins
3.2 Notations
- bj for j=1,2,3,...,m: j-th bin
- l(bj): level of bj (total size of items packed into bj)
- c(bj): cost of bj = max(1,l(bj))
3.3 Goal
minimize
∑j=1m c(b
j)
Algorithm
We present an algorithm A(I,ε), which takes a problem instance and a parameter ε and produces an approximation guaranteeing that
A(I,ε) ≤ (1 + ε)OPT(I) + O(ε-1\log{ε-1}) in time bounded by a polynomial in n and ε-1
We can make some assumptions without loss of generality.
First Assumption
There are no
small items. In other words
x
i > ε/(1+ε) for i=1,2,…,n
Second Assumption
There are no
big items. In other words
x
i < 1 for \(i=1,2,…,n
Third Assumption
Total size of all items cannot exceed 2m
∑x=1
n x
i < 2m
Fourth Assumption
The level of a bin cannot exceed 3.
l(b
j) < 3 for j=1,2,…,m
---
For convenience, we will show that
A(I,ε) ≤ (1 + ε)
2OPT(I) + O(ε
-1log{ε
-1})
We can obtain original approximation guarantee by a different choice of ε
We will round the sizes of items up to s1, s2, ..., sN where N is the smallest value for the following inequality
⌊(1+ε)j/ε⌋ε2 ≥ 1
According to the inequality above, N approximately equals to ε-1lnε{-1}
We define the value of s1,s2,…,sN according to the following equation
sj = ⌊(1+ε)j/ε⌋ε2 for \1lej<N
sj = 1 for j=N
Thus,
- s1 < s2 < … < sN
- sN = 1. (Recall that we assume that the maximum size of an item is 1.)
- If sj-1 <xi ≤ sj then round xi to sj.
Increase ratio of items of size less than s1 s1/(ε/(1+ε)) ≤ (1+ε)2
Increase ratio of items of size larger than s1 sj+1/sj ≤ (1+ε)2
Rounding increases the cost of the optimum solution by a faxtor of at most (1+ε)2)</b>
<br>
\(nj: number of items of size sj after rounding.
<b>configuration: packing a bin to a level of at most 3 with sizes chosen from sj
M: number of configurations
Cij: number of items of size sj in the i-th configuration
max(1,∑j=1N Cijsj: cost of packing a bin according to i-th configuration
Ci | zi | s1 | s2 | s3 | sN |
1 | z1 | C11 | C12 | C13 | C1N |
2 | z2 | C11 | C22 | C23 | C2N |
3 | z3 | C11 | C32 | C33 | C3N |
4 | z4 | C11 | C42 | C43 | C4N |
5 | z5 | C11 | C52 | C53 | C5N |
M | zM | C11 | CM2 | CM3 | CMN |
Integer Program
z
i: number of times we use i-th configuration
Objective function: min
∑i=1M z
i.max(1,
∑j=1N C
ijs
j)
subject to
∑i=1M z
iC
ij ≥ n
j for j=1,2,…,N
∑i=1M z
i ≥ m
z
i ∈ {0,1,2,ldots}
When we relax this ILP to LP by allowing zi to be any nonnegative value.
number of inequalities in LP = N+1
- There will be a feasible solution with at most N+1 nonnegative non-integer values.
- Round LP to ILP increases the solution 3(N+1) because each coefficient in the objective function is at most 3. (Recall that l(bj) < 3 for j=1,2,…,m
3(N+1) = O(e-1logε-1)