Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ein Baumsucheverfahren zur Lösung des 2-dimensionalen Strip-Packing Problems T. Fanslau und A. Bortfeldt FernUniversität Hagen Inhalt: 1Einleitung 2Verfahrensansatz.

Ähnliche Präsentationen


Präsentation zum Thema: "Ein Baumsucheverfahren zur Lösung des 2-dimensionalen Strip-Packing Problems T. Fanslau und A. Bortfeldt FernUniversität Hagen Inhalt: 1Einleitung 2Verfahrensansatz."—  Präsentation transkript:

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

2 1Einleitung 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 Untertyp (C1) gefordert: (C2) gefordert: feste Orientierung?Guillotine-Schnitte? OGjaja RGneinja OFjanein RFneinnein 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-Verfahren Belov et al. (2007) – Sequential Value Correction (SVC)-Verfahren Untertypen des 2D-Strip-Packing Problems:

5 2Verfahrensansatz 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 Rechtecke Bestimme: Anordnung einer Teilmenge der Rechtecke, so dass die verstaute Fläche maximal wird Zulässigkeitsbedingungen/Restriktionen: wie 2D-SPP, Untertyp OF Verfahren umfasst 2 Phasen: (1) Ermittlung einer guten Startlösung (2) Verbesserung der Startlösung Pro 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 Startwert erzeuge mittels Greedy-Verfahren Lösung s für 2D-KP (wC, lC, R) initialisiere Bestlösung sbest := s lCoben := 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 ) do erzeuge 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 endwhile return sbest

10 3 Greedy-Algorithmus für das 2D-KP Containerbreite wC 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. (0,0) Links Vorne

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 werden Beachte: - 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 Containerlänge lC VorneLinks (0,0) - 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 Containerlänge lC (0,0) - 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! Pc

14 (2) Auswahl des nächsten Rechtecks Containerbreite wC Containerlänge lC (0,0) 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. Pc

15 4Baumsuche-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 = 3 Partitionen von 3: 3 = 2+1 = 1+2 = Hier: 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 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 Teilstauplan bis Platzierung n Elementarsuche 1, Platz n+1 Elementarsuche 1, Platz n+2 Elementarsuche 2, Platz n+3 zusätzliche Suchtiefen Unvollständige Lösung Vollständige Lösung (Greedy)...

19 5Testergebnisse Alvarez- Valdes et al. (2006) GRASP Belov et al. (2007) SVC(SubKP) PCTRS* C1-C71,0 0,3 N1-N72,32,51,8 T1-T72,42,11,6 Mittel C,N,T 1,891,871,26 Abstand der gefundenen Streifenlänge zur optimalen Streifenlänge in %: *) AMD Duron 1800MHz, GNU C++, Windows 2000, Parameter (50s, breite=5, maxtief=9) Berechnete Instanzen: C1-C7, Hopper und Turton (2000), N1-N7, T1-T7, Hopper (2000) alle Instanzen lassen eine verlustfreie Anordnung aller Teile zu

20 6Zusammenfassung - 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.


Herunterladen ppt "Ein Baumsucheverfahren zur Lösung des 2-dimensionalen Strip-Packing Problems T. Fanslau und A. Bortfeldt FernUniversität Hagen Inhalt: 1Einleitung 2Verfahrensansatz."

Ähnliche Präsentationen


Google-Anzeigen