31
WS03/04 1 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

Embed Size (px)

Citation preview

Page 1: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

WS03/04 1

Bin Packing

Prof. Dr. S. Albers

Prof. Dr. Th. Ottmann

Page 2: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

2 WS03/04

Bin Packing

1. Problembeschreibung und einfache Beobachtungen

2. Approximative Lösung des Online Bin Packing Problems

3. Approximative Lösung des Offline Bin Packing Problems

Page 3: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

3 WS03/04

Problembeschreibung

Gegeben:

n Objekte der Größen

s1, ... , sn

mit 0 < si 1, für 1 i n.

Gesucht:

Die kleinst mögliche Anzahl von Kisten (Bins) der Größe 1, mit der alle

Objekte verpackt werden können.

Beispiel:

7 Objekte mit Größen 0.2, 0.5, 0.4, 0.7, 0.1, 0.3, 0.8

Page 4: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

4 WS03/04

Problembeschreibung

Online Bin Packing:

Jedes (ankommende) Objekt muss verpackt sein, bevor das nächste

Objekt betrachtet wird. Ein Objekt verbleibt in derjenigen Kiste, in die

es zuerst gepackt wird.

Offline Bin Packing:

Zunächst werden die Anzahl n und alle n Objekte vorgegeben. Dann

beginnt die Verpackung.

Page 5: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

5 WS03/04

Beobachtung

• Bin Packing ist beweisbar schwer.

(Offline Version ist NP-schwer.

Entscheidungsproblem ist NP-vollständig.)

• Kein Online Bin-Packing Verfahren kann stets

eine optimale Lösung liefern

1/2

0.... .....

1 2 m m + 1 m + 2 2m

Zeit

1

Page 6: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

6 WS03/04

Online Verfahren

Satz 1

Es gibt Eingaben, die jeden Online Bin Packing Algorithmus zwingen,

wenigstens 4/3 OPT Bins zu verwenden, wobei OPT die minimal

mögliche Binzahl ist.

Beweis:

Annahme: Online Bin Packing Algorithmus A benötigt stets weniger als

4/3 OPT Bins

1/2

0.... .....

1 2 m m + 1 m + 2 2m

Zeit

1

Page 7: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

7 WS03/04

Online Verfahren

Zeitpunkt 1:

OPT = m/2 und #Bins(A) = b

Es gilt nach Annahme: b < 4/3 m/2 = 2/3m

Sei b1 = #Bins mit einem Objekt

b2 = #Bins mit zwei Objekten

Es gilt: b1 + 2 b2 = m

1/2

0.... .....

1 2 m m + 1 m + 2 2m

Zeit

1

Page 8: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

8 WS03/04

Online Verfahren

Zeitpunkt 2:

OPT = m und #Bins(A) (b1 + b2 ) + (m – b1) = m + b2

Annahme: m + b2 #Bins( A ) < 4/3 m

b2 < m/3

1/2

0.... .....

1 2 m m + 1 m + 2 2m

Zeit

1

Page 9: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

9 WS03/04

Online Verfahren

Next Fit (NF), First-Fit (FF), Best-Fit (BF)

Next Fit:

Verpacke das nächste Objekt in dieselbe Kiste wie das vorherige, wenn

es dort noch hineinpasst, sonst öffne eine neue Kiste und verpacke es

dort.

Satz 2

(a) Für alle Inputfolgen I gilt:

NF(I) 2OPT(I).

(b) Es gibt Inputfolgen I mit:

NF(I) 2OPT(I) – 2.

Page 10: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

10 WS03/04

Next Fit

Beweis: (a)

Betrachte zwei Kisten B2k-1, B2k, 2k NF( I ).

0

1

B1 B2 B2k-1 B2k

Page 11: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

11 WS03/04

Next Fit

Beweis: (b)

Betrachte Inputfolge I mit Länge n

(n 0 ( mod 4)):

0.5, 2/n, 0.5, 2/n, 0.5, ... , 0.5, 2/n

Optimale Packung:

0

1

B1 B2 Bn/4 Bn/4 + 1

0.5

0.5

0.5

0.5

0.5

0.5 2/n2/n

2/n

.......... .....

Page 12: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

12 WS03/04

Next Fit

Next Fit Liefert:

NF ( I ) =

OPT ( I ) =

00.5

1

B1 B2 Bn/2

..........2/n 2/n

0.5 0.5

2/n

Page 13: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

13 WS03/04

First Fit

First Fit:

Packe nächstes Objekt in die erste Kiste, in die es noch hineinpasst,

wenn es eine solche Kiste gibt, sonst in eine neue Kiste.

Beobachtung:

Zu jedem Zeitpunkt kann es höchstens eine Kiste geben, die weniger

als halb voll ist.

FF( I ) 2OPT( I )

Page 14: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

14 WS03/04

First Fit

Satz 3

(a) Für alle Inputfolgen I gilt:

FF( I ) 17/10 OPT( I )

(b) Es gibt Inputfolgen I mit:

FF( I ) 17/10 (OPT( I ) – 1)

(b´) Es gibt Inputfolgen I mit:

FF( I ) = 10/6 OPT( I )

Page 15: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

15 WS03/04

First Fit

Beweis (b`): Inputfolge der Länge 3 6m

m

mm

6

66

2/1,,2/1

,3/1,,3/1,7/1,,7/1

Page 16: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

16 WS03/04

First Fit

First-Fit liefert:

m

mBB

7/1

7/1

7/1

7/1

7/1

7/1

7/1

7/1

7/1

7/1

7/1

7/1

1

2/6

41

3/1

3/1

3/1

3/1

m

mm BB

Page 17: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

17 WS03/04

First Fit

m

mm BB6

1014

2/1

2/1

.........

Page 18: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

18 WS03/04

Best Fit

Best Fit:

Verpacke das nächste Objekt in diejenige Kiste, in die es am besten

passt (d.h. den geringsten Platz ungenutzt lässt).

Verhalten von BF ähnlich zu FF

Laufzeit für Inputfolgen der Länge n

NF O(n)

FF O(n2) O(n log n)

BF O(n2) O(n log n)

Page 19: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

19 WS03/04

Off-line Verfahren

n und s1, ..., sn sind gegeben, bevor die Verpackung beginnt

Optimale Packung kann durch erschöpfende Suche

bestimmt werden.

Idee für off-line Approximationsalgorithmus:

Sortiere die Objekte zunächst nach abnehmender

Größe und verpacke größerer Objekte zuerst!

First Fit Decreasing (FFD) bzw. FFNI

Best Fit Decreasing (BFD)

Page 20: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

20 WS03/04

First Fit Decreasing

Lemma 1

Sei I eine Folge von n Objekten mit Größen

s1 s2 ..... sn

und sei m = OPT(I).

Dann haben alle von FFD in den Bins

Bm+1,Bm+2, ... , BFFD(I)

verpackten Objekte eine Größe von höchstens 1/3.

Page 21: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

21 WS03/04

First Fit Decreasing

Beweis von Lemma 1:

Inputfolge I, absteigend sortiertm = OPT(I)

i – kleinster Index, so dass si Bm+1

s1 s2 s3 ....................... si-1 si si+1

B1, ..... , Bm Bm+1

Page 22: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

22 WS03/04

First Fit Decreasing

Beobachtung:

Gibt es eine Kiste mit drei Objekten in einer Verpackung

von s1,..., si , dann ist si 1/3

Annahme:

Alle Kisten in der FFD-Verpackung von s1,..., si enthalten

höchstens zwei Objekte.

Page 23: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

23 WS03/04

First Fit Decreasing

FFD-Verpackung

s1 s2 s3 sj sj+1 si-1

Gesamtanzahl der Objekte

i – 1 = j + 2(m – j)

s1 s2 s3 sj...............

B1 B2 B3 Bj Bj+1 Bm

.............

............... .............

Page 24: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

24 WS03/04

First Fit Decreasing

Optimale Verpackung:

1. j Objekte s1, ... ,sj in j Kisten B1, ... ,Bj

2. i – j Objekte sj+1, ... ,si in

m – j Kisten Bj + 1, ... ,Bm

s1 s2 s3 sj...............

B1 B2 B3 Bj Bj+1 Bm

.............

Page 25: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

25 WS03/04

First Fit Decreasing

Lemma 2

Sei I eine Folge von n Objekten mit Größen

s1 s2 ..... sn

und sei m = OPT( I ).

Dann ist die Anzahl der Objekte, die FFD in die Kisten

Bm+1,Bm+2, ... , BFFD(I)

verpackt, höchstens m – 1.

Page 26: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

26 WS03/04

First Fit Decreasing

Beweis von Lemma 2:

Annahme: Es gibt mehr als m – 1 Objekte

x1,....,xm in I, die FFD in extra Kisten verpackt.

W1 W2 Wm

B1 B2 Bm Bm+1

Page 27: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

27 WS03/04

First Fit Decreasing

Satz

Für alle Inputfolgen I gilt:

FFD( I ) (4 OPT( I ) + 1)/3.

Page 28: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

28 WS03/04

First Fit Decreasing

SatzFür alle Inputfolgen I gilt:

FFD( I ) (4 OPT( I ) + 1)/3.

Satz:

1. Für alle Inputfolgen I gilt:

FFD( I ) 11/9 OPT( I ) + 4.

2. Es gibt Inputfolgen I mit:

FFD( I ) = 11/9 OPT( I ).

Page 29: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

29 WS03/04

First Fit Decreasing

Beweis 2: Inputfolge der Länge 3 6m + 12m

mm

mm

126

66

24/1,,24/1,4/1,,4/1

24/1,,24/1,2/1,,2/1

Optimale Packung:

1/2 +

1/4 - 2

1/4 +

1/2 +

1/4 - 2

1/4 +

............

1/4 - 2

1/4 - 2

1/4 + 2

1/4 + 2

.........

1/4 - 2

1/4 - 2

1/4 + 2

1/4 + 2

m

m

m

BBB B3

9 16

6

61

Page 30: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

30 WS03/04

First Fit Decreasing

1/2 +

1/4 + 2

1/4 +

1/4 +

1/4 + ..........

1/4 -

1/4 -

1/4 -

1/4 -

................... ..........

m

m

m

m

m

BBB3

8

2

16

6

1

First Fit Decreasing liefert:

OPT(I) = 9mFFD(I) = 11m

Page 31: WS03/041 Bin Packing Prof. Dr. S. Albers Prof. Dr. Th. Ottmann

31 WS03/04

Literaturhinweis

Bin Packing Verfahren sind Beispiele für Greedy Algorithmen

Werden in vielen Lehrbüchern behandelt, z.B. in:

Mark Allen Weiss: Data Structures and Algorithm Analysis in C++,

The Benjamin/Cummings Publishing Comp., Redwood City,

1994

Vgl. dort Chapter 10.1.3