+ All Categories
Home > Documents > 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...

Date post: 05-Apr-2015
Category:
Upload: theudobald-ahl
View: 102 times
Download: 0 times
Share this document with a friend
48
A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowa ge 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:585-599, 2002 22. Juni 2004
Transcript
Page 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.

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]

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

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

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

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

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

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

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

A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 5

Containerschiffe – Beispiele für Turns

Einleitung

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

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

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

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

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

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“

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

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

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

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

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

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

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

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)

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

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.

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

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

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

A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem Seite 15

Genetischer Algorithmus

Lösungsansätze – GA

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

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

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

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

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

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.

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

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

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

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

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

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

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

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 = Ø

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

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

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

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 = Ø

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

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

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

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)

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

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)

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

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)

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

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)

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

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)

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

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)

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

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)

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

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)

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

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

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

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

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

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  

             

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

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

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

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.

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

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“

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

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

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

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

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

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

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

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)

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

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)

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

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

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

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

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

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

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

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


Recommended