T. Fanslau und A. Bortfeldt FernUniversität Hagen Inhalt: Einleitung

Slides:



Advertisements
Ähnliche Präsentationen
Vortrag von Stephanie Weirauch Jens Pleger Peter Jancke Frank Wejmelka
Advertisements

Der R-Baum Richard Göbel.
Algorithmentheorie 08 – Dynamische Programmierung (1)
Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Christian Scheideler SS 2009
Knapsack & Bin Packing Sebastian Stober
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Zerlegung von Graphen.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Kapitel 6: Klassifizierung von Sortiertechniken
Suche in Texten (Stringsuche )
5. Sortier-Algorithmen Vorbemerkungen:
Die 1-Baum-Relaxation des TSP mit der Subgradientenmethode
Informierte Suche.
Spielbäume Richard Göbel.
Suchbäume Richard Göbel.
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Der R-Baum Richard Göbel.
FH-Hof Optimierungsverfahren für kombinatorische Probleme Richard Göbel.
Effizienz: Indexstrukturen
Algorithmentheorie 04 –Hashing
Algorithmentheorie 6 – Greedy-Verfahren
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Prinzipien des Algorithmenentwurfs Backtracking Prof. Dr. Th. Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (04 – Entwurfsverfahren) Prof. Th. Ottmann.
WS Algorithmentheorie 01 – Divide and Conquer (Segmentschnitt) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Algorithmentheorie 12 – Spannende Bäume minimalen Gewichts
Algorithmentheorie 7 – Bin Packing
Geometrisches Divide and Conquer
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Algorithmen und Komplexität
Minimum Spanning Tree: MST
Teil 5: Kollisionsvermeidung & Wegplanung
Kontrollfragen zu Kapitel 1
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Strategie der Modellbildung
Das Traveling Salesman Problem (TSP)
Analyse der Laufzeit von Algorithmen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Foliendesign: Jörg Steinrücken & Tobias Kahn Vorlesung
Der A*-Algorithmus.
Gliederung der Vorlesung
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Geoinformationssysteme
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Lineare Optimierung Nakkiye Günay, Jennifer Kalywas & Corina Unger Jetzt erkläre ich euch die einzelnen Schritte und gebe Tipps!
REKURSION + ITERATION.
 Präsentation transkript:

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

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

Untertypen des 2D-Strip-Packing Problems: Untertyp (C1) gefordert: (C2) gefordert: feste Orientierung? Guillotine-Schnitte? OG ja ja RG nein ja OF 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-Verfahren Belov et al. (2007) – Sequential Value Correction (SVC)-Verfahren

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

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.

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.

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

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

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.

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

(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!

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

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 = 3 Partitionen von 3: 3 = 2+1 = 1+2 = 1+1+1 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.

Erweiterungsstrategie 2+1 Teilstauplan bis Platzierung n Elementarsuche 1, Platz n+1 1 zusätzliche Suchtiefen Elementarsuche 1, Platz n+2 2 ... Elementarsuche 2, Platz n+3 3 Unvollständige Lösung Vollständige Lösung (Greedy) 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

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 %: Alvarez-Valdes et al. (2006) GRASP Belov et al. (2007) SVC(SubKP) PCTRS* C1-C7 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 *) AMD Duron 1800MHz, GNU C++, Windows 2000, Parameter (50s, breite=5, maxtief=9)

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.