1 / 20

Ein Baumsucheverfahren zur Lösung des 2-dimensionalen Strip-Packing Problems

Ein Baumsucheverfahren zur Lösung des 2-dimensionalen Strip-Packing Problems. T. Fanslau und A. Bortfeldt FernUniversität Hagen. Inhalt: Einleitung Verfahrensansatz Greedy-Algorithmus für das 2D-KP Baumsucheverfahren für das 2D-KP Testergebnisse Zusammenfassung. 1 Einleitung .

Download Presentation

Ein Baumsucheverfahren zur Lösung des 2-dimensionalen Strip-Packing Problems

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. Ein Baumsucheverfahren zur Lösung des 2-dimensionalen Strip-Packing Problems T. Fanslau und A. Bortfeldt FernUniversität Hagen Inhalt: • Einleitung • Verfahrensansatz • Greedy-Algorithmus für das 2D-KP • Baumsucheverfahren für das 2D-KP • Testergebnisse • Zusammenfassung

  2. 1 Einleitung 2D-Strip-Packing Problem (2D-SPP) Gegeben: - ein Streifen fester Breite wC - eine Menge R von Rechtecken (Teile, Stücke) Bestimme: zulässige Anordnung aller Rechtecke in dem Streifen, so dass die benutzte Länge lCused minimal ist. Zulässigkeitsbedingungen: • Keine 2 Rechtecke überlappen • Jedes Rechteck liegt vollständig innerhalb des Streifens • Jedes Rechteck ist parallel zu den Streifenseiten angeordnet.

  3. Typische Restriktionen: (C1) Orientierungs-Restriktion: feste Orientierung aller Rechtecke; 90°-Drehung nicht erlaubt.(C2) Guillotineschnitt-Restriktion: alle in einem (Teil-) Stauplan platzierten Stücke sind durch eine Folge von Guillotine-Schnitten reproduzierbar (d.h. Kante-zu-Kante-Schnitte parallel zu den Streifen-Seiten).

  4. Untertypen des 2D-Strip-Packing Problems: Untertyp (C1) gefordert: (C2) gefordert: feste Orientierung? Guillotine-Schnitte?OG ja jaRG nein jaOFjaneinRF nein nein Eingrenzung: nur Untertyp OF wird hier behandelt Aktuelle Verfahren für 2D-SPP, Untertyp OF: Beachte: 2D-SPP – NP-schwer, grosse Instanzen können nur mit heurist. Verfahren berechnet werden Alvarez-Valdes et al. (2006) – GRASP-VerfahrenBelov et al. (2007) – Sequential Value Correction (SVC)-Verfahren

  5. 2 Verfahrensansatz Lösung des 2D-SPP wird auf Lösung einer Kette von Instanzen des 2D-Knapsack Problems (2D-KP) zurückgeführt 2D-KP:Gegeben: Container-Rechteck mit Breite wC, Länge lC; Menge R kleinerer RechteckeBestimme: Anordnung einer Teilmenge der Rechtecke, so dass die verstaute Fläche maximal wirdZulässigkeitsbedingungen/Restriktionen: wie 2D-SPP, Untertyp OF Verfahren umfasst 2 Phasen:(1) Ermittlung einer guten Startlösung(2) Verbesserung der StartlösungPro Phase werden in der Regel mehrere Instanzen des 2D-KP mit immer kleineren Containerlängen (lC) berechnet.

  6. Phase 1: Ermittlung einer Startlösung Ziel: mit geringem Aufwand gute Startlösung (für Baumsuche) mit bereits kleiner Länge (lCused) erzeugen Vorgehen:- mit einem Greedy-Algorithmus für das 2D-KP (!) werden mehrere 2D-KP-Instanzen (unabhängig) berechnet- anfangs wird lC so gross gewählt, dass garantiert eine SPP- Lösung ermittelt wird, die alle Rechtecke enthält- dann werden weitere lC-Werte mittels Intervallschachtelung bestimmt und zugehörige 2D-KP-Instanzen berechnet- Regel: wurde für letzten lC-Wert SPP-Lösung erzielt,so wird lC reduziert; andernfalls wird lC erhöht.

  7. Phase 1: Ermittlung einer Startlösung lC := hinreichend grosser Startwerterzeuge mittels Greedy-Verfahren Lösung s für 2D-KP (wC, lC, R)initialisiere Bestlösung sbest := slCoben := benutzte Länge lCused(s)lCunten := int ((gesamte zu verstauende Fläche-1)/wC)while (lCoben – lCunten > 1) do neue Containerlänge lC := int( (lCoben+lCunten)/2 ) erzeuge mittels Greedy-Verfahren Lösung s für 2D-KP (wC, lC, R) if (s ist SPP-Lösung, d.h. alle Teile verstaut) then lCoben := benutzte Länge lCused(s); sbest := s else lCunten := lC endif endwhile Beachte:Für lCoben wurden bereits alle Teile erfolgreich verstaut. Für lCunten noch nicht.

  8. Phase 2: Verbesserung der Startlösung Ziel: Lösung mit fast-optimaler Länge (lCused) in vorgegebenem Zeitlimit erzeugen Vorgehen:- mit einem Baumsuche-Verfahren für das 2D-KP (!) werden mehrere 2D-KP-Instanzen (unabhängig) berechnet- wurde für einen lC-Wert eine SPP-Lösung ermittelt, so wird lC um eine Längeneinheit reduziert und möglichst die nächstbeste SPP-Lösung berechnet- andernfalls wird die Baumsuche mit höherem Aufwand für denselben lC-Wert wiederholt, um doch noch eine SPP-Lösung für dieses lC zu erhalten- Abbruch der Berechnung . wenn Zeitlimit überschritten wurde oder . wenn optimale Länge erreicht wurde (Nachweis mit material lower bound).

  9. Phase 2: Verbesserung der Startlösung wähle Suchaufwand-Parameter se := 2 // anfangs geringer Aufwand! setze lC := lCunten // letzter Wert aus Phase 1 while (Time-Limit nicht überschritten ) and (lC * lW >= gesamte zu verstauende Fläche ) doerzeuge mittels Baumsuche Lösung s für 2D-KP (wC, lC, R)if (s ist SPP-Lösung, d.h. alle Teile verstaut) then lC := lCused(s) – 1; sbest := s // reduziere Länge oder …else se := se * 2 endif // verdopple Suchaufwand endwhilereturn sbest

  10. 3 Greedy-Algorithmus für das 2D-KP Containerbreite wC Vorne (0,0) Links Containerlänge lC Erstellung eines Stauplans:- der Container wird schrittweise mit je einem weiteren Rechteck gefüllt, bis kein weiteres mehr zulässig eingefügt werden kann oder alle platziert sind- ein platziertes Rechteck darf nicht nach links bzw. vorne verschiebbar sein- der Container wird von der Ecke Vorne/Links aus „diagonal“ gefüllt.

  11. Entscheidungen pro Rechteck-Platzierung(1) Ort des nächsten Rechtecks- die Ecke Vorne/Links (V/L) des ersten Rechtecks muss in der V/L-Ecke (0,0) des Containers liegen, weil das Rechteck sonst verschiebbar wäre- für folgende Rechtecke existieren mehrere mögliche Punkte (genannt Kandidaten-Ecken) für die V/L-Ecke(2) Auswahl des nächsten Rechtecks- meist können in der ausgewählten Kandidaten-Ecke mehrere unverbrauchte Rechtecke zulässig platziert werdenBeachte:- mit Regeln für die Entscheidungen (1) und (2) ist der Greedy-Algorithmus komplett spezifiziert- Orientierung aller Rechtecke steht von vornherein fest – Untertyp OF

  12. (1) Ort des nächsten Rechtecks Containerbreite wC VorneLinks (0,0) Containerlänge lC - Beispiel: nach Platzierung des ersten Rechtecks ergeben sich 2 Kandidaten-Ecken für das zweite Rechteck - allgemeine Regel: unter allen Kandidaten-Ecken, welche die unverschiebliche Platzierung eines Rechtecks garantieren, wird diejenige Ecke ausgewählt, deren Abstand von (0,0) minimal ist- Abstand eines Punkts P von (0,0): dist(P) := l(P) + w(P) („Diagonale Schicht“)

  13. (2) Auswahl des nächsten Rechtecks Containerbreite wC Pc (0,0) Containerlänge lC - Zuerst wird Kandidaten-Ecke Pc für nächstes Rechteck bestimmt- dann werden alle mögl. Platzierungen in Pc bewertet- das Rechteck mit bester Bewertung wird endgültig in Pc platziert- Idee der Bewertung: Grundsätzlich werden flächengrosse Rechtecke bevorzugt;ist aber ein Rechteck vorhanden, das genau bis zur Ecke einer an Pc angrenzenden Seite reicht, so wird dessen Platzierung vorgezogen;Motiv: möglichst grosse Blöcke bilden!

  14. (2) Auswahl des nächsten Rechtecks Containerbreite wC Pc (0,0) Containerlänge lC Sortierung von Reckteck-Platzierungen nach Bewertungsgüte:- Platz 1: Rechteck, für das beide Maße mit den Maßen in Pc beginnender (paralleler) Seiten übereinstimmen - Folgende Plätze: Rechtecke, für die ein Maß mit dem Maß einer in Pc beginnenden Seite übereinstimmt; Zusatzkrit.: Flächengröße - Letzte Plätze: Rechtecke, für die kein Maß mit dem Maß einer in Pc beginnenden Seite übereinstimmt; Zusatzkrit.: Flächengröße.

  15. 4 Baumsuche-Verfahren für das 2D-KP Prinzip: - Bei der Lösung einer 2D-KP-Instanz wird zur Ermittlung der (n+1)-ten Rechteckplatzierung je eine gesonderte Baumsuche durchgeführt. Dabei bleiben die ersten n Platzierungen unverändert. - Die Kandidaten-Ecke für jede Platzierung wird wie im Greedy-Verfahren bestimmt. - Bei der Auswahl der Rechtecke wird die Bewertung des Greedy-Verfahrens angewendet.

  16. Ansatz für Baumsuche zur Ermittlung der (n+1)-ten Platzierung: - Es werden mehrere vollständige Lösungen provisorisch erzeugt, die alle den bisher ermittelten Teilstauplan mit n Platzierungen fortsetzen. Die (n+1)-te Platzierung der besten vollständigen Lösung wird als endgültige (n+1)-te Platzierung übernommen. • Es wird eine zusätzliche Suchtiefe sd festgelegt- Für die Platzierungen n+1, n+2, …, n+sd werden jeweils mehrere Platzierungs-Varianten getestet. - Für die Platzierungen n+sd+1, … wird jeweils nur die bewertungsbeste Rechteck-Platzierung verwendet (Greedy).- Die Suchtiefe sd wächst mit dem Suchaufwand se und damit auch die Erfolgsaussicht der Suche.

  17. Ansatz für Baumsuche zur Ermittlung der (n+1)-ten Platzierung: • Vollständige provisorische Lösungen werden mittels verschiedener Erweiterungsstrategien (ES) erzeugt.- jede ES berechnet ihre eigene Bestlösung; die Bestlösung über alle ES definiert endgültig die (n+1)-te Platzierung.- jede Erweiterungsstrategie ergibt sich durch Kombination von Elementarsuchen, wobei deren Kombination durch eine zahlentheoret. Partition der Suchtiefe sd definiert wird. - Beispiel: sd = 3Partitionen von 3: 3 = 2+1 = 1+2 = 1+1+1Hier: 2+1, d.h.:- 2 Summanden: ES wird aus 2 Elementarsuchen kombiniert- erster Summand 2: Elementarsuche über 2 Tiefenniveaus- zweiter Summand 1: Elementarsuche über 1 Tiefenniveau.

  18. Erweiterungsstrategie 2+1 Teilstauplan bis Platzierung n 0 • Elementarsuche 1: Baum mit 2 Niveaus und je 2 Nachfolgern erzeugt • Elementarsuche 2: Baum mit 1 Niveau und 8 Nachfolgern erzeugt. • Verkettung: Beste vollständige Lösung aus Suche 1 ergibt Input für Suche 2 • Beste Lösung aus nachfolgender Suche 2 ergibt Bestlösung der Erweiterungsstrategie Elementarsuche 1, Platz n+1 1 zusätzliche Suchtiefen Elementarsuche 1, Platz n+2 2 ... Elementarsuche 2, Platz n+3 3 Vollständige Lösung (Greedy) Unvollständige Lösung

  19. Testergebnisse Berechnete Instanzen: C1-C7, Hopper und Turton (2000), N1-N7, T1-T7, Hopper (2000) alle Instanzen lassen eine verlustfreie Anordnung aller Teile zu Abstand der gefundenen Streifenlänge zur optimalen Streifenlänge in %: *) AMD Duron 1800MHz, GNU C++, Windows 2000, Parameter (50s, breite=5, maxtief=9)

  20. 6 Zusammenfassung • Baumsucheverfahren für 2D-SPP, Untertyp OF vorgestellt- Charakteristische Merkmale: - Problemspezifische Heuristik, die darauf abzielt grosse Blöcke mit langen Kanten zu bilden - Effektive sparsame Baumsuche mit Balance zwischen Breite der Suche und Tiefe, d.h. Grad der Vorausschau- Test an Hopper/Turton-Instanzen: Ergebnisse von Konkurrenzverfahren deutlich verbessert- Ausblick: Verallgemeinerung der problemspezifischen Heuristik für nicht verlustfreie Instanzen.

More Related