Ein Baumsucheverfahren zur Lösung des 2-dimensionalen Strip-Packing Problems
-
Upload
artemas-kristy -
Category
Documents
-
view
16 -
download
1
description
Transcript of Ein Baumsucheverfahren zur Lösung des 2-dimensionalen Strip-Packing Problems
Ein Baumsucheverfahren zur Ein Baumsucheverfahren zur Lösung des 2-dimensionalen Lösung des 2-dimensionalen
Strip-Packing ProblemsStrip-Packing ProblemsT. Fanslau und A. Bortfeldt
FernUniversität Hagen
Inhalt:1 Einleitung2 Verfahrensansatz 3 Greedy-Algorithmus für das 2D-KP4 Baumsucheverfahren für das 2D-KP5 Testergebnisse6 Zusammenfassung
1 Einleitung2D-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.
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).
Untertyp (C1) gefordert: (C2) gefordert: feste Orientierung? Guillotine-Schnitte?
OG ja jaRG nein jaOF ja nein RF 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
Untertypen des 2D-Strip-Packing Problems:
2 VerfahrensansatzLö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ösung
Pro Phase werden in der Regel mehrere Instanzen des 2D-KP mit immer kleineren Containerlängen (lC) berechnet.
Phase 1: Ermittlung einer StartlösungZiel: 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.
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.
Phase 2: Verbesserung der StartlösungZiel: 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).
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 endwhilereturn sbest
3 Greedy-Algorithmus für das 2D-KPContainerbreite 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
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
(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“)
(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
(2) Auswahl des nächsten RechtecksContainerbreite 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
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.
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.
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.
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ä
tzlic
he
Su
chtie
fen
0
1
2
3
Unvollständige Lösung Vollständige Lösung (Greedy)
...
5 Testergebnisse
Alvarez-Valdes et al.
(2006)GRASP
Belov et al. (2007)
SVC(SubKP)
PCTRS*
C1-C7 1,0 1,0 0,3
N1-N7 2,3 2,5 1,8
T1-T7 2,4 2,1 1,6
Mittel C,N,T
1,89 1,87 1,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
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.