217
Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades eines Doktors der Wirtschaftswissenschaft (Dr. rer. pol.) der Fakultät für Wirtschaftswissenschaft der FernUniversität in Hagen vorgelegt von Dipl.-Kaufmann Daniel Mack Hagen, den 31.12.2010

Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Metaheuristiken zur Lösung von Standardproblemen des

Cutting and Packing

Inauguraldissertation

zur Erlangung des Grades eines

Doktors der Wirtschaftswissenschaft (Dr. rer. pol.)

der Fakultät für Wirtschaftswissenschaft

der FernUniversität in Hagen

vorgelegt von Dipl.-Kaufmann Daniel Mack

Hagen, den 31.12.2010

Page 2: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Erstgutachter: Dr. habil. Andreas Bortfeldt

Zweitgutachter: Prof. Dr. Dr. h.c. Günter Fandel

Drittgutachter: Prof. Dr. Hermann Singer

Vorsitzender des Promotionsausschusses: Dr. habil. Andreas Bortfeldt

Tag der Disputation: 04. Oktober 2011

Page 3: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Inhaltsverzeichnis III

Inhaltsverzeichnis

Abstract.......................................................................................................................... IX

Abbildungsverzeichnis..................................................................................................XI

Tabellenverzeichnis ...................................................................................................XIII

Algorithmenverzeichnis...............................................................................................XV

Abkürzungsverzeichnis ........................................................................................... XVII

1 Einleitung................................................................................................................... 1

1.1 Überblick ............................................................................................................ 1

1.2 Problemstellung und -einordnung....................................................................... 2

1.2.1 Logische Struktur des Cutting and Packing ............................................ 2

1.2.2 Klassifizierung der C&P-Probleme......................................................... 3

1.2.3 Eingrenzung auf drei Standardprobleme................................................. 5

Containerbeladeproblem (CLP) .............................................................. 6

Strip Packing-Problem (SPP) .................................................................. 6

Bin Packing-Problem (BPP).................................................................... 7

1.2.4 Restriktionen ........................................................................................... 7

1.3 Beispiele und Relevanz von C&P-Problemen im engeren Sinn....................... 14

1.4 Allgemeine Lösungsansätze zum C&P ............................................................ 17

1.4.1 Exakte enumerative Verfahren.............................................................. 17

1.4.2 Heuristiken ............................................................................................ 17

1.4.3 Metaheuristiken..................................................................................... 18

1.4.4 Graphensuchverfahren als Spezialfall ................................................... 19

Page 4: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

IV Inhaltsverzeichnis

1.5 Literaturüberblick..............................................................................................20

1.5.1 Veröffentlichungen zum Containerbeladeproblem................................20

1.5.2 Literatur zum Strip Packing-Problem....................................................24

1.5.3 Literaturübersicht zum Bin Packing-Problem .......................................25

1.5.4 Benchmarkinstanzen aus der Literatur und deren Erzeugung ...............26

1.6 Zielsetzung der Dissertation..............................................................................29

2 Ein verteilt paralleles Tabu Search-Verfahren für das CLP ..............................35

2.1 Zielsetzung und Vorgehensweise......................................................................35

2.2 Basisheuristik ....................................................................................................35

2.2.1 Erzeugung lokaler Anordnungen...........................................................37

2.2.2 Erzeugung von Nachfolgepackräumen..................................................39

2.2.3 Bewertung von Zerlegungsvarianten.....................................................40

2.2.4 Bewertung lokaler Anordnungen...........................................................41

2.3 Sequentieller Tabu Search-Algorithmus...........................................................42

2.3.1 Kodierung zulässiger Lösungen ............................................................43

2.3.2 Ausgestalten der Basiskomponenten des TSA ......................................44

2.3.3 Ausgestaltung des TSA..........................................................................46

2.4 Paralleler Tabu Search-Algorithmus.................................................................47

2.4.1 Gliederung der Suche und Formen der Kommunikation.......................47

Kommunikationsmodell ........................................................................48

Austausch von Lösungen.......................................................................49

Weitere Details ......................................................................................50

2.5 Verfahrenstest ...................................................................................................51

2.5.1 Verwendete Testinstanzen .....................................................................51

2.5.2 Vortests zur Konfigurierung des TSA ...................................................52

2.5.3 Vergleichstests .......................................................................................53

2.6 Zusammenfassung der Ergebnisse ....................................................................56

Page 5: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Inhaltsverzeichnis V

3 Ein parallel-hybrides Local Search-Verfahren für das CLP.............................. 58

3.1 Zielsetzung und Vorgehensweise ..................................................................... 58

3.2 Problemspezifische Aspekte des Simulated Annealing.................................... 59

3.2.1 Erzeugen einzelner Lösungen für das CLP ........................................... 60

3.2.2 Darstellung zulässiger Lösungen .......................................................... 62

3.2.3 Nachbarschaftsstruktur..........................................................................63

3.2.4 Zielfunktion........................................................................................... 64

3.2.5 Diversifizierungskonzept ...................................................................... 64

3.3 Generische Aspekte des Simulated Annealing................................................. 64

3.3.1 Ausgangslösung .................................................................................... 66

3.3.2 Zufällige Wahl der Nachbarlösung ....................................................... 66

3.3.3 Akzeptieren von Nachbarlösungen ....................................................... 67

3.3.4 Kühlplan ................................................................................................ 67

3.3.5 Diversifizierung des Suchprozesses ...................................................... 68

3.3.6 Änderungen des Standardmodells von SA............................................ 69

3.4 Hybride lokale Suche........................................................................................ 70

3.4.1 Allgemeine Überlegungen..................................................................... 70

3.4.2 Hybrider Ansatz und Diversifizierungskonzept .................................... 71

3.5 Parallelisierung ................................................................................................. 72

3.5.1 Allgemeine Erörterungen zur Parallelisierung...................................... 72

3.5.2 Parallelisierungskonzepte für SA-Algorithmen .................................... 73

3.5.3 Kommunikation paralleler Instanzen .................................................... 74

3.6 Numerische Tests.............................................................................................. 75

3.6.1 Vortests zur Konfigurierung des Verfahrens ........................................ 76

3.6.2 Resultate für alle Varianten der vorgestellten Metaheuristiken ............ 78

3.6.3 Vergleich zwischen SA und TS ............................................................ 80

3.6.4 Hybridisierung und Parallelisierung...................................................... 81

3.6.5 Vergleich mit den Resultaten anderer Autoren ..................................... 81

3.6.6 Anheben der Anzahl an parallelen Prozessoren.................................... 82

3.7 Zusammenfassung der Ergebnisse....................................................................83

Page 6: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

VI Inhaltsverzeichnis

4 Ein Verfahren zum Erzeugen von C&P-Instanzen ..............................................85

4.1 Zielsetzung und Vorgehensweise......................................................................85

4.2 Parameter und Datenstrukturen.........................................................................87

4.3 Überblick über das Verfahrens CPGH..............................................................91

4.4 Basisheuristik zum Erzeugen einer Ausgangslösung (CPHK) .........................93

4.4.1 Module von CPHK ................................................................................93

4.4.2 Zerlegen des Containers in Packräume (Modul CutPr).........................95

4.4.3 Erzeugen der Kistentypen (Modul FindAllTypes)..............................100

4.4.4 Zulässigkeitsprüfung (Modul CheckValid) .........................................100

4.4.5 Auswahl der Kistentypen (Modul FixAllTypes) .................................101

4.4.6 Auflösen unzulässiger Packräume (Modul RemoveAllBads) .............102

4.4.7 Testen der Zulässigkeit einer Lösung (Modul TestSol) ......................104

4.5 Iteratives Verbesserungsverfahren (CPHI) .....................................................105

4.5.1 Module von CPHI................................................................................105

4.5.2 Auswahl eines Mutterpackraums (Modul SelectParent) .....................108

4.5.3 Neuzerlegung des Mutterpackraums (Modul SplitParent) ..................109

4.5.4 Vervollständigen einer Lösung (Modul FinishSol) .............................112

4.6 Einmalige Nachbearbeitung der Bestlösung (CPHP).....................................113

4.6.1 Module von CPHP...............................................................................113

4.6.2 Anpassung des Kistenvorrats (Modul AdaptTypes)............................113

4.6.3 Hinzufügen von Zusatzbedingungen (Modul AddConstraints)...........114

4.7 Anpassung von CPGH an das Strip Packing-Problem....................................119

4.8 Anpassung von CPGH an das Bin Packing-Problem......................................120

4.9 Numerische Tests ............................................................................................121

4.9.1 Mit CPGH erzeugte CLP-Instanzen ....................................................121

Konfiguration von CPGH....................................................................121

Testresultate.........................................................................................123

4.9.2 Mit CPGH erzeugte SPP-Instanzen .....................................................126

4.10 Zusammenfassung der Ergebnisse ..................................................................127

Page 7: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Inhaltsverzeichnis VII

5 Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems .. 129

5.1 Zielsetzung und Vorgehensweise ................................................................... 129

5.2 Die Heuristik von Pisinger für das Containerbeladeproblem......................... 129

5.3 Anpassung an das Strip Packing-Problem...................................................... 132

5.3.1 Adaptation mit offenem Container...................................................... 132

5.3.2 Adaptation mit geschlossenem Container ........................................... 133

5.4 Verfahrenstest ................................................................................................. 137

5.4.1 Benchmarkinstanzen für das SPP........................................................ 137

5.4.2 Konfiguration der Heuristik ................................................................ 140

5.4.3 Numerische Resultate.......................................................................... 141

Vergleich der verschiedenen Varianten von SPBBL .......................... 141

Berechnung von Instanzen mit bekanntem Bestwert .......................... 144

Vergleich von SPBBL mit anderen Verfahren.................................... 145

5.5 Zusammenfassung der Ergebnisse.................................................................. 147

6 Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems... 149

6.1 Zielsetzung und Vorgehensweise ................................................................... 149

6.2 Lower Bounds für das Bin Packing-Problem ................................................. 150

6.2.1 Vorbemerkungen................................................................................. 150

6.2.2 Der Continuous Lower Bound L0........................................................ 151

6.2.3 Verallgemeinerung des Lower Bound L1 ............................................ 152

6.2.4 Verallgemeinerung des Lower Bound L2 ............................................ 156

6.3 Module des BPP-Verfahrens und ihre Interaktion ......................................... 160

6.4 Beschreibung der Teilverfahren ..................................................................... 161

6.4.1 Das CLP-Verfahren (Modul 3CLH) ................................................... 161

6.4.2 Das 1D-BPP-Verfahren (Modul 1BPH).............................................. 162

6.4.3 Erzeugung einzelner Lösungen für das 3D-BPP (Modul 3BP1S) ...... 162

6.4.4 Hauptmodul der 3D-BPP-Heuristik (Modul BPHL)........................... 164

6.4.5 Nachoptimierung einer Lösung (Modul 3BPPO)................................ 165

6.5 Numerischer Test............................................................................................ 168

6.5.1 Probleminstanzen ................................................................................168

Page 8: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

VIII Inhaltsverzeichnis

6.5.2 Testresultate.........................................................................................170

6.6 Zusammenfassung der Ergebnisse ..................................................................178

7 Zusammenfassung und Ausblick .........................................................................179

7.1 Zusammenstellung der Ergebnisse für die einzelnen Verfahren.....................179

7.2 Zusammenhang der Erkenntnisse und Ausblick .............................................181

Literaturverzeichnis....................................................................................................187

Page 9: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Abstract IX

Abstract

Mehrdimensionale Cutting and Packing- (C&P-) Probleme gelten als besonders schwierige kombinatorische Optimierungsprobleme. Im Rahmen dieser Dissertation werden fünf Verfahren für Problemstellungen des C&P mit quaderförmigen Packstücken (Items) vorgestellt. Die Ergebnisse der vorliegenden Arbeit können wie folgt zusammengefasst werden.

In der Literatur werden bevorzugt Metaheuristiken zur Lösung von C&P-Problemen verwendet. Allerdings sind bisher nur wenige Versuche bekannt, die Metaheuristik Simulated Annealing (SA) einzusetzen. In einem Verfahren dieser Arbeit wird SA neben Tabu Search (TS) als Nachbarschaftsverfahren angewendet. Die Integration von SA und TS zu einem neuen hybriden Ansatz und dessen anschließende Parallelisierung führt zudem zu sehr guten Resultaten, wie umfangreiche Tests belegen.

Die Fragestellungen des Container Loading, Strip Packing und Bin Packing stehen in einem engen inneren Zusammenhang. Im Rahmen dieser Arbeit wird dies gezeigt, indem ein bestehendes Branch and Bound-Verfahren für das Containerbeladeproblem schrittweise zunächst zu einem Strip Packing-Verfahren und anschließend zu einem Bin Packing-Verfahren ausgebaut wird. Der verwendete Erweiterungsansatz lässt sich auf beliebige schichtbildende Verfahren verallgemeinern, bei denen ein Container mit separaten, vertikalen Schichten aus je einigen Stücken gefüllt wird.

Die für mehrdimensionale C&P-Probleme in der Literatur angebotenen Benchmarkinstanzen sind meist von bescheidener Größe und umfassen im dreidimensionalen (3D) Fall meist nicht mehr als 200 Items. Zudem ist das Optimum meist unbekannt, was die Bewertung von Verfahren zusätzlich erschwert. Im Rahmen dieser Dissertation wird daher ein Instanzgenerator für mehrdimensionale C&P-Probleme beliebiger Größe mit bekanntem Optimum entworfen und angewendet.

Neue zwei- und dreidimensionale Benchmarkinstanzen von bisher nicht gekannter Größe und teilweise mit bekanntem Optimum werden eingeführt und gelöst. So werden unter anderem 600 neue Testinstanzen mit bekanntem Optimum und 200 Items für das Strip Packing-Problem (SPP) verwendet, neben größeren neuen SPP-Instanzen mit 1.000 Items, welche aus den Packproblemen von BISCHOFF und RATCLIFF (1995) abgeleitet werden. Außerdem werden 1800 neue Instanzen für das Bin Packing-Problem mit durchschnittlich mehr als 1500 Packstücken eingeführt. Neben der Dimensionalität werden dabei auch die relative Packstückgröße sowie die Heterogenität der Packstückmenge systematisch variiert.

Alle fünf Verfahren wurden in den Jahren 2003 bis 2009 entworfen. Insbesondere das bereits 2004 vorgestellte parallel-hybride Verfahren für das Containerbeladeproblem blieb bis zum Jahre 2008 ungeschlagen für schwach heterogene Benchmarkinstanzen.

(217 Seiten, 57 346 Wörter, 12/10/2011 11:19)

Page 10: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades
Page 11: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Abbildungsverzeichnis XI

Abbildungsverzeichnis

Abb. 1. Guillotinierbare und nichtguillotinierbare Anordnung.............................. 13

Abb. 2. Zulässige Anordnungstypen innerhalb eines Packraums (Draufsicht)...... 38

Abb. 3. Restraumaufteilung ohne Überhang bei 1-AO. ......................................... 39

Abb. 4. Zusätzliche Aufteilungsvarianten mit Überhängen bei 1-AO. .................. 40

Abb. 5. Ring-Kommunikationsmodell. .................................................................. 49

Abb. 6. Blackboard-Kommunikationsmodell......................................................... 49

Abb. 7. Überblick der Verfahren und ihrer Wechselbeziehungen. ........................ 58

Abb. 8. Komponenten der Basisheuristik: Packraum, lokale AO, Blöcke............. 61

Abb. 9. Vermeiden instabiler Platzierungen mit Überhang. .................................. 62

Abb. 10. Transformation einer Packsequenz in eine zulässige Lösung. .................. 63

Abb. 11. Zwei Varianten der Hybridisierung........................................................... 72

Abb. 12. Mittlere Volumenauslastung für 7 BR-Testfälle. ...................................... 79

Abb. 13. Verbesserung der Auslastung bei Hybridisierung und Parallelisierung.... 81

Abb. 14. Mittlere Volumenauslastung bei Anheben der Prozesszahl. ..................... 83

Abb. 15. Listenelemente von PrList, ArrList und TypList. ..................................... 89

Abb. 16. Schematische Darstellung der Teilverfahren von CPGH.......................... 91

Abb. 17. Auswahlprobleme bei der Packraumzerlegung mit CutPr. ....................... 97

Abb. 18. Schnittpunkte und Nachfolgepackräume beim NG-Schnitt. ..................... 99

Abb. 19. Zerschneiden und Verschmelzen von Packräumen in PrList. ................. 104

Abb. 20. Vorgehensweise des Verbesserungsmoduls CPHI. ................................. 105

Abb. 21. Unterteilung des Mutterpackraums prpar im 3D-Fall (Teilschritt 3). ..... 107

Abb. 22. Anpassen von CPGH an das SPP. ........................................................... 119

Abb. 23. Zwei Adaptationsvarianten zur Erzeugung von BPP-Instanzen.............. 121

Abb. 24. Schichtartige Struktur eines Stauplans bei PISINGER (2002). .................. 130

Abb. 25. Vorläufige SPP-Lösung einer Testinstanz mit 8 Kistentypen. ................ 137

Page 12: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

XII Abbildungsverzeichnis

Abb. 26. Drei Zerlegungsvarianten für den Container (Draufsicht).......................140

Abb. 27. Suchverlauf der konkurrierenden SPP-Verfahren (SP-BR5-007). ..........143

Abb. 28. Sechs Orientierungsvarianten eines Packstücks im Container. ...............152

Abb. 29. Bereiche für Teilmengen bei gegebenem Wertepaar (p, q). ....................156

Abb. 30. Modularer Aufbau der 3D-BPP-Heuristik. ..............................................160

Abb. 31. Vier Schritte der Nachoptimierung mit Modul 3BPPO...........................166

Abb. 32. Suchverlauf von BPHL am Beispiel der Testinstanz MB06_015............176

Page 13: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Tabellenverzeichnis XIII

Tabellenverzeichnis

Tab. 1. Intermediäre Problemtypen der Outputmaximierung.................................. 4

Tab. 2. Intermediäre Problemtypen der Inputminimierung. .................................... 5

Tab. 3. Auswahl wichtiger C&P-Restriktionen....................................................... 8

Tab. 4. Codierung der Orientierungsvarianten (OV)............................................... 9

Tab. 5. Vier Subtypen für C&P-Probleme nach LODI et al. (1999a). .................... 14

Tab. 6. Verfahren für das mehrdimensionale BPP mit rechteckigen Items........... 26

Tab. 7. Benchmarkinstanzen für Cutting and Packing Probleme. ......................... 28

Tab. 8. Kapitel der Dissertation und Bezug zu bisherigen Veröffentlichungen. ... 31

Tab. 9. Bewertungsmodi zur Packraumzerlegung. ................................................ 41

Tab. 10. Parametersätze für den sequentiellen TSA................................................ 52

Tab. 11. Aufteilung der Parametersätze auf drei TSA-Prozesse von PTS. ............. 53

Tab. 12. Ergebnisse für die 15 Testprobleme von LOH und NEE. ........................... 54

Tab. 13. Ergebnisse für die 700 Testprobleme von BISCHOFF und RATCLIFF. ........ 55

Tab. 14. Phasenparametersets für SA und hybride Suche. ...................................... 76

Tab. 15. Testparameter zu SA und TS..................................................................... 77

Tab. 16. Resultate der TS-, SA- und Hybridvarianten für BR-Testinstanzen. ........ 78

Tab. 17. Vergleich mit den Verfahren anderer Autoren. ......................................... 82

Tab. 18. Parameter von CPGH. ............................................................................... 87

Tab. 19. Eigenschaften der Listenelemente. ............................................................90

Tab. 20. Zusätzliche Instanzvariablen für Restriktionen. ...................................... 118

Tab. 21. Heterogenität H der erzeugten CLP-Instanzen........................................ 122

Tab. 22. Parameterwerte zur Erzeugung von CLP-Instanzen................................ 123

Tab. 23. Heterogenität und Kistenzahlen pro Typ für die CLP-Instanzen. ........... 123

Tab. 24. Charakteristiken der erzeugten CLP-Instanzen. ...................................... 124

Tab. 25. Zeit bis zum Ermitteln der Bestlösung (der Ausgangslösung). ............... 125

Page 14: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

XIV Tabellenverzeichnis

Tab. 26. Anzahl der berechneten vollständigen Zwischenlösungen. .....................125

Tab. 27. Parameter für die Struktur der Optimallösung der SPP-Instanzen. .........126

Tab. 28. Auslegung der Parametergruppen 1-3 für die SPP-Instanzen..................126

Tab. 29. Kenndaten der Testfälle SP-BR1 bis SP-BR10. ......................................138

Tab. 30. Resultate für die Testfälle SP-BRi. ..........................................................141

Tab. 31. Resultate für die Testfälle SP-BRi-XL. ...................................................144

Tab. 32. Berechnung mit SPBBL-CC4 von Instanzen mit bekanntem Optimum. 145

Tab. 33. Resultat des Vergleichstests mit den Verfahren anderer Autoren. ..........147

Tab. 34. Systematik und Bezeichnungen der 12 BPP-Testfälle.............................170

Tab. 35. Testresultate für 500 2D-Benchmarkprobleme........................................171

Tab. 36. Testresultate für 240 3D-Benchmarkprobleme........................................172

Tab. 37. BPHL Testresultate für 1800 Probleminstanzen......................................173

Page 15: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Algorithmenverzeichnis XV

Algorithmenverzeichnis

Alg. 1. Grobalgorithmus der Basisheuristik. ......................................................... 36

Alg. 2. Tabu Search-Algorithmus für ein Maximumproblem............................... 42

Alg. 3. Simulated Annealing-Algorithmus für ein Maximierungsproblem........... 65

Alg. 4. Grobalgorithmus des Verfahrens CPGH. .................................................. 92

Alg. 5. Grobalgorithmus der Basisheuristik CPHK. ............................................. 93

Alg. 6. Algorithmus von Modul CutPr zum Zerlegen von Packräumen. .............. 96

Alg. 7. Modul CheckValid: Zulässigkeitstest von Typen und Anordnungen. .... 101

Alg. 8. Modul MergePr: Verschmelzen eines Packraums pr. ............................. 103

Alg. 9. Modul RemoveAllChilds: rekursives Desaktivieren aller Packräume. ... 103

Alg. 11. Modul SplitParent: Zerlegen von Packraum prpar. ................................. 110

Alg. 12. Steuerheuristik der SPP-Variante mit geschlossenem Container. ........... 134

Alg. 13. Berechnung einer zugeordneten CLP-Instanz......................................... 136

Alg. 14. Algorithmus der Heuristik 3BP1S........................................................... 163

Alg. 15. Algorithmus des Hauptmoduls BPHL..................................................... 164

Alg. 16. Algorithmus der Heuristik 3BPPO.......................................................... 167

Page 16: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades
Page 17: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Abkürzungsverzeichnis XVII

Abkürzungsverzeichnis

1-AO – Kompakte Anordnung von Packstücken innerhalb eines Containers, welche aus einem Block mit Kisten eines Typs in identischer räumlicher Orientierung besteht

1BPH – ein Verfahren zur Lösung des 1D-BPP (1D-Bin Packing, Heuristik)

2-AO – Anordnung von Packstücken innerhalb eines Containers, welche aus zwei Blöcken besteht

2D – zweidimensional

3BP1S – eine Heuristik zur Erzeugung einer Lösung für das 3D-BPP (3D-Bin Packing, 1 Solution)

3BPPO – eine Heuristik zur Nachoptimierung einer mit 3BP1S erzeugten Lösung (3D-Bin Packing Problem, Optimisation)

3CLH – ein Verfahren zur Lösung des CLP (3D-Container Loading, Heuristik)

3D – dreidimensional

AO – Anordnung von Packstücken innerhalb eines Containers

B&B – Branch and Bound

B&C – Branch and Cut

BL – Bottom-Left

BPHL – eine auf dem schichtbildenden Ansatz basierende Heuristik für das BPP (Bin Packing, Heuristik, Layers)

BPP – Bin Packing-Problem

BR1 – BR7 – Bezeichnung der Testfälle von BISCHOFF und RATCLIFF (1995)

bzw. – beziehungsweise

C&P – Cutting and Packing

ca. – circa

CP – Constrained Programming

CPGH – ein Verfahren zur Erzeugung von C&P-Testinstanzen (Cutting and Packing Generator, Heuristik)

CH – Konstruktive Heuristik

CLP – Containerbeladeproblem (Container Loading-Problem)

d.h. – das heißt

ggf. – gegebenenfalls

FFD – First Fit Decreasing

FIFO – First In, First Out

Page 18: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

XVIII Abkürzungsverzeichnis

G-cut, G-Schnitt – Guillotineschnitt

GA – Genetischer Algorithmus

GAP – relative Abweichung vom theoretischen SPP Optimum

GLS – Guided Local Search

GRASP – Greedy Randomized Adaptive Search Procedure

HYB – ein hybrides TS/SA-Verfahren für das 3D-CLP

HYB.XL – ein massiv verteilt-paralleles hybrides Verfahren für das CLP

i.A. – im Allgemeinen

i.d.R. – in der Regel

IH – Verbesserungsheuristik

IIPP – Identical Item Placement Problem (WÄSCHER et al., 2004)

IPT – Intermediate Problem Type(s) (WÄSCHER et al., 2004)

LAN – Lokales Netzwerk (Local Area Network)

LB – Lower Bound

LIFO – Last In, First Out

MBSBPP – Multiple Bin Size Bin Packing Problem (WÄSCHER et al., 2004)

MIKP – Multiple Identical Knapsack Problem (WÄSCHER et al., 2004)

MILOPP – Multiple Identical Large Objects Placement Problem (WÄSCHER et al., 2004)

MMP – Massenmittelpunkt einer Ladung

MSSCSP – Multiple Stock Size Cutting Stock Problem (WÄSCHER et al., 2004)

NBS – Anzahl der ermittelten Bestlösungen im Suchverlauf (Number of Best Solutions)

NG, NG-cut – Nichtguillotineschnitt

NP – Non-Deterministic Polynomial

o.B.d.A. – ohne Beschränkung der Allgemeinheit

ODP – Open Dimension-Problem

OF – Subtyp von C&P-Problemen nach LODI et al. (1999a): Orientierung der Items ist vorgegeben (O), Guillotineschnitte sind frei (F)

OG – Subtyp von C&P-Problemen nach LODI et al. (1999a): Orientierung der Items ist vorgegeben (O), Guillotineschnittbedingung ist vorgeschrieben (G)

OR – Operations Research

OV – Orientierungsvariante eines mehrdimensionalen Packstücks im Container

Page 19: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Abkürzungsverzeichnis XIX

PHYB – paralleles Hybridverfahren

PC – Personal Computer

PR – Packraum

PTS – ein paralleles Tabu Search-Verfahren

PSA – ein paralleles Simulated Annealing-Verfahren

q. e. d. – quod erat demonstrandum (was zu beweisen war)

RBPP – Residual Bin Packing-Problem (WÄSCHER et al., 2004)

RCSP – Residual Cutting Stock-Problem (WÄSCHER et al., 2004)

RF – Subtyp von C&P-Problemen nach LODI et al. (1999a): Items dürfen gedreht werden (R = Rotation), Guillotineschnitt ist nicht vorgeschrieben (F = Frei)

RG – Subtyp von C&P-Problemen nach LODI et al. (1999a): Items dürfen gedreht werden (R = Rotation), Guillotineschnittbedingung ist vorgeschrieben (G)

RPT – Refined Problem Type(s) (WÄSCHER et al., 2004)

SA – Simulated Annealing

SAA – Simulated Annealing-Algorithmus

SBSBPP – Single Bin Size Bin Packing-Problem (WÄSCHER et al., 2004)

SKP – Single Knapsack-Problem (WÄSCHER et al., 2004)

SLOPP – Single Large Object Placement-Problem (WÄSCHER et al., 2004)

SPBBL – ein Verfahren zur Lösung des Strip Packing-Problems (Strip Packing, Branch and Bound, Layer-Ansatz)

SPBBL-CC – ein Verfahren zur Lösung des Strip Packing-Problems, Variante mit geschlossenem Container (Closed Container)

SPBBL-OC – ein Verfahren zur Lösung des Strip Packing-Problems, Variante mit offenem Container (Open Container)

SP-BRi – aus den CLP-Instanzen von BISCHOFF und RATCLIFF (1995) abgeleitete SPP-Instanzen (durch Ignorieren der Containerlänge)

SP-BRi-XL – von den CLP-Instanzen von BISCHOFF und RATCLIFF (1995) abgeleitete SPP-Instanzen (mit erhöhter Kistenzahl)

SPP – Strip Packing-Problem

SSSCSP – Single Stock Size Cutting Stock-Problem (WÄSCHER et al., 2004)

TA – Threshold Accepting

TTB – Time To Best (Rechenzeit bis zur Ermittlung der Bestlösung)

TRS – Tree Search

TS – Tabu Search

TSA – Tabu Search-Algorithmus

Page 20: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

XX Abkürzungsverzeichnis

TSP – Travelling Salesman-Problem

UB – Upper Bound

vgl. – vergleiche

VRP – Vehicle Routing-Problem

VU – Volume Utilization (Volumenauslastung)

Page 21: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 1

1 Einleitung

1.1 Überblick

Das Promotionsvorhaben „Metaheuristiken zur Lösung von Standardproblemen des Cutting

and Packing“ reiht sich nahtlos in die Forschungsaktivitäten des Lehrstuhls

Wirtschaftsinformatik der Fakultät Wirtschaftswissenschaft der FernUniversität Hagen ein.

Einen Schwerpunkt der Forschung am Lehrstuhl bildet die Entwicklung

entscheidungsunterstützender Systeme auf der Grundlage moderner heuristischer

Suchstrategien der Künstlichen Intelligenz und des Operations Research1. Die vorliegende

Dissertation behandelt das Themengebiet der Containerstauplanung und

Verschnittoptimierung (allgemein auch als „Cutting and Packing“ bezeichnet, abgekürzt

C&P), welches dem Bereich der kombinatorischen Optimierung zuzuordnen ist.

Schwerpunkt der Arbeit ist die Entwicklung neuer Verfahren für verschiedene

Problemstellungen des C&P unter Berücksichtigung industrieller Erfordernisse wie z.B.

praktisch relevanter Problemgrößen und Restriktionen, Aufwandsbeschränkung und

Verwendung allgemein verfügbarer Hard- und Software. Besondere Aufmerksamkeit wird

dem Thema des Einflusses von Problemgröße und Heterogenität der ausschließlich

quaderförmigen Packstücke auf die Lösungsqualität gewidmet. Dazu sollen Verfahren

entwickelt werden, welche in der Lage sind, für Problemgrößen jenseits von 500 bis 1.000

Packstücken gute Ergebnisse zu erzielen.

Das vorliegende Kapitel 1 führt in die Problematik des Cutting and Packing ein und erläutert

die Motivation für das Promotionsvorhaben. Das Kapitel ist wie folgt gegliedert: in

Abschnitt 1.2 wird die Problematik des C&P vorgestellt und systematisch eingeordnet.

Außerdem werden drei wichtige C&P-Standardprobleme näher beschrieben. In Punkt 1.3

wird auf die ökonomische Relevanz des Cutting and Packing im engeren Sinne eingegangen.

Kapitel 1.4 stellt die möglichen Strategien zur Lösung von C&P-Problemen vor. Ein

Überblick über den aktuellen Stand der Forschung findet sich in Abschnitt 1.5. Schließlich

beschreibt Abschnitt 1.6 die Motivation der vorliegenden Dissertation.

1 zum Forschungsprofil vgl. http://www.fernuni-hagen.de/WINF/inhfrm/forprof.htm

Page 22: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

2 Kapitel 1 : Einleitung

1.2 Problemstellung und -einordnung

1.2.1 Logische Struktur des Cutting and Packing

Cutting and Packing-Probleme lassen sich auf eine gemeinsame Fragestellung zurückführen

(siehe WÄSCHER et al., 2004): Gegeben sind eine Menge großer Objekte (Container) und eine

Menge kleiner Objekte (Items). Container und Items sind Punktmengen eines

d-dimensionalen Raumes (d > 1); wähle einige oder alle kleinen Objekte, gruppiere diese in

einer oder mehreren Teilmengen und ordne diese den großen Objekten zu, so dass:

(a) alle kleinen Objekte der Teilmenge jeweils vollständig in dem großen Objekt liegen;

(b) je zwei kleine Objekte überschneidungsfrei platziert sind;

(c) eine gegebene Zielfunktion optimiert wird.

Die Forderungen (a) und (b) stellen hierbei grundlegende Zulässigkeitsbedingungen dar. Man

beachte, dass in der gesuchten Optimallösung weder alle gegebenen großen noch alle kleinen

Objekte vorkommen müssen. Aus der obigen Problembeschreibung lassen sich folgende fünf

Teilprobleme ableiten:

(P1) Auswahl einiger kleiner Objekte;

(P2) Gruppierung dieser Objekte in Teilmengen;

(P3) Auswahl einiger großer Objekte;

(P4) Zuordnung der Teilmengen kleiner Objekte zu einzelnen großen Objekten;

(P5) Platzierung der kleinen Objekte im jeweils zugeordneten großen Objekt unter

Berücksichtigung der Bedingungen (a) und (b).

Die Komplexität des Problems liegt nicht allein in der Lösung dieser fünf Teilprobleme. Alle

Teilprobleme sind in der Tat simultan zu lösen und können somit in der Regel nicht

unabhängig voneinander sequentiell abgearbeitet werden. Bei bestimmten Ausprägungen des

C&P-Problems kommen nicht alle fünf Teilprobleme vor. So besteht beispielsweise beim

Beladeproblem mit einem Container offensichtlich kein Auswahlproblem (P3).

C&P-Probleme treten in verschiedenartigen Dimensionen auf. Bei räumlichen Dimensionen

wird zwischen ein-, zwei- und dreidimensionalen Problemen unterschieden. Große und

kleine Objekte entsprechen dann konkreten materiellen Gegenständen. Demgegenüber stehen

Probleme in nichträumlichen Dimensionen. Man spricht dann von C&P „im weiteren Sinne“

oder auch von abstraktem C&P, vgl. DYCKHOFF und FINKE (1992) sowie

Page 23: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 3

DYCKHOFF et al. (1997). Nachfolgend werden drei Beispiele für abstrakte C&P beschrieben.

Beim klassischen Rucksackproblem (Knapsackproblem) tritt als einzige Dimension das

Gewicht an die Stelle der räumlichen Dimensionen: aus einer Menge an Gegenständen ist

eine Auswahl zu treffen, so dass die Summe der Gewichte der ausgewählten Objekte ein

bestimmtes Maximalgewicht nicht überschreitet, während gleichzeitig der Gesamtnutzen der

Auswahl maximiert wird. Beim Bandabgleichproblem (SALBP1) sind Arbeitsvorgänge

bestimmter Dauer und mit gewissen Abhängigkeitsbeziehungen derart an Stationen mit

einheitlicher Zykluszeit zu verteilen, dass die Summe der Vorgangsdauern an keiner Station

die Zykluszeit überschreitet und zugleich die Anzahl der Stationen möglichst gering ist. Die

räumliche Dimension wird demnach beim SALBP1 durch die Dimension Zeit ersetzt. Ein

weiteres Beispiel eines nicht räumlichen C&P-Problems ist das Capital Budgeting-Problem,

bei dem einige Projekte ausgewählt werden sollen, welche unter Berücksichtigung eines

Maximalbudgets den erzielten Gewinn maximieren. Die räumliche Dimension wird hier

durch eine pekuniäre Dimension ersetzt.

Neben reinen C&P-Problemen werden in der Literatur vermehrt Probleme bearbeitet, bei

denen ein C&P-Problem als Teilproblem auftritt, beispielsweise neben einem

Tourenplanungsproblem.

In der vorliegenden Arbeit werden ausschließlich reine C&P-Probleme mit räumlicher

Dimension behandelt. Diese werden auch als C&P-Probleme „im engeren Sinne“ bezeichnet.

1.2.2 Klassifizierung der C&P-Probleme

WÄSCHER et al. (2004 bzw. 2007) stellen eine Typologie für C&P-Probleme vor, welche auf

der Systematik von DYCKHOFF (1990) aufbaut und letztere in einigen Aspekten verbessert.

Hauptziel von WÄSCHER et al. (2004, S.6) ist die Identifizierung von Standardproblemen

zwecks eindeutiger Zuordnung von Forschungsarbeiten zu diesen Problemtypen. Dieses Ziel

wird in drei Schritten erreicht. Dabei werden ebenfalls nur reine C&P-Probleme betrachtet;

andere Probleme des Operations Research, bei denen C&P als Teilproblem vorkommt,

bleiben unberücksichtigt.

Im ersten Schritt wird nach zwei Kriterien unterschieden. Es geht um den Typ der

Zielfunktion und die Art des Sortiments der kleinen Objekte.

Page 24: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

4 Kapitel 1 : Einleitung

• Bei der Zielfunktion wird zwischen zwei Basistypen „Outputmaximierung“ und

„Inputminimierung“ unterschieden. Ersterer liegt immer dann vor, falls nicht

ausreichend viele große Objekte vorhanden sind, um alle kleinen Objekte zu verstauen.

Im Fall der Inputminimierung können dagegen alle kleinen Objekte platziert werden

und es geht allein um die Verwendung möglichst weniger großer Objekte bzw. die

Minimierung der Kosten der großen Objekte. Ein Spezialfall ist außerdem durch das

ODP (Open Dimension-Problem) gegeben, bei dem eine oder mehrere Ausdehnungen

des (einzigen) großen Objekts variabel ausgelegt sind. Hier liegt ein Spezialfall der

Inputminimierung vor, wobei ein variables Maß des großen Objekts zu minimieren ist.

• Für das Sortiment an kleinen Objekten wird unterschieden zwischen „homogen“ (alle

Objekte sind identisch), „schwach heterogen“ (es gibt relativ wenige Objekttypen im

Vergleich zu der Gesamtobjektzahl) und „stark heterogen“ (es gibt relativ viele

Objekttypen und nur wenige Objekte pro Typ). Dabei ist ein Objekttyp durch seine

Gestalt und Größe (Maße) gegeben.

Im zweiten Schritt werden nun diese 2 · 3 = 6 Basistypen in 14 so genannte intermediäre

Typen (Intermediate Problem Types, IPT) weiter aufgefächert. Kriterien hierbei sind Anzahl

und Heterogenitätsgrad der großen Objekte. Die Tabellen 1 und 2 stellen die je sieben IPT

für Inputminimierung und Outputmaximierung mit ihrer Bezeichnung und Abkürzung nach

WÄSCHER et al. (2004) vor.

Tab. 1. Intermediäre Problemtypen der Outputmaximierung.

Merkmale der großen Objekte Sortiment der kleinen Ob jekte

Maße Sortiment identisch schwach heterogen stark heteroge n

ein großes Objekt IIPP

Identical Item Placement Problem

SLOPP Single Large Object Placement Problem

SKP Single

Knapsack-Problem

mehrere identische Objekte

MILOPP Multiple Identical

Large Objects Placement Problem

MIKP Multiple Identical

Knapsack Problem

vorgegeben (fix)

mehrere unterschiedliche

Objekte

MHLOPP Multiple Heterogeneous

Large Objects Placement Problem

MHKP Multiple Heterogeneous

Knapsack Problem

Page 25: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 5

Tab. 2. Intermediäre Problemtypen der Inputminimierung.

Sortiment der großen Objekte Sortiment der kleinen Ob jekte

Maße Sortiment identisch schwach heterogen stark het erogen

identisch SSSCSP

Single Stock Size Cutting Stock Problem

SBSBPP Single Bin Size

Bin Packing Problem

schwach heterogen

MSSCSP

Multiple Stock Size Cutting Stock Problem

MBSBPP Multiple Bin Size

Bin Packing Problem

vorgegeben (fix)

stark heterogen

RCSP Residual

Cutting Stock Problem

RBPP Residual

Bin Packing Problem

ein oder mehrere

variable Maße ein Objekt

ODP Open Dimension Problem

Im dritten Schritt der Klassifizierung schließlich werden dem intermediären Problemtyp die

Dimensionalität sowie die Gestalt der Objekte (rechteckig, kreisförmig, zylindrisch,

irregulär etc.) hinzugefügt. Diese zusätzlichen Ausprägungen führen zur Bestimmung von so

genannten verfeinerten Problemtypen (RPT = Refined Problem Types). Hierbei werden der

Bezeichnung des IPT zusätzliche Informationen vorangestellt. Das zweidimensionale

Bin Packing-Problem mit unterschiedlichen Containern und rechteckigem Kistenvorrat wird

beispielsweise als 2R-MBSBPP bezeichnet.

Die Klassifikation nach WÄSCHER et al. (2007) bietet den Vorteil, dass ein beliebiger

Lösungsansatz für das C&P einem bestimmten RPT eindeutig zugeordnet werden kann. Sie

räumt gewisse Schwächen der früheren Klassifikation nach DYCKHOFF überzeugend aus.

Andererseits sind die Bezeichnungen recht kompliziert und haben sich in der C&P-Literatur

bislang noch nicht in vollem Umfang durchgesetzt. Für die im folgenden Abschnitt als

Gegenstand dieser Arbeit abgegrenzten drei C&P-Problemtypen werden daher hier

vorwiegend gebräuchlichere Bezeichnungen und entsprechende Kürzel verwendet.

1.2.3 Eingrenzung auf drei Standardprobleme

Im Rahmen der vorliegenden Arbeit werden ausschließlich C&P-Probleme mit rechteckigen

(2D-Fall) bzw. quaderförmigen (3D-Fall) kleinen und großen Objekten behandelt. Den

Gegenstand der Arbeit bilden die nachfolgend definierten Problemtypen.

Page 26: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

6 Kapitel 1 : Einleitung

Containerbeladeproblem (CLP)

Das Problem der Outputmaximierung (bei Wäscher je nach Objektsortiment als „Placement

Problem“ oder „Knapsackproblem“ bezeichnet, siehe Tab. 1) mit quaderförmigen kleinen

Objekten und einem einzelnen zu beladenden Objekt soll im Folgenden einheitlich, d.h. für

den 2D-Fall wie für den 3D-Fall, als „Containerbeladeproblem“ (Container

Loading-Problem, CLP) bezeichnet werden. Die Items werden als „Packstücke“ oder

„Kisten“ bezeichnet, das große Objekt als „Container“. Das Problem lässt sich wie folgt

formulieren:

Gegeben ist eine Menge quaderförmiger Packstücke (Kisten) sowie ein einzelner Container

mit bekannten Abmessungen. Gesucht wird eine zulässige Anordnung einer Teilmenge der

Kisten in dem Container, welche das verstaute Volumen maximiert und zusätzliche

Restriktionen berücksichtigt.

Eine Anordnung gilt als zulässig, wenn alle platzierten Kisten vollständig im jeweiligen

Container liegen und es keine Überlappungen der Kisten gibt. Ferner wird wie üblich

verlangt, dass jedes kleine Objekt orthogonal platziert wird. Im 3D-Fall bedeutet das, dass

jede Seitenfläche einer Kiste parallel zu einer Seitenfläche des Containers liegen muss; im

2D-Fall gilt eine analoge Anforderung. Die vorstehend genannten Bedingungen werden auch

als allgemeine Zulässigkeitsbedingungen bezeichnet.

Da ausschließlich quaderförmige (rechteckige) Objekte Verwendung finden, ist die genaue

Bezeichnung des 3D-CLP nach Wäscher: 3R-SLOPP bzw. 3R-SKP. Es sei erwähnt, dass ein

Algorithmus für das 3D-Problem auch das 2D-Problem löst. Es ist hierzu ausreichend, für

alle 2D-Container und 2D-Objekte eine fiktive einheitliche kleinstmögliche Höhe „1“

einzuführen.

Trotz der Bezeichnung als „Beladeproblem“ ist die obige Definition analog auf die

Zuschnittproblematik anwendbar. Der erwünschten Maximierung des verstauten Volumens

beim Beladeproblem entspricht die Minimierung des Verschnitts bei der Cuttingvariante.

Strip Packing-Problem (SPP)

In der Literatur wird das ODP (Open Dimension-Problem, siehe vorige Tab. 2) mit

quaderförmigen Objekten meist als Strip Packing-Problem bezeichnet. Das Problem sei wie

folgt definiert:

Page 27: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 7

Gegeben ist eine Menge von quaderförmigen Packstücken (Kisten) sowie ein in

Längsrichtung offener Container. Gesucht wird eine zulässige Anordnung aller Kisten in dem

Container, die die benötigte Containerlänge minimiert und gegebenenfalls zusätzliche

Restriktionen berücksichtigt.

Es gelten dieselben allgemeinen Zulässigkeitsbedingungen wie beim CLP.

Bin Packing-Problem (BPP)

Die Inputminimierungsprobleme SSSCSP und SBSBPP aus Tab. 2 mit quaderförmigen

Objekten werden hier einheitlich (in der 2D- und 3D-Variante) als Bin Packing-Problem

(BPP) bezeichnet, welches wie folgt definiert wird:

Gegeben ist eine Menge von quaderförmigen Packstücken (Kisten) sowie eine unbegrenzte

Zahl identischer Container (Bins) mit bekannten Abmessungen. Gesucht wird eine zulässige

Anordnung aller Kisten in einer minimalen Anzahl an Bins.

Es gelten wiederum dieselben allgemeinen Zulässigkeitsbedingungen wie beim CLP. Alle

drei vorgestellten Probleme wurden hier als Packprobleme formuliert. Auf die Dualität

zwischen der Lade- und Zuschnittproblematik wird in Abschnitt 1.3 hingewiesen. Alle drei

vorgestellten Standardprobleme sind C&P-Probleme im engeren (räumlichen) Sinn.

Weiterhin wird bei der Problemdefinition anders als bei WÄSCHER et al. (2007) nicht

unterschieden zwischen schwach und stark heterogenen kleinen Objekten. Alle im Rahmen

dieser Dissertation entwickelten Algorithmen sollen allerdings sowohl für Probleme mit

schwach als auch mit stark heterogener Kistenmenge getestet werden.

1.2.4 Restriktionen

In der Praxis treten bei C&P-Problemen zusätzliche Restriktionen auf, die spezielle

Beschränkungen für die Platzierung der Items im Container (oder das Zuschneiden von

Items) vorgeben. Eine Übersicht praxisrelevanter Nebenbedingungen kann der Arbeit von

BISCHOFF und RATCLIFF (1995) entnommen werden. Weitere weniger übliche und besonders

problemspezifische Restriktionen sind denkbar, wie beispielsweise die Beschränkung der

Beladehöhe der Packstücke in einem Lieferwagen bei einem Home Delivery Service

Problem von LIU et al. (2010). Hier wird gefordert, dass die jeweils nächste zu entladende

Page 28: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

8 Kapitel 1 : Einleitung

Kiste nicht zu hoch und nicht zu tief im Lieferwagen verstaut wird, so dass die Größe und

Armlänge des Fahrers ausreichen, um diese Kiste zu erreichen.

Tab. 3 enthält eine Auswahl häufig vorkommender C&P-Restriktionen sowie zugehöriger

Varianten. Die Auswahl entstammt BORTFELDT und GEHRING (1999b). Ein Vergleich mit

dem diesbezüglich maßgeblichen Beitrag von BISCHOFF und RATCLIFF (1995) zeigt, dass die

Auswahl einen großen Teil praxisrelevanter Restriktionen abdeckt. Die Nebenbedingungen

werden anschließend näher beschrieben, wobei der 3D-Fall zugrunde gelegt wird.

Tab. 3. Auswahl wichtiger C&P-Restriktionen.

ID Restriktion Varianten

(C1) Orientierungsrestriktion (C1a) Höhenrestriktion (C1b) Orientierungsvariantenrestriktion

(C2) Überstapelungsrestriktion

(C2a) unbedingte Überstapelungsrestriktion (C2b) Überstapelungsanzahlrestriktion (C2c) Überstapelungsgewichtsrestriktion (C2d) Überstapelungsdruckrestriktion

(C3) Stabilitätsrestriktion (C3a) Stabilitätsflächenrestriktion (C3b) Stabilitätsanzahlrestriktion

(C4) Positionsrestriktion (C4a) harte Positionsrestriktion (C4b) weiche Positionsrestriktion

(C5) Prioritätsrestriktion (C5a) harte Prioritätsrestriktion (Muss-Restriktion) (C5b) weiche Prioritätsrestriktion (Soll-Restriktion) (C5c) Prioritäts-Mischrestriktion

(C6) Gewichtsrestriktion

(C7) Gleichgewichtsrestriktion (C7a) harte Gleichgewichtsrestriktion (C7b) weiche Gleichgewichtsrestriktion

(C8) Gruppenrestriktion (C8a) Nachbarschaftsrestriktion (C8b) Entladefolgerestriktion (C8c) Containertrennungsrestriktion

(C9) Guillotineschnittrestriktion

(C1) Orientierungsrestriktion

Orientierungsrestriktionen beschränken die möglichen räumlichen Orientierungen bzw.

Orientierungsvarianten von Kisten in einem Container. Orientierungsrestriktionen dienen der

Vermeidung von Beschädigungen von Gütern und Verpackungen, sowie der Stabilität der

Beladung. Sie können in zwei Varianten gefordert werden:

(C1a) Höhenrestriktion: Jede Seitenlänge einer Kiste kann prinzipiell als Höhenmaß

verwendet werden, um diese Kiste entsprechend den allgemeinen Zulässigkeitsbedingungen

in dem gegebenen Container zu verstauen. Bei einer Höhenrestriktion werden für gewisse

Page 29: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 9

Kisten jeweils kistentypabhängig ein oder zwei Seitenmaße als Höhenmaß ausgeschlossen.

Höhenrestriktionen realisieren daher Kippverbote.

(C1b) Orientierungsvariantenrestriktion: Für jede Kiste kommen zunächst alle (maximal 6)

Orientierungsvarianten in Frage, mit denen die Kiste entsprechend den allgemeinen

Zulässigkeitsbedingungen in einem gegebenen Container platziert werden kann. Bei einer

Orientierungsvariantenrestriktion werden jedoch für gewisse Kisten jeweils

kistentypabhängig bis zu 5 Orientierungsvarianten ausgeschlossen. Dabei kann im

Unterschied zur Höhenrestriktion der Fall eintreten, dass bei zwei Orientierungsvarianten zu

demselben Höhenmaß die eine verboten und die andere zugelassen wird. Folgende Tab. 4

definiert die verwendeten Codierungen für alle 6 Orientierungsvarianten. Dabei bezeichnen

d_max, d_med und d_min das maximale, mittlere und kleinste Kistenmaß. Vorausgesetzt

wird die folgende Einbettung des betrachteten Containers in ein 3D-Koordinatensystem. Die

Containerlänge liegt parallel zur x-Achse, die Containerbreite verläuft parallel zur y-Achse,

die Containerhöhe parallel zur z-Achse.

Tab. 4. Codierung der Orientierungsvarianten (OV).

OV-Index

Maß in x-Richtung (parallel zur

Containerlänge)

Maß in y-Richtung (parallel zur

Containerbreite)

Maß in z-Richtung (parallel zur

Containerhöhe)

0 d_max d_min d_med

1 d_max d_med d_min

2 d_med d_min d_max

3 d_med d_max d_min

4 d_min d_med d_max

5 d_min d_max d_med

(C2) Überstapelungsrestriktion

Überstapelungsrestriktionen beschränken die Überstapelung von Kisten. Sie dienen ebenfalls

meist der Vermeidung von Beschädigungen an Gütern oder Verpackungen und können in

drei Varianten gefordert werden:

(C2a) Unbedingte Überstapelungsrestriktion: Für gewisse Kisten wird ausgeschlossen, dass

auf ihren Deckflächen weitere Kisten (ganz oder teilweise) platziert werden, so dass eine

Lastübertragung auf die Deckflächen ausgeschlossen wird.

(C2b) Überstapelungsanzahlrestriktion: Für gewisse Kisten wird die Gesamtanzahl der

darüberliegenden und lastübertragenden Kisten begrenzt.

Page 30: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

10 Kapitel 1 : Einleitung

(C2c) Überstapelungsgewichtsrestriktion: Für gewisse Kisten wird das auf den Kisten

ruhende Gesamtgewicht darüberliegender und lastübertragender Kisten begrenzt.

(C2d) Überstapelungsdruckrestriktion: Für gewisse Kisten wird der auf einen beliebigen Teil

der Deckfläche maximal ausgeübte Druck durch darüberliegende und lastübertragende

Kisten begrenzt.

(C3) Stabilitätsrestriktion

Stabilitätsrestriktionen sollen die Stabilität von Kistenanordnungen gewährleisten. Dabei

werden zwei verschiedene Stabilitätsaspekte berücksichtigt: einerseits die Kippsicherheit,

d.h. die Sicherheit verstauter Güter gegen ein vertikales Abkippen, andererseits die

Rutschfestigkeit verstauter Kisten, welche die Sicherheit von Kistenplatzierungen gegen

horizontale Bewegungen angibt.

(C3a) Stabilitätsflächenrestriktion: Für alle verstauten Kisten wird gefordert, dass die durch

den Containerboden bzw. weitere Kisten unterstützte Grundfläche mindestens einen

vorgegebenen minimalen Prozentsatz min_support der gesamten Grundfläche erreicht.

(C3b) Stabilitätsanzahlrestriktion: Für die nicht auf dem Containerboden verstauten Kisten

wird gefordert, dass die mittlere Anzahl der unterstützenden Kisten einen vorgegebenen

minimalen Wert erreicht.

(C4) Positionsrestriktion

Positionsrestriktionen beschränken die Stellpositionen für die zu verpackenden Kisten.

Danach kann z.B. für temperaturempfindliche Güter gefordert werden, dass diese in der

Mitte eines Containers platziert werden, wo die Temperaturschwankungen i. a. geringer sind

als an den Containerfrontwänden. Ebenso kann für besonders schwere Güter gefordert

werden, dass diese auf dem Containerboden platziert werden. Positionsrestriktionen können

in zwei Varianten gestellt werden:

(C4a) Harte Positionsrestriktion: Die Kisten einer gewissen Teilmenge des zu verstauenden

Kistenvorrats sind zwingend in gewissen Staubereichen eines Containers zu platzieren,

beispielsweise auf dem Containerboden, der Containermitte, nahe der Containertür oder der

Containerhinterwand.

Page 31: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 11

(C4b) Weiche Positionsrestriktion: Die Berücksichtigung der Restriktion wird durch die Rate

der Fehlpositionierung gemessen. Diese ist definiert durch den Prozentsatz der nicht gemäß

der Positionsrestriktion verstauten Kisten bezogen auf die Anzahl aller verstauten Kisten mit

Positionsbeschränkung.

(C5) Prioritätsrestriktion

Eine gewisse Teilmenge des zu verstauenden Kistenvorrats ist bei der Stauplanung mit

Priorität zu berücksichtigen. Dabei können drei Prioritätsstufen von Kisten auftreten, je

nachdem, ob Kisten zwingend (harte „Muss“-Restriktion) oder vorrangig (weiche

„Soll“-Restriktion) verladen werden.

(C5a) (Harte) Prioritäts-Mussrestriktion: Neben Kisten ohne Priorität treten nur Muss-

Kisten auf. Alle Kisten mit Priorität müssen in einer erzeugten Problemlösung komplett

verstaut werden; andernfalls gilt die Problemlösung nicht als zulässig.

(C5b) (Weiche) Prioritäts-Sollrestriktion: Neben Kisten ohne Priorität treten nur Soll-Kisten

auf. Kisten mit Priorität sollten in einer erzeugten Problemlösung verstaut werden; doch wird

eine Problemlösung auch akzeptiert, wenn nicht alle Kisten mit Priorität verstaut wurden. Die

Berücksichtigung der Restriktion wird durch die Rate der Prioritätsverletzung gemessen.

Diese ist definiert durch den Prozentsatz der mit Priorität zu verstauenden, aber nicht

verstauten Kisten bezogen auf die Anzahl aller mit Priorität zu verstauenden Kisten.

(C5c) Prioritäts-Mischrestriktion: Neben Kisten ohne Priorität treten sowohl Muss-Kisten

als auch Soll-Kisten auf. Für die Muss-Kisten bzw. Soll-Kisten gelten die unter (C5a)

bzw. (C5b) genannten Bedingungen, so dass die Restriktion bzgl. der Muss-Kisten hart und

bezüglich der Soll-Kisten weich ist. Die Berücksichtigung der Restriktion wird analog

zu (C5b) durch die Rate der Prioritätsverletzung gemessen. Bei deren Berechnung werden

jeweils Muss- und Soll-Kisten in die Anzahlermittlung einbezogen.

(C6) Gewichtsrestriktion

Gewichtsrestriktionen für die verstaute Ladung ergeben sich z.B. aus der technischen

Konstruktion von Containern. Das Gewicht aller in einem Container verstauten Kisten darf,

abhängig vom Containertyp, eine gewisse Obergrenze (maximales Nettogewicht, maximale

Zuladung) nicht überschreiten. Die Gewichtsrestriktion greift nur dann, falls die maximale

Zuladung geringer ist als die Summe der Gewichte aller zu verstauenden Kisten.

Page 32: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

12 Kapitel 1 : Einleitung

(C7) Gleichgewichtsrestriktion

Ausbalancierte Ladungen in Containern dienen der Verminderung von Risiken beim

Containertransport, etwa beim Verladen mit Kränen oder beim Straßentransport.

Gleichgewichtsrestriktionen verlangen, dass der Schwerpunkt (Massenmittelpunkt) der

Ladung eines Containers bezüglich beider horizontaler Richtungen nicht allzu stark von der

Containermitte abweicht. Gleichgewichtsrestriktionen können in zwei Varianten gestellt

werden:

Seien lC und bC die Länge bzw. die Breite eines Containers. Seien ferner x_mmp sowie

y_mmp die x- bzw. y- Koordinate des Massenmittelpunkts (MMP) der Ladung. Dann wird

die prozentuale (horizontale) Schwerpunktabweichung qdmmp wie folgt berechnet:

qdmmp := max ( |lC / 2 - x_mmp| / lC, |bC/2 - y_mmp| / bC) * 100.

Die harte Gleichgewichtsrestriktion (C7a) fordert nun, dass die prozentuale (horizontale)

Schwerpunktabweichung qdmmp einen vorgegebenen Maximalwert, die maximale

prozentuale horizontale Abweichung des MMP von der Containermitte max_qdmmp nicht

überschreitet. Besteht eine Problemlösung aus mehreren Packmustern, so ist eine

entsprechende Vorgabe für jedes Packmuster bzw. jeden verwendeten Containertyp (ggf. mit

spezifischer Obergrenze max_qdmmp) einzuhalten. Anders als bei der harten

Gleichgewichtsrestriktion wird bei der weichen Bedingung (C7b) eine Überschreitung der

vorgegebenen maximalen Schwerpunktabweichung max_qdmmp toleriert. Die

Berücksichtigung der Gleichgewichtsrestriktion wird durch die maximale

Schwerpunktabweichung max_qdmmp_real über alle benutzten Container der Problemlösung

gemessen.

(C8) Gruppenrestriktion

Bei einer Gruppenrestriktion werden die zu verpackenden Kisten in zwei oder mehr disjunkte

Gruppen gegliedert. Eine Gruppenrestriktion erlaubt die gruppenweise räumliche Aufteilung

der zu verpackenden Kisten innerhalb der verwendeten Container. Im Wesentlichen werden

drei Varianten unterschieden:

(C8a) Nachbarschaftsrestriktion: Bei der Nachbarschaftsrestriktion wird die räumlich

benachbarte Verstauung der Kisten einer Kistengruppe gefordert.

Page 33: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 13

(C8b) Entladereihenfolgerestriktion: Es wird gefordert, dass die verschiedenen

Kistengruppen in einer gewissen Reihenfolge innerhalb der verwendeten Container platziert

werden. Hiermit wird im Interesse effizienter Entladevorgänge gewährleistet, dass früher zu

entladende Kisten weiter vorne (nahe der Containertür) bzw. später zu entladende Kisten

weiter hinten in einem Container platziert werden.

(C8c) Containertrennungsrestriktion: In einem Container dürfen nur Kisten einer

Kistengruppe verstaut werden. Dies kann z.B. im Interesse der Aufteilung von Gütern nach

Bestimmungsorten oder aus Sicherheitsgründen (z.B. Explosionsgefahr bei gefährlichen

Stoffen) erforderlich sein.

(C9) Guillotineschnittrestriktion

Eine besondere Rolle nimmt die Guillotineschnittrestriktion ein. Während die

Restriktionen (C2) - (C8) gemeinhin ausschließlich bei Packproblemen auftauchen, gilt die

Guillotineschnittbedingung üblicherweise nur bei Zuschnittproblemen. Ein Guillotineschnitt

teilt einen Quader mittels eines durchgehenden Schnitts in zwei neue Quader, wobei die

Schnittrichtung parallel zur Ebene einer der Quaderseiten verläuft. Demgegenüber stehen

Nichtguillotineschnitte. In Abb. 1 sind Beispiele von Guillotineschnitten und

Nichtguillotineschnitten gegenübergestellt. Gelingt es in Abb. 1a, den Block durch eine

sukzessive Anwendung von Guillotineschnitten in die eingezeichneten Quader zu zerlegen,

ist dies in Abb. 1b nicht möglich. Eine solche Anordnung wird auch als „nichtguillotinierbar“

bezeichnet.

GuillotineSchnitt 1

Guillotine-Schnitt 2 GuillotineSchnitt 3

GuillotineSchnitt 4

a) Guillotinierbare Anordnung b) Nichtguillotinierbare Anordnung

GuillotineSchnitt 1

Guillotine-Schnitt 2 GuillotineSchnitt 3

GuillotineSchnitt 4

a) Guillotinierbare Anordnung b) Nichtguillotinierbare Anordnung

Abb. 1. Guillotinierbare und nichtguillotinierbare Anordnung.

Page 34: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

14 Kapitel 1 : Einleitung

Die Guillotineschnittbedingung fordert, dass alle Items einer Anordnung durch eine Folge

von Guillotineschnitten reproduzierbar sind (vgl. auch SCHEITHAUER und TERNO, 1996).

LODI et al. (1999a) führen vier Subtypen für 2D-C&P-Probleme ein, welche sich aus den

möglichen Varianten bezüglich der Berücksichtigung der Restriktionen (C1) und (C9)

ergeben und in folgender Tab. 5 dargestellt sind.

Tab. 5. Vier Subtypen für C&P-Probleme nach LODI et al. (1999a).

Bezeichnung Rotation der Items Guillotinierbarkeit

RF R = frei drehbar F = frei

RG R = frei drehbar G = zwingend guillotinierbar

OF O = Orientierung fixiert F = frei

OG O = Orientierung fixiert G = zwingend guillotinierbar

Offensichtlich ist eine zulässige Lösung für den Typ OG auch zulässig für die anderen

Subtypen. Eine Lösung für Subtyp OF oder RG ist ebenso zulässig für den Typ RF.

1.3 Beispiele und Relevanz von C&P-Problemen im engeren Sinn

Probleme des C&P im engeren Sinne (vgl. Abschnitt 1.2.1) treten in der betrieblichen Praxis

als Zuschnitt- (Cutting) und Packprobleme (Packing) auf.

Bei Zuschnittproblemen sind materielle Objekte in kleinere Stücke zu zerlegen. Obwohl die

zugehörigen Objekte prinzipiell dreidimensional sind, lassen sie sich in vielen Fällen durch

Angabe einer oder zweier Abmessungen eindeutig beschreiben. In solchen Fällen spricht

man von ein- bzw. zweidimensionalen C&P-Problemen. Als dreidimensionale

Zuschnittobjekte sind Stahlblöcke oder Holz denkbar. In der zweidimensionalen Variante

treten Stahl-, Glas- oder Steinplatten auf. Man denke beispielsweise an das Zuschneiden von

Arbeitsplatten aus Granit im Küchenbereich oder das Ausstanzen von Metallplatten.

Eindimensionale Zuschnittprobleme entstehen beim Zersägen von Holzstangen oder

Stahldrähten.

Bei Packproblemen sind materielle Gegenstände einzelnen Behältern zuzuordnen. Hierzu

zählen Standardcontainer, Ladeflächen von Fahrzeugen oder Flugzeugen. Die Behälter

müssen nicht zwangsläufig begrenzende Wände an den Seiten haben, man denke etwa an

Paletten.

Page 35: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 15

Zuschnitt- und Packprobleme sind duale Problemstellungen, d.h. jedes Zuschnittproblem

kann als Packproblem formuliert werden und umgekehrt. Dies wird klar, wenn man sich

verdeutlicht, dass gewisse Objekte nur aus einem Block herausgeschnitten werden können,

falls sich diese Objekte vollständig und überlappungsfrei in einem leeren Raum gleicher

Größe anordnen lassen. Die Dualität der beiden Fragestellungen bildet die Grundlage für ihre

einheitliche Behandlung im Bereich C&P.

Bei der Zuschnittproblematik treten oft spezielle Nebenbedingungen auf, die bei

Packproblemen nicht anzutreffen sind. Diese hängen beispielsweise mit den Eigenschaften

der bearbeiteten Materialien zusammen, etwa beim Sägen von Holz, wo die Schnittrichtung

nicht unabhängig von der Holzmaserung gewählt werden kann. Die eingesetzte Technik ist

ein weiterer beschränkender Faktor: so sind bei vielen Zuschnittproblemen

Nichtguillotineschnitte nicht erlaubt, da nur durchgehende Schnitte realisiert werden können.

Bei Packproblemen, etwa im Transport, treten andere Restriktionen auf, so etwa

Orientierungsgebote (Kippverbote) für besonders empfindliche Ladungsstücke sowie

Stabilitäts- und Gewichtsrestriktionen. Für eine ausführliche Beschreibung der üblichen

Nebenbedingungen sei auf das vorherige Kapitel verwiesen.

Strip Packing-Probleme treten ebenfalls als Zuschnitt- oder Packprobleme auf. Bei vielen

industriellen Herstellungsprozessen entstehen in einer Richtung offene Streifen. Als

2D-Problem sei das Strip Packing-Problem erwähnt, welches beim Ausstanzen von

Metallformen im Walzwerk oder bei der Papierherstellung aus quasi endlosen Papierrollen

anfällt. Im Transport kann das Lösen eines 3D-Strip Packing-Problems dazu beitragen, die

Art der eingesetzten Container zu optimieren oder eine möglichst effiziente Transportflotte

zusammenzustellen.

Das im Rahmen dieser Arbeit behandelte 3D-Bin Packing-Problem kommt in der

betrieblichen Praxis vor, wenn quaderförmige Packstücke in Standardcontainern, LKW oder

Bahnwaggons verladen werden sollen und das Volumen der zu verstauenden Packstücke die

Kapazität eines Containers um ein Vielfaches übersteigt. Mehrere praktische Beispiele für

2D-BPP werden in LODI et al (1999a) erwähnt. In der Cuttingvariante des BPP sind meist die

Orientierungs- und Guillotineschnittrestriktion zu beachten.

Nachfolgend sei auf die besondere ökonomische Relevanz der C&P-Problematik

eingegangen. C&P-Probleme treten regelmäßig in der betriebswirtschaftlichen Praxis der

Page 36: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

16 Kapitel 1 : Einleitung

Produktion und Distribution auf. Bedenkt man die Größenordnung der Fertigungs-, Lager-

und Transportprozesse auf volkswirtschaftlicher Ebene, so wird die Tragweite der effizienten

Nutzung der Kapazitäten klar. Selbst geringe Material- und Raumeinsparungen können im

volkswirtschaftlichen Maßstab zu enormen Effekten führen. Allerdings erscheint die

effiziente Nutzung der Kapazitäten heute zunächst eher zweitrangig angesichts der aktuellen

globalen Wirtschaftskrise, die sich Ende 2008 nach dem Zusammenbruch der

Investmentbank Lehman Brothers und der daraus folgenden Finanzkrise entwickelte. In der

Tat sieht man sich in fast allen Bereichen Überkapazitäten gegenüber, die seither sukzessive

abgebaut wurden. Containerschiffe, Frachtflugzeuge und LKW bleiben vielfach ungenutzt

oder fahren aufgrund der schlechten Auftragslage mit geringer Auslastung.

Produktionsanlagen sind nicht ausgelastet oder stehen vollständig still. Dabei ist gerade in

solchen Krisenzeiten absehbar, dass bei einem Aufschwung der Konjunktur wegen dem

Zurückstellen der Investitionen und Abbau der Kapazitäten die dann benötigten

Transportmittel fehlen dürften, um die Nachfrage zu befriedigen. Der optimalen Nutzung der

verbleibenden Transport-, aber auch der Produktionskapazitäten, kommt in den Phasen des

wirtschaftlichen Aufschwungs demnach eine umso wichtigere Rolle zu.

Über die angeführten ökonomischen Argumente hinweg gibt es wichtige ökologische

Gesichtspunkte, die für die Relevanz des C&P sprechen. Die Abhängigkeit der

Transportmittel von fossilen Brennstoffen und deren endliche Verfügbarkeit gebieten einen

schonenden Umgang mit Ressourcen. Die jüngste Umweltkatastrophe im Golf von Mexiko

und die möglicherweise zukünftig strengeren Regelungen für die Rohölförderung auf hoher

See könnten das Problem womöglich weiter verschärfen und den Rohstoff zusätzlich

verteuern. Der Ausstoß von CO2 als Hauptfaktor der Klimaerwärmung kann ebenfalls als

Argument ins Feld geführt werden. Bei Zuschnittproblemen steht ebenfalls der sparsame

Umgang mit Rohstoffen durch eine Vermeidung von Verschnitt im Vordergrund.

Abschließend sei bemerkt, dass komplexe C&P-Algorithmen heute überall Anwendung

finden könnten dank der großen Verbreitung von Rechnern mit ausreichendem

Leistungspotential und Mehrkernprozessoren. War früher die Beschaffung der

entsprechenden Hardware besonders für mittelständische Unternehmen ein nicht

unbedeutender Kostenfaktor, so ist heute ausreichende Rechenleistung wesentlich günstiger

zu haben und bereits bei handelsüblichen Standard-PCs gegeben.

Page 37: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 17

1.4 Allgemeine Lösungsansätze zum C&P

1.4.1 Exakte enumerative Verfahren

Prinzipiell ist es möglich, ein C&P-Problem optimal mittels Totalenumeration zu lösen. Die

kombinatorischen Varianten bei endlichen Objektmengen sind in der Tat endlich (unter der

Voraussetzung der Bottom-Left-Bedingung, siehe unten). Allerdings handelt es sich bei

C&P-Problemen um typische kombinatorische Optimierungsprobleme, deren Lösungsvielfalt

(Umfang des Lösungsraums) mit zunehmender Objektzahl exponentiell steigt. Ist ein

Problem mit wenigen Objekten noch im Sekundenbereich per Totalenumeration zu lösen,

kann es bei nur etwas mehr Objekten bereits Jahre dauern, alle Möglichkeiten

„durchzurechnen“. Daher kommen enumerative Verfahren nur bis zu einer begrenzten

Problemgröße in Frage. Anders ausgedrückt, existiert für jedes exakte Verfahren eine

Problemgröße, ab der die Anwendung des Verfahrens nicht mehr praxisgerecht scheint.

Zum Umfang des Lösungsraums bei C&P-Problemen sei ergänzend Folgendes bemerkt.

Zunächst ist der Suchraum unendlich groß, lässt man das beliebige Verschieben von Items in

Containern zu. Erst mit Einführung der so genannten Bottom-Left-Bedingung

(BL-Bedingung) wird der Lösungsraum endlich. Die BL-Forderung sei hier für den 2D-Fall

und einen rechteckigen Container mit den Seiten „Höhe“ und „Breite“ skizziert. Sie fordert,

dass jedes zusätzliche Rechteck soweit unten und (mit zweiter Priorität) soweit links wie

möglich platziert wird. Bei dem 2D-SPP ergeben sich, da jedes Rechteck sich in zwei

Orientierungsvarianten platzieren lässt, bei n unterschiedlichen Rechtecken bereits 2n · n!

Möglichkeiten, die Rechtecke zu verstauen. Dies erklärt die kombinatorische Explosion bei

wachsender Anzahl der Packstücke.

Erste exakte Verfahren für C&P-Probleme stammen aus den 1940er Jahren. Aus den 1960er

Jahren stammen Lösungsverfahren der dynamischen Programmierung für ein- und

mehrdimensionale Knapsackprobleme.

1.4.2 Heuristiken

Anders als exakte Verfahren berechnen Heuristiken nicht sämtliche Lösungen, sondern

reduzieren die Anzahl der in Betracht zu ziehenden Möglichkeiten, indem aussichtslose oder

weniger aussichtsreich erscheinende Varianten von vornherein ausgeschlossen werden. Oft

sind Heuristiken auf einen ganz speziellen Anwendungsbereich oder eine besondere

Page 38: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

18 Kapitel 1 : Einleitung

Fragestellung zugeschnitten. Herkömmliche heuristische Ansätze sind z.B. Greedy-

Heuristiken (aus dem Bereich der Konstruktionsheuristiken) sowie Hillclimbing-Verfahren

(als Verbesserungsverfahren).

Historisch betrachtet kamen Heuristiken zur Zeit des Zweiten Weltkriegs in Mode, um die

anfallenden umfangreichen logistischen Probleme möglichst gut zu lösen. Der heute als

„Operations Research“ bekannte Begriff stammt aus dieser Zeit, wo Heuristiken vielfach zur

Lösung militärischer Probleme herangezogen wurden. Beispiele für militärische

Problemstellungen dieser Zeit sind etwa die Abdeckung der Radarüberwachung, die Suche

nach der optimalen Größe des Begleitschutzes für Schiffskonvois, das Organisieren von

Nachschub an die Front. Eine frühe Arbeit zum zweidimensionalen Knapsackproblem

stammt von BROOKS et al. (1940).

Heuristiken wurden in Wissenschaftskreisen allerdings erst akzeptiert, nachdem sich in den

1940-50er Jahren die damals noch vorhandene Hoffnung nicht erfüllte, bald in der Lage zu

sein, auch größere Instanzen von kombinatorischen Optimierungsproblemen (darunter

C&P-Probleme) exakt-optimal zu lösen. Diese Erkenntnisse wurden erst durch die in den

1970er Jahren gewonnenen Erkenntnisse der Komplexitätstheorie untermauert. Für viele

kombinatorische Probleme, die so genannten NP-harten Probleme, kann nicht erwartet

werden, dass zu ihrer Lösung exakt-optimierende Algorithmen mit für praktische Zwecke

annehmbarem Zeitbedarf gefunden werden (vgl. GAREY und JOHNSON, 1979). Die meisten

C&P-Probleme erwiesen sich als NP-hart. Da sich mit entwickelten exakten Verfahren große

Instanzen bisher kaum in praktisch akzeptabler Rechenzeit berechnen lassen, stehen

Entwicklung und Einsatz von Heuristiken weiterhin auf der Tagesordnung.

1.4.3 Metaheuristiken

Seit den 1980er Jahren wurden neuartige Lösungsansätze, so genannte Metaheuristiken

entwickelt, mit deren Hilfe für viele NP-harte Problemstellungen (Travelling Salesman

Problem, Vehicle Routing Problem, Scheduling Probleme) hochwertige bzw. nahoptimale

Lösungen bei akzeptablem Zeitaufwand gefunden werden können. Für einen breiten

Überblick entwickelter Metaheuristiken sei auf GLOVER und KOCHENBERGER (2003) sowie

REEVES (1993) verwiesen. Zu den ersten und nach wie vor wichtigsten Metaheuristiken

gehören genetische Algorithmen (GA), Tabu Search (TS) und Simulated Annealing (SA).

Page 39: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 19

Da viele Metaheuristiken Prozesse der belebten und unbelebten Natur nachbilden, spricht

man auch von naturanalogen Verfahren. Während genetische Algorithmen zur Gruppe der

populationsbasierten Metaheuristiken zählen, gehören Tabu Search und Simulated Annealing

zu einer weiteren Gruppe von Metaheuristiken, nämlich den Strategien der fortgeschrittenen

Nachbarschaftssuche.

Metaheuristiken sind nicht problemspezifische, sondern allgemeine Suchstrategien und

grundsätzlich für beliebige kombinatorische oder diskrete Optimierungsprobleme

verwendbar. Ursprünglich stammt der Ausdruck aus dem Altgriechischen: „heuriskein“

bedeutet „finden“, die Präposition „meta“ weist auf die übergeordnete Stellung der

Metaheuristik hin bzw. auf den Charakter eines problemspezifisch zu füllenden

Rahmenverfahrens.

Anders als herkömmliche Heuristiken sind Metaheuristiken keine fertigen Verfahren, sie

müssen jeweils erst für die konkrete Problemstellung zu einem einsatzfähigen Verfahren

spezialisiert werden. Dies geschieht in zwei Schritten. Einerseits müssen passende

Komponenten aus einem generischen Werkzeugkasten ausgewählt werden. Andererseits sind

problemspezifische Entscheidungen zu treffen. Metaheuristiken sind also nicht „ready to

use“ (FALKENAUER 1998, S.108), sondern müssen jeweils an die konkrete Fragestellung

angepasst werden, um gute Ergebnisse zu erzielen. Metaheuristiken werden auch als

„intelligente“ Suchstrategien bezeichnet, da sie einerseits Komponenten mitbringen, die ein

Steckenbleiben in lokalen Optima verhindern können und andererseits zusätzliches

problemspezifisches Wissen integrieren. Damit sind sie einfachen Heuristiken üblicherweise

überlegen. Charakteristisch für Metaheuristiken ist der Umstand, dass ermittelte

Bestlösungen aus einer Vielzahl erzeugter Lösungen quasi abgefiltert werden.

1.4.4 Graphensuchverfahren als Spezialfall

Das Dilemma zwischen mangelnder Anwendbarkeit von exakten Verfahren einerseits und

unzureichender Lösungsgüte konventioneller Heuristiken andererseits wurde indessen nicht

nur mit Hilfe von Metaheuristiken aufgelöst. Einen wesentlichen Beitrag beim Entwurf

leistungsfähiger Verfahren für kombinatorische Probleme erbringen auch Ansätze zur

Graphensuche bzw. Baumsuche sowie weitere Ansätze der impliziten Enumeration. Diese im

Operations Research und im Gebiet der Künstlichen Intelligenz entwickelten ursprünglich

exakt-optimierenden Verfahrensansätze wurden in den vergangenen Jahrzehnten mit Hilfe

geeigneter Konzepte und Zusatzkomponenten in leistungsfähige heuristische Ansätze (ohne

Page 40: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

20 Kapitel 1 : Einleitung

Optimalitätsgarantie) transformiert und vielfach erfolgreich umgesetzt. Beispiele aus dem

C&P-Bereich selbst stellen das AND/OR-Graphensuchverfahren von MORABITO und

ARENALES (1994) sowie das jüngere Branch and Bound-Verfahren (B&B) von

PISINGER (2002) dar.

Es gibt sicherlich tiefgreifende Unterschiede zwischen Metaheuristiken einerseits und

heuristischen Ansätzen der Graphensuche andererseits. Erwähnt sei hier nur, dass es sich bei

den ersteren Verfahrenstypen regelmäßig um Verbesserungsverfahren, bei den

Graphensuchverfahren dagegen um Konstruktionsverfahren handelt, die eine Suche in einem

Raum von Teillösungen durchführen. Jedoch passt die oben gegebene Charakterisierung der

Metaheuristiken auch auf die heuristischen Graphensuchverfahren: es handelt sich ebenfalls

um allgemeine Suchstrategien, die jeweils problemspezifisch zu konkretisieren sind. Auch

die oben angesprochene Eigenschaft des Abfilterns der Bestlösungen aus einer Vielzahl an

Lösungen trifft auf Graphensuchverfahren, insbesondere auf B&B-Verfahren, zu. Durch die

Auswahl geeigneter Bounds werden weniger attraktive Zweige bei der Baumsuche nicht

weiter expandiert. Wenn demnach im Folgenden von Metaheuristiken im weiteren Sinne die

Rede ist, sind heuristische Graphensuchverfahren eingeschlossen.

1.5 Literaturüberblick

In den zurückliegenden Jahren wurden zahlreiche Verfahren zur Lösung von

C&P-Problemen entwickelt. Die folgende Literaturübersicht ist einerseits nach den

Problemtypen aus Kapitel 1.2.3, andererseits nach den Verfahrenstypen aus Kapitel 1.4

eingeteilt. Zusätzlich enthält Abschnitt 1.5.4 eine Übersicht von C&P-Benchmarkinstanzen.

Für eine weitere, umfassendere Übersicht der zwischen 1995 und 2004 veröffentlichten C&P

Artikel sei auf WÄSCHER et al. (2007) verwiesen. Entsprechend dem Gegenstand der

vorliegenden Arbeit wird lediglich auf die Literatur zu den zwei- und dreidimensionalen

Varianten der in Kapitel 1.2.3 abgegrenzten C&P-Probleme eingegangen.

1.5.1 Veröffentlichungen zum Containerbeladeproblem

Ein Großteil der Veröffentlichungen zur C&P-Problematik behandelt das

Containerbeladeproblem. Das CLP ist bekanntlich NP-hart (vgl. SCHEITHAUER, 1992) und es

werden nur wenige exakte Lösungsverfahren vorgeschlagen. FEKETE und SCHEPERS (1997)

stellen ein allgemeines Rahmenverfahren zum exakten Lösen von mehrdimensionalen

Packproblemen vor. MARTELLO et al. (2000) entwickelten ein exaktes Verfahren für das

Page 41: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 21

3D-CLP, welches in ein Verfahren für das BPP eingebettet wurde. Dieses übergeordnete

BPP-Verfahren teilt jeweils eine weitere Kiste einem bereits teilweise gefüllten Container zu,

während das integrierte CLP-Verfahren diese Kiste in einem Eckpunkt der sogenannten

„envelope“ der bisherigen Teillösung verstaut. Die Suche wird durch geeignete Bounds

beschränkt. Eine vollständige Lösung wurde ermittelt, falls keiner der Eckpunkte eine

weitere Kiste aufnehmen kann oder alle Kisten verstaut wurden. Wie bei exakten Verfahren

allgemein üblich werden auch hier nur sehr kleine Probleme behandelt und exakt gelöst. Bei

dem besagten BPP-Verfahren werden Instanzen mit weniger als 90 Items betrachtet.

CAPRARA und MONACI (2004) stellen vier exakte Lösungsverfahren für das 2D-CLP vor,

welche auf einer Relaxation des 2D-CLP zu einem 1D-Knapsackproblem aufbauen, wobei

geeignete Upper Bounds zum Einsatz kommen. CLAUTIAUX et al. (2007) stellen ebenfalls ein

exaktes Verfahren für das 2D-CLP vor, indem es vorrangig darum geht zu bestimmen, ob

sämtliche kleinen Objekte im Container verstaut werden können oder nicht. FEKETE und

SCHEPERS (2007) stellen ein zweistufiges Baumsuchverfahren zur exakten Lösung

mehrdimensionaler Packprobleme vor.

Die Gruppe der einfachen Heuristiken für das CLP beinhaltet sowohl konstruktive Verfahren

(wie Greedy-Algorithmen) als auch Verbesserungsheuristiken (beispielsweise Hillclimbing-

Verfahren). Herkömmliche Heuristiken für das 3D-CLP stammen von BISCHOFF

et al. (1995), BISCHOFF und RATCLIFF (1995) sowie LIM et al. (2003). Weitere

problemspezifische Heuristiken werden u.a. von LOH und NEE (1992) sowie

NGOI et al. (1994) vorgeschlagen.

Metaheuristiken stellen aktuell die bevorzugten Strategien zum Lösen von CLP-Problemen

dar, wie die große Zahl an Veröffentlichungen in den vergangenen Jahren belegt. Genetische

Algorithmen (GA) wurden von HEMMINKI (1994), GEHRING und BORTFELDT (1997, 2002)

und BORTFELDT und GEHRING (2001) vorgestellt. Tabu Search-Algorithmen (TSA) stammen

von SIXT (1996) sowie BORTFELDT und GEHRING (1997), Simulated Annealing-Algorithmen

(SAA) von SIXT (1996) und DOWSLAND (1993a bzw. 1993b). Ein weiteres Local Search-

Verfahren stammt von BISCHOFF (2004). Baumsuch- und Graphensuchverfahren wurden

ebenfalls erfolgreich auf CLP-Probleme angewendet. Erwähnenswert in diesem

Zusammenhang sind das AND/OR-Verfahren von MORABITO und ARENALES (1994), die

Tree Search-Verfahren von ELEY (2002) und HIFI (2002) sowie die B&B-Algorithmen von

TERNO et al. (2000) und von PISINGER (2002). Neuere Arbeiten von

MOURA und OLIVEIRA (2005) sowie PARREÑO et al. (2008) führen einen GRASP-Ansatz ein.

Page 42: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

22 Kapitel 1 : Einleitung

Neben der Einteilung der Algorithmen nach Verfahrenstypen kann eine Unterscheidung nach

der Struktur der erzeugten Packpläne (vgl. PISINGER, 2002) erfolgen:

• Beim so genannten Wall Building- (oder Vertical Layer-) Ansatz wird der Container

sukzessive durch vertikale quaderförmige Schichten („Mauern“) gefüllt, die in

Längsrichtung des Containers aneinandergereiht sind. Vertreter dieses Ansatzes sind

die Verfahren von BORTFELDT und GEHRING (2001) sowie PISINGER (2002). Eine frühe

Arbeit diesbezüglich stammt von GEORGE und ROBINSON (1980).

• Beim Stack Building-Ansatz werden die einzelnen Items in Stapeln übereinander

angeordnet und auf dem Containerboden platziert. Dieses Prinzip wird in BISCHOFF und

RATCLIFF (1995) und im GA von GEHRING und BORTFELDT (1997) verwendet.

• Beim Horizontal Layer-Ansatz wird der Container von unten nach oben mit

horizontalen, jeweils übereinander angeordneten Schichten gefüllt. Ziel ist hierbei das

Bilden jeweils einer Schicht mit möglichst großer Grundfläche. Dieses Prinzip wird in

den Verfahren von BISCHOFF et al. (1995) und TERNO et al. (2000) angewendet.

• Beim Block Building-Ansatz werden Blöcke gebildet, die meist aus identischen Items

in identischer räumlicher Orientierung bestehen. Dieses Prinzip ist vergleichbar mit

dem vorigen Ansatz, allerdings besteht hier das Ziel im Bilden möglichst großer Blöcke

ohne inneren Verlust. Vertreter dieses Ansatzes sind insbesondere das TS-Verfahren

von BORTFELDT und GEHRING (1998) sowie das TS-Verfahren von ELEY (2002).

• Beim Guillotine Cutting-Ansatz wird der Container sukzessive durch Guillotineschnitte

in kleinere Packräume unterteilt und gefüllt. Dieses Vorgehen kommt beispielsweise

beim AND/OR-Graphensuchverfahren von MORABITO und ARENALES (1994) zum

Einsatz.

• Ein weiterer Ansatz ist die Verwendung von nichtguillotinierbaren Mustern bzw.

Teilanordnungen. In SCHEITHAUER und TERNO (1996) beispielsweise werden

nichtguillotinierbare, so genannte G4-Strukturen, zum Lösen des 2D-CLP verwendet.

Diese Muster erlauben die Anordnung von vier i.d.R. unterschiedlichen Rechtecken

innerhalb eines möglichst kleinen Rechtecks, d.h. mit möglichst geringem innerem

Verlust.

Page 43: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 23

Alle beschriebenen Ansätze müssen nicht zwingend isoliert in einem Verfahren verwendet

werden. Üblicherweise führt die Kombination aus mehreren Ansätzen zu besseren

Resultaten. So wird bei PISINGER (2002) der „wall building“ Ansatz mit einem „stack

building“ Ansatz innerhalb der Schichten kombiniert. Bei SCHEITHAUER und TERNO (1996)

können neben den G4-Patterns auch guillotinierbare Muster auftreten. Bei HIFI (2002) enthält

eine Lösung sowohl horizontale als auch vertikale Schichten, die mit Streifen in orthogonaler

Richtung (x-Stacks, y-Stacks) gefüllt werden. Bei allen Verfahren entspricht üblicherweise

die Schichttiefe (d.h. das Schichtmaß in Längsrichtung des Containers) genau dem

Außenmaß eines oder mehrerer Items. BRUNETTA und GRÉGOIRE (2005) verbinden ein

blockbildendes Verfahren von MORABITO und MORALES (1998) mit einem Verfahren von

PISINGER (1998).

Die Forschung zum 3D-CLP konzentriert sich vor allem auf dessen Ausprägung als

Packproblem, seltener werden gezielt Algorithmen für Zuschnittprobleme entwickelt. Ein

Großteil der Verfahren beachtet die Orientierungsrestriktion (C1) und die

Stabilitätsrestriktion (C3). Viele Verfahren beachten noch weitere Packrestriktionen,

beispielsweise die Gewichtsrestriktion in TERNO et al. (2000), BORTFELDT und

GEHRING (2001) sowie ELEY (2002). Die Heuristik von BISCHOFF et al. (1995) und das

GRASP-Verfahren von MOURA und OLIVEIRA (2005) sind besonders erfolgversprechend im

Bezug auf die Erzeugung stabiler Beladungen. In BISCHOFF (2004) werden Lösungen

erzeugt, welche die Überstapelungsrestriktion mit einer Beschränkung des Drucks auf

Kistendeckflächen einhalten. Nur wenige Artikel nehmen direkten Bezug auf die

Zuschnittproblematik, so z.B. HIFI (2002). Einige Algorithmen erzeugen aber ausschließlich

guillotinierbare Lösungen und sind daher auch für die Zuschnittproblematik geeignet. Als

Beispiel seien die Verfahren von MORABITO und ARENALES (1994), BORTFELDT und

GEHRING (2001) sowie PISINGER (2002) genannt.

Ein weiteres Unterscheidungsmerkmal für Packverfahren ist deren Parallelisierung. Alle

bisher angeführten Verfahren sind sequentielle (nicht parallele) Verfahren. Parallele

Algorithmen sind bisher eher selten. Ein paralleler GA für das 3D-CLP wurde von GEHRING

und BORTFELDT (2002) vorgeschlagen. Weitere parallele genetische Algorithmen stammen

von KRÖGER (1993); diese dienen allerdings der Lösung des 2D-SPP.

Page 44: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

24 Kapitel 1 : Einleitung

1.5.2 Literatur zum Strip Packing-Problem

Das Strip Packing-Problem ist NP-hart und gehört als mehrdimensionales C&P-Problem

ebenfalls zur Klasse besonders schwer zu lösender kombinatorischer Probleme. Im

Gegensatz zum CLP und BPP existiert für das SPP keine eindimensionale Variante.

Strip Packing-Probleme stellen neben dem CLP und BPP einen wichtigen Basistyp der

C&P-Problematik dar, siehe hierzu auch COFFMAN und SHOR (1990) sowie

MARTELLO et al. (2000).

Einen detaillierten Überblick über zahlreiche metaheuristische Ansätze für verschiedene

Ausprägungen des 2D-SPP findet sich in HOPPER und TURTON (2000, 2001).

BORTFELDT (2006) stellt tabellarisch eine Literaturübersicht zum 2D-SPP für rechteckige

Packstücke zusammen und untersucht dabei systematisch die Eignung der Verfahren für die

Subtypen nach LODI et al. (1999a) bezüglich Orientierungsrestriktion und Guillotinierbarkeit

(siehe Abschnitt 1.2) sowie den Verfahrenstyp. Beispielhaft seien der GA von

MUMFORD-VALENZUELA et al. (2003) sowie die Hybridverfahren von IORI et al. (2002) und

MONACI (2001) erwähnt, welche die Suchstrategien GA und TS kombinieren.

KRÖGER (1993, 1995) sowie SCHNECKE (1996) stellen parallele GA vor. Ein Verfahren zur

exakten Lösung des 2D-SPP stammt von MARTELLO et al. (2003).

Anders als bei der zweidimensionalen Ausprägung wurden bisher nur wenige Verfahren für

das dreidimensionale SPP vorgestellt. Wie bereits in Abschnitt 1.5.1 erwähnt, stellen

FEKETE und SCHEPERS (1997) ein allgemeines Rahmenverfahren zur exakten Lösung

mehrdimensionaler Packprobleme vor, welches auch für SPP anwendbar ist. Heuristische

Ansätze stammen von BISCHOFF und MARRIOTT (1990). Diese stellen verschiedene

Heuristiken vor, welche eine 2D-Packheuristik mit der schichtbildenden Heuristik von

GEORGE und ROBINSON (1980) kombinieren. Die Autoren berichten, dass die Lösungsqualität

hauptsächlich von der Wahl der Schichttiefe abhängt.

Mehrere Heuristiken für das 3D-SPP werden in der Arbeit von SIXT (1996) vorgestellt,

darunter hat sich ein Tabu Search-Algorithmus (TSA) besonders bewährt. Dieser TSA basiert

auf der Codierung einer Lösung als Ladesequenz aller Kisten bei gegebener räumlicher

Orientierung aller Kisten. Nachbarlösungen werden durch den Austausch zweier Kisten der

Ladesequenz oder durch Ändern der Orientierung einer einzelnen Kiste erreicht. Eine

elementare Heuristik, welche jedes Packstück in maximalem Umfang in Richtung der

Page 45: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 25

hinteren, unteren Ecke des Containers verschiebt, sorgt dafür, dass die codierte Lösung

eindeutig in einen kompletten Packplan überführt wird.

BORTFELDT und GEHRING (1999a) stellen einen TSA und einen GA für das 3D-SPP vor.

Beide Verfahren sind aus eigenen CLP-Algorithmen abgeleitet, vergleiche BORTFELDT und

GEHRING (1998 bzw. 2001). Pro 3D-SPP-Verfahren werden zwei Adaptationsansätze

analysiert. Der erste Ansatz basiert auf einem einzelnen Container mit praktisch unendlicher

Länge, während der zweite Ansatz eine Sequenz von CLP-Instanzen mit stetig fallenden

Containerlängen löst. Beide Algorithmen, TSA und GA, wurden parallelisiert, wobei alle

parallelen Prozesse jeweils eine komplette Probleminstanz lösen.

1.5.3 Literaturübersicht zum Bin Packing-Problem

Das Bin Packing-Problem ist wie die vorher betrachteten C&P-Probleme (unabhängig von

der Dimensionalität) NP-hart. Daher werden in der Literatur für das BPP ebenfalls

hauptsächlich heuristische Verfahren zu seiner Lösung vorgeschlagen. Es handelt sich zum

Teil um Konstruktionsheuristiken (CH) oder Verbesserungsheuristiken (IH), in wachsendem

Maße jedoch um Metaheuristiken wie Simulated Annealing (SA), Tabu Search, Guided

Local Search (GLS), sowie Genetische Algorithmen und Constrained Programming (CP).

Daneben werden Branch and Bound (B&B), Branch and Cut (B&C) und verwandte Ansätze

der Baumsuche (Tree Search, kurz: TRS) in exakten, aber auch in heuristischen Verfahren

angewendet. Tab. 6 stellt eine Auswahl der für mehrdimensionale Bin Packing-Probleme

entwickelten Verfahren vor.

Für jeden Algorithmus aus Tab. 6 werden die Problemvariante (gegeben durch die

Dimensionalität des betrachteten Problems), die Anzahl unterschiedlicher Containertypen

(1 oder „M“, „M“ steht für mehrere Containertypen) und der bearbeitete Subtyp

(vgl. Kapitel 1.2.4, Tab. 5) angegeben. Im Fall mehrerer Containertypen ist das Ziel nicht die

Minimierung der eingesetzten Container, sondern vielmehr die Minimierung der gesamten

Containerkosten. Der Verfahrenstyp wird angegeben, wobei exakte Lösungsverfahren als

solche gekennzeichnet sind. In der letzten Spalte der Tabelle wird die maximale

Problemgröße (d.h. Stückzahl n) angegeben, die in dokumentierten Testrechnungen des

betreffenden Artikels bearbeitet wird. Für eine umfangreichere Bibliographie der Arbeiten

zum BPP sei auf COFFMAN et al. (2004) verwiesen.

Page 46: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

26 Kapitel 1 : Einleitung

Tab. 6. Verfahren für das mehrdimensionale BPP mit rechteckigen Items.

Autoren, Quelle Dim. #Cont.-Typen Subtyp

Verfahrens typ

Max. Größe

n

Bengtsson (1982) 2 1 RF ICH 200

Berkey und Wang (1987) 2 1 OF CH 100

Ivancic et al. (1989) 3 M RF CH 180

El Bouri et al.(1994) 2 1 RF TRS 200

Bischoff und Ratcliff (1995) 3 1 RF CH 180

Martello und Vigo (1998) 2 1 OF B&B, exakt 100

Lodi et al. (1998) 2 1 RG TS 164

Lodi et al. (1999a) 2 1 alle TS 100

Lodi et al. (1999b) 2 1 OG TS 100

Martello et al. (2000) 3 1 OF B&B, exakt 90

Terno et al. (2000) 3 1 RF B&B -

Bortfeldt (2000) 3 M RF CH, IH 180

Dell'Amico et al. (2002) 2 1 RF B&B, exakt 100

Lodi et al.(2002) 3 1 OF TS 200

Faroe et al. (2003) 3 1 OF GLS 100

Eley (2003) 3 M RF TRS 180

Lodi et al. (2004) 3 1 RF TS 200

de Castro Silva et al. (2003) 3 1 OF CH 90

Pisinger und Sigurd (2007) 2 1 OF,OG CP, B&C exakt 100

Insgesamt existieren bisher in der Literatur, im Gegensatz zum 1D-BPP, nur wenige Arbeiten

zum mehrdimensionalen Bin Packing-Problem. Vor allem für das 3D-BPP gibt es nur wenige

Artikel. Die Problemgrößen der berechneten 3D-BPP-Instanzen sind eher klein und umfassen

selten mehr als 200 Packstücke. Dies gilt sowohl für die oben vorgestellten exakten wie für

die heuristischen Verfahren. Es kann ebenfalls beobachtet werden, dass die Testinstanzen

meist im Vergleich zur Containergröße recht sperrige Packstücke beinhalten. Beim

Verfahren von IVANCIC et al. (1989) beispielsweise kann ein einzelner Container in der Regel

weniger als 10 Kisten aufnehmen. Dies dürfte zahlreichen praktischen Situationen nicht

entsprechen, man denke an den Transport von Haushaltsgeräten in Standardcontainern.

Außerdem werden die meisten Algorithmen ausschließlich mit entweder stark heterogenen

oder schwach heterogenen Instanzen getestet.

1.5.4 Benchmarkinstanzen aus der Literatur und deren Erzeugung

Zahlreiche Autoren stellen Benchmarkprobleme zum Test von C&P-Verfahren mit

quaderförmigen Items bereit. Diese lassen sich nach Dimensionalität, Problemtyp und

Problemgröße (Anzahl der Packstücke) einteilen. Als weiteres Unterscheidungsmerkmal

Page 47: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 27

kann die Frage betrachtet werden, ob das Optimum einer Instanz unabhängig von ihrer

Berechnung bekannt ist oder nicht. Typischerweise werden Instanzen mit bekanntem

Optimum durch verlustfreies „Zersägen“ von Containern erzeugt, während bei Instanzen mit

unbekanntem Optimum die Abmessungen und Anzahlen der Packstücke in bestimmten

Grenzen zufällig ermittelt wurden. Bei Instanzen mit bekanntem Optimum können außerdem

guillotinierbare Optimallösungen von nichtguillotinierbaren Optimallösungen unterschieden

werden. Folgende Tab. 7 enthält eine Übersicht zu einigen wichtigen Sets von Testinstanzen

und deren Charakteristik.

In Tab. 7 wird neben der Dimension („Dim.“) und dem Problemtyp („Typ“) auch der

Erzeugungsprozess der Instanzen (Spalte „Gen.“) angegeben: die Instanzen werden entweder

durch zufällige Wahl der Kistenmaße („R“ = Random) oder durch Zerschneiden des

Containers („C“ = Cut) erzeugt. Zufällig erzeugte Instanzen dominieren klar in Tab. 7.

Weiterhin werden bislang 3D-Instanzen nicht durch „Zersägen“ des Containers erzeugt. Bei

Instanzen mit bekanntem Optimum wird in der Spalte „NG“ angegeben, ob die

Optimallösung Nichtguillotineschnitte enthält. Ist die Guillotinierbarkeit der Optimallösung

nicht bekannt, bleibt Spalte „NG“ leer.

Bei den 2D-Instanzen in HOPPER und TURTON (2002) werden mehrere Verfahren für die

Problemstellungen CLP, SPP und BPP vorgestellt, welche durch Zersägen des rechteckigen

Containers entstehen. Guillotinierbarkeit ist als Parameter ausgelegt. Als Besonderheit

werden auch Instanzen mit unbekanntem Optimum erzeugt, welche eine ähnliche

Charakteristik haben wie die entsprechenden Probleme mit bekanntem Optimum; die Items

werden dann jedoch zufällig erzeugt. Ein maximales „item ratio“ (Verhältnis von Länge zu

Breite eines ausgeschnittenen Rechtecks) kann zudem vorab bestimmt werden. Ähnliches gilt

bei WANG und VALENZUELA (2001): hier werden zwei Sets von 2D-SPP-Instanzen für das

2D-SPP vorgestellt. Bei Set 1 werden so genannte pathologische Kistentypen durch die

Vorgabe eines „aspect ratio“ (entspricht dem „item ratio“ bei HOPPER und TURTON, 2002)

vermieden, während bei Set 2 alle Items rein zufällig ermittelt werden. Insgesamt werden

420 Instanzen mit 25 bis 5000 Packstücken eingeführt.

Page 48: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

28 Kapitel 1 : Einleitung

Tab. 7. Benchmarkinstanzen für Cutting and Packing Probleme.

Autoren, Quelle Dim. Typ Gen. NG Bemerkung Max.

Größe n

Beasley (1985a) 2 CLP R - - 10-50

Berkey und Wang (1987) 2 BPP R - - 100

Bischoff und Ratcliff (1995) 3 CLP R - - 180

Bortfeldt und Gehring (2006) 2 SPP R - 1000

Christofides und Whitlock (1977) 2 CLP R - - 12-62

Fekete und Schepers (1997) 2 CLP SPP BPP

R - - 30-97

Gendreau et al. (2005) 3 BPP R - 198

Hopper und Turton (2002) 2 CLP, SPP, BPP

C ja

„item ratio“ - Parameter, Variante

mit unbekanntem Optimum

100-150

Loh und Nee (1992) 3 CLP R - 250

Martello und Vigo (1998) 2 BPP R - 200

Martello et al. (2000) 3 BPP R - 90

Morabito und Arenales (1994) 3 CLP R - Längen normalverteilt 8745

Wang und Valenzuela (2001) 2 CLP C nein „aspect ratio“ - Bedingung 50-5000

Zufällig gewählte Kistenabmessungen werden meist innerhalb bestimmter Grenzen im

Vergleich zur Containergröße gewählt. Bei BEASLEY (1985a) werden 2D-Instanzen für das

SPP erzeugt, wobei alle Maße der orientierungsfixierten Kisten jeweils zufällig zwischen

25% und 75% der Containerlänge bzw. -breite betragen. Bei CHRISTOFIDES und

WHITLOCK (1977) werden Packstücke erzeugt, deren Seitenlängen weniger als ein Viertel der

Containerbreite betragen. Bei GENDREAU et al. (2006) wird eine kombinierte Problemstellung

aus 3D-CLP und Vehicle Routing behandelt. Die verwendeten Packstücke erhalten ebenfalls

zufällig ermittelte Ausdehnungen zwischen 20% und 60% der Containerlänge. Allen diesen

Beispielen ist gemeinsam, dass das Optimum einer Instanz nicht vor bzw. unabhängig von

ihrer Lösung bekannt ist.

Alle bisher angesprochenen Sets von Benchmarkinstanzen enthalten Packstückmengen von

eher bescheidenem Umfang mit selten mehr als 200 Packstücken (siehe letzte Spalte

in Tab. 7). Bei MARTELLO et al. (2000) beispielsweise werden 3D-Bin Packing-Probleme von

bescheidener Größe bis maximal 90 Items behandelt. Ausnahmen gibt es lediglich bei

2D-Instanzen. BORTFELDT und GEHRING (2006) beispielsweise stellen 360 „large benchmark

instances“ mit jeweils 1.000 Kisten für das 2D-SPP vor.

Page 49: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 29

Das Fehlen der maximal erreichbaren Volumenauslastung bei den zufällig erzeugten

Instanzen stellt eine große Einschränkung bei der Beurteilung der Lösungsqualität eines zu

testenden Verfahrens dar.

1.6 Zielsetzung der Dissertation

Die Analyse der existierenden Publikationen zum Cutting and Packing im vorherigen

Abschnitt 1.5 hat gezeigt, dass es wichtige Fragestellungen gibt, denen bisher wenig

Beachtung zuteil wurde. Die folgende Zusammenfassung der festgestellten Defizite dient als

Ausgangspunkt für die Zielsetzung der vorliegenden Arbeit.

• Die Entwicklung parallel arbeitender Lösungsverfahren wird bisher selten behandelt.

Dabei bietet das Aufkommen erschwinglicher Prozessoren mit Mehrkernprozessoren in

handelsüblichen PC-Rechnern in den vergangenen Jahren ein großes Potential für die

Entwicklung schnellerer und effizienterer Parallelverfahren.

• Keine bekannte Arbeit widmet sich bisher dem Vergleich konkurrierender

Metaheuristiken bei ansonsten identisch gestalteten problemspezifischen

Kernkomponenten. Ein solcher konzeptioneller Vergleich und das Nutzen etwaiger

Vorteile der einzelnen Suchstrategien könnten zur Entwicklung neuer effizienter

Verfahren beitragen. Hinzu kommt, dass die Metaheuristiken Tabu Search und

Genetische Algorithmen oft angewendet werden, während Simulated Annealing bisher

- zumindest im 3D-Fall - nur selten als Verfahrenstyp für C&P-Probleme eingesetzt

wurde.

• Die Problemtypen CLP, SPP und BPP stehen miteinander in einem engen inneren

Zusammenhang. Es sollte daher beispielsweise möglich sein, ausgehend von einem

hochwertigen Algorithmus für das CLP erfolgreiche Verfahren für das SPP und BPP

abzuleiten.

• Ein Lösungsalgorithmus eignet sich üblicherweise nicht gleichermaßen für Probleme

mit Packstückmengen unterschiedlicher Größe und Heterogenität. Die Heterogenität

einer Packstückmenge ist dabei definiert als: Quotient (Anzahl der Kisten) / (Anzahl

der Kistentypen). Die behandelte Problemgröße im 3D-Fall hinkt dabei derjenigen im

2D-Fall hinterher. Entsprechend große Benchmarkinstanzen mit bis zu 1.000

Packstücken fehlen meist, zudem ist die tatsächlich erreichbare Volumenauslastung bei

vielen Benchmarkinstanzen unbekannt, was dazu führt, dass die Beurteilung der

Page 50: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

30 Kapitel 1 : Einleitung

Lösungsqualität eines Lösungsverfahren nur im Bezug auf Vergleichsverfahren, nicht

jedoch im Hinblick auf die maximal erreichbare Lösungsqualität, möglich ist. Es

besteht daher ein Bedarf an umfangreichen Sets von Testinstanzen mit bekanntem

Optimum, deren Problemgröße und Heterogenitätsgrad stetig von sehr klein bis sehr

groß variiert.

Ausgehend von diesen Vorüberlegungen sollen im Rahmen der vorliegenden Dissertation

fünf Verfahren entwickelt werden. Vier Verfahren sind Lösungsverfahren für die

C&P-Problemtypen CLP (zwei Algorithmen werden vorgestellt) sowie SPP und BPP (je ein

Verfahren). Ein weiteres Verfahren widmet sich der Erzeugung von Probleminstanzen mit

bekanntem Optimum. Die oben angeführten Defizite werden wie folgt behandelt:

• Ein bestehendes Tabu Search-Verfahren wird parallelisiert. Dabei soll insbesondere

getestet werden, ob sich durch die Kommunikation parallel arbeitender Prozesse

Synergieeffekte ergeben.

• Die Metaheuristik Simulated Annealing wird auf dreidimensionale

Containerbeladeprobleme angewendet. Alternativ zu SA kommt Tabu Search zum

Einsatz, bei ansonsten identischen Verfahrenskomponenten. Dies ermöglicht einen

fairen Vergleich der Ergebnisse beider Suchstrategien. Das Verfahren soll außerdem zu

einem hybriden Verfahren erweitert und parallelisiert werden.

• Zwei Verfahren werden entwickelt, um einen existierenden, hocheffizienten

schichtbildenden Algorithmus für das Containerbeladeproblem schrittweise zunächst zu

einem Strip Packing- und anschließend zu einem Bin Packing-Algorithmus

auszubauen. Die Art der Anpassung soll allgemein auf schichtbildende

Containerbeladeverfahren anwendbar sein, wodurch der enge logische Zusammenhang

dieser Fragestellungen gezeigt werden soll.

• Ergänzend zu den vier Lösungsverfahren wird ein Problemgenerator für

mehrdimensionale C&P-Probleme entwickelt. Dieser soll es ermöglichen, Instanzen

mit bekannter Optimallösung zu erzeugen, wobei die Größe des Kistenvorrats, dessen

Heterogenität und weitere Eigenschaften weitgehend frei gewählt werden können.

Bei allen fünf Verfahren bestehen die kleinen und großen Objekte aus mehrdimensionalen,

quaderförmigen Items. Nur das BPP-Verfahren wird auch mit 2D-Instanzen, alle anderen

Algorithmen werden ausschließlich mit 3D-Instanzen getestet. Prinzipiell jedoch lassen sich

sämtliche im Rahmen dieser Arbeit vorgestellten Verfahren ebenfalls auf den 2D-Fall

Page 51: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 31

anwenden (siehe Bemerkung S.6). Die Lösungsalgorithmen wurden in C implementiert und

sind auf größere Kistenmengen (100 bis 1000 Packstücke) zugeschnitten. Mit dem

Problemgenerator lassen sich Instanzen beliebiger Größe und Charakteristik erzeugen.

Alle vorgestellten Verfahren wurden in den Jahren 2003 bis 2009 entwickelt, implementiert

und getestet. In dieser Zeit wurden bereits Artikel zu vier der fünf vorgestellten Verfahren in

internationalen Fachzeitschriften des Operations Research veröffentlicht, wie Tab. 8 belegt.

Die Verfahrensbeschreibungen in dieser Dissertation entsprechen daher in weiten Teilen den

veröffentlichten Originalfassungen, welche in Zusammenarbeit mit Dr. Andreas Bortfeldt

und Prof. Dr. Hermann Gehring erstellt wurden. Stellenweise wurden ergänzende Abschnitte

eingefügt, wie beispielsweise Formulierung und Beweis eines neuen Lower Bounds für das

BPP in Kapitel 6.2. Für jeden bereits veröffentlichen Artikel existiert ferner eine Fassung als

Diskussionsbeitrag (DB) der Fakultät Wirtschaftwissenschaft der FernUniversität Hagen.

Tab. 8. Kapitel der Dissertation und Bezug zu bisherigen Veröffentlichungen.

Kap. Titel Autoren Zeitschrift Ausgabe DB

2 A parallel tabu search algorithm for solving the container loading problem

BORTFELDT, GEHRING, MACK

Parallel Computing Vol. 29 Issue 5 (2003)

Nr. 324 (2002)

3 A parallel hybrid local search algorithm for the container loading problem

MACK, BORTFELDT, GEHRING

International Transactions in

Operational Research

Vol. 11 Issue 5 (2004)

Nr. 353 (2003)

5 A Heuristic for the Three-Dimensional Strip Packing Problem

BORTFELDT,MACK

European Journal of Operational Research

Vol. 183 (2007)

Nr. 357 (2005)

6 A Heuristic for the more-dimensional Bin Packing Problem

MACK, BORTFELDT

Central European Journal of Operations

Research

im Druck (akzeptiert

am 23.11.09)

Nr. 423 (2008)

Die Entwicklung der Verfahren aus Kapitel 2 und 3 liegt bereits einige Jahre zurück, wie

Tabelle 8 zeigt. Daher erscheint es angebracht, kurz auf neuere Publikationen zu den dort

behandelten Themen der Parallelisierung, der Hybridisierung und des Vergleichs der

Metaheuristiken Tabu Search und Simulated Annealing einzugehen. Die zitierten Arbeiten

betreffen dabei nicht ausschließlich die C&P-Problematik, sondern gelten allgemein für

kombinatorische Optimierungsprobleme.

CRAINIC und TOULOUSE (2003) geben einen Überblick und Tipps zur Parallelisierung von

GA, TS und SA. Das Handbuch von ALBA (2005) bietet eine umfangreiche Sammlung an

Beiträgen zur Parallelisierung von Metaheuristiken, mit einem Schwerpunkt auf Probleme

Page 52: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

32 Kapitel 1 : Einleitung

der Bereiche Telekommunikation und Bioinformatik. Auch das Handbuch von GONZALES

(2007) enthält zahlreiche aktuelle Anwendungsbereiche und Beispiele von sequentiellen und

parallelen Metaheuristiken. DEBUDAJ-GARBYSZ und CZECH (2007) berichten über praktische

Erfahrungen mit parallelisierten SAA, wobei sich eine Implementierung mit unabhängigen

SA-Threads als besonders effiziente Variante herausstellte. BOROVSKA und YANCHEV (2009)

berichten von der Parallelisierung mehrerer metaheuristischer Strategien zum Timetabling-

und Job Shop Scheduling-Problem.

Die Verwendung von Simulated Annealing in Hybridverfahren wurde in den vergangenen

Jahren ebenfalls mehrfach untersucht. HAMMAMI und GHÉDIRA (2005) stellen ein Verfahren

für das Knotenfärbungsproblem vor, bei dem Simulated Annealing und Tabu Search durch

parallele Prozesse simultan ausgeführt werden und dabei Informationen über die statistische

Auswertung des untersuchten Suchraums ausgetauscht werden. Ein hybrides Simulated

Annealing-Verfahren für das 3D-Strip Packing Problem stammt von DERELIA und DASB

(2007). Ebenfalls für das Strip Packing-Problem, allerdings mit irregulären Packstücken,

stellen GOMES und OLIVEIRA (2006) ein hybrides Simulated Annealing-Verfahren vor.

ALTIPARMAK und KARAOGLAN (2008) stellen ein Hybridverfahren (ATSA = Adaptive Tabu-

Simulated Annealing) für das konkave Transportkostenproblem vor, welches Elemente von

TS und SA integriert. In LIM et al. (2005) wird ein sogenanntes „Tabu Search embedded

Simulating Annealing“-Verfahren für ein Tourenplanungsproblem vorgestellt. LIU et al.

(2011) stellen ein hybrides Tabu Search-Verfahren für das Containerladeproblem vor.

Der Vergleich der Suchstrategien TS und SA wurde ebenfalls in den vergangenen Jahren

anhand verschiedener Algorithmen durchgeführt, mit uneinheitlichem Ergebnis. Während

beispielsweise in AROSTEQUI et al. (2006) Tabu Search als erfolgversprechendere Alternative

hervorgeht, berichten SINGH KAMBOJ und SENGUPTA (2009), dass sich Tabu Search als

weniger effizient für das Frequenzallokationsproblem erwies als Simulated Annealing. Auch

in PAUL (2010) war SA die bessere Strategie für das Quadratic Assignement-Problem. Im

älteren Beitrag von HEINRICI (1996) wird dagegen TS, vor allem wegen der einfacheren

Kalibrierung, der Vorzug gegenüber SA gegeben.

Alle zitierten Artikel wurden nicht bereits im Literaturüberblick in Kapitel 1.5 erwähnt, um

jeglichen Anachronismus zu vermeiden. Es zeigt sich, dass die den Kapiteln 2 und 3

zugrundeliegenden Themen der Parallelisierung und Hybridisierung von Metaheuristiken

auch in der rezenten Vergangenheit von zahlreichen Autoren aufgegriffen wurden.

Page 53: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 1 : Einleitung 33

Der Rest der Arbeit ist wie folgt gegliedert. Jedes der Kapitel 2, 3, 5 und 6 widmet sich

einem bestimmten Lösungsverfahren und ist in gleicher Weise aufgebaut. Nach Abschnitten

zur Zielsetzung und Verfahrensbeschreibung wird jedes Verfahren umfangreichen

numerischen Vergleichstests unterzogen, welche, soweit vorhanden, auch Heuristiken

anderer Autoren einbeziehen. Der Einfluss der Heterogenität des Packstückvorrats auf die

Lösungsqualität wird untersucht. Neue Benchmarkinstanzen von bisher nicht bekannter

Größe und teilweise mit bekanntem Optimum werden eingeführt und gelöst. Jedes Kapitel

endet mit einer Zusammenfassung der Ergebnisse. Auch das den Instanzgenerator

betreffende Kapitel 4 ist ähnlich aufgebaut. Bei den numerischen Tests wird je eine Testreihe

zu CLP und SPP erzeugt. Die SPP-Testreihe wird zum Test des in Kapitel 5 vorgestellten

Verfahrens herangezogen.

Es folgt eine genauere Beschreibung der fünf Verfahren.

In Kapitel 2 wird ein paralleler Tabu Search-Algorithmus für das 3D-Containerbeladeproblem

vorgestellt, welches auf einem sequentiellen Verfahren von BORTFELDT und GEHRING (1998)

aufbaut. Der verteilt parallele Ansatz basiert auf dem Konzept der multiplen Suchpfade (siehe

TOULOUSE et al., 1996, bzw. AZENCOTT, 1992) mit periodischem Austausch von Lösungen

zwischen den parallelen Prozessen.

In Kapitel 3 wird zunächst auf Basis desselben TS-Verfahrens ein Simulated Annealing-

Algorithmus zur Lösung des 3D-CLP entwickelt. Dieser SA-Algorithmus wird anschließend

zu einem hybriden metaheuristischen Verfahren ausgebaut, wobei sowohl Tabu Search als

auch Simulated Annealing verwendet werden. Weiterhin werden alle entwickelten Verfahren

parallelisiert und der Einfluss der Kommunikation der Prozesse auf die Lösungsqualität wird

untersucht. Ein fairer Vergleich der Resultate der TS- und SA-Variante wird durch die

Übereinstimmung der problemspezifischen Komponenten beider Verfahren ermöglicht.

In Kapitel 4 wird das Verfahren zum Erzeugen von mehrdimensionalen Instanzen der

C&P-Problemtypen CLP, SPP, BPP mit quaderförmigen Packstücken vorgestellt. Die

grundlegende Aufgabe besteht darin, Instanzen mit vorgegebener Problemgröße und

Heterogenität zu generieren, deren Optimallösungen bekannt sind. Außerdem sind bestimmte

Anforderungen an die erzeugten Kistentypen (bezüglich Länge, Anzahl, Volumen und Form)

und an die Charakteristik der Optimallösung (guillotinierbar oder nicht guillotinierbar)

einzuhalten. Neben einer Basisheuristik zum Erzeugen einer Ausgangslösung kommt ein

Nachbarschaftsverfahren zum Einsatz mit dem Ziel, Instanzen mit Optimallösungen von

Page 54: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

34 Kapitel 1 : Einleitung

komplexerer Packstruktur zu generieren. Die in Kapitel 1.2.4 vorgestellten praktischen

Restriktionen werden nachträglich der ermittelten Instanz hinzugefügt.

Die in Kapitel 5 entwickelte Heuristik für das 3D-Strip Packing-Problem wird von einem

B&B-Verfahren von PISINGER (2002) für das CLP abgeleitet. Zur Adaptation an das 3D-SPP

werden zwei Ansätze erprobt, welche auf BORTFELDT und GEHRING (1999a) zurückgehen.

Auf diese Weise wird die enge logische Verbindung von SPP und CLP nachgewiesen.

In Kapitel 6 wird eine Heuristik für das mehrdimensionale Bin Packing-Problem (BPP) mit

einem Containertyp vorgestellt. Die Heuristik basiert auf einem Verfahren für das

eindimensionale BPP von BORTFELDT (2007) sowie dem schichtbildenden Verfahren für das

3D-Container Loading-Problem, welches bereits beim SPP in Kapitel 5 eingesetzt wird. Ein

neuer Lower Bound der benötigten Containeranzahl für das BPP mit (vollständig oder

teilweise) orientierungsfreien Kisten wird verwendet, welcher den wohlbekannten

kontinuierlichen Lower Bound dominiert. Ziel ist die Entwicklung eines Verfahrens, welches

für besonders große Problemgrößen geeignet ist. Die Dissertation endet mit einer

Zusammenfassung der Ergebnisse in Kapitel 7.

Page 55: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP 35

2 Ein verteilt paralleles Tabu Search-Verfahren für das CLP

2.1 Zielsetzung und Vorgehensweise

In diesem Kapitel wird ein, auf dem Verfahren von BORTFELDT und GEHRING (1998)

aufbauender, paralleler Tabu Search-Algorithmus für das Containerbeladeproblem mit einem

zu beladenden Container vorgestellt. Das Verfahren ist für den Fall eines schwach

heterogenen Kistenvorrats vorgesehen und gliedert sich in drei Stufen:

• Die unterste Stufe bildet eine einfache Heuristik, welche eine zulässige Lösung für das

CLP erzeugt. Sie wird im Folgenden als Basisheuristik bezeichnet.

• Die mittlere Stufe besteht aus einem sequentiellen TSA. Bei der Erzeugung jeder

Lösung durch den TSA wird die Basisheuristik einmal angewendet. Der Suchprozeß

wird in mehrere Suchphasen unterteilt, in denen der TSA jeweils unterschiedlich

konfiguriert ist.

• Auf der obersten Stufe führen mehrere unterschiedlich konfigurierte Instanzen des TSA

jeweils eine selbständige Suche durch. Die TSA-Instanzen kooperieren durch den

Austausch von bisher erreichten Bestlösungen, die am Ende der Suchphasen

ausgetauscht werden.

Der Rest des Kapitels ist dem Verfahrensansatz gemäß wie folgt aufgebaut. Im Kapitel 2.2

wird die Basisheuristik vorgestellt. Abschnitt 2.3 beschreibt den sequentiellen TSA. Die

Parallelisierung des TSA ist Gegenstand des Abschnitts 2.4. Die Ergebnisse eines

Verfahrenstests werden in Kapitel 2.5 dokumentiert und ausgewertet. Schließlich fasst

Abschnitt 2.6 die Ergebnisse zusammen.

2.2 Basisheuristik

Die Basisheuristik belädt den gegebenen Container in mehreren Iterationen. Pro

Iterationsschritt wird ein so genannter Packraum mit einer oder mehreren Kisten gefüllt. Ein

Packraum ist ein leerer quaderförmiger Raum innerhalb des Containers mit definierten

Seitenmaßen. Im ersten Schritt wird der gesamte Innenraum des Containers als Packraum

verwendet. Für das Beladen eines Packraums kommen nur Kistenanordnungen einer

Page 56: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

36 Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP

vorgegebenen einfachen Struktur in Betracht. Diese werden als lokale Anordnungen (AO)

bezeichnet. Die für einen Packraum möglichen lokalen Anordnungen werden erzeugt und

nach gewissen Kriterien bewertet. Anschließend wird eine lokale Anordnung für den

Packraum ausgewählt. Der nicht genutzte Teil des Packraums wird vollständig in mehrere

quaderförmige, so genannte Nachfolgepackräume zerlegt. Diese werden später gefüllt.

Alg. 1 zeigt den Grobalgorithmus der Basisheuristik.

(1) Initialisiere: setze Menge restlicher Kisten BRest:= Menge aller Kisten; setze Packraumliste PrList:= {Container}; setze Packraumindex ipr:= 0; setze Stauliste StList:= {};

(2) Bestimme den aktuellen Packraum pract als Packraum mit minimalem Volumen aus PrList und entferne pract aus PrList.

(3) Initialisiere für den Packraum pract die Anordnungsliste ArrList:= {}. Erzeuge und bewerte alle lokalen Anordnungen für pract. Füge die lokalen Anordnungen absteigend nach Bewertung sortiert in ArrList ein.

(4) Falls ArrList leer ist, gehe zu Schritt (8). (5) Erhöhe den Packraumindex ipr:= ipr + 1. Füge das Paar (pract, ArrList(1)) als ipr-tes Element in

die StList ein. (6) Füge die Nachfolgepackräume in PrList ein, welche sich aus dem Realisieren der Anordnung

ArrList(1) im Packraum ipr ergeben. (7) Aktualisiere die Menge der restlichen Kisten BRest. (8) Falls die Packraumliste PrList nicht leer ist, gehe zu Schritt (2). (9) Stop.

Alg. 1. Grobalgorithmus der Basisheuristik.

Zu dem Grobalgorithmus der Basisheuristik sei ergänzend bemerkt:

• Es wird stets der Packraum mit kleinstem Volumen zuerst verarbeitet, um möglichst

sicherzustellen, dass auch kleinere Packräume mit dem Restvorrat beladen werden

können.

• Der Container wird in ein 3D-Koordinatensystem eingebettet. Die untere, hintere, linke

Ecke eines Packraums wird als Bezugspunkt (Referenzecke) verwendet. Die x-Achse

verläuft parallel zur Containerlänge, die y-Achse parallel zur Containerbreite, während

die z-Achse parallel zur Containerhöhe verläuft. Die Koordinaten des Bezugspunkts

werden gemeinsam mit den Packraummaßen aufgezeichnet. Die Position einer

verstauten Kiste ergibt sich aus den Koordinaten der Referenzecke des Packraums und

der Lage der Kiste innerhalb der jeweiligen lokalen Anordnung.

Page 57: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP 37

• Die Basisheuristik in Alg. 1 ist als Greedy-Heuristik gestaltet. In Schritt (5) wird

jeweils die erste lokale Anordnung von ArrList mit der besten Bewertung ausgewählt.

In Kapitel 2.3 wird die Basisheuristik dahingehend erweitert, dass nicht stets die beste

Anordnung für einen Packraum (mit Packraumindex ipr) realisiert wird. Erst nach

dieser Erweiterung können mit der Basisheuristik unterschiedliche Lösungen für eine

Probleminstanz erzeugt werden. Man beachte, dass nur Packräume, welche mit

wenigstens einer Kiste befüllt werden können, einen Index ipr erhalten. Ein solcher

Packraum wird nachfolgend als füllbar bezeichnet.

• Wird eine lokale Anordnung erzeugt und bewertet (Schritt 3), so werden zugleich die

Nachfolgepackräume, die sich bei der Verwendung dieser lokalen Anordnung ergeben

würden, testweise erzeugt. Sie werden ggf. in Schritt 6 in die Packraumliste PrList

eingefügt.

Für eine detaillierte Darstellung der Basisheuristik soll Teilschritt 3 aus Alg. 1 näher

beschrieben werden.

2.2.1 Erzeugung lokaler Anordnungen

Es kommen ausschließlich bestimmte Arten von Kistenanordnungen innerhalb eines

Packraums zum Einsatz, die nachfolgend definiert werden.

Eine lokale Anordnung besteht aus einem oder zwei so genannten Blöcken und wird

entsprechend als 1-Anordnung (abgekürzt: 1-AO) oder 2-Anordnung (2-AO) bezeichnet

(siehe Abb. 2). Ein Block wird dabei aus Kisten des gleichen Typs gebildet. Ferner werden

alle Kisten eines Blocks in einer identischen räumlichen Orientierungsvariante angeordnet.

Ein Block umfasst in allen drei Dimensionen (x-, y- bzw. z-Richtung) jeweils eine oder

mehrere Kisten.

Der einzige Block einer 1-Anordnung wird stets in der Referenzecke des Packraumes

platziert. Von den beiden Blöcken einer 2-Anordnung wird einer in der Referenzecke

angeordnet. Der zweite Block kann alternativ in x-Richtung benachbart (Lagetyp „vor“), in

y-Richtung benachbart (Lagetyp „neben“) oder in z-Richtung benachbart (Lagetyp „über“)

platziert werden. Bei einer Platzierung mit dem Lagetyp „vor“ wird der Block mit größerem

y-Maß in der Referenzecke angeordnet, während bei einer Platzierung mit dem Lagetyp

„neben“ der Block mit größerem x-Maß in der Referenzecke positioniert wird.

Page 58: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

38 Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP

Der Lagetyp „über“ wird nur zugelassen, wenn beide horizontalen Maße eines Blocks nicht

kleiner als die korrespondierenden Maße des anderen Blocks sind. Der Block mit den

größeren horizontalen Maßen wird in der Referenzecke, der andere darüber angeordnet.

Diese Maßnahme stellt sicher, dass keine Überhänge entstehen können und der ungefüllte

Raum in einer bestimmten Weise in neue Packräume unterteilt werden kann. Die folgende

Abb. 2 veranschaulicht eine 1-Anordnung sowie 2-Anordnungen der Lagetypen „vor“ und

„neben“. Kistenzahlen in z-Richtung werden nicht angegeben.

x x x

y y yPackraum

Anordnungs-block

EinzelneKiste

a) 1-Anordnung (1-AO) b) 2-Anordnung (2-AO)Typ „neben“

c) 2-Anordnung (2-AO)Typ „vor“

x x x

y y yPackraum

Anordnungs-block

EinzelneKiste

a) 1-Anordnung (1-AO) b) 2-Anordnung (2-AO)Typ „neben“

c) 2-Anordnung (2-AO)Typ „vor“

Abb. 2. Zulässige Anordnungstypen innerhalb eines Packraums (Draufsicht).

Die Kistenzahlen in allen drei Richtungen werden für die Blöcke einer Anordnung zunächst

derart bestimmt, dass die zugehörigen Packraummaße möglichst gut ausgelastet werden.

Überschreitet der Bedarf an Kisten eines Typs für einen Block die Anzahl der noch

verfügbaren Exemplare dieses Kistentyps, so werden die Kistenzahlen entsprechend

reduziert.

Eine 1-Anordnung ist durch die Auswahl eines Kistentyps und einer Orientierungsvariante

eindeutig bestimmt. Analog ist eine 2-Anordnung durch die Auswahl zweier Kistentypen,

zweier Orientierungsvarianten sowie eines Lagetyps vollständig bestimmt. Erzeugt werden

alle denkbaren 1-Anordnungen sowie 2-Anordnungen, die durch eine Variation der

Kistentypen, der Orientierungsvarianten sowie des Lagetyps (bei 2-Anordnungen) möglich

sind. Dabei werden jeweils nur solche Kistentypen berücksichtigt, für die noch mindestens

ein Exemplar im Restvorrat vorhanden ist. Ferner wird bei der Auswahl der

Orientierungsvarianten die Orientierungsrestriktion (C1) (vgl. Kapitel 1.2.4) beachtet.

Page 59: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP 39

2.2.2 Erzeugung von Nachfolgepackräumen

Wurde eine lokale Anordnung für einen Packraum erzeugt, so wird unmittelbar danach der

ungenutzte Teil des Packraums testweise in Nachfolgepackräume zerlegt. Dies ist notwendig,

um die noch vorzustellende Bewertung der lokalen Anordnung durchzuführen. Es werden

mehrere alternative Zerlegungsvarianten für einen Packraum betrachtet (siehe unten).

Die vollständige Zerlegung des ungenutzten Teils eines Packraums in weitere Packräume

kann stets in mehreren Varianten erfolgen. Die Anzahl der möglichen Zerlegungsvarianten

ergibt sich aus folgenden zwei Faktoren. Zum einen hängt sie vom Typ der lokalen

Anordnung ab (d.h. ob es sich um eine 1-AO oder 2-AO handelt und welcher Lagetyp bei

einer 2-AO verwendet wird). Zum anderen werden die möglichen Zerlegungsvarianten

dadurch bestimmt, ob die Stabilitätsrestriktion (C3a) (vgl. Kap.1.2.4) gelten soll, ob also

ausschließlich eine vollständige oder auch eine teilweise Unterstützung jeder verstauten Kiste

zulässig ist. Im ersten Fall kommen nur Packräume in Betracht, die selbst vollständig auf

dem Containerboden bzw. auf der Deckfläche von Blöcken ruhen. Wird nur eine teilweise

Unterstützung verlangt, so können auch Nachfolgepackräume in Betracht kommen, die über

ihre unterstützenden Blöcke hinausragen (so genannte „überhängende Packräume“).

Zur Verdeutlichung seien zunächst 1-AO betrachtet. Wird eine vollständige Unterstützung

gefordert, existieren genau zwei Zerlegungsvarianten, die in Abb. 3 gezeigt werden.

y

Packraum

Pr3(„über“)

Pr2(„neben“)

Pr1 („vor“)

x

z

y

Pr3

Pr2

Pr1

x

z

y

Packraum

Pr3(„über“)

Pr2(„neben“)

Pr1 („vor“)

x

z

y

Pr3

Pr2

Pr1

x

z

Abb. 3. Restraumaufteilung ohne Überhang bei 1-AO.

Wird nur eine teilweise Unterstützung verlangt, kommen weitere vier Zerlegungsvarianten

für 1-AO hinzu, wie folgende Abb. 4 zeigt.

Page 60: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

40 Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP

y

Packraum

Pr3(„über“)

Pr2(„neben“)

Pr1 („vor“)

x

z

y

Pr3

Pr2

Pr1

x

z

y

Pr3

Pr2

Pr1

x

z

y

Pr3

Pr2

Pr1

x

z

y

Packraum

Pr3(„über“)

Pr2(„neben“)

Pr1 („vor“)

x

z

y

Pr3

Pr2

Pr1

x

z

y

Packraum

Pr3(„über“)

Pr2(„neben“)

Pr1 („vor“)

x

z

y

Pr3

Pr2

Pr1

x

z

y

Pr3

Pr2

Pr1

x

z

y

Pr3

Pr2

Pr1

x

z

Abb. 4. Zusätzliche Aufteilungsvarianten mit Überhängen bei 1-AO.

Für 2-Anordnungen seien lediglich die Anzahl der Zerlegungsvarianten angegeben. Bei

Anordnungen mit den Lagetypen „vor“ und „neben“ existieren jeweils 5 Zerlegungsvarianten

ohne und 26 Varianten mit überhängenden Packräumen. Bei einer Anordnung mit dem

Lagetyp „über“ sind 4 Zerlegungsvarianten ohne und 6 Varianten mit überhängenden

Packräumen zu beachten.

2.2.3 Bewertung von Zerlegungsvarianten

Alle zur jeweiligen Anordnung passenden Zerlegungsvarianten werden zunächst berechnet

und bewertet. Alle Varianten werden bewertet. Folgende zwei Faktoren fließen jeweils in die

Bewertung einer Zerlegungsvariante ein:

• Zum einen wird das Verlustvolumen berücksichtigt; es bezeichnet die Summe der

Volumina aller nicht weiter füllbaren Nachfolgepackräume für eine Zerlegungsvariante.

Dieses sollte möglichst klein ausfallen.

• Zum anderen wird das maximale so genannte effektive Volumen aller

Nachfolgepackräume einer Zerlegung betrachtet. Dieses sollte möglichst groß sein.

Handelt es sich um einen Packraum ohne Überhang, so wird als effektives Volumen

das Packraumvolumen gesetzt. Bei einem Packraum mit Überhang wird anhand des

Page 61: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP 41

überhängenden Anteils das nutzbare Volumen des Packraums abgeschätzt und als

effektives Volumen definiert. Man beachte, dass die Kistenanzahlen in horizontalen

Richtungen für die Blöcke einer Anordnung auch davon abhängen, ob der Packraum

einen Überhang besitzt oder nicht; frei schwebende Kisten sind nicht zugelassen.

Für die Bewertung der Zerlegungsvarianten sind drei alternativ einsetzbare Modi vorgesehen,

welche durch den Parameter cutEvalMode gekennzeichnet sind. Bei Verbot von Überhängen

wird allerdings ausnahmslos Modus 0 (gekennzeichnet durch: cutEvalMode = 0) verwendet.

Weitere Details werden in Tab. 9 erläutert.

Tab. 9. Bewertungsmodi zur Packraumzerlegung.

Bewertungs- Modus

cutEvalMode Erläuterung

0 1. Kriterium: Verlustvolumen möglichst gering. 2. Kriterium (Tiebreaker): maximales effektives Volumen eines Packraums.

1

Schritt 1: Nur Zerlegungen ohne überhängende Packräume werden betrachtet. Auswahlkriterium: effektives Volumen des größten Nachfolgepackraums. Schritt 2: Die beste ermittelte Zerlegung wird wie folgt nachbehandelt: Nicht füllbare Nachfolgepackräume auf dem Boden des ursprünglichen Packraums werden horizontal zerschnitten. Dabei werden die oberen Teile des zerschnittenen Packraums an höher gelegene Nachbarpackräume übertragen (siehe Abb. 4). Im Ergebnis wird also eventuell eine Zerlegung mit überhängenden Packräumen ermittelt, anders als bei Modus 0.

2 Analog zu Modus 1; jedoch stehen alle Zerlegungen zur Wahl.

Die ermittelte Zerlegungsvariante mit der besten Bewertung bestimmt schließlich die

verwendeten Nachfolgepackräume für eine gegebene Anordnung in einem gegebenen

Packraum.

2.2.4 Bewertung lokaler Anordnungen

Zur Auswahl der für einen Packraum erzeugten lokalen Anordnungen stehen ebenfalls zwei

alternative Bewertungsmodi zur Verfügung. Der Modus wird durch den Parameter

arrEvalMode bestimmt.

Der erste Modus (arrEvalMode = 0) verwendet als einziges Bewertungskriterium das im

Packraum verstaute Kistenvolumen, welches so groß wie möglich sein soll.

Der zweite Modus (arrEvalMode = 1) verwendet zwei weitere Bewertungskriterien. Es

werden wiederum das oben eingeführte Verlustvolumens und das maximale effektive

Page 62: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

42 Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP

Volumen, bezogen auf die Nachfolgepackräume der jeweiligen Anordnung, verwendet.

Analog zur Bewertung von Zerlegungen sollen das Verlustvolumen möglichst klein und das

maximale effektive Volumen möglichst groß ausfallen. Bei dieser Variante der Bewertung

lokaler Anordnungen gehen alle drei Bewertungskriterien (Kistenvolumen, Verlustvolumen,

effektives Volumen) mit gleichem Gewicht ein.

Abschließend seien zwei weitere Parameter der Basisheuristik erläutert. Der Parameter

maxArr bestimmt die maximale Länge der Anordnungsliste ArrList für einen Packraum.

Gehört eine lokale Anordnung nicht zu den maxArr besten Anordnungen, so wird sie in der

Tabu-Suche nicht berücksichtigt. Der Parameter aboveArr steuert, ob 2-Anordnungen des

Lagetyps „über“ erzeugt werden dürfen (Parameterwert 1) oder nicht (Parameterwert 0).

Ebenso wie die verschiedenen Bewertungsmodi für Zerlegungen und Anordnungen wird der

Parameter aboveArr zur Diversifikation bei der Tabu-Suche verwendet.

2.3 Sequentieller Tabu Search-Algorithmus

{ Initialisieren } erzeuge eine zulässige Lösung s; setze Bestlösung sbest:= s; setze Tabulist:= {};

{ Führe eine Nachbarschaftssuche durch } while (Abbruchkriterium nicht erfüllt) do erzeuge eine Nachbarschaft N(s); initialisiere den Wert der Zielfunktion f(siter):= -∞; for each s’ ∈ N(s) do if f(s’) > f(siter) and Lösung s’ ist nicht tabu then siter := s’; endif ; endfor ; if f(siter) > f(sbest) then sbest := siter; endif ; aktualisiere TabuList; s:= siter; endwhile ; Ausgabe der Bestlösung sbest ;

Alg. 2. Tabu Search-Algorithmus für ein Maximumproblem.

Alg. 2 zeigt einen generischen Tabu Search-Algorithmus, der für den vorliegenden Zweck

hinreichend allgemein ist. Auf die Einbeziehung von Aspirationskriterien, welche den

Tabustatus einer Lösung aufheben können, wird der Einfachheit halber verzichtet. Die

Page 63: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP 43

Grundlagen der Suchstrategie Tabu Search werden als bekannt vorausgesetzt (vgl. GLOVER

und LAGUNA, 1993 bzw. GENDREAU, 2003).

Im Folgenden wird der allgemeine TSA an das gegebene Containerbeladeproblem angepasst.

Diese Anpassung erfolgt in drei Schritten:

(1) Einführung einer Kodierung zulässiger Problemlösungen,

(2) Ausgestaltung der Basiskomponenten des TSA, und

(3) Konfiguration des TSA.

2.3.1 Kodierung zulässiger Lösungen

Die folgende Kodierung einer Lösung führt zu einer geeigneten und flexiblen

Nachbarschaftsdefinition. Eine zulässige Lösung wird durch einen Vektor Ps, genannt

Packsequenz, kodiert. Die Position ipr (ipr = 1, 2, ...) des Vektors entspricht einem füllbaren

Packraum mit dem Index ipr. Das Vektorelement an Position ipr ist eine Datenstruktur mit

zwei Komponenten. Die erste Komponente Ps(ipr).ia gibt den Index einer lokalen

Anordnung der Anordnungsliste ArrList an. Die zweite Komponente Ps(ipr).na enthält die

Länge der Anordnungsliste für Packraum ipr.

Die Transformation einer kodierten Lösung in eine vollständige Lösung erfolgt mit Hilfe der

Basisheuristik, die zu diesem Zweck allerdings leicht abgeändert wird. Der modifizierten

Basisheuristik wird bei ihrem Aufruf eine Packsequenz Ps übergeben. Für den füllbaren

Packraum an Position ipr der Liste PrList wird nun anstelle der besten lokalen Anordnung

ArrList(1) die Anordnung ArrList(ia) verwendet, deren Index ia gemäß ia = Ps(ipr).ia

bestimmt wird. Die Packsequenz enthalte z.B. an Position 1 den Anordnungsindex 2 und an

Position 2 den Anordnungsindex 5. Dann wird für den ersten füllbaren Packraum die zweite

Anordnung der zugehörigen Anordnungsliste und für den zweiten füllbaren Packraum die

fünfte Anordnung gewählt.

Die Länge der Anordnungsliste für einen füllbaren Packraum kann erst während des

Transformationsprozesses bestimmt und in die Packsequenz Ps eingetragen werden. Alle

Packsequenzen besitzen eine einheitliche, hinreichend groß gewählte Länge maxpr. Jedoch

wird die Anzahl der füllbaren Packräume und damit die Anzahl npr (npr ≤ maxpr) der

signifikanten Positionen von Ps erst während der Transformation der Packsequenz Ps

bestimmt. Die Anzahl npr wird gemeinsam mit der Packsequenz in einer übergeordneten

Page 64: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

44 Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP

Struktur gespeichert. Allerdings ist stets auf allen maxpr Positionen einer Packsequenz ein

Anordnungsindex eingetragen. Durch diese und weitere technische Vorkehrungen wird

gewährleistet, dass jede beliebige Packsequenz eindeutig in eine zulässige Lösung

transformiert werden kann.

2.3.2 Ausgestalten der Basiskomponenten des TSA

Die Tabu-Suche wird in dem Lösungsraum der kodierten Lösungen durchgeführt. In diesem

Lösungsraum werden zwei alternativ nutzbare Nachbarschaftsstrukturen eingeführt. Für eine

beliebige Packsequenz Ps mit npr signifikanten Positionen werden eine „große“ und eine

„kleine“ Nachbarschaft wie folgt definiert:

• Die große Nachbarschaft umfasst alle Packsequenzen Ps', für die gilt:

Für genau eine Position ipr' differieren die eingetragenen Anordnungsindizes, d.h.

Ps'(ipr').ia ≠ Ps(ipr').ia, wobei für den abweichenden Anordnungsindex

Ps'(ipr').ia ∈ {1,..., Ps(ipr').na} gefordert wird; dagegen sollen die Anordnungsindizes

auf allen anderen Positionen übereinstimmen, d.h.:

Ps'(ipr).ia = Ps(ipr).ia für alle ipr mit 1 ≤ ipr ≤ maxpr, ipr ≠ ipr' .

Die Änderungsposition ipr' kann beliebig in dem Intervall 1 ≤ ipr' ≤ npr gewählt

werden.

• Die kleine Nachbarschaft wird analog zur großen Nachbarschaft definiert. Abweichend

wird jedoch die Änderungsposition ipr' in dem Intervall 1 ≤ ipr' ≤ npr fest vorgegeben.

Diese Fixierung gilt allerdings jeweils nur für einen Iterationsschritt. Im

darauffolgenden Durchgang wird die Änderungsposition ipr' variiert, wobei insgesamt

eine zyklische Variation erfolgt. Die Iterationslösung der j-ten Iteration sei unter

Verwendung der Änderungsposition ipr' ermittelt worden und umfasse npr signifikante

Positionen. Falls dann ipr' < npr gilt, wird bei der (j+1)-ten Iteration die

Änderungsposition ipr'+1 verwendet; bei ipr' = npr wird dagegen erneut die

Änderungsposition 1 benutzt.

Für beide Nachbarschaftsstrukturen gilt, dass benachbarte Packsequenzen Ps und Ps' bis auf

eine Position bzw. einen Packraum den Einsatz lokaler Anordnungen vorschreiben, die in der

jeweiligen Anordnungsliste denselben Platz einnehmen. Benachbarte Packpläne sind also

hinsichtlich der relativen Güte ihrer Anordnungen ähnlich. Beide Nachbarschaften können in

diesem Sinne als Güteumgebungen charakterisiert werden. Die unmodifizierte Basisheuristik

Page 65: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP 45

füllt als Greedy-Heuristik alle Packräume lokal optimierend. Dagegen zielt die Tabu-Suche

darauf ab, unter Verzicht auf lokal besonders günstige Anordnungen für einzelne Packräume,

eine Gesamtlösung in der Nähe des globalen Optimums zu finden. Eben dieses Ziel wird

durch die eingeführten Nachbarschaften unterstützt.

Jede in einem Iterationsschritt ermittelte benachbarte Packsequenz Ps' einer gegebenen

Ausgangssequenz Ps wird mittels der modifizierten Basisheuristik in eine zulässige Lösung

überführt. Im Zuge dieser Transformation wird auch die jeweilige Volumenauslastung des

Containers als Zielfunktionswert ermittelt. Genauer gesagt wird die Packsequenz Ps'

zweimal in eine zulässige Lösung transformiert. Während bei der ersten Transformation für

alle Packräume nur 1-Anordnungen zugelassen sind, werden bei der zweiten Transformation

auch 2-Anordnungen berücksichtigt. Als Lösung wird die Lösung mit dem höheren

Zielfunktionswert verwendet. Man beachte, dass aufgrund der sukzessiven Verarbeitung

mehrerer Packräume die erste Transformationsvariante durchaus zur besseren Lösung führen

kann.

Die Verwaltung der Tabuliste wird wie folgt gestaltet. Nach jedem Iterationsschritt wird die

Tabuliste um eine Lösung erweitert, nämlich um die beste ermittelte Lösung aus der

berechneten Nachbarschaft. Diese Lösung wird in der Tabuliste abgelegt und wird

dementsprechend in den nächsten Iterationen nicht zur Konkurrenz zugelassen. Auf diese

Weise soll ein zyklischer Suchverlauf vermieden werden.

Aufgrund des hohen Transformationsaufwands kommt nur eine relativ kleine Anzahl an

Iterationsschritten in Betracht. Der Verwaltungsaufwand für die Tabuliste fällt daher absolut,

wie auch im Verhältnis zum Transformationsaufwand, gering aus, obwohl komplette

Lösungen in der Tabuliste verwaltet werden. Die maximale Länge der Tabuliste wird durch

die Iterationszahl gegeben. Folglich bleibt eine einmal erzeugte, iterationsbeste Lösung für

den Rest der Suche „tabu“ und Zyklen werden garantiert ausgeschlossen. Bei dem

gewähltem Ansatz für die Tabuliste sind Aspirationskriterien offenbar überflüssig, denn sie

dienen gewissermaßen dazu, den Tabustatus einer „irrtümlich“ tabuisierten Lösung zu

übersteuern.

Anfangs wird bei der Tabu-Suche eine Packsequenz benutzt, die an allen Positionen den

Anordnungsindex 1 aufweist. Die Ausgangslösung entspricht daher der mit Hilfe der

unmodifizierten Basisheuristik bestimmten Lösung (vgl. Kapitel 2.2, Alg. 1).

Page 66: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

46 Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP

2.3.3 Ausgestaltung des TSA

Zur Konfigurierung des TSA sollen nun die Parameterwerte festgesetzt, ein

Diversifikationskonzept eingeführt sowie Terminierungskriterien festgelegt werden.

Zusätzlich zu den vier Parametern der Basisheuristik (vgl. Abschnitt 2.2) werden drei weitere

Parameter eingeführt. Der Parameter nIter legt die Anzahl der Iterationen der Tabu-Suche

fest. Der Parameter nbhType gibt an, ob die große Nachbarschaft (Parameterwert 0) oder die

kleine Nachbarschaft (Parameterwert 1) verwendet wird.

Der Umfang von Nachbarschaften wird bereits durch den Parameter maxArr der

Basisheuristik beeinflusst, welcher die Anzahl der zu berücksichtigenden lokalen

Anordnungen pro Packraum begrenzt. Zur weiteren Reduzierung beider Nachbarschaften

wird außerdem der Parameter nbhDecrease eingeführt, welcher ganzzahlige Werte ab 1

annehmen kann. Für eine bestimmte Änderungsposition ipr' sei in der Packsequenz Ps die

Anordnung Ps(ipr').ia vorgesehen, bei insgesamt Ps(ipr').na möglichen Anordnungen. Dann

werden nur solche alternativen lokalen Anordnungen für die Änderungsposition ipr'

zugelassen, deren Indizes ia' der folgenden Ungleichung genügen:

ia' - Ps(ipr').ia ≤ Ps(ipr').na / nbhDecrease

Bei nbhDecrease = 1 wird die Nachbarschaft demnach nicht beschränkt. Bei Parameterwert

nbhDecrease > 1 werden die zugelassenen alternativen Anordnungen pro Änderungsposition

auf solche beschränkt, die eine ähnliche Bewertung haben wie die ursprüngliche Anordnung.

Das Verfahren verwendet darüber hinaus folgendes Diversifikationskonzept. Der gesamte

Suchprozeß wird in nPhases verschiedene Suchphasen aufgefächert. Jede Phase geht von der

Greedy-Lösung der (unmodifizierten) Basisheuristik aus. Am Phasenanfang wird die

Tabuliste leer initialisiert. Die erwünschte Diversifikation wird erreicht, indem jeder Phase

ein unabhängiger Satz der oben genannten sieben Parameter zugeteilt wird. Eine zusätzliche

Diversifikation der Suche kann mittels der Stabilitätsrestriktion (C3a) erfolgen, wenn diese

lediglich eine teilweise Unterstützung der verstauten Kisten verlangt. Dies wird erreicht,

indem in einzelnen Suchphasen der vorgeschriebene Prozentsatz der Unterstützung beider

horizontalen Maße einer Kiste gewissermaßen künstlich erhöht wird (vgl. Abschnitt 2.5).

Die Beendigung des gesamten Verfahrens wird durch zwei Terminierungskriterien festgelegt.

Das Verfahren bricht ab, wenn entweder alle nPhases Suchphasen durchlaufen oder eine

Page 67: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP 47

vorgegebene Rechenzeitschranke maxTime überschritten wurde, oder falls alle Kisten in

einer Lösung verstaut werden konnten. Als Verfahrenslösung wird die Bestlösung aller

berechneten Phasen ausgegeben.

2.4 Paralleler Tabu Search-Algorithmus

TOULOUSE et al. (1996) unterscheiden drei Typen von Parallelisierungsstrategien, welche

vorrangig für kombinatorische Probleme geeignet sind und auch meist angewendet werden:

(1) Parallelisierung von Teilschritten innerhalb einer Iteration des Verfahrens, (2) Aufteilung

des Problembereichs oder des Lösungsraums, und (3) mehrfache Suchprozesse mit

verschiedenen Graden der Synchronisierung und Kooperation. Welcher Typ für ein paralleles

Optimierungsverfahren im Einzelfall in Betracht kommt, hängt vor allem von der Zielsetzung

ab, die mit der Parallelisierung verfolgt wird. Da hier die Verbesserung der Lösungsqualität

im Vordergrund steht, wird für die Parallelisierung ein Ansatz vom Typ 3 gewählt.

Ein gegebenes Containerbeladeproblem wird durch mehrere Prozesse simultan bearbeitet.

Jeder Prozess stellt eine Instanz des sequentiellen TSA dar und löst das vollständige Problem.

Allerdings werden die einzelnen Prozesse unterschiedlich konfiguriert. Ferner kooperieren

die Prozesse durch den Austausch von berechneten Lösungen. Ein Prozess verwendet die

empfangene Lösung eventuell als Ausgangspunkt für dessen weitere Suche. Während die

unterschiedliche Konfiguration der Prozesse ein Mittel zur Diversifikation der Suche

darstellt, dient der Austausch von Lösungen der Intensivierung der Suche in den

Nachbarregionen der ermittelten Bestlösungen. Der umrissene Parallelisierungsansatz, bei

dem mehrere Prozesse ein Problem autonom bearbeiten und zugleich durch

Informationsaustausch kooperieren, wird nach einem treffenden Ausdruck von

ENSLOW (1978) auch als Modell der kooperativen Autonomie bezeichnet.

Jeder der autonomen Prozesse wird einer Workstation in einem lokalen Netzwerk (LAN)

zugewiesen. Daher handelt es sich bei dem parallelen TSA genauer gesagt um ein verteilt-

paralleles Verfahren. Dieses als PTS (Parallel, Tabu Search) bezeichnete Verfahren wird

nachfolgend näher beschrieben.

2.4.1 Gliederung der Suche und Formen der Kommunikation

Jeder Prozess von PTS wird entsprechend dem Diversifikationskonzept des sequentiellen

TSA in mehrere Phasen gegliedert. Zur Definition der Phasen aller Prozesse sollen möglichst

Page 68: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

48 Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP

günstige Parametersätze benutzt werden, die bei Experimenten mit dem sequentiellen TSA

ermittelt werden. Ferner sollen die Parametersätze im Hinblick auf Güte und Rechenaufwand

annähernd gleichmäßig auf die Prozesse verteilt und pro Prozess die aussichtsreichsten

Parametersätze möglichst in frühen Phasen eingesetzt werden. Auf diese Weise wird die

beabsichtigte intensivere Erkundung von Gebieten mit hochwertigen Lösungen in höherem

Maße unterstützt.

Was die Häufigkeit der Kommunikation bzw. die Anzahl der Kommunikationszeitpunkte

betrifft, ist der Typ des zugrundeliegenden sequentiellen Verfahrens, im gegebenen Fall ein

TSA, zu berücksichtigen. Eine allzu häufige Kommunikation gefährdet bei den einzelnen

Prozessen die intensive Erkundung von beschränkten Regionen des Suchraumes. Daher ist

von vornherein eine Kommunikation mit eher geringer Frequenz vorzusehen. Hier wird ein

Austausch von Bestlösungen pro Prozess nur bei einem Übergang von einer Phase zur

nächsten Phase durchgeführt.

Kommunikationsmodell

Der Lösungsaustausch erfolgt mittels eines Kommunikationsobjekts. Dieses nimmt

Lösungen der Prozesse auf und stellt sie ihnen wieder zur Verfügung. Die Organisation des

Kommunikationsobjekts wird von dem verwendeten Kommunikationsmodell bestimmt.

Dieses legt die möglichen Kommunikationspfade fest. Als Kommunikationsmodell sind

alternativ die Varianten „Ring“ und „Blackboard“ vorgesehen. Das Kommunikationsobjekt

wird mittels einer Datenbank realisiert.

Im Falle des Kommunikationsmodells Ring wird die Datenbank in separate Bereiche

gegliedert. Jeder Bereich ist einem Prozess fest zugeordnet. Ein Prozess legt seine Lösungen

nur in seinem Datenbankbereich ab. Jeder Bereich ist als Schlange gemäß dem FIFO-Prinzip

organisiert. Eine neue Lösung wird stets am Ende der Schlange eingefügt. Die Prozesse

werden zu einem Ring verknüpft, so dass jeder Prozess genau einen Vorgänger besitzt. Ein

Prozess liest jeweils die Lösung am Anfang der Schlange seines Vorgängers aus. Diese wird

danach entfernt. Folgende Abb. 5 verdeutlicht das Kommunikationsmodell Ring.

Page 69: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP 49

Prozess1

Prozess2

Prozess3

Prozess4

P2P3P4P1

Prozess1

Prozess2

Prozess3

Prozess4

Prozess1

Prozess2

Prozess3

Prozess4

P2P3P4P1

Prozess1

Prozess2

Prozess3

Prozess4

P2P3P4P1

Prozess1

Prozess2

Prozess3

Prozess4

Abb. 5. Ring-Kommunikationsmodell.

Bei dem Kommunikationsmodell Blackboard wird die Datenbank als einheitlicher Bereich

organisiert, in welchem alle Prozesse ihre Lösungen ablegen und aus dem sie Lösungen

entnehmen. Der Bereich wird als Stapel gemäß dem LIFO-Prinzip verwaltet. Eine von einem

Prozess bereitgestellte Lösung wird als oberstes Element in den Stapel eingefügt und jeder

Prozess liest jeweils die oberste Lösung des Stapels. Anders als bei einem Ring wird eine

gelesene Lösung nicht entfernt. Sie bleibt für den Zugriff durch andere Prozesse bis zum

nächsten Schreibvorgang erhalten. Da die Prozesse im Laufe der Suche i.A. Lösungen von

besserer Qualität finden, ist es durchaus beabsichtigt, dass nur die jeweils zuletzt eingefügte

Lösung für Lesezugriffe verfügbar ist. Abb. 6 veranschaulicht das Kommunikationsmodell

Blackboard.

Prozess1

Prozess2

Prozess3

Prozess4

1. sol n2. sol n-1…

Prozess1

Prozess2

Prozess3

Prozess4

Prozess1

Prozess2

Prozess3

Prozess4

1. sol n2. sol n-1…

Prozess1

Prozess2

Prozess3

Prozess4

Abb. 6. Blackboard-Kommunikationsmodell.

Austausch von Lösungen

Am Ende einer Phase stellt ein Prozess von PTS seine aktuelle Bestlösung, d.h. die beste

während der bisherigen Suche von ihm gefundene Lösung, für andere Prozesse bereit. Zu

Beginn der nächsten Phase liest der Prozess eine Fremdlösung, die von einem anderen

Prozess bereitgestellt wurde. Die gelesene Lösung bildet unter Umständen den

Page 70: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

50 Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP

Ausgangspunkt der Suche des übernehmenden Prozesses. Sie fungiert in diesem Fall als

Startlösung der nächsten Phase. Die nächste von dem Prozess untersuchte Nachbarschaft ist

somit eine Nachbarschaft der Fremdlösung.

Ausgetauscht werden zum einen Packsequenzen, d.h. kodierte Lösungen. Gemeinsam mit

einer Packsequenz werden auch die Parameter der Phase, welche zu der übernommenen

Lösung gehören, übergeben. Nur so ist sichergestellt, dass die Transformation der

Packsequenz auch bei dem übernehmenden Prozess zu einer hochwertigen Lösung führt.

Dient also eine übernommene Fremdlösung als Startlösung der nächsten Phase des

übernehmenden Prozesses, so werden der Phase auch die zur Fremdlösung gehörenden

Parameter zugrunde gelegt.

Für die Verarbeitung von Fremdlösungen werden zwei Alternativen vorgesehen, von denen

eine jeweils für alle Prozesse anzuwenden ist. Bei der unbedingten Übernahme von

Fremdlösungen bildet eine gelesene Fremdlösung stets den Ausgangspunkt der weiteren

Suche. Bei der bedingten Übernahme wird die Fremdlösung nur dann als neue Startlösung

verwendet, wenn sie einen höheren Zielfunktionswert besitzt als die bisherige Bestlösung des

Prozesses. Andernfalls setzt der Prozess seine Suche so fort, als ob die Kommunikation nicht

stattgefunden hätte. Insbesondere werden die vordefinierten Parameter für die nächste Phase

verwendet.

Im Zuge der Übernahme einer Fremdlösung wird der Umfang der nachfolgend untersuchten

Nachbarschaften vergrößert. Dies wird durch das Absenken des Parameters

nbhDecrease um 1 bei dem übernehmenden Prozess erreicht (vgl. Kapitel 2.3.3). Durch eben

diese Maßnahme wird gewährleistet, dass die Region der übernommenen hochwertigen

Lösung nachfolgend intensiver abgesucht wird. Um das Ausufern der Rechenzeit von PTS zu

verhindern, sollen pro Prozess insgesamt weniger Phasen bearbeitet werden als im Falle des

sequentiellen TSA.

Weitere Details

Unter den für die Suche eingesetzten Prozessen wird ein einzelner Prozess von PTS aus der

Kommunikation ausgeschlossen. Er führt als sequentieller TSA eine isolierte Suche durch.

Die von ihm ermittelte Bestlösung wird jedoch abschließend in die Ermittlung der

Bestlösung einbezogen. Auf diese Weise wird die Lösungsqualität des sequentiellen

Verfahrens keinesfalls unterschritten.

Page 71: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP 51

Die Terminierung von PTS wird durch den so genannten Master, ein zusätzliches

Steuerprogramm, geregelt. Das Parallelverfahren terminiert, wenn entweder alle Prozesse

jeweils alle Suchphasen durchlaufen haben oder wenn der Master feststellt, dass die

vorgegebene Zeitschranke maxTime vom verteilt-parallelen System überschritten wurde. Bei

Beendigung der Suche wird die beste aller durch die gesamte Prozessgruppe ermittelten

Lösungen als Verfahrenslösung ausgegeben.

2.5 Verfahrenstest

Der TSA wurde in C implementiert. Zur Durchführung der Prozesskommunikation wurde

das Datenbanksystem BTRIEVE verwendet. Der Test des TSA umfasst zwei Schritte.

Zunächst wird die Konfiguration des sequentiellen und des parallelen TSA festgelegt. Im

zweiten Schritt wird der TSA mit Containerbeladeverfahren anderer Autoren verglichen. Als

LAN-Workstations standen Intel-Personalcomputer mit einer Taktfrequenz von 2 GHz zur

Verfügung. Nachfolgend werden zunächst die verwendeten Testprobleme charakterisiert,

bevor die Ergebnisse vorgestellt werden.

2.5.1 Verwendete Testinstanzen

Für den Test werden bekannte Referenzprobleme aus der Literatur verwendet. Dabei handelt

es sich um 15 Probleme von LOH und NEE (1992) sowie um 700 Testprobleme von

BISCHOFF und RATCLIFF (1995). Die Probleme von LOH und NEE weisen durchweg einen

schwach heterogenen Kistenvorrat auf. Die Probleme von BISCHOFF und RATCLIFF gliedern

sich in 7 Testfälle mit je 100 Problemen. Bei den 7 Testfällen variiert der Charakter der

Kistenmengen von schwach heterogen bis stark heterogen. Alle Probleme eines Testfalls

besitzen zudem eine konstante Anzahl von Kistentypen.

Die Probleminstanzen beider Gruppen beinhalten eine Orientierungsrestriktion (C1). Um

auch eine Stabilitätsrestriktion (C2) berücksichtigen zu können, wird für jede Instanz ein

zusätzliches Attribut minSupport eingeführt. Es legt den Prozentsatz der Bodenfläche einer

Kiste fest, welcher durch weitere Kisten unterstützt werden muss (falls die Kiste nicht auf

dem Containerboden ruht). Im Verfahrenstest sollen zwei extrem gewählte Werte für die

geforderte minimale Unterstützung von Kisten berücksichtigt werden. Der Wert

minSupport = 55 gewährleistet zumindest, dass ein Abkippen von Kisten vermieden wird.

Page 72: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

52 Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP

Für den Wert minSupport = 100 muss die Grundfläche jeder verstauten Kiste vollständig

unterstützt werden.

2.5.2 Vortests zur Konfigurierung des TSA

Eingegangen wird zunächst auf die Konfiguration des sequentiellen und anschließend des

parallelen TSA.

Durch Experimente von beschränktem Umfang wurde ermittelt, dass für den sequentiellen

TSA eine Gliederung der Suche in sechs Phasen (nPhases = 6) sinnvoll ist. Ferner wurden

für beide vorgesehenen Werte von minSupport jeweils Parametersätze für sechs Suchphasen

bestimmt. Folgende Tabelle 10 enthält die Parametersätze. Die verwendeten Parameter

wurden oben eingehend erläutert. Wie bereits bemerkt, kann bei einem vorgegebenen Wert

von minSupport < 100 dieser Wert für einzelne Suchphasen künstlich erhöht werden, um

eine zusätzliche Diversifikation der Suche zu erreichen. So wurde hier (bei vorgegebenem

Parameter minSupport = 55) in der dritten Suchphase der zugehörige phasenspezifische Wert

phMinSupport auf den Wert 100 erhöht. Für den Parameter nbhDecrease wird

übereinstimmend der Wert 3 verwendet, der eine hohe Lösungsqualität bei akzeptablem

Aufwand gewährleistet. Die Phasen-IDs wurden absteigend nach der erreichbaren

Lösungsgüte vergeben. Die Reihenfolge stimmt mit derjenigen des größten Rechenaufwands

überein.

Tab. 10. Parametersätze für den sequentiellen TSA.

Parametersätze für 6 Phasen des sequentiellen TSA (obere 6 Sätze für minSupport = 55; untere 6 Sätze für minSupport = 100)

Phasen ID

phMin Support

cutEval Mode

arrEval Mode

max Arr

above Arr

nbh Type nIter nbh

Decrease

1 55 0 1 100 1 1 100 3

2 55 0 1 50 1 0 20 3

3 100 0 1 100 0 1 100 3

4 55 0 0 100 0 1 100 3

5 55 1 1 50 1 0 20 3

6 55 1 1 100 1 1 100 3

1 100 0 1 100 1 1 100 3

2 100 0 1 50 1 0 20 3

3 100 0 1 100 0 1 100 3

4 100 0 0 100 0 1 100 3

5 100 0 0 100 1 1 100 3

6 100 0 0 50 0 0 20 3

Page 73: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP 53

Beim parallelen TSA wird die Anzahl der Prozesse nProc auf 4 festgelegt. Die allgemeine

Vorgehensweise bei der Konfiguration wurde bereits erläutert. Einer der vier Prozesse nimmt

nicht an der Kommunikation teil und wird wie der sequentielle TSA mit sechs Phasen

konfiguriert. Für die übrigen drei Prozesse sind jeweils nur vier Phasen vorgesehen, während

der Parameter nbhDecrease (ausgehend von dem Wert 3) nunmehr phasenweise verringert

wird. Die Phasen werden im Übrigen identisch zum sequentiellen TSA ausgelegt.

In Tab. 11 wird angegeben, wie die Parametersätze der Phasen des sequentiellen TSA auf die

kommunizierenden Prozesse verteilt werden.

Tab. 11. Aufteilung der Parametersätze auf drei TSA-Prozesse von PTS.

Konfiguration der kommunizierenden Prozesse des parallelen TSA

Phase Prozess 1 (Phasen-IDs)

Prozess 2 (Phasen-IDs)

Prozess 3 (Phasen-IDs)

erste 1 2 3

zweite 4 5 6

dritte 2 3 4

vierte 5 6 1

Festzulegen bleibt einerseits das Kommunikationsmodell (Ring oder Blackboard). Zu

bestimmen ist andererseits, ob Fremdlösungen von einem Prozess unbedingt oder nur

bedingt, d.h. abhängig von der relativen Lösungsgüte, verarbeitet werden. Aus beiden

Alternativen leiten sich vier Varianten der Konfiguration ab. Vortests ergaben, dass sich die

erreichbare Volumenauslastung im Container nur geringfügig unterscheidet (um maximal

0.2% des Containervolumens). Die beste Variante bildete das Kommunikationsmodell

„Ring“ und die unbedingte Übernahme von Fremdlösungen. Diese wird dem folgenden

Vergleichstest zugrunde gelegt. Als Zeitschranke wird für den sequentiellen und den

parallelen TSA einheitlich maxTime = 600 s. gewählt.

2.5.3 Vergleichstests

Vorab sei bemerkt, dass die Resultate der Vergleichsverfahren stets den angegebenen

Literaturquellen entnommen wurden. Anhand der 15 Probleme von LOH und NEE (1992)

kann der TSA mit den Heuristiken von LOH und NEE (1992), NGOI et al. (1994),

BISCHOFF et al. (1995), BISCHOFF und RATCLIFF (1995) sowie mit den GA von GEHRING und

BORTFELDT (1997) bzw. BORTFELDT und GEHRING (2001) verglichen werden. Tab. 12 gibt

die Ergebnisse des Vergleichstests an. Bemerkt sei, dass LOH und NEE (1992) anstelle der

Page 74: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

54 Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP

Volumenauslastung der Kisten im Container (VU) eine als „Packdichte“ bezeichnete

Auslastungsgröße angeben, die die Volumenauslastung überschätzt (vgl. BISCHOFF und

RATCLIFF, 1995). Je ein Bestwert wird für alle Verfahren gezählt, die den besten bekannten

Auslastungswert für eine Probleminstanz erreicht haben. Ein globales Optimum wird gezählt,

wenn ein Verfahren sämtliche Kisten einer Probleminstanz verstaut hat. Für den

sequentiellen und parallelen TSA wird jeweils minSupport = 100 gewählt. Die beiden letzten

Spalten von Tabelle 12 enthalten die Ergebnisse des im Rahmen dieses Kapitels vorgestellten

Verfahrens.

Tab. 12. Ergebnisse für die 15 Testprobleme von LOH und NEE.

LOH und NEE 1992

NGOI et al. 1994

BISCHOFF et al.

(1995)

BISCHOFF und

RATCLIFF (1995)

GEHRING und

BORTFELDT (1997)

BORTFELDT und

GEHRING (2001)

sequ. TSA PTS

Resultat

Pack-dichte (in %)

VU (in %)

VU (in %)

VU (in %)

VU (in %)

VU (in %)

VU (in %)

VU (in %)

Mittel wert

74.2 69.0 69.5 68.6 70.0 70.1 70.9 70.9

Best werte

11 11 10 11 12 13 15 15

globale Optima

11 11 10 11 12 13 13 13

Zusammengefasst erzielt der TSA für die Probleme von LOH und NEE bessere Ergebnisse als

alle Vergleichsverfahren. Durch die Parallelisierung wird allerdings hier keine Verbesserung

erreicht.

Für die 700 Testprobleme von BISCHOFF und RATCLIFF liegen Ergebnisse für die Heuristiken

von BISCHOFF et al. (1995), BISCHOFF und RATCLIFF (1995) sowie die GA von GEHRING und

BORTFELDT (1997) bzw. BORTFELDT und GEHRING (2001) vor. Sie sind zusammen mit den

Resultaten für den TSA in folgender Tab. 13 zusammengefasst. Für den sequentiellen und

parallelen TSA (PTS) wird hier jeweils minSupport = 55 gewählt. Pro Testfall werden die

Anzahl der Kistentypen sowie die mittlere Kistenanzahl pro Typ für die Probleme des

Testfalls angegeben.

Page 75: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP 55

Tab. 13. Ergebnisse für die 700 Testprobleme von BISCHOFF und RATCLIFF.

BISCHOFF et al.

(1995)

BISCHOFF und

RATCLIFF (1995)

GEHRING und BORTFELDT

(1997)

BORTFELDT und GEHRING

(2001)

sequ. TSA PTS

Testfall

(Anzahl Kistentypen;

mittlere Kistenanzahl

pro Typ)

VU (in %)

VU (in %)

VU (in %)

VU (in %)

VU (in %)

VU (in %)

BR1 (3; 50.1) 81.76 83.79 85.80 87.81 93.23 93.52

BR2 (5; 27.3) 81.70 84.44 87.26 89.40 93.27 93.77

BR3 (8; 16.8) 82.98 83.94 88.10 90.48 92.86 93.58

BR4 (10; 13.3) 82.60 83.71 88.04 90.63 92.40 93.05

BR5 (12; 11.1) 82.76 83.80 87.86 90.73 91.61 92.34

BR6 (15; 8.8) 81.50 82.44 87.85 90.72 90.86 91.72

BR7 (20; 6.5) 80.51 82.01 87.68 90.65 89.65 90.55

Mittelwert 82.0 83.5 87.5 90.1 92.0 92.7

Die Ergebnisse dieses Vergleichstests lassen sich wie folgt zusammenfassen:

• Der sequentielle und der parallele TSA schneiden im Hinblick auf die mittlere

Volumenauslastung deutlich besser ab als alle Vergleichsverfahren. Die

Parallelisierung des TSA bringt im Mittel einen Zuwachs der Auslastung, der bei

0.66% des Containervolumens liegt. Auch bezüglich der Standardabweichungen pro

Testfall erreicht der TSA gute Ergebnisse. Die Standardabweichung der Auslastung

beträgt für alle sieben Testfälle maximal 2.25 % des Containervolumens. Die mittlere

Rechenzeit pro Problem liegt für alle Testfälle stets unter 198 s. und beträgt im Mittel

über alle 700 Probleme 127 s.

• Beim Test aller Vergleichsverfahren wurde eine vollständige Kistenunterstützung

gefordert bzw. realisiert. Im Interesse eines fairen Vergleichs wurde daher ein weiterer

Testlauf für den sequentiellen und den parallelen TSA mit dem Wert minSupport = 100

durchgeführt. Hierbei wurden mittlere Auslastungen von 91.6% für den sequentiellen

TSA und 92.2% für den parallelen TSA (PTS) erzielt. Daraus folgt, dass die Rangfolge

der Verfahren hinsichtlich der Volumenauslastung durch die geforderte

Kistenunterstützung nicht verändert wird. Es verdeutlicht zugleich den möglichen

Zugewinn an Volumenauslastung durch eine abgeschwächte Stabilitätsrestriktion

(C3a). Erwähnt sei allerdings noch, dass das Verfahren von BISCHOFF et al. (1995)

hinsichtlich weiterer Stabilitätskenngrößen bessere Werte als der TSA erreicht. Dies

betrifft etwa die zu maximierende mittlere Anzahl unterstützender Kisten pro verstauter

Kiste.

Page 76: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

56 Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP

• Die erreichten mittleren Auslastungen pro Testfall fallen bei dem TSA von

Testfall 1 bis 7 stetig ab. Der TSA erreicht demnach die besten Auslastungswerte für

schwach heterogene Kistenmengen. Hierfür ist das Design der Basisheuristik

verantwortlich. Die erreichbare Auslastung hängt wesentlich davon ab, ob für eine

Bildung von kompakten und raumsparenden Blöcken in ausreichendem Maße Kisten

gleichen Typs zur Verfügung stehen. Man beachte, dass der für stark heterogene

Kistenvorräte konzipierte GA von BORTFELDT und GEHRING (2001) beim Test ein

komplementäres Verhalten zeigt.

Von Interesse ist die Frage, ob und in welchem Maße die Kommunikation der (drei) Prozesse

von PTS sich auf den Zuwachs an Volumenauslastung gegenüber dem sequentiellen TSA

auswirkt. Daher wurden die Probleme von BISCHOFF und RATCLIFF nochmals mit PTS

berechnet, diesmal allerdings ohne Kommunikation zwischen den Prozessen. Für eine

geforderte Unterstützung von minSupport = 55 ergab sich eine mittlere Auslastung über alle

700 Probleme von 92.5% ohne Kommunikation, gegenüber 92.7% mit Kommunikation. Der

durch die Kommunikation erhoffte synergetische Effekt ist also eher gering.

2.6 Zusammenfassung der Ergebnisse

In diesem Kapitel wurde ein paralleler TSA (PTS) für das Containerbeladeproblem

vorgestellt. Das dreistufige Verfahren verwendet für die Parallelisierung den Ansatz der

kooperativen Autonomie nach TOULOUSE et al. (1996), bei welchem mehrere unabhängige

Instanzen des zugrundeliegenden sequentiellen TSA durch den Austausch von Lösungen

kooperieren.

Der Vergleichstest mit anderen Heuristiken zeigt, dass schon der sequentielle TSA eine sehr

gute Auslastung des Containervolumens erreicht. Diese konnte durch die Parallelisierung

noch leicht verbessert werden. Die Kommunikation zwischen den TSA-Instanzen hat daran

allerdings nur einen geringen Anteil. Ähnliche Ergebnisse liegen bereits vor.

CRAINIC et al. (1995) etwa berichten, dass die besten Resultate bei der Parallelisierung eines

TSA für ein Standortproblem dann erreicht wurden, wenn auf eine Kommunikation der

Prozesse völlig verzichtet wurde.

Bisherige Erfahrung bei der Parallelisierung von Containerbeladeverfahren zeigen, dass die

Parallelisierung eine erfolgversprechende methodische Erweiterung von Lösungsverfahren

Page 77: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 2 : Ein verteilt paralleles Tabu Search-Verfahren für das CLP 57

darstellt. Die Parallelisierung eines Verfahrens kann als sinnvolle Ergänzung in Betracht

gezogen werden, nachdem andere Möglichkeiten der Verbesserung eines (sequentiellen)

Verfahrens „ausgereizt“ wurden. Jedoch ist nur ein begrenzter Zuwachs an Lösungsqualität

zu erwarten.

Es erscheint zudem durchaus möglich, dass ein höherer Qualitätszuwachs durch

Parallelisierung erzielt werden kann, wenn Metaheuristiken verschiedener Typen innerhalb

eines hybriden Parallelverfahrens zum Einsatz gelangen. Hierfür spricht, dass sich

Metaheuristiken verschiedenen Typs bekanntlich im Hinblick auf die Balance zwischen

Exploration und intensiver Erkundung begrenzter Regionen des Suchraumes wesentlich

unterscheiden.

Das folgende Kapitel widmet sich daher der Integration der Suchstrategien Tabu Search und

Simulated Annealing zu einem neuartigen hybriden verteilt-parallelen Ansatz.

Page 78: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

58 Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP

3 Ein parallel-hybrides Local Search-Verfahren für das CLP

3.1 Zielsetzung und Vorgehensweise

In diesem Kapitel soll das Verfahren PTS aus Kapitel 2 zu einem verteilt-parallelen hybriden

Algorithmus erweitert werden. Dies soll in mehreren Schritten geschehen.

• Simulated Annealing soll als Alternative zu Tabu Search eingesetzt werden.

• Beide Suchstrategien (Tabu Search und Simulated Annealing) sollen kombiniert und in

ein so genanntes hybrides Verfahren (HYB) integriert werden.

• Schließlich sollen verteilt-parallele Varianten des Simulated Annealing Algorithmus

(PSA) und des hybriden Verfahrens (PHYB) eingeführt werden.

Folgende Abb. 7 gibt einen Überblick über die verschiedenen Verfahren und ihre

Wechselbeziehungen. Insbesondere wird gezeigt, dass die Module PSA und PHYB aus

ähnlichen Modulen bestehen wie das Verfahren PTS.

Parallel Hybrides Verfahren (PHYB)

Paralleles SA Verfahren(PSA)

Paralleles TS Verfahren(PTS)

Tabu Search(TS)

Simulated Annealing(SA)

Hybrides Verfahren(HYB)

Basisheuristik

Parallel Hybrides Verfahren (PHYB)

Paralleles SA Verfahren(PSA)

Paralleles TS Verfahren(PTS)

Tabu Search(TS)

Simulated Annealing(SA)

Hybrides Verfahren(HYB)

Basisheuristik

Abb. 7. Überblick der Verfahren und ihrer Wechselbeziehungen.

Vorrangiges Ziel der Erweiterungen ist eine Verbesserung der Lösungsqualität. Zusätzlich

sollen folgende methodische Aspekte geklärt werden:

• Die generelle Eignung der Metaheuristiken TS und SA zur Lösung von C&P-

Problemen soll untersucht werden. Die problemspezifischen Komponenten für TS und

SA sind im vorliegenden Fall absolut identisch. Sie sind gegeben durch die

Page 79: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP 59

Basisheuristik und die Nachbarschaftsstrukturen. Somit ist hier ein objektiver Vergleich

der beiden Metaheuristiken anhand der Ergebnisse möglich.

• Nach Möglichkeit sollen Synergieeffekte durch die Kombination der beiden

Suchstrategien zu einem hybriden Konzept genutzt werden.

• Die Vorteilhaftigkeit der Parallelisierung der jeweiligen Suchstrategien (TS, SA und

Hybrid) und des Austauschs erfolgreicher Lösungen zwischen den Suchprozessen

werden untersucht.

TS und SA haben einige Gemeinsamkeiten. Beide Strategien sind verschiedene, bekannte

intelligente Techniken der lokalen Suche. Beide müssen vermeiden, während des

Suchprozesses in lokalen Optima stecken zu bleiben, einem typischen Problem bei

Verbesserungsverfahren wie Hillclimbing-Verfahren. Gemeinsam ist beiden Strategien

ebenfalls die allgemeine Art und Weise ihrer Implementierung. Einerseits sind bestimmte

problemspezifische Vorbereitungen zu treffen bzgl. der Darstellung und Erzeugung von

Lösungen. Außerdem ist eine geeignete Nachbarschaftsstruktur einzuführen. Andererseits

gibt es allgemeine Gesichtspunkte bezüglich der Anpassung und Konfigurierung der

allgemeinen Suchstrategie auf das konkrete Problem. Für eine verständliche Einführung in

die Theorie der Suchstrategien TS und SA sei auf REEVES (1993) bzw. HENDERSON

et al. (2003) verwiesen.

Entsprechend den vorigen Ausführungen ist der Rest des Kapitels wie folgt aufgebaut: in

Abschnitt 3.2 und 3.3 werden die problemspezifischen und die allgemeinen Aspekte des SA-

Ansatzes behandelt. In Kapitel 3.4 werden der TSA und der SAA zu einem hybriden

Verfahren zusammengefasst. Die SA- und Hybrid-Variante werden anschließend in Kapitel

3.5 parallelisiert. In Kapitel 3.6 werden die Resultate umfangreicher numerischer Tests

vorgestellt und ausgewertet. Die Ergebnisse werden schließlich in Abschnitt 3.7

zusammengefasst.

3.2 Problemspezifische Aspekte des Simulated Annealing

Zum Entwurf eines auf Simulated Annealing basierenden Algorithmus müssen einige

Vorentscheidungen zu folgenden problemspezifischen Aspekten bzw. Komponenten

getroffen werden:

Page 80: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

60 Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP

• Der Entwurf eines Basisverfahrens zur Erzeugung einzelner zulässiger Lösungen.

• Die Darstellung zulässiger Lösungen und des gesamten Lösungsraums.

• Die Definition einer Nachbarschaftsstruktur, welche für eine gegebene Lösung die

Menge an zulässigen Nachbarlösungen definiert, welche in einem einzelnen Schritt

erreicht werden können.

• Die Definition einer Zielfunktion zur Bestimmung der Lösungsqualität einer einzelnen

Lösung und zum Vergleich mit konkurrierenden Lösungen.

Im Folgenden werden diese einzelnen Punkte für das gegebene C&P-Problem behandelt.

Außerdem wird ein Konzept zur Diversifizierung der Suche beschrieben.

3.2.1 Erzeugen einzelner Lösungen für das CLP

Die Basisheuristik des Originalverfahrens PTS aus Kapitel 2.2 soll weitestgehend

beibehalten werden. Sie ist verantwortlich für die Erzeugung einzelner zulässiger Lösungen

und hat sich vor allem bei schwach heterogenen Kistenmengen bewährt. Die Heuristik soll

hier nochmals kurz zusammengefasst werden. Für eine ausführlichere Beschreibung sei auf

Kapitel 2.2 verwiesen.

Die Basisheuristik lädt den Container in mehreren Schritten. In jedem Schritt wird ein so

genannter Packraum mit einer oder mehreren Kisten gefüllt (siehe Abb. 8). Ein Packraum ist

dabei ein leerer quaderförmiger Raum innerhalb des Containers mit gegebener Länge, Breite

und Höhe. Zu Anfang der Heuristik stellt der gesamte Innenraum des Containers den

einzigen Packraum dar.

Beim Befüllen der Packräume kommen ausschließlich Anordnungen einer bestimmten

Struktur zum Einsatz. Diese werden als lokale Anordnungen bezeichnet. Eine lokale

Anordnung besteht aus einem oder zwei so genannten Blöcken, welche neben- oder

übereinander im Packraum angeordnet werden. Jeder Block besteht aus Kisten eines Typs,

welche in einer bestimmten Orientierungsvariante angeordnet sind. Der Innenraum eines

Blocks wird vollständig von Kisten ausgefüllt (Abb. 8). Im Fall von 2-Anordnungen werden

die drei Varianten „neben“, „vor“ oder „über“ betrachtet, gemäß der relativen Lage der

Blöcke zueinander.

Page 81: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP 61

Container

Block 2

Packraum

Lokale Anordnung mit 2 Blöcken ineinem Packraum

Block 1

Block 2

Container

Block 2

Packraum

Lokale Anordnung mit 2 Blöcken ineinem Packraum

Block 1

Block 2

Abb. 8. Komponenten der Basisheuristik: Packraum, lokale AO, Blöcke.

Zu Anordnungen bei überhängenden Packräumen sei ergänzend Folgendes bemerkt. Um die

Stabilität der Ladung sicherzustellen, wird die Stabilitätsbedingung (C3a) aus Kapitel 1.2.4

beachtet. Die Grundfläche einer Kiste muss zu einem bestimmten Prozentsatz phMinSupport

vom Containerboden oder anderen Kisten unterstützt werden. Zumindest muss der

Schwerpunkt (Massenmittelpunkt) einer Kiste unterstützt werden, um ein Abkippen des

Packstücks zu vermeiden. Es wird dabei vorausgesetzt, dass der geometrische Mittelpunkt

und der Schwerpunkt der Kiste übereinstimmen. Um zuverlässig instabile Kistenstapel zu

vermeiden, wird zudem gefordert, dass der unterstützte Teil einer Kiste im Bezug zu der vom

Containerboden unterstützten Fläche berechnet wird. In folgender Abb. 9 ist der

Schwerpunkt von Kiste A nicht durch den Containerboden unterstützt, obwohl dieser durch

die direkt unterhalb liegende Kiste gestützt wird. In dem Fall wird die Kiste A daher nicht

verladen. Dies wird dadurch erreicht, dass beim Bilden von Anordnungen in überhängenden

Packräumen sowohl die direkt unterhalb liegende Kistenanordnung als auch die vom

Containerboden unterstützte Fläche dieser Anordnung berücksichtigt werden. Die kleinere

der beiden Flächen bestimmt, wie weit die zu bildende Anordnung maximal überhängen darf.

Für einen gegebenen Packraum werden alle zulässigen Anordnungen testweise erzeugt und

nach verschiedenen Gesichtspunkten bewertet. Bei der Erzeugung der Anordnungen wird die

Orientierungsrestriktion (C1) beachtet (siehe hierzu Kapitel 1.2.4). Die Bewertung der

Alternativen für die in Frage kommenden Anordnungen eines Packraums umfasst das

Restvolumen nach Realisierung der jeweiligen Anordnung, sowie die Möglichkeit der

Erzeugung möglichst erfolgversprechender Nachfolgepackräume aus dem ungenutzten

Page 82: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

62 Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP

Volumen des Packraums. Anschließend wird eine Anordnung ausgewählt und realisiert. Der

nicht genutzte Raum wird in neue quaderförmige Packräume unterteilt und später im

Iterationsprozess analog gefüllt. In jedem Schritt wird der jeweils kleinste verfügbare

Packraum gefüllt. Für eine detailliertere Darstellung sei auf Alg. 1 in Kapitel 2.2 verwiesen.

Schwerpunktder Kiste A

x

z

Schwerpunktder Kiste A

x

z

Abb. 9. Vermeiden instabiler Platzierungen mit Überhang.

Die Stauliste StList enthält die Positionen aller Packräume und die Koordinaten aller

verladenen Kisten innerhalb des entsprechenden Packraums. So beschreibt StList eindeutig

eine vollständige zulässige Lösung.

3.2.2 Darstellung zulässiger Lösungen

Durch den einmaligen Aufruf der Basisheuristik wird eine einzelne Lösung des Problems

erzeugt. Ein Vektor Ps, die so genannte Packsequenz, wird der Basisheuristik übergeben.

Diese steuert den Erzeugungsprozess. Jeder Eintrag in Ps entspricht einem Packraum und

bestimmt die im jeweiligen Packraum zu realisierende Anordnung. Enthält Ps beispielsweise

den Eintrag „2“ an Position 3, so wird die zweitbeste lokale Anordnung für den dritten zu

füllenden Packraum realisiert. Der Transformationsprozess, welcher von der Packsequenz zu

eine zulässigen Lösung führt, wird anhand von Abb. 10 bildlich dargestellt.

Mehrere Transformationsregeln werden eingeführt, um die Eindeutigkeit der Packsequenz

sicherzustellen. Falls die Packsequenz mehr Einträge enthält als die Zahl insgesamt

verfügbarer Packräume, so werden die überzähligen Einträge ignoriert. Stellt sich dagegen

im Laufe der Transformation heraus, dass mehr Packräume entstehen als Einträge in der

Packsequenz vorgesehen sind, so wird der Eintrag „1“ für jeden zusätzlichen Packraum an

die Packsequenz angehängt. So wird sichergestellt, dass in den überzähligen Packräumen die

Page 83: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP 63

jeweils am besten bewertete lokale Anordnung realisiert wird. Ist der Eintrag in der

Packsequenz höher als die Gesamtzahl an möglichen Anordnungen für den jeweiligen

Packraum, so ist der Eintrag zyklisch auszulegen. Da die vorgestellten Packsequenzen

zulässige Lösungen eindeutig bestimmen, können sie zur Definition einer

Nachbarschaftsstruktur herangezogen werden.

{ 13, 2, 7, 9 }Transformation

v = f(s)Evaluation

Packsequenz Ps Zulässige Lösung s Volumenauslastung

Jeder Eintrag in Ps steht füreine bestimmte lokaleAnordnung in einemspezifischen Packraum

{ 13, 2, 7, 9 }Transformation

v = f(s)Evaluation

Packsequenz Ps Zulässige Lösung s Volumenauslastung

Jeder Eintrag in Ps steht füreine bestimmte lokaleAnordnung in einemspezifischen Packraum

Abb. 10. Transformation einer Packsequenz in eine zulässige Lösung.

3.2.3 Nachbarschaftsstruktur

Analog zum ursprünglichen Verfahren PTS aus Kapitel 2 wird zwischen „großer“ und

„kleiner“ Nachbarschaft unterschieden. In beiden Fällen ist eine Lösung als Nachbarlösung

einer anderen Lösung definiert, falls sich beide in genau einer Position der Packsequenz

unterscheiden. An dieser Vektorposition wird dann eine unterschiedliche lokale Anordnung

realisiert (vgl. Kapitel 2.3.2).

Bei der großen Nachbarschaft wird jede Vektorposition bei der Bestimmung von Nachbarn in

Betracht gezogen, während bei der kleinen Nachbarschaft dieser Index für einen gegebenen

Iterationsschritt im Suchverlauf vorgegeben ist. Diese Position wird dann von Iteration zu

Iteration inkrementiert und zyklisch interpretiert. Um zu garantieren, dass mit dem

Algorithmus das Optimum erreichbar ist, muss sichergestellt werden, dass dieses Optimum

von jeder denkbaren Ausgangslösung durch eine Folge von Zügen innerhalb der

Nachbarschaftsstruktur erreichbar ist. Diese so genannte Erreichbarkeitsbedingung ist

offensichtlich durch die oben eingeführte Nachbarschaftsdefinition erfüllt. Im Fall der

kleinen Nachbarschaft bedarf es gegebenenfalls mehrerer Zyklen, bis das Optimum erreicht

werden kann.

Der Nachbarschaftstyp wird durch den Parameter nbhType festgelegt. Beim ursprünglichen

Verfahren PTS wurde ein weiterer Parameter nbhDecrease eingeführt, um die Anzahl der zu

Page 84: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

64 Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP

berechnenden Nachbarlösungen nicht ausufern zu lassen. Der Mindestwert nbhDecrease = 1

entspricht der maximalen Anzahl an Nachbarn.

3.2.4 Zielfunktion

Die Qualität einer Lösung s wird durch die Volumenauslastung der Ladung f(s) bestimmt.

f ist in Prozent des gesamten Containervolumens ausgedrückt. Da eine möglichst hohe

Volumenauslastung angestrebt wird, handelt es sich hier bei f um eine (zu maximierende)

Nutzenfunktion. Alternativ hätte man f als (zu minimierende) Kostenfunktion des

ungenutzten Restvolumens definieren können.

3.2.5 Diversifizierungskonzept

Der Suchprozess ist in mehrere Phasen unterteilt. Zur Diversifizierung der Suche wird für

jede Phase eine spezifische, unabhängige Parameterkonfiguration verwendet. Diese

Parameter sollen kurz skizziert werden. Die Form der lokalen Anordnungen kann durch die

Parameter phMinSupport und aboveArr beeinflusst werden. Die Anzahl der maximal

erzeugten Anordnungen für einen gegebenen Packraum wird durch den Parameter maxArr

begrenzt. Die Bewertungsregeln für lokale Anordnungen werden durch den Parameter

arrEvalMode festgelegt, während cutEvalMode die Regeln zur Erzeugung der

Nachfolgepackräume bestimmt. Für eine detaillierte Beschreibung der fünf Phasenparameter

inklusive des Nachbarschaftsparameters nbhDecrease sei auf Kapitel 2.2.4 verwiesen.

3.3 Generische Aspekte des Simulated Annealing

Simulated Annealing wurde erstmals von METROPOLIS et al. (1953) zur Modellierung des

physikalischen Abkühlungsprozesses eines Festkörpers in einem Wärmebad eingeführt. 1983

wandten KIRKPATRICK et al. (1983) das SA-Paradigma auf kombinatorische Probleme an. SA

ist ein Konzept der lokalen Suche, wobei eine Nachbarlösung von schlechterer

Lösungsqualität mit einer im Lösungsverlauf sukzessive abnehmenden Wahrscheinlichkeit

realisiert wird. Die Wahrscheinlichkeit, eine schlechtere Lösung zu akzeptieren, hängt dabei

im Einzelnen ab von:

• der Verschlechterung der Nutzenfunktion f , sowie

• einem dynamischen Parameter, der so genannten Temperatur t, in Anlehnung an die

ursprüngliche physikalische Problemstellung.

Page 85: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP 65

Alg. 3 zeigt den Grobalgorithmus für die SA-Suchstrategie bei Maximierungsproblemen.

{ Initialisieren } erzeuge eine Ausgangslösung s; setze Bestlösung sbest := s; wähle eine Ausgangstemperatur t:= tStart (tStart > 0); { Anweisungen } repeat repeat wähle eine zufällige Lösung s´ aus der Nachbarschaft N(s); if f(s’) > f(sbest) then sbest := s’; endif ; df := f(s') - f(s); if df > 0 then s := s'; else erzeuge einen Zufallswert x in (0,1); if x < exp( df / t ) then s := s'; endif ; endif ; until solPerTemp Nachbarlösungen für Temperatur t untersucht wurden; reduziere die Temperatur t durch die Funktion r(t) und setze: t:= r(t); until Abbruchkriterium erreicht; Ausgabe von sbest ;

Alg. 3. Simulated Annealing-Algorithmus für ein Maximierungsproblem.

Der Übergang zu Lösungen schlechterer Qualität soll es dem Algorithmus erlauben, lokale

Optima wieder zu verlassen und in bisher unbekannte Regionen des Lösungsraums

vorzudringen. Das stetige Absenken der Akzeptanzwahrscheinlichkeit wird durch die

empirische Feststellung motiviert, dass die Notwendigkeit, ein bislang gefundenes lokales

Optimum zu verlassen, zu Beginn hoch ist und im Verlauf der Suche abnimmt. Die

Konvergenz des Verfahrens gegen eine Optimallösung kann mit Hilfe von Markov-Ketten

bewiesen werden, welche die Folgen von zufällig ermittelten Nachbarn beschreiben (siehe

AARTS und KORST, 1989). Dieser theoretische Beweis ist allerdings für die Praxis eher von

geringem Nutzen, da die sichere Konvergenz zum Optimum voraussetzt, dass die Abkühlung

nur sehr langsam erfolgt, so dass der Algorithmus meist mehr Iterationen benötigt als die

vollständige Enumeration aller Lösungen. Gleichwohl wurde SA in vielen Fragestellungen

erfolgreich implementiert und hat zu guten Ergebnissen bei kurzer Rechenzeit geführt.

Generische Entscheidungen betreffen die Anpassung der allgemeinen Komponenten von SA

an das konkrete Problem. Nachfolgend werden diese allgemeinen Bestandteile auf das

gegebene Packproblem angewendet.

Page 86: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

66 Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP

3.3.1 Ausgangslösung

Die Suche wird mit der Ausgangslösung gestartet, welche durch die Packsequenz {1,1,1,..}

eindeutig bestimmt wird. Für alle zu füllenden Packraum wird demnach jeweils die am

besten bewertete lokale Anordnung ArrList(1) realisiert. Diese so genannte Greedy-Lösung

(greedy = gierig) spielt bei der SA-Suche allerdings keine entscheidende Rolle, da bei

anfangs hohen Temperaturen die Rate der akzeptierten Züge zu minderwertigen Lösungen

hoch ist, so dass diese Anfangslösung sehr schnell wieder verlassen wird.

3.3.2 Zufällige Wahl der Nachbarlösung

Um eine einzelne Iteration durchzuführen und eine weitere Lösung zu berechnen, muss

genau eine Nachbarlösung zufällig gewählt werden. Da eine Lösung eindeutig durch ihren

Packplan beschrieben wird, müssen zwei Entscheidungen bei der Auswahl getroffen werden.

Erstens muss eine abweichende Packplanposition ausgewählt werden. Anschließend muss

der neue Eintrag für diese Position ermittelt werden.

Der Parameter nbhType legt fest, wie die abweichende Packplanposition gewählt werden

soll. Die große Nachbarschaft enthält alle Packpläne mit einem beliebig wählbaren

abweichenden Index ipr. Dieser Index wird aus der Anzahl aller Packplanpositionen

ermittelt. Analog zum ursprünglichen Verfahren PTS wird im Fall der kleinen Nachbarschaft

die abweichende Position nicht zufällig gewählt, sondern in jedem Berechnungsschritt

inkrementiert und zyklisch interpretiert.

Die gewählte Vektorposition entspricht einem bestimmten Packraum. Sei n die Anzahl der

ermittelten lokalen Anordnungen für diesen Packraum, so wird eine ganzzahlige Zufallszahl j

zwischen 1 und n ermittelt. Anschließend wird die j-te lokale Anordnung in diesem

Packraum realisiert. Die neue Packsequenz s' wird dann in eine zulässige Lösung umgeformt,

um die Volumenauslastung f(s') zu ermitteln und mit dem Wert f(s) der zuvor betrachteten

Lösung s zu vergleichen.

Die Beschränkung des Nachbarschaftsumfangs durch den Parameter nbhDecrease, welche

ursprünglich eingeführt wurde um den Suchaufwand in Grenzen zu halten, ist im Fall von SA

nicht sinnvoll. In der Tat wird jeweils nur ein einzelner Nachbar in jeder Iteration betrachtet.

Deswegen kann nbhDecrease im vorliegenden Fall des SA auf den minimalen Wert 1 gesetzt

werden.

Page 87: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP 67

3.3.3 Akzeptieren von Nachbarlösungen

Da die gewählte Lösung nach dem vorher beschriebenen Grobalgorithmus (in Alg. 3)

entweder akzeptiert oder verworfen werden kann, soll nun auf die Berechnung der

Akzeptanzwahrscheinlichkeit eingegangen werden.

Die Akzeptanzwahrscheinlichkeit p wird hier definiert durch p = exp(1000*df/t), wobei t den

Temperaturparameter und df die Differenz der relativen Volumenauslastung der Ladungen in

Ausgangs- und Nachbarlösung bezeichnet. Beide Auslastungen sind im Verhältnis zum

Containervolumen in % ausgedrückt, so dass bei einer Verschlechterung der Lösungsqualität

der Wert von df zwangsläufig im Intervall [-100,0] liegt. Wurde beispielsweise eine

Ausgangslösung von f1 = 92% sowie eine zufällige Nachbarlösung mit f2 = 91% ermittelt,

so beträgt die Differenz df = f2 - f1 = –1 und die Akzeptanzwahrscheinlichkeit in diesem Fall

(bei einer gegebenen Temperatur von t = 900) p = exp((-1) · 1000/900) = 33%. Wäre die

Temperatur bereits auf t = 500 gesunken, läge die Wahrscheinlichkeit nur noch bei p = 14%.

Der Koeffizient 1000 in der Definition von p dient ausschließlich dazu, den

Temperaturbereich auf ungefähr 1000 Grad einzugrenzen. Es soll noch einmal darauf

hingewiesen werden, dass Nachbarlösungen mit besserer Lösungsqualität in jedem Fall

akzeptiert werden und p in diesem Fall nicht berechnet wird.

3.3.4 Kühlplan

Ein Kühlplan wird durch folgende Elemente definiert (siehe AARTS und KORST, 1989):

• Eine Funktion r(t) zur sukzessiven Reduzierung der Temperatur t;

• Einen Parameter solPerTemp, welcher die Anzahl der zu ermittelnden Lösungen für

einen gegebenen Wert von t bestimmt, sowie

• Einen Temperaturbereich, welcher durch den Anfangswert tStart und den Endwert

tEnd gegeben wird. tStart ist dabei gleichzeitig der maximale Wert von t, tEnd der

minimale Temperaturwert.

Der Kühlplan ist vor allem gekennzeichnet durch seine Kühlfunktion. In der Literatur findet

man verschiedene Typen von Kühlplänen (vergleiche DOWSLAND, 1993a). Drei Varianten,

nämlich die geometrische, lineare und adaptive Kühlung wurden hier in Betracht gezogen.

Bei der adaptiven Kühlung wird die Temperatur erst gesenkt, nachdem die Zielfunktion sich

innerhalb bestimmter Grenzen (bezüglich des Mittelwerts und der Standardabweichung)

Page 88: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

68 Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP

stabilisiert hat. Allerdings konnte eine ausreichende Stabilisierung der Zielfunktion in der

vorliegenden Adaptation von SA nicht beobachtet werden. Die besten Ergebnisse bei den

Vortests erreichte die geometrische Abkühlung, die zudem bei vielen

Optimierungsproblemen gute Ergebnisse brachte (siehe DOWSLAND, 1993a). Die

Kühlfunktion der zurückbehaltenen geometrischen Kühlung ist gegeben durch r(t) = m* t,

wobei der konstante Koeffizient m exogen im Bereich (0,1) zu wählen ist.

Ein nicht unbeträchtlicher Aufwand wurde getrieben, um herauszufinden, ob es lohnender ist,

den Parameter solPerTemp als konstanten Wert oder als dynamischen Parameter abhängig

von der Temperatur t auszulegen. Da ein Anheben von solPerTemp während des

Abkühlungsprozesses keine höhere Lösungsqualität brachte, wurde hier letztendlich die

einfachere Alternative des konstanten Parameters vorgezogen.

Geeignete Werte für die Kühlparameter m, solPerTemp, tStart und tEnd wurden

experimentell ermittelt. Die Ergebnisse der Vortests werden in Kapitel 3.6.1 näher erläutert.

Die Kühlparameter enthalten implizit die Abbruchkriterien der Suche. Die Gesamtzahl der zu

ermittelnden Lösungen bei der geometrischen Kühlung ist gegeben durch:

nTotalIter = solPerTemp · ln( tEnd/tStart ) / ln(m).

3.3.5 Diversifizierung des Suchprozesses

Wie bereits erwähnt ist die Suche in nPhases Suchphasen unterteilt. Zu Beginn jeder Phase

wird ein Neustart durchgeführt. Jede Phase startet mit der Greedy-Lösung s0 und verwendet

denselben Kühlplan. Zum Zweck einer ausreichenden Diversifizierung wird jede Phase

prinzipiell unterschiedlich ausgelegt. Da es sich bei SA aber um einen stochastischen

Algorithmus handelt, werden selbst bei identisch konfigurierten Phasen im allgemeinen

unterschiedliche Ergebnisse erreicht, da jeder Testlauf seinen individuellen, zufälligen

Suchpfad aufweist. Die respektiven Phasenparameter phMinSupport, aboveArr, maxArr,

arrEvalMode und cutEvalMode wurden im vorangehenden Abschnitt bereits eingehend

beschrieben.

Analog zum TS-Verfahren wird der Abbruch der Suche durch zwei Kriterien bestimmt. Die

Suche wird beendet, nachdem alle nPhases Suchphasen durchlaufen wurden, die

Zeitschranke von maxTime Sekunden überschritten wurde, oder falls eine Optimallösung

Page 89: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP 69

ermittelt wurde, bei der sämtliche Kisten verpackt werden. Das beste Ergebnis aus allen

Phasen bestimmt die ermittelte Gesamtlösung.

3.3.6 Änderungen des Standardmodells von SA

Mehrere Abweichungen vom Standardmodell des SA-Verfahrens wurden untersucht im

Hinblick auf eine bessere Effizienz und Lösungsqualität. Entsprechend den Vorschlägen in

DOWSLAND (1993a) wurden folgende Varianten in Betracht gezogen:

• „Constant temperature annealing“: die Temperatur wird auf einen unveränderlichen

erfolgversprechenden Wert gesetzt. Diese Maßnahme wird durch die Tatsache

motiviert, dass SA oft nur in einem sehr eng begrenzten Temperaturbereich erfolgreich

arbeitet.

• „Geometric reheating“: nachdem eine vorgegebene Anzahl von Nachbarlösungen

aufgrund der tiefen Temperaturen verworfen wurden, kann man annehmen, dass die

Suche in einem lokalen Optimum steckengeblieben ist. Folgerichtig wird die

Temperatur bei der geometrischen Erhitzung wieder angehoben, um das lokale

Optimum wieder verlassen zu können. Alternativ hierzu kann eine spezielle Variante

unterschieden werden, bei der jede akzeptierte Lösung zu einem Absenken der

Temperatur, und jedes Verwerfen einer Nachbarlösung zu einem Anheben der

Temperatur führt. Ein erfolgversprechendes Verhältnis von akzeptierten zu

verworfenen Lösungen soll dabei eingehalten werden.

• Das Ergebnis mehrerer so genannter „Multiple consecutive runs“ (mehrfache

Durchführung desselben Kühlplans) wird verglichen mit einem einzelnen, langsameren

Abkühlprozess bei ansonsten identischem Zeitaufwand. Um diesen Test durchzuführen,

wurde die Gesamtzahl an berechneten Lösungen sowie der Faktor m beibehalten,

während die Parameter solPerTemp und die Anzahl durchgeführter Suchläufe für einen

gegebenen Kühlplan systematisch variiert wurden.

• „Threshold accepting“: in dieser Variante wird das Akzeptieren einer minderwertigen

Lösung prinzipiell ausgeschlossen, falls die Verschlechterung eine gegebene Schranke

(Threshold) überschreitet. Bei Überschreiten dieser Schranke wird der stochastische

Akzeptanzprozess demnach ausgeschaltet.

Page 90: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

70 Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP

Aufwendige Tests wurden durchgeführt, um erfolgversprechende Parameter für jede dieser

Abweichungen vom Standardmodell zu ermitteln. Allerdings war keine der Varianten in der

Lage, die in den Vortests ermittelten Zielfunktionswerte der geometrischen Kühlung zu

überbieten. Deswegen wurden alle diese Varianten am Ende ausgeschlossen. Jedoch kann

nicht ausgeschlossen werden, dass es nicht dennoch gute Parametersets für die vorgestellten

Adaptationen gibt, welche zumindest für einige der betrachteten Testprobleme erfolgreich

funktionieren. Dies gilt insbesondere für die adaptive Kühlvariante. Dies liegt einerseits

daran, dass die Feinabstimmung der Parameter die Lösungsqualität in hohem Maß

beeinflusst, andererseits aber ein extensives Testen aller Parameterkombinationen für eine

repräsentative Anzahl an Problemen äußerst schwierig ist, da ein einzelner Testlauf aufgrund

der Zufallskomponente der Suche nicht ausreicht, um allgemeine Aussagen zuzulassen.

3.4 Hybride lokale Suche

3.4.1 Allgemeine Überlegungen

Eine weitere Gelegenheit für eine Verbesserung der Lösungsqualität könnte in der geeigneten

Kombination der beiden Strategien TS und SA liegen. Diese neue hybride Variante soll die

Vorteile beider Metaheuristiken verbinden bzw. deren Nachteile vermeiden.

Im Fall von SA wird eine Nachbarschaft schnell durch die zufällige Wahl eines einzelnen

Nachbarn wieder verlassen. Deswegen hat SA die Fähigkeit, zumindest bei hohen

Temperaturen sehr schnell die untersuchte Region des Lösungsraums zu wechseln. Aus

demselben Grund riskiert SA, erfolgversprechende Lösungen zu übersehen. Auf der anderen

Seite ist TS in der Lage, die unmittelbare Nachbarschaft einer Ausgangslösung intensiv zu

erforschen, da alle Nachbarn ausnahmslos berechnet werden. Allerdings besteht das Risiko,

dass TS hierdurch sehr viel Zeit verliert. Dies gilt insbesondere, wenn die untersuchte Region

des Suchraums keine optimale (oder nah-optimale) Lösung enthält. Kurz, der hybride Ansatz

sollte sich der verschiedenen Eigenschaften der Suchstrategien bedienen und einen guten

Kompromiss zwischen extensiver und intensiver Suche finden.

DOWSLAND schlägt vor, SA mit anderen Heuristiken zu verbinden, z.B. zum Ermitteln einer

günstigen Ausgangslösung, bevor der Abkühlungsprozess beginnt, oder als Nachbearbeitung

mit dem Ziel, eine mit dem Abkühlungsprozess gefundene Lösung zu verbessern. Eine

Variante, bei der SA eine oder mehrere TS-Phasen vorgeschaltet werden um eine gute

Page 91: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP 71

Startlösung zu finden hat, ist nicht sinnvoll, da nach dem Start des Kühlprozesses bei hohen

Temperaturen die Ausgangslösung schnell zerstört wird, während ein Start bei niedrigen

Temperaturen ein Verlassen der Ausgangslösung verhindert. Dieses unerwünschte Verhalten

wurde experimentell durch die Ermittlung schlechterer Resultate bestätigt.

Aufgrund dieser Überlegungen soll umgekehrt SA zuerst durchgeführt werden, um eine gute

Startlösung für TS zu ermitteln. Die Startlösung wird dann durch eine oder mehrere TS-

Iterationen bearbeitet. Die erste nachgeschaltete TS-Iteration soll sicherstellen, dass

zumindest das der Ausgangslösung am nächsten gelegene lokale Optimum gefunden wird.

Die folgenden TS-Iterationen zielen auf eine intensivere Untersuchung des Lösungsraums in

der Nachbarschaft der Ausgangslösung ab.

3.4.2 Hybrider Ansatz und Diversifizierungskonzept

Die nächste Herausforderung besteht in der Kombination des eben beschriebenen hybriden

Ansatzes mit dem Diversifizierungskonzept der Verfahren SA und TS. Die folgenden

Vereinbarungen behandeln diesen Punkt.

• Innerhalb des hybriden Ansatzes werden SA und TS in unterschiedlichen Phasen mit

spezifischen Parametersätzen angewendet.

• Eine mit SA ermittelte Lösung wird durch eine einzelne TS-Phase mit vorgegebener

Iterationszahl nachbearbeitet mit dem Ziel, die Lösungsqualität zu verbessern.

• In dieser TS-Nachbearbeitungsphase wird die SA-Lösung als Ausgangslösung

verwendet und die Phasenparameter der SA-Lösung werden übernommen. Hierdurch

werden Probleme vermieden, die beim Dekodieren der übernommenen SA-Lösung

vorkommen könnten. Um sicherzustellen, dass alle direkten Nachbarn berechnet

werden, wird zudem nbhDecrase = 1 gesetzt.

Ein zusätzlicher Phasenparameter hybNat wird eingeführt, um verschiedene

Hybridisierungsvarianten zu implementieren, bei welchen sich SA- und TS-Phasen

folgendermaßen abwechseln (vergleiche Abb. 11):

• hybNat = 1: jeweils eine TS-Nachbearbeitungsphase wird jeder SA-Phase

nachgeschaltet. So wird die Umgebung der Bestlösung jeder SA-Phase intensiv

abgesucht.

• hybNat = 2: eine TS-Nachbearbeitungsphase wird einmalig auf die Bestlösung aller

SA-Phasen angewendet.

Page 92: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

72 Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP

Im Beispiel aus Abb. 11 führt das Phasenparameterset 2 zur besten mit Simulated Annealing

berechneten Lösung; folgerichtig wird nur diese Bestlösung bei hybNat = 2 durch eine

TS-Phase bei identischem Phasenparametersatz 2 nachbearbeitet.

Abb. 11 kann ebenfalls entnommen werden, dass die Bearbeitungszeit bei hybNat = 2 im

Vergleich zur Version hybNat = 1 geringer ausfällt, da nur eine einzige TS-Phase berechnet

wird. Auf der anderen Seite kann aber nicht ausgeschlossen werden, dass die Lösungsqualität

durch die Einsparung geringer ist als bei hybNat = 1.

SA1

SA2 SA3

SA1

SA2

SA3

TS1

TS2 TS3

hybNat = 1

hybNat = 2

TS2

Zeit

Zeit

Neustarts

Neustarts

SA1

SA2 SA3

SA1

SA2

SA3

TS1

TS2 TS3

hybNat = 1

hybNat = 2

TS2

Zeit

Zeit

Neustarts

Neustarts

Abb. 11. Zwei Varianten der Hybridisierung.

Der Versuch, eine TS-Phase öfter während des SA-Suchverlaufs zwischenzuschalten,

entweder nach Berechnung einer vorgegebenen Anzahl an Iterationen oder nach einer

bestimmten Anzahl an verworfenen Lösungen, führte zu einer nicht unerheblichen

Verlängerung der Suche ohne erkennbaren Gewinn an Lösungsqualität. Folgerichtig wurde

diese Variante verworfen.

3.5 Parallelisierung

3.5.1 Allgemeine Erörterungen zur Parallelisierung

Nach TOULOUSE et al. (1996) sind folgende drei Typen der Parallelisierung für Algorithmen

aus dem Bereich der kombinatorischen Optimierung besonders geeignet: (1) Parallelisierung

einzelner Operationen der iterativen Suche, (2) Zerlegung und Aufteilung der

Problemstellung oder des Suchbereichs, (3) multiple Suchpfade mit verschiedenen Graden

der Synchronisierung und Kooperation.

Page 93: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP 73

Da im vorliegenden Fall vor allem das Ziel einer Verbesserung der Lösungsqualität im

Vordergrund steht, wurde Ansatz (3) gewählt. Das Containerbeladeproblem wird durch

mehrere Prozesse simultan bearbeitet. Jeder Prozess löst das komplette CLP-Problem mit

einer der oben beschriebenen Verfahrensvarianten (TS, SA oder Hybrid). Jeder dieser

autonomen Prozesse ist einem Arbeitsrechner eines lokalen Netzwerks zugeordnet. Somit

handelt es sich bei dem parallelen Ansatz um ein verteilt-paralleles Verfahren.

Drei parallele Ansätze wurden berücksichtigt und alternativ getestet: paralleles TS (PTS),

paralleles SA (PSA) und parallel-hybrides Verfahren (PHYB). Jede Form der Kombinierung

der Suchstrategien bei der Parallelisierung wurde unterlassen, da es hier darum ging, die

Nettoverbesserung der Parallelisierung für jede der drei Strategien gesondert zu ermitteln

(vgl. Schema in Abb. 7). Zusätzlich hätte das Auffinden einer geeigneten Kombination der

drei Suchstrategien bei der Parallelisierung einen nicht zu unterschätzenden zusätzlichen

Aufwand für die Parametrisierung der Prozesse bedeutet.

3.5.2 Parallelisierungskonzepte für SA-Algorithmen

Die Parallelisierung des TSA wurde ausführlich in Kapitel 2.4 besprochen. Deswegen

beschränken sich die nun folgenden Ausführungen auf die Parallelisierung von SA und der

abgeleiteten hybriden Suchstrategie.

AZENCOTT (1992) schlägt fünf mögliche Wege zur Parallelisierung des allgemeinen SA-

Algorithmus vor. Zwei Grundvarianten, die „simultane unabhängige Suche“ sowie die

„simultane, periodisch interagierende Suche“, sind von Interesse im Hinblick auf die

angestrebte Implementierung von SA. Wie der Name schon sagt, benötigt die unabhängige

Suche mehrere Prozesse, die zu keinem Zeitpunkt des Suchverlaufs Informationen

austauschen. Die Bestlösung wird durch das beste ermittelte Ergebnis aller Prozesse

ermittelt. Im Gegensatz dazu kooperieren simultan, periodisch interagierende Suchprozesse

durch den Austausch ermittelter erfolgversprechender Lösungen, die jeweils vom

Empfängerprozess als Startpunkt für die weitere Suche übernommen werden.

AARTS und KORST (1989) unterscheiden zwei Formen generischer paralleler SAA, alternativ

mit und ohne Kommunikation. Eine Verbesserung der Rechenzeiten stand bei der Arbeit von

AARTS und KORST im Vordergrund. Sie wurde durch eine Aufteilung der seriellen Prozesse

und Zuteilung der Teilaufgaben an verschiedene Rechner erreicht. Dieser Ansatz ist nicht

Page 94: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

74 Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP

geeignet für die hier angestrebte Parallelisierung des oben genannten Typs (3) und wird

folgerichtig nicht weiter verfolgt.

3.5.3 Kommunikation paralleler Instanzen

Das ursprüngliche PTS-Verfahren enthält die Möglichkeit, einzelne Prozesse mittels eines

Austauschs von hochwertigen Lösungen am Ende einer Phase untereinander kommunizieren

zu lassen. Das Weiterreichen von Lösungen sollte es erlauben, die Umgebung

vielversprechender Lösungen intensiver zu untersuchen. Die durch Kommunikation

erreichten Verbesserungen gegenüber der nicht kommunizierenden Variante waren allerdings

nur sehr gering (vgl. entsprechende Ausführungen in Kapitel 2.6).

Für die allgemeinen parallelen vorgestellten SA-Modelle führte AZENCOTT den Beweis, dass

(unter Annahme bestimmter Voraussetzungen für den Kühlplan) nProc periodisch

interagierende Abkühlungsprozesse weniger effizient arbeiten als nProc simultane

unabhängige Abkühlungsschemata. Periodische Interaktion zwischen den nProc Prozessen

sei demnach Zeitverschwendung und sollte besser durch eine einzige Interaktion am Ende

der Rechenzeit ersetzt werden, um die beste Konfiguration zu ermitteln. Experimentelle

Vergleiche zwischen sequentiellen Kühlprozessen und nProc simultanen, kommunizierenden

Prozesse führte GRAFFIGNE (1992) durch. Die Resultate scheinen ebenfalls die Überlegenheit

unabhängiger Prozesse zu bestätigen.

Ungeachtet dieser negativen Prognosen wurde ein nicht unerheblicher Aufwand betrieben,

um kommunizierende Prozesse in einer geeigneten Weise zu konfigurieren. Hierbei wurden

die aus Kapitel 2 bekannten Parallelisierungstechniken eingesetzt:

• Blackboard und Ringmodell wurden alternativ eingesetzt;

• bedingungslose und bedingte Annahme von Fremdlösungen wurden getestet;

• unterschiedliche Konfiguration der Prozesse wurde vorgesehen;

• unterschiedliche Reihenfolgen von SA- und TS-Phasen wurden untersucht;

• eine Reduzierung der Ausgangstemperatur bei den nachgeschalteten Phasen wurde

untersucht.

Die Resultate waren insgesamt enttäuschend, so dass die Idee der kommunizierenden SA-

oder hybriden Instanzen verworfen wurde. Die letztlich implementierte Konfiguration mit

nProc unabhängigen Prozessen kann wie folgt zusammengefasst werden:

Page 95: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP 75

• nProc Instanzen des SA-Verfahrens (bzw. des hybriden Verfahrens) laufen simultan

und unabhängig voneinander ab.

• Die parallele Suche wird beendet, wenn eine der folgenden Bedingungen erfüllt ist: alle

parallelen Prozesse haben ihre Suche beendet, eine vorgegebene Zeitschranke maxTime

wurde erreicht, oder eine global optimale Lösung wurde durch eine der Instanzen

ermittelt (d.h. alle Packstücke wurden verladen, oder die Volumenauslastung beträgt

100%).

• Das Ergebnis der parallelen Suche ergibt sich aus der besten Lösung über alle nProc

Prozesse.

Im Fall von PTS wurden alle parallelen Instanzen unterschiedlich konfiguriert, um eine

gewisse Diversifizierung der Suche sicherzustellen. Im Fall von PSA und PHYB sorgt das

Zufallselement dafür, dass sogar bei vollkommen identisch konfigurierten Prozessen in der

Regel unterschiedliche Ergebnisse erzeugt werden. Der Zufall beeinflusst die Ergebnisse in

folgenden beiden Teilschritten der Suche:

• Die Nachbarlösungen werden zufällig ausgewählt. Da im Laufe der Suche sehr viele

Nachbarlösungen gewählt werden, ist die Wahrscheinlichkeit, dass zwei identisch

konfigurierte Prozesse identische Suchpfade durchlaufen, sehr gering.

• Die Akzeptanz einer Lösung mit niedriger Lösungsqualität ist ebenfalls

zufallsgesteuert.

Die Konfiguration der Testparameter wird im nächsten Kapitel im Detail behandelt.

3.6 Numerische Tests

Die folgenden Tests basieren auf den wohlbekannten Referenzproblemen von BISCHOFF und

RATCLIFF (1995), welche aus 700 in sieben Testfällen zusammengefassten Probleminstanzen

bestehen. Innerhalb eines Testfalls enthalten alle Probleminstanzen eine konstante Anzahl an

unterschiedlichen Kistentypen. Die Natur des Kistenvorrats reicht von schwach heterogen bis

stark heterogen. Alle 700 Probleme von BISCHOFF und RATCLIFF (1995) (BR-Probleme)

beinhalten eine Orientierungsrestriktion. Außerdem wurde ein Stabilitätskoeffizient

phMinSupport = 55% zur Berechnung der Lösungen vorausgesetzt.

Das Testumfeld besteht aus mehreren 2GHz-Intel-PC, welche über ein lokales Netzwerk

(LAN) miteinander verbunden sind. Der Algorithmus wurde in C mit Hilfe von Microsoft

Page 96: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

76 Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP

Visual C++ implementiert. Nachfolgend werden der Vorgang und die Resultate der

Konfigurationstests beschrieben, bevor die verschiedenen Algorithmen (siehe Abb. 7)

miteinander verglichen werden. Anschließend erfolgt ein Vergleich mit den Resultaten

anderer Autoren.

3.6.1 Vortests zur Konfigurierung des Verfahrens

Die Vortests verliefen in mehreren Etappen. Nach der Identifizierung erfolgversprechender

Parametersätze für die Basisheuristik wurden die Kühlparameter bestimmt. Zuletzt wurde die

Konfiguration für die parallelisierten Varianten festgelegt.

Die Phasenparameter für den SA-Algorithmus wurden in stichprobenartigen Testläufen

ermittelt. Diese Parameter beeinflussen den Prozess der Nachbarschaftssuche und können so

Einfluss auf die ermittelte Lösungsqualität nehmen. Es wurden die sechs besten

Phasenparametersätze zurückbehalten, ähnlich wie beim TS-Verfahren (siehe Tab. 14).

Tab. 14. Phasenparametersets für SA und hybride Suche.

Phasen-Id/ Parameter 1 2 3 4 5 6

arrEvalMode 1 1 0 1 1 1

cutEvalMode 0 1 1 0 0 1

maxArr 50 50 50 50 100 100

aboveArr 1 1 1 0 1 1

phMinSupport 55 55 55 100 55 55

nbhType large large large large large large

nbhDecrease 1 1 1 1 1 1

Durch die Auswertung der individuellen Phasenresultate der Vortests war es möglich, den

Effekt einer Reduzierung der Phasenzahl für das parallele SA-Verfahren zu simulieren. Es

stellte sich heraus, dass bereits mit vier Phasen eine Volumenauslastung erreicht werden

konnte, die mit 0.1% nur minimal unter dem Bestwert einer Variante mit 6 Phasen lag, bei

gleichzeitiger Einsparung an Rechenzeit von bis zu 42%. Besonders bei Verwendung von

Parameterset 3, welches eine aufwendigere Bewertung der Nachfolgepackräume beinhaltet,

wurde eine relativ lange Rechenzeit benötigt. Letztlich wurden ausschließlich die

Parametersätze 1, 2, 5 und 6 verwendet und somit nur vier SA-Phasen berechnet.

Die Parametersätze in Tab. 14 unterscheiden sich von den PTS-Datensätzen (aus Kapitel 2)

in mehreren Punkten, vor allem im Bezug auf die Nachbarschaftsparameter. Außerdem

wurde der TS-Algorithmus in 6 anstatt 4 Phasen unterteilt. Das sollte die Vergleichbarkeit

Page 97: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP 77

der Verfahren allerdings nicht in Frage stellen. Einerseits erscheint es vollkommen legitim,

die bestmögliche Konfiguration der entsprechenden Ansätze zu benutzen. Andererseits hilft

die Reduzierung der Anzahl der Suchphasen bei SA, die Rechenzeiten vergleichbar zu

halten.

Als nächstes wird die Abstimmung der Kühlparameter erläutert. Da es schwierig ist, alle

Parameter simultan festzulegen, werden die Parameter zunächst in verschiedenen Kategorien

zusammengefasst.

• Die Parameter m und solPerTemp beeinflussen die Geschwindigkeit der Abkühlung

und werden nachfolgend als „Abkühlparameter“ bezeichnet.

• Die Parameter tStart und tEnd bestimmen den berücksichtigten „Temperaturbereich“.

Jeweils ein Abkühlparameter und ein Temperaturbereichparameter werden auf einen festen

Wert gesetzt. Das Bestimmen geeigneter Parameterwerte beschränkt sich demnach auf die

beiden verbleibenden Variablen solPerTemp (Abkühlparameter) und tEnd

(Temperaturbereich). Als gute Starttemperatur wurden alternativ 900 und 700 Grad

verwendet, wodurch anfangs eine Akzeptanzwahrscheinlichkeit von 33% (bzw. 24%)

erreicht wird, falls der Zielfunktionswert sich um 1% verschlechtert. Ein Kühlkoeffizient

m = 0.999 produzierte gute Resultate in den Validierungstests. Außerdem wurde nun viel

Aufwand betrieben, um geeignete Kombinationen der verbleibenden Parameter solPerTemp

und tEnd zu ermitteln. Dabei wurden Vergleichstests durchgeführt, bei denen die Anzahl an

berechneten Lösungen pro Testlauf nTot jeweils konstant gehalten wurde. Unter den

getesteten Alternativen solPerTemp = 4, 8, 12, 16 erwies sich solPerTemp = 8 als besonders

erfolgversprechend.

Tab. 15. Testparameter zu SA und TS.

Basis Heuristik SA Kühlparameter

Parameter für die nachoptimierende

TS-Phase Serielle Phase

Phasen-Id tStart tEnd m solPer Temp

nbh Type

nbh Decrease

max Iter

Erste 1 700 300 0.999 8 large 1 10

Zweite 2 700 300 0.999 8 large 1 10

Dritte 5 700 300 0.999 8 large 1 10

Vierte 6 700 300 0.999 8 large 1 10

In Bezug auf die Hybridisierung wurde der Typ hybNat = 1 beibehalten. Es werden somit

längere Berechnungszeiten in Kauf genommen (vgl. Abb. 11), da die Verbesserung der

Page 98: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

78 Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP

Lösungsqualität hier im Vordergrund steht. Die Nachbarparameter nbhDecrease und

nbhType für die nachbearbeitenden TS-Phasen werden auf maximale Werte gesetzt, um eine

möglichst intensive Erforschung der Nachbarschaft einer Ausgangslösung sicherzustellen

(vgl. Tab. 15). Die Anzahl an Iterationen maxIter wird auf einen einheitlichen Wert gesetzt.

Die Konfiguration der parallelen Prozesse muss noch festgelegt werden. Da sich während der

Vortests herausstellte, dass sich durch unterschiedliche Konfiguration der parallelen Prozesse

keine erkennbaren Vorteile für die Lösungsqualität ergaben, wurden alle Prozesse eines

Testlaufs jeweils mit identischen Phasen-, Kühl- und TS-Parametern versehen. Die

Parameterwerte wurden unverändert von den seriellen Tests übernommen. Die parallelen

Tests basieren somit jeweils auf vier identisch konfigurierten Instanzen oder Prozessen.

3.6.2 Resultate für alle Varianten der vorgestellten Metaheuristiken

Folgende Tab. 16 fasst die Resultate der umfangreichen Tests zusammen. Alle

Suchstrategien wurden auf die 700 BR-Probleme angewandt.

Tab. 16. Resultate der TS-, SA- und Hybridvarianten für BR-Testinstanzen.

Serielle Variante Parallele Variante par. XL Test

fall Typ-zahl

Mittlere Kisten zahl

pro Typ TS SA HYB PTS PSA PHYB PHYB

XL

BR1 3 50 93.23 93.04 93.26 93.52 93.24 93.41 93.70

BR2 5 27 93.27 93.38 93.56 93.77 93.61 93.82 94.30

BR3 8 17 92.86 93.42 93.71 93.58 93.78 94.02 94.54

BR4 10 13 92.40 92.98 93.30 93.05 93.40 93.68 94.27

BR5 12 11 91.61 92.43 92.78 92.34 92.86 93.18 93.83

BR6 15 9 90.86 91.76 92.20 91.72 92.27 92.64 93.34

BR7 20 7 89.65 90.67 91.20 90.55 91.22 91.68 92.50

Mittel – – 92.00 92.53 92.86 92.70 92.91 93.20 93.7 8

Während die deterministischen TS-Resultate in einem einzigen Testlauf ermittelt wurden,

sind bei SA und bei den hybriden Verfahren mehrere Testläufe notwendig, um repräsentative

Ergebnisse zu erzielen. Die seriellen Resultate in Tab. 16 stellen daher Mittelwerte über 12

Testläufe dar, die parallelen Resultate wurden über drei Testläufe ermittelt. Durch

Zusammenfassen aller durchgeführten Tests konnte ein einzelner Testlauf mit 64 parallelen

Instanzen simuliert werden (PHYB.XL).

Page 99: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP 79

Die Kombination von Parallelisierung und Hybridisierung erzielte die beste Lösungsqualität.

Es fällt auf, dass die Volumenauslastung für Probleminstanzen mit mehr als acht

unterschiedlichen Kistentypen sukzessive abnimmt. Das liegt daran, dass die Basisheuristik

speziell auf Probleme mit schwach heterogenen Kistenmengen zugeschnitten ist.

Die Standardabweichung für jeweils 100 Resultate innerhalb eines Testfalls entspricht 1.34%

für die serielle und 1.28% für die parallele Version des Algorithmus, jeweils gemittelt über

alle 7 Testfälle.

Die mittlere Rechenzeit auf 2GHz-Pentium-PCs entspricht für den seriellen SA 72 s.

(81 s. für die entsprechende parallele Version), während die hybride Suche 205 s.

(222 s. für PHYB) benötigt. Die Rechenzeit für einen parallelen Testlauf ergibt sich dabei

aus der maximalen Rechenzeit der individuellen seriellen Prozesse. Die Resultate aus Tab. 16

werden in Abb. 12 zusammengefasst.

89

90

91

92

93

94

95

BR1 BR2 BR3 BR4 BR5 BR6 BR7

TS

SA

HYB

PTS

PSA

PHYB

PHYB.XL

Abb. 12. Mittlere Volumenauslastung für 7 BR-Testfälle.

Die folgenden Schlussfolgerungen betreffen die erreichte Lösungsqualität, die Rechenzeiten

und die Anzahl der berechneten Lösungen.

Page 100: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

80 Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP

3.6.3 Vergleich zwischen SA und TS

Unter Anwendung der SA-Strategie wurden durchschnittlich bessere Ergebnisse erzielt als

mit TS. Die Verbesserung der Volumenauslastung beträgt im Mittel über 700 Testinstanzen

0.53% des Containervolumens für die serielle und 0.21% für die entsprechende parallele

Variante. Der parallele TSA profitiert zusätzlich von der Möglichkeit kommunizierender

Instanzen im Laufe des Lösungsprozesses, während alle SA-Instanzen unabhängig

voneinander berechnet werden. Die Resultate zeigen außerdem, dass der Unterschied

zwischen SA und TS mit der Komplexität der Problemstellung zugunsten von SA steigt. Hier

zeigt sich der konzeptionelle Vorteil von SA für größere Lösungsräume. Für kleine

Lösungsräume (3-5 Kistentypen) erreicht TS die besseren Ergebnisse, was die Fähigkeit von

TS zur effizienteren Untersuchung kleinerer Lösungsräume unterstreicht.

Die mittlere Rechenzeit von SA liegt deutlich über der von TS. In der Tat benötigt SA

durchschnittlich 2.5-mal so lange, um eine einzelne Packsequenz in eine zulässige Lösung zu

transformieren und die Volumenauslastung zu berechnen. Dies kann durch folgende

entscheidenden Nachteile der SA-Implementierung erklärt werden: TS fasst in jeder Iteration

viele Nachbarlösungen einer Ausgangslösung zusammen, und ist so in der Lage, bestimmte

Teile dieser Ausgangslösung wiederzuverwenden und Redundanzen bei der Berechnung zu

vermeiden. Der zufallsbasierte Berechnungspfad bei SA verhindert diese Maßnahme. So

muss SA jeweils eine Neuinitialisierung der Datenstrukturen durchführen. Außerdem kann

die Basisheuristik im Fall von TS die Berechnung abbrechen, falls feststeht, dass kein neuer

Bestwert erreicht werden kann. Dies ist bei SA nicht möglich, da auch Lösungen schlechterer

Qualität eventuell akzeptiert werden.

Die Gesamtzahl an berechneten Lösungen ist bei SA höher als bei TS. Deswegen sind die

Resultate mit einer gewissen Vorsicht zu interpretieren, um einen fairen Vergleich zwischen

SA und TS nicht zu gefährden. Separate Tests haben jedoch ergeben, dass selbst bei

Synchronisierung der Lösungszahl bei TS und SA immer noch eine Nettoverbesserung von

0.2 - 0.3% des Containervolumens zugunsten von SA besteht, bei ansonsten identischer

Konfigurierung der Phasen. Dies ist bemerkenswert, da in der Literatur TS oft als die

erfolgversprechendere Strategie bewertet wird (vgl. beispielsweise HEINRICI, 1996).

Page 101: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP 81

3.6.4 Hybridisierung und Parallelisierung

Abb. 13 fasst die Nettoverbesserungen, welche sich aus der Hybridisierung und

Parallelisierung im Vergleich zu den „reinen“ Suchstrategien ergeben, zusammen. Die Werte

wurden über alle 700 Testprobleme von BISCHOFF und RATCLIFF ermittelt und werden in %

des Containervolumens angegeben.

TS (92.00%)

PTS (92.70%)

HYB (92.86%)

PHYB (93.20%) PSA (92.91%)

SA (92.53%)Par

alle

lisie

rung

+0.86% +0.33%

+0.70% +0.34% +0.38%

TS (92.00%)

PTS (92.70%)

HYB (92.86%)

PHYB (93.20%) PSA (92.91%)

SA (92.53%)Par

alle

lisie

rung

+0.86% +0.33%

+0.70% +0.34% +0.38%

Abb. 13. Verbesserung der Auslastung bei Hybridisierung und Parallelisierung.

Die parallel-hybride Variante erzeugte die besten Resultate. Die isoliert betrachteten Effekte

der Hybridisierung und Parallelisierung sind vergleichbar. Ausgehend von der „reinen“

seriellen Implementierung von SA bringt die Hybridisierung einen Zugewinn von

durchschnittlich 0.33% des Containervolumens, gegenüber 0.38% für die Parallelisierung.

Diese Beobachtung ist ebenfalls gültig bei der Hybridisierung und Parallelisierung von TS

(vgl. Abb.10). Hier entsprechen die Verbesserungen 0.86% bzw. 0.70%.

3.6.5 Vergleich mit den Resultaten anderer Autoren

Die folgende Tab. 17 vergleicht die vorhergehenden Resultate mit den Ergebnissen von

BISCHOFF et al. (1995), BISCHOFF und RATCLIFF (1995) und ELEY (2002). Die detaillierten

Testergebnisse für das Verfahren von ELEY (2002) wurden vom Autor selbst bereitgestellt.

Die Resultate der in diesem Kapitel vorgestellten Metaheuristiken übertreffen die Resultate

anderer Autoren deutlich. Allerdings wird ausschließlich die Volumenauslastung als

Vergleichskriterium herangezogen. Insbesondere werden keine Stabilitätskennzahlen

berücksichtigt. Die Resultate der anderen in Tab. 17 genannten Autoren wurden alle mit

vollständig unterstützten Kisten (minSupport = 100%) ermittelt, während der hier

vorgestellte Algorithmus nur die Voraussetzung minSupport = 55% erfüllt. Nichtsdestotrotz

gilt für die Endresultate, dass über alle verladenen Kisten die Bodenfläche zu 95% unterstützt

ist. Außerdem bleiben die Resultate auch dann noch den anderen Verfahren signifikant

überlegen, wenn minSupport = 100% vorausgesetzt wird. Das Resultat entspricht dann

Page 102: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

82 Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP

92.41% (serielle hybride Variante HYB). Die Rechenzeit bleibt in einem akzeptablen

Rahmen, verglichen mit den Zeiten der Vergleichsverfahren. Bei dem parallelen

Hybridverfahren PHYB beispielsweise liegt die durchschnittliche Rechenzeit knapp

unterhalb von 4 Minuten.

Tab. 17. Vergleich mit den Verfahren anderer Autoren.

MACK , BORTFELDT und GEHRING (2004)

Testfall BISCHOFF

et al. (1995)

BISCHOFF

und RATCLIFF (1995)

ELEY (2002) serielles

HYB PHYB PHYB XL

BR1 81.76 83.79 88.05 93.26 93.41 93.70

BR2 81.70 84.44 88.44 93.56 93.82 94.30

BR3 82.98 83.94 89.23 93.71 94.02 94.54

BR4 82.60 83.71 89.24 93.30 93.68 94.27

BR5 82.76 83.80 88.99 92.78 93.18 93.83

BR6 81.50 82.44 88.91 92.20 92.64 93.34

BR7 80.51 82.01 88.36 91.20 91.68 92.50

Mittel 82.00 83.50 88.75 92.86 93.20 93.78

3.6.6 Anheben der Anzahl an parallelen Prozessoren

Allgemein gilt, dass bei der Parallelisierung die Anzahl der berechneten Lösungen mit der

Anzahl der Prozesse linear steigt und ein größerer Teil des Lösungsraums erforscht wird. Die

Lösungsqualität sollte somit kontinuierlich mit der Anzahl an eingesetzten Prozessen

zunehmen. In Abb. 14 sind die im Rahmen dieser Arbeit empirisch ermittelten Resultate

einer progressiven Anhebung der Parallelinstanzen bzw. parallelen Prozesse

zusammengefasst.

Die angegebenen Werte stellen Mittelwerte über alle 700 Testinstanzen und über fünf

Testläufe dar, welche durch zufällige Kombinierung der durchgeführten Paralleltests mit vier

Prozessen mit je vier Phasen durchgeführt wurden. Die Volumenauslastung nimmt stetig bis

zu einem Maximum von 93.69% mit 44 Prozessoren zu. Alle Prozesse greifen auf die Phasen

von Tab. 14 zurück.

Die Simulation eines Testlaufs mit 64 PCs, welche weitere 20 Instanzen mit je allen sechs

Phasen aus Tab. 14 umfasst, ergibt eine mittlere Auslastung von 93.78%. So konnte das

ungenutzte Containervolumen um durchschnittlich 20% (von 8.0% auf 6.22%) gegenüber der

ursprünglichen seriellen TS-Variante gesenkt werden. Die durchschnittliche Rechenzeit für

diesen Test stieg dabei allerdings auf 596 s. an.

Page 103: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP 83

93.00

93.10

93.20

93.30

93.40

93.50

93.60

93.70

93.80

Anzahl der Prozesse

Vo

lum

enau

slas

tung

(%

)

VU 93.20 93.37 93.46 93.51 93.55 93.59 93.62 93.64 93.66 93.68 93.69

4 8 12 16 20 24 28 32 36 40 44

Abb. 14. Mittlere Volumenauslastung bei Anheben der Prozesszahl.

3.7 Zusammenfassung der Ergebnisse

In diesem Kapitel wurde zunächst ein Simulated Annealing-Algorithmus zur Lösung des

Containerbeladeproblems mit einem einzelnen Container vorgestellt. Der Algorithmus stellt

eine Weiterentwicklung des Tabu Search-Verfahrens aus Kapitel 2 dar. Der SAA wurde zu

einem hybriden metaheuristischen Verfahren ausgebaut, indem die SA-Lösungen mit

mehreren Tabu Search-Iterationen nachbearbeitet wurden. Die Parallelisierung folgt den

Konzepten von TOULOUSE et al. (1996) bzw. AZENCOTT (1992), indem unabhängige

Kühlschemata simultan durchgeführt werden. Kommunikation zwischen den parallelen

Instanzen wurde getestet, führte aber zu eher enttäuschenden Resultaten.

In der hier vorgestellten Anwendung beider Suchstrategien SA und TS war Simulated

Annealing der klare Gewinner, vor allem bei Problemen mit großen Lösungsräumen. Der

Vergleich ist von einem methodischen Standpunkt zulässig, da beide Strategien identische

problemspezifische Komponenten nutzen, nämlich dieselbe Kernheuristik und

Nachbarschaftsdefinition. Andererseits muss festgestellt werden, dass die Einstellung

geeigneter SA-Parameter im Gegensatz zur Konfigurierung von TS sehr zeitaufwendig war.

Hybridisierung hat sich als effektive und sinnvolle Erweiterung von SA und TS erwiesen, da

die Hauptvorteile beider Suchstrategien kombiniert wurden. In der parallelen Version waren

die Verbesserungen der Parallelisierung vergleichbar mit den Effekten der Hybridisierung.

Es stellte sich heraus, dass die Parallelisierung zusätzlich Gelegenheit bot, die Ergebnisse

weiter zu verbessern, insbesondere wenn eine größere Anzahl an Prozessoren genutzt wurde.

Page 104: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

84 Kapitel 3 : Ein parallel-hybrides Local Search-Verfahren für das CLP

Das vorgestellte Verfahren ist einer der ersten SA-Algorithmen für dreidimensionale

Packprobleme. Außerdem wurde bisher selten versucht, einen fairen Vergleich der beiden

Suchstrategien SA und TS durchzuführen. Schließlich konnte die Volumenauslastung für

eine große Anzahl an Standardproblemen erheblich gesteigert werden.

Page 105: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 85

4 Ein Verfahren zum Erzeugen von C&P-Instanzen

4.1 Zielsetzung und Vorgehensweise

Das vorliegende Kapitel stellt ein Verfahren zum Erzeugen von Testinstanzen für

Standardprobleme des Cutting and Packing vor. Die Motivation für die Entwicklung eines

solchen Verfahrens ergibt sich aus mehreren Umständen.

Ein C&P-Algorithmus eignet sich üblicherweise nicht gleichermaßen zur Lösung von

Problemen unterschiedlicher Heterogenität und Größe. Dies wurde beispielsweise im vorigen

Kapitel anhand von sieben Vergleichsverfahren festgestellt (vgl. Abb. 12 in Kapitel 3.6).

Idealerweise werden daher Testreihen verwendet, bei denen die Kistenzahl kontinuierlich

steigt, während bei gegebener Kistenzahl Probleme unterschiedlicher Heterogenitätsgrade

betrachtet werden. Solche Testreihen sind aber selten. Zwar gibt es mit den Problemen von

BISCHOFF und RATCLIFF (1995) 3D-Benchmarkprobleme unterschiedlicher Heterogenität.

Diese haben aber alle eine ähnliche Größe.

Bei den in der Literatur verwendeten Benchmarkinstanzen ist die Optimallösung oft

unbekannt. Der Kistenvorrat besteht meist aus rein zufällig erzeugten Kisten. Dies erschwert

die Einschätzung der Leistungsfähigkeit von Lösungsverfahren, da die Abweichung vom

tatsächlich erreichbaren Zielfunktionswert nur mittels theoretisch berechneter Bounds

abgeschätzt werden kann, die weit vom tatsächlich erreichbaren Auslastungsmaximum liegen

können.

Die verwendeten einfachen Zufallsgeneratoren für Testprobleme führen oft zu wenig

praxistauglichen Packstücken. Es werden meist recht sperrige Kistentypen erzeugt.

Außerdem werden die einzelnen Kistenmaße vielfach unabhängig voneinander erzeugt. So

können Packstücke mit außergewöhnlicher Form entstehen, welche in der betrieblichen

Praxis nur in manchen Geschäftszweigen vorkommen. Bei GENDREAU et al. (2006) etwa

werden Kisten erzeugt, deren Abmessungen zwischen 20 und 60% der Containermaße

betragen. Für weitere Beispiele von zufällig erzeugten Instanzen sei auf Kapitel 1.5

verwiesen.

Der Einfluss von zusätzlichen Nebenbedingungen (bezüglich Stabilität, Gewicht,

Gleichgewicht, Reihenfolgerestriktionen u.s.w.) kann oft nicht untersucht werden, da

Instanzen mit den entsprechenden Restriktionen fehlen.

Page 106: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

86 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

Ein weiterer Kritikpunkt an den verwendeten Benchmarkinstanzen besteht darin, dass die

Probleme nur selten bis zu 1000 Packstücke aufweisen. Findet man noch einzelne Beiträge

im 2D-Bereich zu großen Instanzen, fehlen diese gänzlich für den 3D-Fall. Die Instanzen

sind zudem teilweise Jahrzehnte alt und tragen der Leistung heutiger handelsüblicher PC-

Systeme kaum Rechnung.

In diesem Kapitel 4 soll nun, ausgehend von den eben beschriebenen Schwachstellen

existierender Testinstanzen, das Verfahren CPGH (Cutting and Packing Generator,

Heuristischer Ansatz) entwickelt und vorgestellt werden. CPGH erzeugt Instanzen mit

bekanntem Optimum und prinzipiell beliebiger Problemgröße und Charakteristik für ein

C&P-Problem.

Dargestellt wird das Verfahren zunächst mit dem Problemtyp CLP, wobei u.a. folgende

Termini verwendet werden. Eine Instanz (CLP-Instanz) bezeichnet ein

Containerbeladeproblem, welches durch die Angabe der Containerabmessungen sowie der

Kistenvorratsdaten (Kistenabmessungen, Kistenzahlen und Zusatzbedingungen pro

Kistentyp) eindeutig bestimmt ist. Eine Optimallösung bezeichnet eine zulässige Lösung

einer CLP-Instanz, deren Zielfunktionswert (Volumenauslastung der platzierten Kisten im

Container) maximal ist. Die Optimallösung ist durch die Anordnung der Kisten im Container

eindeutig bestimmt. Das Optimum bezeichnet den erreichten Zielfunktionswert

(Volumenauslastung) der Optimallösung. Im Suchverlauf von CPGH werden i.A. mehrere

Lösungen ermittelt, welche jeweils aus CLP-Instanz und zugeordneter Optimallösung

bestehen. Die beste im Suchverlauf ermittelte Lösung wird als Bestlösung bezeichnet.

Der Rest des Kapitels ist wie folgt gegliedert. In Kapitel 4.2 werden sämtliche Parameter und

die verwendeten Datenstrukturen eingeführt. Nachdem Abschnitt 4.3 einen Überblick über

das Verfahren gibt, erfolgt eine Beschreibung der verwendeten CLP-Basisheuristik zur

Erzeugung einer Ausgangslösung in Kapitel 4.4. In Abschnitt 4.5 wird ein iteratives

Verbesserungsverfahren eingeführt mit dem Ziel, CLP-Instanzen mit komplexerer

Packstruktur zu erzeugen. Der so ermittelten Bestlösung werden mit Hilfe einer einmaligen

Nachbearbeitung zusätzliche Nebenbedingungen hinzugefügt (siehe Abschnitt 4.6). Die

Anpassung von CPGH auf SPP- und BPP-Instanzen beschreiben die Abschnitte 4.7 bzw. 4.8.

Nach der Auswertung numerischen Tests in Abschnitt 4.9 endet das Kapitel mit einer

Zusammenfassung der Ergebnisse in Kapitel 4.10.

Page 107: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 87

4.2 Parameter und Datenstrukturen

Tabelle 18 fasst die Parameter von CPGH für das CLP zusammen. Diese lassen sich in fünf

Gruppen einteilen: (1) Containerdaten, (2) Problemgröße und Heterogenität des

Kistenvorrats, (3) Anforderungen an die Kistentypen, (4) Charakteristik der Optimallösung.

Weitere Suchparameter in Gruppe (5) zielen darauf ab, den Suchaufwand zu beschränken.

Das Hinzufügen von Nebenbedingungen wird erst in Kapitel 4.6.3 behandelt.

Tab. 18. Parameter von CPGH.

Parameter- gruppe

Parameter Beschreibung

C1, C2, C3 Containermaß 1, 2, 3 (bei 2D-Problem: C3 = 1)

LD Loading Direction (Beladerichtung); zulässige Werte für LD: 1,2,3 (1)

Container C VD Vertical Direction (Vertikalachse); zulässige Werte für VD: 1,2,3

[n_min, n_max] Intervall für zulässige Gesamtkistenzahl (2) Problemgröße, Heterogenität [t_min, t_max] Intervall für zulässige Anzahl an Kistentypen

[i_min, i_max] Beschränkung der Kistenzahl eines Typs ( i = items)

[d_min, d_max] Beschränkung der einzelnen Kistenmaße (d = distance)

[v_min, v_max] Beschränkung des Volumens einer einzelnen Kiste (v = volume)

r_max Maximales Verhältnis von größtem zu kleinstem Seitenmaß (r = ratio)

(3) Kistentypen

e_max Maximal akzeptierte Anzahl an Kistentypen, welche nicht sämtliche Voraussetzungen für i, d, v, r erfüllen (e = exceptions); e_max > 0

useNG

Boolean: gibt an, ob Nichtguillotine Schnitte verwendet werden sollen oder nicht: 0 = keine Nichtguillotineschnitte verwenden 1 = mindestens einmal einen Nichtguillotineschnitt verwenden

useLayers verwendetes Beladungsprinzip: 0 = keine Einschränkung 1 = Beladung in orthogonal zu LD liegenden vertikalen Schichten

useCPHI Boolean: gibt an, ob das iterative Verbesserungsverfahren CPHI verwendet werden soll (1) oder nicht (0), siehe Kapitel 4.5

(4) Optimum

VolPct gewünschtes Verhältnis von Kistenvorratsvolumen zu Containervolumen, angegeben in %

maxTr Anzahl der Neustarts. Die Bestlösung ergibt sich aus der bestbewerteten Lösung aller maxTr Versuche.

maxiniTr Maximale Anzahl an Versuchen, innerhalb der Basisheuristik CPHK eine Ausgangslösung zu ermitteln.

maxCPHI maximale Anzahl an aufeinanderfolgenden Aufrufen von CPHI

(5) Suchparameter

maxArr Beschränkung der maximalen Länge der Anordnungsliste

Parametergruppe (1) in Tab. 18 bestimmt die Charakteristik des zu verwendenden

Containers. Im 2D-Fall wird die dritte Containerdimension C3 auf den kleinstmöglichen

Wert 1 gesetzt; alle im Suchverlauf erzeugten Kisten erhalten dann als drittes Seitenmaß

Page 108: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

88 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

ebenfalls 1. Die Beladerichtung (LD) und die Vertikalachse (VD) werden ausschließlich zum

Bestimmen des Packplans und nachträglichen Hinzufügen von Restriktionen benötigt.

Parametergruppe 2 definiert die Problemgröße und den Heterogenitätsgrad des Kistenvorrats.

Um der Heuristik mehr Spielraum bei der Suche nach zulässigen Instanzen zu lassen, können

Kistentypzahl und Kistenzahl als Wertebereich definiert werden (z.B. 900-1000 Kisten).

Parametergruppe 3 bestimmt die Charakteristik der Kisten: Bereiche für zulässige

Kistenlängen, Kistenvolumen und -anzahl sowie die Form der Kisten eines Typs (als

maximales Verhältnis r_max von maximaler Länge zu minimaler Länge) können vorgegeben

werden. Dieser Parameter r_max entspricht dem „item ratio“ in HOPPER und TURTON (2002)

bzw. „aspect ratio“ in WANG und VALENZUELA (2001). Aufgrund der großen Parameterzahl

kann nicht in allen Fällen gewährleistet werden, dass ausschließlich zulässige Kistentypen

ermittelt werden. Ein zusätzlicher Parameter e_max (e steht hier für exceptions) soll daher

das Auffinden einer zulässigen Lösung auch bei enger Parameterwahl erleichtern, indem

ausnahmsweise bis zu e_max Typen zugelassen sind, welche nicht sämtliche Anforderungen

der Gruppe 3 erfüllen. Eine (hier nicht näher beschriebene) Vorabanalyse macht zudem ggf.

auf problematische Parameterkombinationen aufmerksam.

Die Form der Optimallösung bestimmen, neben dem Parameter VolPct, die Boolschen

Parameter useNG, useLayers und useCPHI aus Parametergruppe (4). VolPct gibt das

gewünschte Verhältnis (Kistenvorratsvolumen) / (Containervolumen) vor. Bei useNG = 1

enthält die Optimallösung zwingend mindestens einen Nichtguillotineschnitt. Bei

useLayers = 1 erfolgt die Beladung in vertikalen Schichten. Bei Verwendung von

useCPHI = 1 wird die iterative Verbesserungsheuristik CPHI eingesetzt (siehe Kapitel 4.5).

Wie bereits eingangs erwähnt, besteht eine mit CPGH erzeugte Lösung s aus zwei Teilen.

Einerseits definiert die Kistentypliste TypList zusammen mit den vorgegebenen

Containermaßen (aus Parametergruppe 1 in Tab. 18) die CLP-Instanz. Andererseits liefert

der Packplan von s eine Optimallösung zu der CLP-Instanz. Die Optimallösung beschreibt

das Verstauen der Kisten innerhalb des Containers und ist durch die Listen PrList, ArrList

und TypList eindeutig bestimmt. Die Listenelemente sind in Abb. 15 dargestellt und werden

nun näher erläutert.

Page 109: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 89

Die Kistentypliste (TypList) wird im Suchverlauf erzeugt und enthält zu jedem Kistentyp T

die Maße T.max > T.med > T.min eines Kistenexemplars sowie deren verfügbare Anzahl im

Kistenvorrat (T.n). Jeder Kistentyp erhält zudem eine eindeutige Referenz T.id. Neben

zulässigen Kistentypen, welche sämtliche Bedingungen der Parametergruppe 3 erfüllen, sind

für eine erzeugte Instanz bis zu e_max unzulässige Kistentypen zugelassen. Um solche

unzulässigen Kistentypen von zulässigen zu unterscheiden, wird der Schalter T.valid

eingeführt. TypList enthält neben den in der Optimallösung verwendeten Typen auch solche,

die nur testweise erzeugt wurden und nicht verstaut werden. Letztere sind mit T.status = 0 als

inaktiv gekennzeichnet, alle verwendeten mit T.status = 1. Zusätzliche Eigenschaften für

Kistentypnebenbedingungen werden in Abschnitt 4.6.3 vorgestellt (vgl. Tab. 20 auf S.118).

Packraum prPrList(idPr)

Anordnung A ausArrList

Kistentyp TTypList(idTyp)

idPr idTyp

T.max

T.medT.min

Anzahl = T.n

1 2 3 ..n1

..n2

..n3

A.ov

x1,x2,x3

pr.d1

pr.d2

pr.d3

Packraum prPrList(idPr)

Anordnung A ausArrList

Kistentyp TTypList(idTyp)

idPr idTyp

T.max

T.medT.min

Anzahl = T.n

1 2 3 ..n1

..n2

..n3

A.ov

x1,x2,x3

pr.d1

pr.d2

pr.d3

Abb. 15. Listenelemente von PrList, ArrList und TypList.

Die Packraumliste (PrList) bezeichnet eine Liste von Packräumen. Dabei ist ein Packraum pr

ein leerer, quaderförmiger Raum innerhalb des Containers mit gegebenem Ursprung pr.x1,

pr.x2, pr.x3 und Abmessungen pr.d1, pr.d2, pr.d3. Dieser wird durch verlustfreies

Zerschneiden eines anderen Packraums (des so genannten Mutterpackraums von pr)

gewonnen. Jeder Packraum erhält eine eindeutige Referenz pr.id. Die Variable pr.idparent

verweist auf den Mutterpackraum. Der Mutterpackraum selbst verbleibt nach dem Zerlegen

als inaktives Element in PrList zurück. Ein Packraum (abgekürzt: PR) erhält hierzu analog zu

den Kistentypen einen Status (pr.status). Nur die aktiven Packräume am Ende der Suche

definieren die Bestlösung, die inaktiven PR werden ignoriert. Dieses Prinzip ermöglicht ein

sehr effizientes Verfahren zum Verschmelzen von ungeeigneten Packräumen während des

Suchprozesses (vgl. Punkt 4.4.6). Weitere Eigenschaften eines Packraums betreffen dessen

Füllbarkeit (pr.notyp) sowie das Verbot einer weiteren Unterteilung (pr.nocut). Konnte für

einen Packraum keine Anordnung gefunden werden, so gilt pr.notyp = 1, sonst pr.notyp = 0.

Darf ein Packraum nicht weiter zum Zerlegen verwendet werden, so erhält dieser den Status

Page 110: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

90 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

pr.nocut = 1, sonst 0. Beim Erzeugen eines neuen Packraums pr wird stets pr.status = 1 und

pr.new = 1 gesetzt, alle übrigen Boolschen Parameter werden mit 0 initialisiert.

Die Anordnungsliste (ArrList) beschreibt eine Anordnung von Kisten in einem bestimmten

Packraum. Es kommt dabei ausschließlich eine einfache Ladestruktur der Kisten zum

Einsatz, bei der Kisten eines Typs in identischer räumlicher Orientierung den Packraum

füllen (so genannte 1-Anordnungen, vgl. Kapitel 2.2.1). Ein Element A aus ArrList erhält

folgende Eigenschaften: A.idPr verweist auf den jeweiligen Packraum in PrList, A.idTyp auf

den verwendeten Typ in TypList. Eine Anordnung A aus ArrList ist eindeutig bestimmt durch

die Angabe der verwendeten Orientierungsvariante (A.ov) sowie die Anzahl der verwendeten

Kisten in allen Ausdehnungen der 1-AO: A.n1, A.n2, A.n3. Auch Anordnungen erhalten einen

Status A.status, der die Werte 0 (inaktiv) oder 1 (aktiv) annehmen kann, sowie die

Eigenschaft A.valid, analog zum Zulässigkeitsstatus der Kistentypen. Tab. 19 fasst alle

Eigenschaften der Listenelemente des Verfahrens CPGH nochmals zusammen.

Tab. 19. Eigenschaften der Listenelemente.

Liste Element Eigenschaft Erklärung

T.id eindeutige Referenz des Kistentyps

T.status Status (1 = verwendet, 0 = nicht verwendet)

T.valid Zulässigkeit des Kistentyps (1 = ja, 0 = nein)

T.max, T.med, T.min Abmessungen eines Packstücks des Typs T

TypList T

T.n Anzahl der Packstücke im Kistenvorrat

pr.id eindeutige Referenz des Packraums

pr.idparent Referenz des Mutterpackraums

pr.status Status (1 = aktiv, 0 = nicht aktiv)

pr.x1, pr.x2, pr.x3 Ursprung des Packraums im Container

pr.d1, pr.d2, pr.d3 Abmessungen des Packraums

pr.new Packraum wurde gerade neu erzeugt (1 = ja, 0 = nein)

pr.notyp Füllbarkeit des Packraums (1 = nicht füllbar, 0 = füllbar)

PrList pr

pr.nocut Verbot für einen weiteren Schnitt (1 = ja, 0 = nein)

A.id eindeutige Referenz der Anordnung

A.idTyp Referenz des verwendeten Kistentyps

A.idPr Referenz des verwendeten Packraums

A.status aktueller Status (1 = verwendet, 0 = nicht verwendet)

A.valid Zulässigkeit der Anordnung (1 = ja, 0 = nein)

A.ov eingesetzte Orientierungsvariante (0..5)

ArrList A

A.n1, A.n2, A.n3 Anzahl an Kisten in drei Richtungen

Page 111: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 91

4.3 Überblick über das Verfahrens CPGH

Das Verfahren CPGH erzeugt eine Instanz mit bekanntem Optimum für das

Containerbeladeproblem. Dabei werden im Suchverlauf drei Teilverfahren verwendet, die

durch die Module CPHK, CPHI und CPHP gekennzeichnet sind. Die Interaktion dieser

Module, deren Funktion und Resultat verdeutlicht die folgende Darstellung in Abb. 16.

Zunächst erzeugt Modul CPHK (C&P Generator, Heuristik, Konstruktiv) eine möglichst

einfache Instanz durch verlustfreies Zerlegen des Containers in t_min quaderförmige

Packräume und anschließendem Füllen der Packräume. Ein Packraum wird jeweils durch

Kisten eines Typs in identischer räumlicher Orientierung verlustfrei gefüllt, wobei jeder

verwendete Kistentyp sich in mindestens einer Abmessung von den übrigen Kistentypen

unterscheidet. CPHK erzeugt somit bereits eine zulässige CLP-Instanz.

Funktions-weise :

Output :

KonstruktiveBasisheuristik

Ausgangslösung

CPHK CPHI CPHPStart End

IterativesVerbesserungs-verfahren

Lösung mit komplexererPackstruktur

Nachbear-beitungder Bestlösung

Bestlösung mitRestriktionen

maxTr runs

maxCPHI runs

Funktions-weise :

Output :

KonstruktiveBasisheuristik

Ausgangslösung

CPHK CPHI CPHPStart End

IterativesVerbesserungs-verfahren

Lösung mit komplexererPackstruktur

Nachbear-beitungder Bestlösung

Bestlösung mitRestriktionen

maxTr runs

maxCPHI runs

Abb. 16. Schematische Darstellung der Teilverfahren von CPGH.

Bei entsprechender Parametrisierung (useCPHI = 1) wird das Modul CPHI (CP-Generator,

Heuristik, Iterativ) maxCPHI Male aufgerufen. Bei jedem Aufruf dieser

Verbesserungsheuristik wird eine Lösung berechnet. Ziel ist es dabei, durch Verschmelzen

und Neuteilen einzelner Packräume der Ausgangslösung eine CLP-Instanz mit verändertem

Kistenvorrat zu bestimmen, dessen Optimallösung eine komplexere Packstruktur aufweist.

Im dritten und letzten Schritt erfolgt schließlich eine einmalige Nachbearbeitung der bisher

ermittelten Bestlösung mit Hilfe des Moduls CPHP (CP Generator, Heuristik, Post

Processing). Neben dem Hinzufügen der Nebenbedingungen aus Abschnitt 1.2.4 werden ggf.

einige Kistentypen angepasst, falls VolPct ≠ 100% gelten soll (vgl. Tab. 18).

Page 112: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

92 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

Alg. 4 beschreibt den Verlauf von CPGH: es werden maxTr Neustarts durchgeführt, die

ermittelte Lösung ergibt sich aus der besten Lösung aus allen maxTr Versuchen. Für jede mit

CPHK ermittelte Ausgangslösung werden maxCPHI Nachbarlösungen mit Hilfe von CPHI

erzeugt.

procedure CPGH( in : Vorgabeparameter; out : Lösung sbest) { Initialisieren }

s:= Ø; sinit:= Ø; sbest:= Ø; f_sbest:= 0; { Anweisungen }

for iTr:= 1 to maxTr do s:= CPHK(); { Schritt 1 : zulässige Ausgangslösung berechnen } if s ≠ Ø then if f(s) > f_sbest then sbest:= s; f_sbest:= f(s); endif ; if useCPHI = 1 then sinit:= s; for jTr:= 1 to maxCPHI do s’:= CPHI(sinit); { Schritt 2: iteratives Verbesserungsverfahren } if s’ ≠ Ø then if s’ zulässig and f(s’) > f_sbest then sbest:= s’; f_sbest:= f(s’); endif ; sinit:= s’; else exit for jTr; endif ; endfor jTr; endif ; endif ; endfor iTr; if sbest ≠ Ø then sbest:= CPHP(sbest); { Schritt 3: Nachbearbeitung der Bestlösung } endif ;

end .

Alg. 4. Grobalgorithmus des Verfahrens CPGH.

Die Zielfunktion f ist wie folgt definiert: f(s):= nPr / nT, wobei nPr die Anzahl der

Packräume, nT die Kistentypzahl von s bezeichnet. f ist ein Indikator für die Komplexität der

erzeugten Packraumstruktur einer Lösung. Wird im Lösungsverlauf von CPGH eine

zulässige Lösung s gefunden, deren Zielfunktionswert den bisherigen maximalen

Zielfunktionswert f_sbest überbietet (f(s) > f_sbest), so wird s als neue Bestlösung

übernommen. Bei Gleichstand (f(s) = f_sbest) greifen mehrere Entscheidungsregeln im Sinne

eines Tiebreakers, welche in Alg. 4 nicht angeführt werden. Es wird dann die Lösung mit den

wenigsten unzulässigen Kistentypen übernommen, bei Gleichstand entscheidet die größere

Anzahl an Kisten.

Page 113: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 93

Nachfolgend werden die Module CPHK (nachfolgend als „Basisheuristik“ bezeichnet), CPHI

(„iteratives Verbesserungsverfahren“) und CPHP („Nachbearbeitung“) näher erläutert.

4.4 Basisheuristik zum Erzeugen einer Ausgangslösung (CPHK)

4.4.1 Module von CPHK

Die Basisheuristik CPHK erzeugt eine zulässige CLP-Instanz und ihre Optimallösung durch

verlustfreies Zersägen des Containers in einzelne Kisten. Eine CLP-Instanz ist zulässig, falls

alle Bedingungen der Parametergruppen 1-4 (außer VolPct) erfüllt sind. Der

Grobalgorithmus in Alg. 5 beschreibt das Vorgehen von CPHK.

procedure CPHK( in : Parameter t_min, t_max, n_min, n_max, useNG, useLayers, maxiniTr, Container C, i_min, i_max, d_min, d_max, v_min, v_max, r_max, e_max;

out : Lösung s ) { Initialisieren }

PrList:= {C}; TypList:= Ø; ArrList:= Ø; s:= Ø; solFound:= 0;

{ Anweisungen } for iTr:= 1 to maxiniTr do rufe CutPr(t_min, useNG, useLayers, PrList); { Packräume ausschneiden } rufe FindAllTypes(PrList, ArrList, TypList, d_min, d_max, i_max); { Kistentypen erzeugen } rufe CheckValid(TypList, ArrList, i_min, i_max, d_min, d_max, v_min, v_max, r_max); rufe FixAllTypes(ArrList, TypList, t_min, t_max, n_min, n_max, e_max); { Typen wählen } sei badPr:= Anzahl aktiver unfüllbarer Packräume pr in PrList mit pr.notyp = 1; sei badT:= Anzahl von PR mit aktiven unzulässigen Kistentypen T.valid = 0; if badPr > 0 or badT > e_max then { keine zulässige Lösung } rufe RemoveAllBads(); else solFound:= 1; exit for ; endif; endfor iTr; if solFound = 1 and TestSol(PrList, TypList, ArrList) = 1 then s:= { PrList, TypList, ArrList }; { zulässige Lösung gefunden } endif ;

end .

Alg. 5. Grobalgorithmus der Basisheuristik CPHK.

Zunächst werden sämtliche Listen initialisiert. PrList enthält als einziges Element den

gesamten Container C mit leerem Mutterpackraum C.idparent = 0. TypList und ArrList sowie

weitere Variablen werden leer initialisiert. In der Hauptschleife von Alg. 5 werden folgende

Teilschritte abgearbeitet. Zunächst werden die aktiven Packräume in PrList sukzessive

„zersägt“, bis insgesamt t_min Packräume vorliegen (Modul CutPr, siehe Punkt 4.4.2).

Anschließend werden testweise für jeden aktiven Packraum sämtliche Anordnungen von

Page 114: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

94 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

Kistentypen erzeugt, welche den Packraum verlustfrei füllen würden (Modul FindAllTypes,

siehe Abschnitt 4.4.3). Die entsprechenden Anordnungen werden in ArrList, die Typen in

TypList gespeichert. Eventuell unzulässige Typen und Anordnungen werden in Teilschritt 3

markiert (Modul CheckValid, siehe Kapitel 4.4.4). Schließlich erfolgt die Auswahl genau

einer Anordnung für jeden aktiven Packraum, so dass die Gesamtkistenzahl möglichst

innerhalb der Vorgaben [n_min, n_max] liegt. Dabei wird möglichst für jeden Packraum ein

anderer Kistentyp und insgesamt weniger als e_max unzulässige Kistentypen verwendet

(Modul FixAllTypes, vgl. Abschnitt 4.4.5).

Die Hauptschleife wird verlassen, falls eine vollständige Zerlegung des Containers vorliegt,

dessen Kistentypen zulässig sind (bis auf maximal e_max Ausnahmen). Gibt es dagegen

noch Packräume, die nicht gefüllt werden konnten (badPr > 0) oder enthält die Auswahl zu

viele unzulässige Typen (badT > e_max), so werden einige Packräume wieder aufgelöst,

indem diese mit benachbarten Packräumen mit Hilfe des Moduls RemoveAllBads (siehe

Abschnitt 4.4.6) verschmolzen und neu geteilt werden. Hierzu wird die Hauptschleife

wiederholt.

Wurde nach maxiniTr Iterationen immer noch keine geeignete Zerlegung des gesamten

Containers gefunden, bricht die Suche ab. Wurde dagegen eine Lösung gefunden, so wird in

TestSol (vgl. Abschnitt 4.4.7) überprüft, ob diese Lösung sämtliche Anforderungen erfüllt.

Ist dies der Fall, so wird die Lösung s zurückgegeben, die durch PrList, TypList und ArrList

eindeutig bestimmt ist. Wurde dagegen keine zulässige Lösung gefunden, wird

s = Ø zurückgegeben.

Zu den einzelnen Teilaufgaben sei ergänzend Folgendes bemerkt. Das Zerschneiden des

Containers in CutPr erfolgt in gewissen Grenzen zufällig. Es wird allerdings stets darauf

geachtet, dass Packräume entstehen, die im späteren Suchverlauf durch zulässige Kistentypen

verlustfrei gefüllt werden können. Ein Packraum wird dabei normalerweise durch einen

Guillotineschnitt in zwei neue quaderförmige Packräume zerlegt. Ausnahmsweise werden

alternative Schnittmuster verwendet (je nach Parameterwert für useNG, useLayers). Dieses

Vorgehen wird später eingehend unter 4.4.2 beschrieben.

FindAllTypes erzeugt ausschließlich passende Anordnungen und Kistentypen für die

einzelnen Packräume. Eine Anordnung wird dabei als „passend“ bezeichnet, falls diese aus

Kisten eines Typs in identischer räumlicher Orientierung besteht, welche den jeweiligen

Packraum verlustfrei füllt. In der Regel werden für einen Packraum viele passende

Page 115: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 95

Anordnungen in ArrList erzeugt, die alternativ eingesetzt werden können. Um ein Ausufern

der Listenlänge zu verhindern, beschränkt ein Parameter maxArr die maximale Anzahl der

berechneten Anordnungen.

FixAllTypes trifft eine Auswahl der Anordnungen in ArrList. Vorrangiges Ziel ist dabei das

Einhalten der geforderten Gesamtkistenzahl nIt der Lösung (n_min < nIt < n_max).

Vorzugsweise werden nur zulässige und nicht bereits in einem anderen Packraum

verwendete Kistentypen gewählt. Es werden höchstens e_max Kistentypen gewählt, welche

nicht sämtliche Anforderungen erfüllen. Die entsprechenden Anordnungen und Typen

werden mit status:= 1 als aktiv markiert, alle anderen mit status:= 0. Diesem Teilverfahren

widmet sich Abschnitt 4.4.4. Nachfolgend werden die einzelnen Module der Basisheuristik

näher beschrieben.

4.4.2 Zerlegen des Containers in Packräume (Modul CutPr)

Modul CutPr zerschneidet sukzessive die Packräume in PrList und fügt neue Packräume in

PrList ein, bis PrList insgesamt eine vorgegebene Anzahl npr kompatibler aktiver Packräume

enthält (vgl. Alg. 6). Bevor der Zerlegevorgang näher beschrieben wird, soll vorab der

Begriff der kompatiblen Packraumlänge bzw. des kompatiblen Packraums eingeführt

werden.

Definition: Eine Packraumlänge L heißt kompatibel, falls gilt:

∈∃d { d_min, d_min + 1,.. , d_max} so dass L ohne Rest durch d teilbar ist.

Dabei bezeichnet Parameter d_min die minimal erlaubte, d_max die maximale erlaubte

Kistenlänge (vgl. Tab. 18). Sei Mc die Menge aller kompatiblen Packraumlängen L, mit

d_min < L < max(C1, C2, C3). Für einen Packraum mit ausschließlich kompatiblen

Packraumlängen aus Mc gilt demnach, dass es mindestens eine 1-AO gibt, welche den

Packraum verlustfrei füllt und dessen Kistentyp die Anforderungen an die Kistenlängen

(d_min, d_max) einhält. Ein solcher Packraum wird analog als „kompatibler Packraum“

bezeichnet. CutPr zielt nun darauf ab, den Container in npr kompatible Packräume zu

zerlegen. Im 2D-Fall gilt die dritte, unbenutzte Seitenlänge per definitionem als kompatibel.

Man beachte, dass ein kompatibler Packraum nicht automatisch auch zu zulässigen

Kistentypen führen muss, da für jeden Kistentyp weitere Bedingungen gelten (z.B. maximale

Kistenzahl, Volumen, Gewicht). Die Verletzung einer Bedingung bewirkt bereits die

Page 116: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

96 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

Unzulässigkeit des kompatiblen Kistentyps. Die Kompatibilität eines Packraums ist insofern

eine notwendige, aber nicht hinreichende Bedingung zum Auffinden zulässiger Kistentypen.

Es sei außerdem erwähnt, dass zum effizienten Ermitteln kompatibler Packraumlängen eine

globale Liste in CPGH vorab einmalig initialisiert wird. Diese gibt für jeden ganzzahligen

Wert x aus {1, 2, .., max(C1,C2,C3)} die maximale Anzahl an zulässigen Kistenlängen an,

welche aneinandergereiht x verlustfrei füllen würden. Sei OKList diese Liste, dann gilt: falls

OKList(x) = 0, so ist x keine kompatible Packraumlänge im obigen Sinne. Bei der Teilung

einer Packraumlänge L in zwei Segmente [0, x] und [x, L] wird darauf geachtet, dass beide

neuen Packraumlängen kompatibel sind im obigen Sinne, so dass gilt: OKList(x) > 0 und

OKList(L - x) > 0. Alg. 6 zeigt nun das iterative Vorgehen von CutPr.

procedure CutPr( in : npr, useNG, useLayers; inout : PrList ) { Initialisieren }

n:= Anzahl aktiver Packräume in PrList; cutType:= 0; cutDir:= 0; cutLen:= Ø; { cutLen = Liste der Schnittpunkte }

{ Anweisungen } for each pr in PrList do pr.nocut:= 0; { alle Packräume dürfen zunächst zerlegt werden } endfor pr; sei nprcut:= n; { Anzahl der aktiven Packräume in PrList mit pr.nocut = 0 } while n < npr and nprcut > 0 do wähle ein (aktives) Element pract aus PrList; { Auswahlproblem 1 } wähle das Schnittmuster cutType aus; { Auswahlproblem 2 } wähle die Schnittrichtung cutDir; { Auswahlproblem 3 } wähle die Schnittpunkte cutLen aus; { Auswahlproblem 4 } if PerformCut(pract, cutType, cutDir, cutLen) = 1 then { Schnitt war erfolgreich } desaktiviere pract in PrList und füge die Nachfolgepackräume in PrList ein; if cutType = 1 then n:= n + 1; { bei Guillotineschnitt } else n:= n + 4; { bei Nichtguillotineschnitt } endif ; else pract.nocut:= 1; { Packraum soll nicht weiter zerlegt werden } endif; setze nprcut:= Anzahl der aktiven Packräume pr in PrList mit pr.nocut = 0; endwhile ;

end .

Alg. 6. Algorithmus von Modul CutPr zum Zerlegen von Packräumen.

Page 117: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 97

In Alg. 6 wird der Status pr.nocut jedes Packraums mit 0 initialisiert. Jeder aktive Packraum

kommt demnach zunächst für eine Zerlegung in Frage. Die Hauptschleife in Modul CutPr

wird wiederholt, bis die Anzahl n aktiver Packräume in PrList die vorgegebene Anzahl npr

erreicht. Ein vorzeitiger Abbruch erfolgt, falls keine aktiven Packräume mehr vorhanden

sind, die für einen weiteren Schnitt in Frage kommen (nprcut = 0). Bei jedem Durchlauf der

Hauptschleife von CutPr gilt es, vier Auswahlprobleme zu lösen, bevor die Zerlegung

erfolgen kann. Diese Teilprobleme sind in folgender Abb. 17 zusammengefasst und werden

nun näher beschrieben.

(1) Wahl eines PRaus PrList

(2) Wahl desSchnittmusters

(3) Wahl derSchnittrichtung

(4) Wahl desSchnittpunkts

G-cut

NG-cut

(1) Wahl eines PRaus PrList

(2) Wahl desSchnittmusters

(3) Wahl derSchnittrichtung

(4) Wahl desSchnittpunkts

G-cut

NG-cut

Abb. 17. Auswahlprobleme bei der Packraumzerlegung mit CutPr.

(1) Die Auswahl des nächsten Packraums aus PrList richtet sich nach folgenden Kriterien.

Vorrangig wird ein Packraum pract gewählt, welcher mindestens eine nichtkompatible

Seitenlänge aufweist. Es stehen nur die aktiven Packräume pr mit pr.nocut = 0 zur Wahl.

Alle inaktiven Packräume in PRList wurden bereits weiter zerlegt oder bereits wieder

verschmolzen und stehen nicht für eine Zerlegung zur Verfügung. Existieren mehrere solche

Packräume mit nichtkompatiblen Seitenlängen, so wird der Packraum mit den meisten

nichtkompatiblen Seiten gewählt. Als Tiebreaker entscheidet das größte Packraumvolumen.

(2) Auswahl des Schnittmusters: In Betracht kommen ausschließlich Guillotineschnitte

(G-cut) und Nichtguillotineschnitte (NG-cut), vgl. Abb. 17 (2). Im ersten Fall werden durch

den Schnitt zwei Nachfolgepackräume, im anderen Fall fünf neue Packräume erzeugt. Nur

falls sämtliche folgenden Bedingungen simultan erfüllt sind, wird ein NG-cut gewählt, sonst

wird immer ein Guillotineschnitt verwendet:

• Die Verwendung von Nichtguillotineschnitten ist vorgeschrieben (useNG = 1).

• Mindestens vier weitere Packräume sollen erzeugt werden (|PrList| + 4 < npr).

• Der Packraum weist mindestens ein kompatibles Seitenmaß auf.

• Der Packraum besitzt ein ausreichendes Mindestvolumen.

Page 118: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

98 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

(3) Wahl der Schnittrichtung: Bei einem G-cut erfolgt der Schnitt orthogonal zu der zu

teilenden Seite. Diese Seite bestimmt daher eindeutig die Schnittrichtung. Vorrangig wird

eine nichtkompatible Seite geteilt. Als Tiebreaker dient die größte Seitenlänge. Ein

Spezialfall stellt die Parameterwahl useLayers = 1 dar. Hierbei erfolgen die ersten minPr / 2

Guillotineschnitte zwingend orthogonal zur Beladerichtung LD. So entsteht später eine

Lösung mit aneinandergereihten Schichten in einer vorbestimmten Folgerichtung.

Bei NG-cuts erfolgen vier orthogonale nicht durchgängige Schnitte, alle schneiden dieselbe

Fläche des Packraums. Beim 2D-Problem besteht daher kein Auswahlproblem der

Schnittrichtung. Im 3D-Fall reicht es aus, die einzige nicht zu schneidende Packraumrichtung

auszuwählen, um die Schnittrichtung eindeutig festzulegen. Für diese Richtung wird stets

diejenige mit der kleinsten kompatiblen Packraumausdehnung gewählt.

(4) Wahl der Schnittpunkte: Es wird darauf geachtet, dass beim Schneiden einer

Packraumlänge L stets kompatible neue Packraumlängen entstehen. Existiert keine solche

Zerlegung x1 + (L – x1) von L mit x1 ∈ Mc und (L – x1) ∈ Mc, so wird möglichst eine

alternative Packraumlänge geschnitten (beim G-cut) oder der Schnitt wird nicht durchgeführt

(beim NG-cut). In dem Fall bleibt die Liste der Schnittpunkte cutLen leer. Existieren mehrere

Alternativen der Zerlegung in kompatible Packraumlängen für einen Packraum pract, so wird

eine Zerlegealternative zufällig gewählt. Diese Zufallskomponente ist durchaus beabsichtigt,

da hierdurch sichergestellt wird, dass bei mehrfachen Aufrufen der maxiniTr - Schleife in

Alg. 5 stets neue Packraumaufteilungen erzeugt werden. Zudem wird es dadurch möglich,

ganze Testreihen unterschiedlicher Instanzen mit gleicher Charakteristik zu erzeugen.

Bei einem NG-cut werden fünf neue Packräume A - E erzeugt, welche durch vier

Schnittpunkte x1 bis x4 eindeutig definiert sind, wie Abb. 18 zeigt. Seien d1, d2, d3 die drei

Ausdehnungen des zu schneidenden Packraums, d3 das (kompatible) orthogonale, nicht

geschnittene Maß. Setze k:= OKList(d3) > 0 im 3D-Fall, k:= 1 im 2D-Fall. k gibt die

maximale Zahl an Kisten an, welche in 1-Anordnungen in Richtung von d3 vorkommen

können.

Page 119: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 99

x1 x2

x4

d1

d2

x3

A

B

C

DE

Schnittrichtung 1

Schnittrichtung 2

x1 x2

x4

d1

d2

x3

A

B

C

DE

Schnittrichtung 1

Schnittrichtung 2

Abb. 18. Schnittpunkte und Nachfolgepackräume beim NG-Schnitt.

Es gelten folgende notwendigen Beziehungen zwischen x1, x2, x3, x4:

(a) x1 > d_min (g) OKList(x2) · OKList(x3) > i_min / k

(b) x2 - x1 > d_min (h) OKList(d1 - x2) · OKList(x4) > i_min / k

(c) d1 - x2 > d_min (i) OKList(d1 - x1) · OKList(d2 – x4) > i_min / k

(d) x3 > d_min (j) OKList(x1) · OKList(d2 - x3) > i_min / k

(e) x4 - x3 > d_min (k) OKList(x2 - x1) · OKList(x4 - x3) > i_min / k

(f) d2 - x4 > d_min

Die Bedingungen (a) bis (f) ergeben sich aus der minimalen Kistenlänge d_min, während (g)

bis (k) die Mindestkistenzahlen pro Typ (i_min) für die Packräume A - E berücksichtigen.

Um cutLen = {x1, x2, x3, x4} zu ermitteln, werden die Punkte x1 bis x4 nacheinander so

gewählt, dass möglichst alle obigen Beschränkungen erfüllt sind. Wurde nach einer gewissen

Anzahl an Versuchen keine gültige Wertekombination gefunden, welche sämtliche

Voraussetzungen (a) - (k) erfüllt, so wird kein NG-cut durchgeführt, sondern ein

Guillotineschnitt.

Die Funktion PerformCut übernimmt das eigentliche Zerlegen des Packraums. Die aus der

Zerlegung hervorgehenden neuen Packräume pr werden mit pr.new = 1 markiert und als

aktive Elemente an PrList angehängt; der Mutterpackraum pract wird desaktiviert. Wurden

dagegen keine Schnittpunkte identifiziert (cutLen = Ø), so erfolgt kein Schnitt; PerformCut

gibt den Wert 0 zurück und pract steht dann nicht weiter zum Zerschneiden zur Verfügung

(pract.nocut = 1). Bei einem erfolgreichen Schnitt gibt PerformCut den Wert 1 zurück.

Page 120: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

100 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

4.4.3 Erzeugen der Kistentypen (Modul FindAllTypes)

Modul FindAllTypes fügt alle denkbaren Kistentypen und 1-Anordnungen für die neu in

PrList erzeugten Packräume pr in TypList und ArrList hinzu (nur Packräume mit pr.new = 1

werden bearbeitet). Dieser Vorgang soll nun für einen Packraum beschrieben werden.

Für jede Packraumausdehnung L von pr werden sämtliche Kistendimensionen aus

{ d_min, d_min+1,.., d_max} identifiziert, welche L verlustfrei teilen. Durch Kombination

dieser Kistenseitenlängen aller Ausdehnungsrichtungen werden anschließend sämtliche

denkbaren Kistentypen gebildet.

Wurde kein einziger Kistentyp gefunden, so erfolgt ein zweiter Durchgang. In diesem

Durchgang wird die Suche ausgeweitet, so dass auch kleinere Kistenseiten als d_min

betrachtet werden. Aus allen Kistentypen werden allerdings nur diejenigen zurückbehalten,

welche die Bedingung bzgl. der maximal erlaubten Kistenzahl pro Typ (vgl. Parameter i_max

in Tab. 18) nicht verletzen. So soll vermieden werden, dass die erzeugten Kisten zu klein

werden. Da im zweiten Durchgang unzulässige Kistentypen entstehen, wird dieser nur

durchgeführt, falls unzulässige Kistentypen grundsätzlich erlaubt sind (e_max > 0).

Alle so erzeugten Kistentypen werden an TypList angehängt, die dem jeweiligen Kistentyp

entsprechende Anordnung in pr wird in ArrList eingefügt. Durch Vorgabe einer maximalen

Anzahl an erzeugten Anordnungen pro Packraum wird ein Ausufern der Listenlängen

verhindert. Nach der Bearbeitung wird pr.new = 0 gesetzt, um sicherzustellen, dass beim

nächsten Aufruf von FindAllTypes keine redundanten Rechenschritte ausgeführt werden.

4.4.4 Zulässigkeitsprüfung (Modul CheckValid)

Man beachte, dass in TypList und ArrList zwar nur passende, aber nicht notwendigerweise

ausschließlich zulässige Kistentypen erzeugt werden. Unzulässige Kistentypen können

beispielsweise entstehen, falls mindestens eine der in FindAllTypes nicht beachteten

Kistentypvorgaben bzgl. Volumen, Kistenzahl und Seitenverhältnis verletzt wird. Modul

CheckValid prüft daher für jeden Kistentyp aus TypList und jede Anordnung aus ArrList die

Zulässigkeit, wie Alg. 7 zeigt.

Bei jedem Kistentyp werden das Einhalten des maximalen Verhältnisses von größter zu

kleinster Kistenlänge sowie die Konformität von Volumen und Seitenlängen getestet. Für

jede Anordnung aus ArrList wird zunächst der Zulässigkeitsstatus des verwendeten

Page 121: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 101

Kistentyps übernommen. Die Zulässigkeit wird dann aber verneint, falls die in der

Anordnung verwendete Kistenzahl die maximale Kistenzahl pro Typ übersteigt oder die

minimale Kistenzahl unterschreitet. Letzteres wird aber nur dann geprüft, falls Kistentypen

nicht in mehreren Anordnungen auftauchen können (d.h. falls das iterative

Verbesserungsverfahren CPHI mit useCPHI = 0 ausgeschaltet ist). Wird CPHI dagegen

verwendet, erfolgt die Überprüfung des Einhaltens von i_min erst später (in Modul TestSol),

wenn feststeht, ob der Kistentyp in mehreren Anordnungen der Lösung verwendet wird.

procedure CheckValid( inout : TypList, ArrList ) { Initialisieren }

r:= 0; v:= 0; n:= 0; { r = ratio, v = volume, n = number } { Anweisungen }

for each T in TypList do r:= T.max / T.min; { im 2D-Fall: r := T.max / T.med } v:= T.max · T.med · T.min; if v > v_min and v < v_max and r < r_max then T.valid:= 1; else T.valid:= 0; endif ; if T.max > d_max or T.min < d_min then T.valid:= 0; endif ; endfor T; for each A in ArrList do sei T der zu A gehörige Kistentyp aus TypList; n:= A.n1 · A.n2 · A.n3; { n ist die für A benötigte Kistenzahl } setze A.valid:= T.valid; { Zulässigkeit für Typ gilt auch für AO } if n > i_max then A.valid := 0; { Kistenzahl zu hoch } endif; if n < i_min and useCPHI = 0 then A.valid := 0; { Kistenzahl zu niedrig } endif; endfor A;

end .

Alg. 7. Modul CheckValid: Zulässigkeitstest von Typen und Anordnungen.

4.4.5 Auswahl der Kistentypen (Modul FixAllTypes)

Modul FixAllTypes trifft nun eine Auswahl aus ArrList, so dass:

• für jeden aktiven Packraum aus PrList genau ein Element aus ArrList gewählt wird;

• die Gesamtkistenzahl der Auswahl innerhalb der Vorgaben [n_min, n_max] liegt;

• möglichst keine Kistentypen doppelt auftauchen;

• die gewählte Anordnung möglichst zulässig ist (A.valid > 0) oder höchstens e_max

Ausnahmen enthält.

FixAllTypes löst das kombinatorische Problem mit einer einfachen Heuristik. ArrList wird

sortiert nach Packraum und aufsteigender Kistenzahl. Für jeden Packraum wird zunächst

Page 122: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

102 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

diejenige Alternative gewählt, welche die benötigte mittlere Kistenzahl, definiert als Quotient

(Anzahl noch zu erzeugender Kisten) / (Anzahl noch freier Packräume), am besten annähert.

Gibt es zulässige und unzulässige Anordnungen für einen Packraum, wird stets eine zulässige

gewählt. Entspricht die Gesamtkistenzahl nach diesem ersten Durchgang nicht den

Vorgaben, werden mehrere Iterationen durchgeführt mit dem Ziel, die Gesamtkistenzahl

nach und nach an den gewünschten Bereich anzunähern. In jeder Iteration wird dazu ein

Packraum ausgewählt und eine alternative Anordnung mit der nächst höheren (bzw. nächst

kleineren) Kistenzahl realisiert. Allerdings wird möglichst keine Anordnung mit einem

bereits verwendeten Kistentyp gewählt. Auf eine detaillierte Beschreibung des Moduls

FixAllTypes wird hier verzichtet.

Es sei darauf hingewiesen, dass nicht auszuschließen ist, dass am Ende von FixAllTypes eine

Lösung vorliegt, bei der die Kistentypanzahl den geforderten Mindestwert nicht erreicht

(weil einzelne Kistentypen in mehreren Packräumen auftauchen). Ist dies der Fall, so wird

ein zusätzlicher Packraum aus dem jeweils größten Packraum ausgeschnitten und gefüllt, bis

die Kistentypzahl der Mindesttypzahl entspricht. Auch kann es vorkommen, dass der

gewünschte Bereich [n_min, n_max] nicht erreicht werden kann und somit die Lösung nicht

zulässig ist. In dem Fall gibt die Basisheuristik den Wert s = Ø zurück (vgl. Alg. 5).

4.4.6 Auflösen unzulässiger Packräume (Modul RemoveAllBads)

Modul RemoveAllBads wird aufgerufen, falls nach dem Zerschneiden und Füllen des

Containers Packräume verbleiben, die nicht gefüllt werden konnten, oder falls noch zu viele

Packräume mit unzulässigen Anordnungen bestehen (vgl. Alg. 5). RemoveAllBads

verschmilzt dazu alle aktiven nicht füllbaren Packräume pr (mit Status pr.notyp = 1) bzw.

Packräume mit unzulässigen Anordnungen A (A.valid = 0) mit den benachbarten Packräumen

zu den ursprünglichen Mutterpackräumen.

Beim anschließenden Durchlaufen der Hauptschleife von CPHK werden erneut Packräume

mit Hilfe des Moduls CutPr erzeugt. Jeder im Suchverlauf erzeugte Packraum verbleibt in

PrList. Wird ein Packraum pr im Suchverlauf weiter unterteilt, so wird dieser desaktiviert

(pr.status = 0). Dies ermöglicht ein sehr effizientes Verschmelzen mit einfachen

Grundoperationen, die nun näher in Alg. 8 und Alg. 9 erläutert werden. Für jeden

aufzulösenden Packraum pr wird das Modul MergePr aufgerufen.

Page 123: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 103

procedure MergePr ( in : pr; inout : PrList ) { Initialisieren }

idpar := pr.idparent; { id des Mutterpackraums von pr } { Anweisungen }

if idpar > 0 then { Mutterpackraum existiert } sei prpar der Mutterpackraum mit Referenz idpar in PrList; rufe RemoveAllChilds(idpar, PrList); { desaktiviere alle Kinderpackräume } setze prpar.status:= 1; { reaktiviere den Mutterpackraum } endif ;

end .

Alg. 8. Modul MergePr: Verschmelzen eines Packraums pr.

Das Desaktivieren aller aktiven innerhalb vom Mutterpackraum prpar liegenden Packräume

erfolgt rekursiv mit Hilfe von RemoveAllChilds aus Alg. 9. Ist einer der Kinderpackräume

bereits inaktiv, da dieser weiter unterteilt wurde, so werden dessen Kinderpackräume

desaktiviert.

procedure RemoveAllChilds ( in : idpar; inout : PrList ) { Anweisungen }

for each pr in PrList do if pr.idparent = idpar then do { direkter Nachfolger von idpar } if pr.status > 0 then pr.status:= 0; { Packraum wird desaktiviert } else { der Nachfolger wurde weiter unterteilt } RemoveAllChilds(pr.id, PrList); { desaktiviere alle Nachfolger von pr } endif ; endif ; endfor ;

end .

Alg. 9. Modul RemoveAllChilds: rekursives Desaktivieren aller Packräume.

Abb. 19 zeigt ein Beispiel für das Zerlegen und Verschmelzen von Packräumen und das

Führen von PrList mit sämtlichen im Suchverlauf erzeugten Packräumen. Am Beispiel von

Packraum 3 in Abb. 19 sieht man, dass dieser weiter in die Packräume 4 und 5 zerlegt wird.

Beide neuen Packräume 4 und 5 sind nach dem Zerlegevorgang aktiv, während der

Mutterpackraum 3 mit status = 0 als inaktiv in PrList verbleibt. Man erkennt ebenso den

Verschmelzungsvorgang am Beispiel der Packräume 6 und 7. Nach dem Verschmelzen sind

die Kinderpackräume 6 und 7 mit status = 0 gekennzeichnet, während der vorher inaktive

Mutterpackraum 5 wieder reaktiviert wurde mit status = 1. Zu jedem Zeitpunkt beschreiben

alle aktiven Elemente aus PrList eine vollständige verlustfreie Zerlegung des Containers.

Page 124: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

104 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

1

2

3

2

45

PrLis tid par stat1 0 1

PrLis tid par stat

3

12

0 0

PrLis tid par stat

5

3

12

4

0 01 11 1

1 11 03 13 1

9 8

6

7

10

11

8 9

10

11

PrLis tid

6

par stat

5

3

12

4

789

1011

0 0

4 14 1

2 12 1

5 15 1

3 03 0

1 01 0

PrLis tid

6

par stat

5

3

12

4

7891011

0 0

4 14 1

2 12 1

5 05 0

3 03 1

1 01 0

5

Mehrfaches Zerschneiden von Packräumen

Verschmelzen von Packraum 6 :

1

2

3

2

45

PrLis tid par stat1 0 1

PrLis tid par stat

3

12

0 0

PrLis tid par stat

5

3

12

4

0 01 11 1

1 11 03 13 1

1

2

3

2

45

PrLis tid par stat1 0 1

PrLis tid par stat

3

12

0 0

PrLis tid par stat

5

3

12

4

0 01 11 1

1 11 03 13 1

9 8

6

7

10

11

8 9

10

11

PrLis tid

6

par stat

5

3

12

4

789

1011

0 0

4 14 1

2 12 1

5 15 1

3 03 0

1 01 0

PrLis tid

6

par stat

5

3

12

4

7891011

0 0

4 14 1

2 12 1

5 05 0

3 03 1

1 01 0

5

9 8

6

7

10

11

8 9

10

11

PrLis tid

6

par stat

5

3

12

4

789

1011

0 0

4 14 1

2 12 1

5 15 1

3 03 0

1 01 0

PrLis tid

6

par stat

5

3

12

4

7891011

0 0

4 14 1

2 12 1

5 05 0

3 03 1

1 01 0

5

Mehrfaches Zerschneiden von Packräumen

Verschmelzen von Packraum 6 :

Abb. 19. Zerschneiden und Verschmelzen von Packräumen in PrList.

4.4.7 Testen der Zulässigkeit einer Lösung (Modul TestSol)

Die aktiven Listenelemente in PrList, ArrList und TypList bilden die Lösung s. Modul

TestSol überprüft, ob s zulässig ist, d.h. ob die CLP-Instanz sämtliche Bedingungen der

Parametergruppe 2, 3 und 4 (außer VolPct) erfüllen. Insbesondere wird geprüft, ob die

Anzahl unzulässiger Kistentypen unterhalb des Schwellenwerts e_max liegt und ob die

Kistentypzahl und die Gesamtkistenzahl zulässig sind.

Das Gesamtvolumen der in s verwendeten Kisten muss dem Containervolumen entsprechen,

der Container also verlustfrei gefüllt sein (VolPct = 100%). Außerdem wird überprüft, ob alle

Kisten fehlerlos (überlappungsfrei und innerhalb der Containergrenzen) platziert wurden.

Eine zulässige Lösung s bildet den Ausgangspunkt für die Verbesserungsheuristik CPHI, die

nun vorgestellt wird.

Page 125: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 105

4.5 Iteratives Verbesserungsverfahren (CPHI)

4.5.1 Module von CPHI

Das Ziel des Verbesserungsansatzes von Modul CPHI besteht darin, eine CLP-Instanz s’ mit

verändertem Kistenvorrat zu bestimmen, deren Lösung eine komplexere Packstruktur

aufweist als die der Ausgangslösung s (vgl. Kapitel 4.3).

Wird in CPHI eine zulässige Lösung s’ mit einem höheren Zielfunktionswert ermittelt, d.h.

falls f(s’) > f(s), so wird s’ als neue Bestlösung akzeptiert. Der Zielfunktionswert

f(s) = nPr / nT ist dabei umso höher, je größer die Packraumanzahl nPr ist, bei gleichzeitig

unveränderter Kistentypzahl nT. Ziel der Verbesserungsheuristik ist daher das mehrfache

Verwenden identischer Kistentypen in möglichst vielen Packräumen. Hintergrund ist die

Überlegung, dass die Ermittlung der Optimallösung umso schwieriger sein dürfte, je mehr

Packräume diese enthält. Die folgende Abb. 20 erläutert die vier Teilschritte der

Verbesserungsheuristik CPHI anhand des 2D-Falls.

1 01 1

10

00

A EA F

FD

CB

Container Packraum

Ausgangslösung s

(enthält 8 Packräume mit 6 Kistentypen A bis F)

Schritt 1:Bewerte die Packräume

(Packräume mit mehrfachverwendeten Kistentypenerhalten eine bessereBewertung)

Schritt 2:Reaktiviere den Mutterpackraum mit der schlechtesten Bewertung

A EA F

F

ReaktivierterMutterpackraum

prpar

Kistentyp

Schritt 3:Teile den Mutterpackraum neu, indem eine geeigneteAnordnung in prpar realisiertwird, die einen Kistentyp der übrigen Packräume verwendet.

A EA F

F

G

E

A EA F

FE

H

Schritt 4: Ergänze die Teillösung zueiner vollständigen Lösung s’

(s’ enthält 9 Packräume und 6 Kistentypen)

I

Vier Teilschritte des Verbesserungsansatzes von

CPHI

1 01 1

10

00

A EA F

FD

CB

Container Packraum

Ausgangslösung s

(enthält 8 Packräume mit 6 Kistentypen A bis F)

Schritt 1:Bewerte die Packräume

(Packräume mit mehrfachverwendeten Kistentypenerhalten eine bessereBewertung)

Schritt 2:Reaktiviere den Mutterpackraum mit der schlechtesten Bewertung

A EA F

F

ReaktivierterMutterpackraum

prpar

Kistentyp

Schritt 3:Teile den Mutterpackraum neu, indem eine geeigneteAnordnung in prpar realisiertwird, die einen Kistentyp der übrigen Packräume verwendet.

A EA F

F

G

E

A EA F

FE

H

Schritt 4: Ergänze die Teillösung zueiner vollständigen Lösung s’

(s’ enthält 9 Packräume und 6 Kistentypen)

I

Vier Teilschritte des Verbesserungsansatzes von

CPHI

Abb. 20. Vorgehensweise des Verbesserungsmoduls CPHI.

Page 126: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

106 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

Das vorige Schema zeigt die jeweils aktiven Packräume im Container. Bekanntlich wird

jeder Packraum verlustfrei mit einer Kistenanordnung gefüllt, welche aus Kisten eines Typs

in identischer räumlicher Orientierung besteht (siehe Kapitel 4.4.3). Zur besseren Übersicht

wird in Abb. 20 stellvertretend für diese Kistenanordnung nur der jeweilige Kistentyp

(A, B, C,..) bzw. dessen Bewertung (0 oder 1) angegeben. Ist ein Packraum zwischenzeitlich

nicht belegt, so wird kein Kistentyp angegeben.

Die Verbesserungsheuristik geht nun wie folgt vor. Zunächst werden die Packräume der

Ausgangslösung s bewertet (Schritt 1 in Schema Abb. 20). Kistentypen, welche in mehreren

Packräumen verwendet werden, erhalten dabei eine bessere Note als solche, die nur in einer

Anordnung vorkommen. Im Beispiel erhalten daher die Packräume mit den (je zweifach

verwendeten) Kistentypen A und F den Wert 1, alle anderen erhalten den Wert 0.

Im folgenden Schritt 2 wird der Mutterpackraum mit der schlechtesten Bewertung reaktiviert,

indem alle in diesem Mutterpackraum enthaltenen aktiven Packräume wieder miteinander

verschmolzen werden. Die Bewertung eines Mutterpackraums berechnet sich dabei aus der

Summe der Benotungen der Packräume, welche im Mutterpackraum enthalten sind. Als

Tiebreaker dient das größte Packraumvolumen.

In Schritt 3 wird der reaktivierte Mutterpackraum prpar einmal neu unterteilt. Die Aufteilung

ergibt sich dabei aus einer bestimmten Kistenanordnung Abest, welche in prpar realisiert wird

und die folgenden drei Eigenschaften aufweist: Abest verwendet einen Kistentyp Tbest, der für

einen der verbliebenen Packräume in Frage kommt (siehe Beispiel: Tbest = E). Außerdem teilt

Abest eine Packraumausdehnung von prpar verlustfrei (in Abb. 20: die Packraumbreite).

Schließlich bilden alle Restdistanzen in prpar (nach Realisieren von Abest) kompatible

Seitenlängen zur Bildung von füllbaren Nachfolgepackräumen in prpar.

Im letzten Schritt 4 wird schließlich die vorliegende Teillösung vervollständigt, indem

weitere Packräume erzeugt und gefüllt werden, bis eine zulässige Lösung s’ entsteht. In

Abb. 20 enthält die zulässige Lösung s’ 9 Packräume, gegenüber nur 8 Packräume der

Ausgangslösung s und bei ansonsten gleichbleibender Kistentypzahl. Lösung s’ wird daher

als neue Bestlösung akzeptiert, da offensichtlich gilt: f(s’) = 9 / 6 > f(s) = 8 / 6.

Ergänzend sei zur Verbesserungsheuristik Folgendes bemerkt. Schritt 1 geht stets von einer

vollständigen Lösung s aus. Die neu erzeugte Packstruktur wird durch die Verschmelzung

und Neuteilung einiger Packräume erreicht. Da deren Packraumstruktur teilweise erhalten

Page 127: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 107

bleibt, werden die beiden Lösungen auch als Nachbarlösungen bezeichnet. Während die

Packraumstrukturen von Nachbarlösungen somit verwandt sind, gilt dies nicht unbedingt für

die verwendeten Kistentypen und Kistenzahlen. Das Ziel der iterativen Suche besteht ja

gerade darin, über eine kompliziertere Packraumaufteilung zu einem anderen Kistenvorrat zu

gelangen, so dass die Ermittlung der Optimallösung bei der Nachbarlösung schwieriger

ausfällt als bei der Ausgangslösung. Daher stehen alle alternativen Kistentypen aus TypList,

welche für die verbleibenden Packräume aus s erzeugt wurden, für die Bestimmung der

Kistentypen der Nachbarlösung s’ zur Wahl1.

Im dargestellten 2D-Fall werden genau zwei Nachfolgepackräume von prpar erzeugt (siehe

Teilschritt 3 in Abb. 20). Im 3D-Fall werden dagegen drei Packräume erzeugt, wie folgende

Erklärungen belegen: wie für den 2D-Fall eingangs beschrieben, wird auch im 3D-Fall eine

Anordnung Abest realisiert, welche eine Packraumausdehnung von prpar vollständig ausfüllt.

Dabei entstehen neben dem Packraum pr0, welcher Abest umfasst, in der Regel zwei weitere

Nachfolgepackräume pr1 und pr2 (vgl. Abb. 21b).

a) Identifizieren aller passendenKistentypen aus TypList

b) Auswahl eines Kistentyps und Anordnung.Letztere definiert die Packraumzerlegung von prpar.

Mutterpackraum prpar

Nachfolge-packraum

Anordnung füllteine Packraumseiteverlustfrei

TypList

pr2

pr1

pr0

a) Identifizieren aller passendenKistentypen aus TypList

b) Auswahl eines Kistentyps und Anordnung.Letztere definiert die Packraumzerlegung von prpar.

Mutterpackraum prpar

Nachfolge-packraum

Anordnung füllteine Packraumseiteverlustfrei

TypList

pr2

pr1

pr0

Abb. 21. Unterteilung des Mutterpackraums prpar im 3D-Fall (Teilschritt 3).

Gibt es mehrere in prpar passende Kistentypen aus TypList (in Abb. 21a grau dargestellt)

bzw. existieren mehrere alternativ in Frage kommenden Anordnungen für den gewählten

Kistentyp in prpar, so erfolgt eine Auswahl nach bestimmten Kriterien, die später (in Kapitel

4.5.3) vorgestellt werden. Wird dagegen kein einziger passender Kistentyp identifiziert, so

1 Abb. 20 stellt insofern einen Spezialfall dar. Der bereits in s verwendete Kistentyp E bestimmt die Zerlegung von prpar (Schritt 3). Im allgemeinen Fall kommt ein alternativer Kistentyp E’ zum Einsatz, der ebenfalls (wie E) aus TypList stammt, der aber im Gegensatz zu E nicht bereits in der Ausgangslösung verwendet wird.

Page 128: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

108 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

wird Schritt 3 übersprungen und die Teillösung wird wie beschrieben in Schritt 4 mit der

abgeänderten Basisheuristik vervollständigt.

Die Teilaufgaben aus Abb. 20 werden mehreren Modulen zugeteilt, die im Grobalgorithmus

von Alg. 10 dargestellt sind. Die bereits vorgestellte rekursive Funktion RemoveAllChilds

übernimmt dabei das Desaktivieren der Kinderpackräume von Mutterpackraum prpar in

Teilschritt 2.

procedure CPHI ( in: Lösung s; out: Nachbarlösung s’ ) { Initialisieren }

sei PrList die Packraumliste von s; sei TypList die Kistentypliste von s; sei ArrList die Liste der Anordnungen von s;

{ Anweisungen } prpar:= SelectParent(PrList, ArrList, TypList); { Schritt 1: bewerte und wähle Mutterpackraum } RemoveAllChilds(prpar, PrList); { Schritt 2: reaktiviere den Mutterpackraum } prpar.status:= 1; SplitParent(prpar, PrList, ArrList, TypList); { Schritt 3: teile einmalig prpar } s’:= FinishSol(PrList, ArrList, TypList); { Schritt 4: vervollständige die Teillösung }

end.

Alg. 10. Grobalgorithmus der iterativen Verfahrenskomponente CPHI.

Bevor die drei neuen Module SelectParent (Teilaufgabe 1), SplitParent (Teilaufgabe 3) und

FinishSol (Teilaufgabe 4) näher beschrieben werden, soll auf den iterativen Aufruf von CPHI

eingegangen werden. In Alg. 4 (siehe S.92) ist ersichtlich, dass CPHI mehrfach aufgerufen

wird, bis keine Nachbarlösung ermittelt werden konnte, höchstens aber erfolgen maxCPHI

Aufrufe. Die am Ende eines Iterationsvorgangs bereitgestellte Lösung wird jeweils als

Ausgangspunkt für den nächsten Iterationsschritt verwendet, unabhängig davon, ob diese

Lösung zulässig oder unzulässig ist. Durch den mehrfachen Aufruf sollen so nach und nach

komplexere Packstrukturen entstehen.

4.5.2 Auswahl eines Mutterpackraums (Modul SelectParent)

Ziel von Modul SelectParent ist es, einen zurzeit inaktiven Mutterpackraum aus PrList zu

ermitteln, dessen (aktive) Kinderpackräume möglichst wenige mehrfach verwendete

Kistentypen aufweisen. Dazu werden zunächst die Eigenschaften pr.score und pr.score2

eines Packraums pr eingeführt und wie folgt definiert.

Der Wert von pr.score gibt an, wie viele aktive Packräume aktuell denselben Kistentyp

verwenden wie Packraum pr. Ist pr nicht mit einer aktiven Anordnung belegt, so wird

pr.score = 0 gesetzt. Die im Beispiel der Abb. 20 (Schritt 2) dargestellten Bewertungen

Page 129: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 109

entsprechen den Werten für pr.score. Wird ein Kistentyp n-mal in einer Lösung verwendet

(d.h. kommt derselbe Kistentyp in n Anordnungen A vor mit A.status = 1), so gilt für die

Bewertung aller entsprechenden Packräume: pr.score = n - 1.

Modul SelectParent berechnet zunächst pr.score für alle aktiven Packräume der

Ausgangslösung s. Anschließend wird für jeden Mutterpackraum prpar eines aktiven

Packraums der Wert von prpar.score2 ermittelt. Dieser berechnet sich aus der Summe über

alle pr.score der in diesem Mutterpackraum enthaltenen Packräume pr. Der von SelectParent

zurückgegebene Packraum prpar entspricht dem Mutterpackraum mit minimalem Wert von

score2. Kommen mehrere Mutterpackräume in Frage (mit identischem Wert für score2), so

entscheidet das größere Packraumvolumen.

Mit der beschriebenen Vorgehensweise soll erreicht werden, dass einerseits die Resultate

(Packraumstrukturen) voriger Aufrufe von CPHI möglichst erhalten bleiben, andererseits ein

möglichst großer Packraum zur Reaktivierung bereitgestellt wird, der in geeigneter Weise

neu unterteilt werden kann. Man beachte, dass der zurückgegebene Packraum prpar nicht

aktiv ist. Die Reaktivierung von prpar erfolgt erst in Schritt 2 von Alg. 10.

4.5.3 Neuzerlegung des Mutterpackraums (Modul SplitParent)

Nachdem der Packraum prpar reaktiviert wurde, zielt das Modul SplitParent nun darauf ab,

eine geeignete einmalige Zerlegung von prpar zu ermitteln. Die Kriterien zur Auswahl von

Schnittrichtung, Schnittpunkt und Schnittmuster unterscheiden sich dabei grundlegend von

der Funktionsweise des in Abschnitt 4.4.2 vorgestellten Moduls CutPr. In CutPr wurde

ausschließlich darauf geachtet, kompatible Packräume auszuschneiden. Die Zielsetzung von

SplitParent ist komplizierter. Ziel ist hier das Zersägen eines vorgegebenen Packraums prpar.

Dabei soll u.a. ein Packraum prnew entstehen, der folgende Eigenschaften aufweist:

(1) Packraum prnew soll verlustfrei mit Hilfe einer Anordnung gefüllt werden, welche einen

Kistentyp Tbest aus der bestehenden Kistentypliste TypList verwendet. Tbest wird demnach

nicht neu erzeugt, sondern existiert bereits und kommt für einen anderen aktiven Packraum

PrList in Frage, füllt diesen also ebenfalls verlustfrei.

(2) Der verbleibende Restraum im Mutterpackraum prpar (gegeben durch prpar \ prnew)

muss außerdem wieder in quaderförmige, kompatible (also füllbare) Packräume teilbar sein.

Die fünf Teilschritte des Moduls zeigt folgender Alg. 11.

Page 130: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

110 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

procedure SplitParent ( in: prpar; inout : PrList, TypList, ArrList ) { Initialisieren } d1:= prpar.d1; d2:= prpar.d2; d3:= prpar.d3; { Packraumabmessungen } ArrListTest:= Ø; { neue AO-Liste leer initialisieren } setze T.score:=0 für jeden Kistentyp T aus TypList; { Kistentypbewertungen initialisieren } { Anweisungen } for each A in ArrList do { Schritt 1: passende Typen identifizieren } sei pr der zu A gehörige Packraum (A.idPr), T der zu A gehörige Kistentyp (A.idTyp); if pr.status = 0 or T.score ≠ 0 or pr.id = prpar.id then continue for; endif; t1:= T.max; t2:= T.med; t3:= T.min; { Abmessungen einer Kiste } if (d1 % t1 = 0) or (d2 % t1 = 0) or (d3 % t1 = 0) or (d1 % t2 = 0) or (d2 % t2 = 0) or (d3 % t2 = 0) or (d1 % t3 = 0) or (d2 % t3 = 0) or (d3 % t3 = 0)

then T.score:= 1; { Kistentyp T passt genau in einer Ausdehnung von prpar } else T.score:= -1; endif ;{ Kistentyp T passt nicht } endfor A;

for each T in TypList do { Schritt 2: Anordnungen testweise bilden } if T.score ≠ 1 then continue for ; endif ; { Kistentyp nicht interessant } bilde sämtliche 1-AO mit Typ T, welche in prpar passen würden und zudem mindestens eine Packraumausdehnung von prpar verlustfrei füllen; füge diese 1-AO in ArrListTest ein; endfor T;

for each A in ArrListTest do { Schritt 3: entferne ungeeignete AO } setze t1, t2, t3:= Abmessungen einer Kiste des Typs A.idTyp in Orientierungsvariante A.ov; setze r1:= d1 – A.n1 · t1; r2:= d2 – A.n2 · t2; r3:= d3 – A.n3 · t3; { Restdistanzen in prpar } setze A.score:= 0; { Defaultwert } if r1 > 0 and OKList(r1) = 0 then A.score:= -1; endif ; if r2 > 0 and OKList(r2) = 0 then A.score:= -1; endif ; if r3 > 0 and OKList(r3) = 0 then A.score:= -1; endif ; if A.score < 0 then entferne A aus ArrListTest; endif ; { mind. 1 nicht-kompatible Restdistanz } endfor A;

if |ArrListTest| > 0 then bewerte alle A und sortiere ArrListTest nach absteigenden A.score; { Schritt 4 } sei Abest:= ArrListTest(1), t1, t2, t3 die Kistenmaße des Typs Abest.idTyp in Variante Abest.ov; sei prnew:= der neue Packraum innerhalb von prpar, gegeben durch: { Schritt 5 } prnew.x1:= prpar.x1; prnew.x2:= prpar.x2; prnew.x3:= prpar.x3; { Referenzecke } prnew.d1:= Abest.n1 · t1; prnew.d2:= Abest.n2 · t2; prnew.d3:= Abest.n3 · t3; { Seitenmaße } füge prnew und die Nachfolgepackräume aus prpar in PrList ein; setze prpar.status:= 0; realisiere Abest in prnew, indem Abest in ArrList eingefügt wird und Abest.status:= 1; endif ; end .

Alg. 11. Modul SplitParent: Zerlegen von Packraum prpar.

Schritt 1 in Alg. 11 identifiziert alle Kistentypen der aktiven Packräume, welche mindestens

eine Packraumseite von prpar verlustfrei teilen. Es sei daran erinnert, dass TypList i.d.R.

viele alternative Kistentypen für einen Packraum bereitstellt. Passende Typen T werden mit

Hilfe einer zusätzlichen Kistentypeigenschaft T.score = 1 markiert, unpassende mit

T.score = -1 gekennzeichnet. Nicht berücksichtigte Typen erhalten T.score = 0. Alg. 11

Page 131: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 111

beachtet lediglich den 3D-Fall. Im 2D-Fall entfallen die Tests der Teilbarkeit der dritten

Packraumabmessung d3 sowie die Tests der Teilbarkeit durch das dritte Kistenmaß t3.

In Schritt 2 werden aus den mit T.score = 1 markierten Kistentypen testweise sämtliche

denkbaren 1-AO gebildet und in ArrListTest gespeichert, welche in prpar untergebracht

werden können und zudem mindestens eine Packraumlänge von prpar verlustfrei füllen. Die

erzeugten Anordnungen enthalten jeweils höchstens i_max Kisten. In Schritt 3 werden

diejenigen Anordnungen wieder aus ArrListTest entfernt, welche zu nicht kompatiblen

Restdistanzen in prpar führen würden. Jede in ArrListTest verbliebene Anordnung A wird in

Schritt 4 wie folgt bewertet:

• Je kleiner die mit A verlustfrei gefüllte Packraumausdehnung von prpar, umso besser

die Bewertung (kleinste Packraumseite: +2 Punkte, mittlere Seite: +1 Punkt);

• Wird der Kistentyp von A bereits in mehr als einem Packraum verwendet: +1 Punkt;

• Kommt der Kistentyp von A in unterschiedlicher Orientierungsvariante in anderen

Packräumen bereits zum Einsatz: +1 Punkt;

• Besteht A aus mehreren Kistenexemplaren: +1 Punkt;

• Sind die übrigen Packräume des von A verwendeten Kistentyps nicht räumlich

benachbart: +1 Punkt.

Die am besten bewertete Anordnung Abest soll realisiert werden. Hierzu wird ArrListTest nach

absteigender Bewertung sortiert. Bei Gleichstand entscheidet der höhere Wert von

max(1, OKList(r1)) · max(1, OKList(r2)) · max(1, OKList(r3)), wobei r1, r2, r3 die

Restdistanzen in prpar nach Realisieren der Anordnung bezeichnen.

Im Teilschritt 5 schließlich wird die beste Alternative Abest in prpar realisiert, indem Abest in

ArrList eingefügt und mit Abest.status = 1 aktiviert wird. Alle Nachfolgerpackäume werden

zudem in PrList eingefügt und der Mutterpackraum prpar wird wieder desaktiviert.

Abschließend sei bemerkt, dass es vorkommen kann, dass ArrListTest leer ist. Dies ist der

Fall, falls kein berücksichtigter Kistentyp aus TypList ein Seitenmaß von prpar verlustfrei

füllt oder keine kompatiblen Restdistanzen entstehen. In diesem Fall werden die Teilschritte

4 und 5 nicht ausgeführt. Es erfolgt demnach keine Teilung von prpar, die vorhandene

Teillösung wird dennoch mit dem noch vorzustellenden Modul FinishSol vervollständigt.

Page 132: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

112 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

4.5.4 Vervollständigen einer Lösung (Modul FinishSol)

Nach der Ausführung von SplitParent liegt lediglich eine Teillösung vor, da für mindestens

einen Packraum noch keine Anordnung gewählt wurde. Das nachgeschaltete Modul

FinishSol stellt sicher, dass wieder eine vollständige Lösung entsteht, indem:

• alle in Frage kommenden Kistentypen und Anordnungen für die noch ungefüllten

Packräume berechnet werden (mit Modul FindAllTypes, siehe Abschnitt 4.4.3);

• die ursprünglich in s gewählten Anordnungen A wieder entladen werden (A.status = 0);

• für jeden aktiven Packraum pr ein möglichst mehrfach verwendeter Kistentyp gewählt

wird, der pr mit Hilfe einer 1-AO verlustfrei füllt;

• falls notwendig weitere Packräume iterativ erzeugt oder verschmolzen werden, um eine

gültige Anzahl an Kistentypen zu erhalten.

• möglichst sichergestellt wird, dass eine gültige Gesamtkistenzahl entsteht und weniger

als e_max unzulässige Kistentypen verwendet werden.

Die Auswahl einer Anordnung aus ArrList für jeden aktiven Packraum gestaltet sich anders

als in Modul FixAllTypes (vgl. Abschnitt 4.4.5). Während es in Letzterem darum ging,

Kistentypen zu wählen, die nicht in anderen Packräumen verwendet werden, ist hier gerade

das mehrfache Verwenden von Kistentypen erwünscht. Zunächst werden daher die

Kistentypen fixiert, welche mehrfach in Anordnungen verschiedener Packräume verwendet

werden können. Auf eine detaillierte Darstellung dieser Teilaufgabe wird hier verzichtet.

Bemerkt sei allerdings, dass die Auswahl eines identischen Kistentyps für zwei Packräume in

FinishSol nur dann erfolgt, falls sich beide Anordnungen entweder durch die jeweiligen

Mutterpackräume, die Orientierungsvarianten des verwendeten Kistentyps oder eines der

entsprechenden Kistenzahlen der Anordnungen (n1, n2 oder n3) unterscheiden. Ansonsten

kann nicht ausgeschlossen werden, dass beide Anordnungen räumlich benachbart sind und

sich zu einer einzigen Anordnung zusammenfassen ließen, welche sich über die zwei

benachbarten Packräume erstreckt.

Page 133: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 113

4.6 Einmalige Nachbearbeitung der Bestlösung (CPHP)

4.6.1 Module von CPHP

Die bisher ermittelte Bestlösung sbest wird nun mit Hilfe von Modul CPHP einmalig

nachbearbeitet (CPHP = C&P Generator, Heuristik, Post-Processing). Diese

Nachbearbeitung erfüllt drei Funktionen.

1) Die bisher mit CPHK bzw. CPHI erzeugte Bestlösung sbest füllt den Container

verlustfrei. Das Kistenvorratsvolumen entspricht demnach exakt dem

Containervolumen. Bei Vorgabewerten von VolPct ≠ 100% müssen daher einzelne

Kistentypen aus sbest nachträglich angepasst werden. Diese Anpassung wird durch das

Modul AdaptTypes realisiert. Resultat ist die Lösung sbest’.

2) Bisher wurden beim Ermitteln von CLP-Instanzen keine zusätzlichen

Nebenbedingungen beachtet. Teilmodul AddConstraints widmet sich diesem Thema,

indem nachträglich diese Restriktionen zu sbest’ hinzugefügt werden und die um

Nebenbedingungen erweiterte Lösung sbest’’ zurückgegeben wird.

3) Die Lösung sbest’’ ist durch die aktiven Listenelemente aus PrList, TypList und ArrList

eindeutig bestimmt. In der dritten Teilaufgabe wird die CLP-Instanz aus den aktiven

Elementen von ArrList und TypList gewonnen. Die Optimallösung zur CLP-Instanz

wird durch den so genannten Packplan bestimmt, der sich aus den aktiven Elementen

von PrList, TypList und ArrList ergibt. Der Packplan gibt den Kistentyp, die

Koordinaten der Referenzecke sowie die Orientierungsvariante der nacheinander im

Container zu verstauenden Packstücke an. CLP-Instanz und Packplan werden in

Teilaufgabe 3 von CPHP aus s berechnet und gespeichert.

Nachfolgend werden die Module AdaptTypes und AddConstraints näher beschrieben. Auf

eine tiefer gehende Beschreibung von Teilaufgabe 3 wird dagegen verzichtet.

4.6.2 Anpassung des Kistenvorrats (Modul AdaptTypes)

Modul AdaptTypes modifiziert einzelne Kistentypen der Bestlösung sbest, falls

VolPct ≠ 100% vorgegeben ist. Die Vorgehensweise ist je nach Wert von VolPct

unterschiedlich.

Page 134: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

114 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

Ist VolPct < 100%, so werden die Abmessungen einzelner verwendeter Kistentypen oder

deren verfügbare Kistenzahl sukzessive um 1 reduziert, bis die Volumenauslastung im

Container VolPct unterschreitet. Die Volumenauslastung ist dabei definiert als

Quotient: (gesamtes Kistenvolumen) / (Containervolumen). Der nächste Kistentyp und das

Verfahren zur Reduzierung des Volumens (Anpassung der Kistenzahl oder der Kistenlänge)

werden weitgehend zufällig ermittelt. Es wird allerdings darauf geachtet, dass nach der

Anpassung weiterhin alle Kisten mit ihrer Grundfläche möglichst vollständig (bezüglich der

Richtung VD) unterstützt werden, um die Ladung stabil zu halten. Außerdem wird beachtet,

dass d_min, v_min und i_min bei zulässigen Kistentypen nicht unterschritten werden. Es sei

darauf hingewiesen, dass eine in der beschriebenen Art und Weise angepasste Lösung mit

Volumenauslastung VolPct < 100% stets eine Optimallösung für die zugehörige CLP-Instanz

darstellt, da sämtliche Packstücke verladen werden.

Ist VolPct > 100%, so erfolgt ein sukzessives Anheben der Kistenzahlen in der CLP-Instanz

um jeweils eine Kiste, bis das Verhältnis des Vorratsvolumen zum Containervolumen VolPct

übersteigt. Die Wahl des nächsten Kistentyps für das Anheben der Kistenzahl erfolgt

zufällig. Existieren in sbest noch unzulässige Kistentypen wegen zu geringer Kistenzahl,

werden diese zuerst bearbeitet. Das Optimum beträgt auch nach der Anpassung der

Kistenzahlen stets 100%. Die zusätzlich erzeugten Kisten werden in der Optimallösung nicht

verwendet.

4.6.3 Hinzufügen von Zusatzbedingungen (Modul AddConstraints)

Beim nachträglichen Hinzufügen von Restriktionen reicht es aus, sicherzustellen, dass die

berechnete Optimallösung sbest’’ diese Restriktionen nicht verletzt. Die Bezeichnungen der

nun beschriebenen acht Zusatzbedingungen werden aus Tab. 3 (Kapitel 1.2.4) übernommen.

(C1) Orientierungsrestriktion

Zusätzliche Kisteneigenschaften T.ov0 bis T.ov5 werden eingeführt. Diese können die

Werte 1 (Orientierungsvariante ist erlaubt) oder 0 (Variante ist verboten) annehmen. Zur

Interpretation der Orientierungsvarianten sei auf Tab. 4 (S. 9) verwiesen. Alle

Orientierungsvarianten sämtlicher Kistentypen werden mit 0 initialisiert. Anschließend

werden die in der Optimallösung verwendeten Orientierungsvarianten auf 1 gesetzt. Für die

dann noch verbleibenden unzulässigen Orientierungsvarianten wird gelost, ob diese

eingesetzt werden dürfen oder nicht.

Page 135: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 115

Bei Packproblemen dienen Orientierungsrestriktionen üblicherweise dazu, Kippverbote zu

realisieren. Dagegen ist das Drehen einer verstauten Kiste im Container um 90 Grad generell

erlaubt. Bei Vorgabe der Packvariante (zusätzlicher Parameter packMode = 1) wird daher

nachträglich für jede bisher zugelassene Orientierungsvariante auch die zugehörige Variante

erlaubt, welche diese 90 Grad-Drehung der Kiste in der horizontalen Ebene im Container

realisiert. Bei Parameterwahl packMode = 0 erfolgt diese Anpassung nicht. packMode = 1

realisiert demnach die Höhenrestriktion (C1a), während packMode = 0 die allgemeinere

Orientierungsvariantenrestriktion (C1b) betrifft.

(C2) Überstapelungsrestriktion

CPHP kann alternativ alle vier Variationen der Überstapelungsrestriktion (C2)

berücksichtigen (vgl. Tab. 3). Die zu realisierende Variante wird mit Hilfe des Parameters

suppMode festgelegt. Jedem Kistentyp wird außerdem die zusätzliche Eigenschaft

T.suppmax zugewiesen und mit 0 initialisiert (Setzen des absoluten Überstapelungsverbots).

In Variante (C2b) wird für jede platzierte Kiste der Optimallösung die Anzahl supptot der

Kisten berechnet, welche die Deckfläche der betrachteten Kiste überstapeln. Anschließend

wird für jeden Kistentyp T das Maximum der Werte von supptot über alle Kistenexemplare

dieses Typs gebildet und in T.suppmax gespeichert. T.suppmax gibt an, wie viele Kisten

maximal eine Kiste des Typs T überstapeln dürfen.

Für die unbedingte Überstapelungsrestriktion (C2a) wird zunächst analog zu (C2b)

vorgegangen. Schließlich wird die neue Eigenschaft durch T.suppmax:= min(T.suppmax, 1)

ersetzt. Es gilt das unbedingte Verbot für alle Kistentypen T mit T.suppmax = 0, während für

alle T mit T.suppmax = 1 das Überstapeln generell erlaubt ist.

Bei der Überstapelungsgewichtsrestriktion (C2c) und der Überstapelungsdruckrestriktion

(C2d) bezeichnet die Eigenschaft T.suppmax das maximal erlaubte Gewicht, welches auf

einer Kiste (bzw. auf einem beliebigen Quadrat der Seitenlänge 1 der Kistendeckfläche)

lasten darf. Hierzu werden wiederum die entsprechenden Werte für jede verladene Kiste

berechnet und anschließend pro Kistentyp T das Maximum gebildet. Die

Überstapelungsrestriktion wird erst nach der Gewichtsrestriktion (C6) hinzugefügt.

(C3) Stabilitätsrestriktion

Die Stabilitätsrestriktion ist als Stabilitätsflächenrestriktion (C3a) ausgelegt (vgl.

Kapitel 1.2.4). Nach Einsatz von Modul AdaptTypes kann es vorkommen, dass einzelne

Page 136: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

116 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

Kisten nicht mehr vollständig von anderen Kisten unterstützt werden. Sei min_support_real

der minimal unterstützte Anteil der Bodenfläche aller in Lösung sbest’ verstauten Kisten.

Durch die Definition von min_support:= min(min_support_real, 90%) wird sichergestellt,

dass die Stabilitätsflächenrestriktion durch die Optimallösung respektiert wird.

(C4) Positionsrestriktion

Alle in sbest’ ausschließlich auf dem Containerboden platzierten Kistentypen werden mit

Hilfe eines zusätzlichen Kistentypparameters T.pos = 1 gekennzeichnet. Die restlichen Typen

werden daraufhin untersucht, ob diese ausschließlich in einem bestimmten Containerdrittel

entlang der LD-Achse Verwendung finden (Containertür: T.pos = 2, Containermitte:

T.pos = 3, Containerhinterwand: T.pos = 4). Für Kistentypen, die an mehreren Stellen der

Optimallösung Verwendung finden, wird keine Positionsrestriktion gesetzt (T.pos = 0).

(C5) Prioritätsrestriktion

Alle drei Varianten der Prioritätsrestriktion können wahlweise berücksichtigt werden: ein

zusätzlicher Parameter priorMode bestimmt, ob die „harte“, „weiche“ oder „Misch“-Form

eingesetzt wird (vgl. Kapitel 1.2.4). Eine zusätzliche Kistentypvariable T.prior bestimmt,

oder die Kisten dieses Typs verladen werden müssen (T.prior = 2) oder sollen (T.prior = 1),

bzw. ob keine Prioritätsbeziehung besteht (T.prior = 0). Im Fall VolPct < 100% können

Prioritätsrestriktionen rein zufällig verteilt werden, da für jeden Kistentyp sämtliche Kisten in

der Optimallösung verladen werden. Bei VolPct > 100% hingegen wird die

Prioritätsrestriktion zunächst mit T.prior = 0 für diejenigen Kistentypen ausgeschaltet, dessen

Kisten nicht alle im Optimum verladen werden, alle anderen erhalten T.prior = 2. Soll eine

weiche Prioritätsrestriktion gelten, so wird für einige zufällig ermittelte Typen anschließend

T.prior = 1 gesetzt.

(C6) Gewichtsrestriktion

Es wird ein zusätzlicher Parameter für das maximal zulässige Gesamtgewicht wtot der

Ladung vorgesehen. Jedem Kistentyp soll nun das Gewicht T.w eines Kistenexemplars

hinzugefügt werden. Dieses wird zunächst wie folgt bestimmt:

⋅⋅= )(:.

321

TvolCCC

wtotwT , wobei vol(T) das Volumen eines Kistenexemplars bezeichnet.

Page 137: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 117

Anschließend werden in mehreren Iterationen die Gewichte einzelner (zufällig ermittelter)

Typen iterativ um 1 erhöht, bei gleichzeitiger Verringerung des Gewichts eines anderen

Typs. Dabei werden beide Typen so gewählt, dass sichergestellt ist, dass nach jeder Iteration

das Gesamtgewicht der Ladung den Vorgabewert wtot nicht übersteigt. Vorzugsweise wird

das Gewicht der am Containerrand und/oder an der Containerdecke platzierten Kisten

abgesenkt, während das Gewicht der nahe der Containermitte und/oder auf dem

Containerboden verstauten Kisten angehoben wird, um eine möglichst stabile Ladung zu

erreichen.

(C7) Gleichgewichtsrestriktion

Die Gewichte der in der Optimallösung verstauten Kisten wurden bereits in (C6) zugeteilt.

Aus diesen Gewichten wird nun die tatsächliche maximale horizontale Abweichung

qmax_real des Massenmittelpunkts der Ladung berechnet (zur Berechnung von qmax_real

siehe Kapitel 1.2.4). Als maximal erlaubter Wert für die CLP-Instanz wird dann qmax

bestimmt als nach oben gerundeter Wert von qmax_real.

(C8) Gruppenrestriktion

Die Gruppenrestriktion ist als Entladereihenfolgerestriktion ausgelegt. Als Parameter ist die

Anzahl der Kunden ktot vorgesehen. Die Zuordnung eines Kistentyps zu einem Kunden wird

durch die zusätzliche Eigenschaft T.grp möglich. T.grp gibt die zwingend einzuhaltende

Reihenfolge bei der Entladung an: gilt für die Typen T1, T2 die Beziehung: T1.grp < T2.grp,

so ist eine Lösung nur zulässig, falls T1 vor T2 aus dem Container entnommen werden kann.

Zudem muss sichergestellt sein, dass eine Kiste des nächsten zu entladenden Kistentyps

entnommen werden kann, ohne dass die verbleibenden Kisten bewegt werden müssen.

Die Zuteilung einzelner Kisten an Kunden richtet sich nach der Entladereihenfolge, welche

sich aus dem Packplan der Optimallösung ergibt. Angenommen, der Packplan enthält ntot

einzelne Kisten. Dann werden jeweils durchschnittlich ntot / ktot nacheinander im Container

verstaute Kisten zu einem Kunden zusammengefasst. Dabei kann es vorkommen, dass ein

Kistentyp mehreren Kunden zugeordnet wird. In diesem Fall wird der ursprüngliche

Kistentyp dupliziert. Es entstehen weitere Kistentypen mit identischen Maßen, aber

unterschiedlicher Ausprägung von T.grp (Kunde) und Kistenzahl T.n. Im Fall VolPct > 100%

werden alle nicht verladenen Kisten zusätzlichen (nachrangigen) Kunden zugeordnet.

Page 138: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

118 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

Das Hinzufügen von Restriktionen stellt offensichtlich eine sinnvolle Ergänzung dar, da viele

praxisrelevante Nebenbedingungen beachtet werden. Es sei zudem darauf hingewiesen, dass

sbest’’ auch dann noch eine Optimallösung für die CLP-Instanz darstellt, falls einige oder

sämtliche Restriktionen ignoriert werden. Eine erzeugte Instanz kann daher auch mit

Verfahren getestet werden, welche keine oder nur einige der Restriktionen berücksichtigen.

Die Optimallösung der relaxierten CLP-Instanz ist in jedem Fall bekannt und stimmt mit der

Optimallösung der Instanz inklusive aller Nebenbedingungen überein.

Folgende Tabelle fasst sämtliche im Modul AddConstraints hinzugefügten Variablen der

CLP-Instanz zusammen. Außerdem wurden mehrere Verfahrensparameter eingeführt, welche

die Tabelle 18 um eine weitere Parametergruppe 6 für die Ausgestaltung der

Nebenbedingungen ergänzen. Diese betreffen die Restriktionen C1 (Parameter packMode),

C2 (suppMode), C5 (priorMode) sowie C6 (wtot) und C8 (ktot).

Tab. 20. Zusätzliche Instanzvariablen für Restriktionen.

Restriktion Variable Bedeutung Bemerkung

(C1) Orientierungsrestriktion

T.ov0 - T.ov5 Zulässigkeit der

Orientierungsvarianten 1 = erlaubt 0 = nicht erlaubt

(C2) Überstapelungsrestriktion

T.suppmax Kistentyp T darf überstapelt werden

0 = absolutes Überstapelungsverbot, > 0: max. Anzahl (Gewicht) bei Überstapelung

(C3) Stabilitätsrestriktion

min_support minimal unterstützter

Anteil der Grundfläche einer verladenen Kiste

Die Grundfläche jeder verstauten Kiste muss mindestens zu min_support% unterstützt sein

(C4) Positionsrestriktion

T.pos

Jede Kiste des Typs T ist in einem bestimmten

Containerbereich zu verstauen

0 = keine Einschränkung 1 = Containerboden 2 = Containertür 3 = Containermitte 4 = Containerhinterwand

(C5) Prioritätsrestriktion

T.prior Kisten des Typs T

sollen bzw. müssen verladen werden

0 = keine Einschränkung 1 = weiche „Soll“-Bedingung 2 = harte „Muss“-Bedingung

(C6) Gewichtsrestriktion

T.w Gewicht eines Kistenexemplars von T

Gesamtgewicht aller verladenen Kisten darf die maximale Zuladung wtot nicht überschreiten

(C7) Gleichgewichtsrestriktion

qmax maximal erlaubte

Abweichung des MMP der Ladung

MMP = Massenmittelpunkt; minimale horizontale Abweichung (orthogonal zu VD)

(C8) Gruppenrestriktion

T.grp Zuordnung eines Kistentyps zu Kunden

T.grp bestimmt die zwingend zu beachtende Entladereihenfolge

Page 139: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 119

4.7 Anpassung von CPGH an das Strip Packing-Problem

Bisher wurde CPGH ausschließlich als Verfahren zur Erzeugung von Instanzen des

Containerbeladeproblems (CLP) beschrieben. Nachfolgend wird diskutiert, wie CPGH zum

Erzeugen von Strip Packing-Instanzen angepasst werden kann.

Die Lösung einer SPP-Instanz führt bekanntermaßen zu einer Anordnung der Kisten

innerhalb einer bestimmten, möglichst kurzen, Streifenlänge D. Die gefundene SPP-Lösung

ist somit gleichzeitig eine Lösung zum CLP mit einem vorgegebenen Container der Länge D.

Entsprechend einfach kann das Verfahren CPGH nun zur Erzeugung von

Strip Packing-Instanzen verwendet werden. Als Containerlänge wird die optimale

Streifenlänge D gewählt und an CPGH übergeben.

Es gilt allerdings folgende Einschränkung: um sicherzustellen, dass D tatsächlich ein

Optimum der SPP-Instanz darstellt, kann VolPct nicht frei gewählt werden, sondern beträgt

zwingend 100%. Werte oberhalb von 100% sind nicht zulässig, da aufgrund der

Problemstellung sämtliche Kisten im Container zu verstauen sind. Im Fall VolPct < 100%

wäre der Container nicht verlustfrei gefüllt. Mit der Erzeugungsheuristik von CPGH kann

jedoch nicht sichergestellt werden, dass die SPP-Lösung optimal ist, d.h. ob nicht doch eine

kürzere Containerlänge existiert, in welcher der gesamte Kistenvorrat verlustfrei verstaut

werden kann. Die vorgegebene Volumenauslastung ist somit (im Gegensatz zur CLP-

Problematik) nicht frei wählbar.

Speziell für die Erzeugung von SPP-Instanzen wurde der Parameter useLayers eingeführt.

Mit useLayers = 1 wird erzwungen, dass der gesamte Container zu Beginn der Suche in

mehrere Schichten unterteilt wird, die in Richtung der Containerlänge aneinandergereiht sind

und im Suchverlauf nicht aufgelöst werden dürfen. Bei ausreichender Kistentypzahl sollen

t_max / 2 Schichten erzeugt werden.

SPP - Variante : useLayers = 0CPGH wird normal ausgeführt

SPP - Variante : useLayers = 1CPGH schneidet zunächst Schichten

SPP - Variante : useLayers = 0CPGH wird normal ausgeführt

SPP - Variante : useLayers = 1CPGH schneidet zunächst Schichten

Abb. 22. Anpassen von CPGH an das SPP.

Page 140: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

120 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

4.8 Anpassung von CPGH an das Bin Packing-Problem

Für eine einfache Anpassung von CPGH an das BPP sind folgende Varianten denkbar.

a) Beim Problemtyp MILOPP bzw. MIKP (vgl. Tab. 1) bietet es sich an, jeweils identisch

gefüllte Container als Optimallösung zu verwenden. Hierzu wird CPGH einmalig aufgerufen.

Sei nC > 1 die vorgegebene optimale Containerzahl des BPP. nC ergänzt als zusätzlicher

Parameter die Parametergruppe 1 in Tabelle 18. Es werden dann für die Problemstellung des

BPP folgende Werte für den Aufruf von CPGH ersetzt:

n_max wird durch nCn max/_ und i_max durch nCi max/_ ersetzt;

n_min wird durch nCn min/_ , i_min durch nCi min/_ ersetzt;

Wiederum ist zu beachten, dass VolPct einen bestimmten Wert nicht unterschreiten darf, so

dass VolPct > (1 – 1 / nC) gilt. Dies ist notwendig um sicherzustellen, dass nC tatsächlich ein

Optimalwert für die BPP-Instanz darstellt.

b) Folgende Anpassung eignet sich nicht nur für BPP mit identischen Containern, sondern

ebenfalls für den Problemtyp MHLOPP bzw. MHKP mit heterogenen Containern

(vgl. Kap.1.2.2, Tab. 1). Abweichend zu der in Kapitel 4.4 beschriebenen Basisheuristik

CPHK besteht die Packraumliste PrList anfangs nicht aus einem einzelnen Container,

sondern aus den in der Optimallösung einzusetzenden Containern. Es wird zudem

sichergestellt, dass diese Container nicht verschmolzen werden dürfen, indem für alle

Anfangspackräume pr in PrList die Eigenschaft pr.idparent:= 0 gesetzt wird. Die

Basisheuristik wird ansonsten unverändert angewendet.

Der Wert für Parameter VolPct darf wiederum einen bestimmten Mindestwert nicht

unterschreiten. Das gewünschte kumulierte Restvolumen über alle Bins muss kleiner sein als

das Volumen des kleinsten Containers, sonst wird vermutlich kein Optimum identifiziert.

In Variante a) werden alle Kistentypen in allen Containern verwendet, während dies in

Variante b) nicht unbedingt der Fall ist. Variante a) bietet sich daher vor allem an, falls die

Kistentypzahl im Vergleich zur Containerzahl gering ist. Beide Anpassungsvarianten von

CPGH an das BPP sind schematisch in Abb. 23 dargestellt. Die Adaptationsvariante in

CPGH wird als zusätzlicher Parameter bppMode vorgegeben.

Page 141: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 121

BPP - Variante a)CPGH wird auf einen Container angewendet,die Lösung auf alle Container übertragen.

BPP - Variante b)Die Packraumliste PrList besteht anfangs ausmehreren Packräumen, die den einzelnen Containern des BPP entsprechen.

Container 1 Container 3Container 2

PR 1 PR 3PR 2

BPP - Variante a)CPGH wird auf einen Container angewendet,die Lösung auf alle Container übertragen.

BPP - Variante b)Die Packraumliste PrList besteht anfangs ausmehreren Packräumen, die den einzelnen Containern des BPP entsprechen.

Container 1 Container 3Container 2

PR 1 PR 3PR 2

Abb. 23. Zwei Adaptationsvarianten zur Erzeugung von BPP-Instanzen.

4.9 Numerische Tests

Das im Rahmen dieses Kapitels beschriebene Verfahren CPGH wurde in Microsoft Visual

Basic 2008 implementiert und auf Intel-PC getestet. Im Folgenden werden zwei Testreihen

vorgestellt, welche mit CPGH berechnet wurden. Einerseits soll gezeigt werden, dass CPGH

in der Lage ist, CLP-Instanzen beliebiger Größe, Heterogenität und mit bekanntem Optimum

zu erzeugen. Der Erfolg der iterativen Nachbarschaftssuche zum Erzeugen komplexerer

Packstrukturen wird untersucht. Andererseits werden SPP-Instanzen vorgestellt, deren

Kistenvorrat an die Instanzen von BISCHOFF und RATCLIFF (1995) angelehnt sind. Diese SPP-

Instanzen sollen im nachfolgenden Kapitel 5 zum Test des dort vorgestellten SPP-Verfahrens

verwendet werden. Die SPP-Instanzen sind einfach gehalten: die Module CPHI und CPHP

kommen nicht zum Einsatz. Es werden drei Testreihen mit unterschiedlichen Anforderungen

an die Optimallösung erzeugt.

4.9.1 Mit CPGH erzeugte CLP-Instanzen

Konfiguration von CPGH

Unter Zuhilfenahme der iterativen Verbesserungsheuristik von CPGH soll nun eine Reihe

von 3D-Testinstanzen für das CLP mit bekanntem Optimum erzeugt werden, wobei zwei

Kriterien systematisch variiert werden:

• die Problemgröße soll von sehr klein (50 Items) bis sehr groß (1000 Items) variieren;

• die Heterogenität der Probleme soll von schwach heterogen (viele Kisten pro Typ) bis

stark heterogen (wenige Kisten pro Typ) reichen,

Page 142: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

122 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

Tab. 21 enthält alle untersuchten Kombinationen von Kistentypzahl (Zeilen) und Kistenzahl

(Spalten). Die letzten beiden Zeilen von Tab. 21 geben zudem die minimal und maximal

zulässigen Kistenzahlen an, wobei durchgehend die Beziehung n_max = 1.25 · n_min gilt.

Beim Testfall „N0400“ beispielsweise sollen demnach Probleme mit 400 bis 500 Items

erzeugt werden. Die Kistentypzahl soll dagegen genau dem Vorgabewert entsprechen (z.B.

sollen bei „T050“ genau 50 unterschiedliche Kistentypen erzeugt werden).

Tab. 21 gibt den Heterogenitätsgrad H für alle getesteten Kombinationen an. Dabei

bezeichnet H die minimale durchschnittliche Kistenzahl pro Typ: H = ⌊nK / nT⌋, wobei nK

die minimale Kistenzahl, nT die Kistentypzahl bezeichnet. Die untersuchten

Heterogenitätsgrade reichen von 1 (durchschnittlich eine Kiste pro Typ) bis 133 Kisten pro

Typ. Bei den Testfällen werden sowohl die Kistentypzahl als auch die Kistenzahl jeweils

verdoppelt, um vergleichbare Heterogenitätsgrade H für unterschiedlichste Problemgrößen

zu erzeugen. Schließlich enthält die letzte Spalte der Tabelle den (experimentell ermittelten)

Parameterwert der maximal erlaubten Ausnahmen für unzulässige Kistentypen.

Tab. 21. Heterogenität H der erzeugten CLP-Instanzen.

Heterogenität H N0050 N0100 N0200 N0400 N0800 e_max

T006 8 16 33 66 133 1

T012 4 8 16 33 66 1

T025 2 4 8 16 32 2

T050 1 2 4 8 16 4

T100 1 2 4 8 8

T200 1 2 4 16

T400 1 2 32

n_min 50 100 200 400 800

n_max 63 125 250 500 1000

Tabelle 22 enthält die übrigen Parameter, welche für alle Testinstanzen Verwendung finden.

Als Container kommt durchweg ein Standard-40-Fuss-Container zum Einsatz. In der

Optimallösung ist der Container stets verlustfrei gefüllt (VolPct = 100%). Es werden

ausschließlich guillotinierbare Lösungen erzeugt (useNG = 0). Drei Neustarts werden

durchgeführt (maxTr = 3), die Bestlösung wird demnach aus drei Versuchen ermittelt. Um

sicherzustellen, dass in jedem Fall zumindest eine Ausgangslösung ermittelt wird, wird

maxiniTr = 50 gesetzt.

Page 143: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 123

Tab. 22. Parameterwerte zur Erzeugung von CLP-Instanzen.

Parameter- Gruppe Parameter Wert

C1, C2, C3 1200, 233, 220 (1) Container C

LD, VD 1, 3

d_min, d_max 20, 200

v_min 10000

v_max 99999999 (3) Kistentypen

r_max 8

VolPct 100%

useCPHI 1

useNG 0 (4) Optimum

useLayers 0

maxTr 3

maxiniTr 50

maxCPHI 10 (5) Suchparameter

maxArr 10000

Es werden jeweils nur einige Nachbarlösungen berechnet (maxCPHI = 10), da die

Berechnung einer Nachbarlösung relativ zeitaufwendig ist und ein Anheben von maxCPHI

nur selten zu Verbesserungen führt, wie Vortests ergaben. Allzu kleine Kistentypen werden

ebenso vermieden wie solche mit außergewöhnlicher Form (vgl. Tab. 22, Nr. 3). Die

Kistenzahlen werden zudem je nach Heterogenität variiert, wie Tabelle 23 zeigt.

Tab. 23. Heterogenität und Kistenzahlen pro Typ für die CLP-Instanzen.

H i_min i_max

1 1 12

2 1 20

4 2 20

8 3 20

16 4 40

>32 10 100

>64 20 200

>128 40 400

Testresultate

Für jeden Testfall wurden 10 Probleme und somit insgesamt 290 Instanzen berechnet.

Folgende Tabelle 24 zeigt die mittlere Packraumzahl pro Instanz sowie die ermittelten

Zielfunktionswerte für f (in Klammern). Durchschnittlich wurden mit Hilfe von CPHI 7%

mehr Packräume als Kistentypen für die Optimallösungen erzeugt. Das erscheint zunächst

wenig, doch es ist davon auszugehen, dass bereits das Verwenden eines einzelnen Kistentyps

in mehreren Packräumen das Auffinden der Optimallösung aufgrund der stark steigenden

Page 144: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

124 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

Kombinationsvielfalt erheblich erschwert. In 275 der 290 Instanzen war das iterative

Verbesserungsverfahren CPHI erfolgreich. Nur bei 15 CLP-Instanzen kommt somit jeder

Kistentyp ausschließlich in einem Packraum der Optimallösung vor. Bei den Testfällen mit

kleiner Kistentypzahl ist f wesentlich höher, was vor allem an der geringen Anzahl an

Iterationen (maxCPHI = 10) liegen dürfte. Bei höherer Kistentypzahl fällt der Einfluss

einiger mehrfach verwendeter Kistentypen in der Tat geringer aus. Tabelle 24 gibt außerdem

die Anzahl nProb der jeweils berechneten CLP-Instanzen an, sowie die Anzahl der

Instanzen, bei denen die Nachbarschaftslösung erfolglos war (nProb-). Zudem wird die

mittlere Instanzgröße

(mittlere Anzahl der Kisten pro CLP-Instanz) nIt in der letzten Zeile von Tab.24 angegeben.

Tab. 24. Charakteristiken der erzeugten CLP-Instanzen.

Packräume N0050 N0100 N0200 N0400 N0800 Mittel

T006 7.8

(130.0%) 8.4

(140.0%) 8.2

(136.7%) 8.6

(143.3%) 9.8

(163.3%) 8.6

(142.7%)

T012 14.0

(116.7%) 16.8

(140.0%) 16.0

(133.3%) 16.6

(138.3%) 17.0

(141.7%) 16.1

(134.0%)

T025 27.2

(108.8%) 29.0

(116.0%) 30.8

(123.2%) 31.2

(124.8%) 28.6

(114.4%) 29.4

(117.4%)

T050 51.2

(102.4%) 55.9

(111.8%) 57.4

(114.8%) 55.9

(111.8%) 58.8

(117.6%) 55.8

(111.7%)

T100 104.1

(104.1%) 108.9

(108.9%) 109.2

(109.2%) 108.2

(108.2%) 107.6

(107.6%)

T200 209.7

(104.9%) 210.1

(105.1%) 208.4

(104.2%) 209.4

(104.7%)

T400 417.8

(104.5%) 412.8

(103.2%) 415.3

(103.8%)

nProb 40 50 60 70 70

nProb - 4 0 0 1 10

nIt 61 121 238 464 918

Zu den Rechenzeiten sei bemerkt, dass eine Ausgangslösung meist bereits nach sehr kurzer

Zeit (durchschnittlich unter 1 s.) vorliegt, während der Hauptanteil des Aufwands auf der

Nachbarschaftssuche lastet. Die durchschnittlich benötigte Berechnungszeit einer Instanz

beträgt 21.7 s., wobei der Aufwand tendenziell mit der Anzahl der Kistentypen und

Kistenzahlen steigt, wie Tab. 25 zeigt. Dies liegt vor allem an dem höheren

Verwaltungsaufwand für die Kistentyp- und Anordnungslisten.

Page 145: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 125

Tab. 25. Zeit bis zum Ermitteln der Bestlösung (der Ausgangslösung).

Zeit (s) N0050 N0100 N0200 N0400 N0800 Mittel

T006 8.9

(0.1) 36.5 (0.0)

26.6 (0.0)

32.5 (0.0)

16.6 (0.1)

24.2 (0.1)

T012 5.2

(0.1) 15.0 (0.1)

15.0 (0.2)

12.1 (0.1)

30.4 (0.1)

15.5 (0.1)

T025 6.0

(0.1) 14.5 (0.1)

12.7 (0.1)

28.2 (0.1)

12.7 (0.5)

14.8 (0.2)

T050 3.2

(0.1) 14.0 (0.1)

5.5 (0.1)

9.8 (0.2)

15.9 (0.2)

9.7 (0.1)

T100 12.7 (0.3)

25.8 (0.2)

10.5 (0.3)

22.6 (0.4)

17.9 (0.3)

T200 24.6 (1.3)

24.8 (1.1)

14.3 (2.1)

21.3 (1.5)

T400 73.8 (9.4)

97.6 (7.8)

85.7 (8.6)

Mittel 5.8

(0.1) 18.5 (0.1)

17.1 (0.3)

18.6 (1.6)

19.7 (1.6)

21.7 (0.9)

Der Hauptaufwand der Instanzgenerierung (über 92% der CPU-Zeit) entfällt auf die

Vervollständigung einer Lösung (Modul FinishSol). Modul SelectParent benötigt nur 2.5%

der Rechenzeit, das Schneiden von Packräumen 4% der Zeit. 1% geht auf die Auswertung

der Lösungen zurück. Insgesamt wurden im Suchverlauf 7.640 temporäre Lösungen

ermittelt. 1.764 Lösungen (23%) wurden als zwischenzeitliche Bestlösungen akzeptiert. Eine

detailliertere Analyse der berechneten Lösungen enthält Tab. 26.

Tab. 26. Anzahl der berechneten vollständigen Zwischenlösungen.

Neue Bestlösung Beschreibung Anzahl

Erste ermittelte Lösung 290

Besserer Zielfunktionswert für f erzielt 1 273

Weniger Kistennebenbedingungen verletzt 98

Gesamtkistenzahl näher am Maximum 103

ja

= CPHI war erfolgreich 1 764

nein keine Verbesserung 5 876

Gesamt 7 640

Die ermittelten 290 Instanzen wurden als DM1-Testinstanzen bezeichnet und gespeichert.

Die Testreihe DM1 bestätigt, dass sich mit dem Verfahren CPGH CLP-Instanzen mit

bekanntem Optimum für verschiedene Problemgrößen und Heterogenitätsgrade erzeugen

lassen. Das Hinzufügen von Restriktionen und Variieren von VolPct sowie das Berechnen

ähnlicher Testreihen für das SPP und BPP bleibt Gegenstand weiterer Forschung.

Page 146: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

126 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

4.9.2 Mit CPGH erzeugte SPP-Instanzen

Drei Testreihen von SPP-Instanzen wurden erzeugt. Die im Folgenden als „L“, „G“ und „N“

bezeichneten Sets unterscheiden sich ausschließlich in der Struktur der Optimallösung. Dies

wird durch eine geeignete Konfiguration der Parametergruppe 4 (vgl. Tab. 18) erreicht. Für

VolPct wurde einheitlich 100% verwendet (vgl. Tab. 27). Eine Nachbarschaftssuche wird

nicht durchgeführt (useCPHI = 0). Die Testreihen unterscheiden sich jeweils durch die

Parameter useNG und useLayers. Nur bei Testreihe „N“ werden Nichtguillotineschnitte

verwendet. Alle Instanzen der Reihen „L“ und „G“ besitzen daher guillotinierbare Lösungen.

Nur in Testreihe „L“ ist die Lösung schichtweise in Richtung der Containerlänge aufgebaut.

Tab. 27. Parameter für die Struktur der Optimallösung der SPP-Instanzen.

Parametergruppe 4 Testreihe „L“

Testreihe „G“

Testreihe „N“

VolPct 100% 100% 100%

useCPHI 0 0 0

useNG 0 0 1

useLayers 1 0 0

Die Auslegung der übrigen Parametergruppen 1-3 fasst folgende Tab. 28 zusammen. Die

Charakteristik (Kistenabmessungen und Kistenzahl) der erzeugten Testinstanzen sollte

möglichst den Problemen von BISCHOFF UND RATCLIFF (1995) entsprechen. Die

Kistenvorräte reichen von schwach bis stark heterogen. Je 25 Instanzen wurden für jede

Kistentypzahl erzeugt, so dass insgesamt 3 · 8 · 25 = 600 Instanzen ermittelt wurden. Anstelle

von 15 Kistentypen werden bei der Testreihe „L“ 16 Kistentypen verwendet. Alle

Kistentypen müssen zudem den Vorgaben entsprechen (e_max = 0).

Tab. 28. Auslegung der Parametergruppen 1-3 für die SPP-Instanzen.

Gruppe Parameter Parameterwert

C1, C2, C3 650, 233, 220 1 (Container)

LD, VD 1, 3

n_min, n_max 150, 200 2 (Problemgröße)

t_min = t_max je 25 Instanzen mit den Werten: 8, 10, 12, 15 (16), 20, 30, 40, 50

i_min, i_max 1, 100

d_min, d_max 25, 130

v_min, v_max 253, 1303

r_max 4

3 (Kisten)

e_max 0

Page 147: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen 127

4.10 Zusammenfassung der Ergebnisse

In diesem Kapitel wurde der Instanzgenerator CPGH für C&P-Probleme mit quaderförmigen

Packstücken vorgestellt. Die Aufgabe besteht darin, eine Instanz wahlweise für das CLP,

SPP oder BPP zu finden, dessen Optimallösung bekannt ist und dessen Problemgröße und

Heterogenität vorgegeben sind. Außerdem sind bestimmte Anforderungen an die erzeugten

Kistentypen (bzgl. Länge, Anzahl, Volumen, Form) und die Struktur der Optimallösung (z.B.

Guillotinierbarkeit) einzuhalten.

Das Problem wird gelöst, indem der Container schrittweise verlustfrei in Packräume und

anschließend in einzelne Kisten zerlegt wird. Diese Kisten bilden dann (gemeinsam mit den

Containerdaten) die Instanz zu der durch das Zerlegen des Containers gegebenen

Optimallösung. Beim Zerschneiden der Packräume werden bestimmte vorgegebene

Schnittmuster (Nichtguillotine, Guillotine, Layer) beachtet. Die Schnitte werden zufällig

ermittelt, allerdings werden vorzugsweise Packräume herausgeschnitten, die größere

Chancen für die Bildung zulässiger Kistentypen aufweisen. Es kommen ausschließlich

einfache Anordnungen der Kisten innerhalb der Packräume zum Einsatz, bei denen die

Kisten eines Typs in identischer räumlicher Orientierung den Packraum füllen.

Ausgehend von einer erzeugten Lösung mit einfacher Packstruktur wird eine

Nachbarschaftssuche durchgeführt mit dem Ziel, komplexere zulässige Lösungen zu

ermitteln, wobei möglichst Kisten eines Typs in unterschiedlichen Teilanordnungen

innerhalb der Optimallösung verwendet werden sollen. Hierzu werden einige Packräume

verschmolzen und neu unterteilt, so dass zwei Nachbarlösungen eine verwandte

Packraumstruktur besitzen, aber nicht zwingend identische Kistentypen oder Kistenzahlen

verwenden. Eine zulässige Nachbarlösung mit höherem Verhältnis von eingesetzten

Packräumen zur eingesetzten Kistentypzahl wird als neue Bestlösung akzeptiert. Am Ende

der Nachbarschaftssuche werden der ermittelten Instanz ggf. zusätzliche Nebenbedingungen

hinzugefügt.

Bei den numerischen Tests wurde gezeigt, dass der vorgestellte Instanzgenerator es

ermöglicht, 3D-Benchmarkinstanzen unterschiedlichster Problemgröße und Heterogenität in

relativ kurzer Zeit (durchschnittlich 21 s.) zu erzeugen. Heterogenität und Größe wurden

dabei von sehr klein bis sehr groß in eher groben Schritten systematisch variiert. Durch die

Verwendung dieser Testreihen mit bekanntem Optimum sollte es möglich sein, die Eignung

von Lösungsverfahren besser beurteilen zu können.

Page 148: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

128 Kapitel 4 : Ein Verfahren zum Erzeugen von C&P-Instanzen

Es sollte zudem möglich sein, besonders harte Instanzen zu finden, die zur ihrer Lösung

besonders effektive Verfahren benötigen. Ähnliches wurde bereits beim 1D-BPP

durchgeführt. BELOV und SCHEITHAUER (2003) etwa berichten von 28 besonders

hartnäckigen 1D-BPP, die sich aus einer Menge von ca. 500.000 Instanzen von

SCHOENFIELD (2002) ergaben. Das Ermitteln von 2D- und 3D-Testreihen mit feinerer

Variation der Eigenschaften und hinzugefügten Restriktionen bleibt Gegenstand weiterer

Forschung.

Im Folgenden sollen nun Verfahren für SPP und BPP entwickelt werden, welche speziell auf

Probleme mit sehr großer Kistenzahl zugeschnitten und in der Lage sind, in kurzer Zeit

akzeptable Lösungen finden. Die Verwendung von Instanzen mit bekanntem Optimum soll

dabei eine differenzierte Beurteilung der Verfahren ermöglichen.

Page 149: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems 129

5 Ein Verfahren zur Lösung des dreidimensionalen

Strip Packing-Problems

5.1 Zielsetzung und Vorgehensweise

Im Gegensatz zum zweidimensionalen Fall wurden für das 3D-SPP bisher nur wenige

Lösungsverfahren vorgeschlagen (siehe Literaturübersicht in Kapitel 1.5.2). BORTFELDT und

GEHRING (1999a) stellen einen TSA und einen GA für das 3D-SPP vor. In beiden Fällen

werden die entsprechenden CLP-Lösungsverfahren an das 3D-SPP angepasst. Dabei werden

die wesentlichen Merkmale der Originalverfahren weitgehend übernommen (vgl. BORTFELDT

und GEHRING, 1998, sowie BORTFELDT und GEHRING, 2001). Für beide Verfahren wurden je

zwei Adaptationsansätze untersucht. Während der erste Ansatz unmittelbar von einem

Container mit beliebig großer Länge ausgeht, führt der zweite Ansatz die Lösung einer SPP-

Instanz auf die Berechnung einer Folge von CLP-Instanzen mit sinkenden Containerlängen

zurück. Der TSA wie auch der GA für das 3D-SPP wurden schließlich parallelisiert, wobei

jeweils alle beteiligten Prozesse gleichzeitig die vollständige Problemstellung bearbeiten.

In diesem Kapitel soll nun ein weiteres Containerbeladeverfahren, das Branch and Bound-

Verfahren von PISINGER (2002), an das dreidimensionale Strip Packing-Problem angepasst

werden. Dabei kommen die erwähnten Adaptationsansätze von BORTFELDT und GEHRING

(1999a) erneut zur Anwendung. Der Rest des Kapitels ist wie folgt gegliedert: Kapitel 5.2

gibt eine kurze Beschreibung des Verfahrens von PISINGER. In Abschnitt 5.3 wird dieser

Algorithmus an das SPP angepasst, während Abschnitt 5.4 die Heuristik einem Test

unterzieht. Abschnitt 5.5 fasst die Ergebnisse des Kapitels zusammen.

5.2 Die Heuristik von Pisinger für das Containerbeladeproblem

Das Verfahren von PISINGER (2002) basiert auf dem schichtbildenden Ansatz. Die

schichtartige Struktur der erzeugten Staupläne wird in Abb. 24 verdeutlicht. Die Breite, Höhe

und Länge des Containers werden mit W, H bzw. D bezeichnet. Die Breite und die Höhe

jeder Schicht ist durch das Containermaß W bzw. H bestimmt, während die entlang der

Längsrichtung des Containers verlaufende Schichttiefe jeweils geeignet zu ermitteln ist.

Page 150: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

130 Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems

Schicht 1 Schicht 2 D

H

Schicht-tiefe

a) Schichtstruktur b) Vorderansicht einer Schicht mit horizontalenund vertikalen Streifen

Streifen-breite wS2

H52

1

3

4

Streifenhöhe hS1

...

...

...

WSchicht 1 Schicht 2 D

H

Schicht-tiefe

a) Schichtstruktur b) Vorderansicht einer Schicht mit horizontalenund vertikalen Streifen

Streifen-breite wS2

H52

1

3

4

Streifenhöhe hS1

...

...

...

W

Abb. 24. Schichtartige Struktur eines Stauplans bei PISINGER (2002).

Um eine Schicht gegebener Tiefe zu füllen, wird diese sukzessive in mehrere Streifen

zerlegt, deren Tiefe mit der Schichttiefe übereinstimmt (vgl. Abb. 24a). Verwendet werden

Streifen horizontaler und vertikaler Richtung. Bei einem horizontalen Streifen ist die

Streifenhöhe hS geeignet zu wählen, während sich die Streifenbreite aus der

Containerbreite W und den bereits abgeteilten Streifen ergibt. Analog ist bei einem vertikalen

Streifen die Streifenbreite wS festzulegen, während die Streifenhöhe aus der Containerhöhe

H und den bereits vorhandenen Streifen resultiert. In Abb. 24b wurde zuerst ein horizontaler

Streifen 1 mit der Streifenhöhe hS1 und danach ein vertikaler Streifen 2 mit der Streifenbreite

wS2 erzeugt. Jeder Streifen wird durch mehrere, in Streifenrichtung hintereinander platzierte

Kisten gefüllt, während in den restlichen beiden Richtungen jeweils nur eine Kiste vorhanden

ist.

Das Verfahren löst das CLP als Maximumproblem; als Zielfunktion dient das verstaute

Kistenvolumen. Nachfolgend wird beschrieben, wie die besten Schichttiefen für die

Schichten eines Stauplans sowie die beste Streifenzerlegung einer Schicht ermittelt, und wie

die Kistenanordnung für einen Streifen berechnet wird.

(1) Die besten Schichttiefen werden mittels einer Baumsuche bestimmt. Für eine

vorliegende Teillösung, welche bereits eine gewisse Anzahl von Schichten umfasst,

werden M1 alternative Schichttiefen für die nächste Schicht ausgewählt. Pro

Schichttiefe wird eine Nachfolgeschicht erzeugt. Eine vollständige Lösung ist erreicht,

wenn entweder die verbleibende Containerlänge nicht mehr ausreicht, um eine weitere

Page 151: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems 131

Kiste zu verstauen, oder falls alle Kisten verladen wurden. In letzterem Fall terminiert

das Verfahren, da offenbar eine Optimallösung gefunden wurde.

(2) Zur Ermittlung der besten Ausrichtung und Maße der Streifen einer Schicht wird

ebenso jeweils eine Baumsuche durchgeführt. Liegt bereits eine Teillösung für eine

Schicht mit einer gewissen Anzahl von Streifen vor, so werden M2 Streifenhöhen für

einen horizontalen Streifen und M2 Streifenbreiten für einen vertikalen Streifen

gewählt. Für jede dieser 2 · M2 Streifenvarianten wird ein Nachfolgerstreifen, gegeben

durch die zugehörige Kistenanordnung, erzeugt.

(3) Beide Suchvorgänge sind als Backtracking-Suche ausgelegt und werden verzahnt

abgewickelt, wobei die Suche nach den besten Schichttiefen übergeordnet ist. Der

Suchaufwand wird zum einen mit Hilfe der bereits besprochenen Parameter M1 und M2,

welche die Anzahl der Nachfolger in den Suchbäumen begrenzen, beschränkt. Zum

anderen benutzt die Heuristik als Branch and Bound-Verfahren auf beiden Suchebenen

einfache Upper Bounds zur Reduzierung des Suchaufwands. So wird auf der Ebene der

Schichtsuche die Summe aus dem bereits verstauten Kistenvolumen einer Teillösung

und dem restlichen Containervolumen betrachtet. Dieses Gesamtvolumen bildet einen

Upper Bound für das Stauvolumen einer kompletten Lösung, welche aus dieser

Teillösung hervorgeht. Die Suche wird daher nicht weiter fortgesetzt, wenn der

Upper Bound nicht größer ist als das verstaute Kistenvolumen der aktuellen

Bestlösung.

(4) Die betrachteten Schicht- und Streifenmaße werden jeweils einheitlich nach einer

heuristischen Regel bestimmt. Als besonders erfolgreich erweist sich dabei eine Regel,

bei der für die Schicht- und Streifenmaße einerseits besonders große und andererseits

besonders häufig vorkommende Kistenabmessungen – bezogen auf die jeweils noch

nicht verpackten Kisten – gewählt werden.

(5) Zur Bestimmung der Kistenanordnung für einen Streifen werden die noch unverstauten

und in den Streifen passenden Kisten ermittelt. Jede dieser Kisten wird geeignet

gedreht, so dass die zur Streifenrichtung orthogonalen Streifenmaße möglichst gut

ausgelastet sind. Dadurch ist für jede Kiste das in Streifenrichtung liegende Kistenmaß

festgelegt. Es liegt demnach ein eindimensionales Knapsackproblem vor, das mit einem

effizienten Teilverfahren optimal gelöst wird. Um die Streifen in der Längsrichtung des

Containers möglichst gut auszulasten, werden teilweise auch Kisten gepaart, wobei die

Kistenpaare dann als Einzelkisten in die Berechnung der Streifenanordnung eingehen.

Page 152: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

132 Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems

Das Verfahren berücksichtigt keine zusätzlichen Restriktionen und beachtet insbesondere

keine Stabilitätsanforderungen, wie etwa die ausreichende Unterstützung aller nicht auf dem

Containerboden platzierten Kisten. Während das Verfahren daher für das

3D-Zuschnittproblem ohne weiteres nutzbar ist, erfordert seine Verwendung als

Packverfahren eventuell zusätzliche Maßnahmen wie beispielsweise den Einsatz von

Füllstoffen. Für diesen Beitrag wurde die Heuristik von PISINGER dahingehend erweitert,

dass die in Kapitel 1.2.4 eingeführte Orientierungsrestriktion (C1a) eingehalten

wird (vgl. Tab. 3, S.8).

5.3 Anpassung an das Strip Packing-Problem

Im Folgenden werden zwei Ansätze der Anpassung des Verfahrens von PISINGER

(nachfolgend kurz als CLP-Verfahren bezeichnet) an das 3D-SPP beschrieben. Zunächst

sollen einige Bezeichnungen eingeführt werden.

Eine 3D-SPP-Instanz, gegeben durch das Tupel (W, H, J) mit einer Kistenmenge J, kann

durch das Hinzufügen der gegebenen Containerlänge D zu einer CLP-Instanz (W, H, D, J)

erweitert werden. Die resultierende CLP-Instanz wird als „zugehörige CLP-Instanz“ des SPP

bezeichnet. Eine Lösung der zugehörigen CLP-Instanz, welche sämtliche Kisten

aus J verpackt, ist gleichzeitig eine Lösung der SPP-Instanz und wird als SPP-Lösung

bezeichnet.

Ist s eine Lösung der SPP-Instanz, so sei dU(s) die von s benötigte Containerlänge, also der

Teil der Containerlänge, der von Kisten belegt ist. Bei geeigneter Definition eines

3D-Koordinatensystems wird dU als maximale Koordinate der verladenen Kisten in

Längsrichtung des Containers berechnet.

Der kontinuierliche Lower Bound clb für die benötigte Containerlänge dU wird in Alg. 13

berechnet. Bei beiden nachfolgend vorgestellten Adaptationen wird die Suche abgebrochen,

falls clb erreicht wurde, oder falls eine vorgegebene Zeitschranke maxTime überschritten

wird.

5.3.1 Adaptation mit offenem Container

Der erste Ansatz wird als „Adaptation mit offenem Container“ bezeichnet. Die grundlegende

Idee ist hier, für die zugehörige CLP-Instanz eine praktisch unendliche Containerlänge D zu

Page 153: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems 133

definieren. Sei mj die minimale Ausdehnung einer Kiste j aus J, so dass j in dem leeren

Container angeordnet werden kann und mj parallel zur Containerlänge D verläuft. Definiert

man D = ∑ (j ∈ J) mj, so gibt es offensichtlich eine Anordnung aller Kisten aus J in dem

Container. Führt nun das CLP-Verfahren mit der so bestimmten Containerlänge D eine

Suche durch, so kann auf jedem Suchpfad der übergeordneten Schichtsuche erst dann keine

weitere Schicht mehr erzeugt werden, wenn keine weitere Kiste mehr zu packen ist bzw.

wenn eine zulässige Lösung für das SPP erreicht wurde (vgl. Punkt (1) in Abschnitt 5.2).

Das CLP-Verfahren wird nun wie folgt modifiziert:

• Als Zielfunktion wird die zu minimierende benötigte Containerlänge dU verwendet.

• Der Suchprozeß bricht nicht ab, sobald alle Kisten verstaut sind, da die Fortsetzung der

Suche zu zulässigen SPP-Lösungen mit besserem Zielfunktionswert führen kann

(vgl. Punkt (1) in Abschnitt 5.2). Ein Abbruch der Suche erfolgt jedoch dann, wenn der

Zielfunktionswert der besten erzeugten Lösung, bezeichnet durch dUbest, den

Lower Bound clb erreicht.

• Die übergeordnete Schichtsuche wird in abgeänderter Weise beschränkt

(vgl. Punkt (3) in Abschnitt 5.2). Eine vorliegende, aus einer oder mehreren Schichten

bestehende Teillösung s beanspruche die Containerlänge dU(s), clb(s) bezeichne den

kontinuierlichen Lower Bound der benötigten Containerlänge, bezogen auf die

Kistenmenge, welche noch nicht in s verstaut ist. Dann bildet offenbar die Summe

dU(s) + clb(s) einen Lower Bound für die benötigte Containerlänge aller

(vollständigen) Lösungen der SPP-Instanz, die aus der Teillösung s hervorgehen

können. Daher wird die Berechnung von s nur dann fortgesetzt, falls der Wert

dU(s) + clb(s) den bisher besten Zielfunktionswert dUbest unterbietet.

5.3.2 Adaptation mit geschlossenem Container

Der zweite Anpassungsansatz, benannt als Adaptation mit geschlossenem Container, basiert

auf den folgenden Überlegungen. Die Berechnung eines 3D-SPP wird auf die Lösung einer

Folge von CLP-Instanzen mit sinkenden Containerlängen zurückgeführt. Jede CLP-Instanz

wird durch das CLP-Verfahren gelöst. Die Containerlängen der entsprechenden

CLP-Instanzen werden dabei sukzessive verringert. Ist ein Ergebnis des CLP-Verfahrens eine

SPP-Lösung, so stellt diese Lösung gleichzeitig eine neue Bestlösung für das SPP dar. Um

Page 154: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

134 Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems

den Suchaufwand zu beschränken, werden bei der Berechnung einer neuen SPP-Lösung

möglichst viele Schichten aus der vorigen SPP-Lösung beibehalten.

Das CLP-Verfahren wird in eine Steuerheuristik eingebettet, die in Alg. 12 dargestellt und

nachfolgend erläutert wird.

procedure SPBBL_CC ( in: Containerbreite W, Containerhöhe H, Kistenmenge J; out: Bestlösung sbest, benötigte Containerlänge dUbest) { Initialisieren }

sbest:= ∅; { Bestlösung }

clb:= ⌈(∑ (j ∈ J) vol(j) / (W · H)⌉; { kontinuierlicher Lower Bound }

D:= ∑ (j ∈ J) mj; { aktuelle Containerlänge }

{ Anweisungen (Hauptschleife) } repeat löse die CLP-Instanz (W, H, D, J); if Lösung s ist SPP-Lösung, d.h. s enthält alle Kisten aus J then sbest:= s; dUbest:= benötigte Containerlänge dU(s); D:= dU(s) - 1; { reduziere Containerlänge für den nächsten Durchlauf } endif ; until (s ist keine SPP-Lösung);

end.

Alg. 12. Steuerheuristik der SPP-Variante mit geschlossenem Container.

Die Steuerheuristik beginnt mit der Initialisierung der Bestlösung und der Containerlänge

D = ∑(j ∈ J) mj analog zu der vorigen Variante aus Kapitel 5.3.1.

Bei jedem Aufruf der folgenden Hauptschleife wird ein zugeordnetes CLP gelöst, welches

durch eine bestimmte Containerlänge D eindeutig definiert ist. Ist die Lösung s des CLP

gleichzeitig eine SPP-Lösung, so wird die von s benötigte Containerlänge dU(s) berechnet

und s als die neue Bestlösung für das SPP gespeichert. dU(s) wird berechnet, Offensichtlich

gilt: dU(s) < D. Anschließend wird D für den nächsten Durchlauf der Hauptschleife auf den

Wert dU(s) - 1 gesetzt. So wird sichergestellt, dass die nächste berechnete SPP-Lösung einen

neuen Bestwert liefert. Wird in einem Durchgang dagegen keine neue SPP-Lösung ermittelt,

bricht das Verfahren ab; die jeweilige Bestlösung sbest und die Containerlänge dUbest werden

zurückgegeben.

Eine zugeordnete CLP-Instanz wird wie folgt berechnet (siehe hierzu Alg. 13 S.136):

• Ist sbest noch leer, hat D also den Initialwert, so wird das zugeordnete CLP vollständig

mit dem CLP-Algorithmus berechnet;

Page 155: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems 135

• Ansonsten werden bis zu maxTr Versuche durchgeführt mit dem Ziel, eine von der

aktuellen Bestlösung sbest abgeleitete neue SPP-Lösung für die aktuelle Containerlänge

D zu erreichen. Zu diesem Zweck werden die nL Schichten aus sbest absteigend nach

ihrer Volumenauslastung sortiert und in dieser Reihenfolge im Container angeordnet.

Die Volumenauslastung einer Schicht bezeichnet das Verhältnis des Volumens der in

dieser Schicht angeordneten Kisten zum gesamten Schichtvolumen. Hohe

Volumenauslastungen in Schichten sind ein Indikator für gute Packmuster, die

möglichst beibehalten werden sollten. Die am Ende des Containers platzierten

Schichten haben demgegenüber eher schwache Volumenauslastungen und es ist

anzunehmen, dass diese Schichten durch Umverteilung besser ausgelastet werden

können.

• Die Anzahl der Schichten in sbest, welche am Ende des Containers angeordnet sind und

im nächsten Iterationsschritt iTr aufgelöst werden, sei als nLnew(iTr) bezeichnet. Diese

Schichten enthalten eine Teilmenge der Kisten aus J, welche nachfolgend als Jnew

bezeichnet wird. Die Anzahl verbleibender Schichten ist definiert als nLkept(iTr):= nL -

nLnew(iTr). Angenommen, diese nLkept(iTr) Schichten beanspruchen eine

Containerlänge Dkept. Dann kann eine CLP-Instanz abgeleitet werden, welche Jnew

Kisten in einer Containerlänge D - Dkept verstauen soll. Falls das CLP-Verfahren eine

zulässige SPP-Lösung für Jnew findet, d.h. wenn sämtliche Items aus Jnew verladen

werden, so bildet die Vereinigung der beibehaltenen Schichten mit den neu erzeugten

Schichten eine SPP-Lösung für die Kistenmenge J und Containerlänge D.

• Die Anzahl aufzulösender Schichten nLnew(iTr) wird in jedem Iterationsschritt iTr

erhöht. Abhängig vom Wert von nL wird entweder eine lineare oder eine

Inkrementierung entsprechend einer geometrischen Folge gewählt:

o Falls nL / (2(maxTr-1)) < 2, so wird nLnew(iTr) linear erhöht:

nLnew(iTr):= nL – (maxTr – iTr) · nConst, wobei nConst := nL / maxTr;

o Falls nL / (2(maxTr-1)) > 2, wird nLnew(iTr) geometrisch erhöht:

nLnew(iTr):= nL / 2(maxTr - iTr), wobei iTr = 1,.. maxTr.

In jedem Fall soll versucht werden, durch die Zusammenlegung von nur zwei

Schichten mit schlechtester Auslastung eine Verbesserung zu erreichen. Daher wird

ein zusätzlicher Versuch iTr = 0 mit nLkept(0) = 2 vor iTr = 1 eingefügt, falls

nLkept(1) > 2.

Page 156: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

136 Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems

• Bei der Berechnung einer zugeordneten CLP-Instanz sind ausschließlich solche

Lösungen von Interesse, die gleichzeitig eine SPP-Lösung bezüglich Jnew darstellen.

Daher wird die Suche auf Schichtebene abgebrochen, falls das Volumen der

verbleibenden Kisten das verfügbare Restvolumen im Container überschreitet. Kein

weiterer Versuch wird durchgeführt, wenn eine SPP-Lösung für D gefunden wurde.

{ Initialisiere Berechnung für Containerlänge D } nL:= Anzahl der Schichten in der aktuellen Bestlösung sbest; s:= Ø;

{ Führe mehrere Versuche durch, um eine SPP-Lösung für die Containerlänge D zu ermitteln } for iTr:= 1 to maxTr do { Parameter maxTr > 1 } bestimme die Anzahl nLkept der nicht aufzulösenden Schichten aus sbest; if nLkept > 0 then Menge der nicht aufzulösenden Schichten s_kept:= Menge der nLkept Schichten aus sbest mit höchster Volumenauslastung; Dkept:= von s_kept benötigte Containerlänge; Menge der zu verladenden Kisten Jnew:= Menge der Kisten in den (nL - nLkept) Schichten von sbest mit der schwächsten Volumenauslastung; else s_kept:= ∅; Dkept:= 0; Jnew:= J; endif ; löse die CLP-Instanz (W, H, D - Dkept, Jnew) mit dem CLP-Algorithmus; setze s_new := berechnete Lösung; setze Lösung für iTr-ten Versuch s:= s_kept ∪ s_new; if s_new enthält sämtliche Kisten aus Jnew or sbest = ∅ then exit for ; { Schleife verlassen } endif ; endfor; Ausgabe von s;

Alg. 13. Berechnung einer zugeordneten CLP-Instanz.

Da für jede betrachtete Containerlänge die Anzahl der aufgelösten Schichten im Laufe der

Versuche schrittweise erhöht wird, zielt der Ansatz darauf ab, jeweils möglichst wenige

Schichten neu zu berechnen. Um die Chancen auf eine erfolgreiche Reduzierung der

beanspruchten Containerlänge zu erhöhen, werden jedes Mal die Schichten mit der

schlechtesten Auslastung aufgelöst. Die Anzahl der Versuche maxTr ist als Parameter

ausgelegt.

Abb. 25 zeigt eine Zwischenlösung für eine Testinstanz mit 8 Kistentypen und Verfahrenstyp

2 (geschlossener Container). Diese Lösung zeigt sieben vertikale Schichten, die nach

Volumenauslastung sortiert sind. Im nächsten Iterationsschritt werden zunächst testweise die

Page 157: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems 137

beiden vorderen Schichten entladen. Der Algorithmus versucht anschließend, die

entnommenen Kisten umzupacken, so dass die benötigte Containerlänge kleiner ist als die

Länge der aufgelösten Schichten. Wird keine solche Lösung gefunden, werden weitere

Schichten aufgelöst.

Abb. 25. Vorläufige SPP-Lösung einer Testinstanz mit 8 Kistentypen.

5.4 Verfahrenstest

Das vorgeschlagene Verfahren wird nachfolgend als SPBBL (Strip Packing,

Branch and Bound, Layer Ansatz) bezeichnet, wobei die Adaptationsvarianten mit offenem

und mit geschlossenem Container mit SPBBL-OC (Open Container) bzw. SPBBL-CC

(Closed Container) abgekürzt werden. Bei der Implementierung des Verfahrens wurde der

auf der Homepage von PISINGER bereitgestellte C-Code der Heuristik genutzt und ergänzt.

Der Test wurde auf einem Athlon-PC mit der Taktfrequenz von 2 GHz durchgeführt.

Nachfolgend werden mehrere Benchmarkinstanzen vorgestellt und die Konfiguration der

Heuristik wird beschrieben, bevor die numerischen Resultate vorgestellt werden.

5.4.1 Benchmarkinstanzen für das SPP

Benchmarkinstanzen für das SPP sind in der Literatur nur schwer zu finden. Für den Test des

Verfahrens wird daher eine Auswahl der von BISCHOFF und RATCLIFF (1995) bzw.

DAVIES und BISCHOFF (1998) vorgeschlagenen 1500 Instanzen für das

Containerbeladeproblem verwendet. Die ersten 700 Instanzen sind in der OR-Library

Page 158: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

138 Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems

abgelegt (siehe http://mscmga.ms.ic.ac.uk/). Die 1500 Instanzen gliedern sich in 15 Testfälle

zu je 100 Problemen. Alle Instanzen eines Testfalls stimmen bezüglich der Anzahl der

Kistentypen überein. Diese Testprobleme werden nachfolgend als BR-Instanzen bezeichnet.

Werden die vorgegebenen Containerlängen ignoriert, so lassen sich diese CLP-Instanzen

unmittelbar als 3D-SPP-Instanzen nutzen. Hier werden nur die ersten 10 Instanzen der ersten

10 Testfälle für den Test verwendet und in 10 SPP-Testfälle mit je 10 Instanzen gegliedert,

die als SP-BRi, i = 1,…,10 bezeichnet werden. Die Orientierungsrestriktion (C1a) der

Originalbeispiele wird beibehalten. Weitere Bedingungen werden nicht berücksichtigt;

insbesondere werden bei dem Verfahrenstest keine Stabilitätsrestriktionen beachtet. In

Tab. 29 werden die Kenndaten der 10 Testfälle zusammengefasst. Sie zeigen, dass sich der

Charakter der Kistenvorräte schrittweise von schwach zu stark heterogen wandelt.

Tab. 29. Kenndaten der Testfälle SP-BR1 bis SP-BR10.

Testfall Anzahl Kistentypen

mittlere Kistenzahl

mittlere Kistenzahl

pro Typ

SP-BR01 3 139.4 46.5

SP-BR02 5 140.1 28.0

SP-BR03 8 135.4 16.9

SP-BR04 10 132.2 13.2

SP-BR05 12 127.8 10.6

SP-BR06 15 133.8 8.9

SP-BR07 20 129.2 6.5

SP-BR08 30 138.0 4.6

SP-BR09 40 127.5 3.2

SP-BR10 50 129.2 2.6

Zusätzlich werden 100 3D-Instanzen mit je 1.000 Kisten aus den Originalproblemen von

BISCHOFF und RATCLIFF (1995) abgeleitet, um die Tauglichkeit des Verfahrens für große

Probleme zu beurteilen. Die Originalcontainermaße sowie alle Kistenabmessungen werden

beibehalten. Die Anzahl der Kisten werden dagegen entsprechend ihrem Verhältnis zu den

Originalzahlen erhöht. Zu diesem Zweck wird der Skalierungsfaktor 1000 / nItems auf alle

Kistentypzahlen angewendet (hierbei bezeichnet nItems die Gesamtkistenzahl im

Originalproblem). Rundungsfehler werden durch eine Anpassung der Kistenzahlen des

letzten Typs ausgeglichen. Die resultierenden 10 Testfälle werden im Folgenden als SP-BRi-

XL ( i = 1,.., 100) bezeichnet.

Page 159: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems 139

Die Optima für die SPP-Instanzen sind nicht bekannt, was die Auswertung der Resultate im

Bezug auf die Leistungsfähigkeit des Algorithmus erschwert. Deshalb werden zusätzliche

Instanzen mit bekannter Optimallösung bei einer Volumenauslastung von 100% verwendet.

Diese Instanzen wurden mit Hilfe des Instanzgenerators CPGH aus Kapitel 4 erzeugt

(siehe S.126). Der Erzeugungsprozess sei hier nur kurz skizziert. Der gegebene Container

wird verlustfrei in nTypes verschiedene quaderförmige Packräume unterteilt. nTypes

bezeichnet dabei die gewünschte Anzahl an Kistentypen für die neue Instanz. Jeder

Packraum wird anschließend in eine Anordnung von Kisten zerlegt, welche identische

Abmessungen und eine identische räumliche Orientierung aufweisen. Die Kistendimensionen

werden weitestgehend zufällig gewählt. Um so genannte pathologische Kisten mit atypischen

Kistenmaßen zu vermeiden, werden zusätzliche Nebenbedingungen eingehalten

(beispielsweise bezüglich des Verhältnisses von Kistenlänge zu Kistenbreite). Alle so

gewonnenen Kisten bestimmen den Kistenvorrat J. Die drei folgenden Varianten werden

beim Zerschneiden des Containers betrachtet (siehe Abb. 26):

(1) Variante „Layer“ (L):

Der Container wird zunächst in nTypes / 2 Schichten zerlegt, die in Längsrichtung des

Containers aufeinanderfolgen. Die Schichttiefen werden zufällig gewählt. Jede Schicht

wird anschließend in zwei nebeneinander oder übereinander liegende Packräume

zerlegt.

(2) Variante „Guillotine“ (G):

In dieser Variante werden Packräume iterativ zerlegt. Bei jedem Iterationsschritt wird

ein zur Verfügung stehender Packraum ausgewählt und durch einen Guillotineschnitt

zersägt. Richtung und Schnittpunkt werden dabei zufällig ermittelt.

(3) Variante „Non-Guillotine“ (N):

Diese komplexere Variante zielt darauf ab, eine nichtguillotinierbare Optimallösung zu

erzeugen. Der Container wird dazu in fünf Packräume nach einem nicht-

guillotinierbaren Muster zersägt. Anschließend werden die Packräume nach Prinzip (2)

weiterbearbeitet.

Page 160: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

140 Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems

Zerlegevariante„Layers“

Zerlegevariante„Guillotine“

Zerlegevariante„Non-Guillotine“

W W W

D D D

Zerlegevariante„Layers“

Zerlegevariante„Guillotine“

Zerlegevariante„Non-Guillotine“

W W W

D D D

Abb. 26. Drei Zerlegungsvarianten für den Container (Draufsicht).

Die Instanzen sollten eine ähnliche Charakteristik aufweisen wie die BR-Instanzen.

Allerdings werden keine Orientierungsrestriktionen verlangt. Die folgenden Parameter

wurden für den Problemgenerator verwendet: als Beschränkungen für die Kistendimensionen

dienten die Parameterwerte d_min = 25 und d_max = 130; die Gesamtzahl an Kisten pro

Instanz sollte 200 nicht überschreiten, und der so genannte „Aspect Ratio“ für jeden

Kistentyp, gegeben durch den Quotienten: (größte Kistendimension) / (kleinste

Kistendimension), wurde auf den Wert r_max = 4 festgelegt. Als Containerdimensionen

wurden W = 233, H = 220 und D = 650 festgelegt. Die Anzahl an Kistentypen t_min = t_max

wird systematisch variiert und erhält die Werte 8, 10, 12, 15, 20, 30, 40 und 50 (für

Zerlegungsvariante „L“ wird t_min = t_max = 16 anstatt 15 verwendet). Für jede der drei

Zerlegungsvarianten und jeden Wert der Kistentypzahlen werden 25 Instanzen erzeugt. So

entstehen 24 Testfälle mit insgesamt 600 Instanzen, bei denen die Abweichung vom

Optimum bei Anwendung der SPP-Heuristik bestimmt werden kann. Jeder Testfall wird

entsprechend der Zerlegeform mit „L“, „G“ oder „N“, gefolgt von der Kistentypzahl,

bezeichnet.

5.4.2 Konfiguration der Heuristik

Die Heuristik SPBBL wird wie folgt konfiguriert: für die Parameter der Basisheuristik M1

und M2 (siehe Kapitel 5.2) wurden die Werte 4 bzw. 8 verwendet. Weitere Suchparameter

der Heuristik, welche zur Beschränkung des Suchaufwands dienen, wurden unverändert von

PISINGER (2002) übernommen. Die Zeitschranke pro Instanz wird auf 160 s. gesetzt. Die

Page 161: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems 141

maximale Anzahl an Versuchen bei gegebener Containerlänge (Parameter maxTr) wird auf 4

gesetzt. Zusätzlich wird ein Testlauf bei Verwendung von maxTr = 1 durchgeführt, um die

Eignung des Konzepts der teilweisen Auflösung der Schichten pro CLP-Instanz zu

überprüfen. Bei maxTr = 1 werden immer sämtliche Schichten der vorherigen SPP-Lösung

aufgelöst. So wird erzwungen, dass jeweils eine vollständig neue CLP-Lösung berechnet

wird (vergleiche Kap. 5.3.2, Alg. 13). Im Folgenden wird der Algorithmus SPBBL-CC bei

maxTr = 4 als SPBBL-CC4, die Variante maxTr = 1 als SPBBL-CC1 bezeichnet.

5.4.3 Numerische Resultate

Vergleich der verschiedenen Varianten von SPBBL

In folgender Tab. 30 werden die Resultate beider Adaptationsvarianten für die Testfälle

SP-BRi angegeben. Für jede Variante von SPBBL und zu jedem Testfall werden die

Volumenauslastung (VU = „Volume Utilisation“) sowie die mittlere, zum Ermitteln der

Bestlösung benötigte Rechenzeit TTB („Time To Best“) in Sekunden (s.) angegeben.

Tab. 30. Resultate für die Testfälle SP-BRi.

SPBBL-OC SPBBL-CC1 SPBBL-CC4 Test fall VU

(%) TTB (s.)

VU (%)

TTB (s.)

VU (%)

TTB (s.)

NBS GAP (%)

SP-BR01 87.1 12.6 87.2 22.9 87.3 9.4 10 12.7

SP-BR02 88.2 27.1 88.3 25.9 88.6 12.4 10 11.4

SP-BR03 88.8 26.2 89.3 29.4 89.4 19.0 9 10.6

SP-BR04 89.3 76.3 89.6 55.8 90.1 29.6 10 9.9

SP-BR05 88.1 57.0 88.8 47.3 89.3 13.3 10 10.7

SP-BR06 87.5 41.6 89.4 99.0 89.7 22.3 8 10.3

SP-BR07 87.8 50.9 88.7 91.1 89.2 45.7 7 10.8

SP-BR08 86.1 58.7 87.9 94.4 87.9 53.3 8 12.1

SP-BR09 83.4 58.1 86.9 94.7 87.3 82.4 9 12.7

SP-BR10 83.0 62.0 85.6 90.4 87.6 82.9 9 12.4

Mittel 86.9 47.0 88.1 65.1 88.7 37.0 9.0 11.3

Zeit 129 s. 112 s. 99 s.

Zusätzlich werden die Werte NBS und GAP für die Variante SPBBL-CC4 angegeben. NBS

(Abkürzung für „Number of Best Solutions“) steht für die Anzahl der Testinstanzen, bei

denen SPBBL-CC4 den Bestwert (in Konkurrenz zu SPBBL-OC und SPBBL-CC1) erreicht.

Es sei daran erinnert, dass SPBBL-CC4 die Variante mit geschlossenem Container (Closed

Container) und je 4 Versuchen der Umschichtung bezeichnet (maxTr = 4), während

SPBBL-CC1 die Variante mit geschlossenem Container und Neuverladen sämtlicher Kisten

Page 162: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

142 Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems

in einem Durchgang (maxTr = 1) bei jeder untersuchten Containerlänge bezeichnet. Die

dritte Variante SPBBL-OC steht für die in Kapitel 5.3.1 vorgestellte Adaptationsvariante mit

offenem Container (Open Container).

GAP steht für die relative Abweichung vom Continuous Lower Bound clb und wird

berechnet als (VU - clb) / clb. Die angegebenen Werte entsprechen Mittelwerten über jeweils

10 Instanzen. Die Zeile „Mittel“ zeigt die Mittelwerte von VU, TTB, NBS und GAP über alle

Testfälle. Die gemittelten Berechungszeiten pro Instanz über alle 10 Testfälle werden in der

letzten Zeile von Tab. 30 angegeben.

Aus den Resultaten von Tabelle 30 ist folgendes ersichtlich:

• Die Variante SPBBL-CC4 erreicht die besten Volumenauslastungen für 90 der 100

getesteten Instanzen, während SPBBL-OC und SPBBL-CC1 den Bestwert für 27 bzw.

44 Instanzen stellen. Im Mittel über alle Testinstanzen wird bei SPBBL-CC4 eine eher

geringe Abweichung vom kontinuierlichen Lower Bound von 11.3% erreicht.

• Die Adaptation mit geschlossenem Container dominiert klar die Variante mit offenem

Container. Die Resultate über alle Testinstanzen weisen eine nicht unerhebliche

Verbesserung der Volumenauslastung und dementsprechend der Reduzierung der

Containerlänge auf. Bei der Variante SPBBL-CC4 konnte die Volumenauslastung so

um 1.8% des Containervolumens gegenüber SPBBL-OC gesteigert werden.

Gleichzeitig wurde eine mittlere Zeitersparnis von 23% erzielt.

• Die Kernidee der Adaptationsvariante SPBBL-CC, also das Beibehalten mehrerer im

Suchverlauf erzeugter Schichten pro CLP-Instanz, hat sich als sehr effizient erwiesen.

Im direkten Vergleich mit SPBBL-CC1 wurde so eine Steigerung von VU um 0.6% des

Containervolumens erzielt, bei gleichzeitiger Verbesserung von TTB um 43%

(37 statt 65 s.). Im Durchschnitt wurden nur 38% aller Schichten für ein gegebenes

Problem mit SPBBL-CC4 im Suchverlauf aufgelöst. Da sämtliche Kisten der

BR-Instanzen vergleichbare Seitenlängen aufweisen und in einer Schicht jeweils eine

(oder maximal zwei) Kisten parallel zur Streifenbreite liegen, enthält jede Schicht

ähnlich viele Kisten (vgl. Abb. 25). Da durchschnittlich mehr als die Hälfte der

Schichten beibehalten werden, weisen folgerichtig die im Suchverlauf mit dem

CLP-Verfahren berechneten Probleme kleinere Kistenmengen auf. Die Komplexität der

zu lösenden CLP-Probleme ist also wesentlich geringer als beim Originalproblem. 61%

Page 163: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems 143

aller zwischenzeitlich ermittelten Ergebnisse wurden durch Auflösen und

Verschmelzen von nur zwei Schichten erreicht.

In folgender Abb. 27 wird ein typischer Suchverlauf anhand von Testinstanz 7 aus Testfall

SP-BR5 illustriert. Alle konkurrierenden Verfahren SPBBL-OC, SPBBL-CC1 und

SPBBL-CC4 sind abgebildet. Die Varianten SPBBL-OC und SPBBL-CC1 benötigen 119

bzw. 44 s., um den Bestwert zu erreichen, während SPBBL-CC4 bereits nach 27 s. den

Bestwert liefert. SPBBL-CC4 erzeugt insgesamt 15 SPP-Lösungen, wobei 10

Zwischenlösungen bereits durch Auflösen von nur zwei Schichten zustande kommen. Mehr

als 90% der Rechenzeit fließt in die Berechnung der 5 restlichen Lösungen. Dieses Beispiel

zeigt, dass der Hauptanteil des Aufwands auf das Lösen weniger CLP-Instanzen entfällt.

80

81

82

83

84

85

86

87

88

89

90

0 20 40 60 80 100 120

time [s]

volu

me

utiliz

atio

n [%

]

SPBBL-OC

SPBBL-CC (maxTr=1)

SPBBL-CC (maxTr=4)

Abb. 27. Suchverlauf der konkurrierenden SPP-Verfahren (SP-BR5-007).

Folgende Tabelle 31 zeigt die Resultate der Testfälle SP-BRi-XL mit 1.000 Kisten pro

Instanz. Die Tabelle ist identisch aufgebaut wie Tab. 30. Die Schlussfolgerungen aus Tab. 31

sind ähnlich zu denen aus Tab. 30. Die Variante SPBBL-CC4 erreicht auch hier die besten

Volumenauslastungen (VU = 90% im Durchschnitt) mit dem geringsten Zeitaufwand

(74 Sekunden) und findet zudem die Bestwerte in 88 der 100 Instanzen, während die

restlichen Verfahren die Bestwerte zu je nur 8 Instanzen stellen. Bei diesen Instanzen

überbietet SPBBL-OC die Resultate von SPBBL-CC1 um 0.3% des Containervolumens.

Page 164: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

144 Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems

Tab. 31. Resultate für die Testfälle SP-BRi-XL.

SPBBL-OC SPBBL-CC1 SPBBL-CC4 Testfall VU

(%) TTB (s.)

VU (%)

TTB (s.

VU (%)

TTB (s.)

NBS GAP (%)

SP-BR01-XL 84.5 73.4 84.0 96.9 86.9 42.0 9 13.1

SP-BR02-XL 86.5 72.2 86.1 116.2 88.3 23.0 7 11.7

SP-BR03-XL 88.5 87.1 87.7 132.8 89.8 63.7 8 10.2

SP-BR04-XL 89.2 82.2 88.8 101.1 90.2 50.0 9 9.8

SP-BR05-XL 88.8 56.7 88.6 106.8 89.9 57.0 10 10.1

SP-BR06-XL 90.1 68.8 90.0 84.0 91.5 66.8 8 8.5

SP-BR07-XL 89.3 117.0 89.2 76.5 91.0 82.8 9 9.0

SP-BR08-XL 89.2 84.7 89.2 74.8 90.8 116.2 8 9.2

SP-BR09-XL 89.1 82.8 89.1 21.6 90.9 111.5 10 9.1

SP-BR10-XL 88.4 79.7 88.6 49.2 90.4 127.9 10 9.6

Mittel 88.4 80.5 88.1 86.0 90.0 74.1 8.8 10.0

Rechenzeit 160 s. 160 s. 157 s.

Für die beste Variante SPBBL-CC4 wurden durchschnittlich nur 8.7% der Schichten

aufgelöst um neue Bestwerte zu erzielen. In über 61% der Fälle war es ausreichend, genau

zwei Schichten aufzulösen, um einen neuen SPP Bestwert zu erreichen. Zu bemerken ist,

dass eine Lösung dieser Instanzen im Durchschnitt 54 Schichten enthält. Es stellt sich somit

heraus, dass sich die Variante mit geschlossenem Container besonders gut für sehr große

Probleminstanzen eignet.

Zum Schluss soll noch erwähnt werden, dass weitere Tests gezeigt haben, dass eine

Erhöhung von maxTr sich weder für die Testfälle SP-BRi noch für die Probleme

SP-BRi-XL lohnt.

Berechnung von Instanzen mit bekanntem Bestwert

Im Folgenden wird untersucht, ob die beste Variante SPBBL-CC4 in der Lage ist,

nahoptimale Lösungen zu erzeugen. Zu diesem Zweck werden die 600 Instanzen berechnet,

die in Abschnitt 5.4.1 eingeführt und mit der Basisheuristik des Instanzgenerators CPGH

(siehe Kapitel 4.4) erzeugt wurden. Die Resultate der Tests sind in folgender Tab. 32

wiedergegeben. Die Bezeichnung der Probleme wurden aus Abschnitt 5.4.1 übernommen. In

dieser Tabelle bezeichnet GAP die relative Abweichung vom bekannten Optimum.

Nahoptimale Lösungen wurden bei den Testfällen des Typs „L“ erreicht, während die

Resultate der übrigen Testinstanzen etwas schlechter ausfallen. Alles in allem erscheinen die

Resultate zufriedenstellend. Diese Beurteilung wird unterstützt durch den Vergleich mit

Page 165: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems 145

anderen Experimenten für das 2D-SPP. MUMFORD-VALENZUELA et al. (2003) berechneten

Probleme mit 100 und 200 Kisten. Diese Instanzen wurden ebenfalls durch das verlustfreie

Zerschneiden eines Containers erreicht, so dass auch hier die Optimalwerte bekannt waren.

Die Autorinnen berichten von Abweichungen vom Optimum in der Größenordnung von 8%.

Es kann außerdem in Tab. 32 beobachtet werden, dass die Lösungsqualität offenbar nicht

vom Grad der Heterogenität des Kistenvorrats abhängt. Schließlich ist aus TTB ersichtlich,

dass die Bestwerte in recht kurzer Zeit erreicht wurden.

Tab. 32. Berechnung mit SPBBL-CC4 von Instanzen mit bekanntem Optimum.

Testfall ‚Layers’

VU (%)

GAP (%)

TTB (s.)

Testfall ‚Guillo-

tine’

VU (%)

GAP (%)

TTB (s.)

Testfall ‚Non-

Guillo- tine’

VU (%)

GAP (%)

TTB (s.)

L08 96.4 3.6 11.8 G08 94.5 5.5 9.8 N08 93.5 6.5 55.1

L10 97.3 2.7 19.9 G10 94.1 5.9 22.9 N10 94.5 5.5 38.9

L12 97.3 2.7 20.6 G12 94.8 5.2 35.1 N12 94.4 5.6 45.3

L16 95.8 4.2 26.7 G15 94.4 5.6 53.9 N15 93.8 6.2 62.5

L20 97.7 2.3 13.1 G20 94.6 5.4 37.3 N20 93.4 6.6 67.9

L30 97.9 2.1 26.6 G30 94.5 5.5 49.6 N30 93.4 6.6 72.2

L40 97.2 2.8 45.5 G40 95.5 4.5 47.6 N40 92.9 7.1 75.7

L50 96.4 3.6 73.6 G50 95.1 4.9 59.0 N50 93.1 6.9 74.2

Mittel 97.0 3.0 29.7 Mittel 94.7 5.3 39.4 Mittel 93 .6 6.4 61.5

Zeit limit 160 s. Zeit

limit 160 s. Zeit limit 160 s.

Vergleich von SPBBL mit anderen Verfahren

Der erfolgreichste Algorithmus im Test (SPBBL-CC4) wird nun mit einigen Heuristiken aus

der Literatur verglichen. Zu diesem Zweck werden die Resultate der parallelen TSA und GA

von BORTFELDT und GEHRING (1999a) herangezogen. Für diese Algorithmen sind die

Resultate für die Testfälle SP-BRi verfügbar. Diese Tests wurden auf 400-MHz-Rechnern

durchgeführt, für die parallelen Tests wurden vier identische PCs verwendet. Eine

Zeitschranke von 30 Minuten wurde verwendet. Für den sequentiellen und parallelen GA

wurde ein Testlauf pro Probleminstanz durchgeführt.

Weiterhin wird das erfolgversprechendste Verfahren von SIXT (1996), ein TSA namens

TS(best), für einen indirekten Vergleich berücksichtigt. Sixt berechnete 60

Probleminstanzen, welche in 6 Testfällen mit je 10 Instanzen von identischer Kistentypzahl

zusammengefasst sind. Diese Testfälle werden als Sj, j = 1,..,6 bezeichnet. Da die

Originaldaten der Testfälle nicht verfügbar sind und nicht mit den hier vorgestellten

Page 166: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

146 Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems

Verfahren berechnet werden können, wurden die Resultate der sechs Testfälle den SP-BRi

Resultaten mit identischer Kistentypzahl gegenübergestellt. Die Resultate des Vergleichs mit

den Methoden von SIXT sind dementsprechend vorsichtig zu interpretieren, da keine direkte

Vergleichbarkeit der Ergebnisse gegeben ist.

Tab. 33 stellt die Resultate des Vergleichstests vor. In der mit „Mittel“ gekennzeichneten

Zeile werden die durchschnittlichen Werte für VU über alle 10 Testfälle angegeben, während

die Zeile „Mittel Sixt“ die mittlere Auslastung der Testfälle 1, 2, 4, 6, 7 und 8 zeigt, welche

für den Vergleich mit dem Verfahren von SIXT herangezogen werden. Schließlich werden die

Rechenzeiten der Tests gemittelt. Die angegebenen Zeiten der Vergleichsverfahren wurden

dabei entsprechend der jeweils verwendeten Prozessorleistung proportional angepasst, um

vergleichbare Werte zu erhalten (Basis = 2 GHz). Die gesamte CPU-Zeit für die parallelen

Tests kann durch Multiplizieren der angegebenen Zeiten mit 4 bestimmt werden, da vier

Computer verwendet wurden.

Die Resultate des Vergleichtests können wie folgt zusammengefasst werden:

• Der TSA von BORTFELDT UND GEHRING (1999a) erzielt die besten

Volumenauslastungen für die Testfälle mit schwach heterogenem Kistenvorrat. Für

solche Instanzen ist der TSA in der Lage, relativ große, kompakte, aus einem Kistentyp

in identischer räumlicher Orientierung bestehende, Blöcke zu bilden, so dass kein

innerer Volumenverlust entsteht. Andererseits erzielt SPBBL-CC viel bessere Resultate

bei stark heterogenen Kistenvorräten, was maßgeblich an der besonderen Eignung des

Kernverfahrens von PISINGER für stark heterogene Kistentypen liegt.

• Gemittelt über alle Testfälle dominiert das Verfahren SPBBL-CC klar alle anderen

betrachteten Verfahren bezüglich der Volumenauslastung und der benötigten

Rechenzeit. Die Verbesserung beträgt 0.8 Prozentpunkte im Vergleich zum

nächstbesten Algorithmus, dem parallelen TSA, während die Rechenzeit nur 11% der

benötigten Rechenzeit des parallelen TSA beträgt.

Der Vergleich mit dem Verfahren „TS(best)“ ist von besonderem Interesse, da dieses bereits

wesentlich bessere Ergebnisse erzielte als die Heuristik von BISCHOFF und MARIOTT (1990)

(siehe SIXT, 1996, S.201).

Page 167: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems 147

Tab. 33. Resultat des Vergleichstests mit den Verfahren anderer Autoren.

BORTFELDT & GEHRING (1999a) SIXT (1996) SPBBL-CC

sequ. GA

par. GA

sequ. TSA

par. TSA TS(best) (maxTr

= 4) Testfall

VU (%)

VU (%)

VU (%)

VU (%) Testfall VU

(%) VU (%)

SP-BR01 83.8 84.3 92.1 92.3 S1 (3) 91.7 87.3

SP-BR02 88.0 88.6 92.5 93.5 S2 (5) 87.7 88.6

SP-BR03 88.7 89.0 90.9 92.3 89.4

SP-BR04 87.8 88.5 89.9 90.8 S3 (10) 90.0 90.1

SP-BR05 87.7 88.1 89.0 89.9 89.3

SP-BR06 87.1 88.7 87.2 89.2 S4 (15) 84.5 89.7

SP-BR07 85.3 87.8 84.9 87.1 S5 (20) 88.6 89.2

SP-BR08 83.6 85.9 81.5 84.0 S6 (30) 85.3 87.9

SP-BR09 81.1 84.3 78.6 80.9 87.3

SP-BR10 78.0 82.1 76.9 79.1 87.6

Mittel 85.1 86.7 86.4 87.9 88.7

Mittel Sixt 85.9 87.3 88.1 89.5 88.0 88.8

Zeit s. (2 GHz)

240 s. 117 s. 294 s. 234 s. 99 s.

Es sei allerdings bemerkt, dass das Verfahren von BORTFELDT und

GEHRING (1999a) vollständige Unterstützung für jede verladene Kiste garantiert, während

diese strenge Stabilitätsbedingung weder bei dem Verfahren von SIXT noch bei SPBBL

eingehalten wird. Insofern kann die Dominanz von SPBBL nur für den Fall behauptet

werden, dass diese Nebenbedingung nicht gilt.

5.5 Zusammenfassung der Ergebnisse

In Kapitel 5 wurde eine Heuristik für das dreidimensionale Strip Packing-Problem

vorgestellt, welche aus einem schichtbildenden Verfahren von PISINGER (2002) abgeleitet

wurde. Zur Adaptation an das 3D-SPP wurden zwei Ansätze erprobt. Während die

Adaptation mit offenem Container quasi von einem beliebig langen Container ausgeht, führt

die Variante mit geschlossenem Container die Lösung einer SPP-Instanz auf die Berechnung

mehrerer CLP-Instanzen mit sinkenden Containerlängen zurück. Analog zum Beitrag von

BORTFELDT und GEHRING (1999a) erweist sich der Adaptationsansatz mit geschlossenem

Container als deutlich überlegen.

Zur Reduzierung des Verfahrensaufwands werden bei der Adaptation mit geschlossenem

Container zur Berechnung der jeweils nächsten CLP-Instanz möglichst viele Schichten mit

Page 168: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

148 Kapitel 5 : Ein Verfahren zur Lösung des dreidimensionalen Strip Packing-Problems

hoher Auslastung von der vorherigen SPP-Bestlösung übernommen und nur wenige

Schichten neu berechnet. Die durchgeführten Experimente bestätigen, dass auf diese Weise

der Aufwand beim Erzeugen von Schichten bzw. die Anzahl komplexerer

CLP-Instanzen stark reduziert werden kann. Dementsprechend entfällt der größte Teil des

Suchaufwands auf die Lösung relativ weniger komplexer CLP-Instanzen. Dies kann als

wichtigste Erkenntnis dieses Kapitels gewertet werden.

Prinzipiell kann jedes CLP-Verfahren in einen SPP-Algorithmus überführt werden, indem

die Lösung des Strip Packing-Problems auf die Lösung einer Folge von CLP-Instanzen mit

sinkenden Containerlängen zurückgeführt wird. Besonders einfach gestaltet sich dabei die

Implementierung, da das CLP-Verfahren gewissermaßen als „Black Box“ behandelt wird,

mit dem lediglich eine Interaktion über seine Input/Output-Schnittstelle erfolgt. Zusätzlich

kann der Berechnungsaufwand reduziert werden, indem die besten Teile bereits berechneter

SPP-Lösungen beibehalten und vorwiegend CLP-Instanzen von geringer Komplexität

berechnet werden. Voraussetzung hierfür ist allerdings, dass das CLP-Verfahren schichtartig

strukturierte Packpläne oder zumindest guillotinierbare Packpläne erzeugt.

Ein Vergleich mit anderen Verfahren aus der Literatur zeigt die Leistungsfähigkeit der

Heuristik im Bezug auf die erreichten Volumenauslastungen, dem Hauptziel der

Optimierung, sowie im Bezug auf den Berechnungsaufwand. Die Berücksichtigung weiterer

Nebenbedingungen wie Stabilitätsrestriktionen bleibt Gegenstand weiterer Forschungsarbeit.

Alles in allem wurde die enge Verbindung der Problemstellungen des Strip Packing und des

Container Loading bewiesen.

Page 169: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 149

6 Ein Verfahren zur Lösung des mehrdimensionalen

Bin Packing-Problems

6.1 Zielsetzung und Vorgehensweise

Im Rahmen dieses Kapitels wird ein Verfahren für das mehrdimensionale Bin Packing-

Problem mit großer Kistenstückzahl (1000 Stücke und mehr) vorgestellt. Ziel ist das

Verstauen eines Kistenvorrats J in einer minimalen Anzahl von Containern mit identischen

Innenmaßen (Breite W, Höhe H, und Tiefe D). Als Nebenbedingung wird ausschließlich die

Guillotineschnittrestriktion (vgl. (C9) in Kap. 1.2.4, Tab. 3) gefordert.

In der Literatur wird das mehrdimensionale BPP vergleichsweise selten behandelt.

Insbesondere für das 3D-BPP wurden bisher nur wenige Lösungsverfahren vorgestellt

(vgl. Literaturübersicht in 1.5.3). Nicht nur die exakten, sondern auch die heuristischen

Verfahren wurden fast ausschließlich anhand kleinerer und mittlerer Instanzen mit kaum

mehr als 200 Items getestet (vgl. Tab. 6 von S.26). Auffällig ist weiterhin, dass bei den

verwendeten Benchmarkinstanzen die Kisten im Vergleich zu den Containern meist relativ

groß sind. Ferner wurden die Verfahren in der Regel entweder nur anhand schwach

heterogener oder nur mit Hilfe stark heterogener Instanzen getestet.

Das 3D-BPP kommt in der betrieblichen Praxis vor, falls Güter in quaderförmige Kisten

verpackt und in Standardcontainern, Eisenbahnwagen oder LKWs verstaut werden sollen.

Mehrere praktische Anwendungsbereiche für den 2D-Fall beschreiben LODI et al. (1999a).

Der Bedarf an Lösungsverfahren für Kistenzahlen mit ca. 1.000 Kisten lässt sich wie folgt

begründen. Einerseits wurden bereits 2D-Benchmarkinstanzen dieser Größenordnung für

andere C&P-Problemtypen vorgestellt (vgl. MUMFORD-VALENZUELA et al., 2003).

Andererseits kommen Instanzen dieser Größe in der betrieblichen Praxis vor.

BORTFELDT (2010) berichtet beispielsweise von der Entwicklung einer Software im Auftrag

eines australischen Stahlproduzenten. Zu lösen war ein Bin Packing-Problem in der Cutting-

Variante. Es sollten Stahlblöcke gegebener Dimensionen aus größeren Blöcken ausgesägt

werden. Hierbei mussten Aufträge von bis zu 5.000 Blöcken bearbeitet werden. Auch im

Bereich der Transportoptimierung sind Problemgrößen von 200 Packstücken oder mehr keine

Seltenheit, man denke etwa an das Verstauen von Haushaltsgeräten oder Gepäckstücken in

Standardcontainern.

Page 170: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

150 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

Aus diesen Überlegungen heraus erscheint es sinnvoll, eine Heuristik zu entwickeln, die in

der Lage ist, große Instanzen des mehrdimensionalen BPP zu berechnen. Bei neuen

Benchmarkinstanzen entsprechenden Umfangs sollten auch Instanzparameter wie die mittlere

relative Kistengröße (bezogen auf die Containergröße) variiert werden, um den Einfluss

solcher Parameter auf die Lösungsqualität empirisch untersuchen zu können.

Das in diesem Kapitel vorgestellte Verfahren basiert auf einer Weiterentwicklung eines

3D-CLP-Verfahrens von PISINGER (2002). Dessen schichtbildender Lösungsansatz wurde

bereits in das 3D-SPP-Verfahren aus Kapitel 5 integriert. Der Ausbau eines CLP-Verfahrens

zu einem SPP-Verfahren und anschließend zu einem BPP-Verfahren stellt ein Muster einer

Weiterentwicklung dar, welches allgemein auf schichtbildende CLP-Verfahren anwendbar

ist, siehe z.B. LODI, MARTELLO und VIGO (1999a, 1999b) für das 2D-BPP.

Der Rest von Kapitel 6 ist wie folgt aufgebaut: in Abschnitt 6.2 wird zunächst ein

Lower Bound für das BPP vorgestellt, welcher auf einen Kistenvorrat mit (teilweise) freier

Orientierung anwendbar ist. Dieser neue Lower Bound wird durchgehend für das in Kap. 6.3

vorgestellte Verfahren verwendet. Die einzelnen Komponenten der BPP-Heuristik werden in

Abschnitt 6.4 beschrieben. Kapitel 6.5 widmet sich umfangreichen numerischen Tests.

Kapitel 6.6 fasst die Ergebnisse zusammen.

6.2 Lower Bounds für das Bin Packing-Problem

6.2.1 Vorbemerkungen

Ein Lower Bound (auch: untere Schranke) einer BPP-Instanz bezeichnet einen nicht zu

unterschreitenden Wert für die benötigte Containerzahl. Ein solcher Lower Bound (kurz: LB)

gibt allerdings nicht an, ob dieser Wert auch tatsächlich erreicht werden kann. Für eine BPP-

Instanz gibt es demnach in der Regel viele LB, beispielsweise ist 1 ein trivialer Lower Bound

für ein BPP mit nicht leerem Kistenvorrat.

Bei Erreichen eines LB während des Lösungsverlaufs kann das Verfahren sofort abbrechen,

da keine Chancen auf eine weitere Verbesserung des Zielfunktionswerts bestehen. Es ist

daher von Interesse, einen möglichst guten (großen) Lower Bound zu bestimmen, um den

Aufwand bei der Berechnung so gering wie möglich zu halten. Außerdem kann die Leistung

eines Verfahrens anhand eines guten LB besser beurteilt werden. Werden zwei

Page 171: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 151

unterschiedliche Lower Bounds l1 und l2 betrachtet mit l1 ≤ l2, so ist stets der höhere Bound

aussagekräftiger; man spricht daher von der Dominanz von l2 gegenüber l1.

Neben dem trivialen Lower Bound L0 für das BPP (allgemein in der Literatur als Continuous

Lower Bound clb bezeichnet) soll nun ein weiterer Lower Bound vorgestellt werden, der auf

den Resultaten von MARTELLO et al. (2000) aufbaut und welcher L0 dominiert. Die im

Originalbeitrag als L1 und L2 bezeichneten Bounds gelten ausschließlich für Probleme mit

vorgegebener fixierter Orientierung der Kisten. Die hier vorgestellten und analog als L’1 und

L’2 bezeichneten Bounds gelten dagegen auch für frei rotierbare Kisten, und ganz allgemein

für alle Ausprägungen der Orientierungsrestriktionen (C1) aus Kapitel 1.2.4. Diese Bounds

stellen somit eine Verallgemeinerung der Bounds von MARTELLO et al. (2000) dar.

Der Rest von Kapitel 6.2 ist wie folgt aufgebaut. In Abschnitt 6.2.2 wird der kontinuierliche

Lower Bound L0 vorgestellt. In Abschnitt 6.2.3 wird der Bound L’1 als Verallgemeinerung

des Bounds L1 von MARTELLO et al. (2000) eingeführt. Schließlich wird in Abschnitt 6.2.4

der Bound L’2 definiert, welcher L0 und L’1 gleichermaßen dominiert.

6.2.2 Der Continuous Lower Bound L0

Die Kistenmenge J bestehe aus Kisten j der Abmessungen wj, hj, dj mit dem Volumen

vj = wj · hj · dj. Jeder Container hat, wie bereits erwähnt, die gleichen Innenmaße W (Breite),

H (Höhe) und D (Länge).

Der kontinuierliche Lower Bound L0 für die benötigte Containerzahl ist dann definiert als:

⋅⋅=∑ ∈

DHW

vL Jj j

0

(1)

Theorem 1: L0 ist ein Lower Bound für das BPP.

Beweis: Tauscht man sämtliche Kisten aus J gegen Quader der kleinstmöglichen Maße

1 x 1 x 1 mit identischem Gesamtvolumen aus, so benötigt man offensichtlich immer noch L0

Container, um das gesamte Kistenvolumen zu verstauen. L0 ist also tatsächlich ein nicht zu

unterschreitender Wert für das 3D-BPP. (q.e.d.)

Ist L0 im Fall kleiner Kisten noch aussagekräftig, so relativiert sich seine Bedeutung, wenn

der Vorrat aus vielen größeren (sperrigen) Kisten besteht. L0 tendiert bei dreidimensionalen

Problemen im ungünstigsten Fall gegen 1/8 des tatsächlichen bestmöglichen Werts, wie

folgendes Beispiel veranschaulicht (vgl. MARTELLO et al., 2000):

Page 172: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

152 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

Unter der Annahme, J bestehe aus einem einzelnen, nicht rotierbaren Kistentyp der

Abmessungen wj = W/2 + 1, hj = H/2 + 1, dj = D/2 + 1, ergibt sich folgendes Bild: jede Kiste

kann jeweils nur einzeln in einem Container platziert werden, so dass die Anzahl der Kisten

|J| offensichtlich ein Lower Bound für das BPP darstellt. Für das oben definierte L0 gilt

jedoch:

88

)12

()12

()12

(

0

J

DHW

DHWJ

DHW

DHW

DHW

vL

JjJj j ≈

⋅⋅

+⋅⋅⋅=

⋅⋅

+⋅+⋅+=

⋅⋅=

∑∑ ∈∈

ε

L0 entspricht demnach tatsächlich bei ausreichend großen Werten für W, H, D, nur etwa 1/8

der tatsächlich benötigten Containerzahl |J|.

6.2.3 Verallgemeinerung des Lower Bound L1

Bei im Vergleich zum Container relativ großen Kisten ist der vorherige Bound L0 offenbar

nicht sehr effizient. Daher werden in MARTELLO et al. (2000) Lower Bounds für das BPP

vorgestellt, die für solche Instanzen besser geeignete Werte liefern. Allerdings gelten diese

Bounds L1 und L2 ausschließlich für Probleme mit vorgegebener Orientierung. Prinzipiell

sind bis zu sechs Orientierungsvarianten einer Kiste der Maße w, h, d innerhalb des

Containers denkbar, wie Abb. 28 zeigt. Die Bezeichnungen der Orientierungsvarianten

entsprechen denen aus Kapitel 1.2.4, Tab. 4, falls d > w > h gilt.

W

H w

w

w

w

w

w

h

h

h h

h

h

d

d

d

d

dd

ov0

ov1

ov2

ov3

ov4

ov5

D

W

H w

w

w

w

w

w

h

h

h h

h

h

d

d

d

d

dd

ov0

ov1

ov2

ov3

ov4

ov5

D

Abb. 28. Sechs Orientierungsvarianten eines Packstücks im Container.

Page 173: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 153

Die Menge der tatsächlich zulässigen Orientierungsvarianten o der Kiste j innerhalb des

Containers hängt von zwei Faktoren ab:

• Exogene Orientierungsrestriktionen (C1), vgl. Tab. 3 aus Kap. 1.2.4. In der

Problemstellung sind bestimmte Orientierungsvarianten explizit ausgeschlossen. Solche

Restriktionen können beispielsweise technische Ursachen haben: Pakete dürfen

aufgrund ihres Inhalts nicht gekippt werden, Schnittmuster müssen in einer bestimmten

Richtung verlaufen, u.s.w.

• Endogene Orientierungsrestriktionen. Es kann vorkommen, dass im vorherigen Sinn

erlaubte Orientierungsvarianten aufgrund der Größe der Kiste auszuschließen sind. Gilt

für eine Kiste j die Bedingung: max(wj, hj, dj) > min(W, H, D), so sind mindestens zwei

der sechs Orientierungsvarianten für j prinzipiell im Container nicht realisierbar, und

zwar unabhängig von zusätzlichen exogenen Restriktionen.

Wenn im Folgenden von „zulässigen“ Orientierungsvarianten die Rede ist, beinhaltet dies

daher implizit sowohl exogene wie endogene Orientierungsrestriktionen. Der folgende

Lower Bound für das 3D-BPP stellt nun eine Verallgemeinerung des Bounds L1 für den Fall

nicht fixierter Kistenorientierungen dar. Sei wj(o) die Ausdehnung der Kiste j in Richtung der

Containerbreite W unter Verwendung der Orientierungsvariante o (o = 0,..,5). hj(o) und dj(o)

seien analog für die Ausdehnung von j in Richtung der Containerhöhe bzw. der

Containerlänge definiert. Bezeichne Oz,j die Menge aller zulässigen Orientierungen der

Kiste j.

Sei

∈∀>>∈= jzjj

WH OoH

ohundW

owJjJ ,,2

)(2

)(:

Kisten aus JWH lassen sich offensichtlich nur hintereinander in Längsrichtung des Containers

anordnen. Ein Lower Bound für das 3D-BPP für die Teilmenge JWH kann daher aus dem

zugehörigen, durch Relaxierung ermittelten 1D-BPP gewonnen werden, welches durch die

Containerlänge D und die jeweils kleinstmöglichen Ausdehnungen d1j der Kisten aus JWH in

Längsrichtung des Containers gegeben ist. Sei:

{ } WHjzjj JjOoodd ∈∈= ,:)(min ,

1 .

Page 174: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

154 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

Sei außerdem L1WH analog zu MARTELLO et al. (2000) definiert:

( )

−−

−⋅−+

>∈=

∑∑∑ ∈∈∈

≤≤

p

D

p

dDpJ

D

dDpJd

DdJjL

pJj

j

spJj

jlpJjj

Dp

jWHWH

lls

)(

1

)(

1

)(

1

21

11

)(

,)(

max

2:

(2)

wobei:

≥≥∈=

>≥−∈=

pdD

JjpJ

DdpDJjpJ

jWH

s

jWH

l

1

1

2:)(

2:)(

L1WD und L1

HD sind analog zu L1WH definiert. Schließlich wird definiert:

),,max(' 1111HDWDWH LLLL = . (3)

Theorem 2: L’1 ist ein Lower Bound für das 3D-BPP.

Beweis: Zunächst sei bewiesen, dass L1WH ein Lower Bound für das BPP ist. Der erste

Summand in L1WH (vgl. (2)) entspricht der benötigten Containerzahl für große Kisten, die nur

einzeln gepackt werden können.

Der zweite Summand (vgl. (2)) ist eine Kombination von zwei bekannten Lower Bounds der

Anzahl benötigter Container für die Kisten aus Js(p) (1 ≤ p ≤ D/2), die nun auf rotierbare

Kisten verallgemeinert werden.

Was den ersten Bound angeht, so existieren offensichtlich keine zulässigen

Orientierungsvarianten, die es ermöglichen, zwei Kisten aus Jl(p) in demselben Bin

unterzubringen, da jede Kiste in jeder zulässigen Orientierungsvariante länger ist als die

halbe Containerlänge. Daher werden |Jl(p)| Bins benötigt, die bereits im ersten Summanden

berücksichtigt sind. Der Ausdruck ( )∑ ∈−⋅

)()(

pJj jll

dDpJ entspricht der Summe der

ungenutzten Containerlängen. Diese wird bestenfalls vollständig von Kisten aus Js(p) in

Anspruch genommen. Die verbleibenden Kistenlängen von Kisten aus Js(p) sind in weiteren

Containern der Länge D zu verstauen, woraus der Bound folgt.

Page 175: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 155

Der zweite Lower Bound für die Kisten aus Js(p) (1 ≤ p ≤ D/2) ist ebenfalls im Fall beliebig

orientierter Kisten gültig, denn es können (bei gegebenem p) offensichtlich maximal

p

D

Kisten aus Js(p) hintereinander in einem einzelnen Bin verstaut werden. Neben- oder

übereinander können diese Kisten nicht in einem Container verstaut werden, da sie per

definitionem eine Teilmenge von JWH bilden. In die |Jl(p)| bereits benutzten Container für die

Kisten aus Jl(p) passen in keinem Fall mehr als ∑ ∈

−)(

1

pJj

j

l p

dD dieser kleineren Kisten.

Die verbleibenden ∑ ∈

−−)(

1

)(pJj

j

sl p

dDpJ Kisten aus Js(p) sind somit auf zusätzliche

Bins zu verteilen, woraus der zweite Bound folgt.

Durch Maximierung über p (1 ≤ p ≤ D/2) resultiert ohne weiteres der Bound L1WH der Anzahl

benötigter Container für alle Kisten aus J.

Der Beweis für L1WD und L1

HD erfolgt nach Rotation des Containers analog, so dass auch L'1

ein Lower Bound für das BPP darstellt. (q.e.d.)

Theorem 3: L'1 und L0 dominieren einander nicht.

Beweis: Der vorher definierte Lower Bound L'1 für Probleme ohne fixierte Orientierungen

dominiert L0 nicht, denn sind bei nichtleerem J die Mengen JWH, JWD und JHD leer, d.h. sind

alle Kisten relativ klein bezogen auf die Containerabmessungen, so ist L'1=0,

aber L0 > 1, da J ≠ Ø, so dass hier gilt: L0 > L'1.

Umgekehrt dominiert L0 den neuen Bound L’1 nicht. Sind alle Kisten relativ sperrig, so dass

J = JWH, so lassen sich Probleminstanzen mit L'1 > L0 angeben (vgl. Beispiel zu Theorem 1).

(q.e.d.)

Page 176: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

156 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

6.2.4 Verallgemeinerung des Lower Bound L2

Zunächst sollen, bei beliebigem Wertepaar (p, q), 1 < p < W/2, 1 < q < H/2, drei disjunkte

Teilmengen von J unterschieden werden. Die Einteilung des Kistenvorrats erfolgt dabei in

sehr große Kisten (Teilmenge Kv , v steht für „very large“), große Kisten (Kl , l wie „large“)

und kleine Kisten (Ks , s wie „small“):

{ }jzjjv OoqHohpWowJjqpK ,,)(,)(:),( ∈∀−>−>∈=

∈∀>>∈= jzjjvl Oo

Hoh

WowqpKJjqpK ,,

2)(,

2)(:),(\),(

( ){ }jzjjlvs OoqohpowqpKqpKJjqpK ,,)(,)(:),(),(\),( ∈∀≥≥∪∈=

Eine Kiste gilt als „sehr groß“, falls es keine zulässige Orientierung der Kiste gibt, für die das

Breiten- und Höhenmaß der Kiste kleiner ist als die respektiven Vorgabewerte W - p sowie

H - q. Abbildung 29 zeigt die Stirnseite eines Containers und die Bereiche der Kistenmengen

für ein gegebenes Wertepaar (p, q). Es fällt auf, dass keine Teilmenge für „sehr kleine“

Kisten (mit Abmessungen kleiner als von p bzw. q) definiert wurde. Hierzu ist folgendes zu

bemerken: einerseits stört es bei einem Lower Bound generell nicht, wenn dessen

Berechnung einzelne Kisten außen vor lässt (selbst 0 ist Lower Bound für jedes BPP).

Andererseits werden alle möglichen Kombinationen von p und q betrachtet, so dass implizit

auch die kleinste Kiste mindestens für ein Wertepaar (p, q) in den Teilmengen berücksichtigt

wird.

WW - pW/2p

q

H/2

H - q

H

O

Ks

Kl

Kv

WW - pW/2p

q

H/2

H - q

H

O

Ks

Kl

Kv

Abb. 29. Bereiche für Teilmengen bei gegebenem Wertepaar (p, q).

Page 177: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 157

Aus der Definition der Teilmengen geht hervor, dass gilt: ),(),( qpKqpKJ lvWH ∪= ,

unabhängig von p und q. Für JWH gilt bekanntermaßen der oben vorgestellte Lower Bound

L1WH. Ein Lower Bound für das 3D-BPP von ),(),(),( qpKqpKqpK slv ∪∪ ist demnach

gegeben durch:

2

1,2

1),,(),( 12

Hq

WpqpLLqpL WH

sWHWH ≤≤≤≤+= (4)

LSWH(p, q) bezeichnet dabei die zusätzlich zu L1

WH vorzusehende Containerzahl zur

Unterbringung der Kisten aus Ks(p, q). Dabei ist das nutzbare Restvolumen R1WH(p, q) der

ersten L1WH Container zur Unterbringung von Kisten aus Ks(p, q) in die Berechnung mit

einzubeziehen. Es sind keine Orientierungsvarianten der Kisten vorhanden, so dass Kisten

von Kv(p, q) und Ks(p, q) nebeneinander oder übereinander angeordnet werden können.

Daher gilt für das nutzbare Restvolumen aus den bereits benutzten Containern:

( )∑∑ ∈∈⋅⋅+−⋅⋅⋅=

),(

1

),(11 ),(qpKj

jqpKj j

WHWH

vldHWvLDHWqpR

Für die Containerzahl LsWH(p, q), gilt demnach folgende Beziehung:

⋅⋅

−=

∑ ∈

DHW

qpRvqpL

WH

qpKj jWHs

s),(

,0max),(1),( , also auch

⋅⋅

⋅⋅−−⋅⋅⋅−=

∑∑∑ ∈∈∈

DHW

dHWvLDHWvqpL qpKj

jqpKj j

WH

qpKj jWHs

vls)(

,0max),( ),(

1

),(1),( und

⋅⋅

⋅⋅−⋅−=

∑∑ ∈∪∈

DHW

HWdLDvqpL qpKj

jWH

qpKqpKj jWHs

vsl)(

,0max),( ),(

11),(),(

Somit folgt durch Einsetzen oben in Gleichung (4):

))(

,0max(),( ),(

11),(),(

12

⋅⋅

⋅⋅−⋅−+=

∑∑ ∈∪∈

DHW

HWdLDvLqpL qpKj

jWH

qpKqpKj jWHWH vsl . (5)

Page 178: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

158 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

Diese Beziehung gilt für jedes Wertepaar (p, q). L2WH resultiert dann aus der Maximierung

über alle zulässigen Wertekombinationen von p und q:

{ }),(max 2

21;

21

2 qpLL WH

Hq

Wp

WH

≤≤≤≤=

L2WH ist ein Lower Bound für das BPP, da sämtliche L2

WH(p, q) Lower Bounds darstellen.

Seien zudem L2WD und L2

HD die durch Containerrotation analog definierten Bounds, so ist L’2

definiert als:

{ }HDWDWH LLLL 2222 ,,max' = (6)

Theorem 4: L'2 dominiert sowohl L'1 als auch L0.

Beweis:

a) Die Dominanz von L'2 über L'1 ergibt sich aus den Definitionen:

qpqpLqpLLqpL WHs

WHs

WHWH ,0),(),,(),( 12 ∀≥+=

b) Die Dominanz von L'2 bezüglich L0 ergibt sich aus folgenden Überlegungen.

Für p = q = 1 folgt aus der Definition von Kv :

{ }{ }jzjj

jzjjv

OoHohWowJj

OoHohWowJjK

,

,

,)(,)(:

,1)(,1)(:)1,1(

∈∀==∈=

∈∀−>−>∈=

Da die Breite (bzw. Höhe) einer Kiste j aus Kv(1,1) in jeder zulässigen Drehvariante somit

der Containerbreite (bzw. Containerhöhe) entspricht, stimmt auch die Länge dj(o) einer

solchen Kiste für sämtliche zulässigen Orientierungen überein, so dass auch die minimale

und maximale Kistenlänge von j identisch sind, und somit gilt: dj(o) = d1j .

Insbesondere gilt für das Volumen vj einer Kiste j aus Kv(1,1):

jzjjjjjv OoHWdohowodvKj ,1 ,)()()()1,1( ∈∀⋅⋅=⋅⋅=⇒∈ (7)

Außerdem gilt offenbar die Beziehung:

JKKK vls =∪∪ )1,1()1,1()1,1( (8)

da selbst die kleinsten Kisten in den drei Teilmengen berücksichtigt werden. Nun folgt aus

den Definitionen von L’2 und L2WH sowie aus den Gleichungen (5), (7) und (8):

Page 179: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 159

),0max(

),0max(

),0max(

))()(

,0max(

))(

,0max(

)1,1('

11

1

1

1)1,1()1,1()1,1(1

1)1,1(

1

)1,1()1,1(1

)1,1(

11)1,1()1,1(

1

22

⋅⋅+=

⋅⋅

⋅⋅⋅−+=

⋅⋅

⋅⋅⋅−++=

⋅⋅

⋅⋅⋅−⋅⋅++=

⋅⋅

⋅⋅−⋅−+=

∑∑

∑∑

∑∑

∈∪∈

∈∪∈

∈∪∈

WHJj jWH

WH

Jj jWH

WH

Kj jKKj jWH

WH

Kjj

KKj jWH

Kjj

WH

KKj jWH

WH

LDHW

vL

DHW

LDHWvL

DHW

LDHWvvL

DHW

LDHWHWdvL

DHW

HWdLDvL

LL

vsl

vsl

vsl

Da L1WH ganzzahlig ist, kann der obige Ausdruck geschrieben werden als:

),0max(

),0max(

),0max('

101

11

112

WHWH

WHJj jWH

WHJj jWH

LLL

LDHW

vL

LDHW

vLL

−+=

⋅⋅+=

⋅⋅+≥

Ist L1WH > L0, so folgt die Dominanz von L’2 sofort, da 0112 '' LLLL WH >≥≥ .

Ist dagegen L0 > L1WH, so gilt:

0

101

1012 ),0max('

L

LLL

LLLLWHWH

WHWH

=−+=

−+≥

Resultat: L’2 dominiert L0. (q.e.d.)

Zusammenfassend sei festzuhalten, dass ein neuer Lower Bound L'2 für das BPP mit

(vollständig oder teilweise) orientierungsfreien Kisten abgeleitet wurde, welcher den

kontinuierlichen Lower Bound L0 dominiert. Dieser Bound basiert auf den bei

MARTELLO et al. (2000) bewiesenen Bounds für den Fall fester Kistenorientierungen.

Page 180: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

160 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

Der Erfolg des neuen Bounds ist auf Kistenmengen beschränkt, deren Abmessungen relativ

groß sind im Vergleich zu den Containermaßen. Für Kistenmengen mit kleineren

Abmessungen im Vergleich zum Container, wie beispielsweise bei den Packproblemen von

BISCHOFF und RATCLIFF (2005), bietet der Bound dagegen keine Vorteile gegenüber dem

kontinuierlichen Lower Bound L0. Wegen der bewiesenen Dominanz des neuen Bounds zu

L0 soll L'2 in diesem Kapitel trotzdem durchgehend anstelle von L0 verwendet werden.

6.3 Module des BPP-Verfahrens und ihre Interaktion

Die Heuristik zum Lösen des BPP wird nachfolgend für den 3D-Fall beschrieben. Sie

beinhaltet die folgenden fünf Module bzw. Teilverfahren (vgl. Abb. 30).

BPHL(BPP-Hauptmodul)

3BPPO(3D-BPP-Nachoptimierung)

3BP1S(3D-BPP-Heuristik)

3CLH(3D-CLP-Heuristik)

1BPH(1D-BPP-Heuristik)

Legende:

A B

‘Modul A ruft Modul B auf’

BPHL(BPP-Hauptmodul)

3BPPO(3D-BPP-Nachoptimierung)

3BP1S(3D-BPP-Heuristik)

3CLH(3D-CLP-Heuristik)

1BPH(1D-BPP-Heuristik)

Legende:

A B

‘Modul A ruft Modul B auf’

Abb. 30. Modularer Aufbau der 3D-BPP-Heuristik.

• Modul 3CLH bezeichnet ein Verfahren zur Lösung des dreidimensionalen

Containerbeladeproblems, das hier wie folgt definiert ist: gegeben seien eine

Kistenmenge J sowie ein einzelner Container der Breite W, Höhe H und Länge D. Es

gelten die gleichen Zulässigkeitsbedingungen für Kistenanordnungen wie beim

mehrdimensionalen BPP. Gesucht wird eine zulässige Anordnung einer Teilmenge der

Kisten von J, welche das verpackte Volumen maximiert. Eine CLP-Instanz ICL kann als

Page 181: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 161

Quadrupel (W, H, D, J) notiert werden. Als CLP-Verfahren kommt, wie eingangs

erwähnt, die Heuristik von PISINGER (2002) zum Einsatz.

• Modul 1BPH bezeichnet ein Verfahren zur Lösung des 1D-BPP. Genutzt wird die

Heuristik von BORTFELDT (2005) (vgl. auch BORTFELDT, 2007).

• Modul 3BP1S bezeichnet eine Heuristik zur Erzeugung einer einzelnen Lösung für das

3D-BPP unter Verwendung eines bestimmten Parametersets.

• 3BPPO bezeichnet eine Heuristik zur Nachoptimierung einer mit 3BP1S erzeugten

Lösung.

• Modul BPHL steht für das Hauptmodul der 3D-BPP-Heuristik

(BPHL = Bin Packing, Heuristik, Layer-Ansatz).

Die vorgestellte 3D-Heuristik ist ebenfalls auf 2D-Probleme anwendbar, da

zweidimensionale Objekte (rechteckige Container und Items) als 3D-Packstücke mit

einheitlicher Mindesthöhe 1 angesehen werden können. Nachfolgend wird daher keine

Unterscheidung zwischen dem 3D- und 2D-Fall des Problems vorgenommen. Im nächsten

Abschnitt werden die Teilverfahren einzeln vorgestellt.

6.4 Beschreibung der Teilverfahren

6.4.1 Das CLP-Verfahren (Modul 3CLH)

Die CLP-Heuristik von PISINGER (2002) wurde bereits in Kapitel 5.2 vorgestellt. Deshalb sei

dessen Vorgehensweise hier nur kurz skizziert. Das Verfahren folgt dem schichtbildenden

Ansatz. Jeder erzeugte Packplan für einen Container besteht i.A. aus mehreren vertikalen

Schichten (vgl. Abb. 24 auf S. 130). Diese folgen in Längsrichtung des Containers lückenlos

aufeinander. Jede einzelne Schicht besteht aus einem Quader W x H x d, in dem eine oder

mehrere Kisten verstaut sind. Das Maß d wird dabei als Schichttiefe bezeichnet. Die

Schichtauslastung ist der Quotient aus dem verpackten Volumen und dem Schichtvolumen.

Die Containerauslastung ist analog definiert. Eine Schicht besteht aus mehreren so genannten

horizontalen und/oder vertikalen Streifen. Jeder horizontale Streifen besteht aus einzelnen

Kisten, die lückenlos nebeneinander in der Schicht angeordnet sind. Bei einem vertikalen

Streifen sind die einzelnen Kisten übereinander angeordnet.

Page 182: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

162 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

Die CLP-Heuristik ist als Baumsuche ausgelegt, wobei Verzweigungen auf Schichtebene und

Streifenebene verschachtelt durchgeführt werden. Bei jeder Verzweigung auf Schichtebene

ist zunächst eine geeignete Schichttiefe zu ermitteln. Hierbei werden besonders große und

besonders häufig vorkommende Kistenmaße bevorzugt als Schichttiefe verwendet. Um die

Suche nach geeigneten Lösungen nicht ausufern zu lassen, wird die Anzahl der untersuchten

Schichttiefen der jeweils nächsten Schicht mit dem Parameter M1 beschränkt. Auf

Streifenebene geht man ähnlich vor. Für jeden neuen Streifen wird die Anzahl der zu

prüfenden Streifenbreiten (bzw. Streifenhöhen) mit Hilfe des Parameters M2 beschränkt. Für

eine gegebene Schichttiefe und Streifenbreite (bzw. Streifenhöhe) kann das CLP auf ein

Knapsack-Problem (1D-CLP) reduziert werden, welches mit einem geeigneten Verfahren

effizient gelöst wird.

6.4.2 Das 1D-BPP-Verfahren (Modul 1BPH)

Das Verfahren 1D-BPP sei ebenfalls nur knapp charakterisiert. Eine gegebene

1D-BPP-Instanz wird zunächst mittels der bekannten Heuristik „First Fit Decreasing“ (FFD)

sowie mehreren auf FFD basierenden, aber leistungsfähigeren Konstruktions- sowie

Verbesserungsheuristiken bearbeitet. Das Verfahren bricht ab, sobald eine Optimallösung

erzielt wurde, welche ggf. anhand verschiedener der Literatur entnommener Bounds

verifiziert wird. Wurde zuvor keine Optimallösung gefunden, so wird abschließend ein

Branch and Bound (B&B)-Verfahren eingesetzt, welches eine gegebene Teillösung binweise

expandiert. Charakteristisch für das B&B-Verfahren ist, dass für verschiedene Instanztypen

bzgl. der mittleren relativen Packstückgröße verschiedene Expansionsstrategien verwendet

werden; so gibt es z.B. für so genannte Triplet-Instanzen, vgl. BORTFELDT (2007), eine

gesonderte Fortsetzungsstrategie.

6.4.3 Erzeugung einzelner Lösungen für das 3D-BPP (Modul 3BP1S)

Eine Pseudocodedarstellung der Heuristik 3BP1S wird in Alg. 14 angegeben. Die Heuristik

3BP1S folgt anfangs einem bereits von BISCHOFF und RATCLIFF (1995) realisierten,

intuitiven Ansatz. Eine einzelne Lösung der gegebenen 3D-BPP-Instanz wird ermittelt,

indem solange weitere Container mit dem CLP-Algorithmus 3CLH geöffnet und gefüllt

werden, bis keine Kisten aus J mehr übrig sind.

Der Inputparameter nbbest bezeichnet einen bereits vorher ermittelten Bestwert für die

Instanz, M1 und M2 die oben beschriebenen Parameter des CLP-Verfahrens. 3BP1S bricht ab,

falls feststeht, dass der bisherige Bestwert nbbest nicht unterboten werden kann. In diesem

Page 183: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 163

Fall wird keine (neue) Lösung zurückgegeben. Man beachte, dass die Parameter M1 und M2

den Rechenaufwand von 3BP1S wesentlich beeinflussen.

procedure 3BP1S ( in : Problemdaten W, H, D, J; Parameter M1, M2, bisheriger Bestwert nbbest; out : 3D-BPP-Lösung sb) { Initialisieren }

sb:= ∅; { 3D-BPP-Lösung } nb:= 0; { Zähler für Bins } R:= J; { Restvorrat an Kisten } VR:= gesamtes Volumen des Restvorrats R;

{ Anweisungen } while R ≠ ∅ do { ermittle 3D-BPP-Lösung durch wiederholtes Beladen eines Containers }

if nb + ⌈ VR / (W · H · D) ⌉ > nbbest then

setze sb:= ∅; exit while ; { es kann kein neuer Bestwert erreicht werden } endif ; berechne Lösung s für die CLP-Instanz ICL:= (W, H, D, R) mittels 3CLH und M1, M2; sb:= sb ∪ s; { erweitere 3D-BPP-Lösung um ein gefülltes Bin } nb:= nb + 1; aktualisiere Restvorrat R und Volumen VR; endwhile ; { verbessere 3D-BPP-Lösung durch Umverteilung der Schichten } if sb ≠ ∅ and R = ∅ then { es wurde eine komplette zulässige Lösung sb ermittelt } sei {di} die Menge der Schichttiefen in der Lösung sb; if ∑i di ≤ (nb – 1) · D then { Verbesserung durch Umverteilung eventuell möglich } berechne Lösung s1 für die 1D-BPP-Instanz D und {di} mit Hilfe von 1BPH; if Anzahl der Bins in Lösung s1 < nb then führe eine Umverteilung der Schichten in sb gemäß s1 durch; endif ; endif ; endif ;

end.

Alg. 14. Algorithmus der Heuristik 3BP1S.

Nach Ermittlung einer neuen Lösung sb wird sichergestellt, dass deren Schichten optimal auf

die Bins verteilt sind. Es kann in der Tat vorkommen, dass durch eine Umverteilung der

Schichten mindestens ein weiterer Container eingespart werden kann. Dies folgt aus dem

Greedy-Ansatz des lokal optimierenden Beladens der einzelnen Container mit dem

CLP-Verfahren, der zu einem suboptimalen Resultat für die 3D-BPP-Instanz führen kann.

Sei {di} die Menge der Schichttiefen in der Lösung sb. Falls Chancen auf eine weitere

Bineinsparung durch Umverteilung der Schichten bestehen, so wird die 1D-BPP-Instanz

(D, {di}) mit Hilfe des Verfahrens 1BPH gelöst. Wird eine 1D-BPP-Lösung s1 mit einer

Containerzahl gefunden, die die Binanzahl nb von sb unterbietet, so werden die Schichten in

den 3D-Containern von sb entsprechend umverteilt, um auf diese Weise eine Bineinsparung

auch für die 3D-Lösung zu erreichen.

Page 184: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

164 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

6.4.4 Hauptmodul der 3D-BPP-Heuristik (Modul BPHL)

Alg. 15 beschreibt das Hauptmodul der 3D-BPP-Heuristik. Es wird eine Vielzahl von

Lösungen für die gegebene 3D-BPP-Instanz erzeugt, indem das Parameterpaar (M1, M2) des

integrierten 3D-CLP-Verfahrens systematisch variiert wird. Für jedes Wertepaar werden mit

Hilfe der Prozedur 3BP1S zwei weitere Lösungen berechnet und die beste Lösung sbest wird

ggf. aktualisiert. Beim ersten Aufruf von 3BP1S für ein Wertepaar

(M1, M2) ist die Fortschrittsrichtung der Schichten die Containerbreite W, d.h. die Schichten

folgen (anders als ursprünglich für das CLP-Verfahren beschrieben) längs der

Containerbreite W aufeinander. Bei dem jeweils zweiten 3BP1S-Aufruf ist die

Fortschrittsrichtung die Containerlänge D. Die Wahl der Containerhöhe als dritte denkbare

Fortschrittsrichtung wäre redundant, da innerhalb des CLP-Verfahrens bereits horizontale

und vertikale Streifen gleichermaßen berücksichtigt werden. Der Wechsel der

Fortschrittsrichtung wird durch das Vertauschen von Containerlänge und -breite beim Aufruf

der Heuristik 3BP1S erzwungen. Der an 3BP1S übergebene bisherige Bestwert nbbest

ermöglicht ggf. einen vorzeitigen Abbruch (vgl. Abschnitt 6.4.3).

procedure BPHL (in : Problemdaten W, H, D, J, Parameter: maxM1, maxM2; out : beste 3D-BPP-Lösung sbest)

{ Initialisieren } nbbest := |J|;

{ Anweisungen } for M1:= 1 to maxM1 by 1 do { Anzahl der Verzweigungen auf Schichtebene } for M2:= M1

2 to maxM2 by M12 do { Anzahl der Verzweigungen auf Streifenebene }

for sdir:= 1 to 2 by 1 do { Fortschrittsrichtung der Schichten } if sdir = 1 then setze DD:= W; WW:= D; { Fortschrittsrichtung W } else setze DD:= D; WW:= W; { Fortschrittsrichtung D } endif ; rufe 3BP1S(WW, H, DD, J, M1, M2, nbbest, sb); if sb ≠ ∅ and Binanzahl(sb) < nbbest then sbest:= sb; nbbest:= Binanzahl von sbest; sdirbest:= sdir; endif ; endfor sdir; endfor M2; endfor M1; rufe 3BPPO(W, H, D, J, maxM1, maxM2, sdirbest, sbest); { Nachoptimierung }

end .

Alg. 15. Algorithmus des Hauptmoduls BPHL.

Page 185: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 165

BPHL ist auf große Probleminstanzen mit Kistenvorräten von 1000 oder mehr Kisten

zugeschnitten. Um auch für eine große 3D-BPP-Instanz möglichst schnell eine

Ausgangslösung zu ermitteln, erhalten daher die Parameter anfangs minimale Werte

(M1 = 1, M2 = 1). Bei den folgenden Aufrufen werden beide Parameter dann nach und nach

erhöht, wodurch der Suchaufwand steigt. Der Parameter M1 wird jeweils um 1 erhöht,

während M2 in Schritten von M12 inkrementiert wird.

Bei Erreichen einer vorgegebenen Zeitschranke t1 bricht die Erzeugung von Lösungen für

verschiedene Parametersätze ab (der Einfachheit halber wird dies nicht in Alg. 15

dargestellt). Danach wird die beste gefundene Lösung sbest einmalig einer Nachoptimierung

mit Hilfe der Heuristik 3BPPO unterzogen. Der Aufwand der Nachoptimierung wird durch

eine weitere Zeitschranke t2 beschränkt.

6.4.5 Nachoptimierung einer Lösung (Modul 3BPPO)

Bei jeder mit Modul 3BP1S erzeugten Lösung existiert eine einheitliche Fortschrittsrichtung

der Schichten. Diese folgen entweder in Längsrichtung D oder entlang der Containerbreite W

aufeinander. Die Nachoptimierungs-Heuristik 3BPPO zielt nun darauf ab, beide

Fortschrittsrichtungen in ein und derselben Lösung zu kombinieren. Ausgehend von einer mit

3BP1S erzeugten Lösung werden dazu mehrere Schichten durch neue Schichten ersetzt,

welche in der jeweils alternativen Fortschrittsrichtung aufeinander folgen.

Abb. 31 veranschaulicht die einzelnen Schritte der Nachoptimierung. In dem gezeigten

Beispiel werden zunächst vier Schichten der übergebenen Lösung mit den geringsten

Volumenauslastungen ermittelt und aufgelöst; diese liegen i.A. in verschiedenen Containern.

In Schritt 2 werden dann die verbliebenen Schichten auf möglichst wenige Bins verteilt. Die

entsprechende eindimensionale BPP-Instanz wird wiederum mit dem Verfahren 1BPH

gelöst. In Schritt 3 wird geprüft, ob die in der Fortschrittsrichtung der Ausgangslösung

gelegenen Restdistanzen in den belegten Containern ausreichen, um weitere Kisten zu

verstauen. Falls möglich, werden die Resträume dieser Bins mit dem CLP-Algorithmus

3CLH gefüllt. Dabei wird die Fortschrittsrichtung für die neuen Schichten alternativ zur

Fortschrittsrichtung der Ausgangslösung gewählt. Im vierten und letzten Schritt werden

gegebenenfalls weitere Bins geöffnet und mit dem CLP-Verfahren beladen, bis der gesamte

Kistenvorrat verbraucht ist. Als Fortschrittsrichtung für neue Schichten wird ebenfalls die zur

Rumpflösung alternative Fortschrittsrichtung verwendet.

Page 186: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

166 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

1. Mehrere Schichtenwerden aufgelöst 2 631 74 5

Bin 1 Bin 2 Bin 3 Bin 4

2. Die verbleibendenSchichten werden neuverteilt

6 31 7 4

Bin 1 Bin 2 Bin 3

Bin 5

8 9

Schichten 2, 5, 8, 9 mit niedrigster

Volumenauslastungwerden aufgelöst

1. Mehrere Schichtenwerden aufgelöst 2 631 74 5

Bin 1 Bin 2 Bin 3 Bin 4

2. Die verbleibendenSchichten werden neuverteilt

6 31 7 4

Bin 1 Bin 2 Bin 3

Bin 5

8 9

Schichten 2, 5, 8, 9 mit niedrigster

Volumenauslastungwerden aufgelöst

3. In den verbleibendenBins mit ausreichendemRestvolumen werdenggf. neue Schichten mit alternativerFortschrittsrichtunggebildet!

6 31 7 4

1’

2’

3’

Bin 1 Bin 2 Bin 3

4. Es werden neue Bins mit Schichten in alternativerFortschrittsrichtungerzeugt, bis allePackstücke verbrauchtsind.

6 31 7 4

1’

2’

3’

4’

5’

6’

Bin 1 Bin 2 Bin 3 Bin 4 Bin 5

In Bin 3 bestehtausreichend Platz für

neue Schichten. Existieren mehrere

solcher Bins, werdendiese nach

aufsteigendemRestvolumen gefüllt.

Vor dem Öffnen einesneuen Bins wird

geprüft, ob ein neuerBestwert (in diesemFall: max. 4 Bins)

erreicht werden kann. Bin 5 wird also nicht

mehr gefüllt.

UrsprünglicheFortschrittsrichtungder Schichten

AlternativeFortschrittsrichtung

3. In den verbleibendenBins mit ausreichendemRestvolumen werdenggf. neue Schichten mit alternativerFortschrittsrichtunggebildet!

6 31 7 4

1’

2’

3’

Bin 1 Bin 2 Bin 3

4. Es werden neue Bins mit Schichten in alternativerFortschrittsrichtungerzeugt, bis allePackstücke verbrauchtsind.

6 31 7 4

1’

2’

3’

4’

5’

6’

Bin 1 Bin 2 Bin 3 Bin 4 Bin 5

In Bin 3 bestehtausreichend Platz für

neue Schichten. Existieren mehrere

solcher Bins, werdendiese nach

aufsteigendemRestvolumen gefüllt.

Vor dem Öffnen einesneuen Bins wird

geprüft, ob ein neuerBestwert (in diesemFall: max. 4 Bins)

erreicht werden kann. Bin 5 wird also nicht

mehr gefüllt.

UrsprünglicheFortschrittsrichtungder Schichten

AlternativeFortschrittsrichtung

Abb. 31. Vier Schritte der Nachoptimierung mit Modul 3BPPO.

Alg. 16 beschreibt detailliert die Nachoptimierung. In der Hauptschleife wird die Anzahl k

der aufzulösenden Schichten von 1 bis nd - 1 inkrementiert, wobei nd die Anzahl der

Schichten der Lösung sb bezeichnet. Für eine gegebene Anzahl k aufzulösender Schichten

werden jeweils die vier Schritte aus Abb. 31 durchgeführt.

Der Suchaufwand ist anfänglich gering, da die Anzahl der neu zu packenden Kisten relativ

klein ist, und steigt dann kontinuierlich an. Die Nachoptimierung bricht bei Erreichen einer

vorgegebenen Zeitschranke t2 ab. Der Einsatz der Heuristik 3BPPO ist wegen der mehrfach

variierten Anzahl aufzulösender Schichten relativ zeitaufwendig. Sie wird daher nur einmalig

zur Nachoptimierung der vorher erreichten Bestlösung eingesetzt.

Page 187: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 167

procedure 3BPPO ( in : Problemdaten W, H, D, J, Parameter M1, M2, Fortschrittsrichtung sdir; inout : Lösung sb)

{ Initialisieren } if sdir = 1 then DD:= W; WW:= D; { Fortschrittsrichtung von sb ist Containerbreite W } else DD:= D; WW:= W; { Fortschrittsrichtung von sb ist Containerlänge D } endif ; sbold:= sb; sei (d1, d2,..., dnd) die aufsteigend nach Auslastung sortierte Folge der Schichtbreiten in sbold;

{ Anweisungen } for k:= 1 to nd - 1 do { Schritt 1 } löse die ersten k Schichten von sbold auf, setze R:= Menge der Kisten der Schichten 1,.., k; { Schritt 2 } löse die 1D-BPP-Instanz (DD, {dj | j = k+1,..., nd}) mittels 1BPH, leite s1 mit nb0 Bins ab; erzeuge die 3D-BPP-Rumpflösung sbnew durch Kombination der Schichten k+1,..., nd von sbold in nb0 3D-Bins gemäß s1; sortiere die Bins in sbnew aufsteigend nach freier Restdistanz in Fortschrittsrichtung sdir; { Schritt 3: bilde Schichten mit zu sdir alternativer Fortschrittsrichtung im Bin ib } for each Bin ib in sbnew do if freie Restdistanz dfree(ib) > minimales Kistenmaß in R then berechne Lösung s für CLP-Instanz ICL = (dfree(ib), H, WW, R) mit Hilfe von 3CLH und Parameter M1, M2; ergänze Anordnung im Bin ib durch s; entferne aus R die in s platzierten Kisten; endif ; endfor ib; { Schritt 4: Fülle zusätzliche Bins mit Schichten in zu sdir alternativer Fortschrittsrichtung } Rufe 3BP1S(DD, H, WW, R, M1, M2, Binanzahl(sb) – nb0, sbr); if Lösung sbr ≠ ∅ then sbnew := sbnew ∪ sbr; if (Binanzahl(sbnew) < Binanzahl(sb)) then sb:= sbnew; endif ; endif ; endfor k;

end .

Alg. 16. Algorithmus der Heuristik 3BPPO.

Abschließend sei auf die Einhaltung der Guillotineschnitt-Bedingung eingegangen. Diese

wird innerhalb einer einzelnen Schicht aufgrund der erzeugten Packmuster eingehalten (vgl.

Abb. 24, S. 130). Ihre Einhaltung auf der Ebene kompletter Lösungen resultiert aus der

erzeugten Packstruktur. Die Verwendung verschiedener Fortschrittsrichtungen in einer

Lösung führt nicht zu einer Verletzung der Guillotinierbarkeit (vgl. Abb. 31).

Page 188: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

168 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

6.5 Numerischer Test

Die Heuristik wurde in C programmiert und mit Hilfe eines Standard-PC (1,86 GHz Intel mit

500 MB RAM) getestet. Im Anschluss werden zunächst neue Benchmarkinstanzen

eingeführt. Anschließend werden die Testergebnisse vorgestellt und analysiert.

6.5.1 Probleminstanzen

Einerseits soll BPHL auf 740 wohlbekannte Testinstanzen mit maximal 200 Items

angewendet werden. Andererseits sollen 1800 neue BPP-Instanzen für größere Probleme

vorgestellt werden.

Die 740 Probleme aus der Literatur beinhalten 300 2D-Testinstanzen von BERKEY und

WANG (1987); diese werden als BW-Instanzen bezeichnet. Weitere 200 2D-Probleme

stammen von MARTELLO und VIGO (1998), nachfolgend als MV-Instanzen bezeichnet. Die

500 2D-Instanzen werden in 10 Klassen von 50 Instanzen zusammengefasst. In jeder Klasse

liegen die Kistenzahlen pro Instanz zwischen 20 und 100. Für eine detaillierte Beschreibung

der Instanzen sei auf LODI, MARTELLO und VIGO (1999a) verwiesen.

240 Instanzen für den 3D-Fall entstammen MARTELLO, PISINGER und VIGO (2000). Diese

nachfolgend mit MPV bezeichneten Instanzen sind in 6 Gruppen („1“, „4“, „5“, „6“, „7“,

„8“) zusammengefasst. Weitere Klassen von Problemen („2“, „3“, „9“) werden in der Regel

nicht in der Literatur beachtet (siehe FAROE, PISINGER und ZACHARIASEN, 2003). Jede der 6

Klassen umfasst 40 Instanzen mit identischen Containermaßen, aber unterschiedlicher

Kistenzahl (50, 100, 150, 200 Packstücke pro Instanz).

Um die Eignung von BPHL für größere Probleminstanzen zu überprüfen, werden ausgehend

von den CLP-Benchmarkinstanzen von BISCHOFF und RATCLIFF (1995) bzw. DAVIES und

BISCHOFF (1998) (kurz: BR-Instanzen) insgesamt 1800 Bin Packing-Instanzen abgeleitet. Die

ursprünglichen BR-Instanzen gliedern sich in 15 Testfälle mit je 100 Probleminstanzen. Pro

Testfall ist die Anzahl der Kistentypen für alle Instanzen identisch. Die Kistenvorräte der

Testfälle variieren von schwach zu stark heterogen. Die Containermaße entsprechen

durchweg den Innenmaßen eines 20-Fuss-Standard-Containers.

Die neuen Benchmarkinstanzen für das BPP sollten folgende Anforderungen erfüllen:

Page 189: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 169

• Es sollten sowohl 3D- als auch 2D-Probleminstanzen bereitgestellt werden.

• Große Instanzen sind erwünscht, in der Größenordnung von 1000 Kisten oder mehr.

• Es sollten verschiedene Größenverhältnisse der Kisten im Vergleich zum Container

betrachtet werden.

• Die Kistenmengen der Instanzen sollten verschiedene Heterogenitätsgrade besitzen.

• Um die Vergleichbarkeit der Resultate zu erleichtern, sollte der kontinuierliche

Lower Bound L0 für jeden Testfall einen einheitlichen Wert besitzen.

Die Instanzerzeugung wird zunächst für den 3D-Fall beschrieben.

Containergröße: Drei Varianten werden betrachtet, wobei das Containervolumen 100%, 25%

und 15% des Containervolumens der BR-Instanzen beträgt. Die drei Containergrößen werden

nachfolgend auch mit „100%“, „25%“ und „15%“ bezeichnet. Bei den Varianten 25% und

15% werden die Innenmaße des 20-Fuss-Standard-Containers proportional angepasst. Die

Kistengrößen werden unverändert von den BR-Instanzen übernommen. Daher ergeben sich

verschiedene Verhältnisse des mittleren Kistenvolumens zum Containervolumen.

Kistentypen: Bei der Bereitstellung von Kistentypen werden zwei Modi unterschieden. In

Modus 1 werden für eine 3D-BPP-Instanz alle Kistentypen einer BR-Instanz unverändert

übernommen. Wie bei den BR-Instanzen kommen daher Kistenvorräte mit 3 bis 100

Kistentypen vor. In Modus 2 werden die Kistentypen einer 3D-BPP-Instanz durch

Zusammenfassen der Kistentypen 10 aufeinanderfolgender BR-Instanzen eines Testfalls

erzeugt (Instanzen 1-10, 11-20, usw.). Die Anzahl an Kistentypen wird daher im Vergleich

zu den BR-Instanzen verzehnfacht. Die Instanzen aus Modus 2 beinhalten folglich zwischen

30 und 1000 Kistentypen und besitzen im Vergleich zu den Instanzen des Modus 1 eine viel

höhere Heterogenität.

Kistenzahlen: Zuletzt sind die Kistenzahlen aller Kistentypen festzulegen. Die Kistenzahlen

werden so bestimmt, dass der Lower Bound L0 abhängig von der Containervariante folgende

Werte annimmt: L0 = 10 für Containervariante „100%“, L0 = 40 für die Containervariante

„25%“ und L0 = 100 bei Containervariante „10%“. Die Kistenzahlen für die einzelnen

Kistentypen werden zufällig bestimmt; ausnahmsweise kann es vorkommen, dass für einen

Kistentyp keine Kiste ermittelt wird, dieser also entfällt.

Pro Modus der Kistentypauswahl (1 oder 2) und Containergröße werden für jeden der 15

BR-Testfälle jeweils 10 3D-BPP-Instanzen, wie eben beschrieben, erzeugt. Bei Modus 1

Page 190: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

170 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

werden nur die ersten 10 Testinstanzen jedes BR-Testfalls verwendet, während für Modus 2

sämtliche 100 Instanzen für die Erzeugung von 10 neuen Testinstanzen benötigt werden.

Insgesamt werden daher 2 · 3 · 15 · 10 = 900 3D-BPP-Instanzen bereitgestellt. Die Erzeugung

von 2D-BPP-Instanzen verläuft analog wie im 3D-Fall. Anders ist lediglich, dass pro Instanz

die Höhe des ursprünglichen 20-Fuss-Containers sowie pro Kistentyp jeweils eine zufällig

ermittelte Kistendimension ignoriert wird, indem die Seitenlänge den Wert 1 annimmt. Wie

im 3D-Fall werden so 900 2D-BPP-Instanzen definiert. Tab. 34 stellt die Systematik und die

Bezeichnungen der 12 neuen Testfälle mit je 150 Instanzen vor. Anders als bei den

BR-Instanzen für das CLP werden hier alle Instanzen einer Dimension, eines

Kistentyp-Modus und einer Containergröße zu einem Testfall zusammengefasst. Bezüglich

der Instanzgrößen gilt, dass bis auf 10 Instanzen jede Instanz mehr als 1000 Packstücke

umfasst. Die mittlere Packstückanzahl über alle 1800 Instanzen beträgt 1566, im 2D-Fall

gehören im Mittel 1646 Rechtecke und im 3D-Fall 1486 Kisten zu einer Instanz. Die kleinste

Instanz beinhaltet 792 und die größte 4232 Packstücke. Die insgesamt 1800 BPP-Instanzen

wurden unter www.fernuni-hagen.de/WINF zum Download bereitgestellt.

Tab. 34. Systematik und Bezeichnungen der 12 BPP-Testfälle.

Container- volumen

100% 25% 15% Testfälle (je 150

Instanzen) L0 10 40 100

Modus 1 MB01 MB03 MB05 3D

Modus 2 MB02 MB04 MB06

Modus 1 MB07 MB09 MB11 2D

Modus 2 MB08 MB10 MB12

6.5.2 Testresultate

Zur Lösung der 740 Benchmarkinstanzen aus der Literatur wurde BPHL wie folgt

konfiguriert: t1 = 3 s., t2 = 3 s., maxM1 = 2, maxM2 = 8. Eine zusätzliche Gesamtzeitschranke

tl = 3 s. stellt sicher, dass die Rechenzeiten sehr kurz bleiben. Die Berechnung erfolgte auf

einem PC mit 1.86 GHz Intel Prozessor. Die 2D- und 3D-Ergebnisse werden in den

folgenden Tabellen zusammengefasst. Beide Tabellen sind analog aufgebaut:

• Am linken Tabellenrand werden Dimension und Testfall (BWi, MV i, MPVi) der

berechneten Instanzen angezeigt. Zusätzlich wird der mittlere kontinuierliche Lower

Bound L0 pro Klasse angegeben.

Page 191: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 171

• Im rechten Tabellenbereich werden die Resultate von BPHL und einigen

Vergleichsverfahren der Literatur angegeben. Es werden lediglich die Mittelwerte über

alle Instanzen einer Klasse angegeben. nb bezeichnet dabei die Anzahl verwendeter

Container, während nbrel den Wert nb / L0 angibt. Für jedes Vergleichsverfahren wird

zudem der behandelte BPP-Subtyp („OF“, „RG“, vgl. Kap. 1.2.4, Tab. 5) erwähnt. In

Tab. 36 wird außerdem die verwendete Zeitschranke (tl = „t ime limit“) sowie der

Verfahrenstyp (TS, GLS) angegeben.

Tab. 35. Testresultate für 500 2D-Benchmarkprobleme.

LODI, MARTELLO und V IGO (1998) BPHL

RG RG

FCRG UBF TS Dim. Testfall L0

nbrel nbrel nbrel nb nbrel

BW01 18.54 1.09 1.09 1.07 19.56 1.06

BW02 2.48 1.04 1.06 1.04 1.50 1.01

BW03 12.58 1.19 1.19 1.14 14.02 1.12

BW04 2.38 1.05 1.07 1.05 2.44 1.02

BW05 15.72 1.15 1.15 1.13 17.60 1.12

2D

BW06 2.16 1.10 1.10 1.10 2.20 1.03

Mittel BW 8.98 1.10 1.11 1.09 9.72 1.06

MV07 14.38 1.18 1.18 1.16 15.68 1.10

MV08 14.42 1.17 1.17 1.17 15.64 1.09

MV09 27.42 1.54 1.54 1.54 42.42 1.54 2D

MV10 9.52 1.09 1.09 1.08 10.20 1.08

Mittel MV 16.44 1.25 1.25 1.24 20.99 1.20

Mittel BW/MV 11.96 1.16 1.17 1.15 14.23 1.12

Bei den 2D-Instanzen kann festgestellt werden, dass BPHL leicht bessere Ergebnisse erreicht

als die Verfahren von LODI et al. (1998), welche denselben Subtyp RG bearbeiten. Die

gewählte Zeitschranke von 3 s. zeigt dabei die Effizienz der vorgestellten Heuristik. Im

Mittel wird die Bestlösung bereits nach 0.1 Sekunden erreicht. Tab. 36 kann ferner

entnommen werden, dass BPHL etwas bessere Containerzahlen erreicht als die

Vergleichsverfahren. Allerdings ist ein direkter Vergleich nicht möglich, da diese Verfahren

fixierte Orientierungen der Kisten beachten (Typ OF), während BPHL eine freie Drehung der

Packstücke zulässt. Daher sind die Resultate vorsichtig zu interpretieren. Allerdings ist die

von BPHL verwendete Zeitschranke von 3 s. sehr klein, die Bestresultate werden

durchschnittlich bereits nach 0.6 s. erreicht.

Page 192: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

172 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

Tab. 36. Testresultate für 240 3D-Benchmarkprobleme.

LODI, MARTELLO und VIGO (2002)

FAROE, PISINGER und Z ACHARIASEN (2003) BPHL

OF OF RG

TS GLS

tl = 60 tl = 150 tl=1000 tl = 60 tl = 150 tl=1000 tl = 3

Dim Test- fall

L0 (RG)

nb nb nb nb nb nb nb

MPV1 23.78 32.43 32.23 31.98 32.65 32.35 32.08 28.88

MPV4 38.73 73.50 73.50 73.50 73.85 73.75 73.55 73.30

MPV5 14.00 18.05 18.00 17.85 17.98 17.80 17.70 17.45

MPV6 21.20 24.28 24.10 24.03 24.28 24.08 24.00 23.20

MPV7 11.93 15.30 15.18 15.00 15.10 14.90 14.75 14.55

3D

MPV8 16.45 20.98 20.93 20.65 20.80 20.58 20.48 19.83

Mittel 21.01 30.75 30.65 30.50 30.78 30.58 30.43 29 .53

Nachfolgend werden die Resultate für die 1800 neuen Benchmarkinstanzen dargestellt.

Die Parameterwerte für die 1800 neuen Benchmarkprobleme wurden in Vortests ermittelt:

t1 = 60 s., t2 = 60 s., maxM1 = 4, maxM2 = 8. Nachfolgende Tab. 37 ist wie folgt aufgebaut:

• Jede Zeile von Tab. 37 präsentiert die Mittelwerte über alle 150 Testinstanzen eines

Testfalls aus Tab. 34. Die ersten drei Spalten enthalten die Dimension, die Bezeichnung

des jeweiligen Testfalls sowie den zugehörigen Wert für L0.

• „BPHL“ steht für die Vollversion der Heuristik inklusive Nachoptimierung, „BPHL-“

bezeichnet die reduzierte Version ohne Nachoptimierung.

• Pro Version und Testfall werden die mittlere Anzahl an benötigten Containern (nb), die

relative Abweichung vom Lower Bound gap = (nb - L0) / L0 (in %) sowie die

durchschnittliche Volumenauslastung VU in den Containern (in %) angegeben. Für die

Vollversion BPHL werden neben Anzahl und Prozentsatz der Instanzen (nopt), in

welchen der Optimalwert L0 erreicht wurde, zusätzlich die mittlere Rechenzeit pro

Instanz in (1.86 GHz-) Sekunden angegeben (Spalte t_tot).

• Unter „Wirkung von 3BPPO“ werden die Ergebnisabweichungen der Versionen BPHL

und BPHL- zusammengefasst. Speziell gibt ni1 die Anzahl der Instanzen pro Testfall

an, in welcher die Nachoptimierung (3BPPO) zu einer Bineinsparung führt.

• Unter „Wirkung von 1BPH“ werden die Rechenzeiten des Moduls 1BPH absolut und

prozentual bzgl. der Gesamtrechenzeit angegeben (Spalte t_1BPH). Zudem gibt ni2 die

Anzahl der Instanzen pro Testfall an, für die 1BPH zu einer Binreduzierung führt.

Page 193: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 173

Tab. 37. BPHL Testresultate für 1800 Probleminstanzen.

BPHL BPHL- Wirkung von 3BPPO Wirkung von 1BPH Dim Test-

fall L0 nb (Bins)

gap (%)

VU (%) nopt nopt

(%) t_tot (s)

nb (Bins)

gap (%)

VU (%)

nb (Bins)

gap (%)

VU (%) ni1

t_1BPH (s)

t_1BPH (%) ni2

MB01 11.0 10.40 86.33 11 7.3 125.5 11.1 10.87 85.97 -0.05 -0.47 0.36 7 0.9 0.7 3

MB02 10

10.7 6.67 88.99 50 33.3 99.1 10.7 7.13 88.60 -0.05 -0.47 0.39 7 1.2 1.2 0

MB03 46.9 17.17 84.29 0 0.0 101.2 47.8 19.52 82.63 -0.94 -2.35 1.66 97 2.2 2.2 13

MB04 40

44.0 10.10 89.71 0 0.0 97.1 45.1 12.68 87.65 -1.03 -2.58 2.06 137 1.9 1.9 0

MB05 130.4 30.41 76.33 0 0.0 123.2 133.9 33.86 74.37 -3.45 -3.45 1.97 132 3.2 2.6 12

3D

MB06 100

122.1 22.11 81.51 0 0.0 122.6 124.4 24.38 80.02 -2.27 -2.27 1.49 147 2.6 2.1 6

Mittel (3D) 16.14 84.53 10.2 6.8 111.5 18.07 83.21 -1.30 -1.93 1.32 87.8 2.0 1.8 5.7

MB07 10.2 2.00 93.28 120 80.0 26.7 10.2 2.00 93.28 0.00 0.00 0.00 0 0.1 0.5 2

MB08 10

10.2 1.53 93.40 127 84.7 22.5 10.2 1.73 93.21 -0.02 -0.20 0.18 3 0.1 0.6 0

MB09 41.4 3.53 95.38 4 2.7 118.1 41.5 3.87 95.07 -0.13 -0.33 0.31 16 2.3 1.9 21

MB10 40

40.9 2.17 96.61 27 18.0 106.5 41.0 2.42 96.38 -0.10 -0.25 0.24 15 4.2 3.9 11

MB11 111.1 11.07 89.57 0 0.0 122.5 111.9 11.87 88.92 -0.80 -0.80 0.64 78 1.4 1.1 23

2D

MB12 100

104.7 4.71 95.03 0 0.0 122.9 105.4 5.38 94.43 -0.67 -0.67 0.60 83 1.2 1.0 10

Mittel (2D) 4.17 93.88 46.3 30.9 86.5 4.54 93.55 -0.29 -0.37 0.33 32.5 1.5 1.5 11.2

Mittel 10.16 89.20 28.3 18.8 99.0 11.31 88.38 -0.79 -1.15 0.82 60.2 1.8 1.7 8.4

Page 194: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

174 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

Die Ergebnisse des Tests werden nachfolgend unter drei Aspekten analysiert. Erstens wird

die Leistung der Heuristik BPHL beurteilt. Zweitens wird die Wirksamkeit einzelner

Komponenten der Heuristik eingeschätzt. Drittens wird der Zusammenhang zwischen

gewissen Instanzparametern einerseits und der erreichten Lösungsgüte andererseits

betrachtet.

Ein direkter Vergleich von BPHL mit anderen Bin Packing-Verfahren ist derzeit nicht

möglich, da für die neuen Instanzen noch keine Vergleichswerte vorliegen. Auch ein Test

von BPHL anhand bekannter Benchmarkinstanzen für das 2D-BPP oder 3D-BPP scheidet

aus, weil diese eine strenge Orientierungsrestriktion enthalten, welche BPHL aufgrund des

integrierten CLP-Verfahrens nicht berücksichtigt. Jedoch kann die mit BPHL erreichte

Lösungsgüte indirekt bewertet werden.

Die von BPHL im 3D-Fall erreichte mittlere Auslastung von 84.5% liegt nicht sehr weit

unter den Auslastungswerten, die für das CLP mit einem Container von aktuellen Heuristiken

erreicht werden. So erzielte das Baumsuchverfahren von ELEY (2002) für die ersten sieben

Testfälle von BISCHOFF und RATCLIFF eine mittlere Auslastung von 88.8%. Das

GRASP-Verfahren von MOURA UND OLIVEIRA (2005) erreichte für alle 15 Testfälle von

BISCHOFF und RATCLIFF eine mittlere Auslastung von 86.7%. Im 2D-Fall gilt eine analoge

Aussage.

Für einen weiteren indirekten Vergleich der Lösungsgüte sei die Abweichung (gap)

betrachtet. BPHL erreicht für die 3D-Instanzen eine mittlere Abweichung zu L0 von 16.1%

und für die 2D-Instanzen eine mittlere Abweichung von 4.2%. FAROE et al. (2003)

verwenden zur Auswertung der Ergebnisse ihrer leistungsfähigen Metaheuristik den

Lower Bound L2, der L0 dominiert (vgl. MARTELLO et al, 2000). Für die berechneten 3D-

Instanzen wird eine mittlere Abweichung von 6.8% und für die beiden 2D-Testfälle eine

mittlere Abweichung zu L2 von 7.2% bzw. 5.5% erzielt. Nun besitzen die von FAROE et al.

berechneten Instanzen anders als die hier getesteten Instanzen eine Orientierungsrestriktion.

Dennoch spricht auch dieser Ergebnisvergleich dafür, dass BPHL in der Regel eine

befriedigende Lösungsqualität erreicht. Gute Ergebnisse liegen insbesondere für die 2D-

Testfälle mit L0 ∈ {10, 40} sowie für die 3D-Testfälle mit L0 = 10 vor. Bei den letztgenannten

3D-Testfällen (MB01, MB02) wäre eine mittlere Volumenauslastung von 95.1% über die

zugehörigen 300 Instanzen erforderlich, um den Wert von L0 bei jeder Instanz zu realisieren.

Bei dieser Sachlage ist eine mittlere Abweichung von ca. 8.5% für die beiden Testfälle

Page 195: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 175

MB01 und MB02 offensichtlich ein guter Wert. Das gilt vor allem, da der Lower Bound L0

im Mittel um weniger als ein Bin verfehlt wird. Auch die erreichten Prozentsätze optimaler

Lösungen (nopt) mit Bezug auf L0 sprechen für eine teils gute bis sehr gute Lösungsqualität.

Auch zur Beurteilung der benötigten Rechenzeiten sei ein Vergleich mit dem Verfahren von

FAROE et al. angestellt. Diese Metaheuristik wurde auf einer Workstation mit einer

Taktfrequenz von 500 MHz getestet. Als Zeitschranke wurden 1000 Sekunden für

3D-Instanzen bzw. 100 Sekunden für 2D-Instanzen verwendet (das Zeitlimit wurde stets

ausgeschöpft). Nun wurde BPHL auf einem schnelleren Prozessor (1.86 GHz) getestet.

Jedoch muss beachtet werden, dass die berechneten Instanzgrößen stark differieren.

FAROE et al. berechneten 3D-Instanzen mit 50 bis maximal 200 Kisten und 2D-Instanzen mit

20 bis 100 Rechtecken. Dagegen werden hier Instanzen mit durchschnittlich mehr als 1500

Packstücken berechnet (vgl. Tab. 34). Die mittlere von BPHL benötigte Rechenzeit von ca.

100 Sekunden ist daher als recht gering einzustufen. Zusammenfassend kann festgestellt

werden, dass BPHL offenbar in der Lage ist, für extrem große zwei- und dreidimensionale

Bin Packing-Instanzen in knapp bemessener Rechenzeit Lösungen mit befriedigender

Qualität zu ermitteln.

Betrachtet sei nun die Wirksamkeit einzelner Verfahrenskomponenten. Das Modul 1BPH zur

Lösung des eindimensionalen BPP zielt auf eine Bineinsparung durch eine Umverteilung der

Schichten ab. In 101 der 1800 Instanzen (5.6% der Instanzen) ist diese Maßnahme

mindestens einmal im Suchverlauf erfolgreich. Der Rechenaufwand ist sehr gering und

beträgt im Mittel 1.8 s. pro Instanz; diese Zeit entspricht einem durchschnittlichen Anteil von

1.8% der mittleren Rechenzeit pro Instanz.

Die Nachoptimierungsprozedur 3BPPO bewirkt eine mittlere Reduzierung der Abweichung

von L0 um 1.15%-Punkte und eine mittlere Steigerung der Volumenauslastung um 0.82%-

Punkte, bezogen auf alle 1800 Instanzen. Für etwa 40% der 1800 Instanzen führt 3BPPO zu

einer Ergebnisverbesserung. Weil für die Heuristik ohne Nachoptimierung (BPHL-) sowie

für die Nachoptimierung (3BPPO) im Test jeweils maximal 60 Sekunden Rechenzeit

verfügbar waren (t1 = 60 s., t2 = 60 s.), werden keine näheren Angaben zum Zeitbedarf von

BPHL- und 3BPPO gemacht. Durch einen Verzicht auf die Nachoptimierung kann bei der

gegebenen Parametrisierung die Rechenzeit um fast die Hälfte gesenkt werden, wobei eine

nur mäßig schlechtere Lösungsqualität die Folge ist (vgl. Tab. 37). Dies unterstreicht

Page 196: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

176 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

nochmals die Fähigkeit der Heuristik BPHL, in kurzer Zeit extrem große Instanzen

befriedigend zu lösen.

Abb. 32 verdeutlicht anhand der Instanz MB06_015 den Suchverlauf von BPHL. Bereits

nach wenigen Sekunden ist eine Ausgangslösung mit 133 Bins ermittelt, die sogleich mit

einer Umverteilung der Schichten auf 132 verbessert wird (Modul 1BPH ist erfolgreich). In

den ersten 60 Sekunden der Suche werden dann die Suchparameter (M1, M2) sukzessive

erhöht, und eine Lösung mit 128 Bins wird gefunden. Anschließend werden im Zuge der

Nachoptimierung mittels 3BPPO immer mehr Schichten der bisherigen Bestlösung aufgelöst

und durch Schichten in alternativer Fortschrittsrichtung ersetzt, wodurch eine weitere

Binreduzierung auf schließlich 122 Bins erfolgt.

Suchverlauf von MB06_015

122

124

126

128

130

132

134

0,0 20,0 40,0 60,0 80,0 100,0 120,0

CPU-time (s.)

nbbe

st

Abb. 32. Suchverlauf von BPHL am Beispiel der Testinstanz MB06_015.

Abschließend sei der Frage möglicher Zusammenhänge zwischen den Parametern der

Testinstanzen einerseits und der erreichten Lösungsgüte andererseits nachgegangen.

Für 2D-Instanzen werden im Vergleich zu 3D-Instanzen im Mittel deutlich höhere

Auslastungen und folgerichtig geringere Abweichungen vom Lower Bound L0 erreicht.

Übereinstimmend werden in der Literatur für das 2D-Knapsack-Problem bzw.

2D-Strip Packing-Problem allgemein höhere Volumenauslastungen erreicht als für

entsprechende 3D-Probleme. Gute Verfahren für den 2D-Fall erzeugen Auslastungen von

98% oder mehr, während derart hohe Auslastungen im 3D-Fall selten erreicht werden.

Generell scheint es plausibel, dass das Erreichen einer gewissen Packdichte in einem

Page 197: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems 177

Behälter mit steigender Dimensionszahl schwieriger wird, weil die Vermeidung von Lücken

in größerem Umfang die simultane Einhaltung gewisser Maßbeziehungen erfordert.

Ein recht klarer Zusammenhang lässt sich zwischen den Werten des Lower Bound L0

einerseits und den Auslastungen bzw. Abweichungen zu L0 andererseits beobachten. Im

Allgemeinen gilt, dass bei steigendem L0 die erreichten Auslastungen sinken und zugleich

die Abweichungen vom Lower Bound zunehmen; eine Ausnahme bilden lediglich die

2D-Testfälle MB09 und MB10. Auch dieser Trend erscheint plausibel, da bei den

berechneten Testfällen mit steigendem L0 die relative Größe der Packstücke zu den

Containermaßen ansteigt und die Packstücke somit „sperriger“ werden. Die Module 1BPH

(zur Schichtumverteilung) bzw. 3BPPO (zur Nachoptimierung) erweisen sich für die

Instanzen mit höheren Werten für L0 (bei L0 ∈ {40, 100}) bzw. mit relativ großen

Packstücken als besonders erfolgreich.

Schließlich wird für die Testfälle, welche mit Modus 2 erzeugt wurden, generell eine bessere

Lösungsqualität erreicht als für die entsprechenden Testfälle aus Modus 1 (vgl. Tab. 34). Die

mit Modus 2 erzeugten Kistenmengen besitzen eine viel höhere Heterogenität. Da beim

3D-CLP in der Vergangenheit umgekehrt für Testfälle mit Kistenmengen von geringer

Heterogenität besonders hohe Auslastungen erreicht wurden, wirkt der hier festgestellte

Trend zunächst etwas überraschend. Nun kann sich die Heterogenität einer Kistenmenge

zumindest in zweierlei Hinsicht auf die erreichbare Auslastung auswirken. Einerseits

ermöglicht die Existenz einer gewissen Anzahl von Kisten pro Kistentyp die Bildung

zusammenhängender Teilanordnungen (Blöcke) aus Kisten gleichen Typs und räumlicher

Orientierung ohne Innenverluste. Insofern kann sich eine relativ geringe Heterogenität

positiv auf eine hohe Gesamtauslastung auswirken. Andererseits wächst mit zunehmender

Heterogenität der Kistenmenge auch der Reichtum an Kombinationsvarianten für bestimmte

Maße, speziell für die Containerabmessungen, was ebenfalls eine hohe Gesamtauslastung

begünstigen kann. Eine mögliche Interpretation für den beobachteten Trend könnte nun darin

bestehen, dass bei dem hohen mittleren Heterogenitätsgrad der hier eingeführten Instanzen

der zuletzt genannte Einfluss überwiegt. Hinzu kommt, dass bei der großen Mehrzahl der

nach Modus 1 erzeugten Instanzen meist zu wenige Exemplare pro Kistentyp vorhanden

sind, um größere Blöcke bilden zu können; daher erweist sich vermutlich der Vorteil der

nach Modus 2 erzeugten Instanzen bezüglich der Kombinierbarkeit von Maßen als

Page 198: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

178 Kapitel 6 : Ein Verfahren zur Lösung des mehrdimensionalen Bin Packing-Problems

ausschlaggebend. Jedoch muss diese Erklärung im Lichte weiterer Testergebnisse für die

eingeführten Instanzen überprüft werden.

6.6 Zusammenfassung der Ergebnisse

In Kapitel 6 wurde eine Heuristik für das mehrdimensionale Bin Packing-Problem (BPP) mit

einem Containertyp und rechteckigen Packstücken vorgestellt. Die Heuristik basiert auf

einem Verfahren für das eindimensionale BPP sowie einem Verfahren für das

3D-Container Loading-Problem (CLP), welches dem schichtbildenden Ansatz folgt. Als

3D-CLP-Verfahren wird hier das Baumsuchverfahren von PISINGER (2002) gewählt. Ihrem

Typ nach ist die BPP-Heuristik ein auf recht einfachen Verfahrensideen basierendes

Verbesserungsverfahren. Um ihre Eignung für sehr große Probleminstanzen nachzuweisen,

wurden 1800 neue Instanzen mit durchschnittlich mehr als 1500 Stücken eingeführt. Neben

der Dimensionalität werden auch die relative Packstückgröße sowie die Heterogenität der

Packstückmenge systematisch variiert. Der Test ergab, dass die Heuristik in der Lage ist, für

die extrem großen Instanzen in kurzen Rechenzeiten von ein bis zwei Minuten Lösungen zu

berechnen, die zumindest in der Regel eine befriedigende Volumenauslastung aufweisen.

Hier wurde erstmals eine Heuristik für das mehrdimensionale BPP anhand von Instanzen der

angegebenen Größenordnung getestet und bewertet. Empirisch untersucht und analysiert

wurde auch die Abhängigkeit der erzielten Lösungsqualität von der mittleren relativen

Packstückgröße und der Heterogenität der Kistenmenge einer Instanz. Die Heuristik beachtet

bisher nur die Guillotineschnitt-Bedingung. Weitere Restriktionen, die etwa die Orientierung

der Packstücke sowie die Stabilität der Beladung betreffen, können durch die Wahl eines

alternativen 3D-CLP-Verfahrens (mit schichtbildendem Ansatz) relativ einfach

berücksichtigt werden. Dies bleibt ein Gegenstand weiterer Forschungstätigkeit.

Page 199: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 7 : Zusammenfassung und Ausblick 179

7 Zusammenfassung und Ausblick

In der vorliegenden Arbeit wurden vier Verfahren zur Lösung verschiedener

mehrdimensionaler Cutting and Packing-Probleme sowie ein Verfahren zur Erzeugung

entsprechender Probleminstanzen vorgestellt. Die erzielten Ergebnisse werden hier in zwei

Stufen zusammengefasst. In Abschnitt 7.1 geht es zunächst um die verfahrensbezogene

Auswertung der Ergebnisse, während in Kapitel 7.2 die Ergebnisse im Zusammenhang

betrachtet und ein Ausblick auf mögliche weitere Forschungsaktivitäten gegeben wird.

7.1 Zusammenstellung der Ergebnisse für die einzelnen Verfahren

In Kapitel 2 wurde ein paralleler Tabu Search-Algorithmus (TSA) für das

3D-Containerbeladeproblem mit einem zu beladenden Container und quaderförmigen schwach

heterogenen Packstücken vorgestellt. Der verteilt-parallele Ansatz basiert auf dem Konzept der

multiplen Suchpfade, vgl. TOULOUSE et al. (1996), d.h., es werden mehrere Suchpfade im

Lösungsraum simultan durchlaufen. Die parallele Suche wird von unterschiedlich

konfigurierten Instanzen eines (sequentiellen) TSA durchgeführt. Die Instanzen kooperieren

durch den Austausch von Bestlösungen, wobei ein Lösungsaustausch jeweils am Ende

definierter Suchphasen stattfindet. Die TSA-Instanzen laufen auf einer entsprechenden Anzahl

von Workstations eines LAN. Die Effizienz der parallelen Tabu-Suche wurde anhand eines

umfangreichen Vergleichstests nachgewiesen, der auch Heuristiken anderer Autoren für das

Containerbeladeproblem einbezieht.

In Kapitel 3 wurde ein Simulated Annealing-Algorithmus zur Lösung des

Containerbeladeproblems mit einem einzelnen Container vorgestellt. Ein fairer Vergleich

beider Suchstrategien TS und SA konnte erfolgen, da beide Verfahren auf identischen

problemspezifischen Elementen (Basisheuristik, Nachbarschaftsdefinition) basieren. SA

schnitt im Durchschnitt besser ab als TS, was allerdings nur für die spezifische

Implementierung der Strategien nachgewiesen wurde und keinen Anspruch auf

Verallgemeinerung zulässt. Der SA-Algorithmus wurde zudem zu einem hybriden

metaheuristischen Verfahren ausgebaut, in welchem Tabu-Suche und Simulated Annealing

gleichzeitig verwendet werden. Bei der Parallelisierung kommen verschiedene Kühlschemata

des SA simultan zum Zuge. Die Kommunikation zwischen den parallelen

Verfahrensinstanzen hat sich im vorliegenden Fall als kontraproduktiv erwiesen.

Page 200: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

180 Kapitel 7 : Zusammenfassung und Ausblick

Probleminstanzen unterschiedlicher Heterogenität wurden untersucht und die Resultate

verglichen, wobei SA eher für den stark heterogenen, TS eher für den schwach heterogenen

Fall geeignet war.

In Kapitel 4 wurde eine Heuristik zum Erzeugen von zwei- und dreidimensionalen

C&P-Instanzen der Problemtypen CLP, SPP, BPP mit quaderförmigen Packstücken

vorgestellt. Die Aufgabe besteht darin, Instanzen zu erzeugen, deren Optimallösung bekannt

ist und deren Problemgröße und Heterogenität vorgegeben sind. Außerdem sind bestimmte

Anforderungen an die erzeugten Kistentypen (bezüglich Länge, Anzahl, Volumen und Form)

einzuhalten. Die Aufgabe wird gelöst, indem der (oder die) Container schrittweise verlustfrei

in Packräume und anschließend in einzelne Kisten zerlegt werden. Diese Kisten bilden dann

die Kistenmenge zu der erhaltenen Optimallösung. Die verwendete Basisheuristik stellt eine

Verallgemeinerung der Ansätze von HOPPER und TURTON (2002) bzw.

WANG und VALENZUELA (2001) auf 3D-Instanzen dar. Beim Zerschneiden der Packräume

werden bestimmte vorgegebene Schnittmustervorgaben (Non-Guillotine, Guillotine, Layer)

optional beachtet, zudem kommen ausschließlich einfache Anordnungen der Kisten innerhalb

der Packräume zum Einsatz, bei denen ein Packraum nur mit Kisten eines Typs in identischer

räumlicher Orientierung gefüllt wird. Eine anschließende Nachbarschaftssuche soll

sicherstellen, dass komplexere Packpläne bzw. Optimallösungen gefunden werden, wobei

möglichst Kisten eines Typs in unterschiedlichen Anordnungen innerhalb der Optimallösung

verwendet werden. Hierzu werden einzelne Packräume verschmolzen und neu unterteilt, so

dass zwei Nachbarlösungen zwar eine verwandte Packraumstruktur, aber nicht zwingend

identische Kistentypen oder Kistenzahlen verwenden. Das entwickelte Verfahren eignet sich

gleichermaßen zum Erstellen von Instanzen des CLP, SPP und BPP und kann prinzipiell

Probleme beliebiger Größe, Heterogenität und Packdichte im Optimum erzeugen. In der

vorliegenden Arbeit wird es ausschließlich als Generator für SPP-Instanzen eingesetzt.

In Kapitel 5 wurde eine Heuristik für das dreidimensionale Strip Packing-Problem

vorgestellt, welche von einem schichtbildenden Verfahren von PISINGER (2002) abgeleitet

wurde. Zur Adaptation an das 3D-SPP wurden zwei Ansätze erprobt. Während die

Adaptation mit offenem Container quasi von einem beliebig langen Container ausgeht, führt

die Adaptation mit geschlossenem Container die Lösung einer SPP-Instanz auf die

Berechnung mehrerer CLP-Instanzen mit sinkenden Containerlängen zurück. Die

Adaptationsansätze entstammen der Arbeit von BORTFELDT und GEHRING (1999a). Zur

Reduzierung des Verfahrensaufwands werden bei der Adaptation mit geschlossenem

Page 201: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 7 : Zusammenfassung und Ausblick 181

Container zur Berechnung der jeweils nächsten CLP-Instanz möglichst viele Schichten hoher

Auslastung von der vorherigen SPP-Bestlösung übernommen und nur wenige Schichten neu

berechnet. Dadurch konnte der Aufwand bei der Berechnung gering gehalten und redundante

Rechenschritte vermieden werden. Prinzipiell kann jedes CLP-Verfahren in einen SPP-

Algorithmus transformiert werden, indem die Lösung des Strip Packing-Problems auf die

Lösung einer Folge von CLP-Instanzen mit sinkenden Containerlängen zurückgeführt wird.

Besonders einfach gestaltet sich dabei die Implementierung, da das CLP-Verfahren

gewissermaßen als „Black box“ behandelt wird, mit dem lediglich eine Interaktion über seine

Input/Output-Schnittstelle erfolgt. Nachgewiesen wurde vor allem die enge Verbindung von

SPP und CLP. Das Verfahren wurde mit Instanzen getestet, die mit dem in Kapitel 4

entwickelten Generator erzeugt wurden.

In Kapitel 6 wurde eine Heuristik für das mehrdimensionale Bin Packing-Problem (BPP) mit

einem Containertyp und rechteckigen Packstücken vorgestellt. Die Heuristik basiert auf

einem Verfahren für das eindimensionale BPP von BORTFELDT (2005) sowie einem

Verfahren für das 3D-Container Loading-Problem von PISINGER (2002), welches bereits in

Kapitel 5 zum Einsatz kam. Ihrem Typ nach ist die Heuristik ein auf recht einfachen

Verfahrensideen basierendes Verbesserungsverfahren. Zu bemerken ist außerdem, dass ein

neuer Lower Bound für das BPP mit (teilweise) orientierungsfreien Kisten verwendet wird,

welcher den wohlbekannten kontinuierlichen Lower Bound dominiert und der aus den

Bounds von MARTELLO, PISINGER UND VIGO (1998) abgeleitet wurde. Der neue Bound ist auf

Kistenmengen zugeschnitten, deren Abmessungen relativ groß im Vergleich zu den

Containermaßen ausfallen. Um die Eignung der Heuristik für sehr große Probleminstanzen

nachzuweisen, wurden 1800 neue Instanzen mit durchschnittlich mehr als 1500 Stücken

eingeführt. Neben der Dimensionalität wurden auch die relative Packstückgröße sowie die

Heterogenität der Packstückmenge systematisch variiert. Hier wird erstmals eine Heuristik

für das mehrdimensionale BPP anhand von Instanzen der angegebenen Größenordnung

getestet und bewertet.

7.2 Zusammenhang der Erkenntnisse und Ausblick

Die im Rahmen dieser Dissertation entwickelten Verfahren stehen in einem inneren

Zusammenhang. Alle Verfahren behandeln Probleme des Cutting and Packing mit zwei- und

dreidimensionalen rechteckigen Items. Die vorgestellten Algorithmen decken das Spektrum

der Basistypen der C&P-Problematik nach WÄSCHER et al. (2007) weitgehend ab (vgl.

Page 202: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

182 Kapitel 7 : Zusammenfassung und Ausblick

Abschnitt 1.2.2): zwei Verfahren zur Outputmaximierung werden in den Kapiteln 2 und 3

vorgestellt, während sich Kapitel 6 der Inputminimierung und Kapitel 5 dem Open

Dimension Problem widmet. Die Verfahren werden jeweils mit schwach und stark

heterogenen Problemen getestet, wobei sich die Verfahren aus den Kapiteln 2 und 3 eher für

schwach heterogene, die Verfahren der Kapitel 5 und 6 eher für stark heterogene Probleme

eignen. Die vorliegende Arbeit ist ferner durch ihre Konzentration auf große Problemgrößen

charakterisiert. So werden beim Test der BPP-Heuristik Instanzen mit durchschnittlich ca.

1.500 Kisten und maximal etwa 4.200 Kisten berechnet. Da in der Literatur bisher nur

wenige Probleminstanzen dieser Größe existieren, wurde zusätzlich das Verfahren in

Kapitel 4 entwickelt, welches im Gegensatz zu den restlichen Verfahren kein C&P-Problem

löst, sondern in der Lage ist, Probleminstanzen beliebiger Größe und Charakteristik für alle

Basistypen der Typologie von WÄSCHER et al. (2007) zu erzeugen.

Neben dieser Beschreibung des Umfangs der bearbeiteten Problematik und des

Zusammenhangs der Verfahren sei nachfolgend auf die Gesamtergebnisse eingegangen.

Allgemein gilt für kombinatorische Optimierungsprobleme, dass die empirisch ermittelte

Lösungsqualität als ein Gradmesser für das Verständnis der behandelten Problemwelt

betrachtet werden kann (vgl. BORTFELDT, 2010). Für die vorgestellten Lösungsverfahren

kann hierzu Folgendes festgestellt werden. Für das CLP erreichte das parallele

Hybridverfahren PHYB-XL aus Kapitel 3 bei seiner Publikation im Jahre 2004 bessere

Ergebnisse als alle Vergleichsverfahren und blieb für mehrere Jahre ungeschlagen. Erst das

im Jahre 2008 publizierte Verfahren von PARREÑO et al. erzielte im Mittel eine über 0.6

Prozentpunkte höhere Auslastung für die 700 Testinstanzen von BISCHOFF und

RATCLIFF (1995). Das Strip Packing-Verfahren SPBBL-CC stellte sich als sehr effektives

und effizientes Verfahren zum Lösen von Instanzen mit stark heterogenen Kistenvorräten

heraus und schlug im Bezug auf die Rechenzeit und Volumenauslastung alle vorhandenen

Konkurrenzverfahren. Dies ist einerseits auf das für viele Instanzen bestens geeignete Branch

and Bound-Verfahren von PISINGER (2002) zurückzuführen, andererseits aber auch auf den

spezifischen Adaptationsansatz mit geschlossenen Containern sowie der Tatsache, dass Teile

vorher ermittelter Lösungen möglichst beibehalten und in jedem Iterationsschritt jeweils

möglichst kleine Subprobleme gelöst werden. Beim BPP-Verfahren wurden ebenfalls

Bestwerte erzielt, die sich allerdings wegen unterschiedlicher Ausgestaltung der

Nebenbedingungen nur bedingt mit den Ergebnissen anderer Autoren vergleichen lassen. Für

die hinzugekommenen sehr großen BPP-Instanzen liegen keine Vergleichsergebnisse vor.

Page 203: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 7 : Zusammenfassung und Ausblick 183

Insgesamt wurde jedoch gezeigt, dass das entwickelte Verfahren in sehr kurzer Rechenzeit

akzeptable Ergebnisse auch für diese Problemgröße erzielt.

Methodisch lassen sich folgende Schlussfolgerungen ziehen. Bezüglich der Struktur von

C&P-Verfahren können prinzipiell mehrere Stufen unterschieden werden. Auf der untersten

Stufe ist eine Basisheuristik für das Erzeugen von einzelnen Lösungen zuständig. Sie

integriert spezielles problemspezifisches C&P-Wissen. Auf der mittleren Ebene kommen die

allgemeinen Suchstrategien der Metaheuristiken (z.B. Nachbarschaftsverfahren) zum Einsatz,

die an die C&P-Problematik angepasst werden, beispielsweise durch geeignete Definition

von Lösungscodierung und Nachbarschaft. Als übergeordnete Stufe kann die Parallelisierung

und Hybridisierung der Verfahren angesehen werden. Folgende Erkenntnisse wurden für die

einzelnen Stufen gewonnen.

Im Rahmen der Dissertation wurden die ursprünglichen Basisheuristiken von

BORTFELDT und GEHRING (1998) sowie das Verfahren von PISINGER (2002) weiterentwickelt,

indem zusätzliche Nebenbedingungen integriert wurden. Dabei stellte sich heraus, dass dies

keineswegs triviale Aufgaben waren. Die ursprüngliche Logik bei der Implementierung des

Verfahrens musste teilweise abgeändert werden, wodurch größere Änderungen im Quellcode

notwendig wurden. So wird z.B. beim Erzeugen von Streifen im Verfahren von Pisinger

ursprünglich nicht zwischen horizontalen und vertikalen Streifen unterschieden, da eine

Orientierungsrestriktion nicht beachtet wird. Bei dem Hinzufügen dieser Nebenbedingung

muss aber beachtet werden, dass horizontale Streifen nicht einfach als Drehung vertikaler

Streifen verwendet werden dürfen. Beim Verfahren von BORTFELDT und GEHRING (1998)

wurden zum Aufheben der Bedingung der vollständigen Unterstützung der Packstücke neben

den ursprünglichen 6 Zerlegungsvarianten für Packräume weitere 26 Varianten hinzugefügt

und verwaltet.

Schließlich wurde eine neuartige Basisheuristik im entwickelten Problemgenerator integriert.

Das sukzessive „Zersägen“ von Containern unter Berücksichtigung zahlreicher Vorgaben

(Guillotinierbarkeit, Form der ausgeschnittenen Objekte, Heterogenität u.s.w.) wurde in

dieser Konsequenz bisher nicht im 3D-Bereich realisiert. Der Instanzgenerator erzeugt

Instanzen beliebiger Größe und Heterogenität mit bekanntem Optimum und kann damit dazu

beitragen, die Eignung von Lösungsverfahren besser zu beurteilen.

Page 204: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

184 Kapitel 7 : Zusammenfassung und Ausblick

Auf der übergeordneten Ebene wurden mehrere Suchstrategien verwendet. Neben Tabu

Search wurde Simulated Annealing als weitere Strategie zum Lösen von CLP eingeführt.

Viel Aufwand wurde betrieben, um unterschiedliche erfolgversprechende Kühlpläne zu

entwerfen. So wurden neben dem Standardmodell von SA mehrere Varianten in Betracht

gezogen, darunter die Kühlpläne „Constant temperature annealing“, „Geometric Reheating“

sowie „Threshold Accepting“. Die Ergebnisse waren eher enttäuschend, so dass

schlussendlich ein einfacher Kühlplan zum Einsatz kam. Generell wurde die Erfahrung

gesammelt, dass die Entwicklung einer besseren (konstruktiven) Basisheuristik im

Allgemeinen einen größeren Einfluss auf die Lösungsgüte zur Folge hat als eine

Modifikation der übergeordneten Suchstrategie oder von deren Elementen. Erstmalig wurde,

nach Wissen des Autors, in dieser Dissertation ein Vergleich konkurrierender Suchstrategien

für das C&P durchgeführt. Diese Faktoranalyse war möglich, da beide Vergleichsverfahren

identisch waren bzgl. der verwendeten Basisheuristik und sich ausschließlich durch die

Metaheuristik unterschieden. Beim Test lag SA leicht vor TS. Verallgemeinern lässt sich

dieses Resultat allerdings nicht. Der wesentlich höhere Konfigurierungsaufwand von SA

spricht außerdem eher gegen den Einsatz dieser Strategie. Wegen des stochastischen

Charakters von SA sind zudem mehrere Testläufe notwendig, um verlässliche Mittelwerte zu

bilden und so einen Vergleich mit den Ergebnissen von Konkurrenzverfahren zu

ermöglichen.

Auf der höchsten Verfahrensebene wurden Hybridisierung und Parallelisierung eingesetzt.

Beim vorgestellten Hybridverfahren für CLP wurden zwei Metaheuristiken verwendet.

Simulated Annealing wird angewendet, um eine möglichst breite Suche nach Lösungen mit

gutem Zielfunktionswert zu erreichen. In der nachgeschalteten zweiten Phase wird die

Nachbarschaft der zwischenzeitlichen Bestlösung mit Tabu Search intensiv abgesucht. TS,

SA und Hybridverfahren für das CLP wurden zudem parallelisiert, wobei simultan mehrere

Suchpfade erkundet werden. Jeder Prozess löst dabei das gesamte Problem. Durch

unterschiedliche Konfigurierung der TS-Prozesse wurde eine gewisse Diversifikation bei der

Suche erreicht. Periodisches Abstimmen der Prozesse durch das Austauschen von Lösungen

hat sich bei TS bewährt, während dies bei den SA-Varianten nicht zum Erfolg führte. Bei der

SA- und Hybridvariante wurden die besten Ergebnisse mit unabhängigen, aber identisch

konfigurierten Prozessen erzielt. Wie erwähnt erreichte PHYB-XL, eine massiv

parallelisierte Variante mit 64 parallelen Prozessen, bei Publikation die besten Resultate für

die 700 Probleme von BISCHOFF UND RATCLIFF (1995) und blieb über Jahre hinweg im Mittel

Page 205: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Kapitel 7 : Zusammenfassung und Ausblick 185

ungeschlagen. Parallelisierung und Hybridisierung haben sich somit als zusätzliches Mittel

der Verfahrensoptimierung bewährt. Die hierbei erzielte Verbesserung fällt allerdings eher

bescheiden aus, so dass es sich anbietet, zunächst alle anderen Ansatzpunkte für eine

Verbesserung auf der untergeordneten Ebene auszureizen, bevor Parallelisierung und

Hybridisierung eingesetzt werden.

Als weitere Erkenntnis der vorliegenden Arbeit kann gewertet werden, dass ein für das CLP

bewährtes Verfahren zur Bearbeitung verwandter Problemstellungen eingesetzt werden kann.

Prinzipiell lässt sich jedes schichtbildende Verfahren für das CLP nach dem beschriebenen

Schema zum SPP-Verfahren und anschließend zu einem BPP-Verfahren aufrüsten. Es

handelt sich daher um ein generisches Transformationsschema und der enge Zusammenhang

der genannten Problemstellungen wurde empirisch verifiziert. Die Behandlung verschiedener

C&P-Problemtypen mit einem weitgehend einheitlichen Algorithmus ist eine Tendenz in der

aktuellen Literatur. Dies wird auch in der Verwendung von CLP-Algorithmen als

Komponente bei Tourenplanproblemen ersichtlich, einem weiteren Trend in der aktuellen

Forschung, vgl. z.B. GENDREAU et al. (2006).

Schließlich wurde in dieser Arbeit erstmals ein Verfahren zum Erzeugen von

3D-Instanzen mit beliebiger Charakteristik (Problemgröße, Heterogenität u.s.w.) und

bekanntem Optimum vorgeschlagen. Weiterhin können Instanzen mit den in Kapitel 1.2.4

eingeführten praxisrelevanten Restriktionen erzeugt werden. Die Erstellung umfangreicher

Testreihen für verschiedene spezifische Fragestellungen bleibt Gegenstand weiterer

Forschung.

Zusammenfassend kann festgestellt werden, dass die vorliegende Dissertation, durch die

Entwicklung leistungsfähiger Lösungsverfahren für drei wichtige C&P-Problemtypen, die

generische Erweiterung eines schichtbildenden CLP-Verfahrens zu einem SPP- und BPP-

Verfahren, sowie den Entwurf eines Problemgenerators, einen Beitrag zur besseren

Beherrschung und zum besseren Verständnis der schwierigen kombinatorischen

Optimierungsprobleme des Cutting and Packing geleistet hat.

Page 206: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades
Page 207: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Erklärung 187

Literaturverzeichnis

AARTS, E., J. KORST (1989) : Simulated Annealing and Boltzmann Machines: a stochastic approach to combinatorial optimization and neural computing, John Wiley & Sons, Inc., New York, NY

ALBA , E. (2005) : Parallel Metaheuristics - A new class of algorithms, ISBN: 9780471678069

ALTIPARMAK , F., I. KARAOGLAN (2008) : An adaptive tabu-simulated annealing for concave cost transportation problems, Journal of the Operational Research Society, Vol. 59, pp. 331-341

AZENCOTT, R. (1992) : Parallel Simulated Annealing: An Overview of Basic Techniques, in: Azencott, R. (ed.) (1992), Simulated Annealing: Parallelization Techniques, John Wiley & Sons, New York, NY, pp. 37-46

BEASLEY, J.E. (1985) : Algorithms for Unconstrained Two-Dimensional Guillotine Cutting, Journal of the Operational Research Society, Vol. 36 (4), pp. 297-306

BEASLEY, J.E. (1985) : An Exact Two-Dimensional Non-Guillotine Cutting Tree Search Procedure, Operations Research, Vol. 33 (1), pp.49-64

BELOV, G., G. SCHEITHAUER (2003) : A branch-and-cut-and-price algorithm for one- and two-dimensional two-staged cutting (stock) problems, Technische Universität Dresden, März 2003, Ref.: MATH-NM-03-2003

BENGTSSON, B.-E. (1982) : Packing Rectangular Pieces - A Heuristic Approach, The Computer Journal, Vol. 25, pp. 353-357

BERKEY, J.O., P.Y. WANG (1987) : Two dimensional finite bin packing algorithms, Journal of the Operational Research Society, Vol. 38, pp. 423-429

BISCHOFF, E.E. (2004) : Three dimensional packing of items with limited load bearing strength, European Journal of Operational Research, Vol. 168, pp. 952-966

BISCHOFF, E.E., F. JANETZ, M.S.W. RATCLIFF (1995) : Loading pallets with non-identical items, European Journal of Operational Research, Vol. 84 (3), pp. 681-692

BISCHOFF, E.E., M.D. MARIOTT (1990) : A comparative evaluation of heuristics for container loading, European Journal of Operational Research, Vol. 44, pp. 267-276

BISCHOFF, E.E., M.S.W. RATCLIFF (1995) : Issues in the Development of Approaches to Container Loading, Omega, Vol. 23, pp. 377-390

BOROVSKA, P., G. YANCHEV (2009) : The ParMetaOpt Experience: Performance of Parallel Metaheuristics on Scheduling Optimization, Proceedings of the 9th WSEAS International Conference on Applied Informatics and Communications (AIC' 09)

BORTFELDT, A. (2000) : Eine Heuristik für Multiple Containerladeprobleme, OR Spectrum, Vol. 22, pp. 239-261

BORTFELDT, A. (2005) : A hybrid procedure for the one-dimensional bin packing problem, Presentation on the 2nd ESICUP-Meeting, Southampton 2005, cf. http://paginas.fe.up.pt/~esicup/

BORTFELDT, A. (2006) : A genetic algorithm for the two-dimensional strip-packing problem, European Journal of Operational Research, Vol. 172, pp. 814-837

Page 208: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

188 Literaturverzeichnis

BORTFELDT, A. (2007) : Verfahren für das eindimensionale Bin Packing Problem (1D-BPP), Vortrag in der Forschungswerkstatt der Fakultät Wirtschaftswissenschaft der FernUniversität in Hagen, März 2007

BORTFELDT, A. (2010) : Metaheuristiken für Cutting- und Packing-Probleme, Habilitationsschrift

BORTFELDT, A., D. MACK (2007) : A Heuristic for the Three-dimensional Strip Packing Problem, European Journal of Operational Research, Vol. 183, pp. 1267-1279

BORTFELDT, A., H. GEHRING (1997) : Ein Tabu Search-Verfahren für Containerbeladeprobleme mit schwach heterogenem Kistenvorrat, Diskussionsbeitrag des Fachbereichs Wirtschaftswissenschaft, FernUniversität Hagen, Germany, Nr. 240

BORTFELDT, A., H. GEHRING (1998) : Ein Tabu Search-Verfahren für Containerbeladeprobleme mit schwach heterogenem Kistenvorrat, OR Spektrum, Vol. 20, pp. 237-250

BORTFELDT, A., H. GEHRING (1999a) : Two metaheuristics for strip packing problems, in: Despotis, D.K.; Zopounidis, C. (eds.), Proceedings of the Fifth International Conference of the Decision Sciences Institute, Athens, Vol. 2, pp. 1153-1156

BORTFELDT, A., H. GEHRING (1999b) : Zur Behandlung von Restriktionen bei der Stauraumoptimierung am Beispiel eines genetischen Algorithmus für das Containerbeladeproblem, Erste Wissenschaftliche Tagung Logistik Management (LM'99). Bremen, 23.–25. Juni 1999

BORTFELDT, A., H. GEHRING (2001) : A Hybrid Genetic Algorithm for the Container Loading Problem, European Journal of Operational Research, Vol. 131, pp. 143-161

BORTFELDT, A., H. GEHRING (2006) : New Large Benchmark Instances for the Two-Dimensional Strip Packing Problem with Rectangular Pieces, 39th Hawaii International International Conference on Systems Science (HICSS-39 2006),

BORTFELDT, A., H. GEHRING, D. MACK (2003) : A Parallel Tabu Search Algorithm for Solving the Container Loading Problem , Parallel Computing, Vol. 29, pp.641-662

BROOKS, R.L., C.A.B. SMITH , A.H. STONE, W.T. TUTTE (1940) : The Dissection of Rectangles into Squares, Duke Math. Journal, Vol. 7, pp.312-340

BRUNETTA, L., P. GRÉGOIRE (2005) : A General Purpose Algorithm for Three-Dimensional Packing, INFORMS Journal on Computing, Vol. 17 (3), pp. 328-338

BURKE, E.K., G. KENDALL, G. WHITWELL (2004) : A New Placement Heuristic for the Orthogonal Stock-Cutting Problem, INFORMS Operations Research, Vol. 52 (4), pp. 655-671

CAPRARA, A., M. MONACI (2004) : On the two-dimensional Knapsack Problem, Operations Research Letters, Vol. 32, pp.5-14

CHRISTOFIDES, N., C. WHITLOCK (1977) : An Algorithm for Two-Dimensional Cutting Problems, Operations Research, Vol. 25 (1), pp. 31-44

CLAUTIAUX , F., J. CHARLIER, A. MOUKRIM (2007) : A new exact method for the orthogonal packing problem, European Journal of Operational Research, Vol. 183 (3), pp. 1196-1211

COFFMAN JR., E.G., P.W. SHOR (1990) : Average-case analysis of cutting and packing in two dimensions, European Journal of Operational Research, Vol. 44, pp. 134-144

Page 209: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Erklärung 189

COFFMAN JR., E.G., J. CSIRIK, D.S. JOHNSON, G.J. WOEGINGER (2004) : An introduction to Bin Packing, Bilbliographie, cf. http://www.inf.u-szeged.hu/~csirik/ed5ut.pdf

CRAINIC, T.G., M. TOULOUSE, M. GENDREAU (1995) : Synchronous Tabu Search Parallelization Strategies for Multicommodity Location-Allocation with Balancing Requirements, OR Spektrum, Vol. 17, pp. 113-123

CRAINIC, T.G., M. TOULOUSE (2003) : Parallel Strategies for Meta-Heuristics, in: Handbook of Metaheuristics, Glover and Kochenberger, pp. 475-513

DAVIES, A.P., E.E. BISCHOFF (1998) : Weight Distribution Considerations in Container Loading, European Business Management School, University of Wales, Swansea, Statistics and OR Group, Arbeitsbericht.

DE CASTRO SILVA , J.L., N.Y. SOMA, N. MACULAN (2003) : A greedy search for the three-dimensional bin packing problem: the packing stability case, International Transactions in Operational Research, Vol. 10, pp. 141-153

DEBUDAJ-GARBYSZ, A., Z. J. CZECH (2007) : Theoretical and Practical Issues of Parallel Simulated Annealing, in: Parallel Processing and Applied Mathematics,7th International Conference, PPAM 2007, Gdansk, Poland, pp.189-198

DELL'AMICO, M., S. MARTELLO, D. VIGO (2002) : A lower bound for the non-oriented two-dimensional bin packing problem, Discrete Applied Mathematics, Vol. 118, pp. 13-24

DERELIA, T., G. S. DASB (2007) : A Hybrid Simulated-Annealing Algorithm for Two-Dimensional Strip Packing Problem, in: Adaptive and Natural Computing Algorithms

DOWSLAND, K. A. (1993a) : Simulated Annealing, in: Reeves, C.R. (ed.) (1993), Modern Heuristic Techniques for Combinatorial Problems, Blackwell Scientific Publications, Oxford, pp. 20-69

DOWSLAND, K. A. (1993b) : Some experiments with simulated annealing techniques for packing problems, European Journal of Operational Research, Vol. 68, pp. 389-399

DYCKHOFF, H. (1990) : A typology of cutting and packing problems, European Journal of Operational Research, Vol. 44, pp. 145-159

DYCKHOFF, H., U. FINKE (1992) : Cutting and Packing in Production and Distribution, Heidelberg, Physica-Verlag

DYCKHOFF, H., G. SCHEITHAUER, J. TERNO (1997) : Cutting and Packing. Annotated bibliographies in combinatorial optimization, Chichester, John Wiley & Sons

EGEBLAD, J., D. PISINGER (2009) : Heuristic approaches for the two- and three-dimensional knapsack packing problem, Computers and Operational Research, Vol. 36, pp. 1026-1049

EL BOURI, A., N. POPPLEWELL, S. BALAKRISHNAN , A. ALFA (1994) : A search based heuristic for the two-dimensional bin-packing problem, INFORMS Journal on Computing, Vol. 32, pp. 265-274

ELEY, M. (2002) : Solving Container Loading Problems by Block Arrangements, European Journal of Operational Research, Vol. 141, pp. 393-409

ELEY, M. (2003) : A bottleneck assignment approach to the multiple container loading problem, OR Spectrum, Vol. 25, pp. 45-60

ENSLOW, H. P. (1978) : What is a "Distributed" Data Processing System?, in: Computer 11, pp. 13-21

Page 210: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

190 Literaturverzeichnis

FALKENAUER, E. (1998) : On Method Overfitting, Journal of Heuristics, Vol. 4, pp. 281-286

FANSLAU, T, A. BORTFELDT (2010) : A Tree Search Algorithm for Solving the Container Loading Problem, INFORMS Journal on Computing, Vol. 22 (2), pp. 222-235

FAROE, O., D. PISINGER, M. ZACHARIASEN (2003) : Guided local Search for the Three-Dimensional Bin-Packing Problem, INFORMS Journal on Computing, Vol. 15, pp. 267-283

FEKETE, S. P., J. SCHEPERS, J. C. VAN DER VEEN (2007) : An Exact Algorithm for Higher-Dimensional Orthogonal Packing, Operations Research, Vol. 55 (3), pp. 569-587

FEKETE, S.P., J. SCHEPERS (1997) : On more-dimensional packing III: Exact Algorithms, Mathematisches Institut, Universität zu Köln, Technical Report ZPR97-290

GAREY, M.R., D.S. JOHNSON (1979) : Computers and Intractibility: A guide to the theory of NP-completeness, W.H. Freeman and Company, San Francisco

GEHRING, H., A. BORTFELDT (1997) : A Genetic Algorithm for Solving the Container Loading Problem, International Transactions in Operational Research, Vol. 4, pp. 401-418

GEHRING, H., A. BORTFELDT (2002) : A Parallel Genetic Algorithm for Solving the Container Loading Problem, International Transactions in Operational Research, Vol. 9, pp. 497-511

GENDREAU, M. (2003) : An Introduction to Tabu Search, in: Handbook of Metaheuristics, Glover and Kochenberger, pp. 37-54

GENDREAU, M., M. IORI, G. LAPORTE, S. MARTELLO (2006) : A tabu search algorithm for a routing and container loading problem, Transportation Science, Vol. 40, pp. 342-350

GEORGE, J.A., D.F. ROBINSON (1980) : A heuristic for packing boxes into a container, Computers and Operational Research, Vol. 7, pp. 147-156

GLOVER, F., G.A. KOCHENBERGER (2003) : Handbook of Metaheuristics, Kluwer Academic Publishers, Dordrecht, Nederlands

GOMES, M., J. F. OLIVEIRA (2006) : Solving Irregular Strip Packing problems by hybridising simulated annealing and linear programming, European Journal of Operational Research, Vol. 171, pp. 811-829

GRAFFIGNE, C. (1992) : Parallel Annealing by Periodically Interacting Multiple Searches: An Experimental Study, in: Azencott, R. (ed.) (1992), Simulated Annealing: Parallelization Techniques, John Wiley & Sons, New York, NY, pp. 47-79

HAMMAMI , M., K. GHÉDIRA (2005) : COSATS: A new Cooperation Model between Simulated Annealing and Tabu Search for the K-Graph Partitioning Problem, Advances in Soft Computing, Vol. 29, pp.863-873

HEINRICI, A. (1996) : Leistungsvergleich von Nachbarschaftssuchverfahren, Akademische Abhandlungen zu den Wirtschaftswissenschaften (ISBN: 3-930324-76-8)

HEMMINKI , J. (1994) : Container loading with variable strategies in each layer, Presented at ESI-X, Euro Summer institute, Jouy-En-Josas, France, July 2-15, 1994

HENDERSON, D., S. H. JACOBSON, A. W. JOHNSON (2003) : The Theory and Practice of Simulated Annealing, in: Handbook of Metaheuristics, Glover and Kochenberger, pp. 287-320

Page 211: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Erklärung 191

HIFI, M. (2002) : Approximate Algorithms for the Container Loading Problem , International Transactions in Operational Research, Vol. 9, pp. 747-774

HOPPER, E., B.C.H. TURTON (2000) : An empirical investigation of meta-heuristics and heuristic algorithms for a 2D packing problem, European Journal of Operational Research, Vol. 128, pp. 34-57

HOPPER, E., B.C.H. TURTON (2001) : A review of the application of meta-heuristic algorithms to 2D strip packing problems, Artificial Intelligence Review, Vol. 16, pp. 257-300

HOPPER, E., B.C.H. TURTON (2002) : Problem Generators for Rectangular Packing Problems, Studia Informatica Universalis, Vol. 2 (1), pp. 123-136

IORI, M, S. MARTELLO, M. MONACI (2002) : Metaheuristic algorithms for the strip packing problem, in: Pardalos, P., Korotkich, V. (eds.): Optimization and Industry: New Frontiers. Kluwer Academic Publishers

IVANCIC, N., K. MATHUR, B.B. MOHANTY (1989) : An Integer-Programming Based Heuristic Approach to the Three-Dimensional Packing Problem, Journal Manufacturing and Operations Management, Vol. 2, pp. 268-298

J. AROSTEQUI, S. N. KADIPASAOGLU, B, M. KHUMAWALA (2006) : An empirical comparison of Tabu Search, Simulated Annealing, and Genetic Algorithms for facilities location problems, International Journal of Production Economics, Vol. 103 (2), pp. 742-754

KIRKPATRICK, S., C.D. GELLAT , M.P. VECCHI (1983) : Optimization by Simulated Annealing, Science, Vol. 220, pp. 671-680

KRÖGER, B. (1993) : Parallele genetische Algorithmen zur Lösung eines zweidimensionalen Bin Packing Problems, Dissertation, Fachbereich Mathematik und Informatik, Universität Osnabrück

KRÖGER, B. (1995) : Guillotineable bin packing: A genetic approach, European Journal of Operational Research, Vol. 84, pp. 645-661

LANDA-SILVA , D., E. K. BURKE (2007) : Asynchronous Cooperative Local Search for the Office-Space-Allocation Problem, INFORMS Journal on Computing, Vol. 19 (4), pp. 575-587

LIM A., B. RODRIGUES, Y. WANG (2003) : A multi-faced buildup algorithm for three-dimensional packing problems, Omega, Vol. 31, pp.471-481

LIM , A., B. RODRIGUES, J. ZHANG (2005) : Tabu Search embedded simulated annealing for the shortest route cut and fill problem, Journal of the Operational Research Society, Vol. 56 (3), pp.816-824

LIU, J., Y. YUE, Z. DONG, C. MAPLE, M. KEECH (2011) : A novel hybrid tabu search approach to container loading, Computers & Operations Research, Vol. 38 (4), pp.797-807

LIU, W.Y., C. LIN, C. YU (2010) : On the three-dimensional container packing problem under home delivery service, Asia-Pacific Journal of Operational Research, to appear

LODI, A., S. MARTELLO, D. VIGO (1998) : Neighborhood search algorithm for the guillotine non-oriented two-dimensional bin packing problem, in: S. Voss, S. Martello, I.H. Osman, C. Roucairol (eds.), Meta-Heuristics: Advances and Trends in Local Search Paradigms for Optimisation, Kluwer Academic Publishers, Boston, pp. 125-139

Page 212: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

192 Literaturverzeichnis

LODI, A., S. MARTELLO, D. VIGO (1999) : Approximation algorithms for the oriented two-dimensional bin packing problem, European Journal of Operational Research, Vol. 112, pp. 158-166

LODI, A., S. MARTELLO, D. VIGO (1999) : Heuristic and metaheuristic approaches for a class of two-dimensional bin packing problems, INFORMS Journal on Computing, Vol. 11, pp. 345-357

LODI, A., S. MARTELLO, D. VIGO (2002) : Heuristic algorithms for the three-dimensional bin packing problem, European Journal of Operational Research, Vol. 141, pp. 410-420

LODI, A., S. MARTELLO, D. VIGO (2004) : TSpack: A unified tabu search code for multi-dimensional bin packing problems, Annals of Operations Research, Vol. 131, pp. 203-213

LOH, T.H., A.Y.C. NEE (1992) : A packing algorithm for hexahedral boxes, Proceedings of the Conference of Industrial Automation, Singapore, pp.115-126

MACK D., A. BORTFELDT (2010) : A Heuristic for the More-dimensional Bin Packing Problem, Central European Journal of Operational Research, im Druck (akzeptiert am 23.11.2009)

MACK D., A. BORTFELDT, H. GEHRING (2004) : A Parallel Hybrid Local Search Algorithm for the Container Loading Problem, International Transactions in Operational Research, Vol. 11, pp. 511-533

MARTELLO, S., D. PISINGER, D. VIGO (2000) : The three-dimensional bin packing problem, Oper. Res., Vol. 48, pp. 256-267

MARTELLO, S., D. VIGO (1998) : Exact solution of the two-dimensional finite bin packing problem, Management Science, Vol. 44, pp. 388-399

MARTELLO, S., M. MONACI, D. VIGO (2003) : An Exact Approach to the Strip-Packing Problem, INFORMS Journal on Computing, Vo. 15 (3), pp. 310-319

MARTELLO, S., P. TOTH (1990) : Lower bounds and reduction procedures for the bin-packing problem, Discrete Applied Mathematics, Vol. 26, pp. 59-70

METROPOLIS, N., A. ROSENBLUTH, M. ROSENBLUTH, A. TELLER, E. TELLER (1953) : Equation of State Calculations by Fast Computing Machines, Journal of Chemical Physics, Vol. 21, pp. 1087-1092

MONACI, M. (2001) : Algorithms for Packing and Scheduling Problems., Ph.D. Thesis, Università degli studi di Bologna

MORABITO, R., M. ARENALES (1994) : An AND/OR-graph Approach to the Container Loading Problem, International Transactions in Operational Research, Vol. 1, pp. 59-73

MORABITO, R., S. MORALES (1998) : A simple and effective recursive procedure for the manufacturer’s pallet loading problem, Journal of the Operational Research Society, Vol. 49, pp. 819-828

MOURA, A., J.F. OLIVEIRA (2005) : A GRASP Approach to the Container Loading Problem, IEEE Intelligent Systems, Vol. 20, pp. 50-57

MUMFORD-VALENZUELA , C.L., J. VICK, P.Y. WANG (2003) : Heuristics for large strip packing problems with guillotine patterns: An empirical study, in: Metaheuristics: Computer Decision-Making; Kluwer Academic Publishers B.V., pp.501-522

Page 213: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Erklärung 193

NGOI, B.K.A., M.L. TAY , E.S. CHUA (1994) : Applying spatial representation techniques to the container loading problem, International Journal of Production Research, Vol. 32, pp. 111-123

PARREÑO, F., R. ALVAREZ-VALDES, J.F. OLIVEIRA , J.M. TAMARIT (2008) : A maximal-space algorithm for the container loading problem, INFORMS Journal on Computing, Vol. 20, No. 3, pp.412-422

PAUL, G. (2010) : Comparative Performance of Tabu Search and Simulated Annealing Heuristics for the Quadratic Assignment Problem, Computer Science

PISINGER, D. (1998) : A Fast Algorithm for Strongly Correlated Knapsack Problems., Discrete Applied Mathematics , Vol. 89 (1-3), pp. 197-212

PISINGER, D. (2002) : Heuristics for the Container Loading Problem, European Journal of Operational Research, Vol. 141, pp. 143-153

PISINGER, D. (2007) : Denser Packing Obtained in O(n log log n) Time, INFORMS Journal on Computing, Vol. 19 (3), pp. 395-405

PISINGER, D., M. SIGURD (2007) : Using Decomposition Techniques and Constraint Programming for Solving the Two-Dimensional Bin-Packing Problem, INFORMS Journal on Computing, Vol. 19, pp. 36-51

REEVES, C.R. (1993) : Modern Heuristic Techniques for Combinatorial Problems, Halsted Press (publisher)

SCHEITHAUER, G. (1992) : Algorithms for the Container Loading Problem, Operations Research Proceedings, Berlin, Springer-Verlag, pp.445-452

SCHEITHAUER, G., J. TERNO (1996) : The G4-Heuristic for the Pallet Loading Problem, Journal of the Operational Research Society, Vol. 47, pp. 551-522

SCHNECKE, V. (1996) : Hybrid genetic algorithms for solving constrained packing and placement problems, Ph.D. Thesis, Fachbereich Mathematik und Informatik, Universität Osnabrück

SCHOENFIELD, J.E. (2002) : Fast, exact solution of open bin packing problems without linear programming, Draft, US Army Space & Missile Defense Command, Huntsville, Alabama, USA

SINGH KAMBOJ, M., J. SENGUPTA (2009) : Comparative Analysis of Simulated Annealing and Tabu Search Channel Allocation Algorithms, International Journal of Computer Theory and Engineering, Vol.1 (5), pp. 1793-8201

SIXT , M. (1996) : Dreidimensionale Packprobleme. Lösungsverfahren basierend auf den Metaheuristiken Simulated Annealing und Tabu-Suche, Peter Lang, Europäischer Verlag der Wissenschaften, Frankfurt am Main

TERNO, J., G. SCHEITHAUER, U. SOMMERWEISS, J. RIEME (2000) : An efficient approach for the multi-pallet loading problem, European Journal of Operational Research, Vol. 123, pp. 372-381

TOULOUSE, M., T.G. CRAINIC, M. GENDREAU (1996) : Issues in Designing Parallel and Distributed Search Algorithms for Discrete Optimization Problems, Publications CRT-96-36, Centre de recherche sur les transports, Université de Montréal, Canada

WANG, P.Y., C.L. VALENZUELA (2001) : Data set generation for rectangular placement problems, European Journal of Operational Research, Vol. 134, pp. 150-163

Page 214: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

194 Literaturverzeichnis

WÄSCHER, G., H. HAUSSNER, H. SCHUMANN (2004) : An Improved Typology of Cutting and Packing Problems, Working Paper, Faculty of Economics and Management, Otto von Guericke University Magdeburg, Germany, WP Nr. 24/2004

WÄSCHER, G., H. HAUSSNER, H. SCHUMANN (2007) : An Improved Typology of Cutting and Packing Problems, European Journal of Operational Research, Vol. 183, pp. 1109-1130

Page 215: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Erklärung 195

Name: Daniel Mack

Geboren: 1. Juni 1968 in Ettelbrück (Luxemburg)

Staatsangehörigkeit: Luxemburger, verheiratet mit Pascale Merens seit 21.11.1989, Vater von vier gemeinsamen Kinder (1991, 1992, 1994, 1997)

Ausbildung:

2003 -2011: Promotion an der FernUniversität in Hagen, Fachbereich Wirtschaftswissenschaft, Lehrstuhl Wirtschaftsinformatik.

Koautor mehrerer wissenschaftlicher Beiträge im Rahmen der Promotion:

2003: “A parallel tabu search algorithm for solving the container loading problem” (Bortfeldt, Gehring, Mack), in: Parallel Computing, Vol. 29 (5);

2004: “A parallel hybrid local search algorithm for the container loading problem” (Mack, Bortfeldt, Gehring), in: International Transactions in Operational Research, Vol. 11 (5);

2007: “A heuristic for the three-dimensional strip packing problem” (Bortfeldt, Mack), in: European Journal of Operational Research, Vol. 183

2010: “A heuristic for solving large bin packing problems in two and three dimensions” (Mack, Bortfeldt), in: Central European Journal of Operations Research, DOI: 10.1007/s10100-010-0184-1

1996-2002: Fernstudium der Betriebswirtschaft an der FernUniversität in Hagen, Abschluss zum Diplom-Kaufmann II.

1987-1991: Studium der Wirtschaftsmathematik an der Universität Kaiserslautern, Grundstudium und Abschluss der Diplomvorprüfung

1980-1987: Gymnasium in Diekirch, Luxemburg. Section B-classique (Mathematik, Latein)

1974-1980: Grundschule in Redingen, Luxemburg

Beruflicher Werdegang:

1991-2011 Angestellter der Banque et Caisse d’Epargne de l’Etat, Luxembourg (BCEE)

1991-2003 : Mitarbeiter der Leasingabteilung

2003-2011 : Risikomanagement, seit 2007: stellvertretender Abteilungsleiter.

Luxemburg, den 12.10.2011

Page 216: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades
Page 217: Metaheuristiken zur Lösung von Standardproblemen des ... · Metaheuristiken zur Lösung von Standardproblemen des Cutting and Packing Inauguraldissertation zur Erlangung des Grades

Erklärung 197

Hiermit versichere ich, dass ich die vorliegende Dissertation selbständig und ohne unerlaubte

Hilfe angefertigt habe und andere als die in der Dissertation angegebenen Hilfsmittel nicht

benutzt habe. Insbesondere habe ich nicht die Hilfe einer Promotionsberaterin / eines

Promotionsberaters in Anspruch genommen. Alle Stellen, die wörtlich oder sinngemäß aus

veröffentlichten oder nicht veröffentlichten Schriften entnommen sind, habe ich als solche

kenntlich gemacht.

Luxemburg, den 12.10.2011

Daniel Mack