Packing Rectangles into Bins Nikhil Bansal (CMU) Joint with Maxim Sviridenko (IBM)
-
Upload
maria-joan-henry -
Category
Documents
-
view
214 -
download
1
Transcript of Packing Rectangles into Bins Nikhil Bansal (CMU) Joint with Maxim Sviridenko (IBM)
Packing Rectangles into Bins
Nikhil Bansal (CMU)Joint with Maxim Sviridenko (IBM)
2/61
ProblemGiven: Collection of rectangles (by height, width)Goal : Pack in min # of unit square bins
Rectangles parallel to bin edges Cannot be rotated
1
4
6
53 2
Rectangles
Bins
12 3
4 56
123
45
6
3/61
ProblemGiven: Collection of rectangles (by height, width)Goal : Pack in min # of unit square bins
Rectangles parallel to bin edges Cannot be rotated
1
4
6
5
32 2-d Bin Packing
Rectangles
12 3
4 56
12
3
4 5
6
4/61
Motivation
Many Applications: Real World packing of (real world) bins
Placing ads in newspapers Cloth cutting: Minimizing sheets to buy Truck Loading Memory allocation in paging systems …
5/61
1-d Bin Packing
Special case of 2-d packing
1-dim bin packing:Collection of intervals with length in [0,1], Pack into min # of unit bins
!1
42
31
43
2
6/61
1-d Bin Packing
Special case of 2-d packing
1-dim bin packing:Collection of intervals with length in [0,1], Pack into min # of unit bins (NP-Hard)
!1
42
31
43
2
7/61
Approximation algorithms
An algorithm is a approximation ( > 1) if runs in polynomial time Value of solution · Opt Opt: value of optimum solution
Polynomial time approximation scheme (PTAS) is a
family of 1+ approximation algorithms for every > 0.
E.g., Running Time
8/61
1-d bin packing: InapproximabilityCannot get a poly time approximation < 3/2
Partition problem (NP-Hard): Given s1,…,sn , S= s1+s2,…,sn
9 a subset of elements that sums to exactly S/2 ?
S/2
s1 s6s2 s5s3 s4
S/2
But maybe can get Opt + 1 in poly time ?
9/61
Asymptotic PTAS
Alg · (1+) Opt + f()
f() depends only on e.g. (1/)(1/)
For 1-d bin packing:Alg · (1+) Opt + O(1/2) [de la Vega, Lueker 81]
10/61
Outline
Introduction APTAS for 1-d packing [de la Vega, Lueker 81]
Results for 2-d packing Conclusions
11/61
APTAS for 1-d bin packing
Theorem: [de la Vega, Lueker 81] Alg(I) · Opt(I)/(1-) + 1/2
¼ Opt(I) (1+) + f()
!1
42
31
43
2
12/61
Main idea
Simplify Original instance I -> I’
I’: easy to solve Solutions of I and I’ close (within 1+)
13/61
Ideas applied to 1-d packing
· : Small ¸ : Big
1) I ! I’ with 1/2 different big sizes & solns. within 1+
2) I’ easy: If k= O(1) different big sizes, can get Opt
+ k
14/61
1-d: Rounding to a simpler instance
0 1I
Various object sizes
15/61
1-d: Rounding to a simpler instance Ib : I restricted to bigs. Let b = # of bigs (i.e. ¸ )
0 1Ib
1
Various object sizes
16/61
1-d: Rounding to a simpler instance
Partition big into 1/2 groups, each group has b¢ 2 objects
0 1Ib
Ib : I restricted to bigs. Let b = # of bigs (i.e. ¸
)
(here b¢2 =3)
17/61
1-d: Rounding to a simpler instance
Partition big into 1/2 groups, each group has b¢ 2 objects
Instance I’b : Ignore largest b ¢ 2 objects. Round up sizes to smallest size in next higher group
0 1
0 1I’b
Ib
Ib : I restricted to bigs. Let b = # of bigs (i.e. ¸ )
18/61
1-d: Rounding to a simpler instance
Partition big into 1/2 groups, each group has b¢ 2 objects
Instance I’b : Ignore largest b ¢ 2 objects. Round up sizes to smallest size in next higher group
Alg(I’b) · Alg(Ib)
0 1
0 1I’b
Ib
Ib : I restricted to bigs. Let b = # of bigs (i.e. ¸
)
19/61
1-d: Rounding to a simpler instance
Partition big into 1/2 groups, each group has b¢ 2 objects
Instance I’b : Ignore largest b ¢ 2 objects. Round up sizes to smallest size in next higher group
Alg(Ib) · Alg(I’b) + b 2
0 1
0 1I’b
Ib
Ib : I restricted to bigs. Let b = # of bigs (i.e. ¸
)
20/61
1-d: Rounding to a simpler instance
Partition big into 1/2 groups, each group has b¢ 2 objects
Instance I’b : Ignore largest b ¢ 2 objects. Round up sizes to smallest size in next higher group
Alg(I’b) · Alg(Ib) · Alg(I’b) + b 2
0 1
0 1I’b
Ib
Ib : I restricted to bigs. Let b = # of bigs (i.e. ¸
)
21/61
1-d: Rounding to a simpler instance
Partition big into 1/2 groups, each group has b¢ 2 objects
Instance I’b : Ignore largest b ¢ 2 objects. Round up sizes to smallest size in next higher group
Alg(I’b) · Alg(Ib) · Alg(I’b) + b 2
Opt(Ib) ¸ b ) b 2 · Opt(Ib)
0 1
0 1I’b
Ib
Ib : I restricted to bigs. Let b = # of bigs (i.e. ¸
)
22/61
1-d: Solving the “few and big” caseI’b : 1/2 different sizes > . Call these s1,…,sk .
Configuration: A way to pack a bin (Eg: C = [3 s1, 17 s3, 5 s18] )
|Configurations| · (1/2)1/ = O(1)
xi : # of bins with configuration i
nj : # of objects of size sj in instance
cij: # of objects of size sj in configuration i.
Minimize i xi
i cij xi ¸ nj 8 j 2 [1,..,1/2]
xi ¸ 0 8 i, xi 2 Z
IP for I’b
23/61
1-d: “Few and Big” using LP
Minimize i xi
i cij xi ¸ nj 8 j 2 [1,..,1/2]
xi ¸ 0 (Relaxed to be fractional)
Clearly, LP (Ib’) · OPT(Ib’)
xi could be fractional.Round up to next integer ( Eg: 17.34 -> 18)
Adds · # configurations = (1/2)1/ = O(1)In fact, adds · 1/2 (non-zero xi’s in basic soln)
24/61
1-d: Filling in the smalls
So, Alg(Ib) · Opt(I)/(1-) + 1/2
Packing smalls: In each bin, fill as many smalls as possible. If bins not enough, open new bins to fill smalls.
Proof: If no new bins opened, done. If new bins opened, all bins (except maybe last) filled 1-
So, Alg(I) · Area(I)/(1-) + 1 · Opt(I)/(1-) + 1
25/61
1-d: Overview
0) Partition into small and big 1) Pack small objects later 2) Round large objects to O(1) sizes. Solve the “few and big” case almost optimally.
26/61
Outline
Introduction APTAS for 1-d packing [de la Vega, Lueker 81]
Results for 2-d packing Conclusions
27/61
Outline
Introduction APTAS for 1-d packing [de la Vega, Lueker 81]
Results for 2-d packing Square packing problem General rectangle packing problem
Conclusions
28/61
Square Packing Problem
Given a collection of squares (hypercubes for d>2)Pack into min # of unit bins.
1
3
2 5
7
6
41
3
2
5 764!
1
3
2
5 764
29/61
Square Packing: Previous Work2-dim: 2.125 [Chung, Garey, Johnson 82]
……
1.454 [Epstein, van Stee 03]
d-dim: (3/2)d [Coppersmith, Raghavan 89]
……
2-(2/3)d [Kohayakawa et al 02]
We give an APTAS (i.e., Alg(I) · 1+ Opt(I) + f() )
30/61
Outline
Introduction APTAS for 1-d packing [de la Vega, Lueker 81]
Results for 2-d packing Square packing problem
O(1) Approximation APTAS
General rectangle packing problem Conclusions
31/61
O(1) Approximation: Square PackingOpt ¸ Total area of squares in I.
If we can use constant fraction of area in each bin ) O(1) approximation.
Eg: If use ¸ 1/100th area in each bin ) 100 approx
32/61
O(1) approximation: Square PackingIf big (length ¸ 1/3), put in its own bin.Use ¸ 1/9th area.
Big uses > 1/9th area
Need a way to pack small objects efficiently.
33/61
Shelf Packing
Given a rectangular region of size a £ bGoal: Pack squares of length · s
a
b
34/61
Shelf Packing
Given a rectangular region of size a £ bGoal: Pack squares of length · s Algorithm: Decreasing size shelf packing.
1 3
a
b
2
Take squares in decreasing size
• Place sequentially
35/61
Shelf Packing
Given a rectangular region of size a £ bGoal: Pack squares of length · s Algorithm: Decreasing size shelf packing.
1 3
a
b
2
Take squares in decreasing size
• Place sequentially• If next does not fit, open a new shelf
36/61
Shelf Packing
Given a rectangular region of size a £ bGoal: Pack squares of length · s Algorithm: Decreasing size shelf packing.
1 3
48a
b
Take squares in decreasing size
• Place sequentially• If next does not fit, open a new shelf
37/61
Shelf Packing
Given a rectangular region of size a £ bGoal: Pack squares of length · sAlgorithm: Decreasing size shelf packing.
1 3
48
9 16
a
b
Take squares in decreasing size
• Place sequentially• If next does not fit, open a new shelf
38/61
Shelf Packing
Given a rectangular region of size a £ bGoal: Pack squares of length · sAlgorithm: Decreasing size shelf packing.
Wasted Space · s(a+b)
1 3
48
9 16
a
b
39/61
Shelf Packing
Given a rectangular region of size a £ bGoal: Pack squares of length · sAlgorithm: Decreasing size shelf packing.
Wasted Space · s(a+b)
Right side: At most s £ a
1 3
48
9 16
a
b
40/61
Shelf Packing
Given a rectangular region of size a £ bGoal: Pack squares of length · sAlgorithm: Decreasing size shelf packing.
Wasted Space · s(a+b)
Right side: At most s £ aTop · s16 b
1 3
48
9 16
a
b
41/61
Shelf Packing
Given a rectangular region of size a £ bGoal: Pack squares of length · sAlgorithm: Decreasing size shelf packing.
Wasted Space · s(a+b)
Right side: At most s £ aTop · s16 b
Shelf 1: (s1 –s3) b
1 3
48
9 16
a
b
42/61
Shelf Packing
Given a rectangular region of size a £ bGoal: Pack squares of length · sAlgorithm: Decreasing size shelf packing.
Wasted Space · s(a+b)
Right side: At most s £ aTop · s16 b
Shelf 1: (s1 –s3) bShelf 2: (s4 – s8) b …
1 3
48
9 16
a
b
43/61
Shelf Packing
Given a rectangular region of size a £ bGoal: Pack squares of length · sAlgorithm: Decreasing size shelf packing.
Wasted Space · s(a+b)
Right side: At most s £ aTop · s16 b
Shelf 1: (s1 –s3) bShelf 2: (s4 – s8) b ….Adding all, at most (s1-s16) b
1 3
48
9 16
a
b
44/61
Square Packing: Packing Smalls
If all squares · s, waste in a £ b region · s(a+b)
If a=b=1, s · 1/3 ) Waste · 2/3
O(1) approximation follows.
45/61
Outline
Introduction APTAS for 1-d packing [de la Vega, Lueker 81]
Results for 2-d packing Square packing problem
O(1) Approximation APTAS
General rectangle packing problem Conclusions
46/61
Square Packing
0 1
Squares with various lengths
47/61
Square Packing
0=10 1m1/m+1 2……
G0G1GmG1/ -1
48/61
Square Packing
0=10 1m1/m+1 2……
G0G1GmG1/ -1
Gm =[ m+1,m) be such that area · (total area)
Small BigMedium
49/61
Square Packing
0=10 1m1/m+1 2……
G0G1GmG1/ -1
Pack medium in separate bins using O(1) approx
Adds at most O() to the number of bins. Ignore medium jobs from now on.
Small BigMedium
Gm =[ m+1,m) be such that area · (total area)
50/61
Square Packing
0=10 1m1/m+1 2……
G0G1G1/ -1
Pack medium in separate bins using O(1) approx
Adds at most O() to the number of bins. Ignore medium jobs from now on.
Small Big
Gm =[ m+1,m) be such that area · (total area)
51/61
Square Packing
0=10 1m1/m+1 2……
G0G1G1/ -1
Pack medium in separate bins using O(1) approx
Adds at most O() to the number of bins. Ignore medium jobs from now on.
Small Big
0= 1 , i = i-12 (1,,3,7,…)
Gm =[ m+1,m) be such that area · (total area)
52/61
Square Packing
Packing bigs: Rounding technique similar to 1-d case, ! O(1) different lengths
Opt(Ib’) · Opt(Ib) · Opt(Ib’)/(1-)
LP to find close to optimum packing of Ib’
0=10 1m1/m+1 2……
G0G1G1/ -1
Small Big
53/61
Square Packing: Filling in the smalls
Bigs use ¼ Opt bins
What about smalls?
54/61
Square Packing: Filling in the smalls
Divide the free space into
rectangular gaps.
Fill smalls in gaps using decreasing size shelf
algorithm
Rectangular Gaps
55/61
Square Packing: Filling in the smalls
# bigs · 1/m2, gaps · 4/m
2
Recall: Packing · s in a £ b wastes at most s(a+b)
a+b · 2, s · m+1 = m2
Total waste · 2 s ¢ #gaps · 2 m
2 ¢ 4/m2
· 8
Rectangular Gaps
Small · m+1 , big ¸ m
56/61
Square Packing
If no new bins opened for smalls, done.
If we do, waste in each bin (except maybe last) is O(), hence done by area lower bound.
Thm: ALG(I) · (1+) Opt(I) +
Generalizes to d>2 dimensions with few modifications.
57/61
Square Packing: Technique Summary
Partition into big, medium, small Ignore mediums Gap between big and small Ideas from 1-d + packing smalls with low waste
58/61
Outline
Introduction APTAS for 1-d packing [de la Vega, Lueker 81]
Results for 2-d packing Square packing problem General rectangle packing problem
Conclusions
59/61
Rectangle packing
Problem: Pack rectangles into min # of unit bins. (no rotation)
2.125 approximation [ Chung, Garey, Johnson 82]2+ [ Kenyon, Remila 96]Best known: 1.691… + [Caprara 02]
Prior to our work: APTAS open
60/61
Results for Rectangle PackingMain Thm: No APTAS exists for 2-d rectangle
packing.
Hence for d>2.
Proof: Lets skip it.
61/61
Conclusion and Open ProblemsImpossibility of APTAS for rectangle packingAPTAS for square packing
1-d Case: (1+) Opt + O(1/2) [de la Vega, Lueker 81] Opt + O(log2(Opt)) [Karmarkar, Karp 82]
Opt + O(1) ?
d =2 : 1.691+ [Caprara 02]
d > 2: 1.691d [Csirik, Van Vliet 93]
(cd) lower bounds for d-dim bin packing ?
62/61
Results for Rectangle PackingMain Thm: No APTAS exists for 2-d rectangle packing.
Hence for d>2.
Thm [Kenyon, Correa 04] : APTAS if allow Alg to pack in (1+) £ (1+) size bins Alg*(I) · (1+) Opt(I) + f()
Thm: APTAS if allow Alg to pack in 1 £ (1+) size bins.
63/61
Hardness
2-d Vector Packing Problem:Given 2-d vectors (equivalently rectangles). In each
bin, widths · 1 , and heights · 1.
Valid Invalid
64/61
Hardness of Vector Packing
X={x1,…,xn}, Y={y1,…,yn}, Z={z1,…,zn}, T= {t1,…,tn}Each >b/5 and < b/3
Goal: Max. number of disjoint 4-tuples that sum to exactly bSNP-Hard: 9 Cannot distinguish if n such tuples or (1-) n
[ Woeginger’s construction’ 97]
Xi’ = (.2 + xi/5b, .3 – xi/5b) Yi’ = (.2 + yi/5b, .3 – yi/5b)
Zi’ = (.2 + zi/5b, .3 – zi/5b) Ti’ = (.2 + ti/5b, .3 – ti/5b)
Observation: All these fit in a bin iff xi+yj+zk+tl = b
65/61
Rectangle Packing2 rectangles for each object in X,Y,Z,T(Thin, Tall) and (Fat, Short) for each object in
X,Y,Z(Fat, Tall) and (Thin, Short) for each object in T
Yj
Y’j
Zk Tl
Xi
X’i Z’k T’l
Details to show that other patterns do not work