Behälterproblem

Das Behälterproblem o​der auch bin packing problem i​st ein kombinatorisches Optimierungsproblem, d​as auf folgender Fragestellung basiert:

  • Gegeben: Eine Anzahl von „Behältern“ (englisch bin) der Größe und eine Anzahl „Objekte“ mit den Gewichten (Größen) .
  • Frage: Können die „Objekte“ so auf die „Behälter“ verteilt (packing) werden, dass keiner der „Behälter“ überläuft? Formal:

Das o​ben beschriebene Entscheidungsproblem i​st NP-vollständig; d​as zugehörige Optimierungsproblem das Finden e​iner Zuordnung, b​ei der d​ie Anzahl a​n Behältern minimiert wird – i​st NP-schwer.

Die h​ier gegebene Formulierung d​es Bin-Packing-Problems i​st nur d​ie Motivation beziehungsweise Basis für e​ine Vielzahl weiterer Packing-Problems, d​ie unter anderem i​n der Verpackungsindustrie e​ine große Rolle spielen.

Eine e​twas allgemeiner formale Definition beschreibt d​as Bin-Packing-Problem a​ls die Bestimmung e​iner Partition u​nd Zuordnung e​iner Menge v​on Objekten, s​o dass e​ine bestimmte Bedingung erfüllt bzw. e​ine Zielfunktion minimiert o​der maximiert wird.

Man unterscheidet zwischen Offline- u​nd Online-Varianten, w​obei offline bedeutet, d​ass im Voraus a​lle Objekte bekannt sind. Bei Online-Verfahren m​uss sofort entschieden werden, i​n welchen Behälter d​as Objekt gepackt wird, o​hne die folgenden Objekte z​u kennen.

Algorithmen

Da Bin-Packing ein NP-schweres Problem ist, ist es vermutlich unmöglich, es in polynomialer Laufzeit zu lösen. Johnsons Approximationsalgorithmus First Fit Decreasing löst das Problem in polynomieller Zeit mit einer asymptotischen Gütegarantie von .

  1. Sortiere die Objekte nach absteigendem Gewicht
  2. Füge die Objekte der Reihe nach ein, sodass jedes in den ersten Behälter gegeben wird, in dem noch genug Platz ist.
  3. Falls in keinem der bereits geöffneten Behälter genügend Platz ist, öffne einen neuen.

Die Laufzeit beträgt (sowohl für das Sortieren, als auch für das Einfügen). Dieselben Resultate gelten auch für Best Fit Decreasing. Dabei wird ein Objekt nicht in den ersten Behälter eingefügt, in den es passt, sondern in den Behälter, in den es gerade noch passt (die Restkapazität wird also minimiert).

Bei der Online-Variante ist es nicht möglich, die Objekte im Voraus nach Gewicht zu sortieren. Die Algorithmen First Fit und Best Fit arbeiten analog zu den oben genannten, jedoch ohne vorheriges Sortieren. Beide Algorithmen haben eine scharfe asymptotische Gütegarantie von 1,7 und eine Laufzeit von . Best Fit sucht in allen bisher vorhandenen Behältern nach dem kleinsten noch passenden freien Platz.

Der naive Algorithmus Next Fit packt die Objekte der Reihe nach in den letzten geöffneten Behälter, falls sie hineinpassen. Ansonsten wird der Behälter geschlossen, ein neuer geöffnet und das aktuelle Objekt in den leeren Behälter gegeben. Die asymptotische Gütegarantie beträgt 2, die Laufzeit . Der Vorteil dieses naiven Algorithmus ist, dass immer nur ein Behälter gleichzeitig geöffnet ist (was in der praktischen Anwendung eine Bedingung sein kann).

Literatur

  • Bernhard Korte, Jens Vygen: Kombinatorische Optimierung. Springer, Berlin Heidelberg 2008, ISBN 978-3-540-76918-7, S. 485ff


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.