1 / 20

Knapsack & Bin Packing

Knapsack & Bin Packing. Sebastian Stober Arbeitsgruppe 5: Wie genau ist ungefähr? Sommerakademie Görlitz 2007. 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 +

benoit
Download Presentation

Knapsack & Bin Packing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Sebastian Stober - Knapsack & Bin Packing

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

  4. 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.) Sebastian Stober - Knapsack & Bin Packing

  5. 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 {a1,…,ai} mit i ≤ n: • Optimale Auswahl ergibt sich daraus, welcher Fall bei v(n,B) aufgetreten ist. [ignorieren] [----------- hineinlegen ----------] Sebastian Stober - Knapsack & Bin Packing

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

  7. 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: • Für geg.  > 0 definiere K=P/n • Für jedes Objekt ai,definiere Nutzen • Finde optimale Menge S‘ unter Verwendung der gerundeten Werte Sebastian Stober - Knapsack & Bin Packing

  8. 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: Sebastian Stober - Knapsack & Bin Packing

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

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

  11. 2. Bin Packing

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

  13. 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) Sebastian Stober - Knapsack & Bin Packing

  14. Bin Packing – First Fit Lege a1 in Behälter B1 Für jedes weitere Objekt ai, 1<i≤n: Lege ai in Bi • Relative Güte: 1,7 • Modifikation: Decreasing First Fit • Sortiere die Objekte nach absteigender Größe • Relative Güte: 11/9 Sebastian Stober - Knapsack & Bin Packing

  15. 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 Sebastian Stober - Knapsack & Bin Packing

  16. 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 Sebastian Stober - Knapsack & Bin Packing

  17. 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 Sebastian Stober - Knapsack & Bin Packing

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

  19. Asymptotisches PTAS (4) • 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 Sebastian Stober - Knapsack & Bin Packing

  20. 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 Sebastian Stober - Knapsack & Bin Packing

More Related