Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 1 Titelseite Universität Karlsruhe (TH) Institut für.

Ähnliche Präsentationen


Präsentation zum Thema: "A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 1 Titelseite Universität Karlsruhe (TH) Institut für."—  Präsentation transkript:

1 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 1 Titelseite Universität Karlsruhe (TH) Institut für Anwendungen des Operations Research (ANDOR) Seminar: Heuristische Verfahren SS2004 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem von Opher Dubrovsky, Gregory Levitin and Michael Penn; Faculty of Industrial Engineering and Management, Technion, Haifa, 32000, Israel Aus: Journal of Heuristics, 8: , Juni 2004 Jens Schulte

2 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 2 1.Einleitung 2.Problemstellung 3.Lösungsansätze 4.Kodieren des Genetischen Algorithmus 5.Formaler Ablauf des Genetischen Algorithmus mit Compact Encoding 6.Testläufe 7.Zusätzliche Nebenbedingung 8.Fazit 9.Anhang 10.Backup Gliederung

3 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 3 Warum Containerschiffverkehr? Containerschiffverkehr nimmt immer weiter zu In den Jahren von 1995 bis 2003 im Schnitt um 9,9% in Hamburg Einleitung

4 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 4 Containerschiffe Ein Schiff kann bis zu Container laden Während eines Turns kann ein Schiff 10 bis 25 Häfen anlaufen und jeweils ent- und beladen Einleitung

5 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 5 Containerschiffe – Beispiele für Turns Einleitung

6 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 6 Kosten eines Containerschiffes im Hafen setzt sich zusammen aus Liegezeit (Raumentgelt) gelöschten/geladenen Gütern (Gewichtsentgelt) Mietkosten für Umschlagsgerät und Personal Umschlagsentgelte Die Umschlagsentgelte werden durch die Anzahl der Containeraus- und einladevorgänge bestimmt Zum Beispiel wird das Löschen/Laden eines Container von 91,20 bis 500 und mehr beziffert (Quelle EUROGATE Container Terminal Hamburg GmbH) Einleitung

7 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 7 Die Anzahl der Umstauvorgänge ist entscheidend für die Kosten des Schiffes mitverantwortlich. Einleitung Definition von Umstauvorgängen: necessary shift notwendiger Umstauvorgang voluntary shift freiwilliger Umstauvorgang

8 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 8 Das Ziel der Studie Der Schlüssel zu einer guten Stauraumplanung ist die Minimierung der Anzahl der Containerumstauvorgänge mit der daraus resultierenden Minimierung der Betriebskosten. Problemstellung (1) Einen Plan zu entwerfen, um die Anzahl der unnötigen Umstauvorgänge so weit wie möglich zu reduzieren

9 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 9 Vereinfachende Annahmen Das Schiff startet komplett leer in Hafen 1 und wird im letzten Hafen N wieder komplett entladen Die Transportmatrix T ij ist vorgegeben und bekannt Nur eine Standard-Container-Größe Keine Luken Das Schiff hat nur eine Bay Problemstellung (2) sondern

10 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 10 Problemstellung (3) Definitionen Die Bay des Schiffes besteht aus: - Reihen r = 1, …, R - Säulen c = 1, …, C Reihen R Säulen C

11 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 11 Binäres lineares Programm Whole Column Heuristic Procedure Suspensory Heuristic Procedure Genetischer Algorithmus Lösungsansätze

12 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 12 Kritik: Die Möglichkeiten eine optimale Lösung zu finden, sind begrenzt, da eine sehr große Anzahl an binären Variablen und Nebenbedingungen benötigt werden. Das Minimum Overstowage Problem ist NP-vollständig (Avriel, Penn, Shpirer (2000)) Fazit: Das binäre lineare Programm ist nicht sinnvoll für die Lösung dieses Problems. Binär lineares Programm Avriel und Penn (1993), Botter und Brinati (1992) Lösungsansätze – Binäres lineares Programm (Quelle: Avriel, M., Penn, M., Shpirer, N. and Witteboon, S.; Stowage Planning for Container Ships to Reduce the Number of Shifts; Annuals of Operations Research 76 (1998); 55-71)

13 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 13 Whole Column Heuristic Procedure Avriel und Penn (1993) Lösungsansätze – Heuristiken Kritik: Die Heuristik ist nicht für die Lösung des Problems geeignet, da binäre lineare Programmierung erforderlich ist.

14 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 14 Suspensory Heuristic Procedure Avriel et al. (1998) Lösungsansätze – Heuristiken Ergebnis: die bisher besten Lösungen Kritik: Löst nur stark vereinfachte Version des Problems (in Bezug auf Nebenbedingungen). Keine technischen Restriktionen Löst nur kleine Probleme

15 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 15 Genetischer Algorithmus Lösungsansätze – GA

16 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 16 Genetische Algorithmen – Eine allgemeiner Ablauf 1.Zielfunktion festlegen 2.Abbruchkriterium festlegen 3.Genetische Kodierung vornehmen 4.Festlegen der genetischen Operatoren 5.Anfangsbelegung vornehmen 6.Rekombination 7.Qualität bestimmen 8.Selektion 9.Abbruchkriterium testen ( falls kein Abbruch, dann wieder 6. Rekombination) 10.Terminierung Quelle: J.Heistermann, Genetische Algorithmen Lösungsansätze – GA

17 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 17 Genetische Algorithmen – Ablauf des untersuchten GA 1.ANFANGSBELEGUNG: Population von 200 zufällig generierten Stauplänen 2.REKOMBINATION: Aus Population wird ein neuer Stauplan mittels bitwise crossover generiert 3.QUALITÄT BESTIMMEN: Stauplan bewerten ( fittness value) 4.SELEKTION: Verwerfen oder Hinzufügen des neuen Stauplans 5.ABBRUCHKRITERIUM 1 TESTEN: i.Falls fittness value der Population länger als N c Zyklen unverändert bleibt, erfolgt ein Cataclysm, dann weiter bei 2. Rekombination ii.Sonst weiter bei 2. Rekombination 6.ABBRUCHKRITERIUM 2 TESTEN: i.Falls fittness value nach N b Cataclysm nicht verbessert Terminierung des GA ii.Sonst Cataclysm und weiter bei 2. Rekombination 7.Ergebnis: Die Population enthält die beste ermittelte Lösung. Lösungsansätze – GA

18 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 18 Kodierungen – Complete Encoding Funktionsweise: Lösung wird durch einen Vektor mit N Sektionen repräsentiert, je Hafen eine Sektion. Jede Sektion besteht aus Vektoren der Größe P, wobei P der totalen Anzahl an Plätzen auf dem Schiff entspricht. Diese Vektoren geben des Zielhafen des Containers an, der den jeweiligen Platz im jeweiligen Hafen besetzt hält. In jedem Hafen wird der Platz jedes Containers neu berechnet. Kodieren des GA Nachteile: Sehr lange Vektoren, daraus resultierend Speicherplatz intensiv Zeitintensiv bei Auswerten der Lösungsqualität Es müssen eventuell gar nicht alle Container in jedem Hafen bewegt werden, trotzdem wird bei dieser Methode die Information für jeden Platz in jedem Hafen neu berechnet.

19 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 19 Kodierungen – Compact Encoding (1) Unterschied zur Complete Encoding Technik: Nur die Änderungen im Layout, welche durch das Ein- und Ausladen geschehen, werden dokumentiert. Kodieren des GA

20 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 20 Kodierungen – Compact Encoding (2) Formaler Aufbau des Lösungsvektors: Die Lösung wird durch einen Integer-String mit N Sektionen repräsentiert, hierbei ist N die Anzahl der Häfen Für jeden Hafen k enthält die Sektion 4 Teile: n, q, f und g n ist eine Liste von Säulen, in die Container am Hafen k eingeladen werden q ist eine Liste von Säule, aus denen Container aufgrund von voluntary shifts ausgeladen werden sollen f ist eine Liste von Säulen, in die Container eingeladen werden sollen, welche aufgrund von necessary shifts entladen wurden g ist eine Liste der Säulen auf die Container geladen werden sollen, welche aufgrund von voluntary shifts ausgeladen wurden q und g beziehen sich jeweils auf denselben Container Kodieren des GA

21 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 21 Das Be- und Entladen 2 zusätzliche Vektoren: W p : Port Waiting List W pr : Column Waiting List Ablauf nach Ankunft in Hafen p: 1.Entladen aller p Container, also der Container deren Zielhafen p ist. Dadurch bedingt ist das Ent- laden aller h Container. h Container (h>p) sind blockierende Container (necessary shift). Die h Container werden nach dem Entladen an W p angehängt (W p h). 2.Durchführen der voluntary shifts. 3.Die Container auf der W p werden nach den entsprechenden Positionen der n- und f-Teile der Sektion des Hafens auf die W pr verteilt. 4.Nach dem verteilen der Container auf die Wpr werden die Container so geladen, daß die zeitlich früher zu entladenen Container über den zeitlich später zu entladenen Containern stehen. Formaler Ablauf des GA mit Compact Encoding

22 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite Schritt: Einfahrt des Schiffes in Hafen 2 Beispiel für Be- und Entladevorgang Port Waiting List: W p = (4, 5, 5) Column Waiting Lists: w 21 = Ø w 22 = Ø w 23 = Ø

23 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite Schritt: Entladen der für Hafen 2 bestimmten Container Beispiel für Be- und Entladevorgang Port Waiting List: W p = (4, 5, 5) Column Waiting Lists: w 21 = Ø w 22 = Ø w 23 = Ø Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = Ø w 22 = Ø w 23 = Ø

24 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite Schritt: Durchführen der voluntary shifts Beispiel für Be- und Entladevorgang Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = Ø w 22 = Ø w 23 = Ø

25 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite Schritt: Durchführen der voluntary shifts Beispiel für Be- und Entladevorgang Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = Ø w 22 = Ø w 23 = Ø Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = (5) w 22 = Ø w 23 = Ø

26 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite Schritt: Durchführen der voluntary shifts Beispiel für Be- und Entladevorgang Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = (5) w 22 = Ø w 23 = Ø Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = (5) w 22 = Ø w 23 = (3)

27 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite Schritt: Durchführen der voluntary shifts Beispiel für Be- und Entladevorgang Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = (5) w 22 = Ø w 23 = (3)

28 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite Schritt: Verteilen der Container aus W p auf die W pr Beispiel für Be- und Entladevorgang Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = (5) w 22 = Ø w 23 = (3) Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = (5) w 22 = Ø w 23 = (3, 4)

29 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite Schritt: Verteilen der Container aus W p auf die W pr Beispiel für Be- und Entladevorgang Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = (5) w 22 = Ø w 23 = (3, 4) Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = (5) w 22 = (5) w 23 = (3, 4)

30 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite Schritt: Verteilen der Container aus W p auf die W pr Beispiel für Be- und Entladevorgang Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = (5) w 22 = (5) w 23 = (3, 4) Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = (5, 5) w 22 = (5) w 23 = (3, 4)

31 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite Schritt: Verteilen der Container aus W p auf die W pr Beispiel für Be- und Entladevorgang Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = (5, 5) w 22 = (5) w 23 = (3, 4) Port Waiting List: W p = (4, 5, 5, 3) Column Waiting Lists: w 21 = (5, 5, 3) w 22 = (5) w 23 = (3, 4)

32 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite Schritt: Verteilen der Container aus W p auf die W pr Beispiel für Be- und Entladevorgang Column Waiting Lists: w 21 = (5, 5, 3) w 22 = (5) w 23 = (3, 4)

33 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite Schritt: Ordnen der Container in der W pr nach Zielhafen Beispiel für Be- und Entladevorgang Column Waiting Lists: w 21 = (5, 5, 3) w 22 = (5) w 23 = (3, 4) Column Waiting Lists: w 21 = (5, 5, 3) w 22 = (5) w 23 = (4, 3)

34 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite Schritt: Verladen der Container gemäß W pr Beispiel für Be- und Entladevorgang Column Waiting Lists: w 21 = (5, 5, 3) w 22 = (5) w 23 = (4, 3) Dies ist der Beladungsplan des Schiffes nachdem alle Umstauvorgänge abgeschlossen sind

35 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 35 Anpassen des Genetischen Algorithmus und Wahl seiner Parameter 1.Festlegen der GA Parameter 1.Population size: 2.Crossover rate: 3.Cataclysm rate: 2.Festlegen der Rahmenbedingungen 1.Transportmatrix 2.Beschaffenheit des Schiffes i.Anzahl der Reihen R ii.Anzahl der Säulen C 3.Anzahl der Häfen N Formaler Ablauf des GA mit Compact Encoding Es ist anzumerken, daß der GA mit diesen Parametern die besten Ergebnisse der verschiedenen Testläufe immer mit der geringsten Standardabweichung erzielt hat unabhängig sowohl von der Transportmatrix als auch von der Anzahl der Reihen und Säulen des Schiffes. 200 p = 0,4 0,5

36 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 36 Ergebnisse Um die Leistung des GA zu überprüfen wurde seine Ergebnisse mit den Ergebnissen der Suspensory Heuristic Procedure verglichen. Es wurden 91 Läufe durchgeführt mit dem Ergebnis, daß die Ergebnisse des GA ähnlich denen der Heuristiken sind. Testläufe Schiffsgröße Ergebnis genauso gut oder besser als beste Heuristik Max Unterschied von 5 Umstauvorgängen (%) Durchschn. Differenz Anzahl der runs(%) 10 x ,4 10 x ,8

37 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 37 Zusätzliche Nebenbedingung - Stabilität Testläufe Abb. 1 Abb. 2 (Quelle: Schott, Rainer; Stauplanung für Containerschiffe; Vandenhoeck & Ruprecht in Göttingen (1989))

38 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 38 Zusätzliche Nebenbedingung (2) Straffunktion:penalty * max[0,(abs(tilt)-threshold)] Ergebnis: Alle finalen 21 Lösungen waren konform mit dem Schwellwert und dies nur auf Kosten einiger weniger zusätzlicher Umstauvorgänge. Testläufe Der GA brachte auch mit einschränkender Nebenbedingung gute Ergebnisse.

39 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 39 Bei der Implementierung von grosszahligen Problemen waren die Ergebnisse des Genetischen Algorithmus ähnlich denen der besten bekannten Heuristik (Suspensory Heuristic Procedure). Der Genetische Algorithmus bietet die Möglichkeit einschränkende Nebenbedingungen hinzuzufügen und trotzdem auf realisierbare/durchführbare Ergebnisse zu kommen. FAZIT Der Genetic Algorithm with a Compact Solution Encoding eignet sich wesentlich besser als andere Heuristiken für die Behandlung/Berechnung von real life container ship stowage Problems

40 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 40 Vielen Dank für Ihre Aufmerksamkeit! A Genetic Algorithm with a Compact Encoding Algorithm for the Container Ship Stowage Problem von Opher Dubrovsky, Gregory Levitin and Michael Penn; Faculty of Industrial Engineering and Management, Technion, Haifa, 32000, Israel Aus: Journal of Heuristics, 8: , 2002

41 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 41 Literaturverzeichnis Zusatzfolien Binäres lineares Programm Funktionsweise des Crossover Backup Anhang

42 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 42 Literaturverzeichnis Heistermann, Jochen; Genetische Algorithmen: Theorie und Praxis evolutionäre Optimierung; B.G. Teubner Vertragsgesellschaft Leipzig (1994) Dyckhoff, Harald und Finke, Ute; Cutting and Packing in Production and Distribution – A Typology and Bibliography; Physica-Verlag Heidelberg (1992) Schott, Rainer; Stauplanung für Containerschiffe; Vandenhoeck & Ruprecht in Göttingen (1989) M. Sc. Buyang, Cao; Operations Research in der Container-Stellplatz-Verwaltung; Dissertation an der Universität der Bundeswehr Hamburg – Fachbereich Wirtschafts- und Organisationswissenschaften; Hamburg 1991 Avriel, M and Penn, M; Exact and Approximate Solutions of the Container Ship Stowage Problem; Computers and Industrial Engineering 25 (1993), Avriel, M., Penn, M., Shpirer, N. and Witteboon, S.; Stowage Planning for Container Ships to Reduce the Number of Shifts; Annals of Operations Research 76 (1998); Avriel, M., Penn, M. and Shpirer, N.; Container Ship Stowage Problem: Complexity and Connection to the Coloring of Circle Graphs; Discrete Applied Mathematics 103 (2000); Anhang - Literaturverzeichnis

43 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 43 Binäres lineares Programm (Quelle: Avriel, M., Penn, M., Shpirer, N. and Witteboon, S.; Stowage Planning for Container Ships to Reduce the Number of Shifts; Annuals of Operations Research 76 (1998); 57-58)

44 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 44 zufällige Auswahl der Eltern (-lösungen) bitweise Kombination der beiden Elternlösungen Funktionsweise des Crossover 1. Lösung:(3,2,1,|1,2,3|3,2,|1,3) 2. Lösung:(3,2,1,|2,3,1,|1,2,|2,1) 1. Lösung:(3,2,1,|1,2,3|3,2,|1,3) 2. Lösung:(3,2,1,|2,3,1,|1,2,|2,1) Kind – (Lösung):(3,2,1,|2,2,3,|3,2,|2,1)

45 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 45 Verzeichnis des Backups 1 Folie zum binären linearen Programm – Vorraussetzungen Beschreibung voluntary shift Lokale Optimierung Abkürzungsverzeichnis für Tageslichtprojektor Backup

46 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 46 Vorraussetzungen Reihen r = 1, …, R (Reihe 1 ist die unterste Reihe) Säulen c = 1, …, C (Säule 1 ist die erste Säule auf der linken Seite) Es sind rechtwinklige bays, d.h. ein jeder Säule können R Container Platz nehmen. Transportmatrix T ij ist bekannt bevor das Schiff startet. Anzahl der anzulaufenden Häfen ist N die Transportmatrix ist durchführbar, d.h. es werden in keinem Hafen mehr Container geladen als das Schiff transportieren kann Binäres lineares Programm

47 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 47 Kodierungen – Beispiel für voluntary shift Der voluntary shift wird festgelegt durch die jeweiligen q und g der Sektion. Der Container welcher sich auf der obersten Stelle der Säule, angegeben durch die Position j in q, wird auf die Säule geladen, welche an der Position j von g angegeben wird. Kodieren des GA

48 A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 48 Lokale Optimierung Gründe für lokale Optimierung sind Überlegungen sind eine Einschränkung des Suchraumes und die Verbesserung der Konvergenz des GA Sort:Sortieren vor dem Einladen Group:Zusammenfassen zu Gruppen von Containern mit den selben Zielhäfen Resultat: Benutzen von local optimization rules brachte keine signifikanten Lösungsverbesserungen Testläufe


Herunterladen ppt "A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 1 Titelseite Universität Karlsruhe (TH) Institut für."

Ähnliche Präsentationen


Google-Anzeigen