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

Bin Packing

  • Upload
    jeb

  • View
    62

  • Download
    0

Embed Size (px)

DESCRIPTION

Bin Packing. Prof. Dr. S. Albers Prof. Dr. Th. Ottmann. 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. Problembeschreibung. Gegeben: n Objekte der Größen - PowerPoint PPT Presentation

Citation preview

Page 1: Bin Packing

WS03/04 1

Bin Packing

Prof. Dr. S. Albers

Prof. Dr. Th. Ottmann

Page 2: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

17 WS03/04

First Fit

m

mm BB6

1014

2/1

2/1

.........

Page 18: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

27 WS03/04

First Fit Decreasing

Satz

Für alle Inputfolgen I gilt:

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

Page 28: Bin Packing

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: Bin Packing

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: Bin Packing

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: Bin Packing

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