Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Knapsack & Bin Packing Sebastian Stober Arbeitsgruppe 5: Wie genau ist ungefähr? Sommerakademie Görlitz 2007.

Ähnliche Präsentationen


Präsentation zum Thema: "Knapsack & Bin Packing Sebastian Stober Arbeitsgruppe 5: Wie genau ist ungefähr? Sommerakademie Görlitz 2007."—  Präsentation transkript:

1 Knapsack & Bin Packing Sebastian Stober Arbeitsgruppe 5: Wie genau ist ungefähr? Sommerakademie Görlitz 2007

2 Sebastian Stober - Knapsack & Bin Packing2

3 Sebastian Stober - Knapsack & Bin Packing3 Knapsack a.k.a. Rucksack – Problem (genauer: 0/1-Knapsack) Gegeben: Menge S={a 1,…,a n } von Objekten Größen bzw. Gewichte size(a i ) Z + Nutzen profit(a i ) Z + Kapazität B Z + des Knapsacks Gesucht: Teilmenge von S mit Größe beschränkt durch B Maximalem Wert

4 Sebastian Stober - Knapsack & Bin Packing4 Knapsack – Komplexität / Greedy Knapsack ist NP-vollständig Greedy Heuristik: Sortiere Objekte nach fallendem relativem Nutzen bzgl. Ihrer Größe. (also Nutzen/Größe) Wähle Objekte in dieser Reihenfolge, bis keines mehr hinein passt. Kann beliebig schlecht werden. (Bsp.)

5 Sebastian Stober - Knapsack & Bin Packing5 Knapsack – Optimalitätsprinzip Wenn Knapsack der Größe B optimal mit einer Auswahl I S gepackt ist, so gilt für jedes Objekt o I, dass ein (B - size(o)) -großer Knapsack optimal mit I/{o} gepackt ist. Rekursionsvorschrift für optimalen Wert v(i,b) beim Packen eines Knapsacks der Kapazität b B mit Objekten aus {a 1,…,a i } mit i n : Optimale Auswahl ergibt sich daraus, welcher Fall bei v(n,B) aufgetreten ist. [ignorieren][ hineinlegen ]

6 Sebastian Stober - Knapsack & Bin Packing6 Knapsack – Dyn. Programmierung Iterative Berechnung der v(i,b) und Speicherung in einer Tabellenstruktur (Dynamische Programmierung) Komplexität: pseudo-polynomiell

7 Sebastian Stober - Knapsack & Bin Packing7 Knapsack – FPTAS Idee: Verwende nur eine feste Anzahl von Bits (abhängig von ) und ignoriere die unwichtigsten, so dass der gerundete Nutzen polynomiell in n und 1/ ist. Algorithmus: 1. Für geg. > 0 definiere K= P/n 2. Für jedes Objekt a i, definiere Nutzen 3. Finde optimale Menge S unter Verwendung der gerundeten Werte

8 Sebastian Stober - Knapsack & Bin Packing8 Knapsack – FPTAS Relative Approximationsgüte: (1+ ) Beweis: Sei S* die optimale Menge Für alle a S unterscheiden sich profit(a) und K profit(a) maximal um K, daher: profit(S*) – K profit(S*) nK S muss mindestens so gut sein wie S* unter den modifizierten Profits, da Alg. optimal. Daher profit(S) K profit(S*) profit(S*)-nK = OPT- P und da OPT P folgt: profit(S) (1- )OPT Komplexität:

9 Sebastian Stober - Knapsack & Bin Packing9 Alg. nach Neuhausen & Ullmann Siehe Tafel…

10 Sebastian Stober - Knapsack & Bin Packing10 Alg. nach Neuhausen & Ullmann

11 2. Bin Packing

12 Sebastian Stober - Knapsack & Bin Packing12 Bin Packing – Problem Gegeben: n Objekte Größen a 1,…,a n (0,1] Gesucht: Aufteilung der Objekte in Behälter (Einheitsgröße 1) mit minimaler Anzahl der Behälter

13 Sebastian Stober - Knapsack & Bin Packing13 Bin Packing – Komplexität Bin Packing ist NP-vollständig. Es gibt kein PTAS mit relativer Güte 3/2- für > 0 (vorausgesetzt PNP). (Beweis durch Reduktion des Problems Partition, siehe 3. Vortrag)

14 Sebastian Stober - Knapsack & Bin Packing14 Bin Packing – First Fit Lege a 1 in Behälter B 1 Für jedes weitere Objekt a i, 1

15 Sebastian Stober - Knapsack & Bin Packing15 Asymptotisches PTAS (1) Vereinfachtes Problem: Feste minimale Größe > 0 Feste Anzahl verschiedener Größen K Z + Kann in P gelöst werden Maximal M= 1/ Objekte pro Behälter, daher Typen von Behälter (nach Füllstand) mögliche Verteilungen Polynom in n

16 Sebastian Stober - Knapsack & Bin Packing16 Asymptotisches PTAS (2.1 ) Vereinfachung: Feste minimale Größe > 0 PTAS mit relativer Güte (1+ ) Sortiere Objekte nach steigender Größe Bilde K= 1/ ² Gruppen mit max. Q= n ² Objekten Konstruiere J durch Aufrunden: J hat maximal K verschiedene Objektgrößen Wende vorigen Alg. an

17 Sebastian Stober - Knapsack & Bin Packing17 Asymptotisches PTAS (2.2 ) Warum benötigt J max. (1+ )OPT Behälter? Konstruiere J durch Abrunden: J braucht maximal OPT Behälter Verteilung für J funktioniert auf für alle außer die Q größten Objekte aus J, daher OPT(J) OPT(J)+Q OPT+Q OPT n (da minimale Objektgröße nach Vorraussetzung) Daher Q = n ² OPT Und daher: OPT(J) (1+ )OPT

18 Sebastian Stober - Knapsack & Bin Packing18 Asymptotisches PTAS (3) gegeben: Probleminstanz I 1. Entferne Objekte der Größe modifizierte Probleminstanz I 2. Aufrunden, um konstante Anzahl der Objektgrößen zu erhalten 3. Optimale Verteilung berechnen 4. Verteilung für ursprüngliche Objekte verwenden maximal (1+ )OPT(I) Behälter 5. Objekte, die kleiner als sind, mit First Fit verteilen

19 Sebastian Stober - Knapsack & Bin Packing19 Asymptotisches PTAS (4) a) Es werden keine weiteren Behälter benötigt. b) M sei tatsächliche Anzahle der benötigten Behälter Alle außer der letzte Behälter sind mindestens zu 1- gefüllt (M-1)(1- ) Masse aller Objekte OPT daher: und mit 0 < 1/2 : M (1+2 )OPT+1

20 Sebastian Stober - Knapsack & Bin Packing20 Bin Packing - Zusammenfassung Bin Packing ist NP-vollständig. Es gibt kein PTAS mit relativer Güte 3/2- für > 0 (vorausgesetzt PNP). First Fit: 1,7 OPT Decreasing First Fit: 11/9 OPT Asymptotisches PTAS für 0 < 1/2 mit (1+2 )OPT+1


Herunterladen ppt "Knapsack & Bin Packing Sebastian Stober Arbeitsgruppe 5: Wie genau ist ungefähr? Sommerakademie Görlitz 2007."

Ähnliche Präsentationen


Google-Anzeigen