A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 1...
-
Upload
theudobald-ahl -
Category
Documents
-
view
106 -
download
0
Transcript of A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 1...
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 1
TitelseiteUniversitä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:585-599, 2002
22. Juni 2004
Jens [email protected]
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
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
Containerumschlag in einigen ausgewählten Häfen (TEU pro Jahr)
0
1.000.000
2.000.000
3.000.000
4.000.000
5.000.000
6.000.000
7.000.000
8.000.000
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
Hamburg
New York
Osaka
Rotterdam
Jakarta
London/Tilbury
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 4
Containerschiffe
• Ein Schiff kann bis zu 5.000 Container laden
• Während eines Turns kann ein Schiff 10 bis 25 Häfen anlaufen und jeweils ent- und beladen
Einleitung
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 5
Containerschiffe – Beispiele für Turns
Einleitung
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
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
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“
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 Tij ist vorgegeben und bekannt
• Nur eine Standard-Container-Größe
• Keine Luken
• Das Schiff hat nur eine Bay
Problemstellung (2)
sondern
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
.
.
.
4
3
2
1
Säulen
C . . . . 4 3 2 1
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
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)
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.
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
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 15
Genetischer Algorithmus
Lösungsansätze – GA
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
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 Nc 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 Nb 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
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.
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
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
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 21
Das Be- und Entladen
2 zusätzliche Vektoren:
• Wp : Port Waiting List
• Wpr : 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 Wp angehängt (Wp h).
2. Durchführen der voluntary shifts.
3. Die Container auf der Wp werden nach den entsprechenden Positionen der n- und f-Teile der Sektion des Hafens auf die Wpr 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
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 22
1. Schritt: Einfahrt des Schiffes in Hafen 2
Beispiel für Be- und Entladevorgang
2 3
2 3 2
5 5 2
3 2 1Port Waiting List:
Wp = (4, 5, 5)
Column Waiting Lists:
w21 = Ø
w22 = Ø
w23 = Ø
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 23
2. Schritt: Entladen der für Hafen 2 bestimmten Container
Beispiel für Be- und Entladevorgang
2 3
2 3 2
5 5 2
3 2 1Port Waiting List:
Wp = (4, 5, 5)
Column Waiting Lists:
w21 = Ø
w22 = Ø
w23 = Ø
2 3
2 3 2
5 5 2
3 2 1
2 3
2 3 2
5 5 2
3 2 1Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = Ø
w22 = Ø
w23 = Ø
3
5 5
3 2 1
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 24
3. Schritt: Durchführen der voluntary shifts
Beispiel für Be- und Entladevorgang
3
5 5
3 2 1Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = Ø
w22 = Ø
w23 = Ø
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 25
3. Schritt: Durchführen der voluntary shifts
Beispiel für Be- und Entladevorgang
3
5 5
3 2 1Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = Ø
w22 = Ø
w23 = Ø
Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = (5)
w22 = Ø
w23 = Ø
3
5
3 2 1
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 26
3. Schritt: Durchführen der voluntary shifts
Beispiel für Be- und Entladevorgang
3
5
3 2 1Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = (5)
w22 = Ø
w23 = Ø
3
5
3 2 1
5
3 2 1Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = (5)
w22 = Ø
w23 = (3)
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 27
3. Schritt: Durchführen der voluntary shifts
Beispiel für Be- und Entladevorgang
5
3 2 1Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = (5)
w22 = Ø
w23 = (3)
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 28
4. Schritt: Verteilen der Container aus Wp auf die Wpr
Beispiel für Be- und Entladevorgang
5
3 2 1Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = (5)
w22 = Ø
w23 = (3)
Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = (5)
w22 = Ø
w23 = (3, 4)
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 29
4. Schritt: Verteilen der Container aus Wp auf die Wpr
Beispiel für Be- und Entladevorgang
5
3 2 1Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = (5)
w22 = Ø
w23 = (3, 4)
Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = (5)
w22 = (5)
w23 = (3, 4)
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 30
4. Schritt: Verteilen der Container aus Wp auf die Wpr
Beispiel für Be- und Entladevorgang
5
3 2 1Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = (5)
w22 = (5)
w23 = (3, 4)
Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = (5, 5)
w22 = (5)
w23 = (3, 4)
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 31
4. Schritt: Verteilen der Container aus Wp auf die Wpr
Beispiel für Be- und Entladevorgang
5
3 2 1Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = (5, 5)
w22 = (5)
w23 = (3, 4)
Port Waiting List:
Wp = (4, 5, 5, 3)
Column Waiting Lists:
w21 = (5, 5, 3)
w22 = (5)
w23 = (3, 4)
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 32
4. Schritt: Verteilen der Container aus Wp auf die Wpr
Beispiel für Be- und Entladevorgang
5
3 2 1Column Waiting Lists:
w21 = (5, 5, 3)
w22 = (5)
w23 = (3, 4)
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 33
4. Schritt: Ordnen der Container in der Wpr nach Zielhafen
Beispiel für Be- und Entladevorgang
5
3 2 1Column Waiting Lists:
w21 = (5, 5, 3)
w22 = (5)
w23 = (3, 4)
Column Waiting Lists:
w21 = (5, 5, 3)
w22 = (5)
w23 = (4, 3)
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 34
5. Schritt: Verladen der Container gemäß Wpr
Beispiel für Be- und Entladevorgang
5
3 2 1Column Waiting Lists:
w21 = (5, 5, 3)
w22 = (5)
w23 = (4, 3)
Dies ist der Beladungsplan des Schiffes nachdem alle Umstauvorgänge abgeschlossen sind.
3
3 5 5
4 5 5
3 2 1
3
5 5
5 5
3 2 1
3
5
5 5
3 2 1
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
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 50 50 38 66 3,4
10 x 100 41 41 68 5,8
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))
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.
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“
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 “
vonOpher Dubrovsky, Gregory Levitin and Michael Penn; Faculty of Industrial Engineering and
Management, Technion, Haifa, 32000, IsraelAus: Journal of Heuristics, 8:585-599, 2002
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
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), 271-274
• 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); 55-71
• 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); 271-279
Anhang - Literaturverzeichnis
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 43
Binäres lineares Programm
Binäres lineares Programm -- Ablauf
N-1 N j-1 R C
Zielfuntion: Min ∑ ∑ ∑ ∑ ∑ xijυ (r,c) (Kosten) j=1 j=i+1 υ=i+1 r=1 c=1
Nebenbedingungen: Shipquant(i,j): J R C i-1 R C
∑ ∑ ∑ xijυ (r,c) - ∑ ∑ ∑ xkji (r,c) = Tij i = 1, …, N-1; j = i+1, …, N; υ=i+1 r=1 c=1 k=1 r=1 c=1
Slot(i,r,c): i N j
∑ ∑ ∑ xkjυ (r,c) = yi(r,c) i = 1, ..., N-1; r = 1, ..., R; c = 1, ..., C k=1 j=i+1 υ=i+1
Ontop (i,r,c):
yi(r,c) – yi(r+1,c) ≥ 0 i = 1, ..., N-1; r = 1, ..., R -1 ; c = 1, ..., C Shift(j,r,c): j-1 N j-1 N p
∑ ∑ xipj(r,c) + ∑ ∑ ∑ xipυ(r+1,c) ≤ 1 j = 2, …, N; r = 1, …, R-1; c = 1, …, C i=1 p=1 i=1 p=j+1 υ=j+1
xijυ(r,c) = 0 oder 1; yi(r,c) = 0 oder 1
(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)
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)
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
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 Tij 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
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
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