Knapsack Bin Packing Sebastian Stober Arbeitsgruppe 5 Wie
Knapsack & Bin Packing Sebastian Stober Arbeitsgruppe 5: Wie genau ist ungefähr? Sommerakademie Görlitz 2007 10. 9. 2007 Sebastian Stober - Knapsack & Bin Packing
10. 9. 2007 Sebastian Stober - Knapsack & Bin Packing 2
Knapsack a. k. a. Rucksack – Problem (genauer: 0/1 -Knapsack) ¡ Gegeben: l l ¡ Menge S={a 1, …, an} von Objekten Größen bzw. Gewichte size(ai) Z+ Nutzen profit(ai) Z+ Kapazität B Z+ des Knapsacks Gesucht: l Teilmenge von S mit Größe beschränkt durch B ¡ Maximalem Wert ¡ 10. 9. 2007 Sebastian Stober - Knapsack & Bin Packing 3
Knapsack – Komplexität / Greedy Knapsack ist NP-vollständig ¡ Greedy Heuristik: ¡ l l l 10. 9. 2007 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. ) Sebastian Stober - Knapsack & Bin Packing 4
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, …, ai} mit i ≤ n: [ignorieren][------ hineinlegen -----] ¡ 10. 9. 2007 Optimale Auswahl ergibt sich daraus, welcher Fall bei v(n, B) aufgetreten ist. Sebastian Stober - Knapsack & Bin Packing 5
Knapsack – Dyn. Programmierung ¡ ¡ 10. 9. 2007 Iterative Berechnung der v(i, b) und Speicherung in einer Tabellenstruktur (Dynamische Programmierung) Komplexität: pseudo-polynomiell Sebastian Stober - Knapsack & Bin Packing 6
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 ai, definiere Nutzen 3. Finde optimale Menge S‘ unter Verwendung der gerundeten Werte 10. 9. 2007 Sebastian Stober - Knapsack & Bin Packing 7
Knapsack – FPTAS Relative Approximationsgüte: (1+ ) Beweis: ¡ l l l ¡ 10. 9. 2007 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*) ≤ n. K S‘ muss mindestens so gut sein wie S* unter den modifizierten Profits, da Alg. optimal. Daher profit(S‘) ≥ K profit‘(S*) ≥ profit(S*)-n. K = OPT- P und da OPT ≥ P folgt: profit(S‘) ≥ (1 - )OPT Komplexität: Sebastian Stober - Knapsack & Bin Packing 8
Alg. nach Neuhausen & Ullmann ¡ 10. 9. 2007 Siehe Tafel… Sebastian Stober - Knapsack & Bin Packing 9
Alg. nach Neuhausen & Ullmann 10. 9. 2007 Sebastian Stober - Knapsack & Bin Packing 10
2. Bin Packing 10. 9. 2007 Sebastian Stober - Knapsack & Bin Packing
Bin Packing – Problem ¡ Gegeben: l l ¡ Gesucht: l 10. 9. 2007 n Objekte Größen a 1, …, an (0, 1] Aufteilung der Objekte in Behälter (Einheitsgröße 1) mit minimaler Anzahl der Behälter Sebastian Stober - Knapsack & Bin Packing 12
Bin Packing – Komplexität ¡ ¡ Bin Packing ist NP-vollständig. Es gibt kein PTAS mit relativer Güte 3/2 - für > 0 (vorausgesetzt P≠NP). (Beweis durch Reduktion des Problems Partition, siehe 3. Vortrag) 10. 9. 2007 Sebastian Stober - Knapsack & Bin Packing 13
Bin Packing – First Fit Lege a 1 in Behälter B 1 Für jedes weitere Objekt ai, 1<i≤n: Lege ai in Bi ¡ Relative Güte: 1, 7 ¡ Modifikation: Decreasing First Fit l ¡ 10. 9. 2007 Sortiere die Objekte nach absteigender Größe Relative Güte: 11/9 Sebastian Stober - Knapsack & Bin Packing 14
Asymptotisches PTAS (1) ¡ Vereinfachtes Problem: l l ¡ Kann in P gelöst werden l l 10. 9. 2007 Feste minimale Größe > 0 Feste Anzahl verschiedener Größen K Z+ Maximal M= 1/ Objekte pro Behälter, daher Typen von Behälter (nach Füllstand) mögliche Verteilungen Polynom in n Sebastian Stober - Knapsack & Bin Packing 15
Asymptotisches PTAS (2. 1) ¡ ¡ Vereinfachung: Feste minimale Größe > 0 PTAS mit relativer Güte (1+ ) l Sortiere Objekte nach steigender Größe l Bilde K= 1/ ² Gruppen mit max. Q= n ² Objekten l Konstruiere J durch Aufrunden: l l 10. 9. 2007 J hat maximal K verschiedene Objektgrößen Wende vorigen Alg. an Sebastian Stober - Knapsack & Bin Packing 16
Asymptotisches PTAS (2. 2) ¡ Warum benötigt J max. (1+ )OPT Behälter? l Konstruiere J‘ durch Abrunden: l l l 10. 9. 2007 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 Sebastian Stober - Knapsack & Bin Packing 17
Asymptotisches PTAS (3) gegeben: Probleminstanz I 1. Entferne Objekte der Größe 2. Aufrunden, um konstante Anzahl der Objektgrößen zu erhalten Optimale Verteilung berechnen Verteilung für ursprüngliche Objekte verwenden 3. 4. modifizierte Probleminstanz I‘ maximal (1+ )OPT(I‘) Behälter 5. 10. 9. 2007 Objekte, die kleiner als sind, mit First Fit verteilen Sebastian Stober - Knapsack & Bin Packing 18
Asymptotisches PTAS (4) a) b) Es werden keine weiteren Behälter benötigt. 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 ¡ ¡ 10. 9. 2007 Sebastian Stober - Knapsack & Bin Packing 19
Bin Packing - Zusammenfassung Bin Packing ist NP-vollständig. ¡ Es gibt kein PTAS mit relativer Güte 3/2 - für > 0 (vorausgesetzt P≠NP). ¡ First Fit: 1, 7 OPT ¡ Decreasing First Fit: 11/9 OPT ¡ Asymptotisches PTAS für 0 < ≤ 1/2 mit (1+2 )OPT+1 ¡ 10. 9. 2007 Sebastian Stober - Knapsack & Bin Packing 20
- Slides: 20