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

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

description

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. - PowerPoint PPT Presentation

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

Page 1: 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

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

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.

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

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).

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

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:

Page 5: Ein Baumsucheverfahren zur Lösung des 2-dimensionalen 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.

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

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.

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

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.

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

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).

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

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

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

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

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

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

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

(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“)

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

(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

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

(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

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

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.

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

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.

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

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.

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

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)

...

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

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

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

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.