Isabel Jasmin Acker Methoden zur mehrstufigen Ablaufplanung in der Halbleiterindustrie
GABLER RESEARCH Produktion und ...
72 downloads
1706 Views
4MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Isabel Jasmin Acker Methoden zur mehrstufigen Ablaufplanung in der Halbleiterindustrie
GABLER RESEARCH Produktion und Logistik Herausgegeben von Professor Dr. Bernhard Fleischmann, Universität Augsburg Professor Dr. Martin Grunow, Technische Universität München Professor Dr. Hans-Otto Günther, Technische Universität Berlin Professor Dr. Stefan Helber, Universität Hannover Professor Dr. Karl Inderfurth, Universität Magdeburg Professor Dr. Herbert Kopfer, Universität Bremen Professor Dr. Herbert Meyr, Technische Universität Darmstadt Professor Dr. Thomas S. Spengler, Technische Universität Braunschweig Professor Dr. Hartmut Stadtler, Universität Hamburg Professor Dr. Horst Tempelmeier, Universität Köln Professor Dr. Gerhard Wäscher, Universität Magdeburg Kontakt: Professor Dr. Hans-Otto Günther, Technische Universität Berlin, H 95, Straße des 17. Juni 135, 10623 Berlin
Diese Reihe dient der Veröffentlichung neuer Forschungsergebnisse auf den Gebieten der Produktion und Logistik. Aufgenommen werden vor allem herausragende quantitativ orientierte Dissertationen und Habilitationsschriften. Die Publikationen vermitteln innovative Beiträge zur Lösung praktischer Anwendungsprobleme der Produktion und Logistik unter Einsatz quantitativer Methoden und moderner Informationstechnologie.
Isabel Jasmin Acker
Methoden zur mehrstufigen Ablaufplanung in der Halbleiterindustrie Mit einem Geleitwort von Prof. Dr. Andreas Kleine
RESEARCH
Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar.
Dissertation Universität Hohenheim, 2010 D 100
1. Auflage 2011 Alle Rechte vorbehalten © Gabler Verlag | Springer Fachmedien Wiesbaden GmbH 2011 Lektorat: Stefanie Brich | Nicole Schweitzer Gabler Verlag ist eine Marke von Springer Fachmedien. Springer Fachmedien ist Teil der Fachverlagsgruppe Springer Science+Business Media. www.gabler.de Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Umschlaggestaltung: KünkelLopka Medienentwicklung, Heidelberg Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier Printed in Germany ISBN 978-3-8349-2921-1
Geleitwort Die Unterst¨ utzung von betrieblichen Entscheidungen geh¨ort zu den zentralen Aufgaben der Betriebswirtschaftslehre. Nach der Ver¨offentlichung des SimplexAlgorithmus durch George B. Dantzig in der Mitte des vergangen Jahrhunderts und mit der fortschreitenden Entwicklung der Hard- und Software stehen heute zahlreiche leistungsf¨ahige Systeme zur Entscheidungsunterst¨ utzung zur Verf¨ ugung. Trotz der kontinuierlichen Weiterentwicklung von Algorithmen lassen sich jedoch eine Vielzahl von praktischen Problemstellungen nicht mit exakten Verfahren l¨osen. Zur Klasse derartig komplexer Probleme z¨ahlt die betriebliche Ablaufplanung. Hierbei sucht ein Unternehmen nach einer optimalen Reihenfolge von Auftr¨agen, die auf unterschiedlichen Maschinen zu bearbeiten sind. Die L¨osung dieser Problemstellung ist in der Regel so aufwendig, dass die Ermittlung einer optimalen L¨osung mit einem konvergenten Verfahren kaum m¨oglich ist. Daher kommen f¨ ur derartige Probleme heuristische Ans¨atze zum Einsatz, die in der Regel eine gute L¨osung in akzeptabler Zeit finden. In der Ablaufplanung sind diese Verfahren f¨ ur spezielle Problemstellungen fortlaufend weiterentwickelt worden. Dennoch lassen sich praktische Anwendungen mit diesen oftmals nicht sachgerecht abbilden. An diesem Punkt kn¨ upft die vorliegende Schrift von Frau Dr. Isabel Jasmin Acker an. Am Beispiel der Halbleiterindustrie veranschaulicht sie, dass eine wesentliche Besonderheit in der Ablaufplanung bislang kaum Beachtung gefunden hat. Bei der Fertigung einer Diode gibt es in der Regel eine Vielzahl von M¨oglichkeiten, die unterschiedlichen Fertigungsanlagen zu durchlaufen. Diese alternativen Maschinentypfolgen sind f¨ ur die betriebliche Praxis von außerordentlich großer Bedeutung, da die Planung deutlich flexibler gestaltet werden kann. Durch diese zus¨atzliche Flexibilit¨at lassen sich allerdings auch wesentlich mehr alternative L¨osungsstrategien generieren, was aus methodischer Sicht die Bestimmung einer optimalen L¨osung erschwert. Zur Verdeutlichung der besonderen Struktur einer Produktionsplanung mit alternativer Maschinenfolgen erweitert Frau Acker zun¨achst die Klassifikation von Ablaufpl¨anen um eine neue Klasse, den flexiblen Job-Shop-Problemen mit mehreren Maschinentypfolgen. Das im Folgenden entwickelte Modell bildet die Grundlage f¨ ur ein hierarchisches L¨osungsverfahren, das sich aus einer Kombination aus einer exakten und einer heuristischen Methode zusammensetzt. In einer ersten Stufe wird hierzu ein Teilproblem mit einem Simplex-Verfahren op-
VI
Geleitwort
timal gel¨ost. Diese L¨osung stellt im zweiten Schritt die Basis f¨ ur die Heuristik dar. F¨ ur die betrachtete Problemstellung werden zwei Heuristiken, Priorit¨atsregelverfahren und der genetische Algorithmus, verglichen, wobei sich letzterer als u ¨berlegen erweist. Frau Acker veranschaulicht damit am Beispiel der Diodenfertigung, dass die Kombination aus einem exakten Verfahren und einer Metaheuristik ein großes Potential f¨ ur die effiziente L¨osung komplexer Probleme beinhaltet. Andreas Kleine
Vorwort Die vorliegende Arbeit wurde im Juli 2010 bei der Fakult¨at Wirtschafts- und Sozialwissenschaften der Universit¨at Hohenheim als Dissertation eingereicht und im November 2010 von dieser angenommen. Sie entstand u. a. w¨ahrend meiner T¨atigkeit als wissenschaftliche Mitarbeiterin am Lehrgebiet Quantitative Methoden. Mein Dissertationsthema wurde mir von Prof. Dr. Knut Haase vermittelt, wof¨ ur ich ihm sehr dankbar bin. Mein besonderer Dank gilt meinem Doktorvater Herrn Prof. Dr. Andreas Kleine. Auch der Zweitgutachterin Frau Prof. Dr. Mareike Schoop und dem Pr¨ ufungsvorsitzenden im Colloquium Herrn Prof. Dr. Werner Schulz m¨ochte ich an dieser Stelle herzlich danken. Dar¨ uber hinaus m¨ochte ich ein herzliches Dankesch¨on an meine Kolleginnen und Kollegen am Lehrgebiet f¨ ur die gute Zusammenarbeit richten. Dabei m¨ochte ich Dr. Thomas Bonke hervorheben, der mir ein ausgesprochen angenehmer Zimmergenosse war, mit dem ich mich u ¨ber wissenschaftliche aber auch private Themen austauschen konnte. Insbesondere danke ich auch Frau Regina Fuchs und Dr. Marcel Rossmy. Kleinigkeiten sind die Bausteine der Vollendung. Die Vollendung ist aber keine ” Kleinigkeit.“ Diese Aussage von Michelangelo Buonarotti Anfang des 16. Jahrhunderts kann ich aus eigener Erfahrung nur best¨atigen. Aus diesem Grund bin ich u utzung dankbar, die ich durch mein privates Umfeld ¨ber die große Unterst¨ erfahren habe. So hat mich Dr. Andreas Kaiser w¨ahrend meiner gesamten Promotionsphase immer wieder motiviert. Auch meine Mutter Roswitha Acker hat auf vielf¨altige Weise zu dem Gelingen meiner Arbeit beigetragen. Mein gr¨oßter Dank richtet sich aber an meinen Vater Bernd Acker. Er war, wann immer ich Diskussionsbedarf hatte, ein konstruktiver Ansprechpartner und dar¨ uber hinaus ein eifriger Korrekturleser meines Manuskripts. Ich widme diese Arbeit meinen Eltern in tiefer Dankbarkeit. Isabel Jasmin Acker
Inhaltsverzeichnis
Abbildungsverzeichnis
XIII
Tabellenverzeichnis
XVII
Abk¨ urzungsverzeichnis
XXI
Verzeichnis ausgew¨ ahlter Symbole
XXV
1 Einleitung 1.1 Gegenstand der Arbeit . . . . . . . . . . . . . . . . . . . . . . . 1.2 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . .
1 1 3
2 Ablaufplanung 2.1 Einordnung der Ablaufplanung in den Produktionsprozess 2.2 Grundlagen der Ablaufplanung . . . . . . . . . . . . . . . 2.2.1 Begriff und Aufgaben der Ablaufplanung . . . . . . 2.2.2 Definitionen und Notationsvereinbarungen . . . . . 2.3 Klassifikation von Ablaufplanungsproblemen . . . . . . . . 2.3.1 Maschinencharakteristika α . . . . . . . . . . . . . 2.3.2 Auftragscharakteristika β . . . . . . . . . . . . . . 2.3.3 Zielkriterien γ . . . . . . . . . . . . . . . . . . . . . 2.4 Der L¨osungsbereich – Arten von Ablaufpl¨anen . . . . . . . 2.4.1 Fallstudie FS1 . . . . . . . . . . . . . . . . . . . . . 2.4.2 Zul¨assige Ablaufpl¨ane . . . . . . . . . . . . . . . . 2.4.3 Semiaktive Ablaufpl¨ane . . . . . . . . . . . . . . . 2.4.4 Aktive Ablaufpl¨ane . . . . . . . . . . . . . . . . . . 2.4.5 Unverz¨ogerte Ablaufpl¨ane . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
7 7 11 11 14 21 21 24 26 33 33 35 37 38 40
3 Fallstudie aus der Halbleiterindustrie 3.1 Produktionsstufe Montage . . . . . . 3.2 Produktionsstufe Endmessung . . . . 3.3 Maschinenverf¨ ugbarkeit . . . . . . . . 3.4 Alternative Maschinenfolgen . . . . . 3.5 Nachfrage . . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
43 44 46 50 53 55
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
X
Inhaltsverzeichnis 3.6 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Zusammenfassung und Anmerkungen . . . . . . . . . . . . . . .
58 60
4 Job-Shop-Modelle der Ablaufplanung 4.1 Das Prinzip des disjunktiven Graphen . . . . . . . . . . . . . . . 4.1.1 Allgemein . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Veranschaulichung mit Hilfe der Fallstudie FS1 . . . . . 4.2 Modellformulierung nach Manne f¨ ur das klassische Job-ShopProblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Herleitung der Modellformulierung . . . . . . . . . . . . 4.2.2 Anwendung auf die Fallstudie FS1 . . . . . . . . . . . . . 4.3 Ein gemischt-ganzzahliges lineares Programm zur Modellierung der Fallstudie aus der Halbleiterindustrie . . . . . . . . . . . . . 4.3.1 Weitere Notationsvereinbarungen . . . . . . . . . . . . . 4.3.2 Modellierung der Fallstudie FSH: GGLP-Komplett . . . . 4.3.3 Erl¨auterungen . . . . . . . . . . . . . . . . . . . . . . . . 4.3.4 Fallstudie FS2 . . . . . . . . . . . . . . . . . . . . . . . .
67 68 68 70
5 L¨ osungsverfahren f¨ ur Job-Shop-Probleme 5.1 Anmerkungen zur Komplexit¨at . . . . . . . . . . . . . . . . . . ¨ 5.2 Uberblick u ¨ber exakte und heuristische L¨osungsans¨atze . . . . . 5.2.1 Exakte Verfahren . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Heuristische Verfahren . . . . . . . . . . . . . . . . . . . 5.2.2.1 Er¨offnungsverfahren . . . . . . . . . . . . . . . 5.2.2.2 Verbesserungsverfahren/Lokale Suchverfahren . 5.2.2.3 Weitere Verfahren . . . . . . . . . . . . . . . . 5.3 Priorit¨atsregelverfahren . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Einfache Konstruktionsverfahren . . . . . . . . . . . . . 5.3.2 Priorit¨atregeln . . . . . . . . . . . . . . . . . . . . . . . . 5.3.3 Anwendung des Giffler&Thompson-Verfahrens auf die Fallstudie FS1 . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Genetische Algorithmen . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Hintergrund und Ablauf . . . . . . . . . . . . . . . . . . 5.4.2 Konstruktion Genetischer Algorithmen . . . . . . . . . . 5.4.2.1 Kodierung . . . . . . . . . . . . . . . . . . . . . 5.4.2.2 L¨osungsevaluierung . . . . . . . . . . . . . . . . 5.4.2.3 Ausgangspopulation . . . . . . . . . . . . . . . 5.4.2.4 Selektion . . . . . . . . . . . . . . . . . . . . . 5.4.2.5 Crossover . . . . . . . . . . . . . . . . . . . . . 5.4.2.6 Mutation . . . . . . . . . . . . . . . . . . . . . 5.4.2.7 Ersetzungsschema . . . . . . . . . . . . . . . . 5.4.2.8 Abbruchkriterium . . . . . . . . . . . . . . . . 5.4.3 Veranschaulichung an der Fallstudie FS1 . . . . . . . . .
91 91 95 95 103 104 106 114 114 114 122
74 74 76 78 78 81 83 87
128 133 133 138 139 141 145 146 149 154 156 157 158
Inhaltsverzeichnis
XI
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie 163 6.1 1. Phase – Auswahl der Maschinenfolgen . . . . . . . . . . . . . 164 6.1.1 Ein gemischt-ganzzahliges lineares Programm zur Auswahl der Maschinenfolgen . . . . . . . . . . . . . . . . . 164 6.1.2 Notationsvereinbarungen . . . . . . . . . . . . . . . . . . 166 6.1.3 Modellierung der Maschinenfolgeauswahl: GGLP-Auswahl 167 6.1.4 Erl¨auterungen . . . . . . . . . . . . . . . . . . . . . . . . 168 6.1.5 Fallstudie FS3 . . . . . . . . . . . . . . . . . . . . . . . . 169 6.2 2. Phase – das Priorit¨atsregelverfahren . . . . . . . . . . . . . . 173 6.2.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . 173 6.2.2 Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . 176 6.2.2.1 Nachlaufzeit . . . . . . . . . . . . . . . . . . . . 176 6.2.2.2 R¨ ustzeit und Auftragsgruppen . . . . . . . . . . 176 6.2.2.3 Maschinen – Stillst¨ande und Anlaufzeit . . . . . 177 6.2.2.4 Konflikt-Begriff . . . . . . . . . . . . . . . . . . 178 6.2.3 Der Ablaufplan-Generator [G&T-ext] . . . . . . . . . . . 181 6.2.4 L¨osung der Fallstudie FS3 . . . . . . . . . . . . . . . . . 192 6.3 2. Phase – der Genetische Algorithmus . . . . . . . . . . . . . . 196 6.3.1 Problemspezifische Ausgestaltung des Genetischen Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 6.3.2 Der Ablaufplan-Generator [Decod-ext] . . . . . . . . . . 199 6.3.3 L¨osung der Fallstudie FS3 . . . . . . . . . . . . . . . . . 204 7 Evaluation 7.1 Bestimmung und Generierung der Daten und Szenarien f¨ ur die Simulationsstudie . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Unver¨anderliche Daten . . . . . . . . . . . . . . . . . . . 7.1.2 Ver¨anderliche Daten . . . . . . . . . . . . . . . . . . . . 7.1.2.1 Planungshorizont . . . . . . . . . . . . . . . . . 7.1.2.2 Nachfrage . . . . . . . . . . . . . . . . . . . . . 7.1.2.3 Liefertermine . . . . . . . . . . . . . . . . . . . 7.1.2.4 Maschinenstillst¨ande . . . . . . . . . . . . . . . 7.1.2.5 Maschinenfolgen . . . . . . . . . . . . . . . . . 7.1.3 Betrachtete Szenarien . . . . . . . . . . . . . . . . . . . . 7.2 Simulationsablauf und -ergebnisse der 1. Phase . . . . . . . . . . 7.3 Simulationsablauf und -ergebnisse der 2. Phase . . . . . . . . . . 7.3.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.2 Priorit¨atsregelverfahren . . . . . . . . . . . . . . . . . . . 7.3.3 Genetischer Algorithmus . . . . . . . . . . . . . . . . . . 7.3.3.1 Populationsgr¨oße . . . . . . . . . . . . . . . . . 7.3.3.2 Anzahl Kinder . . . . . . . . . . . . . . . . . .
207 207 208 208 208 209 209 210 212 212 213 217 217 220 224 225 226
XII
Inhaltsverzeichnis
7.4
7.3.3.3 Evolutionsstrategie . . . . . . . . . . . . . . 7.3.3.4 Abbruchkriterium . . . . . . . . . . . . . . 7.3.3.5 Selektion des Mating-Pool . . . . . . . . . . 7.3.3.6 Crossover . . . . . . . . . . . . . . . . . . . 7.3.3.7 Mutation . . . . . . . . . . . . . . . . . . . 7.3.3.8 Zusammenfassung . . . . . . . . . . . . . . Ergebnisvergleich der beiden L¨osungsverfahren . . . . . . . . 7.4.1 Zielfunktionswert . . . . . . . . . . . . . . . . . . . . 7.4.2 Fertigstellung nach dem Ende des Planungszeitraums 7.4.3 Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . 7.4.4 Termin¨ uberschreitung . . . . . . . . . . . . . . . . . 7.4.4.1 Anzahl Termin¨ uberschreitungen . . . . . . . 7.4.4.2 H¨ohe Termin¨ uberschreitung . . . . . . . . . 7.4.5 Abschlussbemerkungen . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
227 228 230 232 233 235 237 237 238 239 239 239 241 242
8 Schlussbetrachtung 247 8.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . 247 8.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 A Anhang A.1 Weitere Ablaufgraphen und -pl¨ane zu den Fallstudien . . . A.1.1 Beispiel f¨ ur Unzul¨assigkeit . . . . . . . . . . . . . . A.1.2 Aktiv . . . . . . . . . . . . . . . . . . . . . . . . . A.1.3 Unverz¨ogert . . . . . . . . . . . . . . . . . . . . . . A.1.4 Optimal . . . . . . . . . . . . . . . . . . . . . . . . A.1.5 Optimales Gantt-Diagramm von Fallstudie FS3 mit Maschinenfolgen gem¨aß GGLP-Auswahl . . . . . . . A.2 Modellformulierung nach Manne f¨ ur Fallstudie FS1 . . . . A.3 Simulationsergebnisse zur 1. Phase . . . . . . . . . . . . . A.4 Simulationsergebnisse zur 2. Phase . . . . . . . . . . . . . A.4.1 Priorit¨atsregelverfahren . . . . . . . . . . . . . . . . A.4.2 Genetischer Algorithmus . . . . . . . . . . . . . . . Literaturverzeichnis
. . . . . . . . . . . . . . . den . . . . . . . . . . . . . . . . . .
255 255 255 256 256 257 259 260 261 263 263 265 269
Abbildungsverzeichnis
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 5.1
Zusammenhang zwischen Produktionssystem und Produktionsplanung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Das Produktionsplanungs- und -steuerungssystem (PPS-System) FS1 – Zul¨assiger Ablaufplan (maschinenorientiert) . . . . . . . . FS1 – Zul¨assiger Ablaufplan (auftragsorientiert) . . . . . . . . . FS1 – Semiaktiver Ablaufplan . . . . . . . . . . . . . . . . . . . FS1 – Aktiver Ablaufplan . . . . . . . . . . . . . . . . . . . . . FS1 – Unverz¨ogerter Ablaufplan . . . . . . . . . . . . . . . . . . FS1 – Optimaler Ablaufplan . . . . . . . . . . . . . . . . . . . . Venn-Diagramm bzgl. m¨oglicher Ablaufplan-Arten . . . . . . . .
8 10 36 36 37 39 40 41 41
Wafer-Dioden-Fabrik . . . . . . . . . . . . . . . . . . . . . . . . Arbeitsg¨ange der Montage . . . . . . . . . . . . . . . . . . . . . Planungsrelevante Arbeitsg¨ange der Endmessung . . . . . . . . M¨ogliche Produktionswege von Endmessen und Sichtpr¨ ufen . . . Produktionsprozess . . . . . . . . . . . . . . . . . . . . . . . . . Explizite Darstellung der 6 m¨oglichen Maschinenfolgen von Endmessdiodentyp ED10 . . . . . . . . . . . . . . . . . . . . . . . . Maschinenfolgen von Endmessdiodentyp ED62 . . . . . . . . . . Zeitstrahl Planungshorizont . . . . . . . . . . . . . . . . . . . . Divergierende Produktionsstruktur des Montagediodentyps MD18 Veranschaulichung der vier Job-Shop-Scheduling-Problemtypen J, F J, M J und M F J . . . . . . . . . . . . . . . . . . . . . . .
43 44 48 49 51
Legende . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FS1 – Maschinenfolgegraph . . . . . . . . . . . . . . . . . . . . FS1 – Disjunktiver Graph . . . . . . . . . . . . . . . . . . . . . FS1 – Auftragsfolgegraph (zul¨assig) . . . . . . . . . . . . . . . . FS1 – Zul¨assiger Ablaufgraph . . . . . . . . . . . . . . . . . . . FS1 – Optimaler Ablaufgraph (L¨osungsvariante 1) . . . . . . . . FS2 – Optimaler Ablaufplan (GGLP-Komplett) . . . . . . . . . . FS2 – Optimaler Ablaufplan (GGLP-Komplett) mit Stillstand von Maschine 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70 71 71 72 73 77 89
Entscheidungsbaum und das Branch-and-Bound-Prinzip
96
. . . .
54 55 57 57 65
90
XIV
Abbildungsverzeichnis
5.2 Allgemeines Prinzip der lokalen Nachbarschaftssuche . . . . . . 108 5.3 Lokale und Globale Minima . . . . . . . . . . . . . . . . . . . . 109 5.4 Heuristische L¨osungsverfahren f¨ ur Job-Shop-Probleme . . . . . . 115 5.5 Entscheidungsbaum und das Prinzip einfacher Konstruktionsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 5.6 Einsatzm¨oglichkeiten von einfachen Konstruktionsverfahren . . . 118 5.7 Ablauf des H&L-Verfahrens . . . . . . . . . . . . . . . . . . . . 119 5.8 Ablauf des G&T-Verfahrens . . . . . . . . . . . . . . . . . . . . 120 5.9 Ablauf eines Konstruktionsverfahren mit unverz¨ogerter Einplanung122 5.10 Struktogramm [G&T] . . . . . . . . . . . . . . . . . . . . . . . . 129 5.11 FS1 – Gantt-Diagramm f¨ ur das Ergebnis des Priorit¨atsregelverfahrens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 5.12 Grundstruktur eines Genetischen Algorithmus . . . . . . . . . . 136 5.13 Kodierung eines 3 × 4-JSP . . . . . . . . . . . . . . . . . . . . . 140 5.14 Zuordnung der Auftr¨age zu den Maschinen . . . . . . . . . . . . 141 5.15 Struktogramm [Dekod] . . . . . . . . . . . . . . . . . . . . . . . 142 5.16 Resultierendes Gantt-Diagramm . . . . . . . . . . . . . . . . . . 143 5.17 Struktogramm f¨ ur die zuf¨allige Erzeugung der Ausgangspopulation146 5.18 Struktogramm f¨ ur die Turnier-Selektion . . . . . . . . . . . . . . 147 5.19 Struktogramm f¨ ur die Zeiger-Selektion . . . . . . . . . . . . . . 148 5.20 Beispiel zru Zeiger-Selektion . . . . . . . . . . . . . . . . . . . . 149 5.21 Struktogramm f¨ ur Generalized Order Crossover (GOX) . . . . . 151 5.22 Beispiel zur Bestimmung der Einf¨ ugestelle – Nehmer-Chromosom (GOX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 5.23 Beispiel zur Generierung der Nachkommen (GOX) . . . . . . . . 152 5.24 Struktogramm f¨ ur Position Based Crossover (PBX) . . . . . . . 153 5.25 Beispiel zum PBX . . . . . . . . . . . . . . . . . . . . . . . . . . 154 5.26 Struktogramm f¨ ur die Mutation . . . . . . . . . . . . . . . . . . 155 5.27 Beispiel zur OBM . . . . . . . . . . . . . . . . . . . . . . . . . . 156 5.28 Struktogramm f¨ ur das Abbruchkriterium . . . . . . . . . . . . . 157 5.29 FS1 – Individuen der Ausgangspopulation . . . . . . . . . . . . 159 5.30 FS1 – Dekodierung der Ausgangspopulation . . . . . . . . . . . 159 5.31 FS1 – Zeiger-Selektion . . . . . . . . . . . . . . . . . . . . . . . 160 5.32 FS1 – Nachkommen der ersten Generation . . . . . . . . . . . . 161 5.33 FS1 – Dekodierung der Nachkommen . . . . . . . . . . . . . . . 162 6.1 Phasen des L¨osungsverfahrens . . . . . . . . . . . . . . . . . . 6.2 Iteratives Vorgehen bei der Maschinenfolgeauswahl . . . . . . 6.3 FS3 – Optimaler Ablaufplan mit Maschine 4 (GGLP-Komplett) 6.4 Nachlaufzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 R¨ ustabfrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6 Zust¨ande der Maschine m . . . . . . . . . . . . . . . . . . . . 6.7 Relevante Stillst¨ande . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
164 165 171 176 177 177 178
Abbildungsverzeichnis 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19 6.20 6.21 6.22 6.23
Belegungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konfliktf¨alle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Struktogramm [G&T-ext] . . . . . . . . . . . . . . . . . . . . . Struktogramm [Konflikt] . . . . . . . . . . . . . . . . . . . . . . Konfliktabfrage beim erweiterten G&T-Algorithmus . . . . . . . Struktogramm [k, mas] . . . . . . . . . . . . . . . . . . . . . . . Stillstandskollision k, mas . . . . . . . . . . . . . . . . . . . . . Struktogramm [k ∗ , nm] . . . . . . . . . . . . . . . . . . . . . . . M¨ogliche Situationen an der n¨achsten Maschine . . . . . . . . . FS3 – Gantt-Diagramm, [G&T-ext], LRBZ-FLT . . . . . . . . . Struktogramm [Decod-ext] . . . . . . . . . . . . . . . . . . . . . FS3 – Dekodierung des Chromosoms . . . . . . . . . . . . . . . FS3 – Gantt-Diagramm des Ablaufplans gem¨aß Chromosom . . FS3 – Entwicklung der Zielfunktionswerte . . . . . . . . . . . . FS3 – Chromosom mit ZF ∗ . . . . . . . . . . . . . . . . . . . . FS3 – Gantt-Diagramm des Ablaufplans gem¨aß Chromosom mit ZF ∗ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XV 179 180 181 183 185 186 187 188 189 196 200 202 204 205 205 206
7.1 D120 ZF in Abh. von der Priorit¨atsregel und dem Szenario . . . 222 7.2 D30 ZF in Abh. von der Parametereinstellung und dem Szenario 224 7.3 Vergleich der Ergebnisse f¨ ur D120 . . . . . . . . . . . . . . . . . 243 A.1 FS1 – Auftragsfolgegraph (unzul¨assig) . . . . . . . . . . . . . . A.2 FS1 – Ablaufgraph (unzul¨assig) . . . . . . . . . . . . . . . . . . A.3 FS1 – Aktiver Ablaufgraph . . . . . . . . . . . . . . . . . . . . . A.4 FS1 – Unverz¨ogerter Ablaufgraph . . . . . . . . . . . . . . . . . A.5 FS1 – Optimaler Ablaufgraph (L¨osungsvariante 2) . . . . . . . . A.6 FS1 – Optimaler Ablaufplan (L¨osungsvariante 2) . . . . . . . . A.7 FS1 – Optimaler Ablaufgraph (L¨osungsvariante 3) . . . . . . . . A.8 FS1 – Optimaler Ablaufplan (L¨osungsvariante 3) . . . . . . . . A.9 FS3 – Optimales Gantt-Diagramm (GGLP-Auswahl) . . . . . . . A.10 D120 AnzF nT in Abh. von der Priorit¨atsregel und dem Szenario A.11 D120 Z in Abh. von der Priorit¨atsregel und dem Szenario . . . . A.12 D120 AnzT A+ in Abh. von der Priorit¨atsregel und dem Szenario + A.13 D120 T AK in Abh. von der Priorit¨atsregel und dem Szenario . . . + A.14 D120 T AK+ in Abh. von der Priorit¨atsregel und dem Szenario . . 30 A.15 D AnzF nT in Abh. von der Priorit¨atsregel und dem Szenario . A.16 D30 Z in Abh. von der Priorit¨atsregel und dem Szenario . . . . . A.17 D30 AnzT A+ in Abh. von der Priorit¨atsregel und dem Szenario . + A.18 D30 T AK in Abh. von der Priorit¨atsregel und dem Szenario . . . + A.19 D30 T AK+ in Abh. von der Priorit¨atsregel und dem Szenario . . .
255 255 256 256 257 257 258 258 259 263 263 264 264 265 265 266 266 267 267
Tabellenverzeichnis
2.1 Merkmalsauspr¨agungen von Ablaufpl¨anen – Teil 1 2.2 Merkmalsauspr¨agungen von Ablaufpl¨anen – Teil 2 2.3 FS1 – Maschinenfolgen . . . . . . . . . . . . . . . 2.4 FS1 – Prozesszeiten in ZE . . . . . . . . . . . . . 2.5 FS1 – Anfangszeiten in ZE . . . . . . . . . . . . .
. . . . .
19 20 34 34 36
3.1 Produktionsstufe Montage . . . . . . . . . . . . . . . . . . . . . 3.2 Divergierende Produktionsstruktur . . . . . . . . . . . . . . . . 3.3 Produktionsstufe Endmessung . . . . . . . . . . . . . . . . . . . 3.4 Alternative Maschinentypfolgen und dazugeh¨orige Anzahl Maschinenfolgen von ED62 . . . . . . . . . . . . . . . . . . . . . . 3.5 Anzahl m¨oglicher Maschinenfolgen je Endmessdiodentyp . . . . 3.6 Differenzierung von Job-Shop-Scheduling-Problemtypen . . . . .
46 47 50
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
FS1 – Auftragsfolgen . . . . . . . . . . . . . . . . . . . . . . . . Anzahl Nebenbedingungen und Variablen (FS1) . . . . . . . . . FS1 – Bin¨arvariablen optimaler Ablaufgraph (L¨osungsvariante 1) FS1 – Anfangszeiten optimaler Ablaufplan (L¨osungsvariante 1) . Deklarationen GGLP-Komplett – Teil 1 . . . . . . . . . . . . . . Deklarationen GGLP-Komplett – Teil 2 . . . . . . . . . . . . . . FS2 – Alternative Maschinenfolgen . . . . . . . . . . . . . . . . FS2 – Prozess-, R¨ ust-und Nachlaufzeiten in ZE . . . . . . . . . FS2 – Anlaufzeiten und Stillstandszeitr¨aume der Maschinen sowie Liefertermine der Auftr¨age in ZE . . . . . . . . . . . . . . . Einfache, bearbeitungszeitbezogene Priorit¨atsregeln . . Einfache, fertigstellungsterminbezogene Priorit¨atsregeln Sonstige einfache Priorit¨atsregeln . . . . . . . . . . . . Kombinierte Priorit¨atsregeln . . . . . . . . . . . . . . . FS1 – Ablauf [G&T], KOZ-Zufall . . . . . . . . . . . . Wichtige Fachbegriffe bei Genetischen Algorithmen . . Resultierende Auftragsfolgen . . . . . . . . . . . . . . . Beispiel zur Fitnesswertberechnung . . . . . . . . . . . FS1 – Fitnesswerte . . . . . . . . . . . . . . . . . . . . FS1 – Individuen und ihre Zielfunktionswerte . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
55 56 63 72 76 76 77 79 80 88 88 89 123 124 124 126 131 135 141 145 160 161
XVIII
Tabellenverzeichnis
6.1 6.2 6.3 6.4 6.5 6.6 6.7
Deklarationen (GGLP-Auswahl) . . . . . . . . . . . . . . . . . . . FS3 – Stillstandszeitr¨aume der Maschinen in ZE . . . . . . . . . FS3 – Alternative Maschinenfolgen . . . . . . . . . . . . . . . . Verwendete Priorit¨atsregeln . . . . . . . . . . . . . . . . . . . . FS3 – Ablauf [G&T-ext], LRBZ-FLT . . . . . . . . . . . . . . . FS3 – Anfangs- und Endzeiten, [G&T-ext], LRBZ-FLT . . . . . FS3 – Ergebnisse des erweiterten Giffler&Thompson-Verfahrens bei Anwendung verschiedener Priorit¨atsregeln . . . . . . . . . . 6.8 FS3 – Auftragsfolgen [k ] vom Beispiel-Chromosom . . . . . . . . 6.9 FS3 – Ablaufplan-Generierung des Chromosoms . . . . . . . . .
166 170 171 174 193 195
Anlaufzeiten azm der Maschinen m in Minuten . . . . . . . . . . Kapazit¨aten und Anzahl Stillst¨ande bei den vier Maschinenstillstands-Varianten . . . . . . . . . . . . . . . . . . . . . . . . . . Szenarien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Auswertung der Ergebnisse der 1. Phase . . . . . . . . . . . . . Parameter des Genetischen Algorithmus in der Simulationsstudie Simulationsergebnisse in Abh¨angigkeit von der Priorit¨atsregel und dem Szenario . . . . . . . . . . . . . . . . . . . . . . . . . . Ergebnisse des Priorit¨atsregelverfahrens mit PRIO∗ . . . . . . . Simulationsergebnisse in Abh¨angigkeit von der Populationsgr¨oße und dem Szenario . . . . . . . . . . . . . . . . . . . . . . . . . . Simulationsergebnisse in Abh¨angigkeit von der Anzahl Kinder und dem Szenario . . . . . . . . . . . . . . . . . . . . . . . . . Simulationsergebnisse in Abh¨angigkeit von der Evolutionsstrategie und dem Szenario . . . . . . . . . . . . . . . . . . . . . . . Simulationsergebnisse in Abh¨angigkeit vom Abbruchkriterium und Szenario – Teil 1 . . . . . . . . . . . . . . . . . . . . . . . . Simulationsergebnisse in Abh¨angigkeit vom Abbruchkriterium und Szenario – Teil 2 . . . . . . . . . . . . . . . . . . . . . . . . Simulationsergebnisse in Abh¨angigkeit vom Selektionsverfahren und Szenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulationsergebnisse in Abh¨angigkeit vom Selektionsdruck und Szenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulationsergebnisse in Abh¨angigkeit vom Crossover-Verfahren und Szenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulationsergebnisse in Abh¨angigkeit von pC und dem Szenario Simulationsergebnisse in Abh¨angigkeit von der Mutation und dem Szenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . ultige Parametereinstellung des Genetischen AlgoGA∗ – Endg¨ rithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ergebnisse des Genetischen Algorithmus mit der besten Parametereinstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . .
208
7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12 7.13 7.14 7.15 7.16 7.17 7.18 7.19
195 202 203
212 213 215 218 221 223 225 226 227 228 229 230 231 232 233 234 235 236
Tabellenverzeichnis
XIX
Vergleich der Ergebnisse – Dd ZF und σ d ZF . . . . . . . . . . . Vergleich der Ergebnisse – Dd AnzF nT und σ d AnzF nT . . . . . Vergleich der Ergebnisse – Dd Z und σ d Z . . . . . . . . . . . . . Vergleich der Ergebnisse – Dd AnzT A+ und σ d AnzT A+ (absolut) Vergleich der Ergebnisse – Dd AnzT A+ und σ d AnzT A+ (prozentual) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + 7.25 Vergleich der Ergebnisse – Dd T AK und σ d T AK . . . . . . . . . . + + d d 7.26 Vergleich der Ergebnisse – D T AK+ und σ T AK+ . . . . . . . . ∗ ∗ 7.27 PRIO vs. GA – Prozentuale Verbesserung . . . . . . . . . . .
7.20 7.21 7.22 7.23 7.24
A.1 FS1 – Bin¨arvariablen des optimalen Ablaufgraphen (L¨osungsvariante 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 FS1 – Bin¨arvariablen des optimalen Ablaufgraphen (L¨osungsvariante 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.3 Auswertung der Ergebnisse von GGLP-Auswahl Masst.1 / Masst.2 A.4 Auswertung der Ergebnisse von GGLP-Auswahl Masst.3 / Masst.4 A.5 Auswertung f¨ ur Masfo.Zufall Masst.1 / Masst.2 . . . . . . . . . A.6 Auswertung f¨ ur Masfo.Zufall Masst.3 / Masst.4 . . . . . . . . . A.7 Ergebnisse des Genetischen Algorithmus mit der besten Parametereinstellung (Pretestmenge) . . . . . . . . . . . . . . . . . . .
237 238 239 240 240 241 242 244 257 258 261 261 262 262 268
Abku ¨ rzungsverzeichnis
ACO BG
BM B&B B&C B&C&P B&P C CoverT CR F FF FJ FAFS FCFS FFT FLT FMS FOLT FS1 FS2 FS3 FSH GA GGBZ GGLP GLP GOn GOV
Ant Colony Optimization ¨ Abbruchkriterium, das sich aus den beiden Kriterien Uberschrei” ten einer fest vorgegebenen Anzahl G an Generationen“ oder ¨ Uberschreiten einer fest vorgegebenen Anzahl GOV an Gene” rationen ohne Verbesserung“ zusammensetzt Both Mutation Branch-and-Bound(-Verfahren) Branch-and-Cut(-Verfahren) Branch-and-Cut-and-Price(-Verfahren) Branch-and-Price(-Verfahren) Competition, Evolutionsstrategie des survival of the fittest“ ” Priorit¨atsregel Kleinstes Verh¨altnis aus zul¨assiger Restdurchlaufzeit (Fk∗ −t) und Restbearbeitungszeit (critical ration) Flow-Shop-Problem Flexibles Flow-Shop-Problem Flexibles Job-Shop-Problem Fr¨ uheste Ankunft im Betrieb (First Arrival First Serve) L¨angste Wartezeit in der Schlange (First Come First Serve) Fr¨ uhester Freigabetermin (ERD, Earliest Release Date) Fr¨ uhester Liefertermin Flexibles Fertigungssystem (Flexible Manufacturing System) Fr¨ uhester Operations-Liefertermin Fallstudie, siehe Abschnitt 2.4.1 auf S. 33f. Fallstudie, siehe Abschnitt 4.3.4 auf S. 87f. Fallstudie, siehe Abschnitt 6.1.5 auf S. 169f. Fallstudie aus der Halbleiterindustrie, siehe Kapitel 3 auf S. 43ff. Genetische(r) Algorithmus/-men Gr¨oßte Gesamtbearbeitungszeit auf allen Maschinen Gemischt-ganzzahliges lineares Programm Ganzzahliges lineares Programm Gr¨oßte Anzahl noch durchzuf¨ uhrender Operationen Abbruchkriterium, das eine feste Anzahl GOV an Generationen ohne Verbesserung vorgibt
XXII GOZWSLnM G&T H&L J, JSP KGBZ KOn KOZ KOZ∗ KOZnM KRBZ LRBZ LOZ LOZnM LP LRBZ MJ MF J O OBM ohneM OZ/GRBZ OZ/RBZ P PF PPS Q R R RM RZ SZ SZ/On SZ/RBZ SZ/ZRDZ
Abk¨ urzungsverzeichnis Kleinste Summe der Operationszeiten an der in der Operationsfolge des ausgew¨ahlten Auftrags nachfolgenden Maschine Giffler&Thompson(-Verfahren) Heller&Logemann(-Verfahren) Job-Shop(-Scheduling)-Problem Kleinste Gesamtbearbeitungszeit auf allen Maschinen Kleinste Anzahl noch durchzuf¨ uhrender Operationen K¨ urzeste Operationszeit Modifizierte K¨ urzeste Operationszeit-Regel K¨ urzeste Operationszeit an der in der Operationsfolge des ausgew¨ahlten Auftrags nachfolgenden Maschine K¨ urzeste Restbearbeitungszeit L¨angste Restbearbeitungszeit L¨angste Operationszeit L¨angste Operationszeit an der in der Operationsfolge des ausgew¨ahlten Auftrags nachfolgenden Maschine Lineares Programm L¨angste Restbearbeitungszeit Job-Shop-Problem mit mehreren Maschinentypfolgen Flexibles Job-Shop-Problem mit mehreren Maschinentypfolgen Open-Shop-Problem Order Based Mutation ohne Mutation Kleinstes Verh¨altnis aus der Operationszeit und der Gesamten Restbearbeitungszeit aller Auftr¨age Kleinstes Verh¨altnis aus Operationszeit und Restbearbeitungszeit des Auftrags Scheduling-Problem mit identischen parallelen Maschinen Permuations-Flow-Shop-Problem Produktionsplanungs- und -steuerung Scheduling-Problem mit uniformen parallelen Maschinen Replacement Scheduling-Problem mit heterogenen parallelen Maschinen Random Mutation K¨ urzeste R¨ ustzeit Kleinste Schlupfzeit Kleinstes Verh¨altnis aus Schlupfzeit und Anzahl noch durchzuf¨ uhrender Operationen Kleinstes Verh¨altnis aus Schlupfzeit und Restbearbeitungszeit des Auftrags Kleinstes Verh¨altnis aus Schlupfzeit und zul¨assiger Restdurchlaufzeit
Abk¨ urzungsverzeichnis WR WSLnM
XXIII
H¨ochster Wert K¨ urzeste Warteschlangenl¨ange an der in der Operationsfolge des ausgew¨ahlten Auftrags nachfolgenden Maschine (Anzahl an wartenden Auftr¨agen) WSLnM Warteschlangenl¨ange an der n¨achsten Maschine zGOZKleinste Summe der Operationszeiten an der in der OperationsWSLnM folge des ausgew¨ahlten Auftrags nachfolgenden Maschine beim Eintrittszeitpunkt in deren Warteschlange ( zuk¨ unftig“) ” ZRDLZ Kleinste zul¨assige Restdurchlaufzeit ZRDLZ/On Kleinstes Verh¨altnis aus zul¨assiger Restdurchlaufzeit und Anzahl noch durchzuf¨ uhrender Operationen Zufall Zuf¨allige Auswahl aus den vor der Maschine wartenden Auftr¨agen
Verzeichnis ausgew¨ ahlter Symbole
a ajcem akm akmt α A∗k A Ak AB AKF AnzbAm Anzf A AnzF nT AnzKF AN ZKI AnzRV AnzT A AnzT A+ AnzT A− AST AWS m azm
Ausbeutefaktor [%] Anfangszeitpunkt der Bearbeitung von Charge c des Endmessdiodentyps j mittels Maschinenfolge e auf Maschine m (fr¨ uhester) Anfangszeitpunkt der Bearbeitung der Operation Okm Anfangszeitpunkt t der Bearbeitung von Auftrags k auf Maschine m Maschinencharakteristika Freigabetermin des Auftrags k Menge der betrachteten Maschinenfolge-Varianten nach GGLP-Auswahl: A = {Masfo.1;Masfo.2;Masfo.3;Masfo.4} bzw. Menge der konjunktiven Pfeile im disjunktiven Graphen G∗ Menge der m¨oglichen Maschinenfolgen von Auftrag k im disjunktiven Graphen G∗ Menge der betrachteten Abbruchkriterien, AB = {BG50-5;BG50-10;BG100-25;BG100-50;BG300-100; GOV10;GOV25;GOV50;G25;G100;G300;G400;G1000} Menge der Auftr¨age, die zu k im Konflikt stehen Anzahl Auftr¨age, die bisher auf m bearbeitet wurden Anzahl fertiger Auftr¨age Anzahl der Auftr¨age, deren Fertigstellungszeitpunkt nach dem Ende des Planungszeitraums T liegt Anzahl Auftr¨age, die zu k im Konflikt stehen Menge der betrachteten Kinderanzahlen, AN ZKI = {Single;Double} Anzahl R¨ ustvorg¨ange Anzahl Terminabweichungen des Auftragsbestandes Anzahl Termin¨ uberschreitungen des Auftragsbestandes Anzahl Terminunterschreitungen des Auftragsbestandes Menge der Auftr¨age vor mas, die ebenfalls im gleichen Verf¨ ugbarkeitszeitraum wie k warten Menge der Auftr¨age, die vor der Maschine m in der Warteschlange warten Anlaufzeit von Maschine m nach einem Maschinenstillstand
XXVI bkm β Bm Bbm BM Bvm c (c1 , c2 ) γ (γ1 . . . γZ ) ck C Cmax Cj Cj CV d d+ m d− m D D (auch Ø) Dk D Δ DK DK Dd . . . D5 D20 D25 D30 D100 D120 D5 D20 D25 D30 D100 D120
Verzeichnis ausgew¨ahlter Symbole Belegungszeit des Auftrags k auf Maschine m (ohne lkm ) Auftragscharakteristika Belegungszeit der Maschine m Zeitpunkt, bis zu dem Maschine m belegt ist/war Gesamtbelegungszeit des Maschinenbestandes M Auftrag, von der Maschine m zuletzt belegt ist/war Charge (c1 vor c2 ) Zielkriterien Versp¨atungsfaktor von Auftrag k (CoverT) Anzahl Chargen, die insgesamt herzustellen sind maximale Anzahl Chargen aller Endmessdiodentypen Anzahl Chargen, die vom Endmessdiodentyp j herzustellen sind Menge der vom Endmessdiodentyp j herzustellender Chargen, Cj = {1; . . . ; Cj } Menge der betrachteten Crossover-Verfahren, CV = {PBX; GOX} Datensatz ¨ Uberschreitung der durchschnittlichen Kapazit¨atsauslastung bei Maschine m Unterschreitung der durchschnittlichen Kapazit¨atsauslastung bei Maschine m Anzahl Datens¨atze Durchschnitt Durchlaufzeit des Auftrags k Menge der Datens¨atze d, D = {1; . . . ; D} Hilfsvariable - gibt eine zeitliche Differenz an Gesamtdurchlaufzeit des Auftragsbestandes K mittlere Durchlaufzeit des Auftragsbestandes K Durchschnitt der betreffenden Gr¨oße . . . der in d angegebenen Datens¨atze Durchschnitt u ¨ber die 5 Datens¨atze der Menge D5 Durchschnitt u ¨ber die 20 Datens¨atze der Menge D20 Durchschnitt u ¨ber die 25 Datens¨atze der Menge D25 Durchschnitt u ¨ber die 30 Datens¨atze der Menge D30 Durchschnitt u ¨ber die 100 Datens¨atze der Menge D100 Durchschnitt u ¨ber die 120 Datens¨atze der Menge D120 Anzahl Datens¨atze ist 5 Anzahl Datens¨atze ist 20 Anzahl Datens¨atze ist 25 Anzahl Datens¨atze ist 30 Anzahl Datens¨atze ist 100 Anzahl Datens¨atze ist 120
Verzeichnis ausgew¨ahlter Symbole D5 D20 D25 D30 D100 D120 Dd AnzF nT Dd AnzT A+ T
Dd KA
Dd KB +
Dd T AK
+
Dd T AK+ Dd Z Dd ZF e (e1 , e2 ) ekm ekm ekmt e E 1 , E2 Ej Ek k E Ej E Em EDi EDk
XXVII
Menge folgender 5 Datens¨atze: D5 = {100; 105; 110; 115; 120} Menge folgender 20 Datens¨atze: D20 = {101; . . . ; 120} Menge folgender 25 Datens¨atze: D25 = {1; . . . ; 25} Menge folgender 30 Datens¨atze: D30 = {1; . . . ; 25; 100; 105; 110; 115; 120} Menge folgender 100 Datens¨atze: D100 = {1; . . . ; 100} Menge folgender 120 Datens¨atze: D120 = {1; . . . ; 120} Durchschnitt der Anzahl nach T fertig gestellter Auftr¨age der in d angegebenen Datens¨atze Durchschnitt der Anzahl an Termin¨ uberschreitungen der in d angegebenen Datens¨atze Durchschnitt der durchschnittlichen auf den Planungszeitraum T bezogenen Kapazit¨atsauslastung u ¨ber alle M Maschinen der in d angegebenen Datens¨atze Durchschnitt der durchschnittlichen Kapazit¨atsbelastung aller M Maschinen der in d angegebenen Datens¨atze Durchschnitt der auf alle K Auftr¨age bezogenen durchschnittlichen Termin¨ uberschreitung der in d angegebenen Datens¨atze Durchschnitt der auf alle K+ Auftr¨age bezogenen durchschnittlichen Termin¨ uberschreitung der in d angegebenen Datens¨atze Durchschnitt der Zykluszeiten der in d angegebenen Datens¨atze Durchschnitt der Zielfunktionswerte der in d angegebenen Datens¨atze alternative Maschinenfolge (fr¨ uhester) Endzeitpunkt der Bearbeitung der Operation Okm (fr¨ uhester) Endzeitpunkt der Bearbeitung und potentiellen anschließenden Nachlaufzeit der Operation Okm Endzeitpunkt t der Bearbeitung von Auftrags k auf Maschine m alternative Maschinentypfolge Individuum, das als erstes bzw. zweites Elternteil agiert Anzahl der alternativen Maschinenfolgen e von Endmessdiodentyp j Anzahl der alternativen Maschinenfolgen e von Auftrag k Anzahl der alternativen Maschinentypfolgen e von Auftrag k Menge der alternativen Maschinenfolgen e von Endmessdiodentyp j, Ej = {1; . . . ; Ej } Menge aller disjunktiven Pfeilpaare im disjunktiven Graphen G∗ Menge der m¨oglichen Auftragsfolgen der Maschine m im disjunktiven Graphen G∗ Endmessdiodentyp vom Vorg¨anger-Auftrag i Endmessdiodentyp von Auftrag k
XXVIII EDy ES ES
Verzeichnis ausgew¨ahlter Symbole
Endmessdiodentyp Nr. y (y=1,. . . ,63) Einf¨ ugestelle des Substrings im Rahmen des GOX Menge der betrachteten Evolutionsstrategien, ES = {R0;R2;R6;R12;C} f (x) Funktion in Abh¨angigkeit von x Funktion eines relaxierten Problems in Abh¨angigkeit von x f R (x) F Gesamte effektive Fertigstellungszeit Fertigstellungszeit des Auftrags k Fk Fertigstellungstermin des Auftrags k Fk∗ ∗ ¨ Fk Fertigstellungstermin des Auftrags k, dessen Uberschreiten zur Unzul¨assigkeit f¨ uhrt Fertigstellungszeit von Charge c des Endmessdiodentyps j Fjc Fertigstellungstermin von Charge c des Endmessdiodentyps j Fjc∗ F it(i) Fitnesswert von Individuum i F it∗ (F it∗neu ) aktuell bester Fitnesswert (bzw. der neuen Generation) F it(i) relative Fitness von Individuum i kumulierter relativer Fitnesswert F itkum Fr¨ uhestm¨oglicher Anfangszeitpunkt der Bearbeitung von AufF AZkm trag k auf Maschine m g Generationsz¨ahler Gewichtung der summierten (gesamten) Anfangszeit GA gA Gewichtungsfaktor f¨ ur Auftrag k gk Gewichtungsfaktor f¨ ur Maschine m gm Gewichtung der Zykluszeit Z gZ Faktor zur Korrektur der Kapazit¨atsbelastung der MontagemagAG schinen m ∈ MAG gAG Faktor zur Korrektur der Kapazit¨atsbelastung der (NichtMontage-)Maschinen m ∈ (M\MAG ) Z¨ahler f¨ ur die Generationen ohne Verbesserung goV =1, wenn Charge c vom Endmessdiodentyp j mit Maschinenfolgjce ge e hergestellt wird (0, sonst) G Anzahl Generationen Disjunktiver Graph G∗ gg großes“ Zielgewicht ” endg¨ ultige Parametereinstellung f¨ ur den genetischen AlgorithGA∗ mus GA gewichtete gesamte Anfangszeit GAM Menge der betrachteten Mutationsstrategien, GAM = {BM3;BM10;OBM3;ohneM;RM3;RM10} GOV Anzahl Generationen ohne Verbesserung GSN gewichteter Strafterm f¨ ur nicht erf¨ ullte Auftr¨age gewichtete Gesamttermin¨ uberschreitung des Auftragsbestandes GT A+
Verzeichnis ausgew¨ahlter Symbole GT A+ jc +
GT AK+ +
GT AK
GZ h (h , h ) hs , hs H Hs i iS iT I IS I IS IT j (j1 , j2 ) J J ι k (k1 , k2 , i) [k] k k∗ km K K+ K K+ Km Km KA KAm
XXIX
gewichtete Termin¨ uberschreitung von Charge c des Endmessdiodentyps j durchschnittliche gewichtete auf alle K+ Auftr¨age bezogene Termin¨ uberschreitung durchschnittliche gewichtete auf alle K Auftr¨age bezogene Termin¨ uberschreitung gewichtete Zykluszeit h-tes Gen im Chromosom Z¨ahler f¨ ur die Anzahl zu selektierender Gene Anzahl Gene des Chromosoms Anzahl zu selektierender Gene Individuum einer Population / Vorg¨angerauftrag von Auftrag k Z¨ahler f¨ ur die zu selektierenden Individuen Z¨ahler f¨ ur die Anzahl der Turnierteilnehmer Anzahl Individuen einer Population Anzahl zu selektierender Individuen Menge der Individuen i einer Population (i = 1, . . . , I) Menge der selektierten Individuen (0 ≤ |IS | ≤ IS ) Anzahl der Turnierteilnehmer Endmessdiodentyp (j1 vor j2 ) Anzahl Endmessdiodentypen Menge der Endmessdiodentypen j (j = 1, . . . , J) Index f¨ ur die Iterationsstufe Auftrag (k1 vor k2 bzw. i vor k) Index, der den k-ten Auftrag in der Auftragsfolge einer Maschine m angibt vorl¨aufig ausgew¨ahlter Auftrag aufgrund der Priorit¨atsregel bzw. der Reihenfolge im Chromosom ausgew¨ahlter Auftrag =1, falls KBm > KVm (0 sonst) Anzahl Auftr¨age Anzahl Auftr¨age mit Termin¨ uberschreitung Menge an Auftr¨agen k, Auftragsbestand, K = {1; . . . ; K} Menge an Auftr¨agen mit Termin¨ uberschreitungen Anzahl Auftr¨age, die auf Maschine m bearbeitet werden Menge der Auftr¨age, die auf der Maschine m bearbeitet werden m¨ ussen Kapazit¨atsauslastung des Maschinenparks in Bezug auf die Zykluszeit Kapazit¨atsauslastung der Maschine m in Bezug auf den Zeitraum von t0 bis zum Ende der letzten Operation auf m
XXX KAT m
Verzeichnis ausgew¨ahlter Symbole
Kapazit¨atsauslastung der Maschine m in Bezug auf den kompletten Planungszeitraum von T Zeiteinheiten T KA durchschnittliche Kapazit¨atsauslastung aller Maschinen bezogen auf den kompletten Planungszeitraum von T Zeiteinheiten Kapazit¨atsbelastung der Maschine m KBm KB durchschnittliche Kapazit¨atsbelastung aller Maschinen Korrekturterm von Endmessdiodentyp j, der mit MaschinenfolKTje ge e hergestellt wird KT j durchschnittlicher Korrekturterm vom Endmessdiodentyp j Verf¨ ugbaren Kapazit¨at von Maschine m (in Minuten) KVm relative Angabe der verf¨ ugbaren Kapazit¨at der Maschine m beKVmT zogen auf den Planungszeitraum T relative Angabe der verf¨ ugbaren Kapazit¨at der Maschine m beKVmTm zogen auf die bzgl. Maschine m sinnvolle Zeit Tm KV durchschnittliche absolute verf¨ ugbare Kapazit¨at aller Maschinen T KV durchschnittliche relative verf¨ ugbare Kapazit¨at aller Maschinen bezogen auf den kompletten Planungzeitraum T Tm KV durchschnittliche relative verf¨ ugbare sinnvolle“ Kapazit¨at aller ” Maschinen bezogen auf den kompletten Planungzeitraum T L Gesamtleerzeit Leerzeit von Maschine m Lm Unterschranke (von Teilproblem Πs ) (Lower Bound) LB, LBs Unterschranke von Teilproblem Πs LS L¨ange des Substrings im Rahmen des GOX LZ Abstand zwischen den Zeigern im Rahmen der Zeiger-Selektion Maschine (m1 vor m2 m (m1 , m2 , mas, nm, vm) bzw. vm vor mas vor nm) [m] Index, der die m-te Maschine in der Maschinenfolge eines Auftrags k angibt M Anzahl Maschinen Anzahl Maschinen, auf denen Auftrag k bearbeitet wird Mk Anzahl Maschinen, auf denen Endmessdiodentyp j bei MaschiMje nenfolge e bearbeitet werden muss Anzahl identischer paralleler Maschinen, die zur Bearbeitung der Mkm ugung stehen Operation Okm zur Verf¨ M Menge der Maschinen m, M = {1; . . . ; M} Menge der Maschinen, auf denen der Endmessdiodentyps j (unMj abh¨angig von der f¨ ur die Charge c gew¨ahlten Einplanungsalternative e) bearbeitet werden kann Menge aller Maschinen, auf denen der Auftrag k bearbeitet werMk den muss
Verzeichnis ausgew¨ahlter Symbole MAG Mje Mkm mas MASST M axd . . . M axd ZF M Di M Dk MDx MF M ind . . . M ind ZF MT njce nm nz nzk nzm nzjm nzkm nzAk nzEk N , N 1 , N2 N N B(x) NP O O O∗ Oe
XXXI
Menge der Maschinen, die Auftragsgruppen ber¨ ucksichtigen (Montagemaschinen) Menge der Maschinen, auf denen der Endmessdiodentyps j bei Maschinenfolge e bearbeitet werden kann Teilmenge der Maschinen, die zur Bearbeitung der Operation ugung stehen, Mkm = {1; . . . ; Mkm } Okm zur Verf¨ Maschine, auf der der ein ausgew¨ahlter Auftrag (k ,k ∗ ) bearbeitet werden muss Menge der betrachteten Maschinenstillstands-Varianten, MASST = {Masst.1; Masst.2; Masst.3; Masst.4} Maximum der betreffenden Gr¨oße . . . der in d angegebenen Datens¨atze maximaler Zielfunktionswert der in d angegebenen Datens¨atze Montagediodentyp von Vorg¨angerauftrag i Montagediodentyp von Auftrag k Montagediodentyp Nr. x (x=1,. . . ,40) Anzahl Maschinen bzw. Fertigungsstufen zur Klassifikation des Parameters α2 Minimum der betreffenden Gr¨oße . . . der in d angegebenen Datens¨atze Minimaler Zielfunktionswert der in d angegebenen Datens¨atze Maschinentyp =1, wenn Charge c vom Endmessdiodentyp j innerhalb des Planungszeitraums fertig gestellt wird (0 sonst) n¨achste Maschine in der Maschinenfolge von Auftrag k ∗ Nachlaufzeit (unabh¨angig von Auftrag k auf Maschine m) Nachlaufzeit von Auftrag k Nachlaufzeit nach der Bearbeitung auf Maschine m Nachlaufzeit von Endmessdiodentyp j nach seiner Bearbeitung auf Maschine m Nachlaufzeit von Auftrag k auf Maschine m Anfangszeitpunkt der Nachlaufzeit von Auftrag k Endzeitpunkt der Nachlaufzeit von Auftrag k Individuum, das als (erstes bzw. zweites) Nachkomme ist Anzahl Generationen beim Genetische Algorithmus Nachbarschaft einer L¨osung x Komplexit¨atsklasse de (vermutlich) praktisch unl¨osbaren Probleme Arbeitsganganzahl des Auftragsbestandes Menge aller Operationen Menge der Knoten im disjunktiven Graphen G∗ Menge der einplanbaren Operationen
XXXII Ok Ok Om Om Oke Okm O[k]m Ok[m] Omax O Nk ONk O Nm ONm OSk O Sk OSm O Sm OKF p pk pM po pu pjm pkm pC pf Pk Pm
Verzeichnis ausgew¨ahlter Symbole Arbeitsganganzahl des Auftrags k Menge der Operationen des Auftrags k, Ok = {Ok[1] , . . . , Ok[Mk ] } Arbeitsganganzahl auf Maschine m Menge der Operationen auf Maschine m, Om = {O[1]m , . . . , O[Km ]m } Arbeitsganganzahl des Auftrags k bei Maschinenfolge e Bearbeitung von Auftrag k auf Maschine m (Operation, Arbeitsgang) Auftrag, der an k-ter Stelle der Auftragsfolge der Maschine m eingeordnet ist Auftrag k auf der Maschine, die an m-ter Stelle der Maschinenfolge des Auftrages k t¨atig wird maximale Anzahl an Operationen eines Ablaufplanungsproblems Anzahl Operationen des Auftrags k, die noch stattfinden m¨ ussen Menge aller Operationen des Auftrags k, die noch stattfinden m¨ ussen Anzahl Operationen der Maschine m, die noch stattfinden m¨ ussen Menge aller Operationen der Maschine m, die noch stattfinden m¨ ussen Anzahl Operationen des Auftrags k, die bereits stattgefunden haben Menge aller Operationen des Auftrags k, die bereits stattgefunden haben Anzahl Operationen der Maschine m, die bereits stattgefunden haben Menge aller Operationen der Maschine m, die bereits stattgefunden haben Menge der Operationen Okm , die zu Ok mas im Konflikt stehen f¨ ur alle Operationen einheitliche Bearbeitungszeit (maschinenunabh¨angige) Bearbeitungszeit von Auftrag k Mutations-Wahrscheinlichkeit Obergrenze der f¨ ur alle Operationen einheitlichen Bearbeitungszeit Untergrenze der f¨ ur alle Operationen einheitlichen Bearbeitungszeit Bearbeitungszeit von Endmessdiodentyp j auf Maschine m Bearbeitungszeit von Auftrag k auf Maschine m Crossover-Wahrscheinlichkeit Produkt-/Auftragsfamilie gesamte Bearbeitungszeit des Auftrags k gesamte Bearbeitungszeit auf der Maschine m
Verzeichnis ausgew¨ahlter Symbole pM V P (i) P PC PK PM PZ POP PRIO∗ PRIO
P riok Πs Φk Q RBZk RV rz rzk rzm rzjm rzkm rzk1 k2 rzk1 k2 m rzpf1 pf2 rzpf1 pf2 m RZ Rzk Rzm s (s1 , s2 ) sm skm
XXXIII
Wahrscheinlichkeit f¨ ur das Mutationsverfahren OBM im Rahmen von BM Position von Individuum i in der nach dem Fitnesswert sortierten Menge der Individuen einer Population Komplexit¨atsklasse in polynomialer Zeit l¨osbarer Probleme Menge der betrachteten Crossover-Wahrscheinlichkeiten, PC = {60; 95; 100} gesamte Bearbeitungszeit des Auftragsbestandes K gesamte Bearbeitungszeit auf dem Maschinenbestand M Wertebereich f¨ ur die Bearbeitungszeiten aller Operationen Menge der betrachteten Populationsgr¨oßen, POP = {50; 120; 200; 500} endg¨ ultige Priorit¨atsregel f¨ ur das Priorit¨atsregelverfahren Menge der betrachteten Priorit¨atsregeln, PRIO = {FCFS;FLT;KOZ;LRBZ;RZ;SZ;SZ/On;SZ/RBZ; WSLnM;Zufall;ZRDLZ;ZRDLZ/On} Priorit¨atswert von Auftrag k (separiertes) Teilproblem beim B&B-Verfahren Priorit¨atswert von Auftrag k Quelle eines Graphen Restbearbeitungszeit vom Auftrag k R¨ ustvorgang R¨ ustzeit (unabh¨angig von Auftrag k und Maschine m) R¨ ustzeit von Auftrag k R¨ ustzeit von Maschine m R¨ ustzeit von Endmessdiodentyp j auf Maschine m R¨ ustzeit von Auftrag k auf Maschine m reihenfolgeabh¨angige R¨ ustzeit (k1 vor k2 ) (maschinenunabh¨angig) reihenfolgeabh¨angige R¨ ustzeit auf Maschine m (k1 vor k2 ) reihenfolgeabh¨angige R¨ ustzeit (pf1 vor pf2 ) reihenfolgeabh¨angige R¨ ustzeit auf Maschine m (pf1 vor pf2 ) gesamte R¨ ustzeit des Auftragsbestandes Summe der R¨ ustzeiten von Auftrags k Summe der R¨ ustzeiten auf Maschine m Index f¨ ur separierte Teilprobleme beim B&B-Verfahren Intensit¨at der Maschine m (Geschwindigkeit, mit der Maschine m betrieben wird) operationsspezifische Intensit¨at der Maschine m (Geschwindigkeit, mit der Maschine m betrieben wird)
XXXIV sjcemv
S S S >T SD Stm StAmv StEmv SD SS SV SZ SZk σ σd . . . σ d AnzF nT σ d AnzT A+ +
σ d T AK+ +
σ d T AK σdZ σ d ZF t t0 T T T∗ TiT Tι
Verzeichnis ausgew¨ahlter Symbole =1, falls die mit Maschinenfolge e hergestellte Charge c von Endmessdiodentyp j aufgrund des v-ten Maschinenstillstandes von Maschine m erst nach dem Stillstand auf m bearbeitet werden kann (0 sonst) Anzahl separierter Teilprobleme beim B&B-Verfahren Senke eines Graphen ¨ Strafterm f¨ ur das Uberschreiten des Planungshorizontes T Menge der betrachteten Selektionsdr¨ ucke, SD = {1, 2; 1, 95} Anzahl Stillst¨ande, die auf m zum Zeitpunkt t bereits stattgefunden haben Beginnzeitpunkt des v-ten Maschinenstillstands von m Endzeitpunkt des v-ten Maschinenstillstands von m Selektionsdruck Startstelle des Substrings im Rahmen des GOX Menge der betrachteten Selektionsverfahren, SV = {3-Turnier;5-Turnier;Pointer} aktuelle Stelle des Zeigers im Rahmen der Zeiger-Selektion Schlupfzeit von Auftrag k Standardabweichung Standardabweichung der betreffenden Gr¨oße . . . der in d angegebenen Datens¨atze Standardabweichung der Anzahl nach T fertig gestellter Auftr¨age der in d angegebenen Datens¨atze Standardabweichung der Anzahl an Termin¨ uberschreitungen der in d angegebenen Datens¨atze Standardabweichung der auf alle K+ Auftr¨age bezogenen durchschnittlichen Termin¨ uberschreitung der in d angegebenen Datens¨atze Standardabweichung der auf alle K Auftr¨age bezogenen durchschnittlichen Termin¨ uberschreitung der in d angegebenen Datens¨atze Standardabweichung der Zykluszeiten der in d angegebenen Datens¨atze Standardabweichung der Zielfunktionswerte der in d angegebenenDatens¨atze Zeitpunkt Beginn des Planungszeitraums, auch Planungszeitpunkt Planungszeitraum, Menge der Zeiteinheiten, T = {1; . . . ; T} Planungshorizont Sieger des Turniers iT -ter Turnierteilnehmer Temperatur der Iterationsstufe ι
Verzeichnis ausgew¨ahlter Symbole Tm TA T Ak T Amax T A2 T A+ T A− T A+ k T A− k |T A| |T A| T AK T AK± +
T AK
+
T AK+ u (v) u∗ uk ¨ UE UB v (u) v∗ vm Vk Vm Vm V akm , V aPkm V aBkm V ekm , V ePkm
XXXV
die Zeit im Planungszeitraum, die die Maschine m sinnvollerweise laufen kann Terminabweichung des Auftragsbestandes Terminabweichung des Auftrags k maximale Terminabweichung des Auftragsbestandes Quadrierte Terminabweichung des Auftragsbestandes Termin¨ uberschreitung des Auftragsbestandes Terminunterschreitung des Auftragsbestandes Termin¨ uberschreitung des Auftrags k Terminunterschreitung des Auftrags k absolute Terminabweichung des Auftragsbestandes mittlere absolute Terminabweichung des Auftragsbestandes durchschnittliche Terminabweichung – auf alle K Auftr¨age bezogen durchschnittliche Terminabweichung – auf alle K± Auftr¨age bezogen durchschnittliche Termin¨ uberschreitung – auf alle K Auftr¨age bezogen durchschnittliche Termin¨ uberschreitung – auf alle K+ Auftr¨age bezogen Maschinenstillstand (u vor v) Maschinenstillstand, der unmittelbar vor dem Anfangszeitpunkt der Bearbeitung eines betrachteten Auftrags k liegt Bin¨arvariable, die angibt, ob f¨ ur Auftrag k eine Termin¨ uberschreibung vorliegt oder nicht ¨ logische Variable, die eine Ubereinstimmung angibt Oberschranke (Upper Bound) Maschinenstillstand (u vor v) Maschinenstillstand, der unmittelbar nach dem Anfangszeitpunkt der Bearbeitung eines betrachteten Auftrags k liegt vorherige Maschine in der Maschinenfolge von Auftrag k ∗ Verweilzeit des Auftrages k Anzahl Stillst¨ande von Maschine m innerhalb von T Menge der Maschinenstillst¨ande der Maschine m, Vm = {1; . . . ; Vm } vorl¨aufiger Anfangszeitpunkt der Bearbeitung von Auftrag k auf Maschine m vorl¨aufiger Anfangszeitpunkt der Belegung von Maschine m durch Auftrag k vorl¨aufiger Endzeitpunkt der Bearbeitung von Auftrag k auf Maschine m
XXXVI
Verzeichnis ausgew¨ahlter Symbole
V eBkm
vorl¨aufiger Endzeitpunkt der Belegung von Maschine m durch Auftrag k Menge der betrachteten Szenarien, VAR = {A1;A2;A3;A4;Z1} =1, wenn j1 und j2 derselben Auftragsgruppe angeh¨oren (0 sonst) Wartezeit der Operation Okm gesamte Wartezeit des Auftragsbestandes K Grenze f¨ ur die Wartezeit vor einer Maschine gesamte Wartezeit des Auftrages k Wert an der Stelle h Operationsnummer OSk zum dem an der Stelle h korrespondierenden Auftrag L¨ange der Warteschlange vor Maschine m(Anzahl wartender Auftr¨age) L¨ange der Warteschlange vor der Maschine, auf der k an der OSk -ten Stelle in der Maschinenfolge bearbeitet wird Variable (in verschiedenen Kontexten) Variable, die ein Optimum angibt =1, wenn Endmessdiodentyp j mit Maschinenfolge e hergestellt und auf Maschine m bearbeitet wird (0 sonst) Anzahl mit einem Konstruktionsverfahren zu erzeugender Ablaufpl¨ane hinreichend große Zahl Alternativenmenge, L¨osungsmenge Alternativenmenge des (Teil-)Problems Πs (s = 0, . . . , S) =1, falls Charge c1 von j1 Vorg¨anger von Charge c2 von j2 auf m ist (0, sonst) =1, falls Auftrag k1 Vorg¨anger von Auftrag k2 auf m ist (0, sonst) Index bei multikriterieller Zielsetzung Anzahl alternativer Zielsetzungen Zykluszeit Menge der betrachteten Maschinenfolge-Varianten bei zuf¨alliger Auswahl, Z = {Masfo.Zufall} Zielfunktionswert aktuell bester Zielfunktionswert Durchschnittlicher Zielfunktionswert Zielfunktionswert der z-ten Zielsetzung (z = 1, . . . , Z) Zielfunktionswert von Individuum i Zul¨assige Restdurchlaufzeit von Auftrag k (x-te) Zufallszahl
VAR wj1 j2 wkm W W Wk W (h) W O (h) W Sm W S[OSk ]k x, x x∗ xjem X X X X (Πs ) yj1 c1 j2 c2 m yk1 k2 m z Z Z Z
ZF ZF ∗ ZF ZFz ZF (i) ZRDLZk ζ, ζx
1 Einleitung 1.1 Gegenstand der Arbeit Die Planung der Produktionsprozesse stellt f¨ ur viele Unternehmen in der Industrie einen bedeutenden Erfolgsfaktor dar. Thema dieser Arbeit ist die Ablaufplanung, ein zentrales Problem innerhalb der Produktionsplanung und -steuerung. Es geht dabei um die Planung der r¨aumlichen und zeitlichen Abl¨aufe von Produktionsprozessen. Im weiteren Verlauf der Arbeit wird die Ablaufplanung als Maschinenbelegungsplanung (Scheduling) verstanden. Hierbei ist eine Menge an Auftr¨agen und Maschinen gegeben. Es ist zu bestimmen, wann welcher Auftrag auf welcher Maschine zu bearbeiten ist. Die Zuordnung erfolgt dabei im Hinblick auf die optimale Erf¨ ullung vorgegebener Unternehmensziele. Seit vielen Jahrzehnten wird die Ablaufplanung unter Verwendung verschiedener Ans¨atze erforscht, was sich in einer hohen Publikationsintensit¨at in diesem Bereich widerspiegelt. In den 1960er Jahren wurden zahlreiche Modellformulierungen entwickelt. Bei Problemen der Ablaufplanung handelt es sich um kombinatorische Optimierungsprobleme. Diese sind dadurch gekennzeichnet, dass eine optimale L¨osung aus einer endlichen Anzahl m¨oglicher L¨osungen gesucht wird. Typischerweise lassen sich Probleme der kombinatorischen Optimierung deshalb als ganzzahlige lineare Programme darstellen. Die Tatsache, dass f¨ ur die lineare Programmierung mit dem Simplexalgorithmus ein ¨außerst erfolgreiches L¨osungsverfahren gefunden wurde, machte Hoffnung darauf, auch f¨ ur Probleme der (gemischt-) ganzzahligen linearen Programmierung geeignete L¨osungsverfahren entwickeln zu k¨onnen. Die Forschung suchte daher zun¨achst verst¨arkt nach L¨osungen mittels exakter Verfahren. Diese haben den Anspruch, in endlich vielen Schritten eine optimale L¨osung zu bestimmen. Aufgrund der Komplexit¨at der Problemstellung gelang es allerdings nicht, exakte Verfahren zu entwickeln, die insbesondere im Hinblick auf praktische Problemstellungen befriedigende L¨osungen liefern. Auch die Fortschritte in der Computertechnologie, die zu einer steigenden Leistungsf¨ahigkeit der Rechner f¨ uhrten, konnten nicht weiterhelfen. Ablaufplanungsprobleme geh¨oren – bis auf wenige Spezialf¨alle – zur Klasse der N P-schweren Optimierungsprobleme. Bis heute gibt es f¨ ur deren Optimierung keine allgemeinen L¨osungsans¨atze, mit denen eine optimale L¨osung mit polynomialem L¨osungsaufwand gefunden werden I. J. Acker, Methoden zur mehrstufi gen Ablaufplanung in der Halbleiterindustrie, DOI 10.1007/978-3-8349-6731-2_1, © Gabler Verlag | Springer Fachmedien Wiesbaden GmbH 2011
2
1 Einleitung
kann. Diese Probleme weisen im Gegenteil einen mit der Problemgr¨oße exponentiell ansteigenden L¨osungsaufwand auf. Aufgrund der hohen unternehmerischen Relevanz von Ablaufplanungsproblemen wurde weiter nach L¨osungsm¨oglichkeiten unter dem Gesichtspunkt der praktischen Einsetzbarkeit gesucht. In Folge dessen trat die Suche nach heuristischen L¨osungsverfahren (Heuristiken) aufgrund ihres h¨aufig nur polynomialen Rechenaufwandes in den Vordergrund. Diese gehen nach bestimmten Regeln zur L¨osungsfindung und -verbesserung vor, die hinsichtlich der betrachteten Zielsetzung und der Nebenbedingungen eines Problems als zweckm¨aßig, sinnvoll und erfolgversprechend erscheinen. Dabei wird auf eine Garantie, ein Optimum zu finden (bzw. als solches zu erkennen) verzichtet. Heuristiken geben sich damit zufrieden, lediglich gute zul¨assige L¨osungen zu bestimmen. Auch heutzutage liegt der Forschungsschwerpunkt haupts¨achlich auf der Anwendung und Weiterentwicklung geeigneter heuristischer Verfahren. Außerdem konzentriert sich die Forschung im Bereich der Ablaufplanung aufgrund der Komplexit¨at i. d. R. nur auf wenige Spezialprobleme mit meist monokriteriellen Zielfunktionen. Insbesondere das statisch-deterministische klassische Job-Shop-Problem spielt dabei eine wichtige Rolle bei der Entwicklung und Bewertung neuer Verfahren. Bei diesem Problemtyp muss jeder Auftrag in einer gegebenen individuellen Reihenfolge (Maschinenfolge) auf jeder Maschine genau einmal bearbeitet werden. Die Bearbeitung eines Auftrags auf einer Maschine heißt Arbeitsgang. Die Bestimmung der Auftragsfolgen, d. h. der Reihenfolgen der Auftr¨age auf den einzelnen Maschinen, sowie die zeitliche Einplanung der Arbeitsg¨ange soll unter der Zielsetzung der Minimierung der maximalen Fertigstellungszeit (Zykluszeit) erfolgen. Das klassische Job-Shop-Problem ist ein Modell mit breiter Anwendbarkeit und sieht auf den ersten Blick einfach aus, geh¨ort aber zu den am schwierigsten zu l¨osenden Problemen im Bereich des Operations Research. Die bei den Spezialproblemen getroffenen restriktiven Annahmen spiegeln aufgrund von immer flexibler werdenden Produktionssystemen, komplexen Auftragsstrukturen und i. d. R. multikriteriellen Zielsetzungen selten die Realit¨at wider. Viele bez¨ uglich der simplifizierten Probleme entwickelten Verfahren sind daher den Anspr¨ uchen realer, meist viel komplexerer Probleme nicht gewachsen. In j¨ ungerer Vergangenheit fand bei den Unternehmensstrategien eine Entwicklung zu einer betonten Markt- und Kundenorientierung statt. Wettbewerbsfaktoren wie die Erf¨ ullung individueller Produkt- und Dienstleistungsw¨ unsche zu niedrigen Preisen und in hoher Qualit¨at, die Einhaltung kurzer Lieferfristen sowie niedrige Lagerbest¨ande bei gleichbleibender Fertigungsflexibilit¨at gewannen
1.2 Aufbau der Arbeit
3
dadurch zunehmend an Gewicht. Diesen Umst¨anden wird in der neueren Zeit vermehrt Rechnung getragen. Dennoch konnte bis zum heutigen Zeitpunkt kein allgemeing¨ ultiges L¨osungsverfahren f¨ ur Probleme der Maschinenbelegungsplanung gefunden werden. Was bedeutet dies f¨ ur die Praxis? Wie sollen die Unternehmen unter Ber¨ ucksichtigung ihrer individuellen Situation ihre Maschinenbelegung konkret planen, um ihre Ziele zu erreichen? Es besteht einerseits die M¨oglichkeit, die realen Problemstellung auf einen Spezialfall zu simplifizieren, f¨ ur den bereits geeignete L¨osungsverfahren vorhanden sind. Allerdings kann dann keine Aussage u ute hinsichtlich des urspr¨ unglichen Praxisproblems getroffen ¨ber die L¨osungsg¨ werden. Andererseits kann versucht werden, individuelle L¨osungsverfahren zu entwickeln, die auf die konkrete Problemstellung zugeschnitten sind. An diesem Punkt setzt die Arbeit an. Es wird ein konkretes Praxisbeispiel betrachtet, ein komplexes Maschinenbelegungsplanungsproblem in der Diodenfertigung eines Unternehmens der Halbleiterindustrie. Die Problemstellung ist durch eine Vielzahl von simultan zu ber¨ ucksichtigenden Aspekten gekennzeichnet: -
alternative Maschinenfolgen, divergierende Produktionsstruktur, parallele Maschinen, R¨ ustzeiten, Nachlaufzeiten sowie Maschinenstillst¨ande mit anschließenden kapazit¨atsreduzierenden Anlaufzeiten.
Zur langfristigen Aufrechterhaltung der Wettbewerbsposition ist neben technologischem Know-how-Vorsprung und der Kostenf¨ uhrerschaft auch die Einhaltung von Liefervereinbarungen von besonderer Bedeutung. Die Aufgabe besteht in der termingerechten Umsetzung eines f¨ ur den Planungszeitraum gegebenen Produktionsprogramms unter Ber¨ ucksichtigung unvorhergesehener Maschinenausf¨alle. Zielsetzung der Dissertation ist, f¨ ur diese konkrete reale Problemstellung ein geeignetes individuelles L¨osungsverfahren zu entwickeln.
1.2 Aufbau der Arbeit Im Anschluss an das einleitende erste Kapitel widmet sich das zweite Kapitel der Ablaufplanung. Es erfolgt eine Einordnung der Ablaufplanung in den Produktionsprozess und eine Erl¨auterung ihrer Aufgaben. Zudem werden f¨ ur den weiteren Verlauf der Arbeit notwendige Definitionen und Notationsvereinbarungen getroffen. Aufgrund der großen Anzahl von Parametern und Zielen
4
1 Einleitung
kann eine Vielzahl von Ablaufplanungsproblemen unterschieden werden. Zu ihrer Strukturierung wird in Anlehnung an Graham et al. (1979) ein Klassifikationsschema eingef¨ uhrt, das hinsichtlich der drei Aspekte Maschinen- und Auftragseigenschaften sowie Zielkriterien differenziert. Es k¨onnen in Abh¨angigkeit von bestimmten Eigenschaften verschiedene Arten von Ablaufpl¨anen unterschieden werden. Es wird beschrieben, wie es mit Hilfe dieser unter bestimmten Voraussetzungen (z. B. regul¨are Zielfunktion) m¨oglich ist, bei der Suche nach dem optimalen Ablaufplan den L¨osungsraum dahingehend einzugrenzen, dass er nur potentiell optimale Ablaufpl¨ane enth¨alt. Im dritten Kapitel wird der Produktionsprozess in der Diodenfertigung des betrachteten Unternehmens genau analysiert und ausf¨ uhrlich dargestellt. Gegenstand der Betrachtung sind die beiden letzten Produktionsstufen – die Montage und die Endmessung der Dioden. Die Montage ist nach der Fließfertigung und die Endmessung nach der Werkstattfertigung organisiert. Der Maschinenpark besteht aus insgesamt 24 z. T. parallelen Maschinen. Zur Bedienung der Maschinen ist speziell ausgebildetes Personal erforderlich, das gem¨aß eines Schichtplans nur zu bestimmten Zeiten eingesetzt werden kann. Daher kommt es zu Maschinenstillst¨anden mit anschließenden kapazit¨atsreduzierenden Anlaufzeiten. Die f¨ unf planungsrelevanten Arbeitsvorg¨ange in der Montage lassen sich aufgrund ihrer gegenseitigen kapazit¨atsm¨aßigen Anpassung auf einen planungsrelevanten Arbeitsgang mit einer entsprechenden Nachlaufzeit reduzieren. In der Montage k¨onnen 40 verschiedene so genannte Montagediodentypen erzeugt werden. Aufgrund einer divergierenden Produktionsstruktur k¨onnen daraus in der Endmessung in bis zu drei Arbeitsg¨angen 63 verschiedene so genannte Endmessdiodentypen erzeugt werden. Daf¨ ur stehen insgesamt 18 Maschinen zur Verf¨ ugung. Es entstehen bei einem Diodentypwechsel auf einer Maschine signifikante R¨ ustzeiten. Vor allem ist zu beachten, dass nicht eine Maschinenfolge a priori festgelegt ist, sondern f¨ ur einen Endmessdiodentyp eine Vielzahl alternativer Maschinenfolgen gegeben ist. Dadurch gibt es f¨ ur einen Auftrag bis zu 108 m¨ogliche Wege, den zweistufigen Produktionsprozess zu durchlaufen. Abschließend l¨asst sich das betrachtete Praxisbeispiel von seiner Struktur her als Job-Shop-Problem charakterisieren, weshalb sich die Arbeit im weiteren Verlauf ausschließlich auf diesen Problemtyp konzentriert. Um die betrachtete Problemstellung in das zuvor eingef¨ uhrte Klassifikationsschema einordnen zu k¨onnen, wird dieses aufgrund der Besonderheit der fest vorgegebenen alternativen Maschinenfolgen im Bereich der Maschinencharakteristika entsprechend erweitert. Den Schwerpunkt des vierten Kapitels bildet die Formulierung eines Modells zur betrachteten Problemstellung. Entscheidend bei der Ablaufplanung ist die Bestimmung der Auftragsfolgen. Da Reihenfolgeprobleme sehr anschaulich als Graphen dargestellt werden k¨onnen, wird zun¨achst das Prinzip des disjunktiven
1.2 Aufbau der Arbeit
5
Graphen von Roy&Sussman (1964) erl¨autert. Anschließend wird die Modellformulierung nach Manne (1960) f¨ ur das Job-Shop-Problem vorgestellt. Diese steht in enger Beziehung zum Konzept des disjunktiven Graphen und erfolgt mit Hilfe von reihenfolgebasierten Variablen. Darauf aufbauend wird f¨ ur das oben beschriebene Problem ein gemischt-ganzzahliges lineares Programm formuliert und erl¨autert. Neben der Bestimmung der Auftragsfolgen sind hier außerdem die Maschinenfolgen der Auftr¨age auszuw¨ahlen. ¨ Im f¨ unften Kapitel wird zun¨achst ein Uberblick u ¨ber exakte und heuristische L¨osungsans¨atze f¨ ur das Job-Shop-Problem gegeben. Aufgrund der Komplexit¨at der betrachteten Problemstellung werden f¨ ur die weitere Arbeit zwei heuristische Verfahren herausgegriffen und ausf¨ uhrlich beschrieben: ein Priorit¨atsregelverfahren sowie ein Genetischer Algorithmus. Das Priorit¨atsregelverfahren stellt eine problemspezifische Heuristik dar und hat sich in der Vergangenheit schon oft bew¨ahrt. Es ist leicht verst¨andlich und liefert trotz seiner Einfachheit schnell Ergebnisse von angemessener Qualit¨at. Der Genetische Algorithmus, eine Metaheuristik, die auf Holland (1975) zur¨ uckgeht, ist ein leistungsf¨ahiges, stochastisches Suchverfahren und an die Prinzipien der biologischen Evolution angelehnt. Er wurde bereits h¨aufig im Bereich der kombinatorischen Optimierung erfolgreich eingesetzt. In Kapitel 6 werden L¨osungsverfahren f¨ ur das betrachtete Praxisbeispiel vorgestellt. Es erfolgt eine Hierarchisierung des Problems: In einer ersten Phase werden mit einem gemischt-ganzzahligen linearen Programm f¨ ur jeden Auftrag jeweils eine Maschinenfolge bestimmt. Die Maschinenfolgen werden so gew¨ahlt, dass die Maschinenkapazit¨aten nicht u ¨berschritten werden und die Maschinen gleichm¨aßig belastet sind. Diese Maschinenfolgen dienen in einer zweiten Phase als Input f¨ ur das Priorit¨atsregelverfahren bzw. den Genetischen Algorithmus. Es wird ausf¨ uhrlich erl¨autert, wie die beiden in Kapitel 5 ausgew¨ahlten heuristischen Verfahren an die Spezifika der betrachteten Problemstellung angepasst werden. ur In Kapitel 7 erfolgt eine numerische Analyse der L¨osungsverfahren. Um f¨ die Problemstellung geeignete Priorit¨atsregeln bzw. Parametereinstellungen des Genetischen Algorithmus zu bestimmen, werden zahlreiche Simulationsstudien durchgef¨ uhrt. Die Ergebnisse der beiden Verfahren werden miteinander verglichen. Ziel ist, auf Basis der Ergebnisse ein geeignetes und erfolgreiches L¨osungsverfahren f¨ ur die konkret betrachtete Problemstellung aus der Praxis zu entwickeln. Die Arbeit schließt in Kapitel 8 mit einer Zusammenfassung der Arbeit und ihrer wesentlichen Ergebnisse und gibt einen Ausblick auf weiterf¨ uhrende Forschungsans¨atze.
2 Ablaufplanung In diesem Kapitel erfolgt zun¨achst in Abschnitt 2.1 eine Einordnung der Ablaufplanung in den Produktionsprozess und in Abschnitt 2.2 eine Erl¨auterung ihrer Aufgaben. Zudem werden f¨ ur den weiteren Verlauf der Arbeit notwendige Definitionen und Notationsvereinbarungen getroffen. Aufgrund der großen Anzahl von Parametern und Zielen kann eine Vielzahl von Ablaufplanungsproblemen unterschieden werden. Zu ihrer Strukturierung wird in Anlehnung an Graham et al. (1979) in Abschnitt 2.3 ein Klassifikationsschema eingef¨ uhrt, das hinsichtlich der drei Aspekte Maschinen- und Auftragseigenschaften sowie Zielkriterien differenziert. Es k¨onnen in Abh¨angigkeit von bestimmten Eigenschaften verschiedene Arten von Ablaufpl¨anen unterschieden werden. Es wird in Abschnitt 2.4 beschrieben, wie es mit Hilfe dieser unter bestimmten Voraussetzungen (z. B. regul¨are Zielfunktion) m¨oglich ist, bei der Suche nach dem optimalen Ablaufplan den L¨osungsraum dahingehend einzugrenzen, dass er nur potentiell optimale Ablaufpl¨ane enth¨alt.
2.1 Einordnung der Ablaufplanung in den Produktionsprozess Ablaufplanungsprobleme treten in unterschiedlichen wissenschaftlichen Disziplinen auf.1 Im Folgenden werden nur Ablaufplanungsprobleme im betriebswirtschaftlichen Kontext betrachtet. Die Ablaufplanung ist hier ein Bestandteil des Produktionsprozesses. Der Produktionsprozess stellt einen Wertsch¨ofungsprozess dar, bei dem Produktionsfaktoren kombiniert und transformiert werden, um daraus wertgesteigerte Produkte zu erstellen.2 Synonym werden die Begriffe Produktion, Fertigung oder Throughput verwendet. Die Produktionsfaktoren stellen den Input dar, wobei eine Differenzierung in Werkstoffe, Betriebsmittel und Arbeitskraft eruter bzw. Dienstleistungen) sind folgt.3 Die erzeugten Produkte (materielle G¨ 1
Das hat zur Folge, dass f¨ ur die Darstellung desselben Problems in der Literatur unterschiedliche Begriffe zu finden sind. So entsprechen z. B. in der Informationsverarbeitung Maschinen oder Betriebsmittel Prozessoren, (Fertigungs-)Auftr¨age, Jobs oder Lose Aufgaben und (Fertigungs-)Arbeitsg¨ange Operationen. 2 Vgl. Domschke et al.(1997), S. 4; G¨ unther/Tempelmeier(2009), S. 2. 3 ¨ Einen Uberblick u ¨ber Produktionsfaktoren bietet Z¨apfel(1982), S. 3 und 5. I. J. Acker, Methoden zur mehrstufi gen Ablaufplanung in der Halbleiterindustrie, DOI 10.1007/978-3-8349-6731-2_2, © Gabler Verlag | Springer Fachmedien Wiesbaden GmbH 2011
8
2 Ablaufplanung
der Output. In-, Through- und Output bilden gemeinsam das Produktionssystem (siehe folgende Abbildung 2.1).4
Abbildung 2.1: Zusammenhang zwischen Produktionssystem und Produktionsplanung, Quelle: Eigene Darstellung in Anlehnung an Z¨apfel(1982), S. 1ff.; Domschke et al.(1997), S. 3f.; Tempelmeier(2003), S. 1ff.; G¨ unther/Tempelmeier(2009), S. 2 Die ¨okonomischen Aspekte des Produktionsprozesses werden sowohl durch die Produktionstheorie als auch durch die Produktionsplanung untersucht. Die Produktionstheorie versucht, die funktionalen Zusammenh¨ange zwischen der Menge der eingesetzten Produktionsfaktoren und der Menge der damit hergestellten Produkte in Form von Produktionsfunktionen darzustellen. Dabei abstrahiert sie von vielen organisatorischen und technologischen Details. Eine Produktionsfunktion gibt f¨ ur jede technisch m¨ogliche Inputkombination die damit erzielbare Outputkombination an.5 Die Produktionstheorie ist damit theoretische Grundlage f¨ ur die Produktionsplanung. Sie betrachtet im Gegensatz zur Produktionstheorie eben die Organisation, die Koordination und die Steuerung des zeitlichen Ablaufs des Pro4 5
Vgl. Z¨apfel(1982), S. 2.; Tempelmeier(2003), S. 2. Ausf¨ uhrlich dazu vgl. Domschke/Scholl(2008), S. 81ff.; W¨ohe(2010), S. 476ff.
2.1 Einordnung der Ablaufplanung in den Produktionsprozess
9
duktionsprozesses. Sie umfasst alle zur Vorbereitung und Durchf¨ uhrung der Produktion erforderlichen Entscheidungen.6 Es wird zwischen langfristiger (strategischer) und kurzfristiger (operativer) Planung unterschieden.7 Die strategische Planung leitet aus einem langfristigen Absatzprogramm das langfristige Produktionsprogramm ab. Dieses legt fest, welche Produkte8 mit Hilfe welcher Betriebsmittel hergestellt werden sollen. Die daf¨ ur notwendigen Betriebsmittel m¨ ussen beschafft und finanziert werden, ihre Standorte sind festzulegen und die ben¨otigten Arbeitskr¨afte sind einzustellen. Dies bildet den Rahmen f¨ ur die anschließende operative Produktionsplanung, die u ¨blicherweise anhand ihrer Aufgaben in die Produktionsprogramm-, die Bereitstellungs- und die Produktionsprozessplanung untergliedert wird.9 Diese Teilbereiche der Produktionsplanung beinhalten viele Teilprobleme, die sich gegenseitig beeinflussen. Eine Simultanplanung ist leider oft nicht m¨oglich, da ein entsprechendes Totalmodell zu komplex und damit nicht l¨osbar ist.10 Die Zerlegung des Planungsproblems in Teilprobleme kann allerdings dazu f¨ uhren, dass das Oberziel verfehlt wird. Um dies zu vermeiden, wird mit Hilfe von Produktionsplanungs- und -steuerungssystemen (PPS-Systemen) versucht, die einzelnen Teilbereiche unabh¨angig voneinander sukzessiv zu planen. Die Planung eines PPS-Systems ist dabei hierarchisch strukturiert, d. h., die Planungsbereiche - als Module bezeichnet - sind einander u ¨ber- bzw. untergeordnet. Die Ergebnisse eines Moduls werden als feste Daten f¨ ur die nachfolgenden Module ber¨ ucksichtigt.11 Dieses Stufenkonzept ist in Abbildung 2.2 auf S. 10 veranschaulicht und wird im Folgenden n¨aher erl¨autert. Die Produktionsplanung Mit Informationen u ¨ber konkrete Kundenauftr¨age sowie u ¨ber den Absatz- und Beschaffungsbereich werden in der Produktionsprogrammplanung Art und Menge der in den n¨achsten Perioden zu erzeugenden Produkte bestimmt. Daraus wird in der Materialbedarfsplanung der Materialbedarf abgeleitet.12 Dazu werden mit Hilfe von Verfahren der St¨ ucklistenaufl¨osung die f¨ ur den Vollzug des Produktionsprogramms notwendigen Produktionsfaktoren nach Art, 6
Klassisch dient die Planung der Entscheidungsvorbereitung und -findung. Sie ist in die Zukunft gerichtet. Sie meint die gedankliche Vorwegnahme zuk¨ unftigen Handelns, indem aus verschiedenen Handlungsalternativen die bez¨ uglich eines Zielsystems optimale Alternative ausgew¨ahlt wird. Je weiter in die Zukunft geplant werden muss (Planungshorizont), umso schwieriger wird die Planung. Ausf¨ uhrlich dazu vgl. Scholl(2001), S. 7ff. sowie S. 143ff.; Domschke/Scholl(2008), S. 21ff. 7 Vgl. Scholl(2001), S. 14f. 8 Dies ist die so genannte Sortimentsplanung. 9 In Anlehnung an Gutenberg(1983), S. 15ff. 10 Vgl. Domschke et al.(1997), S. 18. 11 Vgl. Z¨apfel(1982), Kapitel V; Scholl(2001), S. 35ff. 12 Hierf¨ ur werden auch die Begriffe Bereitstellungsplanung und Potenzialplanung verwendet.
10
2 Ablaufplanung
Produktionsplanung
Produktionsprogrammplanung
Materialbedarfsplanung
Durchlaufterminierung
Produktionssteuerung
Kapazitätsterminierung
Auftragsfreigabe
Ablaufplanung
Kontrolle des Auftragsforschritts
Abbildung 2.2: Das Produktionsplanungs- und -steuerungssystem (PPS-System), Quelle: Eigene Darstellung in Anlehnung an Hackstein(1989), S. 3ff. Menge und Zeit bestimmt.13 Die sich ergebenden Bruttobedarfe werden um den Lagerbestand korrigiert, so dass aus den Nettobedarfen Bestellmengen (bei Fremdbezug) bzw. Produktionslose (bei Eigenfertigung) berechnet werden k¨onnen. Da die Bearbeitung der Lose auf den verschiedenen Produktionsstufen Zeit ben¨otigt, ist eine Terminplanung durchzuf¨ uhren. Die Durchlaufterminierung bestimmt Anfangs- und Endtermine der Lose, allerdings ohne dabei die Knappheit der Kapazit¨aten zu ber¨ ucksichtigen. Ob die verf¨ ugbare Kapazit¨at in den einzelnen Perioden u ¨berschritten wird, wird in der Kapazit¨atsterminierung ¨ u uft. Kommt es zu einer Uberschreitung, gibt es im Rahmen eines Kapa¨berpr¨ zit¨atsabgleichs die M¨oglichkeit, die Auftr¨age zeitlich umzuverteilen und/oder die Kapazit¨aten anzupassen. Die Produktionssteuerung Wenn eine Verf¨ ugbarkeits¨ uberpr¨ ufung ergibt, dass die ben¨otigten Produktionsfaktoren zum geplanten Zeitpunkt vorhanden sind, beginnt mit der Auftragsfreigabe die Produktionssteuerung. Bei der Ablaufplanung geht es um die Feindisposition der freigegebenen Auftr¨age. Sie sind bis dahin nur grob eingeplant und m¨ ussen nun den einzelnen Produktiveinheiten (Maschinen) r¨aumlich und 13
Bei der Differenzierung der Produktionsfaktoren nach Art der produktiven Faktoren wird auch von Betriebsmittelplanung, Personalplanung und Beschaffungs- oder Lagerhaltungsplanung bez¨ uglich der Werkstoffe gesprochen.
2.2 Grundlagen der Ablaufplanung
11
zeitlich zugeordnet werden. Beanspruchen gleichzeitig mehrere Auftr¨age dieselbe Produktiveinheit, ist dabei die Reihenfolge zu bestimmen, in der die Auftr¨age auf der Maschine bearbeitet werden m¨ ussen. Der Produktionsvollzug wird laufend u ¨berwacht (Kontrolle des Auftragsforschritts), indem das vorgegebene Soll“ mit dem in der Betriebsdatenerfassung festgestellten Ist“ verglichen ” ” wird. Bei Soll-Ist-Abweichungen m¨ ussen geeignete Maßnahmen zur Minderung der Abweichungen getroffen werden.14
2.2 Grundlagen der Ablaufplanung 2.2.1 Begriff und Aufgaben der Ablaufplanung In der Literatur zur Ablaufplanung im deutschen und anglo-amerikanischen Sprachraum gibt es begriffliche Uneindeutigkeiten im Zusammenhang mit der Feindisposition von freigegebenen Auftr¨agen. So gibt es einerseits verschiedene Begriffe mit ¨ahnlichen oder sogar gleichen Definitionen, andererseits werden unter demselben Begriff unterschiedliche Inhalte verstanden. Aufgrund der teilweise unterschiedlichen Terminologie ist es notwendig zu erl¨autern, was im weiteren Verlauf unter dem Begriff der Ablaufplanung verstanden wird. Im Folgenden wird unter der Ablaufplanung die Maschinenbelegungsplanung verstanden.15 Die beiden Begriffe werden daher auch synonym verwendet. Bei der Ablaufplanung geht es um die Planung der r¨aumlichen und zeitlichen Abl¨aufe von Produktionsprozessen.16 Es ist zu bestimmen, wann welcher Auftrag auf welcher Maschine zu bearbeiten ist. Die Zuordnung erfolgt dabei im Hinblick auf die optimale Erf¨ ullung vorgegebener Unternehmensziele, die mit Hilfe einer Zielfunktion abgebildet werden.17 Die Ablaufplanung setzt sich aus der Bearbeitungs-, der Reihenfolge- und der Terminplanung zusammen:18 14
vgl. Z¨apfel(1982); Domschke et al.(1997); Kistner/Steven(2001); Tempelmeier(2003); G¨ unther/Tempelmeier(2009). 15 Die hier verwendete Bedeutung der Ablaufplanung wird in der Literatur auch als Ablaufplanung im eigentlichen Sinne (i.e.S.) bezeichnet. Sie ist ein Teilbereich der Ablaufplanung im weiteren Sinne (i.w.S.). Die Ablaufplanung i.w.S. steht f¨ ur Produktionsprozess- oder Produktionsdurchf¨ uhrungsplanung und besch¨aftigt sich mit der zeitlichen, mengenm¨aßigen und r¨aumlichen Planung des Produktionsvollzugs. D. h., sie beinhaltet neben der Maschinenbelegungsplanung auch die Losgr¨oßenbestimmung, Durchlauf- und Kapazit¨atsterminierung. Vgl. Domschke et al.(1997), S. 29. 16 Vgl. Adam(1969); Seelbach(1975); Gutenberg(1983); Adam(2001). 17 Vgl. Abschnitt 2.3.3, S. 26. 18 Vgl. Zelewski(2008), S. 429ff.
12
2 Ablaufplanung • Bearbeitungsplanung Bei der Bearbeitungsplanung (Maschinenreihenfolgeplanung, Routing) stellt sich die Frage, in welcher Reihenfolge die einzelnen Operationen zur Fertigung eines Erzeugnisses abgearbeitet werden m¨ ussen.19 Dabei sind meistens gleichzeitig die Operationen bestimmten Maschinen zuzuordnen. Die so genannte Maschinenfolge gibt als Ergebnis die Reihenfolge an, in der ein Auftrag die Maschinen durchlaufen muss. Sie ist i. d. R. technologisch determiniert. • Reihenfolgeplanung Aufgrund einer m¨oglichen gleichzeitigen Beanspruchung derselben Maschinen durch verschiedene Auftr¨age entsteht eine Konkurrenz um die knappen Maschinenkapazit¨aten. Bei der Reihenfolgeplanung (Sequencing) ist daher f¨ ur jede Maschine festzulegen, in welcher Reihenfolge die Auftr¨age auf ihr zu bearbeiten sind. Dies gibt die so genannte Auftragsfolge einer Maschine wieder.20 • Terminplanung Im letzten Planungsschritt erfolgt eine Terminplanung (Scheduling, Feinplanung, Feinterminierung), indem die ermittelte Reihenfolge auf Kalenderzeiten bezogen wird. Dabei werden die Start- und Endzeitpunkte jeder einzelnen Bearbeitung eines Auftrags auf einer Maschine festgelegt.21
Wurden alle Planungsschritte durchlaufen, ergibt sich als Ergebnis ein Ablaufplan, der f¨ ur einen fest vorgegebenen Planungshorizont die zeitliche Einplanung aller Operationen wiedergibt. Mit den obigen Beschreibungen zusammenh¨angend wird in verschiedene Typen von Ablaufplanungsproblemen differenziert: Primale und duale Ablaufplanung In der Regel wird in der Ablaufplanung angenommen, dass eines der beiden im vorherigen Abschnitt beschriebenen Reihenfolgeplanungsprobleme schon gel¨ost ist und nur noch das jeweils andere Problem durch die Ablaufplanung zu l¨osen ist. Beim primalen Ablaufplanungsproblem ist f¨ ur jeden Auftrag die Maschinenfolge festgelegt. Das duale Ablaufplanungsproblem ist eher theoretischer Natur. Im Gegensatz zum primalen Problem ist die Auftragsfolge gegeben. Gesucht 19
Es handelt sich hierbei folglich – wie bei der zweiten Aufgabe – um eine Reihenfolgeplanungsproblem. Reihenfolgeprobleme – und damit Ablaufplanungsprobleme – sind kombinatorische Optimierungsprobleme. Bei dieser Art von Problemen steigt die Anzahl der zu u ufenden ¨berpr¨ L¨osungen exponentiell mit der Problemgr¨oße. Vgl. Domschke/Scholl(2008), S. 124 sowie Abschnitt 5.1 auf S. 91ff. 21 Dies setzt voraus, dass die Bearbeitungszeiten der Operationen bekannt sind. 20
2.2 Grundlagen der Ablaufplanung
13
sind die Maschinenfolgen der Auftr¨age mit den Anfangszeitpunkten der Operationen. Außerdem gibt es neben den reinen Ablaufproblemen auch gemischt primal-duale Probleme, bei denen Auftragsfolgen von einem Teil der Maschinen und Maschinenfolgen von einem Teil der Auftr¨age bekannt sind. Es m¨ ussen durch die Ablaufplanung die Auftragsfolgen aller Maschinen und Maschinenfolgen aller Auftr¨age gefunden sowie die Anfangszeitpunkte aller Operationen bestimmt werden.22 Deterministische und stochastische Ablaufplanung Anhand der Sicherheit entscheidungsrelevanter Daten wird in deterministische und stochastische Ablaufplanungsprobleme differenziert. Im deterministischen Fall stehen zum Planungszeitpunkt die entscheidungsrelevanten Gr¨oßen fest. Das bedeutet, dass Anzahl und Eigenschaften der Maschinen sowie die Anzahl und Bereitstellungszeitpunkte der Auftr¨age f¨ ur die Planperiode bekannt sind. Außerdem ist bekannt, auf welchen Maschinen die Auftr¨age bearbeitet werden m¨ ussen und wie lange die Bearbeitungszeiten auf den einzelnen Maschinen sind. Im stochastischen Fall ist mindestens eines dieser entscheidungsrelevanten Daten unsicher, d. h. nur im statistischen Sinne bekannt. Die Unsicherheiten, mit der die Daten behaftet sind, werden durch die Verwendung von empirischen H¨aufigkeitsverteilungen ber¨ ucksichtigt, die aus Beobachtungen der vergangenen Perioden abgeleitet werden.23 Statische und dynamische Ablaufplanung Sind alle Auftr¨age zu Beginn des Planungszeitraums verf¨ ugbar und im Zeitablauf unver¨anderlich, handelt es sich um ein statisches Problem. Im Gegensatz dazu sind bei einem dynamischen Problem die Auftragsfreigabezeitpunkte unterschiedlich und/oder k¨onnen sich im Zeitablauf ver¨andern. In aller Regel treten die hier beschriebenen Differenzierungsm¨oglichkeiten in den Kombinationen primal statisch-deterministisch und primal dynamisch-stochastisch auf. Die betriebliche Realit¨at erfordert dynamisch-stochastische Modelle, weil es im Normalfall laufend Ver¨anderungen durch neue Auftragseing¨ange oder St¨orungen im Maschinenbetrieb gibt. Dadurch ist ein bestimmter Ablaufplan h¨aufig sehr schnell veraltet. Es w¨are folglich eine dynamische Planung erforderlich, die z. B. die neu ankommenden Auftr¨age sofort gleichrangig mit bereits in Bearbeitung befindlichen Auftr¨agen einplant. Es ist aber unzweckm¨aßig, mit jeder Ver¨anderung sofort wieder einen neuen Ablaufplan zu berechnen, da die Planungsfrequenz sonst zu hoch wird.24 Die Problematik wird in der betrieblichen 22
Zu den Begriffen vgl. Hoss(1965). Stochastische Einfl¨ usse k¨onnen z. B. Verz¨ogerungen in vorherigen Stufen, Maschinen- bzw. Personalausf¨alle, Konstruktionsfehler, falsch eingesch¨atzte Bearbeitungszeiten, ver¨anderte Auftragslagen, notwendige Nacharbeiten oder gar Ausschuss sein. 24 Vgl. Kurbel/Meynert(1987), S. 11. 23
14
2 Ablaufplanung
Praxis daher meist dadurch umgangen, dass von Modellen zur Ablaufplanung mit dynamisch-stochastischen Zustand Abstand genommen und daf¨ ur theoretisch von einem statisch-deterministischen Zustand ausgegangen wird. Die Produktionszeit wird in einzelne Planungszeitr¨aume unterteilt, f¨ ur die jeweils ein Ablaufplan erstellt wird. Die Betriebe k¨onnen sich in der Weise behelfen, dass f¨ ur die potentiell eintretenden St¨orungen und hinzukommenden Auftr¨age im vorhinein ein Puffer in der Planung einger¨aumt wird und die Planung so ein dynamisches Element beinhaltet.25 Eine andere M¨oglichkeit ist, die Auftr¨age, die erst nach der letzten Planerstellung eintreffen, bis zur n¨achsten Ablaufplanung f¨ ur die Folgeperiode zu sammeln und erst dann mit zu ber¨ ucksichtigen. Im Folgenden werden nur statisch-deterministische, (rein) primale Ablaufplanungsprobleme betrachtet, bei denen die Bearbeitungsplanung aufgrund technologischer Determiniertheit entf¨allt und nur noch die Reihenfolge- und Terminplanung relevant sind.
2.2.2 Definitionen und Notationsvereinbarungen Zur eindeutigen Festlegung der in dieser Arbeit ¨ofter vorkommenden Bezeichnungen sollen an dieser Stelle vorab einige Definitionen und Notationsvereinbarungen erfolgen.26 Wie im Abschnitt 2.2.1 beschrieben, ist die optimale Einplanung von Auftr¨agen, die auf einer Anzahl spezifizierter Maschinen zu bearbeiten sind, Gegenstand der Ablaufplanung. Elemente der primal, statisch-deterministischen Ablaufplanung sind neben einer bekannten Zielfunktion, ein gegebener Auftragsbestand und ein gegebener Maschinenpark. Der Auftragsbestand K besteht aus K Auftr¨agen (K = {1; . . . ; K}). Ein Auftrag k (k = 1, 2, . . . , K) ist ein Produkt oder eine festgelegte Menge identischer Produkte (Los).27 Ein Auftrag k muss entweder auf einer Maschine oder auf mehreren Maschinen bearbeitet werden.28 Die Menge Mk gibt alle Mk Maschinen an, auf denen der Auftrag k bearbeitet wird. Die verf¨ ugbaren und mit ihrer Funktionsweise erfassten M Maschinen m (m = 1, 2, . . . , M) bilden den Maschinenbestand M (M = {1; . . . ; M}). Die Menge Km gibt alle Km Auftr¨age 25
Vgl. Fischer(1990). Weitere Vereinbarungen werden bei Bedarf an den entsprechenden Stellen getroffen. 27 Die Begriffe Auftrag, Job, Produkt, Produkteinheit und Los werden im weiteren Verlauf der Arbeit synonym verwendet. 28 Im Folgenden wird in Anlehnung an die Definition von Seelbach(1975), S. 14 unter einer Maschine eine Einrichtung verstanden, die in der Lage ist, eine bestimmte Bearbeitung ” auszuf¨ uhren“. F¨ ur den Begriff Maschine werden synonym die Ausdr¨ ucke Betriebsmittel oder Operativeinheit verwendet. Maschinen von der gleichen Art werden in einer Produktionsstufe zusammengefasst. 26
2.2 Grundlagen der Ablaufplanung
15
an, die auf der Maschine m bearbeitet werden m¨ ussen. Hier wird die Vereinbarung getroffen, dass zu jedem Zeitpunkt jede Maschine h¨ochstens einen Auftrag bearbeiten kann, und jeder Auftrag auf h¨ochstens einer Maschine bearbeitet werden kann. Die Bearbeitung des Auftrags k an einer bestimmten Maschine m heißt Operation29 Okm .30 Da die Indizierung mit (km) nicht zum Ausdruck bringt, an welcher Stelle der Maschinenfolge eines Auftrags eine bestimmte Maschine m kommt, wird im Folgenden eine modifizierte Form verwendet: [m] bringt die m-te-Maschine in der Maschinenfolge eines Auftrags k zum Ausdruck.31 Die Maschinenfolge von Auftrag k lautet also [ ]k = ([1]k , . . . , [m]k , . . . , [Mk ]k ) . Nachdem Auftrag k auf Maschine [1]k bearbeitet wurde, wird er auf [2]k bearbeitet, usw. bis die letzte Operation von k erfolgt. Die Problemdaten ordnen Maschine [m]k die konkreten Maschinen m zu. Analog dazu wird die Position eines Auftrags in der zu planenden Auftragsfolge der Maschinen durch den modifizierten Index [k] angegeben. Die Operation O[k]m entspricht der k-ten Operation auf Maschine m. Es wird der Auftrag bearbeitet, der an k-ter Stelle der Auftragsfolge von m steht.32 Okm : Auftrag k auf Maschine m Ok[m] : Auftrag k auf der Maschine, die an m-ter Stelle der Maschinenfolge des Auftrages k t¨atig wird O[k]m : Auftrag, der an k-ter Stelle der Auftragsfolge der Maschine m eingeordnet ist Ist z. B. die Maschinenfolge f¨ ur den Auftrag k = 1 technologisch so vorgegeben, dass dieser Auftrag zun¨achst auf Maschine m=1 und im Anschluss auf m = 4 zu bearbeiten ist, gilt f¨ ur die einzelnen Operationen: O1[1] = O11 und O1[2] = O14 . Ein Auftrag k besteht aus Ok = Mk Operationen, die in der Menge Ok = {Ok[1] ; . . . ; Ok[Mk ] } angegeben werden.33 Auf Maschine m werden Om = Km 29
Im Folgenden werden f¨ ur den Begriff Operation synonym die Ausdr¨ ucke Arbeitsgang und Bearbeitung verwendet. 30 Es wird davon ausgegangen, dass jeder Auftrag k h¨ochstens einmal auf jeder Maschine m bearbeitet wird. W¨ urde k mehrfach auf m bearbeitet werden, m¨ usste neben den Indizes f¨ ur Auftrag und Maschine noch ein weiterer Index f¨ ur die Operation eines Auftrags eingef¨ uhrt werden. 31 Der Index [m] ist also nur in Zusammenhang mit einem Auftrag k eindeutig. 32 Vgl. Seelbach(1975), S. 19ff. 33 Es wird davon ausgegangen, dass jeder Auftrag maximal einmal auf jeder Maschine bearbeitet wird (vgl. Fußnote (30) auf S. 15).
16
2 Ablaufplanung
Operationen ausgef¨ uhrt. Sie bilden die Menge Om = {O[1]m ; . . . ; O[Km ]m }. Die Menge aller Operationen O kann als Vereinigungsmenge dargestellt werden: O=
K k=1
Ok =
M
Om
m=1
Die Arbeitsganganzahl des Auftragsbestandes ist O. Die Menge aller Operationen O l¨asst sich im zeitlichen Ablauf der Maschinenbelegung zudem folgendermaßen aufteilen: OSk : Menge aller Operationen des Auftrags k, die bereits stattgefunden haben ussen ONk : Menge aller Operationen des Auftrags k, die noch stattfinden m¨ mit Ok = OSk ∪ ONk und OSk : Anzahl Operationen des Auftrags k, die bereits stattgefunden haben ussen ONk : Anzahl Operationen des Auftrags k, die noch stattfinden m¨ OSm : Menge aller Operationen der Maschine m, die bereits stattgefunden haben ussen ONm: Menge aller Operationen der Maschine m, die noch stattfinden m¨ mit Om = OSm ∪ ONm und OSm : Anzahl Operationen der Maschine m, die bereits stattgefunden haben ussen ONm: Anzahl Operationen der Maschine m, die noch stattfinden m¨ Aufgrund der Maschinenfolgen eines Auftrags k bestehen Pr¨azedenzbeziehungen zwischen den einzelnen Operationen Ok des Auftrages: Okm1 ≺ Okm2 .34 Jeder Operation Okm ist eine Bearbeitungszeit35 pkm zugeordnet. Diese besagt, wie viel Zeit die Bearbeitung eines bestimmten Auftrags k auf einer bestimmur jede Operation ihren ten Maschine m beansprucht.36 Der Ablaufplan gibt f¨ Bearbeitungsstartzeitpunkt akm sowie ihren Bearbeitungsendzeitpunkt ekm an. F¨ ur einen Ablaufplan k¨onnen bestimmte Merkmalsauspr¨agungen37 definiert werden (vgl. dazu auch Tabellen 2.1 und 2.2 auf S. 19f.): 34
Auch zwischen den einzelnen Auftr¨agen k¨onnen Pr¨azedenzbeziehungen bestehen. k1 ≺ k2 bildet ab, dass Auftrag k1 Vorg¨anger von Auftrag k2 ist. Dies ist h¨aufig der Fall, wenn die Auftr¨age aus jeweils nur einem einzelnen Arbeitsgang bestehen, wie es z. B. bei der Projektplanung oft der Fall ist. Im Folgenden wird dies nicht weiter verfolgt. 35 Im Folgenden werden f¨ ur den Begriff Bearbeitungszeit synonym die Ausdr¨ ucke Prozess- und Operationszeit verwendet. 36 Im Folgenden enth¨alt die Bearbeitungszeit keine Sortenwechsel- oder Umr¨ ustzeiten sowie keine Transportzeiten. 37 Die erl¨auterten Begriffe werden in der Literatur nicht immer einheitlich verwendet. Da von einem deterministisch-statischen Ablaufplanungsproblem ausgegangen wird, wird vorausgesetzt, dass alle zur Berechnung der Merkmalsauspr¨agungen n¨otigen Informationen gegeben sind. Im Folgenden wird von Transportzeiten abgesehen, da sie im weiteren Verlauf der Arbeit nicht ben¨otigt werden.
2.2 Grundlagen der Ablaufplanung
17
• Bearbeitungszeit Die Bearbeitungszeit kann aus Auftrags- sowie aus Maschinensicht angegeben werden. Pk gibt die gesamte effektive Bearbeitungszeit an, w¨ahrend der an k gearbeitet wird. Sie berechnet sich aus den Bearbeitungszeiten pkm von k auf den relevanten Maschinen Mk . Daraus l¨asst sich die gesamte Bearbeitungszeit des Auftragsbestandes P K ableiten, indem die Bearbeitungszeiten aller Auftr¨age addiert werden. Pm gibt analog die gesamte effektive Bearbeitungszeit an, die Maschine m an den Km Auftr¨agen arbeitet. P M ist die gesamte Arbeitszeit, w¨ahrend der die Auftr¨age alle Maschinen belegen. Sie gibt die Kapazit¨atsausnutzung an und ist mit der gesamten Arbeitszeit P K identisch, die an allen Auftr¨agen von den Maschinen geleistet werden. • Wartezeit Ein Auftrag k muss vor der Bearbeitung auf der Maschine m, auf der er gem¨aß seiner Maschinenfolge als n¨achstes bearbeitet werden muss, warten, wenn diese Maschine durch einen anderen Auftrag belegt ist. Die Zeitspanne von der Beendigung der Operation auf der Vorg¨angermaschine bzw. seinem Bereitstellungszeitpunkt bis zum Beginn der Operation heißt Wartezeit wkm .38 Die gesamte Wartezeit Wk des Auftrags k berechnet sich aus den einzelnen Wartezeiten vor den zu belegenden Maschinen. Die Gesamtwartezeit des Auftragsbestandes heißt W . • Durchlaufzeit Unter der Durchlaufzeit Dk des Auftrags k wird die Zeitspanne vom Zeitpunkt der Bereitstellung A∗k bis zur Fertigstellung des Auftrags verstanden. Sie berechnet sich aus der Summe der Warte- und Bearbeitungszeiten des Auftrags k. DK gibt die Gesamtdurchlaufzeit des Auftragsbestandes als Summe der Durchlaufzeiten aller Auftr¨age an und sagt damit aus, wie lange dieser Auftragsbestand die Kapazit¨at bindet. • Verweilzeit Die Verweilzeit Vk ist die Zeitspanne von Beginn der ersten Operation bis zum Ende der letzten Operation des Auftrags. • Fertigstellungszeit, Zykluszeit Die Fertigstellungszeit Fk setzt im Gegensatz zur Durchlaufzeit nicht beim Freigabezeitpunkt A∗k , sondern beim Beginn des Planungszeitraums t0 an. Sind keine Auftragsfreigabezeitpunkte gegeben, entspricht die Fertigstellungszeit der Durchlaufzeit. Der Ablaufplan liefert die Fertigstellungszeitpunkte ekm der Auftr¨age k an den Maschinen m. Die Beendigung der letzten zu bearbeitenden Operation von k (ek[Mk ] ) gibt das Ende der 38
Eventuell n¨otige R¨ ustzeiten z¨ahlen zur Wartezeit.
18
2 Ablaufplanung Bearbeitung von k auf allen Maschinen m an. Die Zeit vom Beginn des Planungszeitraums t0 bis zur Fertigstellung von Auftrag k heißt die Fertigstellungszeit Fk . Daraus l¨asst sich die gesamte effektive Fertigstellungszeit F berechnen. Das ist die Zeit, die ben¨otigt wird, um den Auftragsbestand vollst¨andig zu bearbeiten. Interessant ist auch die Anwendung des Maximumkriteriums, die den k¨ urzesten Ablaufplan angibt und die Zykluszeit liefert. Die Zykluszeit Z ist die gr¨oßte Fertigstellungszeit Fk aller Auftr¨age. Sie gibt die Zeitspanne von Beginn des Planungszeitraums bis zu Beendigung der zuletzt ausgef¨ uhrten Operation an, d. h., den Zeitraum, der ben¨otigt wird, um alle Auftr¨age komplett zu bearbeiten. • Leerzeit ¨ Das Aquivalent zur Wartezeit des Auftrags ist die Leerzeit39 einer Maschine Lm . lkm ist die Zeitspanne zwischen Beendigung der letzten Operation und Beginn des potentiellen R¨ ustvorgangs bzw. der Bearbeitung von k auf m.40 Die Summe aller Leerzeiten vor der Bearbeitung eines Auftrags ist die Leerzeit Lm von Maschine m. Die Gesamtleerzeit aller Maschinen heißt L. • Belegungszeit Die Belegungszeit Bm einer Maschine m ist das Analogon zur Durchlaufzeit eines Auftrags k. Sie berechnet sich aus der Summe der Bearbeitungsund Leer- sowie eventueller R¨ ustzeiten und gibt die Zeitspanne an, w¨ahrend der die Maschine m im Produktionsprozess eingesetzt ist und von den vorhandenen Auftr¨agen belegt ist. Die Gesamtbelegungszeit BM ist der Zeitraum vom Beginn des Planungszeitraums t0 bis zum Abschluss der letzten Operation auf allen M Maschinen. • R¨ ustzeit Die R¨ ustzeit rzkm ist die Zeit, in der die Maschine m zur Bearbeitung eines Auftrages k vorbereitet werden muss. Rzk bzw. Rzm geben die Summe aller R¨ ustzeiten eines Auftrags k bzw. einer Maschine m an. Die gesamte R¨ ustzeit des Auftragsbestandes ist RZ. Zur Bestimmung der R¨ ustzeiten wird i. d. R. eine Bin¨arvariable ben¨otigt, die zum Ausdruck bringt, ob ein ustvorg¨ange an, die R¨ ustvorgang n¨otig ist.41 AnzRV gibt die Anzahl R¨ zur Bearbeitung des Auftragsbestandes n¨otig sind.
39
Die Leerzeit wird in der Literatur auch oft als Stillstandszeit bezeichnet. Der Begriff der Stillstandszeit wird im Laufe der Arbeit aber f¨ ur den Sachverhalt der Nichtverf¨ ugbarkeit einer Maschine im Planungszeitraum verwendet. 40 Diese Definition erfolgt in Anlehnung an Seelbach(1975), S. 35, gem¨aß derer die Leerzeit einer Maschine mit letzten Operation auf der Maschine endet. Dies wird in der Literatur nicht einheitlich gehandhabt. So z¨ahlt z. B. in Conway et al.(1967), S. 14f. und Gutenberg(1983), S. 380ff. der Zeitraum nach Abschluss der letzten Operation der Maschine bis zur Zykluszeit ebenfalls zur Leerzeit. 41 R¨ ustzeiten k¨onnen von verschiedenen Einflussfaktoren abh¨angen. Dies spiegelt sich in der Indizierung wider: nur maschinenabh¨angig: rzm , auftrags- und maschinenabh¨angig: rzkm ; nur
2.2 Grundlagen der Ablaufplanung
19
• Terminabweichung Ist f¨ ur Auftrag k ein Fertigstellungstermin Fk∗ (Fk∗ ≥ 0) gegeben, kann der unschten Fertigtats¨achliche Fertigstellungszeitpunkt Fk von diesem gew¨ stellungstermin abweichen. Die Differenz (Ist von Soll) von beiden heißt uh (Fk∗ > Fk , T A− Terminabweichung T Ak . Die Fertigstellung kann zu fr¨ k – – TerTerminunterschreitung, Verfr¨ uhung) oder zu sp¨at (Fk∗ < Fk , T A+ k min¨ uberschreitung, Versp¨atung) erfolgen. T A+ und T A− geben die Gesamttermin¨ uber- bzw. -unterschreitungszeit des Auftragsbestandes an, T A die Gesamtterminabweichung. Da sich in der Summe die Terminabweichungen der einzelnen Auftr¨age gegenseitig aufrechnen k¨onnen, ist es besser, die absolute Abweichung |T A| oder die quadrierte Abweichung T A2 zu betrachten, die Abweichungen je nach Gr¨oße st¨arker bestraft. Wird die Anzahl der Abweichungen als Zielkriterium betrachtet, wird eine Bin¨arvariable uk ben¨otigt, die als Einheitsstrafe fungiert, d. h., z. B. auf 1 gesetzt wird, wenn eine Versp¨atung (Fk > Fk∗ ) vorliegt (0 sonst). uber- bzw. AnzT A+ und AnzT A− geben jeweils die Anzahl der Termin¨ -unterschreitungen des Auftragsbestandes an. • Kapazit¨ atsauslastung Die Kapazit¨atsauslastung KA des Maschinenparks (einer Maschine m) berechnet sich aus dem Verh¨altnis der Gesamtbearbeitungszeit zur Gesamtbelegungszeit (der Maschine m).42 Durchlaufzeit Dk = (pkm + wkm ) = Fk − A∗k m∈Mk K
DK =
Dk =
Bm =
(pkm + lkm )
k∈Km M
BM =
Bm =
m=1
Ferstigstellungszeit
M
(pkm + lkm )
m=1 k∈Km
Fk = Dk + A∗k K K F = Fk = (Dk + A∗k ) k=1
Verweilzeit
(pkm + wkm )
k=1 m∈Mk
k=1
Belegungszeit
K
k=1
Z = Fmax = max{F1 , . . . , FK } Vk = ek[Mk ] − ak[1]
Tabelle 2.1: Merkmalsauspr¨agungen von Ablaufpl¨anen – Teil 1 auftragsabh¨angig: rzk , reihenfolgeabh¨angig: rzk1 ,k2 , rzk1 ,k2 ,m . Analog dazu ist die Bin¨arvariable zu deklarieren. So gibt z. B. bei reihenfolge- und maschinenabh¨angigen R¨ ustzeiten die Bin¨arvariable yk1 ,k2 ,m = 1 an, dass Auftrag k1 Vorg¨anger von k2 auf m ist und daher ein R¨ ustvorgang M n¨otig ist (0 sonst). KAm PM Pm 42 = ; analog KAm = KA = m=1 . M BM Bm
20
2 Ablaufplanung Bearbeitungszeit
Pk =
pkm
m∈Mk K
PK =
k=1
Pm =
K
Pk = pkm
k∈Km M
PM =
Pm =
m=1
Wartezeit
m∈Mk K
W =
pkm )
m∈Mk
wkm
k=1 m∈Mk
lkm
k∈Km M
RZ = = Terminabweichung
M Lm = lkm m=1 m=1 k∈Km Rzk = rzkm Rzm = rzkm
L= R¨ ustzeit
K
Wk =
Lm =
pkm
wkm = Fk − (A∗k +
k=1
Leerzeit
M m=1 k∈Km
Wk =
pkm
k=1 m∈Mk
m∈Mk M
Rzm =
m=1 M
K
k∈Km
Rzk
k=1
m=1 k∈Km T Ak = Fk − Fk∗ K
TA =
K
rzkm =
rzkm
k=1 m∈Mk
T Ak
k=1
Termin¨ uberschreitung
∗ T A+ k = max{0, Fk − Fk } K K T A+ = T A+ max{0, Fk − Fk∗ } k = k=1
Terminunterschreitung
Kapazit¨atsauslastung
k=1
∗ T A− k = max{0, Fk − Fk } K K T A− = T A− max{0, Fk∗ − Fk } k = k=1 k=1 pkm Pm k∈K KAm = = m Bm (pkm + lkm ) k∈Km M
pkm PM m=1 k∈Km = M KA = BM (pkm + lkm ) m=1 k∈Km
Tabelle 2.2: Merkmalsauspr¨agungen von Ablaufpl¨anen – Teil 2
2.3 Klassifikation von Ablaufplanungsproblemen
21
2.3 Klassifikation von Ablaufplanungsproblemen Aufgrund der Vielzahl an Parametern und Zielen, die sich kombinieren lassen, ¨ k¨onnen viele Scheduling-Modelle unterschieden werden. Um einen Uberblick zu behalten, wurden verschiedene Klassifikationsschmata eingef¨ uhrt.43 In der Literatur hat sich derzeit das Schema von Graham et al. durchgesetzt.44 In Anlehnung daran erfolgt im Folgenden eine Klassifikation, wobei die g¨angigen Charakteristika sowie die f¨ ur den weiteren Verlauf der Arbeit in Kapitel 3 relevanten Parameter dargestellt werden. Das Schema unterscheidet hinsichtlich der drei Hauptkriterien Maschineneigenschaften α, Auftragseigenschaften β und Zielkriterien γ. Der jeweilige Problemtyp wird durch Angabe des entsprechenden Parameterwertes in Form des Tripels α|β|γ angegeben. Jedes Feld kann mehrere, durch Kommata getrennte Eintr¨age haben, wenn das entsprechende Hauptkriterium Unterkriterien besitzt. Die Felder bzgl. der Maschinen- und Auftragseigenschaften k¨onnen leer sein; das bedeutet, dass das Problem die Standardeigenschaft besitzt, die durch das Symbol ∅ gekennzeichnet wird.45
2.3.1 Maschinencharakteristika α An der ersten Stelle des Tripels werden die Maschinen anhand zweier Parametern beschrieben: Maschinenumgebung α1 α1 beschreibt die Maschinenart und -anordnung. Es wird zwischen der einstufigen und der mehrstufige Fertigung unterschieden. Bei der einstufigen Fertigung (α1 ∈ {∅, P, Q, R}) besteht jeder Auftrag aus genau einem Arbeitsgang. Die Auftr¨age m¨ ussen entweder alle auf einer einzigen Maschine bearbeitet werden oder es stehen mehrere parallele Maschinen zur Verf¨ ugung. Im zweiten Fall muss neben dem Scheduling-Problem zus¨atzlich ein Zuordnungsproblem betrachtet werden. In Abh¨angigkeit von der Fertigungsgeschwindigkeit wird in drei Problemtypen (P, Q, R) unterschieden. 43
Vgl. Conway et al.(1967); Holloway et al.(1979). Vgl. Graham et al.(1979), S. 288ff. Vgl. dazu auch Rinnooy Kan(1976), S. 28f.; Lenstra et al.(1977), S. 283ff.; Lawler et al.(1989), S. 6ff; Bla˙zewicz et al.(2000), S. 37ff., insb. S. 46ff.; Eiselt/Sandblom(2004), S. 340ff.; Brucker(2005), S. 1ff. 45 ∅ wird in der Problemstellung weggelassen. 44
22
2 Ablaufplanung • α1 = ∅: Einmaschinenproblem Beim Einmaschinenproblem α1 = ∅ steht nur eine einzige Maschine zur Bearbeitung aller Operationen zur Verf¨ ugung (pk1 = pk ). • α1 = P : identische parallele Maschinen“ ” Die zur Verf¨ ugung stehenden Maschinen sind alle identisch und k¨onnen gleichzeitig (parallel) eingesetzt werden. Da die Maschinen aufgrund ihrer Identit¨at alle die gleiche Fertigungsgeschwindigkeit haben (skm := 1), ist die Bearbeitungszeit eines Jobs maschinenunabh¨angig: pkm = pk ∀m ∈ M. • α1 = Q: uniforme parallele Maschinen“ ” Alle zur Verf¨ ugung stehenden Maschinen sind gleichartig und k¨onnen gleichzeitig eingesetzt werden. F¨ ur jede Maschine ist eine individuelle Fertigungsgeschwindigkeit sm gegeben. Die Bearbeitungszeit eines Auftrages pk . berechnet sich damit aus dem Quotienten pkm = sm • α1 = R: heterogene parallele Maschinen“ ” Die zur Verf¨ ugung stehenden Maschinen k¨onnen zwar gleichzeitig eingesetzt werden, sind aber voneinander unabh¨angig. Die Fertigungsgeschwindigkeiten der einzelnen Maschinen unterscheiden sich damit f¨ ur verschiedene Auftr¨age (skm ) und somit k¨onnen die Bearbeitungszeiten von Mapk . schine zu Maschine und Auftrag zu Auftrag variieren: pkm = skm
Bei der mehrstufigen Fertigung (α1 ∈ {J, F, O, P F, F F (), F J()}) sind mehrere Arbeitsg¨ange pro Auftrag zugelassen, wobei an den einzelnen Maschinen jeweils nur spezifische Arbeitsg¨ange bearbeitet werden k¨onnen. Zwischen den Operationen eines Auftrags k¨onnen Vorrangbedingungen bestehen. Es wird in diesem Fall von Shop-Scheduling- oder auch kurz Shop-Problemen gesprochen. Analog zur einstufigen Fertigung kann zur Bearbeitung einer Operation Okm nicht nur einzelne Maschine, sondern eine Gruppe parallel nutzbarer Maschiugung stehen (Mkm = {1; . . . ; Mkm }). Jeder Operation nen Mkm ⊆ M zur Verf¨ uhren ist in diesem Fall genau eine Maschine m ∈ Mkm zuzweisen, die diese ausf¨ soll. Diese Festlegung einer Maschinenfolge stellt ein Zuordnungsproblem dar. Derartige Problemstellungen werden als flexible Shop-Probleme bezeichnet.46 46
Es kann sich dabei um sog. single purpose“ Maschinen, die nur eine Art von Operation ” ausf¨ uhren k¨onnen, oder Mehrzweckmaschinen ( multi purpose“) handeln, die mehrere Arten ” Fall werden flexible Shop-Probleme daher von Operationen ausf¨ uhren k¨onnen. Im zweiten in der Literatur – v. a. im Kontext von flexiblen Fertigungssystemen (FMS) – auch unter der Bezeichnung Shop-Probleme mit flexiblen Maschinen oder Mehrzweckmaschinen diskutiert. In der Klassifikation wird dies durch den Zusatz mit M P M (multi-purpose machines) gekennzeichnet. Vgl. u. a. Brucker/Schlie(1990); Jurisch(1992), S. 4ff.; Brucker(2004), S. 2 und S. 289ff.; Brucker/Knust(2006), S. 209ff. Ausf¨ uhrlich zu FMS vgl. Stecke/Suri(1985); Buzacott/Yao(1986); Kusiak(1986a); Kusiak(1986b); Stecke/Suri(1988); Kusiak/Wilhelm(1989);
2.3 Klassifikation von Ablaufplanungsproblemen
23
Die g¨angigsten Maschinenanordnungen bei einer mehrstufigen Fertigung sind: • α1 = J: Job-Shop (Werkstattfertigung, Verrichtungsprinzip) F¨ ur jeden Auftrag ist eine Reihenfolge von Maschinen gegeben, in der die einzelnen Operationen dieses Auftrags abgearbeitet werden m¨ ussen. Die Maschinenfolgen der Auftr¨age sind in der Regel unterschiedlich. Ein Auftrag kann eine Maschine auch auslassen oder auf einer Maschine mehrmals bearbeitet werden.47 • α1 = F : Flow-Shop (Fließfertigung, Reihenfertigung) Jeder Auftrag durchl¨auft alle Maschinen genau einmal (Ok = M ∀k) in einer gegebenen und f¨ ur alle Auftr¨age identischen Reihenfolge. • α1 = O: Open-Shop Jeder Auftrag durchl¨auft alle Maschinen genau einmal. (Ok = M ∀k). Die Reihenfolge, in der die Operationen eines Auftrags an den Maschinen bearbeitet wird, ist beliebig. • α1 = P F : Permutations-Flow-Shop Hierbei handelt es sich um ein spezielles Flow-Shop-Problem, bei dem die Auftr¨age an jeder Maschine in derselben Reihenfolge bearbeitet werden, d. h., die Auftragsfolgen der Maschinen sind identisch. • α1 = F F (): Flexibler Flow-Shop Das flexible Flow-Shop-Problem48 besteht aus einer Reihe von Fertigungsstufen. Bei mindestens einer Fertigungsstufe stehen mehrere Maschinen parallel zur Verf¨ ugung. In jeder Fertitungsstufe kann ein Auftrag an einer beliebigen Maschine dieser Fertigungsstufe bearbeitet werden. In Abh¨angigkeit von der Art der Parallelit¨at ist α1 ∈ {F F (P ), F F (Q), F F (R)}. • α1 = F J(): Flexibler Job-Shop ur die Bearbeitung von minBeim flexiblen Job-Shop-Problem49 steht f¨ destens einer Operation nicht nur eine, sondern eine gegebene Menge an parallel nutzbaren Maschinen zur Verf¨ ugung. Die Operation kann dabei an einer beliebigen Maschine der jeweiligen Gruppe bearbeitet werden. In Abh¨angigkeit von der Parallelit¨at ist α1 ∈ {F J(P ), F J(Q), F J(R)}. Tempelmaier/Kuhn(1993); Reinhardt(2000); G¨ unther/Tempelmeier(2009), S. 107ff. und 250ff. 47 Zwei aufeinander folgende Operationen m¨ ussen aber auf unterschiedlichen Maschinen bearbeitet werden. Diese Problemstellung wird allerdings, wie bereits erw¨ahnt, im Rahmen der Arbeit nicht weiter betrachtet. 48 Dies stellt eine Verallgemeinerung des Flow-Shop-Problems dar, d. h., alle Auftr¨age durchlaufen die Fertigungsstufen in derselben Reihe. 49 Als Verallgemeinerung des Job-Shop-Problems k¨onnen auch beim flexiblen Job-Shop-Problem die Auftr¨age unterschiedliche Maschinenfolgen haben.
24
2 Ablaufplanung
Maschinenanzahl α2 α2 gibt im Fall der einstufigen Fertigung an, wie viele Maschinen zur Verf¨ ugung stehen, und im Fall der mehrstufigen Fertigung, wie viele Fertigungsstufen zu durchlaufen sind: • α2 = ∅: Die Anzahl ist beliebig. Die variable Anzahl ist als das Ergebnis eines Algorithmus zur L¨osung des betreffenden Ablaufplanungsproblems aufzufassen. • α2 = MF: Die Anzahl ist mit MF St¨ uck fest vorgegeben.
2.3.2 Auftragscharakteristika β Der zweiten Eintrag des Tripels informiert u ¨ber die Auftr¨age, die sich hinsichtlich verschiedener Merkmale unterscheiden. Im Folgenden werden die Eigenschaften der Auftr¨age in Untergruppen unterteilt und mit β = β1 , . . . , β10 bezeichnet. • β1 ∈ {∅, K}: Auftragsanzahl Die Anzahl der zu bearbeitenden Auftr¨age ist entweder konstant (K St¨ uck) oder beliebig (∅). • β2 ∈ {∅, A∗k , nzkm }: Freigabetermin und Nachlaufzeit Es kann (unterschiedliche) Freigabetermine A∗k und/oder Nachlaufzeiten ur alle Auftr¨age k geben. ∅ bedeutet, dass alle Auftr¨age am Annzkm 50 f¨ fang des Planungszeitraums zur Verf¨ ugung stehen und keine Nachlaufzeiten zu ber¨ ucksichtigen sind. ∗ , T}: Fertigstellungstermin • β3 ∈ {∅, Fk∗ , F k Ein Fertigstellungstermin, auch Liefertermin genannt, kann vorgegeben ∗ bringt zum Ausdruck, dass ein Uber¨ sein (Fk∗ ) oder nicht ∅. β3 = F k schreiten des Termins zur Unzul¨assigkeit f¨ uhrt. M¨ ussen alle Auftr¨age innerhalb des Planungshorizontes fertig gestellt werden, ist β3 = T. • β4 ∈ {∅, Ok ≤ Omax }: Maximale Arbeitsganganzahl in einer Job-ShopUmgebung Dieser Parameter gibt die maximale Anzahl an Operationen Omax = maxk Ok an, die alle Auftr¨age des Ablaufplanungsproblems zu durchlaufen haben. ∅ dr¨ uckt aus, dass die Anzahl der f¨ ur Auftrag k vorgegebenen Arbeitsg¨ange variabel ist. 50
Die Nachlaufzeiten k¨onnen auch maschinen- und/oder auftragsunabh¨angig sein: nzk , nzm , nz.
2.3 Klassifikation von Ablaufplanungsproblemen
25
• β5 ∈ {∅, pmtn}: Unterbrechbarkeit der Operation Der Parameterwert pmtn beschreibt die Zul¨assigkeit der Unterbrechung (preemption) einer Operation (β5 = ∅ sonst). • β6 ∈ {∅, pkm , pk , . . . }: M¨ogliche Bearbeitungszeiten der Auftr¨age Der Wertebereich der Bearbeitungszeiten kann auf verschiedene Weise eingeschr¨ankt werden. So k¨onnen z. B. alle Operationen eine einheitliche Bearbeitungszeit p besitzen (β6 = pkm = p bzw. β6 = pk = p). Die Bearbeitungszeiten aller Operationen k¨onnen aber auch auf ein Wertintervall zwischen pu und po (β6 = (pu < pkm ≤ p0 )) oder auf eine Wertemenge PZ beschr¨ankt sein (β6 = (pkm ∈ PZ). Falls beliebige Bearbeitungszeiten zugelassen sind, ist β6 ∈ {pkm }. • β7 ∈ {∅,prec}: Reihenfolgebeziehungen prec bedeutet, dass zwar Reihenfolgebeziehungen zwischen verschiedenen Auftr¨agen zugelassen sind, aber keine weitergehenden Anforderungen an die Art dieser Reihenfolgebeziehung gestellt werden.51 ∅ bedeutet, dass keine Reihenfolgebeziehungen spezifiziert sind.52 • β8 ∈ {∅, rzkm , rzk1 k2 , rzk1 k2 m , rzpf1 pf2 , rzpf1 pf2 m }: R¨ ustzeiten (bzw. -kosten) R¨ ustzeiten fallen an, wenn Maschinen f¨ ur die Bearbeitung bestimmter Operationen vorbereitet werden m¨ ussen. ∅ bedeutet, dass keine R¨ ustzeiten zu ber¨ ucksichtigen sind. Sind R¨ ustzeiten zu ber¨ ucksichtigen, k¨onnen sie von dem Auftrag k (rzk ), der Maschine m (rzm ) oder beidem (rzkm ) abh¨angen. Sind die R¨ ustzeiten reihenfolgeabh¨angig, k¨onnen sie nur von den Auftr¨agen (rzk1 k2 ) oder von den Auftr¨agen und von der jeweils betrachteten Maschine (rzk1 k2 m ) abh¨angen. K¨onnen verschiedene Auftr¨age zu Auftragsfamilien (pf ) zusammengefasst werden, deren R¨ ustzeiten identisch sind, ist β8 = rzpf1 pf2 bzw. rzpf1 pf2 m . • β9 ∈ {∅,breakdown,azm }: Unterbrechbarkeit der Maschinen F¨ ur die Bearbeitung der Auftr¨age stehen die Maschinen entweder ununterbrochen (∅) oder nicht ununterbrochen (breakdown) zur Verf¨ ugung.53 51
Sind Reihenfolgebeziehungen genauer spezifiziert, kann weiter in tree, in − tree, out − tree, chains, uan unterschieden werden. Ausf¨ uhrlich dazu vgl. Bla˙zewicz et al.(1983), S. 22f. 52 Pr¨azedenzbeziehungen zwischen Auftr¨agen finden sich vor allem bei Problemen der Projektplanung. Projekte sind im Gegensatz zu den im Rahmen der Arbeit betrachteten immer wiederkehrenden Ablaufplanungsproblemen insbesondere durch ihre Einmaligkeit gekennzeichnet. Dennoch besteht eine große Verwandtschaft, so ist z. B. das Job-Shop-SchedulingProblem als ressourcenbeschr¨anktes Projektplanungsproblem mit erneuerbaren Ressourcen formulierbar. Vgl. Baker(1974), S. 268; Morton/Pentico(1993), S. 463f.; Hartmann(1999), S. 24. 53 Hiermit sind nicht zuf¨allige Maschinenausf¨alle (z. B. durch Defekte), sondern geplante Ausfallzeiten gemeint, wie sie z. B. durch Wartungsarbeiten oder einen Schichtbetrieb entstehen k¨onnen.
26
2 Ablaufplanung Wenn nach dem Stillstand einer Maschine m eine Anlaufzeit z. B. f¨ ur Aufw¨armprozesse n¨otig ist, ist β9 = azm . • β10 ∈ {∅, res λσρ}: Ressourcen Sind zus¨atzliche Ressourcen zu ber¨ ucksichtigen (res), k¨onnen diese n¨aher spezifiziert werden: λ gibt die Anzahl zus¨atzlicher Ressourcentypen an, σ die verf¨ ugbare Menge dieser Ressourcen und ρ eine obere Grenze der Ressourcenbeanspruchung durch die Operationen.54 Ansonsten nimmt der β10 den Wert ∅ an.
2.3.3 Zielkriterien γ An der letzten Stelle des Tripels steht das Zielkriterium55 , nach dem gem¨aß der unternehmerischen Zielsetzung optimiert wird. Die Quantifizierung der unternehmerischen Zielsetzung erfolgt h¨aufig mit Hilfe der in Abschnitt 2.2.2 auf S. 16ff. dargestellten Eigenschaften eines Ablaufplans. Es kommen dabei meistens zwei Zielfunktionstypen zum Einsatz: Die Minimierung des Maximalwertes und die Minimierung der (gewichteten) Summe einer Gr¨oße u ¨ber alle Auftr¨age bzw. Maschinen hinweg. Weitere Verdichtungsformen, wie der Durchschnitt, die Varianz, die Anzahl betroffener Auftr¨age bzw. Maschinen oder das Heranziehen eines einzelnen Auftrags bzw. einer einzelnen Maschine (Engpass), kommen in der Literatur eher selten vor. In der Literatur werden zahlreiche Ziele der Ablaufplanung diskutiert.56 Dabei wird meistens in kosten-, zeit- (durchlaufzeitbezogene und terminorientierte) und kapazit¨atsorientierte Zielsetzungen unterschieden. Kostenorientierte Zielsetzungen Da mit dem Produktionsprogramm und den Losgr¨oßen die wesentlichen Erfolgsgr¨oßen bereits festgelegt sind, ist die Einflussm¨oglichkeit der Ablaufplanung auf die u ¨bergeordneten Erfolgsziele des Unternehmens nur gering.57 Die vom Ab54
λ, σ, ρ ∈ {·, x}; Auftrag k ben¨otigt eine bestimmte Menge einer Ressource w¨ahrend der Zeit seiner Bearbeitung. Vgl. Graham et al.(1979), S. 289 unter β2 . 55 Im Folgenden werden die Begriffe Zielkriterium, Optimalit¨atskriterium, Zielfunktion und Zielsystem synonym verwendet. 56 Vgl. u. a. Conway et al.(1967); Baker(1974); Siegel(1974); French(1982); Z¨apfel(1982); Liedl(1984); Paulik(1984). 57 Dies bezieht sich auf eine kurzfristiger Betrachtungsweise. Bei einer langfristigen Betrachtung kann dagegen eine optimierte Maschinenbelegung z. B. durch p¨ unktliche Lieferungen zu mehr Kundenzufriedenheit und damit einer erh¨ohten Anzahl neuer Bestellungen f¨ uhren. Dadurch k¨onnen langfristig bessere Produktionskoeffizienten bestimmt werden, die ihrerseits wiederum als Parameter in die Produktionsprogrammplanung eingehen k¨onnen.
2.3 Klassifikation von Ablaufplanungsproblemen
27
laufplan abh¨angigen und damit entscheidungsrelevanten Kosten der Ablaufplanung sind gem¨aß dem Wirtschaftlichkeitsprinzip zu minimieren. Dazu geh¨oren u. a. die Kapitalbindungskosten. Diese entstehen durch die Verzinsung des durch die Produktion der Auftr¨age auf den Betriebsmitteln gebundenen Kapitals.58 Die Lagerung der Zwischen- und Endprodukte kann Lagerhaltungskosten verursachen. Sind Liefertermine gegeben, k¨onnen versp¨atete Lieferungen zu Termin¨ uberschreitungskosten f¨ uhren. Je nach Ausgestaltung der Liefervertr¨age k¨onnen diese sich in Form von entgangenen Erl¨osen, Konventionalstrafen oder Preisnachl¨assen ¨außern. Zudem besteht die Gefahr, dass der Kunde zur Konkurrenz abwandert und damit Folgeauftr¨age ausbleiben. Je nachdem, ob ein Kunde eine verfr¨ uhte Lieferung akzeptiert, kann die verfr¨ uhte Fertigstellung eines Auftrages die Kundenzufriedenheit steigern oder aber auch Lagerkosten erh¨ohen. Ist der normale Ablauf der Fertigung z. B. durch ungeplante Maschinenausf¨alle, Personalausfall oder fehlende Rohstoffe gest¨ort, kann es zu Verz¨ogerungskosten kommen, die ihrerseits wiederum in Termin¨ uberschreitungskosten m¨ unden k¨onnen. R¨ ustkosten entstehen einerseits durch das Einrichten und Umr¨ usten von Maschinen und andererseits in Form von Opportunit¨atskosten einer alternativen zeitgleichen Nutzung f¨ ur die Bearbeitung eines anderen Auftrags.59 Die Ablaufplanung steht dabei vor dem Problem der Bestimmung der Plankosten. So sind z. B. Imageverluste oder Opportunit¨atskosten durch zuk¨ unftigen Deckungsbeitragsentgang nur sehr schwer zu quantifizieren. Selbst vertraglich festgelegte Preisnachl¨asse und Konventionalstrafen verhalten sich i. d. R. nicht proportional zu den Versp¨atungen.60 Aufgrund dieser Schwierigkeiten bei der monet¨aren Bewertung der Kosten bei gleichzeitig geringer Beeinflussbarkeit der u ¨bergeordneten Zielsetzung des Unternehmens werden daher bei der Ablaufplanung meistens anstelle von kostenorientierten Zielen zeit- oder kapazit¨atsorientierte Ziele verfolgt.61 Dies ist aus betriebswirtschaftlicher Sicht gerechtfertigt, wenn die verwendeten Zielgr¨oßen mit den urspr¨ unglichen monet¨aren Kosten korrelieren. Dies wird f¨ ur die im weiteren Verlauf dargestellten Kriterien unterstellt.62 58
Ausf¨ uhrlich dazu vgl. Seelbach(1975), S. 33. Weitere entscheidungsrelevante Kosten sind die Leerkosten, Stillstandskosten, Beschleunigungskosten, Transportkosten etc. Ausf¨ uhrlich dazu vgl. u. a. Mensch(1968); Rehwinkel(1978); Hoitsch(1993). 60 Vgl. Hoch(1973), S. 33ff.; Siegel(1974), S. 27ff.; Z¨apfel(1982), S. 251; Liedl(1984). 61 Wird die Kostenminimierung indirekt u ¨ber die Extremierung von zeit- und kapazit¨atsorientierten Zielen abgebildet, wird in der Literatur in diesem Zusammenhang h¨aufig von Kostenfunktionen gesprochen. 62 Es ist aber nicht immer sicher, dass mit rein zeitlichen Ersatzzielen oder bewerteten Zeitzielen die Kostenziele ebenfalls erf¨ ullt werden. Vgl. Hoch(1973) und Siegel(1974). 59
28
2 Ablaufplanung
Durchlaufzeitbezogene Zielsetzungen Durchlaufzeitbezogene Ziele betrachten den kompletten Auftragsbestand und zielen auf einen schnellen Produktionsfluss. Ihre Abbildung kann u. a. folgendermaßen erfolgen: • γ = DK: Minimierung der Summe der Durchlaufzeiten K K Dk = (pkm + wkm ) mit DK = k=1
k=1 m∈Mk
• γ = W : Minimierung der Wartezeiten K K mit W = Wk = wkm k=1
k=1 m∈Mk
• γ = Z = Fmax : Minimierung der Zykluszeit/maximalen Fertigstellungszeit mit Z = Fmax = max{F1 , . . . , FK } K¨ urzere Durchlaufzeiten haben diverse Vorteile. Unter Kostengesichtpunkten verringert sich durch k¨ urzere Durchlaufzeiten die Dauer der Kapitalbindung, urzewodurch die Kapitalbindungskosten sinken.63 Außerdem kommt es zu k¨ ren Lagerungszeiten der Zwischenprodukte, woraus eine Reduktion der ablaufbedingten Lagerkosten resultieren kann. Unter Wettbewerbsgesichtpunkten erm¨oglichen k¨ urzere Durchlaufzeiten eine schnellere Reaktion auf Nachur potentielle Nachfragesteigerungen m¨ ussen frage¨anderungen des Marktes.64 F¨ nicht so viele fertige Produkte im Voraus gelagert werden. Bei Nachfrage¨anderungen kann schneller auf neue Produkte umger¨ ustet werden. Wenn sich die f¨ ur die Produktion ben¨otigte Zeit verringert, sinkt damit auch die Eintrittswahrscheinlichkeit f¨ ur unerwartete Ereignisse wie z. B. Maschinenausf¨alle. Die G¨ ultigkeitswahrscheinlichkeit von Ablaufpl¨anen steigt damit.65 Terminorientierte Zielsetzungen Sind Fertigstellungstermine f¨ ur die einzelnen Auftr¨age gegeben, wie es oft bei einer Kundenauftragsfertigung der Fall ist, so werden lieferterminorientierte Ziele verfolgt. M¨ogliche Zielkriterien zur Abbildung einer hohen Termintreue sind: • γ = T Amax : Minimierung der maximalen (absoluten) Terminabweichung mit T Amax = max{|T A1 |, . . . , |T AK |} 63
Zur Bewertung der enthaltenen Wartezeiten siehe Seelbach(1975), S. 33f. Quantitative Flexibilit¨at, vgl. Hoitsch(1993), S. 8. 65 Im Falle der Existenz von Lieferterminen steigt damit auch die Kundenzufriedenheit. 64
2.3 Klassifikation von Ablaufplanungsproblemen
29
• γ = GT A+ : Minimierung der gewichteten Summe aller Versp¨atungen K + ∗ mit GT A+ = gk · T A+ k und T Ak = max{0, Fk − Fk } k=1
ur Auftrag k und gk Gewichtungsfaktor f¨ Anzahl versp¨ateter Auftr¨age • γ = AnzT A+ : Minimierung der K 1 , Fk > Fk∗ mit AnzT A+ = uk mit uk = 0 , Fk ≤ Fk∗ k=1 • γ = |T A|: Minimierung der mittleren absoluten Terminabweichung K 1
mit |T A| = |T Ak | K k=1
Eine Verringerung der Durchlaufzeit wirkt sich auch positiv auf Termin¨ uberschreitungen aus. Verfr¨ uhte Fertigstellungen verursachen zwar Kapitalbindungskosten, bringen aber auch zus¨atzliche Pufferzeiten mit sich. Kapazit¨ atsorientierte Zielsetzungen Bei kapazit¨atsorientierten Zielen stehen die Maschinen im Fokus. Die Auslastung der Betriebsmittel soll m¨oglichst hoch sein. • γ = KA: Maximierung der Kapazit¨atsauslastung M pkm PM m=1 k∈Km = M mit KA = BM (pkm + lkm ) m=1 k∈Km
• γ = BM : Minimierung der Gesamtbelegungszeit M M Bm = (pkm + lkm ) mit BM = m=1
m=1 k∈Km
• γ = L: Minimierung der Leerzeiten M M Lm = lkm mit L = m=1
m=1 k∈Km
• γ = RZ: Minimierung der R¨ ustzeiten M K M K mit RZ = Rzm = Rzk = rzkm = rzkm m=1
k=1
m=1 k∈Km
k=1 m∈Mk
Kapazit¨atsorientierte Zielsetzungen k¨onnen im deterministischen Fall auch durch auftragsspezifische Zielsetzungen abgebildet werden, da mit dem Ablaufplan die Belastung der Maschinen durch die Auftr¨age festgelegt ist. Dies kann u. a. durch die Zielsetzung der Minimierung der Zykluszeit erreicht werden.
30
2 Ablaufplanung • γ = Z: Minimierung der Zykluszeit mit Z = Fmax = max{F1 , . . . , FK }
Zwischen den oben dargestellten Zielsetzungen bestehen Zielbeziehungen. Diese k¨onnen komplement¨ar, konfliktion¨ar oder indifferent sein.66 Es handelt sich um eine komplement¨are Zielbeziehung, wenn die Verfolgung des einen Ziels ebenfalls zu einer Verbesserung des anderen Ziels f¨ uhrt. Dies trifft u. a. f¨ ur sog. ¨aquivalente Ziele zu, deren korrespondierende Zielfunktionen durch Lineartransformation ineinander u uhrt werden k¨onnen. So ist inner¨berf¨ halb einer Zielgr¨oße z. B. die Minimierung einer Durchschnittsgr¨oße mit der Minimierung der (gewichteten) Summe gleichbedeutend. Anhand des folgenden Beispiels bzgl. der Durchlaufzeit kann dies nachvollzogen werden: DK =
K
Dk = K ·
k=1
K 1
· Dk = K · DK K k=1
Die beiden Ziele sind ¨aquivalent in dem Sinne, dass ein bzgl. eines Ziels optimaler Ablaufplan auch f¨ ur das andere Ziel optimal ist.67 Komplement¨are Zielbeziehungen finden sich nicht nur innerhalb einer Zielgr¨oße, sondern auch zwischen verschiedenen Zielgr¨oßen.68 So entspricht bei der hier im deterministischen Fall getroffenen Annahme konstanter Bearbeitungszeiten z. B. die Minimierung der Gesamtdurchlaufzeit der Minimierung der Wartzeiten oder die Maximierung der Kapazit¨atsauslastung der Minimierung der Leerzeiten: DK =
K
k=1 m∈Mk
(pkm + wkm ) = M
K
pkm +
k=1 m∈Mk
K
wkm = P K + W
k=1 m∈Mk
pkm PM PM m=1 k∈Km = = M KA = BM PM + L (pkm + lkm ) m=1 k∈Km
Im Gegensatz dazu sind zwei Ziele konfliktion¨ar, wenn mit der Verbesserung des einen Ziels der Realisierungsgrad des anderen Ziels verschlechtert wird (et vice versa). In der Literatur wird in diesem Zusammenhang das von Gutenberg 66
Zu den Begriffen der Entscheidungstheorie vgl. Dinkelbach(1982), S. 158f.; Saliger(2003), S. 29ff.; Laux(2005), S. 67ff.; Domschke/Scholl(2008), S. 52ff. Vgl. Conway et al.(1967), S. 12f.; Rinnooy Kan(1976), S. 21.; French(1982), S. 28. 68 Eine ausf¨ uhrliche Betrachtung findet sich in Rinnooy Kan(1976), S. 20ff.; Lenstra et al.(1977), S. 294ff.; French(1982), S.28ff.; Domschke et al.(1997), S. 297. 67
2.3 Klassifikation von Ablaufplanungsproblemen
31
eingef¨ uhrte Dilemma der Ablaufplanung diskutiert, das er in der Gegenl¨aufigkeit der beiden Ziele der Minimierung der Warte- und Leerzeiten sieht.69 Zwei Ziele sind indifferent, wenn die Erf¨ ullung des einen Zieles unabh¨angig von der Erf¨ ullung des anderen Ziels ist. Die Betrachtung von Zielbeziehungen ist auch vor dem Hintergrund interessant, dass bei realen Problemstellungen in der Ablaufplanung in der Regel mehrere, unterschiedliche Zielsetzungen von Wichtigkeit sind.70 Sind alle Ziele zueinander komplement¨ar, reicht es, die Optimierung eines der Zielkriterien zu verfolgen. Setzt sich die Zielfunktion dagegen aus mehreren konkurrierenden Unterzielen zusammen, m¨ ussen die Methoden der Mehrzieloptimierung angewendet werden.71 Es ist bei konkurrierenden Zielsetzungen nicht m¨oglich, alle Ziele optimal zu erreichen, so dass eine Kompromissl¨osung gefunden werden muss. Mit Hilfe von Effizienzbetrachtungen kann der L¨osungsraum in zwei disjunkte Teilmengen zerlegt werden – in die effiziente und die nicht-effiziente Menge. Eine (zul¨assige) L¨osung ist effizient, falls es keine andere (zul¨assige) L¨osung gibt, die bez¨ uglich aller Ziele zumindest gleich gute und in mindestens einem Ziel einen besseren Zielfunktionswert aufweist, d. h., wenn sie nicht dominiert wird. F¨ ur den Begriff der Effizienz wird synonym auch der Begriff der Pareto-Optimalit¨at verwendet.72 Da die meisten Probleme eine große Zahl solcher Pareto-optimaler L¨osungen besitzen, kann dies – abgesehen von m¨oglichen numerischen Problemen bei der Ermittlung der Menge effizienter L¨osungen – f¨ ur den Entscheidungstr¨ager un¨ ubersichtlich sein. Es ist in diesem Fall n¨otig, dass zus¨atzliche Informationen u ¨ber die Zielvorstellungen des Entscheidungstr¨agers in den L¨osungsprozess einfließen, damit eine L¨osung bestimmt werden kann, die gem¨aß seiner Pr¨aferenzen (Artenpr¨aferenzen) optimal“ sind. In der Ent” scheidungstheorie sind zahlreiche Verfahren zur Entscheidungshilfe entwickelt 73 worden. Dazu geh¨oren auch die so genannten Kompromissmodelle. Bei diesen wird das Zielsystem durch eine skalare Zielfunktion (Kompromisszielfunktion) 69
Vgl. Gutenberg(1983), S. 158ff. In der Literatur herrscht keine Einigkeit dar¨ uber, ob ein solches Dilemma u unther(1971); Riedesser(1971); ¨berhaupt existiert, vgl. u. a. G¨ G¨ unther(1972); Siegel(1974), S. 121. Es folgten Erweiterungen zum Trilemma durch Mensch(1968), S. 82 bzw. G¨ unther(1971) und zum Polylemma durch Schweitzer(1967), S. 291ff. Einen Zusammenfassung der Zieldiskussion in der Literatur mit weiterf¨ uhrenden Literaturhinweisen findet sich in Liedl(1974), S. 18ff. 70 Eine ausf¨ uhrliche Darstellung der Zielbeziehungen findet sich u. a. in Rinnooy Kan(1976), S. 20ff.; French(1982), S. 28ff. 71 Vgl. Fandel(1972); Dinkelbach(1982); Dinkelbach/Kleine(1996), S. 33ff.. 72 Das Konzept wurde urspr¨ unglich von Francis Ysidro Edgeworth vorgeschlagen und dann von Vilfredo Pareto weiterentwickelt. Vgl. Edgeworth(1881) und Pareto(1896). Das Konzept der Pareto-Optimalit¨at f¨ uhrten Van Wassenhove und Gelders 1980 ins Feld der Ablaufplanung ein. Vgl. Van Wassenhove/Gelders(1980). 73 Die meisten sind in die zwei Verfahrensklassen Multiattribute Decision Making (MADM) und Multiobjective Decision Making (MODM) einteilbar. Ausf¨ uhrlich dazu vgl. Hwang/Yoon(1981); Schneeweiss(1991); Zimmermann/Gutsche(1991); Figueira et al.(2005).
32
2 Ablaufplanung
und m¨oglicherweise auch zus¨atzliche Nebenbedingungen ersetzt.74 Die Pr¨aferenzen des Entscheiders fließen i. d. R. in Form von Parametern ins Modell ein. Ein h¨aufig eingesetztes Kompromissmodell ist die Zielgewichtung: Bei diesem Kompromissmodell muss der Entscheidungstr¨ager die einzelnen Ziele gem¨aß seiner Pr¨aferenzen gewichten. Die Kompromisszielfunktion multipliziert die einzelnen Zielkriterien zun¨achst mit ihren jeweiligen Zielgewichten und addiert diese anschließend.75 Zur Kennzeichnung einer multikriteriellen Zielfunktion erfolgt die Notation in Anlehnung an T’Kindt/Billaut(2002). Sollen alle Pareto-optimalen Alternativen gefunden werden, erfolgt die Notation im Klassifikationschema mittels der durch Kommata getrennten Zielfunktions-Parameter α|β|γ1 , . . . , γZ . Ist eine Aggregation der multikriteriellen Zielsetzungen ZFz (z = 1, . . . , Z) durch eine Zielgewichtung vorgesehen, lautet die Notation F (ZF1 , . . . , ZFZ ). Zu guter Letzt k¨onnen Zielkriterien dahingehend unterschieden werden, ob sie regul¨ar sind oder nicht.76 Ein Zielkriterium ist regul¨ar, wenn es folgende Eigenschaften besitzt: 1. Das (zu minimierende) Zielkriterium ZF ist eine Funktion der Fertigstellungszeitpunkte Fk der einzelnen Auftr¨age: ZF = f (F1 , F2 , . . . , FK ). 2. Der Wert von ZF verringert sich nur, wenn sich mindestens ein Fertigstellungszeitpunkt eines Auftrages verringert, so dass f¨ ur ZF 1 =f (F11 , . . . , FK1 ) 2 2 2 und ZF = f (F1 , . . . , FK ) gilt: ZF 2 < ZF 1 ⇒ ∃k ∈ {1, . . . , K} : Fk2 < Fk1 Dies impliziert, dass sich der Wert eines regul¨aren Zielkriteriums nur dann erh¨ohen kann, wenn sich der Fertigstellungszeitpunkt von mindestens einem Auftrag erh¨oht.77 Liefert der Vergleich der Fertigstellungszeitpunkte zweier Ablaufpl¨ane F11 ≤ F12 , F21 ≤ F22 , . . . , FK1 ≤ FK2 , dann folgt daraus bei einem regul¨aren Zielkriterium ZF 1 ≤ ZF 2 .78 Von den hier dargestellten Zielkriterien sind z. B. DK, Z, GT A+ , T Amax und AnzT A+ regul¨ar.79 74
Eine ausf¨ uhrliche Darstellung m¨oglicher Kompromissmodelle findet sich in Dinkelbach(1982), S. 179ff. und Dinkelbach/Kleine(1996), S. 44ff. Durch diese Konvexkombination wird das multikriterielle Optimierungsproblem in ein skalares Optimierungsproblem transformiert. 76 Vgl. Conway et al.(1967), S. 12; Baker(1974), S. 13; Rinnooy Kan(1976), S. 16. 77 Wenn sich der Fertigstellungszeitpunkt von einem Auftrag erh¨oht, muss dies aber nicht zwingend eine Erh¨ohung des Zielfunktionswertes zur Folge haben. 78 Vgl. French(1982), S. 13f. 79 Vgl. Conway et al.(1976), S. 12; Rinnooy Kan(1976), S. 16 ff.; French(1982), S. 14. 75
2.4 Der L¨osungsbereich – Arten von Ablaufpl¨anen
33
Beispiele zur Klassifikation • 1|Fk∗ |GT A+ : F¨ ur die an einer Maschine zu bearbeitenden Auftr¨age sind Fertigstellungstermine gegeben. Die gewichtete Summe der Termin¨ uberschreitungen ist zu minimieren. • P 3|rzk1 k2 m |DK: An drei identischen Maschinen, die gleichzeitig eingesetzt werden k¨onnen, ist eine beliebige Anzahl von Auftr¨agen zu bearbeiten. Zwischen den Auftr¨agen bestehen reihenfolgeabh¨angige R¨ ustzeiten. Zielsetzung ist die Minimierung der Summe der Durchlaufzeiten der K Auftr¨age. • J4|pkm = 2, A∗k |Z: Es handelt sich um ein Job-Shop-Scheduling-Problem – kurz auch JobShop-Problem oder JSP genannt – mit 4 Maschinen. F¨ ur die Auftr¨age sind einheitliche Prozesszeiten sowie Freigabezeitpunkte gegeben. Es wird der Ablaufplan mit der kleinsten Zykluszeit gesucht.
2.4 Der L¨ osungsbereich – Arten von Ablaufpl¨ anen Ablaufpl¨ane werden nicht nur hinsichtlich der im Abschnitt 2.3.3 auf S. 26ff. dargestellten quantitativen Kriterien unterschieden, sondern auch hinsichtlich bestimmter qualitativer Kriterien. Hierzu werden im Folgenden Eigenschaften skizziert, die ein Ablaufplan haben kann. Sie erm¨oglichen es unter bestimmten Voraussetzungen (z. B. regul¨ares Zielkriterium) bei der Suche nach dem optimalen Ablaufplan, den L¨osungsraum insofern einzugrenzen, dass er nur potentiell optimale L¨osungen enth¨alt.80
2.4.1 Fallstudie FS1 Im Laufe der Arbeit werden zur Veranschaulichung dargestellter Inhalte an verschiedenen Stellen drei kleinere Fallstudien (FS1, FS2 und FS3) betrachtet. Sie dienen als Hinf¨ uhrung auf die konkrete Problemstellung aus der Halbleiterindustrie, die Fallstudie FSH. Im Folgenden wird die erste Fallstudie FS1 eingef¨ uhrt zur Veranschaulichung der verschiedenen Ablaufplanarten. Bei dieser wird ein 80
Der rein kombinatorischen Frage nach der Art und Anzahl der zu einem Shop-SchedulingProblem geh¨origen Pl¨ane bzw. Ablaufgraphen – unabh¨angig von den gegebenen Bearbeitungszeiten – wird in der Literatur unter dem Begriff der Strukturuntersuchung diskutiert. Es wird dabei u ¨blicherweise in zul¨assig vs. unzul¨assig, aktiv vs. inaktiv sowie nicht optimal vs. potentiell optimal und optimal unterschieden. Vgl. Baker(1984), S. 13. und Harborth(1999), S. 3.
34
2 Ablaufplanung
Job-Shop-Problem J//Z betrachtet, bei dem von folgenden Pr¨amissen ausgegangen wird:81 Auf einer gegebenen Anzahl von M Maschinen m¨ ussen K bekannte Auftr¨age bearbeitet werden (M, K ∈ N mit M, K ≥ 2). Jeder Auftrag k besteht aus einer Kette von Ok Operationen Ok[1] , Ok[2] , . . . , Ok[Mk ] . Okm kann erst bearbeitet werden, wenn die Bearbeitung auf seiner vorherigen Maschine Okvm (vm = [2]k , . . . , [Mk ]k ) abgeschlossen ist (Ok[1] ≺ Ok[2] ≺ · · · ≺ Ok[Mk ] ). Die Bearbeitung einer Operation Okm darf nicht unterbrochen werden und ben¨otigt pkm ∈ N Zeiteinheiten. Jeder Auftrag und jede Maschine ist vom Beginn des ugbar. Zu einem Zeitpunkt kann jeder Auftrag Planungszeitraums (t0 ) an verf¨ h¨ochstens von einer Maschine bearbeitet werden und jede Maschine h¨ochstens einen Auftrag bearbeiten. Gesucht sind die Auftragsfolgen auf den einzelnen Maschinen unter der Zielsetzung der Minimierung der Zykluszeit. In folgender Fallstudie FS1 werden 3 Auftr¨age betrachtet, die alle jeweils auf 4 Maschinen bearbeitet werden m¨ ussen. Da jeder Auftrag auf jeder Maschine genau einmal zu bearbeiten ist, handelt es sich um ein so genanntes klassisches Job-Shop-Problem (JSP).82 In den folgenden zwei Tabellen 2.3 bzw. 2.4 sind die Maschinenfolgen und Bearbeitungszeiten erfasst:83
k=1 k=2 k=3
[1]k [2]k [3]k [4]k 1 2 4 3 2 3 4 1 1 2 3 4
Tabelle 2.3: Maschinenfolgen [m] (Fallstudie FS1)
k=1 k=2 k=3
m=1 m=2 m=3 m=4 7 4 4 1 7 6 9 4 5 5 3 7
Tabelle 2.4: Prozesszeiten pkm in ZE (Fallstudie FS1) 81
In der Literatur wird das (statisch-deterministische) J//Z Problem h¨aufig f¨ ur die Darstellung von Maschinenbelegungsplanungsproblemen verwendet. Es stellt einen Sonderfall dar, der von den in β dargestellten Charakteristika abstrahiert und das Problem damit vereinfacht. Vgl. z. B. Bla˙zewicz et. al(1996). Ausf¨ uhrlich dazu vgl. u. a. Conway et al.(1967), S. 5f.; Seelbach(1975), S. 16ff.; French(1982), S. 8f; Brucker(2004), S. 189ff. 82 Jeder Arbeitsgang wird auf einer anderen Maschine durchgef¨ uhrt, d. h., Ok = M = Mk , Om = K. Vgl. Baker(1974), S. 181. In der Literatur werden f¨ ur diese Situation die Begriffe Job-Shop, klassisches Job-Shop, General Job-Shop und Pure Job-Shop verwendet. Allerdings werden diese Bezeichnungen nicht immer einheitlich definiert und verwendet. 83 In der Literatur werden die Daten oft auch in Form von Matrizen dargestellt (Maschinenfolgematrix bzw. Bearbeitungszeitenmatrix/Produktionszeitenmatrix).
2.4 Der L¨osungsbereich – Arten von Ablaufpl¨anen
35
Jede Maschine m hat die begrenzte Anzahl von Om ! m¨oglichen Auftragsfologliche Aufgen. Damit ergeben sich f¨ ur alle Maschinen maximal M m=1 (Om !) m¨ tragsfolgekombinationen. Betrachtet man den Spezialfall eines klassischen Jobur Shop-Problems mit Om = K, gibt es folglich K! m¨ogliche Auftragsfolgen f¨ jede der M Maschinen und damit (K!)M m¨ogliche Auftragsfolgekombinationen. Bei der betrachteten Fallstudie FS1 sind dies auf jeder Maschine 3!=6 m¨ogliche Auftragsfolgen und damit (3!)4 = 1296 m¨ogliche Auftragsfolgekombinationen. Aufgrund dieser Begrenztheit muss es einen optimalen Ablaufplan geben!
2.4.2 Zul¨ assige Ablaufpl¨ ane Von diesen m¨oglichen Auftragsfolgekombinationen k¨onnen manche zul¨assig und manche unzul¨assig sein. Eine Auftragsfolgekombination ist unzul¨assig, wenn ihre Operationsfolgen im Widerspruch zu gegebenen Maschinenfolgebedingungen stehen. Ist eine zul¨assige Auftragsfolgekombination gefunden, kann daraus ein zul¨assiger Ablaufplan erzeugt werden. Ein Ablaufplan ist zul¨assig, wenn bei der zeitlichen Zuordnung der Operationen zu Maschinen alle Reihenfolgebedingungen (Auftragsfolgen, Maschinenfolgen) und evtl. weitere vorgegebene Restriktionen (z. B. Verf¨ ugbarkeitszeitpunkte) eingehalten werden. Ist ein zul¨assiger Ablaufplan vorhanden, k¨onnen durch zeitliches Verschieben der Operationen (z. B. durch das Einf¨ ugen von Leerzeiten) beliebig viele zul¨assige Ablaufpl¨ane erzeugt werden. Ablaufpl¨ane werden h¨aufig als Gantt-Diagramme dargestellt.84 Diese grafische Darstellung in Form eines Balkendiagramms veranschaulicht neben den Auftragsfolgen eines Ablaufplans (Sequencing) auch die zeitliche Einplanung der Operationen (Scheduling). Die Operationen werden durch geschlossene Intervalle, deren L¨ange der jeweiligen Bearbeitungszeit entspricht, auf Zeitachsen repr¨asentiert. Je nachdem, ob die Maschinenbelegung oder der Auftragsfortschritt im Fokus der Betrachtung stehen, kann ein Ablaufplan in einem Maschinenbelegungsdiagramm (maschinenorientiertes Gantt-Diagramm)85 oder in einem Auftragsfortschrittsdiagramm (auftragsorientiertes Gantt-Diagramm) dargestellt werden. Bei der Fallstudie FS1 k¨onnen unter Ber¨ ucksichtigung der Maschinenfolgen die Auftr¨age z. B. zu den auf folgender Seite in Tabelle 2.5 dargestellten Anfangszeiten eingeplant werden: 84
Diese sind nach ihrem Entwickler Henry L. Gantt benannt (vgl. Gantt(1919)). Vgl. u. a. Clark(1922); Porter(1968). 85 In der Literatur werden hierf¨ ur auch die Begriffe Balkendiagramm, Plantafel, Belastungstafel, Ablaufdiagramm, Belastungsdiagramm, Auftragsfolgegantt oder maschinenorientiertes Gantt-Chart synonym verwendet.
36
2 Ablaufplanung
k=1 k=2 k=2
m=1 m=2 m=3 m=4 2 12 20 22 24 34 46 50 21 31 46 54
Tabelle 2.5: Anfangszeiten akm in ZE (Fallstudie FS1)
Die dazu korrespondierenden maschinen- bzw. auftragsorientierten Gantt-Diagramme sind in den folgenden Abbildungen 2.3 und 2.4 dargestellt.86
Abbildung 2.3: Maschinenorientiertes Gantt-Diagramm eines zul¨assigen Ablaufplans von der Fallstudie FS1
Abbildung 2.4: Auftragsorientiertes Gantt-Diagramm eines zul¨assigen Ablaufplans von der Fallstudie FS1 86
Im weiteren Verlauf der Arbeit werden Ablaufpl¨ane nur noch als maschinenorientiertes GanttDiagramm abgebildet.
2.4 Der L¨osungsbereich – Arten von Ablaufpl¨anen
37
Die maschinenorientierte Darstellung gibt die Reihenfolgen der Auftr¨age auf den Maschinen (maschinenbezogene Auftragsfolgen) wieder und liefert einen ¨ guten Uberblick u ¨ber die Belegung der Maschinen. Es k¨onnen neben den Produktionszeiten auch die Leerzeiten ablesen werden. Um die Fortschritte an den einzelnen Auftr¨agen zu beobachten, ist dagegen das auftragsorientierte GanttDiagramm besser geeignet, bei dem die auftragsbezogenen Maschinenfolgen abgebildet sind. Hieran kann man die Produktions- und Wartezeiten erkennen. Die dargestellte L¨osung ist zul¨assig und kann – muss aber nicht – optimal sein. Die Zykluszeit von Z = 61 ZE stellt somit eine Obergrenze f¨ ur den Zielfunktionswert dar.
2.4.3 Semiaktive Ablaufpl¨ ane Zu jedem zul¨assigen Ablaufplan existiert ein dazugeh¨origer so genannter semiaktiver Ablaufplan. Dieser ist durch die Eigenschaft gekennzeichnet, dass bei einer gegebenen Auftragsfolgekombination alle Operationen fr¨ uhestm¨oglich beginnen. Ein Ablaufplan ist somit semiaktiv, falls kein Anfangszeitpunkt einer Operation vorgezogen werden kann, ohne die Auftragsfolge von mindestens einer Maschine zu ver¨andern oder eine weitere Restriktion zu verletzen.87 Ein semiaktiver Ablaufplan ist in folgender Abbildung 2.5 dargestellt:
Abbildung 2.5: Gantt-Diagramm eines semiaktiven Ablaufplans von der Fallstudie FS1 87
Vgl. Seelbach(1975), S. 92; Rinnooy Kan(1976), S. 16f.; French(1982), S. 27.
38
2 Ablaufplanung
Im Gantt-Diagramm ist die Semiaktivit¨at daran ersichtlich, dass keine Operation unter Beibehaltung der Auftragsfolgen an allen Maschinen (im Bezug auf die Zeitachse) nach links verschoben werden kann. In diesem Zusammenhang wird von einer lokalen oder limitierten Linksverschiebung gesprochen.88 Die Menge der semiaktiven Ablaufpl¨ane ist eine Teilmenge der Menge der kann die Anzul¨assigen Ablaufpl¨ane.89 Durch diese semiaktive Terminierung zahl zul¨assiger Ablaufpl¨ane auf die Oberschranke M m=1 (Om !) bzw. im klassischen Fall K! eingeschr¨ankt werden. Bei regul¨aren Zielkriterien dominieren semiaktive Ablaufpl¨ane alle anderen Ablaufpl¨ane bei gleicher Auftragsfolgenkombination.90 Die Menge der semiaktiven Ablaufpl¨ane enth¨alt mindestens einen optimalen Ablaufplan.91 Um ein regul¨ares Zielkriterium zu optimieren, reicht es daher aus, nur semiaktive Ablaufpl¨ane zu betrachten. Durch die semiaktive Terminierung kann die Zykluszeit bei FS1 von 61 ZE auf 37 ZE reduziert werden.
2.4.4 Aktive Ablaufpl¨ ane Wird die Forderung nach unver¨anderten Auftragsfolgen an allen Maschinen fallen gelassen, k¨onnen aktive Ablaufpl¨ane erzeugt werden. Ein semiaktiver Ablaufplan heißt aktiv, falls kein Anfangszeitpunkt einer Operation – auch unter Vertauschung der Auftragsfolgen – vorgezogen werden kann, ohne den Anfangszeitpunkt mindestens einer anderen Operation zu verz¨ogern oder eine andere Restriktion zu verletzen.92 Da die Auftragsfolgen an den einzelnen Maschinen nicht mehr eingehalten werden m¨ ussen, kann im Gantt-Diagramm eine Operation eine andere Operation zeitlich nach vorne (d. h. links) u ¨berspringen (vgl. Abbildung 2.6 auf S. 39). Ist dies in der Weise m¨oglich, dass sich dadurch die Anfangzeitpunkte der nachfolgenden Operationen nicht verz¨ogern, handelt es sich um eine globale Linksverschiebung.93 Ein Ablaufplan ist aktiv, wenn im Gantt-Diagramm keine globale 88
Vgl. Conway et al.(1967), S. 109; Baker(1974), S. 181. Vgl. Dinkelbach(1977), S. 559. 90 Dominierte Ablaufpl¨ane k¨onnen vernachl¨assigt werden. Vgl. Baker(1974), S. 181. Nicht dominierte Ablaufpl¨ane sind effizient. Vgl. Dinkelbach/Kleine(1996), S. 39. 91 Vgl. Rinnooy Kan(1976), S. 16f.; French(1982), S. 26ff. 92 Ansonsten ist der Ablaufplan inaktiv. Vgl. Giffler/Thompson(1960), S. 487ff.; Conway et al.(1967), S. 109ff.; Mensch(1968), S. 81ff.; Seelbach(1975), S. 92; Rinnooy Kan(1976), S. 32; French(1982), S. 156f.; Baker(1984), S. 183; Pinedo(1995), S. 16. 93 Vgl. Conway et al.(1967), S. 111; Baker(1984), S. 183. 89
2.4 Der L¨osungsbereich – Arten von Ablaufpl¨anen
39
Linksverschiebung m¨oglich ist. Die Menge der aktiven Ablaufpl¨ane ist eine Teilmenge der semiaktiven und damit zul¨assigen Ablaufpl¨ane.94 In Bezug auf regul¨are Zielkriterien wird jeder inaktive semiaktive Ablaufplan von einem aktiven Ablaufplan dominiert95 und es existiert mindestens ein aktiver optimaler Ablaufplan. Es reicht daher aus, sich bei der Suche nach deinem optimalen Ablaufplan auf die kleinere Menge der aktiven Ablaufpl¨ane zu beschr¨anken, da sie mindestens ein Optimum enth¨alt.96
Abbildung 2.6: Gantt-Diagramm eines aktiven Ablaufplans von der Fallstudie FS1 In Abbildung 2.5 auf S. 37 ist ersichtlich, dass es sich um einen inaktiven Ablaufplan handelt: Bei Maschine m = 2 ist ein ausreichend großes Leerzeitintervall von 7 ZE vor Beginn der Operation O12 vorhanden, so dass die nachfolgende Operation O22 mit einer Bearbeitungszeit von p22 = 6 ZE vorgezogen werden kann, ohne dadurch den Beginn einer der anderen Operationen zu verz¨ogern oder eine Maschinenfolgebedingungen zu verletzen. In Folge dessen k¨onnen die Operationen O23 , O24 und O21 und daraufhin auch O32 , O33 und O34 ebenfalls fr¨ uher eingeplant werden, so dass sich die Zykluszeit beim aktiven Ablaufplan um 1 ZE reduziert. Der durch diese Linksverschiebung erzeugte aktive Ablaufplan dominiert den inaktiven Plan. 94
Unter Beibehaltung der maximalen Linksverschiebung liefert jede derartige Ver¨anderung wiederum einen semiaktiven Ablaufplan. Ein aktiver Plan ist somit immer semiaktiv, umgekehrt muss dies aber nicht gelten. Vgl. Conway et al.(1967), S. 111; Rinnooy Kan(1976), S. 32. 95 Ein inaktiver semiaktiver Plan ist bez¨ uglich regul¨arer Zielkriterien stets schlechter als oder ”h¨ochstens so gut wie der aus ihm abgeleitete aktive Ablaufplan.“ Seelbach(1975), S. 92. Vgl. dazu auch Conway et al.(1967), S. 111. 96 Vgl. Baker(1974), S. 185; Rinnooy Kan(1976), S. 32; French(1982), S. 157.
40
2 Ablaufplanung
2.4.5 Unverzo ane ¨gerte Ablaufpl¨ Ein Ablaufplan heißt unverz¨ogert, wenn jede verf¨ ugbare und leer stehende Maschine einen vor ihr bereitstehenden Auftrag sofort bearbeitet.97 Jeder unverz¨ogerte Ablaufplan ist zugleich aktiv, semiaktiv und zul¨assig, aber nicht umgekehrt.98 Der in Abbildung 2.6 auf S. 39 betrachtete aktive Ablaufplan ist verz¨ogert: Auftrag k = 2 steht nach seiner Bearbeitung auf Maschine m = 2 zum Zeitpunkt t = 6 bei der verf¨ ugbaren und freien Maschine m = 3 zur Bearbeitung bereit. O23 wird aber erst nach O13 zum Zeitpunkt t = 16 bearbeitet. Die folgende Abbildung 2.7 stellt einen unverz¨ogerten Ablaufplan dar mit der Zykluszeit von 29 ZE.
Abbildung 2.7: Gantt-Diagramm eines unverz¨ogerten Ablaufplans von der Fallstudie FS1 Bez¨ uglich regul¨arer Zielkriterien ist die Menge der unverz¨ogerten Ablaufpl¨ane keine dominierende Teilmenge in dem Sinne, wie die aktiven die semiaktiven dominieren. Ein optimaler Ablaufplan muss nicht unverz¨ogert sein.99 Auch in der betrachteten Fallstudie FS1 ist der optimale Ablaufplan verz¨ogert (siehe Abbildung 2.8 auf S. 41). Durch das Vertauschen der beiden Auftr¨age k = 1 und k = 2 an Maschine m = 3 entsteht der optimale Ablaufplan, bei dem O13 nicht zum Zeitpunkt t = 15 bearbeitet wird, obwohl die Maschine frei ist. Die minimale Zykluszeit betr¨agt 27 ZE. 97
D. h., ein unverz¨ogerter Ablaufplan enth¨alt (im Gegensatz zu einem verz¨ogerten) keine unvermeidbaren Leerzeiten. Vgl. Conway et al.(1967), S. 111; Baker(1984), S. 185; French(1982), S. 157; Pinedo(2005), S. 16. 98 Vgl. Conway et al.(1967), S. 111f. 99 Vgl. Conway et al.(1967), S. 111f.; Baker(1974), S. 186f.; French(1982), S. 157; Hutchinson/Chang(1990); Pinedo(2005), S. 22f.
2.4 Der L¨osungsbereich – Arten von Ablaufpl¨anen
41
Abbildung 2.8: Gantt-Diagramm eines optimalen Ablaufplans von der Fallstudie FS1 Die Vorteile der unverz¨ogerten Ablaufpl¨ane sind, dass sie eine im Vergleich zu der Menge der aktiven Ablaufpl¨ane kleinere Menge bilden, leicht zu erzeugen sind100 und im Durchschnitt bessere Ergebnisse als die u ¨brigen aktiven Ablaufpl¨ane liefern.101 Die Menge aller Ablaufpl¨ane ist in der folgenden Abbildung 2.9 noch einmal in Form eines Venn-Diagramms dargestellt.102
Abbildung 2.9: Venn-Diagramm bzgl. m¨oglicher Ablaufplan-Arten, Quelle: Eigene Darstellung in Anlehnung an Baker(1974), S. 185. 100
Vgl. Seelbach(1975). Vgl. hierzu auch Abschnitt 5.3, S. 114. Der optimale Ablaufplan muss sich aber nicht darunter befinden. Vgl. Conway et al.(1967), S. 112; French(1982), S. 157. 102 Bei regul¨aren Zielfunktionen befinden sich m¨ogliche Optima in der Menge der aktiven Ablaufpl¨ane. Sie k¨onnen, m¨ ussen aber nicht unverz¨ogert sein. 101
3 Fallstudie aus der Halbleiterindustrie In der vorliegenden Arbeit wird eine konkrete Problemstellung der operativen Ablaufplanung in der Diodenfabrik eines Unternehmens der Halbleiterindustrie betrachtet.1 Sie wird im Folgenden als Fallstudie FSH bezeichnet. Die Aufgabe besteht darin, ein L¨osungsverfahren zu entwickeln, das m¨oglichst gute Ablaufpl¨ane generiert. In der betrachteten Diodenfabrik werden – wie der Name sagt – Dioden hergestellt. Eine Diode2 ist ein elektrisches Bauelement mit zwei Polen. Die Diode ist f¨ ur Strom durchl¨assig, allerdings nur, wenn er in eine bestimmte Richtung fließt. Wenn der Strom in die entgegengesetzte Richtung fließen m¨ochte, wirkt die Diode unterhalb einer Durchbruchspannung isolierend. Dioden unterscheiden sich nach ihrem Einsatzzweck, so dass es eine Vielzahl an unterschiedlichen Diodentypen gibt. Zur Herstellung der Dioden werden Chips ben¨otigt, die in der Wafer-Fabrik3 hergestellt und in die Diodenfabrik geliefert werden. Das betrachtete Unternehmen stellt aus den Chips in zwei Produktionsstufen – der Montage und der Endmessung – 63 verschiedene Diodentypen her. Die Struktur der Wafer-Dioden-Fabrik ist in folgender Abbildung 3.1 dargestellt:
WaferFabrik
CHIPS
Montage
DiodenFabrik
DIODEN
Endmessung
Abbildung 3.1: Wafer-Dioden-Fabrik Es wird in der folgenden Betrachtung davon ausgegangen, dass die Wafer-Fabrik Chips in ausreichender Menge liefert und auch alle anderen f¨ ur die Herstellung 1
Das Unternehmen besitzt im Bereich der Herstellung von Dioden, die insbesondere zur Herstellung von Lichtmaschinen f¨ ur Kraftfahrzeuge ben¨otigt werden, einen Weltmarktanteil von mehr als 60%. Die weltweite monatliche Produktionsmenge und der Umsatz liegen jeweils in einer zweistelligen Millionengr¨oßenordnung. 2 Griech.: di zwei, doppelt; hodos Weg. 3 Ein Wafer ist eine sehr d¨ unne Scheibe aus einem Halbleitermaterial mit integriertem Schaltkreis. I. J. Acker, Methoden zur mehrstufi gen Ablaufplanung in der Halbleiterindustrie, DOI 10.1007/978-3-8349-6731-2_3, © Gabler Verlag | Springer Fachmedien Wiesbaden GmbH 2011
44
3 Fallstudie aus der Halbleiterindustrie
der Dioden ben¨otigten Rohstoffe jederzeit in ausreichender Menge vorhanden sind. Gegenstand der Betrachtung sind folglich nur die beiden letzten Produktionsstufen bei der Herstellung der Dioden. In diesem Kapitel wird der Produktionsprozess beschrieben und die Problemstellung analysiert, um im Folgenden daf¨ ur geeignete L¨osungsverfahren betrachten zu k¨onnen.
3.1 Produktionsstufe Montage In der Produktionsstufe Montage k¨onnen aus den Chips 40 verschiedene Diodentypen hergestellt werden – die so genannten Montagediodentypen MDx (x=1,. . . ,40). Daf¨ ur sind 5 Arbeitsg¨ange zu verrichten: Montieren, L¨ oten, ¨ Atzen, Lackieren und Vergießen. Jeder Arbeitsvorgang wird auf einer anderen Maschine durchgef¨ uhrt. Die Montage ist dabei nach dem PermutationsFlow-Shop-Prinzip (Fließfertigung) organisiert, d. h., die Auftr¨age durchlaufen dieselbe, technologisch vorgegebene Reihenfolge (siehe Abbildung 3.2) und d¨ urfen sich gegenseitig nicht u ¨berholen.4
Abbildung 3.2: Arbeitsg¨ange der Montage F¨ ur den Arbeitsgang Montieren gibt es zwei parallele Produktionslinien mit jeweils drei Montage-Maschinen. Die alte Linie besteht aus den Maschinen M1, M2 und M3; die Maschinen M4, M5, M6 bilden die neue Linie (vgl. Abbildung 3.5, S. 51). Identische, parallele Maschinen werden im Folgenden zu einem Maschinentyp zusammengefasst.5 Alle Maschinen eines Maschinentyps haben folglich die gleichen Eigenschaften, so dass ein Auftrag alternativ auf allen Maschinen eines Maschinentyps mit gleichem Zeitbedarf bearbeitet werden kann. Die Maschinen der alten Linie bilden jeweils einen eigenen Maschinentyp – Malt1, Malt2, Malt3. Die drei Maschinen der neuen Linie bilden den Maschinentyp Mneu. 4 5
Vgl. dazu Erl¨auterungen in Abschnitt 2.3.1 auf S. 23. Vgl. dazu Erl¨auterungen in Abschnitt 2.3.1 auf S. 21. Die dort f¨ ur parallele Maschinen angegebenen Definitionen f¨ ur identisch, uniform und heterogen beziehen sich auf die Fertigungsgeschwindigkeit. Im Folgenden wird dies um den Aspekt der R¨ ustzeit erweitert.
3.1 Produktionsstufe Montage
45
Wenn ein bestimmter Diodentyp auf einer Maschine der neuen Linie produziert werden kann, dann kann er auf allen Maschinen der neuen Linie gefertigt werden. Insgesamt k¨onnen 41 Diodentypen auf der alten und 22 auf der neuen Linie produziert werden. Alle Maschinen und somit auch die Montagemaschinen m¨ ussen in einen bestimmten R¨ ustzustand versetzt werden, bevor sie einen bestimmten Diodentyp herstellen k¨onnen. Aufgrund derartiger R¨ ustvorg¨ange muss die Produktion an den jeweiligen Maschinen meistens unterbrochen werden. Um den durch R¨ ustvorg¨ange verursachten Zeitaufwand zu minimieren, ist es daher sinnvoll, Diodentypen zu gruppieren, die denselben R¨ ustzustand erfordern.6 In der Diodenfabrik wird dies auch so gehandhabt. Es durchl¨auft immer eine bestimmte Menge zu bearbeitender Dioden vom gleichen Diodentyp gemeinsam den Produktionsprozess. Im Folgenden wird eine derartige Menge als Charge bezeichnet.7 Die Chargengr¨oße ist in der betrachteten Problemstellung bereits festgelegt worden.8 Sie unterscheidet sich je nach Linie: In der alte Linie werden 70.000 und in der neuen Linie 35.000 Dioden gemeinsam eingelastet. Die Montagemaschinen m¨ ussen gem¨aß dem als n¨achstes zu produzierenden Montagediodentyp ger¨ ustet werden. Sind zwei Chargen gleichen Typs direkt nacheinander herzustellen, ist kein R¨ ustvorgang n¨otig. Sobald mit einem R¨ ustvorgang bzw. der Bearbeitung einer Charge auf einer Maschine begonnen wurde, darf diese nicht unterbrochen werden. Es ist zudem keine u ¨berlappende Fertigung m¨oglich. D. h., die Bearbeitung der in einer Charge zusammengefassten Auftr¨age beginnt und endet gleichzeitig an einer Maschine.9 Im weiteren Verlauf der Arbeit wird die Produktion einer Charge auch als Auftrag bezeichnet.10 ¨ Die Maschinen f¨ ur die nachfolgenden Arbeitsvorg¨ange L¨ oten, Atzen, Lackieren und Vergießen sind kapazit¨atsm¨aßig auf die Leistung der MontageMaschinen abgestimmt, so dass ein reibungsloser Materialfluss gew¨ahrleistet ¨ ist. Dadurch k¨onnen die Bearbeitungszeiten f¨ ur L¨oten, Atzen, Lackieren und 6
In der Literatur werden Jobs, die aufgrund gleicher R¨ ustzustand gruppiert werden k¨onnen, ¨ als Job-Familien bezeichnet. Ubertr¨ agt man dies auf den vorliegenden Kontext, entsprechen die Dioden den Jobs und die Diodentypen den Job-Familien. 7 Die Begriffe Charge und Batch (engl.) werden in der Literatur nicht einheitlich verwendet. So werden sie insbesondere im Bereich der diskreten und der prozessorientierten, verfahrenstechnischen Produktion unterschiedlich eingesetzt. In Witt(2004) werden auf S. 49ff. die Unterschiede herausgearbeitet. 8 Sie wurde ex ante u. a. durch Ber¨ ucksichtigung der Mindest- bzw. H¨ochstf¨ ullbest¨ande der Maschinen und/oder Lager bestimmt. Der gesamte Maschinenpark ist darauf ausgerichtet, die Dioden einer Charge gemeinsam zu produzieren. 9 Einzelne Dioden einer Charge, die bereits einen Arbeitsgang beendet haben, d¨ urfen somit nicht an der Nachfolgemaschine bearbeitet werden, solange nicht alle Dioden der Charge ihren Arbeitsgang beendet haben. Vgl. Reese(1980), S. 15. 10 Alle folgenden Angaben zu R¨ ust-, Prozess- und Nachlaufzeiten beziehen sich auf eine Charge; sie sind als Summe der Bearbeitungs-, R¨ ust- bzw. Nachlaufzeiten ihrer Operationen definiert.
46
3 Fallstudie aus der Halbleiterindustrie
Vergießen als konstante Nachlaufzeit angesehen werden.11 Wird der Montagediodentyp auftragsbedingt gewechselt, muss dar¨ uber hinaus ein R¨ ustvorgang stattfinden. Die Arbeitsg¨ange der Produktionsstufe Montage k¨onnen folglich zu einem Arbeitsgang Montieren“ mit R¨ ust-, Prozess- und Nachlaufzeiten ” zusammengefasst werden. Die R¨ ust- und Prozesszeiten sind dabei nur vom Maschinentyp, die Nachlaufzeiten dagegen sowohl vom Maschinen- als auch vom Diodentyp abh¨angig. ¨ Eine zusammenfassende Ubersicht u ¨ber die Produktionsstufe Montage gibt die folgende Tabelle 3.1. Die dort angegebenen Werte sind von den vorhandenen Maschinen technisch vorgegeben:12
Chargengr¨oße Maschinentyp Maschine R¨ ustzeit Bearbeitungszeit Nachlaufzeit(/-en) Anzahl Diodentypen
alte Linie neue Linie 70.000 35.000 Malt1 Malt2 Malt3 Mneu M1 M2 M3 M4 M5 M6 30 120 120 45 45 45 510 510 510 600 600 600 3600 3600 3600 3660 3660 3660 4410 4410 4410 23 23 18 22 22 22
Tabelle 3.1: Produktionsstufe Montage (Zeitangaben in Minuten je Charge) Zu jedem Zeitpunkt kann auf jeder Maschine h¨ochstens ein Auftrag und jeder Auftrag auf h¨ochstens einer Maschine bearbeitet werden. Dies gilt f¨ ur jeden Auftrag auf allen Maschinen der Diodenfabrik. Aufgrund kurzer Transportwege sind Transportzeiten vernachl¨assigbar. Es besteht zu keinem Zeitpunkt die Gefahr, dass die Kapazit¨aten der Zwischen- und Endlager zu klein sind. Nach Beendigung des Arbeitsganges Vergießen stehen die gefertigten Montagedioden in der Produktionsstufe Endmessung zur Weiterverarbeitung zur Verf¨ ugung.
3.2 Produktionsstufe Endmessung In der anschließenden Produktionsstufe Endmessung werden die Montagedioden weiterverarbeitet. In der Diodenfabrik liegt eine divergierende Produktionsstruktur vor. Das bedeutet, dass aus einem Montagediodentyp (MDx, x=1,. . . ,40) 11
Siehe Abbildung 3.2 auf S. 44. Auf der neuen Linie sind in Abh¨angigkeit vom herzustellenden Diodentyp zwei verschiedene Nachlaufzeiten m¨oglich. 12 Bei Angabe von zwei Werten sind diese alternativ in Abh¨angigkeit vom Diodentyp n¨otig.
3.2 Produktionsstufe Endmessung
47
durch unterschiedliche Arten der Weiterverarbeitung mehrere Endmessdiodentypen (EDy, y=1,. . . ,63) entstehen k¨onnen. Im betrachteten Fall k¨onnen aus einem Montagediodentyp bis zu sechs verschiedene Endmessdiodentypen erzeugt werden. Wie viele und welche dies genau sind, kann der folgenden Tabelle 3.2 entnommen werden. MDx MD1 MD2 MD3 MD4 MD5 MD6 MD7 MD8 MD9 MD10 MD11 MD12 MD13 MD14 MD15 MD16 MD17 MD18 MD19 MD20 MD21 MD22 MD23 MD24 MD25 MD26 MD27 MD28 MD29 MD30 MD31 MD32 MD33 MD34 MD35 MD36 MD37 MD38 MD39 MD40
EDy ED49 ED50 ED2 ED1 ED53 ED54 ED51 ED52 ED3 ED4 ED23 ED24 ED26 ED55 ED56 ED58 ED59 ED61 ED45 ED46 ED47 ED48 ED57 ED28 ED13 ED5 ED6 ED7 ED10 ED11 ED12 ED25 ED16 ED17 ED18 ED19 ED20 ED33 ED34 ED60 ED22 ED41 ED42 ED38 ED39 ED30 ED31 ED36 ED43 ED8 ED9 ED40 ED27 ED29 ED37 ED44 ED14 ED15 ED32 ED35 ED62 ED21
Anzahl
ED63
2 1 1 2 2 1 1 2 1 2 2 1 4 1 1 1 3 3 1 6 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1
Tabelle 3.2: Divergierende Produktionsstruktur
48
3 Fallstudie aus der Halbleiterindustrie
Die Produktionsstufe Endmessung ist nach dem Verrichtungsprinzip aufgebaut.13 Es gibt vier technische Arbeitsg¨ange – Loading, Endmessen, Schneiden und Sichtpr¨ ufen. Da das Schneiden entweder zusammen mit dem Endmessen oder dem Sichtpr¨ ufen auf einer Maschine erfolgt, verbleiben drei planungsrelevante Arbeitsg¨ange (siehe folgende Abbildung 3.3):
Abbildung 3.3: Planungsrelevante Arbeitsg¨ange der Endmessung Die Arbeitsg¨ange Loading und Sichtpr¨ ufen sind optional. Jede Diode muss dagegen endgemessen werden. F¨ ur die einzelnen Arbeitsg¨ange stehen in der Endmessung 11 Maschinentypen mit insgesamt 18 Maschinen zur Verf¨ ugung (vgl. Abbildung 3.5, S. 51). Loading F¨ ur den optionalen Arbeitsgang Loading stehen zwei Maschinentypen mit jeweils einer Maschine zur Verf¨ ugung – die Maschinentypen L1 mit Maschine M7 und L2 mit M8. Es m¨ ussen nur 8 Diodentypen geloadet werden. Endmessen Alle Diodentypen m¨ ussen endgemessen werden. F¨ ur den Arbeitsgang Endmessen gibt es drei Maschinentypen. Um die Endmessung durchzuf¨ uhren, sind die Diodentypen auf einer oder nacheinander auf zwei der im Folgenden beschriebenen Maschinen zu bearbeiten.14 • Der erste Maschinentyp E1 besteht aus den drei Maschinen M9, M10 und M11. 29 Diodentypen k¨onnen hierauf bearbeitet werden. Falls sie im Anschluss noch sichtgepr¨ uft werden m¨ ussen, kann das nur auf den Maschinen M22 und M23 erfolgen. • Die sechs Maschinen M12, M13, M14, M15, M16 und M17 bilden den zweiten Maschinentyp E2, auf dem 50 Diodentypen gefertigt werden k¨onnen. Wie beim ersten Maschinentyp ist ein eventuell anfallendes Sichtpr¨ ufen nur auf M22 bzw. M23 m¨oglich. • Auf dem dritten Maschinentyp E3 – bestehend aus der einzelnen Maschine M18 – k¨onnen neun Diodentypen endgemessen werden. Ein optionales Sichtpr¨ ufen kann im Anschluss nur auf M24 erfolgen. 13 14
Vgl. dazu Abschnitt 2.3.1 auf S. 23 sowie Domschke et al.(1997), S. 6. ED54 kann zun¨achst auf einer der Maschinen des Maschinentyps E1 und im Anschluss daran auf einer der Maschinen des Typs E2 bearbeitet werden. Die n¨otige Sichtpr¨ ufung muss auf Maschine M23 stattfinden. Da kein Loading n¨otig ist, sind vier Arbeitsg¨ange zu durchlaufen.
3.2 Produktionsstufe Endmessung
49
Endmessen und Sichtpr¨ ufen Das Endmessen kann aber auch auf einer der drei Universalmaschinen M19, M20 und M21 erfolgen. Jeder dieser Maschinen bildet einen eigenen Maschinentyp – ES1, ES2 und ES3. Diese Maschinentypen k¨onnen die drei Arbeitsg¨ange Endmessen, Schneiden und Sichtpr¨ ufen verrichten. Auf M19 k¨onnen 13, auf M20 14 und auf M21 8 Diodentypen bearbeitet werden. Sichtpr¨ ufen Der Arbeitsgang Sichtpr¨ ufen ist wie das Loading optional. 25 Diodentypen m¨ ussen sichtgepr¨ uft werden. Daf¨ ur stehen drei Maschinentypen mit jeweils einer Maschine zur Verf¨ ugung: S1 mit M22 und S2 mit M23 k¨onnen jeweils 25 Diodentypen, S3 mit M24 kann 7 Diodentypen bearbeiten. ¨ Einen Uberblick u ¨ber die m¨oglichen Produktionswege von Endmessen und Sichtpr¨ ufen gibt folgende Abbildung 3.4:
Abbildung 3.4: M¨ogliche Produktionswege von Endmessen und Sichtpr¨ ufen
In der Produktionsstufe Endmessung sind f¨ ur jeden Arbeitsgang bestimmte R¨ ust- und Bearbeitungszeiten, aber keine Nachlaufzeiten zu ber¨ ucksichtigen. Die genauen Werte sind der Tabelle 3.3 auf S. 50 zu entnehmen, wobei die Zeiten wie in Tabelle 3.1 auf S. 46 technisch vorgegeben und in Minuten je Charge angegeben sind:15 15
Bei Angabe von mehreren Werten sind diese alternativ in Abh¨angigkeit vom Diodentyp n¨otig.
50 Arbeitsgang
3 Fallstudie aus der Halbleiterindustrie Loading
Maschinentyp Maschine
L1 M7
L2 M8
R¨ ustzeit(/-en)
24
36
Bearbeitungszeit(/-en)
600 1200
Anzahl Diodentypen
8
Endmessen
Endm. u. Sichtpr.
Sichtpr¨ ufen
E1 M9M11 24
E2 M12M17 36
E3 M18
ES1 M19
ES2 M20
ES3 M21
S1 M22
S2 M23
S3 M24
36
36
18
60
1312 2625 1372 2058
1029 2058
1141 1800
1099 2182
1099 2182
1099 2182
24 36 500 1000 1029 1008
18
600 1200
12 36 500 1000 1029 1008
1000 1000
8
29
50
9
13
14
8
25
25
7
Tabelle 3.3: Produktionsstufe Endmessung (Angaben in Minuten je Charge)
Abschließend sind noch einmal alle Produktionsstufen, Maschinentypen (kursive Schrift und weiße K¨asten) und Maschinen (graue K¨asten) auf der folgenden Seite in der Abbildung 3.5 gemeinsam dargestellt.
3.3 Maschinenverfu ¨ gbarkeit In den beiden vorherigen Abschnitten wurde der bestehende Maschinenbestand beschrieben. Er ist fest vorgegeben. Prinzipiell k¨onnen die Maschinen ununterbrochen produzieren, wenn nicht gerade Instandhaltungsmaßnahmen durchgef¨ uhrt werden m¨ ussen. Allerdings m¨ ussen die Maschinen von qualifizierten Mitarbeitern bedient werden, die nicht immer rund um die Uhr zur Verf¨ ugung stehen. Die Arbeitszeiten der Mitarbeiter sind in einem dreistufigen Schichtbetrieb organisiert: An den f¨ unf Werktagen in einer Woche werden 3 Schichten `a 8 Stunden unterschieden. Ein Maschinen bezogenes Schichtmodell gibt an, wann eine Maschine aufgrund der Anwesenheit der entsprechend qualifizierten Mitarbeiter zur Herstellung von Dioden zur Verf¨ ugung steht. Das Schichtmodell wird mit einem gr¨oßeren zeitlichen Vorlauf erstellt. Mit dieser Information ist die zeitliche Verf¨ ugbarkeit der Maschinen zum Planungszeitpunkt fest vorgegeben. Die zeitliche Verf¨ ugbarkeit der Maschinen betr¨agt ca. 70-75% der maximal m¨oglichen 15 Schichten. Es k¨onnen in einem Planungszeitraum bereits von vornherein Kapazit¨atsengp¨asse bestehen, wenn die jeweilige Nachfrage an herzustellenden Dioden entsprechend hoch ist. Nach einem Maschinenstillstand – sei es wegen eines Wochenendes oder aufgrund einer ausfallenden Schicht – kommt es zu kapazit¨atsreduzierenden Anlaufzeiten. Da der R¨ ustzustand bei einem Stillstand nicht erhalten bleibt, ist beim Wiederanlauf zus¨atzlich ein R¨ ustvorgang n¨otig, so dass die Maschine erst
3.3 Maschinenverf¨ ugbarkeit
Abbildung 3.5: Produktionsprozess
51
52
3 Fallstudie aus der Halbleiterindustrie
mit diesem Zeitverzug nach dem Schichtbeginn einsatzf¨ahig ist. Die Nichtunterbrechbarkeit den Operationen bezieht sich auch auf eine Unterbrechung durch Maschinenstillst¨ande.16 Die Nachlaufzeit im Anschluss an den Montagevorgang kann unabh¨angig von der Verf¨ ugbarkeit der Montagemaschine erfolgen. Zusammenfassend l¨asst sich sagen, dass die Maschinenverf¨ ugbarkeit durch R¨ ustzeiten und Maschinenstillst¨ande (Maschinen bezogenes Schichtmodell) mit anschließenden kapazit¨atsreduzierenden Anlaufzeiten und Anfangsr¨ usten gekennzeichnet ist.17 Es ist zu beachten, dass es im Laufe des Planungszeitraums zu unvorhergesehenen (stochastischen) Maschinen- oder Personalausf¨allen kommen kann. Diese k¨onnen in einem Planungszeitraum w¨ahrend des Produktionsprozesses Kapazit¨atsengp¨asse verursachen. Da in der betrachteten Problemstellung die Lieferf¨ahigkeit einen sehr hohen Stellenwert hat,18 soll von diesem Unsicherheitsfaktor nicht abstrahiert werden.19 Im Folgenden wird daher diesen Unsicherheiten hinsichtlich der verf¨ ugbaren Ressourcen durch eine robuste Planung begegnet.20 Die robuste Planung entspricht einer deterministischen Planung mit Erweiterungen zur Ber¨ ucksichtigung von Unsicherheit(en) – exemplarisch sind Sicherheitskorrekturen zur Ber¨ ucksichtigung von Ausschuss und Maschinenausf¨allen bzw. Krankheit des Personals zu nennen.21 Bereits w¨ahrend der Planungsphase werden daher m¨ogliche St¨orereignisse antizipiert und damit ein (pr¨adikativer) Plan erstellt, der relativ unempfindlich, d. h. robust, auf sp¨ater evtl. tats¨achlich eintretende St¨orungen reagieren soll.22 Bei der Problemstellung wird somit von einer deterministischen Maschinenverf¨ ugbarkeit ausgegangen. 16
D. h., eine begonnene Bearbeitung von Auftr¨agen kann nicht durch einen Maschinenstillstand unterbrochen und im Anschluss an diesen wieder weitergef¨ uhrt werden. 17 Solche Fragestellungen werden in der Literatur im Kontext der Projektplanung unter der Bezeichnung Project Scheduling with renewable resources and calender breaks“ diskutiert. ” et al.(2003), S. 120ff. Vgl. Neumann 18 Siehe dazu nachfolgenden Abschnitt 3.6 19 In der Literatur werden dazu unter dem Begriff des St¨orungsmanagements re-planning“- und in-advance“-Ans¨atze diskutiert. Im ersten Fall der re-planning-Ans¨atze,” auch als reaktive ” Planung bezeichnet, wird zun¨achst wie unter Determiniertheit geplant. Erst beim Auftreten von St¨orungen werden dann entsprechende Anpassungen vorgenommen. Im zweiten Fall der in-advance-Ans¨atze sollen die erwarteten zuk¨ unftigen St¨orungen ex ante ber¨ ucksichtigt werden. Dies kann z. B. durch stochastische Modelle, fallbasierte Planung (contingency planning) oder robuste Planung erfolgen. Werden dagegen keinerlei Unsicherheitsfaktoren beachtet, spricht man auch von pr¨adikativer Planung. Vgl. Eversheim(1992); Eversheim(1993); Yu/Qi(2004). 20 Ausf¨ uhrlicher dazu vgl. Scholl(2001). 21 Eine Klassifikation der Unsicherheiten und St¨orungen erfolgt z. B. in Gebhard(2009), S. 21ff. 22 Unter Robustheit wird die Unempfindlichkeit eines Objekts bzw. Systems gegen¨ uber (zuf¨alligen) Umwelteinfl¨ ussen verstanden. Ein Plan erweist sich als robust, wenn die Realisierung des Plans f¨ ur (nahezu) jeden denkbaren zuk¨ unftig eintretenden Umweltzustand zu guten bzw. akzeptablen Ergebnissen im Hinblick auf die bei der Planung verfolgten Ziele f¨ uhrt. Vgl. Scholl(2001), S. 93.
3.4 Alternative Maschinenfolgen
53
3.4 Alternative Maschinenfolgen Ein Diodentyp kann nicht nur auf eine einzige vorgegebene Art und Weise hergestellt werden. Wie in Abschnitt 3.1 und 3.2 dargestellt, bestehen zwar bez¨ uglich der Diodentypen und Maschinentypen Relationen, die festlegen, ob ein Diodentyp an einem Maschinentyp bearbeitet werden kann. Dennoch existieren f¨ ur die Herstellung einer Diode eine Vielzahl von alternativen M¨oglichkeiten. Ein Maschinentyp repr¨asentiert eine Menge an identischen, parallelen Maschinen, die zur Bearbeitung einer Operation geeignet sind. Sobald ein Diodentyp auf einem Maschinentyp hergestellt werden kann und von diesem mehr als eine Maschine zur Verf¨ ugung steht, kann der Diodentyp alternativ auf jeder dieser Maschinen bearbeitet werden. Im Folgenden wird zwischen der Maschinentypfolge und der Maschinenfolge unterschieden. Eine Maschinentypfolge eines Auftrags gibt an, auf welchen Maschinentypen die einzelnen Operationen dieses Auftrags in welcher Reihenfolge bearbeitet werden m¨ ussen. Erst die Maschinenfolge nennt konkret f¨ ur jede Operation die einzelnen Maschine, auf der sie zu bearbeiten ist.23 Zum besseren Verst¨andnis werden beispielhaft die alternativen Maschinentypund Maschinenfolgen von ED62 und ED10 n¨aher betrachtet. Endmessdiodentyp ED10 muss nur montiert und endgemessen werden. Die Montage und das Endmessen k¨onnen jeweils nur mit einem Maschinentyp – Malt3 bzw. E2 – erfolgen. Es existiert somit nur eine Maschinentypfolge f¨ ur ED62. Da f¨ ur die Montage beim Maschinentyp Malt3 nur eine Maschine (M3) und f¨ ur das Endmessen auf dem Maschinentyp E2 sechs Maschinen zur Verf¨ ugung stehen (M12,. . . ,M17), existieren f¨ ur ED10 1·6=6 zul¨assige Maschinenfolgen, d. h. 6 alternative Wege durch den zweistufigen Produktionsprozess: M3-M12“; M3-M13“; M3-M14“; M3-M15“; M3-M16“; ” ” ” ” ” M3-M17“. Die m¨oglichen Maschinenfolgen bzw. Einplanungsalternativen k¨on” nen in Abbildung 3.6 auf S. 54 nachvollzogen werden. Endmessdiodentyp ED62 dagegen kann sogar auf 108 verschiedene Arten hergestellt werden. ED62 muss alle vier Arbeitsg¨ange durchlaufen, d. h., er muss montiert, geloadet, endgemessen und sichtgepr¨ uft werden. In der Montage wird ED62 auf der neuen Produktionslinie und damit auf dem Maschinentyp Mneu hergestellt, der aus 3 Maschinen besteht (vgl. Abbildung 3.5 auf S. 51). Danach kann der Arbeitsgang Loading auf den 2 Maschinen M7 und M8 erfolgen. F¨ ur das Endmessen stehen die 3 Maschinen des Maschinentyps E1 und die 6 Maschinen des Typs E2 zur Verf¨ ugung. Das anschließende Sichtpr¨ ufen kann auf S1 23
Dies widerspricht der u ¨blichen Verwendung des Begriffs Maschinenfolge im Kontext von flexiblen Shop-Problemen. Dort wird zwar von alternativen Maschinenfolgen gesprochen, doch auch eine Folge von Maschinenmengen als Maschinenfolge bezeichnet.
54
3 Fallstudie aus der Halbleiterindustrie
Abbildung 3.6: Maschinenfolgen von Endmessdiodentyp ED10 (M22) und S2 (M23) erfolgen. Somit gibt es 8 verschiedene Maschinentypfolgen und 3 · 2 · (3 + 6) · 2 = 108 Maschinenfolgen. Die alternativen Maschinentypfolgen mit der korrespondierenden Anzahl Maschinenfolgen sind auf folgender Seite in Tabelle 3.4 dargestellt. Zudem sind alle m¨oglichen Wege durch den Maschinenpark in Abbildung 3.7 grafisch veranschaulicht. Eine m¨ogliche Maschinenfolge von ED62 ist zum Beispiel M4-M7-M12-M23“: Montieren auf M4, Loaden auf M7, Endmessen auf ” M12 und Sichtpr¨ ufen auf M23. ¨ Tabelle 3.5 auf S. 56 gibt einen Uberblick u ¨ber die Anzahl der alternativen Maschinenfolgen, mittels derer die einzelnen Endmessdiodentypen hergestellt werden k¨onnen.
3.5 Nachfrage
55 Maschinentypfolgen
Anzahl Maschinenfolgen
Mneu-L1-E1-S1 Mneu-L1-E1-S2 Mneu-L1-E2-S1 Mneu-L1-E2-S2 Mneu-L2-E1-S1 Mneu-L2-E1-S2 Mneu-L2-E2-S1 Mneu-L2-E2-S2
3·1·3·1=9 3·1·3·1=9 3 · 1 · 6 · 1 = 18 3 · 1 · 6 · 1 = 18 3·1·3·1=9 3·1·3·1=9 3 · 1 · 6 · 1 = 18 3 · 1 · 6 · 1 = 18
Tabelle 3.4: Alternative Maschinentypfolgen und dazugeh¨orige Anzahl Maschinenfolgen des Endmessdiodentyps ED62
Abbildung 3.7: M¨ogliche Wege des Endmessdiodentyps ED62 durch den Produktionsprozess – Darstellung anhand der Maschinentypen
3.5 Nachfrage Die Produktion der 63 verschiedenen Diodentypen richtet sich nach den sukzessiven, zeitlich gestreuten Auftragseing¨angen. Es handelt sich hierbei um ein dynamisches Reihenfolgeproblem.24 Im Folgenden wird die Problemstellung aber aus Gr¨ unden der Vereinfachung der komplexen Problemstruktur der Ablaufplanung im dynamischen Produktionsprozess in eine Reihe statischer Probleme zergliedert, die aneinander gereiht werden. D. h., es wird der simultane Eingang eines endlichen Auftragsvolumens bei genauer Kenntnis der Auftragscharakteristika bei Planungsbeginn unterstellt und nur der Zeitablauf innerhalb 24
Vgl. Abschnitt 2.2.1.
56
3 Fallstudie aus der Halbleiterindustrie ED1 ED2 ED3 ED4 ED5 ED6 ED7 ED8 ED9 ED10 ED11 ED12 ED13 ED14 ED15 ED16 ED17 ED18 ED19 ED20 ED21
6 18 6 6 12 20 80 18 18 6 18 38 36 18 42 28 28 28 28 28 12
ED22 ED23 ED24 ED25 ED26 ED27 ED28 ED29 ED30 ED31 ED32 ED33 ED34 ED35 ED36 ED37 ED38 ED39 ED40 ED41 ED42
14 9 24 24 9 30 3 1 9 9 39 27 39 3 27 27 39 36 39 39 36
ED43 30 ED44 9 ED45 6 ED46 16 ED47 24 ED48 28 ED49 16 ED50 16 ED51 22 ED52 22 ED53 6 ED54 50 ED55 6 ED56 6 ED57 14 ED58 9 ED59 7 ED60 2 ED61 3 ED62 108 ED63 14
Tabelle 3.5: Anzahl m¨oglicher Maschinenfolgen je Endmessdiodentyp des Planungszeitraums betrachtet. Es wird nach der Vorgehensweise der Anschlussplanung vorgegangen. Die Planungsintervalle betragen immer vier Wochen.25 Die Aufl¨osung des Planungsintervalls ist dabei minutenscharf, so dass abz¨ uglich der Wochenenden 28800 Minuten zur Produktion zur Verf¨ ugung stehen (siehe Abbildung 3.8, S. 57). Die Zeitinterdependenzen zu den benachbarten Planungsperioden werden durch eine u ucksichtigt. ¨berlappende Planung ber¨ Das bedeutet, dass die noch nicht bearbeiteten Auftr¨age aus dem Auftragsbestand der vorherigen Planungsperiode zu den einzuplanenden Auftr¨agen der Folgeperiode hinzugenommen werden. Diese Vereinfachung kann zwar zu einer Erh¨ohung der Lieferzeit f¨ uhren, eine Planrevision jeweils nach Erhalt eines neuen Auftrags, d. h. bei jedem ver¨anderten Auftragsbestand, ist aber aufgrund des 25
Bei der Anschlussplanung wird nur zu bestimmten, ¨aquidistanten Zeitpunkten t ein Plan aufgestellt, der Entscheidungen f¨ ur einen bestimmten Planungshorizont mit den Perioden t, t + 1, . . . , t + T − 1 beinhaltet (hier auch als Planungsintervall bezeichnet). Die Anzahl vom Plan betrachteten Perioden T wird als Planreichweite bezeichnet. Vgl. Scholl(2001), S. 33. In der betrachteten Fallstudie wird immer mit t bei null gestartet, so dass die Begriffe Planungshorizont und Planreichweite identische Werte annehmen und daher im weiteren Verlauf der Arbeit synonym verwendet werden.
3.5 Nachfrage
57
außerordentlich ansteigenden Planungsaufwandes gem¨aß der Entscheidung der Unternehmensleitung nicht vorgesehen.26 1. Woche Dienstag
480
0
7200
14400
21600
28800
1. Wochenende
Abbildung 3.8: Zeitstrahl Planungshorizont (in Minuten) Das Produktionsprogramm ist somit durch die Nachfrage fest vorgegeben. Die Endmessdioden weisen in der Regel zu 50% eine negative und zu 50% eine positive Polarit¨at auf. Da dies aber den Bedarfen der Kunden entspricht, muss bez¨ uglich der Nachfrage nicht weiter differenziert werden. Allerdings ist ein Ausschuss nicht zu vermeiden, so dass ein empirisch ermittelter Ausbeutefaktor von a% zu ber¨ ucksichtigen ist. Wenn zum Beispiel 100.000 Dioden des Endmessdiodentyps ED10 nachgefragt werden, bedeutet dies, dass sowohl 50.000 St¨ uck mit positiver als auch 50.000 St¨ uck mit negativer Polarisierung gew¨ unscht sind. Der Endmessdiodentyp ED10 wird aus dem Montagediodentyp MD18 hergestellt. Um die Nachfrage nach 100.000 Dioden von ED10 zu befriedigen, sind daher 100.000 · (1/a) Montagedioden vom Typ MD18 zu produzieren. Aus der folgenden Abbildung 3.9 ist ersichtlich, dass die Gesamtmenge an zu produzierenden MD18 zus¨atzlich von der Nachfrage nach den Endmessdiodentypen ED11 und ED12 abh¨angt.
Chips
Montage
Endmessung
Montagediodentyp
Endmessdiodentyp
MD18
1/a
ED10
1/a
ED11
1/a ED12
Kundenauftrag (+) (-) (+) (-) (+) (-)
Abbildung 3.9: Divergierende Produktionsstruktur des Montagediodentyps MD18 26
Vgl. French(1982), S. 16; Scholl(2001), S. 32.
58
3 Fallstudie aus der Halbleiterindustrie
Unter Ber¨ ucksichtigung des Lagerbestandes bzw. noch nicht befriedigter Nachfrage aus der vorherigen Periode wird der Nettobedarf f¨ ur jeden Diodentyp bestimmt. Die einzelnen Diodentypen k¨onnen entweder nur auf den Maschinen der alten Linie oder nur auf den Maschinen der neuen Linie produziert werden. Da, wie beschrieben, die Chargengr¨oße auf der alten Linie 70.000 und auf der neuen Linie 35.000 Dioden betr¨agt und die Gr¨oße der Charge auf allen Maschinen einer Maschinenfolge gleich ist, kann die Chargenanzahl f¨ ur die einzelnen Diodentypen leicht berechnet werden. Indem die Bestellmenge eines bestimmten Endmessdiodentyps in einer Planungperiode um den Restbedarf bzw. den Lagerbestand aus der vorherigen Periode korrigiert wird, ergibt sich dessen Nettobedarf. Durch Division von Nettobedarf und Chargengr¨oße und anschließendem Aufrunden ergibt die Anzahl der zu produzierenden Chargen. Sind z. B. vom Endmessdiodentyp ED62 218.000 Dioden bestellt und liegen davon noch 15.000 Dioden auf Lager, berechnet sich die Anzahl an zu produzierender Chargen folgendermaßen:
218.000 − 15.000 = 5, 8 = 6 35.000 Da ED62 auf der neuen Linie produziert werden muss, ist die Chargengr¨oße 35.000 St¨ uck. Anschließend liegen 0, 2 · 35.000 = 7.000 Dioden auf Lager. Eine Charge muss innerhalb einer Planungsperiode komplett fertig gestellt werden.27 Ist dies aufgrund fehlender Kapazit¨aten nicht m¨oglich, muss die Produktion der Charge komplett in den nachfolgenden Planungszeitraum verschoben werden. Wenn mit der Bearbeitung einer Charge im Planungszeitraum begonnen wird, bedeutet dies somit, dass diese auch im Planungszeitraum beendet werden muss.
3.6 Zielsetzung Zielsetzung des Unternehmens ist die kosteng¨ unstige und termingerechte Umsetzung des f¨ ur den Planungszeitraum gegebenen, mit dem Vertrieb abgestimmten Produktionsprogramms unter Ber¨ ucksichtigung unvorhergesehener Maschinenausf¨alle. Um im Wettbewerb bestehen zu k¨onnen, sind neben technologischem KnowHow-Vorsprung die Kosten von großer Bedeutung. Bei der Herstellung der Dioden entstehen Kosten insbesondere durch den operativen Personaleinsatz sowie die Kapitalbindung. Die Personalkosten stellen dabei den gr¨oßten Kostenfaktor dar. Sie sind prim¨ar durch die Einsatzzeiten der Maschinen determiniert. 27
Die Fertigstellungszeiten der Operationen einer Charge sind als Fertigstellungszeit der Charge definiert.
3.6 Zielsetzung
59
Wie in Abschnitt 3.3 beschriebenen, ist im Schichtmodell festgelegt, in welchen Schichten eine Maschine w¨ahrend des Planungszeitraums zur Verf¨ ugung steht. Zu diesen Zeiten muss sie durch einen oder mehrere qualifizierte Mitarbeiter bedient werden. In Phasen mit verst¨arktem Nachfrager¨ uckgang sollten die Kapazit¨aten geeignet angepasst werden, um Personalkosten und eine hohe Kapitalbindung durch den Aufbau von Lagerbest¨anden zu vermeiden. Das Kapital wird insbesondere aufgrund der Verarbeitung von relativ teurem Kupfer gebunden. Im Rahmen der kurzfristigen Ablaufplanung f¨ ur den gegebenen Planungszeitraum von einem Monat sind die Kosten allerdings nicht entscheidungsrelevant. Durch das zeitliche Verschieben von Auftr¨agen innerhalb des Planungszeitraums k¨onnen die Personalkosten und die Beschaffungsvorg¨ange hinsichtlich des Kupfers nicht beeinflusst werden. Daher wird die Zielsetzung der Kostenminimierung im Folgenden nicht direkt verfolgt. Wird aber durch einen Einsatz von Prognoseverfahren zur Sch¨atzung der Bedarfe in den zuk¨ unftigen Monaten ersichtlich, dass diese auch mit weniger Schichten befriedigt werden k¨onnen, so sollten rechtzeitig geeignete kapazit¨atsreduzierende Anpassungen in den Schichtmodellen durchgef¨ uhrt werden, um die Einsparungspotenziale auszunutzen. Neben dem Kostenaspekt gibt es das Ziel der termingerechten Umsetzung des f¨ ur den Planungszeitraum gegebenen, mit dem Vertrieb abgestimmten Produktionsprogramms. Es ist wie in Abschnitt 3.5 gezeigt zu Beginn der Planungsperiode bekannt, welche Diodentypen in welchen Mengen produziert werden m¨ ussen. Das Unternehmen arbeitet dann erfolgreich, wenn alle vereinbarten Mengen innerhalb des Planungszeitraums hergestellt werden. Aus absatzpolitischen Gr¨ unden sollte es keinen vollst¨ andigen Ausfall der Lieferbereitschaft bei einem einzelnen Diodentyp geben. Aufgrund von St¨orungen bei den Maschinen oder unzureichenden Kapazit¨aten kann es aber zu Fehlmengen kommen. Der Prozess muss so gestaltet sein, dass die Fehlmengen m¨oglichst gleichm¨aßig auf alle Diodentypen verteilt werden.
60
3 Fallstudie aus der Halbleiterindustrie
3.7 Zusammenfassung und Anmerkungen In der dargestellten Problemstellung handelt es sich um ein komplexes statischdeterministisches28 Maschinenbelegungsplanungsproblem, das durch folgende Eigenschaften gekennzeichnet ist: • • • • • • • •
Multikriterielle Zielsetzung Chargenproduktion Auftragsgruppen (Montagediodentypen) Alternative Maschinenfolgen Nachlaufzeiten (nicht unterbrechbar) Parallele Maschinen R¨ ustzeiten (nicht unterbrechbar) Maschinenstillst¨ande mit Anlaufzeiten und Anfangsr¨ usten (nicht unterbrechbar, R¨ ustzustand bleibt nach einem Stillstand nicht erhalten) • fester Planungszeitraum mit M¨oglichkeit der Nichterf¨ ullung (komplette Charge oder gar nicht)
Die Diodenfertigung ist zwar in zwei Produktionsstufen mit unterschiedlichen Prinzipien organisiert.29 Indem aber wie in Abschnitt 3.1 auf S. 46 beschrieben die Produktionsstufe Montage durch einen Arbeitsgang Montieren mit einer konstanten Nachlaufzeit abgebildet wird, l¨asst sich das Problem aber insgesamt in der Struktur eines Job-Shop mit maximal vier Arbeitsg¨angen je Auftrag darstellen. Bei der Problemstellung ist in dreierlei Hinsicht Flexibilit¨at30 gegeben: durch die Existenz paralleler Maschinen und alternativer Maschinenfolgen sowie die M¨oglichkeit der Nichterf¨ ullung von Auftr¨agen. So ist zur Bearbeitung einer Operation Okm nicht nur eine einzige Maschine, sondern eine Menge Mkm ⊆ M von |Mkm | = Mkm identischen, parallelen Maschinen gegeben. Alle in einer Menge Mkm zusammengefassten Maschinen sind vom gleichen Maschinentyp M T . Dies entspricht einem flexiblen Job-Shop-Problem.31 Allerdings ist bei 28
Deterministisch, weil die entscheidungsrelevanten Gr¨oßen feststehen bzw. als solche definiert wurden (vgl. Maschinenstillst¨ande); statisch, da die Nachfrage und damit alle Auftr¨age bekannt sind und als unver¨anderlich angenommen werden und die Angaben u ust- und ¨ber R¨ Bearbeitungszeiten bekannt und konstant sind. Vgl. Abschnitt 2.2.1, S. 11. 29 Permutation Flow Shop mit f¨ unf Arbeitsg¨angen bei der Produktionsstufe Montage und JobShop mit maximal drei Arbeitsg¨ange bei der Produktionsstufe Endmessung. 30 Weiterf¨ uhrende Literatur zur Flexibilit¨at vgl. z. B. Tempelmeier/Kuhn(1993) S. 17ff.; Haller(1999); Zeleweski(1999). 31 Im Kontext von flexiblen Fertigungssystemen wird die Tatsache, dass ein Auftrag mit einer fest vorgegebenen Maschinenfolge verschiedene physische Wege durch den Maschinenpark (FMS-System) nehmen kann, als Durchlaufflexibilit¨at bezeichnet. Zudem ist Maschinenflexibilit¨at gegeben, da ein R¨ ustvorgang leicht zu bewerkstelligen ist. Vgl. Tempelmeier/Kuhn(1993), S. 19 und 21.
3.7 Zusammenfassung und Anmerkungen
61
diesem Problemtyp F J wie bei allen anderen in der Klassifikation in Abschnitt 2.3 auf S. 21 beschriebenen Problemtypen die Maschinentypfolge immer identisch und damit die Anzahl Operationen Ok eines Auftrags k gegeben und konstant – unabh¨angig davon, auf welcher der parallelen Maschinen die einzelnen Operationen bearbeitet werden. Bei der betrachteten Problemstellung kann die Anzahl an Operationen, die zur Herstellung eines Auftrags n¨otig sind, aber in Abh¨angigkeit von der gew¨ahlten Maschinentypfolge unterschiedlich sein.32 So ist z. B. Endmessdiodentyp ED54 aus einem Chip in zwei, drei oder vier Arbeitsg¨angen herstellbar.33 Es wurde in Abschnitt 2.2.1 auf S. 12 erl¨autert, dass bei rein primalen Ablaufplanungsproblemen die Bearbeitungsplanung aufgrund der technologischen Determiniertheit entf¨allt und nur noch die Reihenfolge- und Terminplanung relevant sind. Im betrachteten Beispiel gibt es zwar nicht eine einzelne“ Ma” schinenfolge f¨ ur jeden Auftrag, aber es steht eine feste Anzahl an technologisch determinierten Maschinentypfolgen und damit Maschinenfolgen fest. Es muss also nicht mehr bestimmt werden, in welcher Reihenfolge die einzelnen Operationen zur Fertigung eines Erzeugnisses abgearbeitet werden k¨onnen bzw. m¨ ussen, sondern nur eine Maschinenfolge aus einer bestimmten Anzahl m¨oglicher Maschinenfolgen ausgew¨ahlt werden. Insofern handelt es sich hier auch um ein primales Ablaufplanungsproblem, bei dem aufgrund der alternativen Maschinenfolgen nicht mehr nur die Bestimmung der Start- und Endzeitpunkte der Operationen Aufgabe der Ablaufplanung ist, sondern außerdem f¨ ur jeden Auftrag eine Maschinenfolge ausgew¨ahlt werden muss.34 Um die Fallstudie gem¨aß dem in Abschnitt 2.3 eingef¨ uhrten Schema klassifizieren zu k¨onnen, werden zwei neue Parameter f¨ ur die Maschinenumgebung α1 eingef¨ uhrt: α1 ∈ {M J, M F J} bringt zum Ausdruck, dass es sich um ein (flexibles) Job-Shop-Problem handelt, bei dem die einzelnen Auftr¨age durch mehrere, verschiedene Maschinentypfolgen 32
Im Kontext von flexiblen Fertigungssystemen wird dieser Sachverhalt unter dem Begriff Arbeitsplanflexibilit¨at diskutiert. Mit Hilfe einer Arbeitsplanoptimierung wird f¨ ur die herzustellenden Produkte jeweils ein alternativer Arbeitsplan (Operationsfolge) ausgew¨ahlt und/oder werden Operationen jeweils einer der parallelen Maschinen zugeordnet. Vgl. Sherali et al.(1990) ( alternate routing combination (ARC)“) und Tempelmeier/Kuhn(1993), ” Morton/Pentico(1993) betrachten die Existenz mehrerer EinplanungsS. 19 sowie 334ff. alternativen unter dem Begriff process routing“. Vgl. dazu auch Ro/Kim(1990) und Ze” lewski(2008), S. 436f. 33 Endmessdiodentyp ED54 kann auf 50 Arten hergestellt werden. Durch die beiden Maschinenfolgen M1-M20 sowie M2-M20 kann er in zwei Arbeitsg¨angen produziert werden. Eine von 36 M¨oglichkeiten ED54 in vier Arbeitsg¨angen herzustellen ist z. B. M1-M9-M12-M23. 34 Wie es auch bei den Einmaschinenproblemen mit parallelen Maschinen sowie dem Open-Shop und den flexiblen Shop-Problemen der Fall ist.
62
3 Fallstudie aus der Halbleiterindustrie
k alter(Modi) hergestellt werden k¨onnen.35 D. h., f¨ ur einen Auftrag k sind E native Maschinentypfolgen e und (auch infolgedessen) Ek alternative Maschiuhrender Operationen Oke h¨angt nenfolgen e gegeben.36 Die Anzahl durchzuf¨ sowohl vom Auftrag k als auch von der Maschinenfolge e ab. Dieser neue Problemtyp l¨asst sich folgendermaßen von den bisher eingef¨ uhrten Maschinencharakteristika abgrenzen (vgl. auch Tabelle 3.6 auf S. 63):37 • Job-Shop-Problem (J) Dieser Problemtyp ist prim¨ar durch die Reihenfolgeplanungsproblem gekennzeichnet, d. h., es ist f¨ ur jede Maschine festzulegen, in welcher Reihenfolge die Auftr¨age auf ihr zu bearbeiten sind (Auftragsfolge). k = 1, ∀k). Da Es gibt genau eine Maschinentypfolge f¨ ur jeden Auftrag (E jeder Maschinentyp aus genau einer Maschine besteht (Mkm = 1, ∀(k, m) ∈ ur jeden Auf(K × M))38 , gibt es somit auch genau eine Maschinenfolge f¨ trag (Ek = 1, ∀k). Die Arbeitsganganzahl Ok h¨angt (nur) vom Auftrag k ab.39 35
Die Bezeichnung erfolgt in Anlehnung an die Bezeichnung M P S f¨ ur das Multi-mode-ProjectScheduling-Problem (vgl. Ahn/Kusiak(1991); Drexl/Sprecher(1993); Brucker et al.(1999); Hartmann(1999), S.7; Heilmann(2000); Neumann et al.(2003), S. 160ff.), die im Kontext der Produktionsplanung Alternative Process Plans“ aufgrund der Verwandtschaft zur Projektplanung als modes“ ”bezeichnen. Dort bringt der Begriff multi mode“ aber im Gegensatz ” ” Bearbeitung einzelner Operazu der Verwendung in dieser Arbeit zum Ausdruck, dass die tionen (und nicht Auftr¨age) auf verschiedene Arten m¨oglich ist. Es ist außerdem zu beachten, dass M (F )J nicht dem von Brucker/Neyer(1998) eingef¨ uhrten multi-mode job-shop problem“ (MMJSP) entspricht. In einem MMJSP wird jeder Opera”tion eine Menge an Maschinenmengen zugeordnet. F¨ ur die Bearbeitung einer Operation werden dabei w¨ahrend des gesamten Bearbeitungszeitraums alle Maschinen der zugeordneten Maschinenmenge ben¨otigt, d. h., es handelt sich um so genannte multi-processor-tasks. 36 Es sind die jeweils auszuf¨ uhrenden Operationen und ihre Beziehungen zueinander sowie die R¨ ust-, Prozess- und Nachlaufzeiten bekannt. 37 Die Differenzierung h¨angt mit dem Grad der Flexibilit¨at zusammen. In der Literatur gibt es zahlreiche ¨ahnliche Differenzierungen. So erfolgt z. B. in Lin/Solberg(1991) im Kontext von FMS eine ¨ahnliche Einteilung der routing flexibility“ in vier Typen: no routing flexi” bility, fixed sequencing, flexible sequencing, flexible processing. Dabei k¨onnen im Gegensatz zu der im Folgenden im Rahmen der Arbeit eingef¨ uhrten Differenzierung einzelne Operationen innerhalb der Maschinenfolge variabel einplanbar sein. Brandimarte/Calderini(1995) wiederum teilen Fertigungssysteme in drei Flexibilit¨atskategorien ein: • Die α-Flexibilit¨at bezieht sich auf die Maschinenfolgen und bewegt sich zwischen den beiden Extrema Job-Shop (nur lineare Folgen sind zul¨assig) und Open-Shop (keinerlei Vorrangbeziehungen zwischen den Operationen). • Bei Existenz von identischen, parallelen Maschinen liegt β-Flexibilit¨at vor. Die Maschinenfolge ist festgelegt, aber es muss ein Routing, d. h. eine Zuordnung der Operationen zu einer der jeweils parallelen Maschinen, und Scheduling erfolgen. • Die γ-Flexibilit¨at gibt zum Ausdruck, dass es nicht mehr nur einen fixen Prozessplan, d. h. eine Maschinenfolge, gibt, sondern aus einer Menge von zul¨assigen Prozesspl¨anen ausgew¨ahlt werden kann. (α- und β-Flexibilit¨at sind somit Spezialf¨alle der γFlexibilit¨at). 38 (K × M) = {(k, m)|k ∈ K ∧ m ∈ M}. 39 Beim Job-Shop-Problem kann die Arbeitsganganzahl zweier Auftr¨age unterschiedlich sein, muss es aber nicht.
3.7 Zusammenfassung und Anmerkungen
63
k = 1 ∀k ∈ K E k > 1 ∃k ∈ K E Mkm = 1 ∀(k, m) ∈ (K × M)
J
MJ
Mkm > 1 ∃(k, m) ∈ (K × M)
FJ
MF J
Tabelle 3.6: Differenzierung der vier Job-Shop-Scheduling-Problemtypen J, F J, M J und M F J anhand der Anzahl Maschinen Mkm einer Menge an Maschinen, an denen eine Operation alternativ bearbeitet k werden kann, und anhand der Anzahl Maschinentypfolgen E • Flexibles Job-Shop-Problem (F J) Zum Reihenfolgeproblem kommt ein Zuordnungsproblem hinzu: Da zur Bearbeitung von mindestens einer Operation eine gegebene Menge von identischen, parallelen Maschinen zur Verf¨ ugung steht, ist jeder Operation genau eine Maschine zuzuweisen, die diese ausf¨ uhren soll. k = 1, ∀k). Da Es gibt genau eine Maschinentypfolge f¨ ur jeden Auftrag (E von mindestens einem Maschinentyp mehr als eine Maschine zur Verf¨ ugung ur einen steht (Mkm > 1, ∃(k, m) ∈ (K × M)), gibt es somit mindestens f¨ Auftrag mehrere Maschinenfolgen (Ek > 1, ∃k). Die Arbeitsganganzahl Ok ver¨andert sich dadurch aber nicht und h¨angt nach wie vor nur vom Auftrag k ab. • Job-Shop-Problem mit mehreren Maschinentypfolgen (M J) Beim Job-Shop-Problem mit mehreren Maschinentypfolgen M J kann mindestens ein Auftrag durch mehrere Maschinentypfolgen hergestellt werden. Dabei kann jede Operation nur auf einer einzigen Maschine bearbeitet werden. Die Maschinentypfolgen entsprechen daher wie beim (einfachen) Job-Shop-Problem J den Maschinenfolgen. Auch hier ist ein Zuordnungsproblem zu ber¨ ucksichtigen: Es geht allerdings nicht wie beim F J darum, einer Operation eine Maschine zuzuordnen, sondern es ist f¨ ur jeden Auftrag eine Maschinentypfolge auszuw¨ahlen, mit der dieser hergestellt werden soll. Jeder Maschinentyp besteht aus genau einer Maschine (Mkm = 1, ∀(k, m) ∈ (K × M)). Es gibt f¨ ur mindestens einen Auftrag mehr als eine Maschi k = Ek > 1, ∃k). Die Arbeitsnentypfolge und damit Maschinenfolge (E ganganzahl Oke = Oke eines Auftrag k h¨angt daher auch von der Maschinentypfolge e bzw. Maschinenfolge e ab. • Flexibles Job-Shop-Problem mit mehreren Maschinentypfolgen (M F J) Beim flexiblen Job-Shop-Problem mit mehreren Maschinentypfolgen M F J kann sowohl mindestens ein Auftrag durch verschiedene Maschinentypfol k > 1, ∃k) als auch mindestens eine Operation gen hergestellt werden (E
64
3 Fallstudie aus der Halbleiterindustrie alternativ auf einer Maschine aus einer gegebenen Menge identischer, paralleler Maschinen bearbeitet werden (Mkm > 1, ∃(k, m) ∈ (K × M)). Die Arbeitsganganzahl Oke h¨angt vom Auftrag k und der Maschinenfolge e ab. Es sind somit zwei Zuordnungsprobleme zu betrachten. Einerseits ist jedem Auftrag eine Maschinentypfolge zuzuordnen und andererseits jeder Operation innerhalb dieser eine der parallelen Maschinen eines Maschinentyps.
In Abbildung 3.10 auf S. 65 sind die vier beschriebenen Job-Shop-SchedulingProblemtypen anhand eines Beispiels graphisch veranschaulicht. Zur Herstellung von zwei Auftr¨agen k = 1 (gr¨ un dargestellt) und k = 2 (blau) stehen die drei Maschinentypen M T 1, M T 2 und M T 3 (weißer Kasten) zur Verf¨ ugung. Bei einfachen“ Job-Shop-Problemen steht von jedem Maschinentyp genau ei” ne Maschine (grauer Kasten) zur Verf¨ ugung, so dass sich Maschinentyp- und Maschinenfolge entsprechen. Bei den flexiblen Job-Shop-Problemen kann eine Operation alternativ auf drei Maschinen des Maschinentyps M T 1 und auf zwei Maschinen des Maschinentyps M T 2 bearbeitet werden. Im Rahmen der Maschinentypfolge eines Auftrags, muss eine Operation an den Maschinentypen M T 1 und M T 2 daher genau einer der jeweiligen parallelen Maschinen zugeordnet werden, um die Maschinenfolge festzulegen. • Beim (einfachen) Job-Shop-Problem J hat jeder Auftrag eine Maschinen 2 = E1 = E2 = 1). 1 = E typ- und eine Maschinenfolge (E • Auch beim flexiblen Job-Shop-Problem F J ben¨otigen die Auftr¨age k = 1 und k = 2 zu ihrer Herstellung drei (O1 = 3) bzw. zwei (O2 = 2) Ar1 = E 2 = 1), beitsg¨ange. Beide Auftr¨age haben eine Maschinentypfolge (E aber aufgrund der parallelen Maschinen E1 = 3·2·1 = 6 bzw. E2 = 3·1 = 3 alternative Maschinenfolgen. • Beim Beispiel f¨ ur M J kann Auftrag k = 1 durch drei verschiedene Maschi 1 = E1 = 3).40 nentyp- und damit Maschinenfolgen hergestellt werden (E Die Anzahl an zu durchlaufenden Arbeitsg¨angen h¨angt von der jeweiligen Maschinen(typ)folge ab: O11 = 2, O12 = 3 und O13 = 2. Auch Auftrag k = 2 kann durch mehrere, genauer zwei, alternative Maschi 2 = E2 = 2), die zwei oder drei Arnen(typ)folgen hergestellt werden (E beitsg¨ange ben¨otigen (O21 = 2, O22 = 3).41 1 = 3, E 2 = 2) • Stehen neben diesen alternativen Maschinentypfolgen (E auch die parallele Maschinen bei den Maschinentypen M T 1 und M T 2 zur Verf¨ ugung (M F J), w¨achst die Anzahl m¨oglicher Maschinenfolgen bei 40
Die alternativen Maschinentypfolgen vom ersten Auftrag sind als schwarz gepunktete, durchgezogene und gestrichelte Pfeilfolgen dargestellt. 41 Analog sind die zwei alternativen Maschinentypfolgen als grau durchgezogene oder gestrichelte Pfeilfolgen dargestellt.
3.7 Zusammenfassung und Anmerkungen
65
Auftrag k = 1 auf E1 = 3 · 2 + 3 · 2 · 1 + 3 · 1 = 15 und bei Auftrag k = 2 auf E2 = 3 · 1 + 3 · 2 · 1 = 9 an. Die Arbeitsganganzahl h¨angt wie bei M F von der Maschinen(typ)folge ab (O11 = 2, O12 = 3, O13 = 2, O21 = 2 und O22 = 3).
Abbildung 3.10: Veranschaulichung der vier Job-Shop-Scheduling-Problemtypen J, F J, M J und M F J Damit l¨asst sich die hier betrachtete Fallstudie aus der Halbleiterindustrie (FSH) folgendermaßen klassifizieren: M F J|nzkm , T, Ok 4, rzkm , azm |F (ZF1 , . . . , ZFZ ) Es handelt sich um eine multikriterielles Optimierungsproblem. Im Rahmen der Arbeit soll mit Hilfe der Zielgewichtung eine optimale“ L¨osung gefunden ” werden, die die Pr¨aferenzen des Unternehmens widerspiegelt. Wie die in Abschnitt 3.6 beschriebenen Zielsetzungen in konkrete und messbare Zielkriterien umgesetzt und geeignet gewichtet werden k¨onnen, wird im folgenden Kapitel beschrieben.42 Es wurde in der Literatur noch kein Verfahren ver¨offentlicht, das ohne Anpassungsbedarf zur L¨osung der betrachteten Fallstudie angewendet werden kann. 42
Da der Schwerpunkt der Arbeit nicht auf der Betrachtung multikriterieller Ablaufplanungsprobleme liegt, wird auf weiterf¨ uhrende Literatur zu diesem Thema verwiesen. Vgl. Foote et al.(1988); Nagar et al.(1995); T‘Kindt/Billaut(2002); Geiger(2005); Hoogeveen(2005); T‘Kindt/Billaut(2006).
66
3 Fallstudie aus der Halbleiterindustrie
Daher muss ein individuelles L¨osungsverfahren entwickelt werden. Da es sich bei der Problemstudie von der Grundstruktur um ein Job-Shop-SchedulingProblem handelt, werden im Folgenden zun¨achst in Kapitel 4 Modelle und in Kapitel 5 L¨osungsverfahren f¨ ur diesen Problemtyp vorgestellt, um darauf aufbauend in Kapitel 6 problemspezifische L¨osungsverfahren zu entwickeln.
4 Job-Shop-Modelle der Ablaufplanung In der Vergangenheit sind zur Unterst¨ utzung der Reihenfolgeplanung zahlreiche Entscheidungsmodelle mit unterschiedlichen Modellannahmen entwickelt worden.1 Diese unterscheiden sich in erster Linie hinsichtlich der Definition ihrer Modellvariablen. Je nach dieser Definition ergeben sich dann Unterschiede in den Nebenbedingungen f¨ ur die Maschinenfolgen, Auftragsfolgen, die Bearbeitungszeiten und die sonstigen Pr¨amissen.2 Seelbach teilt die Modelle danach ein, ob die verwendeten Zuordnungsvariablen zeitbezogen oder reihenfolgebasiert sind.3 Bei der Modellierung mit Hilfe von zeitbezogenen Zuordnungsvariablen erfolgt die Zuordnung von Auftr¨agen und Maschinen im Zeitablauf unter Beachtung der vorgegebenen Maschinenfolgen und der genannten Pr¨amissen. Im 1959 von Bowman ver¨offentlichten Modell wird dabei f¨ ur jeden Zeitpunkt t eine Bin¨arvariable ykmt formuliert, die angibt, ob ein Auftrag k eine Maschine m zum Zeitpunkt t belegt oder nicht (∀k ∈ K, ∀m ∈ M, ∀t ∈ T ).4 Andere Definitionen von zeitbezogenen Zuordnungsvariablen betrachten dagegen nur“ den Anfangs” akmt oder Endzeitpunkt ekmt eines Auftrags k auf einer Maschine m.5 Bei der Modellierung mit Hilfe von reihenfolgebasierten Variablen ordnet die Zuordnungsvariable einen Auftrag in die Auftragsfolge einer Maschine ein.6 Wagner verwendet hierf¨ ur die Positionsvariablen yk[p]m , die angeben, ob Auf1
Die ersten Ver¨offentlichungen dazu sind von Bowman(1959), Wagner(1959) und Manne(1960), weitere folgten u. a. von Fisher(1973), Fisher et al.(1983), Adams et al.(1988), Stafford(1988), Brah et al.(1991) und Bla˙zewicz et al.(2000). 2 Eine ausf¨ uhrliche Beschreibung der vielen Modelle ist nicht Ziel der Arbeit, so dass auf ¨ weiterf¨ uhrende Literatur verwiesen wird. Gute Uberblicke zu den Modellen der Ablaufplanung finden sich u. a. in Seelbach(1975), Rinnooy Kan(1976), Reese(1980), French(1982), Bla˙zewicz et al.(1991), Van De Velde(1991), Latz(1997), G¨ unther/Van Beek(2003), Neumann et al.(2003) und Pinedo(2005). 3 Vgl. Seelbach (1975), S. 40ff. 4 Es wird auch von Belegungsvariablen“ gesprochen. Vgl. Krelle(1958) und auch Bow” man(1959). 5 Einerseits werden die Bin¨arvariable ykmt wie z. B. bei Pritsker et al.(1969) im Sinne einer Abschlussvariablen“ verwendet, d. h., sie geben an, ob der Auftrag k auf der Maschine m ” zum Zeitpunkt t beendet wird. Andererseits gibt es Modelle mit Beginnvariablen; vgl. z. B. Sousa/Wolsey(1992) und Domschke/Drexl(2007). 6 Es ist daher n¨otig, die zeitliche Struktur zus¨atzlich zu beschreiben. I. J. Acker, Methoden zur mehrstufi gen Ablaufplanung in der Halbleiterindustrie, DOI 10.1007/978-3-8349-6731-2_4, © Gabler Verlag | Springer Fachmedien Wiesbaden GmbH 2011
68
4 Job-Shop-Modelle der Ablaufplanung
trag k auf Maschine m an p-ter Stelle bearbeitet wird oder nicht (k ∈ K, p = 1, . . . , Km , ∀m ∈ M).7 Manne dagegen definiert 1960 mit den Bin¨arvariablen yk1 k2 m , ob auf der Maschine m der Auftrag k1 vor k2 bearbeitet wird oder erst nach ihm (∀k1 , k2 ∈ K; k1 < k2 ; ∀m ∈ M).8 Reihenfolgeprobleme k¨onnen sehr anschaulich als Graphen dargestellt werden. In Abschnitt 4.1 wird daher zun¨achst das Prinzip des disjunktiven Graphen am Beispiel des Job-Shop-Problems vorgestellt und mit Hilfe der Fallstudie FS1 veranschaulicht. Darauf aufbauend wird in Abschnitt 4.2 die Modellformulierung nach Manne vorgestellt, die mit dem disjunktiven Graphen in engem Zusammenhang steht. Auf dieser Basis wird in Abschnitt 4.3 eine Modell f¨ ur die betrachtete Fallstudie aus der Halbleiterindustrie (FSH) formuliert.
4.1 Das Prinzip des disjunktiven Graphen 4.1.1 Allgemein Roy und Sussman f¨ uhrten 1964 erstmals das Konzept ein, Ablaufpl¨ane als disjunktive Graphen G∗ darzustellen.9 Im Folgenden wird dieses Konzept am Beispiel des klassischen Job-Shop-Problems mit der Zielsetzung der Zykluszeitminierung J//Z erl¨autert. Ein disjunktiver Graph G∗ = (O∗ , A ∪ E) ist hierbei durch folgende Mengen von Knoten und Kanten bzw. Pfeile charakterisiert:10 • Die Menge O∗ symbolisiert die Knoten und besteht aus der Menge aller Operationen O sowie zwei weiteren, k¨ unstlichen Operationen – einer Quelle Q und einer Senke S: O∗ = {O, Q, S} • A stellt die Menge der konjunktiven Pfeile dar und repr¨asentiert die Maschinenfolgen der einzelnen Auftr¨age: A = { (Ok[m] , Ok[m+1] ) |k ∈ K ∧ 1 ≤ m < Mk } |k ∈ K} ∪ { (Q, Ok[1] ) |k ∈ K} ∪ { (Ok[M] , S) 7
Vgl. Wagner(1959). Vgl. Manne(1960). Vgl. auch die Modifikation durch direkte Vorg¨anger-NachfolgerBeziehungen nach Daub(1994). 9 Vgl. Roy/Sussman(1964); Conway et al.(1967), S. 103ff. und S. 132ff.; Mensch(1968), S. 70ff.; Rinnooy Kan(1976), S. 6ff.; Graham et al.(1979), S. 317f.; Lawler et al.(1989), S. 47; Domschke et al.(1997), 398ff.; Latz(1997), S. 17ff.; Bla˙zewicz et al.(2000), S. 180f.; Eiselt/Sandblom(2004), S. 405; Brucker(2005), S. 156ff.; Brucker/Knust(2006), S. 190ff. 10 Im Kontext der Ablaufplanung erfolgt die graphentheoretische Darstellung u ¨blicherweise und daher auch hier als Vorgangsknotennetzplan (task-on-node representation). Dieser kann unter Einsatz von Dummy-Variablen in einen Vorgangspfeilnetzplan (task-on-arc representation) transformiert werden. Vgl. Bla˙zewicz et al.(2000), S. 38ff.; Pinedo(2005), S. 52ff. 8
4.1 Das Prinzip des disjunktiven Graphen
69
Die erste der drei Teilmengen bildet die Maschinenfolgen aller K Auftr¨age ur jedes Paar aufeinander folmit Hilfe der Pfeile (Ok[m] , Ok[m+1] ) ab.11 F¨ gender Operationen Ok[m] und Ok[m+1] gibt der Pfeil an, dass der Auftrag k erst auf seiner [m]-ten Maschine bearbeitet werden muss, bevor er auf seiner [m + 1]-ten Maschine bearbeitet werden darf. Aus verfahrenstechnischen Gr¨ unden gibt es außerdem Pfeile von der Quelle Q zur jeweils ersten Operation aller Auftr¨age Ok[1] sowie von der letzten Operation aller Auftr¨age Ok[M] zur Senke S.12 • E stellt die Menge aller disjunktiven Pfeilpaare dar und repr¨asentiert die verschiedenen m¨oglichen Auftragsfolgen der einzelnen Maschinen: E = {(Ok1 m , Ok2 m )|k1 , k2 ∈ K ∧ k1 = k2 ∧ m ∈ M} Die Auftragsfolgen sind im Gegensatz zu den Maschinenfolgen noch nicht bekannt. Da jede Maschine zu einem Zeitpunkt maximal einen Auftrag bearbeiten kann, ist f¨ ur zwei auf m zu bearbeitenden Auftr¨age Ok1 m und Ok2 m daher sicherzustellen, dass entweder Ok1 m ≺ Ok2 m oder Ok2 m ≺ Ok1 m gilt. Zwischen jedem Paar an Operationen, die auf derselben Maschine bearbeitet werden m¨ ussen, hat der Graph G∗ daher ein disjunktives Pfeilpaar, das aus den zwei gegenl¨aufigen Pfeilen (Ok1 m , Ok2 m ) und (Ok2 m , Ok1 m ) besteht. Die Menge E = M m=1 Em bildet mit Hilfe dieser disjunktiven Pfeilpaare die m¨oglichen Auftragsfolgen aller M Maschinen ab.13 Jeder Pfeil aus einem Knoten ist gewichtet mit der Bearbeitungszeit pkm der durch den Ausgangsknoten repr¨asentierten Operation Okm . Die Quelle Q hat eine Bearbeitungszeit von pQ = 0. Die Gewichtung gibt den Mindestabstand zwischen den Startzeiten der beiden verbundenen Knoten, d. h. Operationen, wieder. Eine L¨osung eines Ablaufplanungsproblems liegt vor, wenn sowohl die Maschinenfolgen als auch alle Auftragsfolgen bekannt sind. Im Rahmen der primalen Ablaufplanung sind somit die Auftragsfolgen festzulegen, indem im Laufe eines Planungsverfahrens von jedem disjunktiven Pfeilpaar ein Pfeil ausgew¨ahlt, d. h. selektiert, wird. Wenn f¨ ur alle disjunktiven Pfeilpaare eine Selektion erfolgt ist, liegt eine vollst¨andige Selektion vor. Die Orientierung kann dabei allerdings nicht willk¨ urlich erfolgen. Um einen zul¨assigen Ablaufgraphen zu erzeugen, Ak verbindet dabei die jeweiligen Knoten eines Auftrags k. Die Vereinigungsmenge K k=1 Ak enth¨alt alle Maschinenfolgen des Auftragsbestandes. 12 Formal entsprechen Quelle bzw. Senke dabei der ersten bzw. letzten Operation von jedem einzelnen Auftrag. Die Quelle hat somit nur Nachfolger, die Senke dagegen nur Vorg¨anger. 13 Em verbindet dabei die jeweiligen Knoten einer Maschine m.
11
70
4 Job-Shop-Modelle der Ablaufplanung
d¨ urfen die Auftragsfolgen nicht im Widerspruch zu den gegebenen Maschinenfolgen stehen. Dies w¨ urde sich in Form eines Zyklus im disjunktiven Graphen ¨außern. Erzeugt die Auswahl der Orientierung dagegen einen azyklischen Ablaufgraphen – in diesem Fall spricht man von einer konsistenten Selektion –, liegt eine zul¨assige Auftragsfolgekombination und damit ein zul¨assiger Ablaufgraph vor.14 Durch das zul¨assige zeitliche Einplanen k¨onnen die jeweiligen zul¨assigen Ablaufpl¨ane erzeugt werden. Um den optimalen Ablaufplan zu bestimmen, ist die Zykluszeit zu minimieren.15 Die Zykluszeit eines Ablaufplans entspricht der L¨ange des kritischen Weges, d. h. des l¨angsten gewichteten Weges von der Quelle Q zur Senke S durch den Graphen. Den Ablaufplan mit der minimalen Zykluszeit zu finden entspricht damit dem Problem, die Richtung aller Disjunktionen so zu selektieren, dass ein azyklischer Graph mit minimalem l¨angsten Weg entsteht.
4.1.2 Veranschaulichung mit Hilfe der Fallstudie FS1 Das Konzept des disjunktiven Graphen soll mit Hilfe der in Abschnitt 2.4.1 auf S. 33 eingef¨ uhrten Fallstudie FS1 veranschaulicht werden. Dazu wird zun¨achst folgende Legende eingef¨ uhrt (vgl. Abbildung 4.1):
Abbildung 4.1: Legende Bei FS1 sind 3 Auftr¨age auf jeweils 4 Maschinen zu bearbeiten. Daraus ergeben sich 12 Operationen bzw. Knoten. Die in Tabelle 2.3 auf S. 34 angegebenen Maschinenfolgen der einzelnen Auftr¨age lassen sich in folgendem Maschinenfolgegraph veranschaulichen, bei dem die Auftr¨age in den Zeilen“ und die Ma” schinen in den Spalten“ des Graphen abgebildet sind (vgl. Abbildung 4.2 auf ” S. 71): 14 15
Vgl. Bla˙zewicz et al.(2000), S. 180. Unter allen m¨oglichen zul¨assigen Ablaufpl¨anen befindet sich der optimale Ablaufplan. Vgl Brucker(2005), S. 156.
4.1 Das Prinzip des disjunktiven Graphen
71
Abbildung 4.2: Maschinenfolgegraph zur Fallstudie FS1 Die horizontal dargestellten Pfeile beziehen sich auf einen einzelnen Auftrag und repr¨asentieren seine Maschinenfolge. So besagt z. B. der Pfeil zwischen O22 und O23 , dass Auftrag 2 auf Maschine 3 erst bearbeitet werden kann, wenn er auf Maschine 2 beendet wurde. Vertikale Pfeile beziehen sich auf die einzelnen Maschinen und veranschaulichen die jeweiligen Auftragsfolgen. Da jeder Auftrag auf jeder Maschine bearbeitet werden muss, konkurrieren jeweils 3 Auftr¨age um die Maschinenkapazit¨at. Es gibt somit je Maschine 3 und damit insgesamt 12 disjunktive Pfeilpaare. Durch Hinzuf¨ ugen aller vertikalen disjunktiven Pfeilpaare sowie der Quelle Q, in der alle Auftr¨age starten, und der Senke S, in der alle Auftr¨age enden, ergibt sich der in folgender Abbildung 4.3 dargestellte disjunktive Graph G∗ .
Abbildung 4.3: Disjunktiver Graph G∗ zur Fallstudie FS1 (Darstellung ohne Bearbeitungszeiten) Um einen Ablaufplan zu erzeugen, m¨ ussen die Disjunktionen aufgel¨ost und damit die Auftragsfolgen der Maschinen bestimmt werden. Im Hinblick auf die Zul¨assigkeit eines Ablaufplans sind die Disjunktionen so aufzul¨osen, dass der
72
4 Job-Shop-Modelle der Ablaufplanung
korrespondierende Ablaufgraph G zyklenfrei ist. Aus Abschnitt 2.4.2 auf S. 35 ist eine Auftragsfolgekombination bekannt, die nicht im Widerspruch zu den einzelnen Maschinenfolgen steht. Diese ist in folgender Tabelle 4.1 dargestellt:
[1]m [2]m [3]m
m=1 m=2 m=3 m=4 1 1 1 1 3 2 2 2 2 3 3 3
Tabelle 4.1: Auftragsfolgen [k] (Fallstudie FS1) – Variante 1 Auf Maschine m = 1 m¨ ussen die Auftr¨age in der Reihenfolge []1 = (1, 3, 2) bearbeitet werden, auf den restlichen drei Maschinen m ∈ (2, 3, 4) in der Reihenfolge []m = (1, 2, 3). Die disjunktiven Pfeile der Maschine 1 sind folglich (O11 , O31 ) und (O31 , O21 ), die der anderen drei Maschinen m = 2, 3, 4 (O1m , O2m ) und (O2m , O3m ). Die entsprechenden Selektionen sind in folgendem Auftragsfolgegraphen graphisch veranschaulicht (vgl. Abbildung 4.4):
Abbildung 4.4: Auftragsfolgegraph zur Fallstudie FS1, der zu einem zul¨assigen Ablaufgraph f¨ uhrt Mit dieser Auftragsfolgekombination kann ein zul¨assiger Ablaufgraph abgebildet werden.16 Wird eine L¨osung eines Ablaufplanungsproblems als Ablaufgraph dargestellt, ist im Gegensatz zum Gantt-Diagramm die zeitliche Einplanung nicht direkt ablesbar.17 Je nach der zeitlichen Einplanung der einzelnen Operationen k¨onnen daraus unterschiedliche Ablaufpl¨ane abgeleitet werden. Entsprechend der Ermittlung der fr¨ uhesten Anfangszeitpunkte in der Netzplantechnik kann aus einem zul¨assigen Ablaufgraphen ein semiaktiver Ablaufplan bestimmt 16
Im Anhang A.1 ist ein Beispiel f¨ ur eine Auftragsfolgekombination gegeben, die zu einem unzul¨assigen Ablaufgraphen f¨ uhrt (vgl. Abbildung A.1 auf S. 255 und A.2 auf S. 255). 17 Um einen zul¨assigen Ablaufplan zu erzeugen, d¨ urfen einerseits die Auftrags- und Maschinenfolgen nicht im Widerspruch zueinander stehen und andererseits m¨ ussen die zeitlichen Mindestabst¨ande zwischen den Anfangszeitpunkten der Operationen beachtet werden.
4.1 Das Prinzip des disjunktiven Graphen
73
werden. Der in folgender Abbildung 4.5 dargestellte Ablaufgraph korrespondiert zum semiaktiven Ablaufplan, der in Abbildung 2.5 auf S. 37 dargestellt ist.18
Abbildung 4.5: Zul¨assiger Ablaufgraph zur Fallstudie FS1 mit semiaktiver Terminierung Durch die Bestimmung der L¨ange des kritischen Weges im Ablaufgraphen, kann die Zykluszeit des Ablaufplans berechnet werden. In Abbildung 4.5 gibt es zwei kritische Wege (gelb dargestellt): (Q, O11 , O12 , O22 , O23 , O24 , O21 , S) sowie (Q, O11 , O12 , O22 , O23 , O24 , O34 , S). Da die Bearbeitungszeit der letzten Operation identisch ist, berechnet sich die L¨ange des kritischen Weges in beiden F¨allen folgendermaßen: 0 + 7 + 4 + 6 + 9 + 4 + 7 = 37. Um den optimalen Ablaufplan eines Problems zu bestimmen, ist die vollst¨andige, konsistente Selektion mit dem kleinsten kritischen Weg zu bestimmen. Durch die Erzeugung aller m¨oglichen vollst¨andigen, konsistenten Selektionen kann u ¨ber den Vergleich der dazugeh¨origen kritischen Wege der optimale Ablaufgraph ermittelt werden. Eine Alternative zu diesem enumerativen Vorgehen stellt die gemischt-ganzzahlige lineare Programmierung (GGLP) dar. Dazu wird im folgenden Abschnitt exemplarisch eine Modellformulierung beschrieben, die mit der Darstellung des disjunktiven Graphen in enger Beziehung steht. 18
Alle weiteren zu den in Abschnitt 2.4 auf S. 33ff. dargestellten Ablaufpl¨anen korrespondierenden Ablaufgraphen sind in Anhang A.1 auf S. 255ff. dargestellt.
74
4 Job-Shop-Modelle der Ablaufplanung
4.2 Modellformulierung nach Manne fu ¨ r das klassische Job-Shop-Problem 4.2.1 Herleitung der Modellformulierung Die im Folgenden dargestellte Modellformulierung mit Hilfe von reihenfolgebasierten Variablen wurde 1960 von Alan S. Manne vorgestellt.19 Sie steht in enger Beziehung zum Konzept des disjunktiven Graphen und erfolgt mit Hilfe von reihenfolgebasierten Variablen. Da ein Ablaufplan durch die Startzeitpunkte akm aller Operationen Okm definiert ist, werden zus¨atzlich Variablen deklariert, die den Zeitpunkt einer Bearbeitung zum Ausdruck bringen:20 akm gibt den Startzeitpunkt der Bearbeitung von Auftrag k auf der Maschine m an (∀k ∈ K, ∀m ∈ M). Ein Ablaufplan ist zul¨assig, wenn er die Maschinenfolge- und Auftragsfolgebedingungen erf¨ ullt: Maschinenfolgebedingungen (auch konjunktive Nebenbedingungen) ak[m] ≥ ak[m−1] + pk[m−1]
(∀k ∈ K; m = 2, . . . , M)
(4.1)
Ein Auftrag darf erst auf seiner [m]-ten Maschine bearbeitet werden, wenn er auf der Vorg¨angermaschine [m − 1] fertig bearbeitet wurde.21 Auftragsfolgebedingungen (auch disjunktive Nebenbedingungen) Eine Maschine kann zu jedem Zeitpunkt maximal einen Auftrag bearbeiten. M¨ ussen zwei Auftr¨age k1 und k2 beide auf einer Maschine m bearbeitet werden, kann entweder Auftrag k1 vor Auftrag k2 oder Auftrag k2 vor Auftrag k1 auf m bearbeitet werden: ak2 m ≥ ak1 m +pk1 m
∨
ak1 m ≥ ak2 m +pk2 m
(∀k1 , k2 ∈ K; k1 < k2 ; ∀m ∈ M)
Manne f¨ uhrt f¨ ur diese Entweder-Oder-Bedingungen die Bin¨arvariablen22 yk1 k2 m ein mit 1 falls k1 Vorg¨anger von k2 auf m ist yk1 k2 m = 0 sonst 19
Vgl. Manne(1960). Da diese Formulierung so kompakt und leicht verst¨andlich ist, wird sie bei vielen Autoren aufgegriffen, wie z. B. in Conway et al.(1967), S. 109; Baker(1974), S. 206ff.; Seelbach(1975), S. 40ff; Rinnooy Kan(1976), S. 38; Pinedo(2005), S. 84ff. und 393f. 20 Dies ist bei allen Modellformulierungen auf Basis von Reihenfolgevariablen notwendig, da die Zuordnungsvariablen nur die Reihenfolge der Operationen aber nicht deren Dauer angeben. 21 ak[m] bzw. pk[m] geben den Anfangszeitpunkt der Bearbeitung bzw. die Bearbeitungsdauer des Auftrags k auf der Maschine an, die an seiner m-ten Stelle der Maschinenfolge von Auftrag k steht. Vgl. dazu auch Abschnitt 2.2.2 auf S. 14. 22 Das sog. disjunktive Programm mit logischen Entweder-Oder-Bedingungen (mit ∨) ist linear. Erst durch die Einf¨ uhrung von Bin¨arvariablen zur Aufl¨osung der Disjunktionen wird es in ein gemischt-ganzzahliges lineares Programm transformiert.
4.2 Modellformulierung nach Manne f¨ ur das klassische Job-Shop-Problem 75 (∀k1 , k2 ∈ K; k1 < k2 ; ∀m ∈ M)23 und formuliert folgende beiden Nebenbedingungen f¨ ur die Einhaltung der Auftragsfolgen: ak2 m ≥ ak1 m + pk2 m − X · (1 − yk1 k2 m ) (∀k1 , k2 ∈ K; k1 < k2 ; ∀m ∈ M) ak1 m ≥ ak2 m + pk2 m − X · yk1 k2 m (∀k1 , k2 ∈ K; k1 < k2 ; ∀m ∈ M)
(4.2) (4.3)
X eine hinreichend große Konstante ist, die sicherstellt, dass jeweils nur eine der beiden disjunktiven Nebenbedingungen begrenzend wirkt.24 Zielfunktion Um einen optimalen Ablaufplan zu bestimmen, ist eine Zielfunktion zu formulieren, die die Zielsetzung abbildet. Im betrachteten Fall ist die Zykluszeit Z zu minimieren.25 min Z
(4.4)
Um den Zusammenhang zu den Variablen herzustellen, sind weitere Nebenbedingungen n¨otig.26 Diese so genannten Zykluszeitbedingungen erm¨oglichen es, mittels des Startzeitpunktes und der Bearbeitungszeit eines Auftrags auf seiner letzten Maschine die Zykluszeit zu minimieren: Z ≥ ak[M] + pk[M]
(∀k ∈ K)
(4.5)
Definitionsbereich Die Variablen m¨ ussen die Nichtnegativit¨ats- bzw. Ganzzahligkeitsbedingungen einhalten: Z ≥ 0 akm ≥ 0 yk1 k2 m ∈ {0, 1}
(∀k ∈ K; ∀m ∈ M) (∀k1 , k2 ∈ K; k1 < k2 ; ∀m ∈ M)
(4.6) (4.7) (4.8)
Auf diese Weise kann das klassische Job-Shop-Problem als gemischt-ganzzahliges lineares Programm beschrieben werden. Im Folgenden wird die Fallstudie FS1 damit gel¨ost. 23
Alternativ ist k1 = k2 m¨oglich. Vgl. Seelbach(1975), S.43. Manne setzt die in Abh¨angigkeit von Auftr¨agen und Maschinen X = T + pkm . 25 Manne selbst gibt zwar explizit keine Zielfunktion an, geht aber von der Minimierung der Zykluszeit aus. In die beschriebene Modellformulierung kann allerdings eine Vielzahl von Zielfunktionen eingebaut werden (vgl. Seelbach(1975), S. 61). 26 Diese sind im Gegensatz zu den Auftrags- und Maschinenfolgebedingungen von der Zielfunktion abh¨angig. 24
76
4 Job-Shop-Modelle der Ablaufplanung
4.2.2 Anwendung auf die Fallstudie FS1 Die Modellformulierung von Manne zeichnet sich dadurch aus, dass sie im Vergleich zu den meisten anderen Modellen die wenigsten Bin¨arvariablen und Neur das klassische Job-Shop-Problem J//Z sind benbedingungen ben¨otigt.27 F¨ die Anzahl der Variablen und Nebenbedingungen in der Tabelle 4.2 allgemein sowie f¨ ur die Fallstudie FS1 dargestellt. Bei der Fallstudie FS1 sind drei Auftr¨agen und vier Maschinen zu bearbeiten. Somit sind f¨ ur zur Modellierung 12 Bin¨arvariablen und 33 Reihenfolgebedingungen n¨otig. Ausformuliert ist die Modellformulierung im Anhang A.2 auf S. 260 dargestellt. akm Bin¨arvariablen yk1 k2 m Z Anzahl Variablen
K·M
K·(K−1) 2
·M
1
Maschinenfolgebedingungen K · (M − 1) K · (K − 1) · M Auftragsfolgebedingungen K Zykuszeitbedingungen Anzahl Nebenbedingungen
= 3 · 4 = 12 = 3·(3−1) · 4 = 12 2 =1 = 25 = 3 · (4 − 1) = 9 = 3 · (3 − 1) · 4 = 24 =3 = 36
Tabelle 4.2: Modellumfang nach Manne: Anzahl Nebenbedingungen und Variablen allgemein sowie f¨ ur die Fallstudie FS1
Die L¨osung dieses gemischt-ganzzahligen linearen Programms f¨ uhrt zu der bereits bekannten minimalen Zykluszeit von Z ∗ = 27 ZE.28 Ein optimaler Ablaufplan kann dabei u. a. durch folgende in Tabelle 4.3 angegebene Bin¨arvariablenwerte bestimmt werden: y121 = 1 y122 = 0 y123 = 0 y124 = 1 y131 = 1 y132 = 1 y133 = 0 y134 = 1 y231 = 0 y232 = 1 y233 = 1 y234 = 1 Tabelle 4.3: Werte der Bin¨arvariablen beim optimalen Ablaufgraphen f¨ ur die Fallstudie FS1 bei der L¨osungsvariante 1 Diese korrespondieren mit den Auftragsfolgen des in Abbildung 2.8 auf S. 41 dargestellten Gantt-Diagramms. Die Anfangszeiten bei semiaktiver Einplanung k¨onnen Tabelle 4.4 auf folgender Seite entnommen werden. 27 28
Vgl. Seelbach(1975), S. 70ff. M¨ogliche L¨osungsverfahren werden im folgenden Kapitel 5 vorgestellt. Hier wurde zur L¨osung die Optimierungssoftware LINGO (Release 9.0 von LINDO Systems Inc.) verwendet.
4.2 Modellformulierung nach Manne f¨ ur das klassische Job-Shop-Problem 77
k=1 k=2 k=3
m=1 m=2 m=3 m=4 0 7 20 11 19 0 6 15 7 12 17 20
Tabelle 4.4: Anfangszeiten akm in ZE des optimalen Ablaufplans bei semiaktiver Einplanung (Fallstudie FS1) - L¨osungsvariante 1
Damit ergibt sich der in folgender Abbildung 4.6 dargestellte optimale Ablaufgraph. Dieser repr¨asentiert aber nicht den einzigen optimalen Ablaufplan. Einerseits gibt es noch zwei weitere Ablaufgraphen, die ebenfalls zur minimalen Zykluszeit f¨ uhren.29 Diese sind im Anhang A.1 auf S. 255ff. dargestellt. Andererseits ist im Modell nicht explizit gefordert, dass die Operationen fr¨ uhestm¨oglich eingeplant werden m¨ ussen. Kritische Operationen k¨onnen daher innerhalb ihrer Pufferzeiten zu verschiedenen Zeitpunkten bearbeitet werden, so dass eine Vielzahl verschiedener Ablaufpl¨ane mit minimaler Zykluszeit generiert werden kann.
Abbildung 4.6: Optimaler Ablaufgraph zur Fallstudie FS1 - L¨osungsvariante 1
29
Das Modell ist also nicht notwendig eindeutig l¨osbar.
78
4 Job-Shop-Modelle der Ablaufplanung
4.3 Ein gemischt-ganzzahliges lineares Programm zur Modellierung der Fallstudie aus der Halbleiterindustrie Wie in Abschnitt 3.7 festgestellt handelt es sich bei der betrachteten Fallstudie aus der Halbleiterindustrie (FSH) um ein flexibles Fertigungsproblem, das insbesondere durch eine Vielzahl alternativer Maschinenfolgen charakterisiert ist. Die Ursache f¨ ur diese Vielzahl liegt einerseits bereits in der Existenz alternativer Maschinentypfolgen und andererseits im Vorhandensein paralleler Maschinen bei einzelnen Maschinentypen. Im Folgenden wird das Problem auf Basis der im vorherigen Abschnitt beschriebenen Job-Shop Modellformulierung mit Hilfe von Reihenfolgevariablen in Anlehnung an Manne formuliert, indem das Modell um die in Kapitel 3 beschriebenen Eigenschaften erweitert wird. Die Formulierung wird im Folgenden als GGLP-Komplett bezeichnet.
4.3.1 Weitere Notationsvereinbarungen F¨ ur die Modellierung der Fallstudie werden weitere Notationsvereinbarungen ben¨otigt, die u uhrten Deklarationen ¨ber die im Abschnitt 2.2.2 auf S. 14 eingef¨ hinausgehen. Im Folgenden wird aber zun¨achst nur ein Teil dieser Notationen erl¨autert. Die restlichen Notationsvereinbarungen werden dann im Rahmen der Modellerl¨auterungen im Abschnitt 4.3.3 erkl¨art. Alle im Modell GGLP-Komplett verwendeten Indizes, Parameter und Variablen sind aber bereits in den Tabellen 4.5 und 4.6 auf S. 79f. zusammengefasst. Die Menge J = {1; . . . ; J} enth¨alt alle J Endmessdiodentypen j. Von einem Endmessdiodentyp j sind Cj Chargen c herzustellen; sie bilden die Menge Cj = {1; . . . ; Cj }. Maximal sind Cmax = maxj Cj = max{C1 ; . . . ; CJ } Chargen von einem Endmessdiodentyp herzustellen. Bei J Diodentypen sind insgesamt C = Jj=1 Cj Chargen einzuplanen. Ein Auftrag ist somit durch einen Endmessdiodentyp und die Chargennummer dieses Endmessdiodentyps gekennzeichnet. Im Folgenden wird daher ein Auftrag nicht mehr wie bisher mit k, sondern mit jc indiziert. Sollen zwei Endmessdiodentypen betrachtet werden, wird in j1 und ur c1 bzw. c2 . Der Parameter wj1 j2 gibt an, ob j2 unterschieden. Das gilt analog f¨ die beiden Endmessdiodentypen j1 und j2 derselben Auftragsgruppe angeh¨oren (=1), d. h., den gleichen Montagediodentyp haben oder nicht (=0). Endmessdiodentypen k¨onnen auf verschiedene Arten hergestellt werden, d. h., f¨ ur jeden Endmessdiodentyp j sind Ej alternative Maschinenfolgen e (bzw. e1 , e2 ) gegeben. Der Anfangszeitpunkt der Bearbeitung von Charge c des Endmessdiodentyps j mittels Maschinenfolge e auf Maschine m wird folglich durch
4.3 Modellformulierung f¨ ur die Fallstudie aus der Halbleiterindustrie
79
die Variable ajcem festgelegt. Ej = {1; . . . ; Ej } stellt die Menge der alternativen Maschinenfolgen e von Endmessdiodentyp j dar.30 Die Menge der Maschinen m wird in zwei disjunkte Teilmengen aufgeteilt: M = MAG ∩ (M\MAG ). Die Menge MAG enth¨alt diejenigen Maschinen, die Auftragsgruppen ber¨ ucksichtigen (Montagemaschinen). Nach jeder Bearbeitung auf einer solchen Montagemaschine m ∈ MAG ist eine endmesstypspezifische ucksichtigen. Die Menge Mj setzt sich aus denjenigen Nachlaufzeit nzjm zu ber¨ Maschinen zusammen, auf denen Endmessdiodentyp j – unabh¨angig von der f¨ ur die Charge c gew¨ahlten Einplanungsalternative e – bearbeitet werden kann.31 Die Menge Mje enth¨alt dagegen alle Mje Maschinen, auf denen Endmessdiodentyp j bearbeitet werden muss, wenn er mit Maschinenfolge e hergestellt ucksichwird. In der betrachteten Problemstellung sind R¨ ustzeiten rzjm zu ber¨ tigen; diese sind wie die Bearbeitungszeiten pjm neben der Maschine m nur vom Endmessdiodentyp j abh¨angig. Im Laufe des Planungszeitraums gibt es bei den Maschinen aufgrund des Schichtbetriebs geplante Stillst¨ande. Alle Maschinen stehen u ¨ber das Wochenende still. Je nach vorgegebenem Einsatzplan k¨onnen einzelne Maschinen auch unterhalb der Woche f¨ ur eine oder mehrere Schichten still stehen. Zu diesen Zeitpunkten kann auf ihnen nicht produziert werden. Die Menge Vm = {1; . . . ; Vm } enth¨alt die Vm Stillst¨ande v von Maschine m innerhalb des Planungszeitraums. Nach jedem Stillstand bedarf die Maschine m der Anlaufzeit azm . Indizes: j (j1 , j2 ) Endmessdiodentyp (j = 1, . . . , J) c (c1 , c2 ) Charge (in Bezug auf den Endmessdiodentyp j: c = 1, . . . , Cj ) e (e1 , e2 ) alternative Maschinenfolge (in Bezug auf den Endmessdiodentyp j: e = 1, . . . , Ej ) m Maschinen (in Bezug auf die Maschinenfolge e vom Endmessdiodentyp j: m = 1, . . . , Mje ) v Maschinenstillstand (in Bezug auf die Maschine m: v = 1, . . . , Vm ) Daten (Teil 1): J Anzahl Endmessdiodentypen Cmax maximale Anzahl Chargen aller Endmessdiodentypen Anzahl Chargen vom Endmessdiodentyp j Cj Tabelle 4.5: Deklarationen f¨ ur das Modell GGLP-Komplett – Teil 1 30
Bei diesem Modell werden die Maschinentypfolgen indirekt ber¨ ucksichtigt, indem alle m¨oglichen Maschinenfolgen explizit betrachtet werden. 31 Im Gegensatz zu der in Abschnitt 2.2.2 auf S. 14 definierten Menge Mk , die alle Maschinen angibt, auf denen der Auftrag k bearbeitet werden muss.
80
4 Job-Shop-Modelle der Ablaufplanung
Daten (Teil 2): Ej Anzahl der alternativen Maschinenfolgen vom Endmessdiodentyp j Fertigstellungstermin von der Charge c vom Endmessdiodentyp j Fjc∗ wj1 j2 gibt an, ob j1 und j2 derselben Auftragsgruppe angeh¨oren (=1) oder nicht (=0) M Anzahl Maschinen Anzahl Maschinen, auf denen Endmessdiodentyp j bei MaschinenMje folge e bearbeitet werden muss Anzahl Stillst¨ande von Maschine m Vm Beginnzeitpunkt des v-ten Maschinenstillstands von m StAmv Endzeitpunkt des v-ten Maschinenstillstands von m StEmv Anlaufzeit von Maschine m nach einem Maschinenstillstand azm Bearbeitungszeit vom Endmessdiodentyp j auf Maschine m pjm R¨ ustzeit vom Endmessdiodentyp j auf Maschine m rzjm Nachlaufzeit vom Endmessdiodentyp j nach seiner Bearbeitung auf nzjm Maschine m T Planungshorizont X hinreichend große Zahl Gewichtung der Zykluszeit Z gZ Gewichtung der summierten (gesamten) Anfangszeiten GA gA Entscheidungsvariablen: ajcem Anfangszeitpunkt der Bearbeitung von Charge c vom Endmessdiodentyp j mit Maschinenfolge e auf Maschine m yj1 c1 j2 c2 m =1, wenn Charge c2 von j2 Nachfolger von Charge c1 von j1 auf m ist (0, sonst) =1, wenn Charge c vom Endmessdiodentyp j mit Maschinenfolge gjce e hergestellt wird (0, sonst) =1, wenn Charge c vom Endmessdiodentyp j bei Herstellung mit njce Maschinenfolge e innerhalb des Planungszeitraums fertig gestellt wird =1, wenn die mit Maschinenfolge e hergestellte Charge c vom Endsjcemv messdiodentyp j aufgrund des v-ten Maschinenstillstandes von Maschine m erst nach dem Stillstand auf m bearbeitet werden kann Fertigstellungszeitpunkt der Charge c vom Endmessdiodentyp j Fjc GSN gewichteter Strafterm f¨ ur nicht erf¨ ullte Auftr¨age gewichtete Termin¨ u berschreitung der Charge c vom EndmessdiGT A+ jc odentyp j gewichtete Termin¨ uberschreitung des Auftragsbestandes GT A+ Z Zykluszeit GZ gewichtete Zykluszeit GA gewichtete gesamte Anfangszeit Tabelle 4.6: Deklarationen f¨ ur das Modell GGLP-Komplett – Teil 2
4.3 Modellformulierung f¨ ur die Fallstudie aus der Halbleiterindustrie
81
4.3.2 Modellierung der Fallstudie FSH: GGLP-Komplett min GSN + GT A+ + GZ + GA
(4.9)
u. d. N.
GSN = T · GT A+ = GT A+ jc ≥
Cj Ej J
(gjce − njce ) ·
j=1 c=1 e=1 Cj J
GT A+ jc j=1 c=1 ∗ Fjc − Fjc T + 1 − Fjc∗
Cmax Cj
(4.10) (4.11)
(∀j ∈ J ; ∀c ∈ Cj )
(4.12)
Fjc ≥ ajce[Mje ] + pj[Mje ] − X · (1 − njce ) (∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej ) (4.13) Z T Z ≥ Fjc − X · (1 − njce )
GZ = gZ ·
GA = gA · Ej
Cj Ej Mje J
(4.14) (∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej ) ajce[m]
(4.15) (4.16)
j=1 c=1 e=1 m=1
(∀j ∈ J ; ∀c ∈ Cj )
gjce = 1
(4.17)
e=1
ajcem + pjm + nzjm ≤ T + X · (1 − njce ) (∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej ; ∀m ∈ Mje )
(4.18)
ajcem ≤ X · njce
(4.19)
njce ≤ gjce
(∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej ; ∀m ∈ Mje )
(∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej )
(4.20)
ajcem ≥ azm + rzjm − X · (1 − njce ) (∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej ; ∀m ∈ Mje )
(4.21)
ajcem + pjm ≤ StAmv + X · sjcemv (∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej ; ∀m ∈ Mje ; ∀v ∈ Vm )
(4.22)
ajcem ≥ (StEmv + azm + rzjm ) · sjcemv − X · (1 − njce ) (∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej ; ∀m ∈ Mje ; ∀v ∈ Vm )
(4.23)
ajce[m] ≥ ajce[m−1] + pj[m−1] + nzj[m−1] − X · (1 − njce ) (∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej ; m = 2, . . . , Mje )
(4.24)
82
4 Job-Shop-Modelle der Ablaufplanung ajc2 e2 m ≥ ajc1 e1 m + pjm − X · (1 − yjc1 jc2 m ) −X · (1 − njc1 e1 ) − X · (1 − njc2 e2 ) (∀j ∈ J ; c1 ∈ Cj1 ; c2 ∈ Cj2 ; e1 ∈ Ej1 ; e2 ∈ Ej2 ; m ∈ Mje ) (4.25) ajc1 e1 m ≥ ajc2 e2 m + pjm − X · yjc1 jc2 m −X · (1 − njc1 e1 ) − X · (1 − njc2 e2 ) (∀j ∈ J ; c1 ∈ Cj1 ; c2 ∈ Cj2 ; e1 ∈ Ej1 ; e2 ∈ Ej2 ; m ∈ Mje ) (4.26) aj2 c2 e2 m ≥ aj1 c1 e1 m + pj1 m + rzj2 m · yj1 c1 j2 c2 m −X · (1 − yj1 c1 j2 c2 m ) − X · (1 − nj1 c1 e1 ) − X · (1 − nj2 c2 e2 ) (∀j1 , j2 ∈ J ; j1 < j2 ; c1 ∈ Cj1 ; c2 ∈ Cj2 ; e1 ∈ Ej1 ; e2 ∈ Ej2 ; (4.27) ∀m ∈ (Mj1 e1 ∩ Mj2 e2 ∩ (M\MAG ))) aj1 c1 e1 m ≥ aj2 c2 e2 m + pj2 m + rzj1 m · (1 − yj1 c1 j2 c2 m ) −X · yj1 c1 j2 c2 m − X · (1 − nj1 c1 e1 ) − X · (1 − nj2 c2 e2 ) (∀j1 , j2 ∈ J ; j1 < j2 ; c1 ∈ Cj1 ; c2 ∈ Cj2 ; e1 ∈ Ej1 ; e2 ∈ Ej2 ; (4.28) ∀m ∈ (Mj1 e1 ∩ Mj2 e2 ∩ (M\MAG ))) aj2 c2 e2 m ≥ aj1 c1 e1 m + pj1 m + rzj2 m · (1 − wj1 j2 ) · yj1 c1 j2 c2 m −X · (1 − yj1 c1 j2 c2 m ) − X · (1 − nj1 c1 e1 ) − X · (1 − nj2 c2 e2 ) (∀j1 , j2 ∈ J ; j1 < j2 ; c1 ∈ Cj1 ; c2 ∈ Cj2 ; e1 ∈ Ej1 ; e2 ∈ Ej2 ; (4.29) ∀m ∈ (Mj1 e1 ∩ Mj2 e2 ∩ MAG )) aj1 c1 e1 m ≥ aj2 c2 e2 m + pj2 m + rzj1 m · (1 − wj1 j2 ) · (1 − yj1 c1 j2 c2 m ) −X · yj1 c1 j2 c2 m − X · (1 − nj1 c1 e1 ) − X · (1 − nj2 c2 e2 ) (∀j1 , j2 ∈ J ; j1 < j2 ; c1 ∈ Cj1 ; c2 ∈ Cj2 ; e1 ∈ Ej1 ; e2 ∈ Ej2 ; (4.30) ∀m ∈ (Mj1 e1 ∩ Mj2 e2 ∩ MAG )) GSN, GT A+ , GZ, Z, GA ≥ 0
(4.31)
GT A+ jc ≥ 0
(4.32)
ajcem ≥ 0
(∀j ∈ J ; ∀c ∈ Cj ) (∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej ; ∀m ∈ Mje )
yj1 c1 j2 c2 m ∈ {0; 1} (∀j1 , j2 ∈ J ; j1 ≤ j2 ; c1 ∈ Cj1 ; c2 ∈ Cj2 ; ∀m ∈ (Mj1 e1 ∩ Mj2 e2 )) sjcemv ∈ {0; 1}
(4.33) (4.34) (4.35)
(∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej ; ∀m ∈ Mje ; ∀v ∈ Vm ) (4.36)
gjce , njce ∈ {0; 1}
(∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej )
(4.37)
4.3 Modellformulierung f¨ ur die Fallstudie aus der Halbleiterindustrie
83
4.3.3 Erl¨ auterungen Auswahl einer der alternativen Maschinenfolgen In der hier betrachteten Problemstellung kann eine Charge c von einem Endmessdiodentyp j auf verschiedene alternative Wege (Ej ) hergestellt werden. Damit eine zu produzierende Charge eines Auftrages nur einmal hergestellt wird, muss von den alternativ m¨oglichen Maschinenfolgen genau eine ausgew¨ahlt weruhrt und die Nebenbedingung 4.17 den. Hierzu wird die Bin¨arvariable gjce eingef¨ formuliert. Wird f¨ ur die Charge c von Endmessdiodentyp j die Maschinenfolge e gew¨ahlt, nimmt die Bin¨arvariable gjce den Wert 1 an (0 sonst). M¨ oglichkeit der Nichterf¨ ullung In der betrachteten Problemstellung muss die Nachfrage nach verschiedenen Endmessdiodentypen innerhalb des Planungszeitraums von T Minuten befriedigt werden. Mit der Bearbeitung eines Auftrags soll aber nur begonnen werden, wenn er bis zum Ende des Planungszeitraums T vollst¨andig hergestellt werden kann. Andernfalls soll der Auftrag komplett in den nachfolgenden Planungszeitraum verschoben werden. Diese M¨oglichkeit der Nichterf¨ ullung wird mit Hilfe der Bin¨arvariablen njce und den Restriktionen 4.18 und 4.19 abgebildet. Wenn die Charge c vom Endmessdiodentyp j, die mit der Maschinenfolge e hergestellt wird, innerhalb des Planungszeitraums fertig gestellt wird, nimmt njce den Wert 1 an (4.18). Ansonsten werden alle Anfangszeitpunkte auf 0 gesetzt (4.19).32 Zwischen der Auswahl einer Maschinenfolge und der M¨oglichkeit der Nichterf¨ ullung besteht ein Zusammenhang. Eine Nichterf¨ ullung ist nur m¨oglich, wenn Maschinenfolge e auch tats¨achlich gew¨ahlt wird (4.20). Es sind Korrekturterme in verschiedenen Gleichungen notwendig, um sie im Falle einer Nichterf¨ ullung redundant zu machen.33 Maschinenstillst¨ ande Die Maschinenstillst¨ande m¨ ussen im Modell gesondert betrachtet werden. Die Parameter StAmv und StEmv geben jeweils den v-ten Stillstandsanfangs- bzw. Stillstandsendzeitpunkt der Maschine m an. Zwischen Stillstandsanfang und Stillstandsende liegt die nicht belegbare Zeit der Maschine. Nach einem Maschinenstillstand ist jede Maschine w¨ahrend der Anlaufphase eine Zeit lang nicht voll leistungsf¨ahig. Um dies zu ber¨ ucksichtigen, wird die Nichtverf¨ ugbarkeit der Maschine um den relevanten Zeitraum, die Anlaufzeit azm , verl¨angert. Da die Bearbeitung der Auftr¨age nicht unterbrochen werden darf, muss modelliert werden, dass eine Operation entweder vor einem Maschinenstillstand 32 33
Dies ist f¨ ur das im Folgenden noch zu erl¨auternde Zielkriterium GA n¨otig. Aufgrund der Beziehung in Formel 4.20 k¨onnen Korrekturterme der Maschinenfolgeauswahl“ ” n¨otig gewesen w¨aren, weggelassen werden, die eigentlich ebenfalls in verschiedenen Gleichung um sie f¨ ur die nicht ausgew¨ahlten Maschinenfolgen redundant zu machen.
84
4 Job-Shop-Modelle der Ablaufplanung
beendet ist oder erst nach diesem Maschinenstillstand beginnen darf. Dazu wird im Modell die Bin¨arvariable sjcemv definiert. Sie nimmt den Wert 0 an, falls die mit Maschinenfolge e hergestellte Charge c vom Endmessdiodentyp j auf der Maschine m vor Beginn ihres v-ten Maschinenstillstandes fertig gestellt werden kann (4.22). Die Vorg¨ange der Nachlaufzeit sind zwar im Flussprinzip an den Montageprozess angeschlossen, aber sie k¨onnen auch stattfinden, wenn die Montagemaschine still steht. Es muss also nur sichergestellt sein, dass der eigentliche Montageprozess abgeschlossen ist, bevor ein Stillstand anf¨angt. Falls die mit Maschinenfolge e hergestellte Charge c vom Endmessdiodentyp j aufgrund des v-ten Maschinenstillstandes von Maschine m aber erst nach dem Stillstand auf m bearbeitet werden kann, nimmt sjcemv den Wert 1 an. Dabei ist neben der Anlaufzeit zu ber¨ ucksichtigen, dass die Maschine f¨ ur den neuen auf ihr zu bearbeitenden Auftrag ger¨ ustet werden muss, weil der R¨ ustzustand u ¨ber Maschinenstillst¨ande nicht erhalten bleibt (4.23). Nebenbedingung 4.21 stellt sicher, dass zu Beginn des Planungszeitraums kein Auftrag vor Beendigung der Anlauf- und R¨ ustzeit auf der Maschine m bearbeitet wird. Bedingungen zu den gegebenen Maschinenfolgen mit Ber¨ ucksichtigung der Nachlaufzeit Es muss außerdem sichergestellt sein, dass alle Auftr¨age in der ausgew¨ahlten Maschinenfolge korrekt hergestellt werden. Mit der Bearbeitung eines Auftrags auf seiner m-ten Maschine ([m]) kann somit erst begonnen werden, wenn er auf seiner Vorg¨angermaschine ([m − 1]) vollst¨andig bearbeitet wurde (4.24). Die Bearbeitung auf einer Montagemaschine (m ∈ MAG ) erfordert im Anschluss an die Bearbeitung eine Nachlaufzeit nzjm .34 Diese wird als Mindestabstand ber¨ ucksichtigt, bevor der Auftrag auf seiner Nachfolgermaschine weiter bearbeitet werden kann. Bedingungen zu den zu bestimmenden Auftragsfolgen unter der Ber¨ ucksichtigung der R¨ ustzeiten Zur Abbildung der disjunktiven Nebenbedingungspaare wird die Bin¨arvariable uhrt, die den Wert 1 annimmt, falls die Charge c2 von j2 Nachfolyj1 c1 j2 c2 m eingef¨ ger von Charge c1 von j1 auf m ist (0, sonst). Da die Vorg¨ange der Nachlaufzeit nicht auf der Montagemaschine stattfinden, haben sie keine Auswirkung auf die Auftragsfolgebedingungen. Auf einer Maschine kann ein Auftrag erst bearbeitet werden, wenn sein unmittelbarer Vorg¨anger auf dieser Maschine zu Ende bearbeitet wurde sowie die Zeit f¨ ur einen eventuell n¨otigen R¨ ustvorgang abgelaufen ist. Alle R¨ ustvorg¨ange f¨ ur einen neuen Auftrag k¨onnen bereits erfolgen, w¨ahrend der Auftrag noch 34
Die Nachlaufzeiten an den anderen Maschinen werden auf Null gesetzt: nzjm = 0 ∀m ∈ (M\MAG ).
4.3 Modellformulierung f¨ ur die Fallstudie aus der Halbleiterindustrie
85
auf seiner Vorg¨angermaschine bearbeitet wird. Die R¨ ustvorg¨ange k¨onnen dabei nicht unterbrochen werden. Hinsichtlich der Notwendigkeit eines R¨ ustvorgangs ist zu unterscheiden, ob es sich bei den zwei Auftr¨agen um denselben Endmessdiodentyp j handelt. Wenn ja, dann muss nicht ger¨ ustet werden (4.25 und ¨ 4.26). Andert sich der Endmessdiodentyp (j1 = j2 ), ist zwischen den Montageund den restlichen Maschinen zu unterscheiden. Auf den restlichen Maschinen ist immer ein R¨ ustvorgang n¨otig (4.27 und 4.28). Aufgrund der Divergenz der Produktionsstruktur k¨onnen aus dem gleichen Montagediodentyp verschiedene Endmessdiodentypen hergestellt werden. D. h., dass in der Montage eine R¨ ustzeit ebenfalls nicht erforderlich ist, wenn die zwei unterschiedlichen Endmessdiodentypen j1 und j2 aus demselben Montagediodentyp hergestellt werden ur die Montagemaschinen ein spezifiziertes Restrik(wj1j2 = 1). Deshalb muss f¨ tionenpaar betrachtet werden, das sowohl u uft, ob eine direkte Nachfol¨berpr¨ gebeziehung besteht, als auch, ob Vorg¨anger und Nachfolger aus demselben Montagediodentyp hergestellt werden (4.29 und 4.30). Die Zielfunktion und die Zielfunktionsbedingungen Die Zielsetzung der Problemstellung ist, wie in Abschnitt 3.6 beschrieben, die Erf¨ ullung des kompletten Auftragsbestandes innerhalb des Planungszeitraums zu gew¨ahrleisten. Sollte dies aufgrund von unzureichenden Kapazit¨aten nicht m¨oglich sein, muss unbedingt ein Totalausfall bei der Lieferbereitschaft einzelner Endmessdiodentypen vermieden werden. Kapazit¨atsengp¨asse k¨onnen dabei von vornherein bestehen oder im Laufe des Planungszeitraums aufgrund von unvorhergesehenen Maschinenausf¨allen entstehen. Die Umsetzung der beschriebenen Zielsetzungen erfolgt im Modell mit Hilfe von vier Zielkriterien, die unterschiedlich gewichtet und additiv verkn¨ upft sind (vgl. Zielfunktion 4.9).35 Es wird dabei ein Ansatz gem¨aß der robusten Planung verfolgt, indem ein deterministisches Modell erstellt wird, das potentielle zuk¨ unftige St¨orungen antizipiert und ber¨ ucksichtigt. Im Folgenden werden diese vier Zielkriterien erl¨autert. Da m¨oglichst viele Auftr¨age erf¨ ullt werden sollen, ist eine Nichterf¨ ullung“ ” zu vermeiden und wird deshalb als Zielkriterium in die Zielfunktion aufgenommen: Der erste Summand GSN gibt den Gewichteten S trafterm f¨ ur die N ichterf¨ ullung wieder. Es muss beachtet werden, dass die Nichterf¨ ullung eines Auftrags nur in den Strafterm einfließen darf, wenn die Maschinenfolge e auch ausgew¨ahlt wurde, d. h., wenn gjec den Wert 1 annimmt und njec den Wert 0 (vgl. 4.10). Wenn aufgrund unzureichender Kapazit¨aten im Voraus bekannt ist, dass nicht alle Mengen im Planungszeitraum produziert werden k¨onnen, sollten 35
Die Zielsetzungen der Fallstudie bilden die sog. Oberziele, die verwendeten Zielkriterien die sog. Unterziele, die konkret und messbar und zu den Oberzielen komplement¨ar sind.
86
4 Job-Shop-Modelle der Ablaufplanung
die Diodentypen mit geringerer Chargenanzahl priorisiert werden, um das Risiko eines Totalausfall dieser Diodentypen zu minimieren. Im Modell wird die Nichterf¨ ullung daher mit dem Verh¨altnis aus der maximalen Anzahl von einem Diodentyp herzustellenden Chargen und der von Diodentyp j herzustellenden gewichtet. Der Strafterm f¨ ur die Nichterf¨ ullung eines EndmessdiChargen CCmax j odentyps j wird damit umso gr¨oßer, je weniger Chargen von diesem herzustellen ur die Nichterf¨ ullung der einzelnen Chargen aller Endmesssind.36 Strafterme f¨ diodentypen werden mit dem Planungshorizont T in der Zielfunktion aufgrund ihrer u ¨bergeordneten Bedeutung am st¨arksten gewichtet. Neben dieser Priorisierung von Endmessdiodentypen mit geringer Chargenanzahl werden im Folgenden weitere Unterziele formuliert, um den vollst¨andigen Ausfall der Lieferbereitschaft bei einzelnen Endmessdiodentypen zu vermeiden, die durch unzureichende Kapazit¨aten in Folge von stochastischen Maschinenausf¨allen verursacht werden k¨onnen. So soll die Herstellung der Chargen eines Diodentyps gleichm¨aßig u ¨ber den Planungszeitraum verteilt werden, um zu vermeiden, dass die gesamte Nachfrage nach einem Diodentyp am Ende des Planungszeitraums eingeplant wird und wom¨oglich durch einen Maschinenausfall vollst¨andig als Fehlmenge auftritt. Dies wird im Modell dadurch umgesetzt, dass f¨ ur alle Chargen von einem Endmessdiodentyp gleichverteilt u ¨ber den Planungszeitraum Fertigstellungsteruberschreitungen zu minimieren mine37 vergeben werden, und eventuelle Termin¨ sind.38 Dies fließt u ¨ber den zweiten Summanden GT A+ , die gesamte Gewichtete T ermin¨ uberschreitung des Auftragsbestandes, in die Zielfunktion ein (4.11). Eine Termin¨ uberschreitung GT A+ jc einer Charge c von einem Endmessdiodentyp j liegt dabei vor, wenn die Differenz zwischen ihrem Fertigstellungszeitpunkt Fjc und ihrem Fertigstellungstermin Fjc∗ positiv ist:39
GT A+ jc 36
Fjc − Fjc∗ = max 0; T + 1 − Fjc∗
Sind z. B. von zwei Endmessdiodentypen C1 = 1 bzw. C2 = 4 Chargen herzustellen. Mit Cmax Cmax = 8 und = 2. Wird jeweils eine Charge weniger hergestellt als Cmax = 8 ist C1 C2 n¨otig, geht der Strafterm f¨ ur die Nichterf¨ ullung im ersten Fall achtfach in die Zielfunktion ein, im zweiten Fall aber nur zweifach. 37 Vgl. zur Bestimmung von Lieferterminen auch Paulik(1984), S. 107 und Witt(2004), S. 62ff. 38 Im Prinzip ist jegliche Terminabweichung – egal ob zu fr¨ uh oder zu sp¨at – unerw¨ unscht. Da jedoch im Sinne einer robusten Planung bereits vorab potentielle ungeplante Maschinenausf¨alle ber¨ ucksichtigt werden sollen, werden Verfr¨ uhungen akzeptiert und nur Versp¨atungen bestraft. 39 Es wird im Nenner zum Planungshorizont T eine 1 addiert, da der Nenner nicht Null werden darf, Dies k¨onnte aber passieren, wenn ein Fertigstellungstermin genau dem Planungshorizont entspr¨ache.
4.3 Modellformulierung f¨ ur die Fallstudie aus der Halbleiterindustrie
87
Eine Versp¨atung soll in die Zielfunktion umso st¨arker einfließen, je gr¨oßer die Termin¨ uberschreitung ist und je n¨aher der Fertigstellungstermin am Planungshorizont liegt (4.12 und 4.13).40 Es ist sinnvoll, alle Chargen so fr¨ uh wie m¨oglich zu produzieren, da dadurch ein zeitlicher Puffer gegen Ende des Planungszeitraums geschaffen wird und so auf unvorhergesehene Maschinenausf¨alle flexibler reagiert werden kann. Dies kann durch die Minimierung der Zykluszeit sowie ein unverz¨ogertes Einplanen erreicht werden: Die Zykluszeit geht u ¨ber den dritten Summanden GZ als Gewichtete Z ykluszeit in die Zielfunktion ein (4.14 und 4.15). Die Zykluszeit fließt dabei umso st¨arker in die Zielfunktion ein, je n¨aher sie am Planungshorizont ist. Da die Zykluszeit und die Termin¨ uberschreitungen gleichgewichtet in die Zielfunktion eingehen sollen, wird die mit dem Planungshorizont gewichtete Zykluszeit zus¨atzlich mit dem Normierungsfaktor gZ gewichtet.41 Weitere Reaktionszeit“ kann dadurch geschaffen werden, dass alle Operationen ” fr¨ uhestm¨oglich eingeplant werden (semiaktiver Ablaufplan). Der vierte Summand GA gibt die gesamte Gewichtete Anfangszeit wieder (4.16). Dieses Zielkriterium ist von untergeordneter Bedeutung, so dass der Gewichtungsfaktor gA am geringsten ausf¨allt.42 Nichtnegativit¨ ats- und Bin¨ arbedingungen der Variablen Die Nebenbedingungen 4.31 bis 4.37 legen die Wertebereiche der Entscheidungsvariablen fest.
4.3.4 Fallstudie FS2 Das Modell GGLP-Komplett soll im Folgenden anhand der Fallstudie FS2 veranschaulicht werden. Bei dieser Fallstudie gibt es drei m¨ogliche Produkte j, die jeweils mit drei alternativen Maschinenfolgen e auf vier verschiedenen Maschinen m hergestellt werden k¨onnen (siehe Tabelle 4.7 auf S. 88). Bei einem Produktwechsel ist ein R¨ ustvorgang n¨otig, der R¨ ustzeiten beansprucht. Die bei40
Dies kann an folgendem Beispiel mit dem Planungshorizont T = 9 leicht nachvollzogen werden: • Je gr¨oßer die Termin¨ uberschreitung ist, umso st¨arker wird eine Termin¨ uberschreitung 8−6 9−6 =0,5 und 10−6 = 0, 75. gewichtet: 10−6 • Je n¨aher der Fertigstellungstermin am Planungshorizont ist, umso st¨arker wird eine 8−6 9−7 Termin¨ uberschreitung gewichtet: 10−6 =0,5 und 10−7 = 0, 6. 41 Faktor gZ h¨angt dabei vom jeweiligen Szenario ab. 42 Mit diesen vier Zielkriterien l¨asst sich die Klassifikation der Problemstellung folgendermaßen pr¨azisieren: M F J|nzkm , T, 0k 4, rzkm , azm |F (GSN, GT A+ , GZ, GA).
88
4 Job-Shop-Modelle der Ablaufplanung
den Produkte j = 1 und j = 2 bilden auf Maschine m = 1 eine Auftragsgruppe (w12 = 1), d. h., bei einem Wechsel zwischen diesen beiden Produkten muss auf Maschine 1 nicht ger¨ ustet werden.43 Nach der Bearbeitung auf Maschine m = 1 m¨ ussen die einzelnen Auftr¨age noch eine Nachlaufzeit durchlaufen. Von jedem Produkt kann mehr als eine Einheit (Charge) nachgefragt werden. Jede Einheit eines Produktes stellt einen Auftrag dar. Es wird im Folgenden davon ausgegangen, dass von Produkt j = 1 zwei Einheiten (C1 = 2) und von den Produkten j = 2 und j = 3 jeweils nur eine Einheit (C2 = C3 = 1) nachgefragt werden, so dass insgesamt C = 4 Auftr¨age zu bearbeiten sind. F¨ ur jeden Auftrag ist ein Liefertermin gegeben. Die Maschinen stehen zu Beginn des Planungszeitraums von T = 60 Zeiteinheiten (ZE) still und k¨onnen auch w¨ahrend des Planungszeitraums still stehen. Nach jedem Stillstand ist eine Anlaufzeit zu ber¨ ucksichtigen, in der die Maschinen nicht einsatzf¨ahig sind. Die entsprechenden Daten sind in den Tabellen 4.8 auf S. 88 und 4.9 auf S. 89 angegeben. Produkt Maschinenfolge j=1 e=1 e=2 e=3 j=2 e=1 e=2 e=3 j=3 e=1 e=2 e=3
[1]je [2]je [3]je [4]je 1 2 4 3 1 2 3 4 3 1 2 2 3 4 1 2 3 4 1 3 4 1 2 3 4 1 2 3 1 2 4
Tabelle 4.7: Alternative Maschinenfolgen (Fallstudie FS2) pjm rzjm nzjm m=1 m=2 m=3 m=4 m=1 m=2 m=3 m=4 m=1 j=1 7 4 4 1 3 4 2 2 5 j=2 7 6 9 4 3 5 7 2 5 j=3 5 5 3 7 5 6 1 2 3 Tabelle 4.8: Prozess-, R¨ ust-und Nachlaufzeiten in ZE (Fallstudie FS2) Die Fallstudie wird nun mit Hilfe des in Abschnitt 4.3.2 formulierte gemischtganzzahlige linearen Programms GGLP-Komplett gel¨ost.44 Es ben¨otigt 963 Variablen, davon 128 ganzzahlige, und 631 Nebenbedingungen. Es liefert die in 43 44
w13 = w23 = 0. Als Gewichtungsfaktor f¨ ur den Strafterm SN wurde hier statt T · Cmax nur 200 eingesetzt, gZ = 0, 5, gA = 0, 0001.
4.3 Modellformulierung f¨ ur die Fallstudie aus der Halbleiterindustrie Maschine m=1 m=2 m=3 m=4
azm 1. Stillstand 2. Stillstand 5 0-10 2 0-5 15-20 1 7-10 15-25 4 - bzw. 40-55 -
Produkt j=1 j=1 j=2 j=3
89
Charge Fjc∗ c=1 40 c=2 50 c=1 50 c=1 45
Tabelle 4.9: Anlaufzeiten und Stillstandszeitr¨aume der Maschinen sowie Liefertermine der Auftr¨age in ZE (Fallstudie FS2)
folgender Abbildung 4.7 dargestellte optimale L¨osung. Alle Auftr¨age k¨onnen innerhalb des Planungszeitraums erf¨ ullt werden. F¨ ur die Herstellung wird f¨ ur die erste Charge des ersten Produkts die Maschinenfolge e = 3, f¨ ur die zweite Charge dagegen die Maschinenfolge e = 2 ausgew¨ahlt. Das zweite und das dritte Produkt werden ebenfalls jeweils mit ihrer zweiten Maschinenfolge hergestellt. Bei der ersten Charge des ersten Produkts kommt es zu einer Termin¨ uber= 0, 0476), bei dem dritten Produkt zu einer Terschreitung von 1 ZE (GT A+ 11 + = 0, 875). Damit ist GT A = 0, 9226. min¨ uberschreitung von 14 ZE (GT A+ 31 Die Zykluszeit ist Z = 59 ZE (GZ = 0, 4916). Die Summe der Anfangszeiten ist 464 und somit GA = 0, 0464. Der Zielfunktionswert betr¨agt damit 1,4607 Zielfunktionseinheiten.
Abbildung 4.7: GGLP-Komplett: Gantt-Diagramm eines optimalen Ablaufplans von Fallstudie FS2
90
4 Job-Shop-Modelle der Ablaufplanung
Um zu verdeutlichen, was passiert, wenn die Maschinenkapazit¨aten nicht ausreichen, f¨ uhren wir einen weiteren Maschinenstillstand ein- diesmal auf Maschine 4. Diese steht nun von 40-55 ZE still. Die optimale L¨osung ist in folgender Abbildung 4.8 veranschaulicht. Das Ergebnis ver¨andert sich nun dahingehend, dass nicht mehr alls 4 Auftr¨age erf¨ ullt werden k¨onnen. Das Produkt 2 kann nicht mehr hergestellt werden (Strafterm 200), da es mit jeder Maschinenfolge zwingend auf Maschine 4 nach dessen Stillstand bearbeitet werden muss, so dass es es erst nach dem Ende des Planungszeitraums fertig gestellt werden k¨onnte. Die zweite Charge von Produkt 1 kann dagegen auf eine andere Maschinenfolge (e = 3) ausweichen, mit der sie nicht auf Maschine 4 bearbeitet werden muss. Es kommt bei der Herstellung der beiden Chargen des ersten Produkts zu Termin¨ uberschreitungen von 4 ZE bzw. 1 ZE. Das dritte Produkt wird 2 ZE zu sp¨at fertig (GT A+ = 0, 2814). Die Zykluszeit ist Z = 51 (GZ = 0, 425). Mit GA = 0, 0262 betr¨agt der Zielfunktionswert folglich 200,7326 Zielfunktionseinheiten.45
Abbildung 4.8: GGLP-Komplett: Gantt-Diagramm eines optimalen Ablaufplans von Fallstudie FS2 mit Stillstand der Maschine 4
45
Hierzu wurden 963 Variablen (140 ganzzahlige) und 649 Nebenbedingungen ben¨otigt (Rechenzeit 1s).
5 Lo ¨sungsverfahren fu ¨r Job-Shop-Probleme In den vorangegangenen Kapiteln wurden die theoretischen Grundlagen der Ablaufplanung beschrieben und wurde auf die Modelle von Job-Shop-Problemen eingegangen. In diesem Kapitel werden m¨ogliche L¨osungsverfahren f¨ ur determinitisch-statische Job-Shop-Probleme vorgestellt. Zun¨achst erfolgen im Abschnitt 5.1 Anmerkungen zur Komplexit¨at der betrachteten Problemstellung. Daran ¨ anschließend wird in Abschnitt 5.2 ein Uberblick u ¨ber exakte und heuristische L¨osungsans¨atze f¨ ur das Job-Shop-Problem gegeben. Aufgrund der Komplexit¨at der betrachteten Fallstudie aus der Halbleiterindustrie (FSH) werden f¨ ur die weitere Arbeit zwei heuristische Verfahren herausgegriffen und ausf¨ uhrlich beschrieben: das Priorit¨atsregelverfahren (Abschnitt 5.3) sowie der Genetische Algorithmus (Abschnitt 5.4).
5.1 Anmerkungen zur Komplexit¨ at Probleme der Ablaufplanung werden seit vielen Jahrzehnten unter Verwendung verschiedener Ans¨atze erforscht, was sich in einer hohen Publikationsintensit¨at in diesem Bereich widerspiegelt. Im Folgenden werden die in der Vergangenheit entwickelten Wege zur L¨osung des Job-Shop-Scheduling-Problems vorgestellt. Dieses geh¨ort wie nahezu alle Probleme der Ablaufplanung zur Klasse der kombinatorischen Optimierungsprobleme, die dadurch gekennzeichnet sind, dass eine optimale L¨osung aus einer endlichen Anzahl m¨oglicher L¨osungen gesucht wird. F¨ ur die L¨osung von Ablaufplanungsproblemen sind daher prinzipiell die L¨osungsalgorithmen der kombinatorischen Optimierung verwendbar.1 L¨osungsverfahren k¨onnen im Allgemeinen auf verschiedene Arten klassifiziert werden. Die m. E. grundlegendste Aufteilung erfolgt hinsichtlich der L¨osungsg¨ ute in folgende zwei Klassen:2 1
Da bei kombinatorischen Optimierungsproblemen die Menge der zul¨assigen L¨osungen endlich ist, kann durch eine vollst¨andige Enumeration die Menge der optimalen L¨osungen bestimmt werden. Da die vollst¨andige Enumeration aber mit einem erheblichen, meistens auch auf den besten Rechnern nicht durchf¨ uhrbaren Rechenaufwand verbunden ist, besteht das Ziel der kombinatorischen Optimierung darin, Algorithmen zu entwerfen, die erheblich schneller als die Enumeration aller L¨osungen sind. Eine einleitende Darstellung zu den Problemen und L¨osungsverfahren der kombinatorischen Optimierung wird u. a. in Domschke/Drexl(2007) auf S. 113ff. gegeben. 2 Vgl. Domschke/Scholl(2008), S. 70. I. J. Acker, Methoden zur mehrstufi gen Ablaufplanung in der Halbleiterindustrie, DOI 10.1007/978-3-8349-6731-2_5, © Gabler Verlag | Springer Fachmedien Wiesbaden GmbH 2011
92
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme • Exakte Verfahren haben den Anspruch, in endlich vielen Schritten eine optimale L¨osung zu bestimmen. • Heuristische L¨ osungsverfahren (Heuristiken) dagegen verzichten auf eine Garantie, ein Optimum zu finden (bzw. als solches zu erkennen). Sie geben sich damit zufrieden, lediglich gute zul¨assige L¨osungen zu bestimmen. Heuristiken gehen nach bestimmten Regeln zur L¨osungsfindung und -verbesserung vor, die hinsichtlich der betrachteten Zielsetzung und der Nebenbedingungen eines Problems als zweckm¨aßig, sinnvoll und erfolgversprechend erscheinen.
Die Forschung im Bereich der Ablaufplanung suchte erst einmal verst¨arkt nach L¨osungen mittels exakter Verfahren. Allerdings war diese Suche wenig erfolgreich, da Ablaufplanungsprobleme durch eine hohe Komplexit¨at gekennzeichnet sind.3 Die Komplexit¨atstheorie hat sich seit Anfang der 70er Jahre als selbst¨andige Erkenntnisrichtung im Bereich der theoretischen Informatik etabliert. Sie befasst sich damit, generelle Aussagen u ¨ber die Komplexit¨at von Problemen bzw. zugeh¨origen Optimierungsmodellen sowie u ¨ber den Rechenaufwand von Algorithmen zu treffen.4 Beide Aspekte h¨angen eng miteinander zusammen. Ist ein Problem formal definiert (wie z. B. das klassische Job-Shop-SchedulingProblem), so soll eine Aussage dar¨ uber getroffen werden, wie sich ein Algorithmus bei der Berechnung der Probleml¨osung in Abh¨angigkeit von der Schwierigkeit des Problems verh¨alt. I. d. R. sind es wenige Problemgr¨oßen (z. B. die Anzahl Variablen), die das Verhalten eines Algorithmus im Hinblick auf den Rechenaufwand maßgeblich beeinflussen.5 Die Kernfrage der Komplexit¨atstheorie ist, wie viel Mehrarbeit f¨ ur wachsende Problemgr¨oßen notwendig ist. So kann der Aufwand (in Relation zur Problemgr¨oße) z. B. linear, polynomial oder exponentiell steigen.6 3
Vgl. Eiselt/Sandblom(2004), S. 350. Die ersten Arbeiten stammen von Cook(1971) und Karp(1972). Vgl. neben diesen beiden Werken als Einf¨ uhrungen in die Komplexit¨atstheorie u. a. Coffman(1976); Lenstra et al.(1977); Garey/Johnson(1979); Bachem(1980); Bretz(1992); Br¨ uggemann(1995); Georgi(1995); Brucker(1997); Domschke et al.(1997); Wagenknecht(2003); Brucker(2005). 5 Im Folgenden wird unter dem Rechenaufwand die Anzahl der durch ein Algorithmus durchgef¨ uhrten Berechnungsschritte – bestehend aus elementaren Operationen wie Vergleich, Addition, Multiplikation, etc. – verstanden, die zur optimalen L¨osung notwendig sind. Es handelt sich dabei um die sog. Zeitkomplexit¨at, da ein Rechenschritt als eine Zeiteinheit definiert wird. Von der Platzkomplexit¨at, die den ben¨otigten Speicherbedarf wiedergibt, wird abstrahiert. 6 Um die Gr¨oßenordnung des Aufwands zu beschreiben, wird in der Literatur von der ONotation Gebrauch gemacht. Vgl. u. a. Zelewski(1989), S. 42 ff. 4
5.1 Anmerkungen zur Komplexit¨at
93
In der Komplexit¨atstheorie werden die beiden Komplexit¨atsklassen P und N P unterschieden. Zur Abgrenzung der beiden Klassen dient die Frage, ob ein Problem in Polynomialzeit l¨osbar ist (P) oder nicht (N P):7 • Ein Problem wird in polynomieller Zeit / polynomial l¨osbar genannt, wenn es mit einem Algorithmus effizient oder zumindest mit einem vertretbaren Rechenaufwand gel¨ost werden kann, d. h., der ben¨otigte zeitliche Aufwand zur Probleml¨osung mit der Problemgr¨oße nicht st¨arker als mit einer Polynomfunktion w¨achst. Die Klasse P enth¨alt daher die i. d. R. praktisch urzeste-Wegel¨osbaren Probleme. Hierzu geh¨oren z. B. LP-Modelle8 und K¨ Probleme. Unter der Pr¨amisse, dass optimale L¨osungen gesucht werden, sollte immer ein exaktes Verfahren angewendet werden, sobald ein Problem polynomial l¨osbar ist. • Wird der Rechenaufwand dagegen nicht durch ein von der Problemgr¨oße abh¨angiges Polynom nach oben beschr¨ankt, sondern w¨achst die Rechenzeit ebenso wie die L¨osungsmenge mit zunehmender Problemgr¨oße expour nentiell, spricht man von einem ineffizienten Verfahren.9 Der Aufwand f¨ derartige Probleme, die nicht in Polynomialzeit l¨osbar sind, w¨achst i. A. so schnell, dass schon relativ kleine Problemgr¨oßen mit verf¨ ugbaren Rechnern (unabh¨angig vom technischen Fortschritt) nicht in u ¨berschaubaren Zeitr¨aumen gel¨ost werden k¨onnen. Die Klasse N P enth¨alt deshalb die (vermutlich) praktisch unl¨osbaren Probleme, die als N P-schwer bezeichnet werden. Hierzu geh¨oren die meisten Probleme der kombinatorischen Optimierung. Bei N P-schweren Problemen kommen in praxisrelevanten Gr¨oßenordnungen nur heuristische L¨osungsverfahren in Betracht.10 Indem das oben beschriebene Konzept bei der Analyse von Ablaufplanungsproblemen angewendet wird, k¨onnen die meisten Probleme in eine der beiden ¨ Klassen eingeordnet werden. Einen Uberblick u ¨ber den aktuellen Forschungsstand bietet folgende Homepage:11 http://www.mathematik.uni-osnabrueck.de/research/OR/class Dort sind die Komplexit¨atsergebnisse, d. h. eine Einstufung in eine der beiden Klassen P oder N P, f¨ ur verschiedene Schedulingprobleme zusammengestellt. Es ist ersichtlich, dass bis auf wenige Ausnahmen die meisten Ablaufplanungsprobleme nicht in polynomialer Zeit gel¨ost werden k¨onnen. Auch das Job-ShopScheduling-Problem ist bis auf sehr wenige Spezialf¨alle N P-schwer. So ist es 7
P von polynomial, N P von nondeterministic-polynomial time. LP steht f¨ ur Lineares Programm. 9 Bei einem Anstieg der Problemgr¨oße w¨achst bei derartigen Problemen aufgrund der Kombinatorik der L¨osungsraum exponentiell. Dies hat wiederum unmittelbar zur Folge, dass die Rechenzeit ebenfalls mit der Problemgr¨oße ansteigt. 10 Vgl. Kistner/Steven(2001), S. 114f. 11 Zugegriffen am 28.02.2010. 8
94
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
z. B. m¨oglich, ein Job-Shop-Problem mit zu minimierender Zykluszeit, zwei Maschinen und maximal zwei Operationen je Auftrag (J2|Ok ≤ 2|Z) in polynomialer Zeit zu l¨osen.12 Aber bereits eine Erweiterung um eine Arbeitsganganzahl (J2|Ok ≤ 3|Z) oder eine Maschine (J3|Ok ≤ 2|Z) erzeugt N P-schwere Problemtypen.13 Geh¨ort das Problem J2|pkm = 1|Z noch zur Klasse P, so ist J3|pkm = 1|Z bereits nicht mehr in Polynomialzeit l¨osbar.14 Ist f¨ ur einen Problemtyp seine N P-Schwere nachgewiesen, sind von ihm auch alle Verallgemeinerungen und Varianten mit komplizierteren Zielfunktionen15 i.A. schwierig zu l¨osen. Auch das klassische Job-Shop-Scheduling-Problem J//Z ist N P-schwer. Es kann zwar in der Gr¨oßenordnung der Fallstudie FS1 mit drei Auftr¨agen und vier Maschinen noch exakt gel¨ost werden. Wie in Abschnitt 2.4.1 auf S. 35 beschrieben, gibt es in diesem Fall (K!)M = (3!)4 = 1296 m¨ogliche Auftragsfolgekombinationen. Aber bereits bei einer Verdoppelung der Anzahl Maschinen und Auftr¨age sind (6!)8 = 7, 2 · 1022 Auftragsfolgekombinationen m¨oglich. Dies macht deutlich, dass realistische Problemgr¨oßen nicht mehr in u ¨berschaubarer Zeit gel¨ost werden k¨onnen. Flexible Shop-Probleme sind Verallgemeinerungen ihrer einfachen“ Gegen” st¨ ucke.16 Der in der betrachteten Fallstudie FSH vorliegende Problemtyp M F J|nzkm , T, 0k 4, rzkm , azm |F (SN, T A+ , Z, A) geh¨ort daher ebenfalls zur Klasse der N P-schweren Optimierungsprobleme. Diese Tatsache macht eine exakte L¨osung mit vertretbarem Zeitaufwand leider unm¨oglich. Aufgrund dieser soeben beschriebenen Komplexit¨at von Ablaufplanungsproblemen gelang es in der Vergangenheit nat¨ urlich nicht, exakte Verfahren zu entwickeln, die insbesondere im Hinblick auf praktische Problemstellungen befriedigende L¨osungen lieferten. In Folge dessen trat die Suche nach heuristischen L¨osungsverfahren in den Vordergrund. Auch heutzutage liegt der Forschungsschwerpunkt haupts¨achlich auf der (Weiter- )Entwicklung und Anwendung ge12
Vgl. Jackson(1955) und Brucker et al.(1997). Siehe auch Brucker(1994). Vgl. der Reihenfolge nach erstens Lenstra et al.(1977) und Hefetz/Adiri(1982) sowie zweitens Gonzales/Sahni(1978). Vgl. auch f¨ ur den Problemtyp J2||Z Lenstra/Rinnooy Kan(1979). 14 Vgl. der Reihenfolge nach Hefetz/Adiri(1982) und Lenstra/Rinnooy Kan(1979). Hinweis: Auch J2|pkm = 1|T Amax geh¨ort zur Klasse P, vgl. Brucker/Neyer(1981). 15 Die Komplexit¨at eines multikriteriellen Problems α|β|γ1 , . . . , γZ ist mindestens so hoch, wie die h¨ochste Komplexit¨at der jeweiligen monokriteriellen Probleme α|β|γ1 bis α|β|γZ . Vgl. Chen/Bulfin(1993); T’Kindt/Billaut(2002). 16 Daher gilt jedes N P-Komplexit¨atsergebnis, das f¨ ur ein Shop-Problem gilt, auch f¨ ur das dazugeh¨orige flexible Shop-Problem. Das heißt zum Beispiel, dass der Problemtyp F J3|pkm = 1|Z N P-schwer ist, weil bereits sein Spezialfall J3|pkm = 1|Z N P-schwer ist. Vgl. Garey et al.(1976) und Lenstra/Rinnooy Kan(1979). 13
¨ 5.2 Uberblick u ¨ber exakte und heuristische L¨osungsans¨atze
95
eigneter heuristischer Verfahren. Außerdem konzentriert sich die Forschung aufgrund der Komplexit¨at i. d. R. nur auf wenige Spezialprobleme mit meist monokriteriellen Zielfunktionen. Insbesondere das auch hier betrachtete statischdeterministische klassische Job-Shop-Problem spielt dabei eine wichtige Rolle bei der Entwicklung und Bewertung neuer Verfahren. Die bei den Spezialproblemen getroffenen restriktiven Annahmen spiegeln allerdings aufgrund von immer flexibler werdenden Produktionssystemen, komplexen Auftragsstrukturen und i. d. R. multikriteriellen Zielsetzungen selten die Realit¨at wider. Viele bez¨ uglich der simplifizierten Probleme entwickelten Verfahren sind daher den Anspr¨ uchen realer, meist viel komplexerer Probleme nicht gewachsen.
¨ 5.2 Uberblick u ¨ ber exakte und heuristische L¨ osungsans¨ atze Da zur L¨osung des Job-Shop-Scheduling-Problems zahlreiche Verfahren existie¨ ren, wird in diesem Abschnitt ein Uberblick u ¨ber bekannte exakte und heuristische L¨osungsans¨atze gegeben. Die Verfahren unterscheiden sich haupts¨achlich durch ihre L¨osungsprinzipien. Die meisten dieser Prinzipien sind auch zur L¨osung anderer Optimierungsprobleme geeignet.17
5.2.1 Exakte Verfahren Exakte Verfahren streben eine optimale L¨osung eines Problems in einer endlichen Anzahl von Schritten an. Sie finden entweder eine optimale L¨osung oder stellen fest, dass das Problem unl¨osbar oder unbeschr¨ankt ist. Job-ShopScheduling-Probleme k¨onnen, wie in Kapitel 4 beschrieben, als gemischt-ganzzahlige lineare Programme formuliert werden. Da es sich bei ihnen um kombinatorische Optimierungsprobleme handelt und somit ihr jeweiliger zul¨assiger L¨osungsbereich eine endliche Menge ist, k¨onnen zu ihrer L¨osung enumerative Verfahren angewendet werden.18 Bei der von ihrer Arbeitsweise einfachsten Methode der vollst¨ andigen Enumeration werden zun¨achst alle m¨oglichen L¨osungen berechnet. Aus diesen wird anschließend durch den Vergleich der Zielfunktionswerte die beste L¨osung ausgew¨ahlt. Aufgrund der Komplexit¨at des Job-Shop-Scheduling-Problems ist dieses Vorgehen aber nur bei sehr kleinen Probleminstanzen anwendbar. Daher werden i. d. R. zur Verringerung des Rechenaufwandes Verfahren der impliziten Enumeration eingesetzt. Diese 17
¨ In folgenden Artikeln wird ebenfalls ein Uberblick u ¨ber L¨osungsverfahren des JSP gegeben: Lawler et al.(1982); Rodhammer/White(1988); Bla˙zewicz et al.(1996); Jones/Rabelo(1998); Jain/Meeran(1999); Dorndorf et al.(2003). 18 Ausf¨ uhrlich dazu vgl. Garfinkel/Nemhauser(1972), S. 108ff.; Salkin(1975), S. 165ff.; Minoux(1986), S. 248ff.; Wolsey(1998), S. 91ff.
96
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
betrachten zun¨achst allen denkbaren L¨osungskombinationen und schließen sukzessive diejenigen Kombinationen aus der Untersuchung aus, die f¨ ur die optimale L¨osung nicht (mehr) in Betracht kommen.19 Dies erfolgt meist mit Hilfe eines Such- bzw. Wurzelbaumes, dessen Knoten Teilmengen des L¨osungsraumes entsprechen (vgl. Abbildung 5.1).20 Daher werden diese Verfahren auch als Entscheidungsbaumverfahren bezeichnet.
0
1
2
3
7
4
8
9
5
10
11
6
12
13
14
Abbildung 5.1: Entscheidungsbaum und das Branch-and-Bound-Prinzip Durch das Bounding k¨onnen bestimmte Verzweigungs¨aste des L¨osungsbaumes von der n¨aheren Betrachtung ausgeschlossen werden. Im skizzierten Beispiel m¨ ussen so nur die grau dargestellten Knoten explizit generiert werden. Das zur L¨osung von Job-Shop-Problemen popul¨arste implizite Enumerationsverfahren ist das Branch-and-Bound-Verfahren (B&B).21 Es beruht auf den drei Prinzipien Separation, Relaxation und Auslotung. Ein zu l¨osendes Problem (Π0 ) wird in zwei oder mehrere (m¨oglichst disjunkte) Teilprobleme Πs (s = 1, . . . , S) separiert, wobei die Vereinigung der Alternativenmenge X aller Teilprobleme wieder die des urspr¨ unglichen Problems ergibt (Branching): X (Π0 ) =
S
X (Πs ) und m¨oglichst
X (Πs1 ) ∩ X (Πs2 ) = Ø ∀s1 = s2
s=1 19
Vgl. Siegel(1974), S. 74. Zu den Begriffen u ¨ber Wurzelb¨aume vgl. z. B. Neumann/Morlock(2002), S. 183ff. 21 A. H. Land und A. G. Doig formulierten 1960 erstmals die Idee von Branch-and-Bound (vgl. Land/Doig(1960)). 1963 wurde sie erstmals zur L¨osung eines ganzzahligen Optimierungsproblems (Traveling Salesman Problem) angewendet (vgl. Little et al.(1963)). R. J. Dakin ver¨offentlichte 1965 einen einfach zu implementierenden Algorithmus (vgl. Dakin(1965)). Vgl. zudem Lawler/Wood(1966) und Mitten(1970). Die folgenden Erl¨auterungen zum B&BVerfahren basieren auf: Nemhauser/Wolsey(1999), S. 355ff.; Martin(1999), S. 319ff.; Pinedo(2005), S. 402ff.; Domschke/Drexl(2007), S. 125ff. 20
¨ 5.2 Uberblick u ¨ber exakte und heuristische L¨osungsans¨atze
97
Die Teilprobleme Π1 , Π2 , . . . , ΠS sind ihrerseits weiter verzweigbar, wodurch ein Baum von Problemen mit der Wurzel Π0 entsteht (vgl. Abbildung 5.1).22 Zur Beschr¨ankung des Verzweigungsprozesses werden untere und obere Schranken f¨ ur Zielfunktionswerte berechnet, um mit deren Hilfe zu entscheiden, ob Teilprobleme weiter verzweigt werden m¨ ussen oder nicht. Bei der Initialisierung des Verfahrens kann die obere Schranke (upper bound, U B) unendlich gesetzt werden (U B := ∞) oder eine sch¨arfere obere Schranke bestimmt werden, indem ein heuristischen Verfahren auf das Ausgangsproblem Π0 angewendet wird. Der so ermittelte Zielfunktionswert stellt eine Obergrenze dar, da ein optimaler Zielfunktionswert nie schlechter als diese bereits bekannte zul¨assige (Minimal)L¨osung sein kann. Die U B wird im Laufe des Verfahrens durch die jeweils beste bekannte, zul¨assige L¨osung von Π0 ersetzt. Daneben werden untere Schranur die optimalen Zielfunktionswerte der Probleme Πs ken (lower bounds) LBs f¨ (s = 0, . . . , S) berechnet, indem die jeweiligen Relaxationen ΠR s von Πs gebildet werden. Ein Problem wird relaxiert, indem einige (oder alle) Nebenbedingungen des Optimierungsproblems weggelassen oder gelockert“ werden.23 ” Ein Problem ΠR s min f R (x)|x ∈ X (ΠR s) bildet genau dann eine Relaxation von dem Optimierungsproblem Πs min {f (x)|x ∈ X (Πs )} , R 24 wenn X (Πs ) ⊆ X (ΠR Der optimale s ) und f (x) ≤ f (x) ∀x ∈ X (Πs ) gilt. uglich Zielfunktionswert einer Relaxation Πs , dessen optimale L¨osung auch bez¨ ur den optimalen des Ausgangsproblems Π0 zul¨assig ist, stellt eine Untergrenze f¨ Zielfunktionswert von Π0 dar. Die Relaxation sollte dabei sowohl (wesentlich) leichter l¨osbar sein als das Ausgangsproblem, als auch eine m¨oglichst gute Approximation des Ausgangsproblems darstellen, um brauchbare Informationen u ¨ber optimale L¨osungen des Ausgangsproblems zu liefern. Denn je besser die Schranken sind, desto mehr Zweige k¨onnen von der weiteren Betrachtung ausgeschlossen werden und desto effizienter gestaltet sich somit das Verfahren. F¨ ur jedes generierte Teilproblem wird anhand seiner dazugeh¨origen Relaxation ΠR s u uft, ob es eine f¨ ur Π0 optimale L¨osung enthalten kann und daher eine ¨berpr¨ weitere Verzweigung sinnvoll ist. Ein Teilproblem Πs muss nicht mehr separiert 22
Die Art der Aufspaltung h¨angt vom betrachteten Problem ab. Es muss aber mindestens ein L¨osungswert je Teilproblem so festgelegt werden, dass unterschiedliche Teilprobleme enstehen. 23 Bei der Betrachtung von Job-Shop-Problemen k¨onnen dies z. B. disjunktive Restriktionen oder die Ganzzahligkeitsforderung f¨ ur die Bin¨arvariablen sein. Eine andere M¨oglichkeit ist die Relaxation mit Ein-Maschinen-Problemen oder Zwei-Auftrags-Problemen. Vgl. Domschke et al.(1997), S. 404ff. 24 Der Zul¨assigkeitsbereich der Relaxation ist gr¨oßer und der optimale Zielfunktionswert von ΠR s ist kleiner oder gleich dem optimalen Wert von Πs .
98
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
werden, wenn es ausgelotet ist, d. h., wenn einer der folgenden drei F¨alle zutrifft (Bounding, Terminierung): • Fall der Wertdominanz: LBs ≥ U B In X (Πs ) kann es keine L¨osung geben, die besser als die beste bisher bekannte zul¨assige L¨osung ist. • Fall der Unzul¨assigkeit: X (Πs ) = Ø assig, womit X (Πs ) keine optimale L¨osung Die Relaxation ΠR s ist unzul¨ enthalten kann. • Fall der Optimalit¨at: LBs < U B und die optimale L¨osung von Πs ist ur Π0 . zul¨assig f¨ ur Πs und damit auch f¨ Es wurde eine neue beste zul¨assige L¨osung f¨ ur das Ausgangsproblem Π0 gefunden. Diese stellt eine verbesserte obere Schranke dar (U B := LBs ). Der Verzweigungsprozess wird so lange weitergef¨ uhrt, bis alle Teilprobleme ausgelotet sind. Dann ist die soweit gefundene beste zul¨assige L¨osung eine optimale L¨osung f¨ ur das Ausgangsproblem Π0 bzw. steht die Unzul¨assigkeit von Π0 fest. Es gibt verschiedene Ans¨atze zur Anwendung von Branch-and-Bound-Verfahren auf JSP in der Literatur.25 Einerseits wird versucht, Job-Shop-Scheduling-Probleme direkt u ¨ber B&B-Verfahren zu l¨osen. Andererseits werden sie zun¨achst in ein gemischt-ganzzahliges lineares Programm umformuliert, die wiederum u ¨ber B&B-Verfahren gel¨ost werden sollen.26 H¨aufig bilden die in Kapitel 4.1 beschriebenen disjunktive Graphen die Grundlage f¨ ur die B&B-Algorithmen.27 Die verschiedenen entwickelten Verfahren unterscheiden sich v. a. in der Art der Ermittlung der unteren und oberen Schranken f¨ ur den Zielfunktionswert ¨ und in den Verzweigungsregeln. Ein ausf¨ uhrlicher Uberblick ist in Bla˙zewicz et al.(1996) gegeben. Weitere Verfahren der impliziten Enumeration, die mit dem B&B-Verfahren in enger Beziehung stehen, sind die begrenzte Enumeration und die dynamische Optimierung.28 Wird der Enscheidungsbaum auf der Suche nach der 25
Vgl. u. a. Brooks/White(1965); Greenberg(1968); Balas(1969); Charlton/Death(1970); Florian et al.(1971); Ashour/Hiremath(1973); Lageweg et al.(1977); Barker/McMahon(1985); Carlier/Pinson(1989); Carlier/Pinson(1990); Applegate/Cook(1991); Brucker/Jurisch(1993); Brucker et al.(1994); Perregaard/Clausen(1995). 26 Die erste Variante f¨ uhrt tendenziell zu besseren Ergebnissen, da bei der Schrankenberechnung die Eigenschaften von Ablaufpl¨anen ber¨ ucksichtigt und dadurch sch¨arfer berechnet werden k¨onnen. Vgl. French(1982), S. 132. 27 Bei auf disjunktiven Graphen beruhenden B&B-Verfahren ist die L¨osungsidee, sukzessive disjunktive Kanten durch zul¨assige konjunktive Kanten zu ersetzen und somit die Auftragsfolgen auf den Maschinen festzulegen. Vgl. Baker(1984), S. 193ff.; Lawler et al.(1989), S. 47ff.; Bla˙zewicz et al.(2000), S. 181ff. 28 Vgl. Coffman(1976), S. 286.
¨ 5.2 Uberblick u ¨ber exakte und heuristische L¨osungsans¨atze
99
dem optimalen Ablaufplan beim B&B-Verfahren gemischt parallel und sequentiell durchlaufen, ist der Entscheidungsprozess bei der dynamischen Optimierung (rein) parallel und bei der begrenzten Enumeration (rein) sequentiell organisiert. Die beiden letztgenannten Verfahren stellen somit Extremf¨alle des uller-Merbach 1965 entwickelte Branch-and-Bound-Verfahrens dar.29 Die von M¨ begrenzte Enumeration30 entspricht der vollst¨andigen Enumeration, bei der jedoch das sequentielle Verfahren der L¨osungsbestimmung abgebrochen wird, sobald bessere als eine schon bekannte L¨osung nicht mehr zu erwarten sind.31 F¨ ur die Arbeitsweise ist die sog. Reduzierung des Problems von entscheidender Bedeutung, die das Analogon zur Bestimmung der Unterschranke LB beim B&B-Verfahren darstellt. Durch eine problemindividuelle Differenzierung in auf jeden Fall entstehende Grundkosten und l¨osungabh¨angige Kosten wird erreicht, dass nicht optimale L¨osungen fr¨ uhzeitig erkennbar und dadurch von einer weiteren Betrachtung ausgeschlossen werden k¨onnen. Bei der dynamischen Optimierung32 erfolgt die L¨osung des Problems u ¨ber das separate L¨osen kleinerer Teilprobleme. Sie ist das ¨alteste Entscheidungsbaum-Verfahren und geht auf Bellmann zur¨ uck.33 Das Bellmansche Optimalit¨atsprinzip besagt, dass, wenn ein Problem aus vielen gleichartigen Teilproblemen besteht, sich eine optimale L¨osung f¨ ur das Problem aus optimalen (Teil-)L¨osungen seiner kleineren Teilprobleme zusammensetzt. Das Verfahren arbeitet daher stufenweise und baut die L¨osungen parallel zueinander auf.34 Auch bei diesem Verfahren werden Teill¨osungen, die im Vergleich zu einer bereits vorhandenen Teill¨osung nicht eindeutig zu einer besseren L¨osung f¨ uhren, von der weiteren Betrachtung ausgeschlossen.35 Neben diesen enumerativen Verfahren kann zur exakten L¨osung gemischt-ganzzahliger linearer Programme – und damit auch von Job-Shop-Scheduling-Problemen – eine Reihe weiterer Methoden angewendet werden, deren Grundidee 29
Vgl. M¨ uller-Merbach(1970), S. 25ff. Auch unvollst¨andige Enumeration. 31 Sequentiell organisiert bedeutet, dass eine Auftragsfolgekombination komplett aufgebaut, dann wieder schrittweise abgebaut und erneut zu einer neuen Folge vervollst¨andigt wird. Bei jedem Zwischenschritt wird das aktuelle Ergebnis mit der Obergrenze verglichen. Eine ausf¨ uhrliche Darstellung der begrenzten Enumeration findet sich in M¨ uller-Merbach(1966) uller-Merbach(1970), S. 31ff. und M¨ 32 Auch dynamische Programmierung. 33 Vgl. Bellmann(1957). 34 Bei der parallelen Organisation werden in der ersten Stufe gleichzeitig alle x einstufigen Folgen aufgebaut, dann in der zweiten Stufe alle x(x − 1) zweistufigen usw. Auf jeder Stufe sind verschiedene Zust¨ande m¨oglich, die durch die Knoten repr¨asentiert werden. Zuerst werden die Zust¨ande der ersten Stufe, d. h. die optimalen L¨osungen, der kleinsten Teilprobleme direkt berechnet. Die Zust¨ande der n¨achsten Stufe bauen dann auf den Zust¨anden der aktuellen Stufe auf. 35 Ausf¨ uhrlich dazu vgl. Coffman(1976), S. 282ff.; Bradley et al.(1977), S. 453ff.; Denardo(1982); French(1982), S. 87ff.; Minoux(1986), S. 375ff.; Bertsekas(1987); Nemhauser/Wolsey(1999), S. 417ff.; Bla˙zewicz et al.(2000), S. 27; Michalewicz/Fogel(2000), S. 93ff.; Neumann/Morlock(2002), S. 593ff.; Pinedo(2005), S. 396ff. 30
100
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
darin besteht, von einem Teil zu abstrahieren, der das Problem schwierig macht.36 In Abh¨angigkeit davon, wie der gel¨oschte“ Teil wieder in das Problem zur¨ uck” gef¨ uhrt wird, k¨onnen drei verschiedene Ans¨atze unterschieden werden: Schnittebenenverfahren, Lagrange-Relaxierung und Dekompositionsverfahren. Bei den Schnittebenenverfahren handelt es sich um ein analytisches Verfahren zur L¨osung (gemischt-)ganzzahliger linearer Optimierungsprobleme mit der Grundidee, die Ganzzahligkeitsbedingungen zu vernachl¨assigen: Statt des ganzzahligen linearen Programms wird seine so genannte LP-Relaxierung betrachur den tet.37 Deren L¨osung ist i. d. R. nicht ganzzahlig, kann aber als Schranke f¨ Optimalwert des (gemischt-)ganzzahligen linearen Programms ((G)GLP) gesehen werden. Wenn die L¨osung nicht ganzzahlig ist, wird versucht, diese durch Hinzuf¨ ugen von so genannten Schnittebenen zu erreichen. Bei einer Schnittebene handelt es sich um eine Ungleichung, die von allen zul¨assigen Punkten des ugen GLPs, aber nicht von der aktuellen LP-L¨osung erf¨ ullt wird.38 Durch Hinzuf¨ derartiger Ungleichungen wird diese Schranke schrittweise versch¨arft, bis eine ganzzahlige und damit f¨ ur das GLP optimale L¨osung gefunden oder die Nichtexistenz einer ganzzahligen L¨osung festgestellt wird. Einen anderen Ansatz, ein schweres Problem zu vereinfachen“, verfolgt die ” Methode der Lagrange-Relaxation: Bei dieser Methode wird ein Teil der Nebenbedingungen gel¨oscht“ und diese in die Zielfunktion versehen mit ei” nem Strafparameter f¨ ur Nichteinhaltung der Bedingungen transferiert.39 Dem Verfahren liegt die Annahme zu Grunde, dass jedes Modell eine Struktur aufweist und insbesondere Teilstrukturen darin vorhanden sind, f¨ ur die es effiziente Algorithmen gibt. Diese Tatsache soll ausgenutzt werden, indem diejenigen Nebenbedingungen entfernt werden, die die gutartige“ Modellstruktur ” zerst¨oren, so dass das verbleibende Problem leicht l¨osbar ist. Eine Verletzung der weggelassenen st¨orenden“ Nebenbedingungen wird mit Strafkosten bewer” tet und entsprechend in die Zielfunktion aufgenommen. Ein zentrales Problem 36
Es handelt sich somit um Relaxierungen. Die ersten Arbeiten dazu stammen von Dantzig, Fulkerson und Johnson zum Traveling Salesman Problem (Dantzig et al.(1954)) und von Gomory zur Ganzzahligen ¨ Programmierung (Gomory(1963)). Einen Uberblick u ¨ber polyedrische Methoden zur L¨osung kombinatorischer Optimierungsprobleme ist in Aardal/Van Hoesel(1995) gegeben. Ausf¨ uhrlich dazu vgl. Garfinkel/Nemhauser(1972), S. 154ff.; Salkin(1975), S. 31ff.; Bradley et al.(1977), S. 402ff.; Hoffman/Padberg(1985); Minoux(1986), S. 285ff.; Applegate/Cook(1991); Queyranne/Schulz(1994); Nemhauser/Wolsey(1999), S. 367ff.; Martin(1999), S. 542ff.; Eiselt/Sandbloom(2000), S. 187ff.; Neumann/Morlock(2002), S. 386ff.; Sawaya/Grossmann(2005). 38 Das Problem, eine derartige Ungleichung zu finden, heißt Separierungsproblem. 39 Das Verfahren stammt urspr¨ unglich aus der nichtlinearen Optimierung, kann aber auch auf die ganzzahlige Optimierung angewendet werden. Vgl. Geoffrion(1974); Shapiro(1979); Fisher(1981); Minoux(1986), S. 258ff.; Van de Velde(1991); Wolsey(1998), S. 167ff.; Nemhauser/Wolsey(1999), S. 323ff.; Martin(1999), S. 393ff.; Eiselt/Sandblom(2000), S. 224ff.; Lemar´echal(2001); Neumann/Morlock(2002), S. 520ff.; Domschke/Drexl(2007), S. 137ff. 37
¨ 5.2 Uberblick u ¨ber exakte und heuristische L¨osungsans¨atze
101
der Lagrange-Relaxation stellt die Bestimmung der Strafkosten dar. Die Nebenbedingungen werden mit so genannten Lagrange-Multiplikatoren gewichtet in die Zielfunktion aufgenommen. Sehr hohe Strafkosten bewirken zwar einerseits die Einhaltung der entfernten Nebenbedingungen, f¨ uhren aber andererseits meistens auch dazu, dass das eigentliche Ziel (z. B. Zykluszeitminimierung) bei der Optimierung eine untergeordnete Rolle spielt. Daher werden die LagrangeMultiplikatoren zun¨achst gering gehalten, wodurch eine L¨osung des Lagrangerelaxierten Problems meistens die in die Zielfunktion relaxierten Nebenbedingungen nicht erf¨ ullt. Die Lagrange-Multiplikatoren werden dann iterativ mit Hilfe eines Subgradientenverfahrens abh¨angig von der aktuellen (unzul¨assigen) L¨osung so angepasst, dass beim erneuten L¨osen L¨osungen von geringerer Unzul¨assigkeit entstehen. Dies wird so lange wiederholt, bis eine zul¨assige L¨osung gefunden wird.40 Dekompositionsverfahren eignen sich f¨ ur speziell strukturierte lineare Optimierungsprobleme, die die Eigenschaft aufweisen, dass die Menge von Variablen und Nebenbedingungen derart in Cluster unterteilt werden kann, dass die Variablen jeweils fast ausschließlich in einer Teilmenge der Nebenbedingungen auftreten und alle Variablen gleichzeitig nur in wenigen Nebenbedingungen vorkommen. Bei den Dekompositionsmethoden wird ein Teil der Nebenbedingungen bzw. Variablen aus dem Ausgangsproblem entfernt und auf einer u ¨bergeordneten Ebene (Masterproblem) betrachtet. Dies erfolgt in der Weise, dass das resultierende untergeordnete Problem (Subproblem) effizienter gel¨ost werden kann. Nun wird abwechselnd auf dem Master- und Subproblem gearbeitet, wobei iterativ Informationen zwischen den beiden Problemen ausgetauscht werden: Um eine optimale L¨osung zu bestimmen, wird das (kleinere) Subproblem optimal gel¨ost. Daraus wird eine L¨osung f¨ ur das Ausgangsproblem generiert, deren Optimalit¨at mit Hilfe des Masterproblems u uft wird. Liegt keine ¨berpr¨ Optimalit¨at vor, ist das Subproblem in geeigneter Weise zu modifizieren und erneut zu l¨osen. Dies wird solange fortgesetzt, bis eine optimale L¨osung des Ausgangsproblems gefunden wird oder deren Nichtexistenz feststeht. Zwei bekannte Methoden sind die Dantzig-Wolfe- und die Benders-Dekomposition.41 Ein entscheidender Faktor f¨ ur die Effizienz der Verfahren der impliziten Enumeration ist die Qualit¨at der Schranken f¨ ur den Zielfunktionswert. Je besser diese ist, umso mehr Teilb¨aume k¨onnen von der weiteren Betrachtung aus40
Lagrange-Relaxationen werden auch in Verbindung mit B&B-Verfahren eingesetzt, um bessere Schranken zu bestimmen. Vgl. Pinedo(2005), S. 400f. 41 Bei der Dantzig-Wolfe-Dekomposition wird ein Teil der Nebenbedingungen gel¨oscht und anschließend wieder mittels Spaltengenerierung erneut eingef¨ ugt (vgl. Dantzig/Wolfe(1960); Mason(2001); Winston(2007), S. 569ff.). Bei der Benders-Dekomposition wird dagegen ein Teil der Variablen gel¨oscht und danach wieder mittels Schnittebenen eingef¨ uhrt (vgl. Benders(1962); Nemhauser/Wolsey(1999), S. 337ff.; Neumann/Morlock(2002), S. 327ff.).
102
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
geschlossen werden. Branch-and-Bound-Verfahren werden aus diesem Grund z. B. mit Schnittebenenverfahren kombiniert. Bei diesen sog. Branch-andCut-Verfahren (B&C) wird in jedem Knoten des Branch-and-Bound-Baumes gepr¨ uft, ob Schnittebenen eingef¨ ugt werden k¨onnen.42 Ist dies der Fall, so werden diese Ungleichungen der LP-Relaxation hinzugef¨ ugt und diese erneut gel¨ost. Dies wird analog zum Schnittebenenverfahren so lange wiederholt, bis eine zul¨assige, ganzzahlige L¨osung gefunden wird bzw. nachgewiesen wird, dass keine derartige existiert. Dann wird der Baum weiter verzweigt. Durch dieses Vorgehen kann die Konvergenzeigenschaft erh¨oht und der Speicherbedarf verringert ¨ werden. Ahnlich wie die B&C-Verfahren gehen die so genannten Branch-andPrice-Verfahren (B&P) vor, die speziell f¨ ur ganzzahlige Programme entwickelt wurden, die eine sehr große Anzahl an Variablen ben¨otigen.43 Sie kombinieren Branch-and-Bound-Verfahren mit einem Spaltengenerierungs-Ansatz. Die Methode der Spaltengenerierung ist ein Verfahren zur L¨osung hochdimensionaler linearer Optimierungsprobleme.44 Bei der Spaltengenerierung wird das Ausgangsproblem zun¨achst mit einer kleinen (reduzierten) Teilmenge von Variablen (Spalten) gel¨ost (Masterproblem). Im n¨achsten Schritt wird u uft, ¨berpr¨ ob mit dieser optimalen L¨osung des Masterproblems auch das Ausgangsproblem optimal gel¨ost wurde. Dazu wird ein Pricing-Problem (Subproblem) betrachtet: Unter Verwendung der Opportunit¨atskosten der optimalen L¨osung des Masterproblems kann entschieden werden, ob zur Optimierung des Ausgangsproblems weitere Spalten im Masterproblem n¨otig sind, und wenn ja, welche Variablen konkret aufgenommen werden m¨ ussen, um zur Verbesserung des Zielfunktionswertes beizutragen. Dieser Prozess wird wiederholt, bis keine Variablen mehr hinzugef¨ ugt werden m¨ ussen. Die letzte berechnete L¨osung des Masterproblems ist eine optimale L¨osung des Ausgangsproblems. Da die Methode der Spaltengenerierung nicht sicher stellt, dass die optimale L¨osung auch ganzzahlig ist, wird die Methode im Rahmen des B&P-Verfahrens in ein Branchand-Bound-Verfahren eingebettet. Dar¨ uber hinaus k¨onnen B&C-Verfahren mit 42
Vgl. u. a. Hoffman/Padberg(1985); Hoffman/Padberg(1993); Bixby/Lee(1998); Nemhauser/Wolsey(1999), S. 386ff.; Martin(1999), S. 555ff.; Johnson et al.(2000); Elf et al.(2001); Martin(2001); Padberg(2001); Neumann/Morlock(2002), S. 529ff.; Rixby(2002); Klose(2003). Vgl. dazu auch die Homepage www.branchandcut.org (zugegriffen am 15.04.2010). 43 Vgl. u. a. Johnson(1989); Vance et al.(1994); Desrosiers et al.(1995); Barnhart et al.(1996); Savelsbergh(1997); Vance(1998); Martin(1999), S. 601ff.; Lad´ anyi et al.(2001); Lancia et al.(2007). 44 Die Spaltengenerierung wird eingesetzt, wenn die Anzahl Variablen sehr hoch ist und die Anzahl der Nebenbedingungen um ein weites u ¨bersteigt. Durch die Anzahl an Variablen kann es passieren, dass ein lineares Programm nicht mehr gel¨ost werden kann, wenn alle Variablen mit aufgenommen werden. Da in einer L¨osung aber nur relativ wenige Variablen von Null verschiedene Werte annehmen werden, ist die Idee der Spaltengenerierung daher, nur diejenigen Variablen zu generieren, die wirklich ben¨otigt werden. Vgl. zur Spaltengenerierung u. a. Lasdon(1970), S. 144ff.; Bradley et al.(1977), S. 540ff.; Vanderbeck(1994); Vanderbeck/Wolsey(1996); Soumis(1997); Wolsey(1998), S. 185ff.; Nemhauser/Wolsey(1999), S. 409ff.; Van den Akker(1999); Neumann/Morlock(2002); Oguz(2002); L¨ ubbecke/Desrosiers(2005); Domschke/Drexl(2007), S. 33; Domschke/Scholl(2010).
¨ 5.2 Uberblick u ¨ber exakte und heuristische L¨osungsans¨atze
103
Pricing-Strategien kombiniert werden. Bei derartigen sog. Branch-and-Cutand-Price-Verfahren (B&C&P) werden dann im Laufe des B&B-Verfahrens sowohl die L¨osungsvariablen als auch die Schnittebenen dynamisch generiert.45 Es sind außerdem diverse Konstruktionsverfahren f¨ ur die Generierung von Ablaufpl¨anen entwickelt worden. Diese schr¨anken die L¨osungsmenge dahingehend ein, dass sie nur eine Teilmenge von L¨osungen generieren, in denen sich optimale L¨osungen befinden m¨ ussen. Bei der Verfolgung von regul¨aren Zielkriterien hat insbesondere das Verfahren nach Giffler und Thompson große Bedeutung erlangt, mit Hilfe dessen alle aktiven Ablaufpl¨ane erzeugt werden k¨onnen und daraus der optimale ausgew¨ahlt werden kann.46 Auf das Verfahren wird im folgenden Abschnitt 5.3 n¨aher eingegangen. Außerdem wurden wie bereits im vorherigen Abschnitt 5.1 erw¨ahnt f¨ ur einige (einfache) Spezialprobleme der Ablaufplanung analytische und graphische, polynomiale Algorithmen entwickelt, die an dieser Stelle allerdings nicht weiter vertieft werden sollen.47 Aufgrund der im vorherigen Abschnitt beschriebenen Komplexit¨at von JobShop-Scheduling-Problemen spielen exakte Verfahren bei Problemstellungen, die die Realit¨at ausreichend abbilden, f¨ ur die betriebliche Praxis nur eine geringe Rolle. Sie werden nur f¨ ur kleine Probleminstanzen oder zur L¨osung von Teilproblemen wie die Berechnung von Schranken verwendet.
5.2.2 Heuristische Verfahren Eine Heuristik ist eine i. d. R. auf ein spezielles Problem zugeschnittenes, n¨aherungsweises L¨osungsverfahren, das mit vern¨ unftigem“ Rechenaufwand gute ” L¨osungen sucht.48 Nach Streim(1975) ist ein heuristisches L¨osungsverfahren dadurch gekennzeichnet, dass es (1) auf nichtwillk¨ urliche Art und Weise (2) potentielle L¨osungen vom Suchprozess ausschließt und (3) f¨ ur das aufgrund eines fehlenden Konvergenzbeweises keine Garantie f¨ ur die Optimalit¨at der L¨osung gegeben werden kann.49 Bei Einsatz von heuristischen Verfahren kann keine Aussage dar¨ uber gemacht werden, ob das Optimum erreicht wurde bzw. wie weit die L¨osung von diesem entfernt ist. 45
Vgl. Barnhart et al.(1996); Johnson et al.(2000); Pinedo(2005), S. 401f. Vgl. Giffler/Thompson(1960). 47 F¨ ur weiterf¨ uhrende Informationen siehe u. a. Siegel(1974), Bla˙zewicz et al.(2000) und Brucker(2005). 48 Heuristiken sind N¨aherungsverfahren. Der Name geht auf das griechische Wort heuristkein – finden, entdecken zur¨ uck. 49 Vgl. Streim(1975), S. 151. Siehe auch M¨ uller-Merbach(1976). 46
104
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
Heuristiken k¨onnen nach unterschiedlichen Kriterien klassifiziert werden.50 Domschke et al.(1997) teilen sie in folgende Gruppen ein:51 (1) (2) (3) (4) (5)
Er¨offnungsverfahren Verbesserungsverfahren/Lokale Suchverfahren Unvollst¨andig ausgef¨ uhrte exakte Verfahren Relaxionsbasierte Verfahren Kombinationen aus (1)-(4), u ¨blicherweise aus (1) und (2)
Zudem kann zwischen deterministischen und stochastischen heuristischen Verfahren unterschieden werden. Bei deterministischen Verfahren f¨ uhrt die mehrfache Anwendung auf ein und dasselbe Problem bei gleichen Startbedingungen immer zur selben L¨osung. Stochastische Verfahren beinhalten eine zuf¨allige Komponente, so dass bei deren wiederholten Anwendung in Abh¨angigkeit von der Erzeugung der ben¨otigten Zufallszahl identische, aber auch unterschiedlichen L¨osungen erzeugt werden k¨onnen. Heuristiken k¨onnen problemspezifisch oder universell sein. Erstere nutzen spezielle Eigenschaften der Problemstruktur aus und sind daher i. d. R. sehr effizient. ¨ Allerdings sind sie bei Anderungen der Problemstruktur nicht mehr einsetzbar. Dagegen sind universelle Heuristiken auf unterschiedliche Problemstellungen u ¨bertragbar, erweisen sich aber oft als weniger effiziente Verfahren.
5.2.2.1 Er¨ offnungsverfahren Bei Er¨offnungsverfahren handelt es sich um spezifische (auf ein Problem zugeschnittene) heuristische Verfahren, mit denen auf direktem Weg, d. h. ohne den Umweg u ¨ber andere L¨osungen, nach bestimmten Prinzipien jeweils eine einzige (zul¨assige) L¨osung ermittelt wird.52 Ein grundlegender Verfahrensschritt ist i. d. R. die schrittweise Vervollst¨andigung bisheriger Teill¨osungen zur Gesamtl¨osung.53 Er¨offnungsverfahren werden als uniformiert bezeichnet, wenn sie einen starren Ablauf aufweisen, der nicht von den konkreten Problemdaten abh¨angt. Derartige Heuristiken sind zwar in der Regel sehr einfach, erzeugen jedoch h¨aufig keine guten und manchmal sogar nicht einmal zul¨assige L¨osungen. Er¨offnungsverfahren sind greedy oder myopisch (gierig, kurzsichtig), wenn sie in 50
Eine ausf¨ uhrliche Darstellung m¨oglicher Klassifikationsans¨atze gibt u. a. Streim(1975). Vgl. Domschke et al.(1997), S. 44ff. 52 Vgl. M¨ uller-Merbach(1970), S. 34. 53 Eine Teill¨osung ist eine unvollst¨andige, noch zu komplettierende L¨osung f¨ ur ein Optimierungsproblem. In einer Teill¨osung im Rahmen von Job-Shop-Scheduling-Problemen sind f¨ ur einige, aber nicht alle, Operationen bereits Positionen bzw. Reihenfolgebeziehungen innerhalb der Auftragsfolge festgelegt, w¨ahrend f¨ ur die u ¨brigen Operationen die Reihung noch offen ist. Vgl. Z¨apfel/Braune(2005), S. 23f. 51
¨ 5.2 Uberblick u ¨ber exakte und heuristische L¨osungsans¨atze
105
jedem Verfahrensschritt nach dem bestm¨oglichen Zielfunktionswert (der bisherigen Teill¨osung) und/oder der bestm¨oglichen Erf¨ ullung von Nebenbedingungen streben, ohne auf zuk¨ unftige Schritte R¨ ucksicht zu nehmen. Im Gegensatz dazu sch¨atzen sog. vorausschauende Heuristiken in jedem Schritt ab, welche Auswirkungen die Zuordnung eines L¨osungselements54 zur aktuellen Teill¨osung auf die in nachfolgenden Schritten noch m¨oglichen Zuordnungen anderer L¨osungselemente und damit auf die erzielbare L¨osungsg¨ ute besitzt.55 Er¨offnungsverfahren werden, wie der Name zum Ausdruck bringt, h¨aufig zur Ermittlung einer Ausgangsl¨osung f¨ ur die Verbesserungsverfahren eingesetzt, die von dieser aus startend die schrittweise Verbesserung bestehender L¨osungen versuchen.56 Zu den Er¨offnungsverfahren geh¨oren die Priorit¨atsregel- und die Engpass-Veratsregelverfahren stellen die in der Praxis wahrscheinlich fahren.57 Priorit¨ am h¨aufigsten eingesetzte Heuristik zur L¨osung von Job-Shop-Scheduling-Problemen dar. Im Rahmen einer Werkstattfertigung entstehen h¨aufig Konfliktsituationen, wenn mehrere Auftr¨age gleichzeitig auf einer Maschine bearbeitet werden k¨onnen. In diesem F¨allen k¨onnen durch den Einsatz von Priorit¨atsregeln Dringlichkeitsziffern f¨ ur die um die relevante Maschine konkurrierenden Auftr¨age erstellt werden. Es wird derjenige Auftrag zur Bearbeitung ausgew¨ahlt, der die h¨ochste Dringlichkeit aufweist. Heuristiken mit Hilfe von Priorit¨atregeln sind leicht verst¨andlich und liefern trotz ihrer Einfachheit schnell Ergebnisse von angemessener Qualit¨at. Aus diesem Grund soll zur L¨osung der Fallstudie ein problemspezifisches, priorit¨atsregelbasiertes L¨osungsverfahren entwickelt werden. Daher erfolgt in Abschnitt 5.3 eine separate, ausf¨ uhrliche Darstellung der Priorit¨atsregelverfahren. Bei der L¨osung von Job-Shop-Problemen f¨allt oft auf, dass oben beschriebene Konfliktsituation nur bei einem Teil der Maschinen auftritt, w¨ahrend die restlichen Maschinen nur zeitweise f¨ ur die Bearbeitung von Auftr¨agen eingesetzt werden m¨ ussen. Maschinen mit einem großen Bestand an wartenden Auftr¨agen werden als Engpassmaschinen bezeichnet. Engpass-Verfahren (Shif54
Unter einem L¨osungselement bzw. einer L¨osungskomponente wird die kleinste Einheit verstanden, aus der (Teil-)L¨osungen bestehen k¨onnen. Im Falle des JSP sind dies Operationen Okm , deren Auftragsfolgen auf den einzelnen Maschinen bestimmt werden sollen. Vgl. Z¨apfel/Braune(2005), S. 24. 55 Vgl. Domschke/Drexl(2007), S. 120. 56 Der Verzicht auf L¨osungsverbesserung durch Verbesserungsverfahren kann aus verschiedenen Gr¨ unden gerechtfertigt sein: Erstens kann ein Problem derart umfangreich sein, dass eine iterative Verbesserung mit hohen Rechenaufwand verbunden ist. Zweitens existieren oft viele (fast) gleich gute L¨osungen, so dass die Wahrscheinlichkeit groß ist, eine dieser L¨osungen mit dem Er¨offnungsverfahren zu bestimmen. Drittens k¨onnen (die meist sehr einfachen) Er¨offnungsverfahren oft leicht dezentral und somit organisatorisch vorteilhaft angewendet werden. Vgl. M¨ uller-Merbach(1970), S. 34f. 57 Er¨offnungsverfahren werden h¨aufig auch als Konstruktionsverfahren bezeichnet und sind eng mit den Entscheidungsbaumverfahren verwandt.
106
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
ting Bottleneck Heuristics) verfolgen den Ansatz, die Planung f¨ ur diese Engpassmaschinen im Vergleich zu den Nicht-Engpassmaschinen zu intensivieren.58 Dazu sind zun¨achst die Engpassmaschinen zu identifizieren und diese als EinMaschinenprobleme zu l¨osen,59 wobei die Abh¨angigkeiten zwischen den EinMaschinenproblemen zu beachten sind, die durch Vor- und Nachfolgerbeziehungen von Operationen u ¨ber Maschinengrenzen hinweg entstehen. Das EngpassVerfahren nach Adams et al.(1988) sowie seine Verbesserungen durch Dauz`ereP´er`es/Lasserre(1993) und Balas et al.(1995) stellen die wahrscheinlich erfolgreichsten Heuristiken zur L¨osung von Job-Shop-Scheduling-Problemen dar.60 Allerdings sind diese Verfahren trotz z. T. sehr guter Ergebnisse f¨ ur verschiedene kleinere Testinstanzen f¨ ur praktische Job-Shop-Probleme ungeeignet, vor allem weil sie einige sehr restriktive Bedingungen an die Problemstruktur stellen.61
5.2.2.2 Verbesserungsverfahren/Lokale Suchverfahren Verbesserungsverfahren starten mit einer zul¨assigen L¨osung des Problems und versuchen, diese iterativ hinsichtlich einer Bewertungsfunktion zu verbessern.62 Die Startl¨osung kann entweder durch Anwendung eines Er¨offnungsverfahrens oder zuf¨allig bestimmt werden. In jedem Verfahrensschritt wird von einer zul¨assigen L¨osung aus versucht, diese durch kleine Ver¨anderungen zu verbessern. Um ¨ den L¨osungsraum systematisch zu erschließen, ist an die Anderungen die Bedingung gekn¨ upft, dass sie zu so genannten benachbarten L¨osungen f¨ uhren: Die Nachbarschaft N B(x) einer L¨osung x ∈ X entspricht der Menge aller L¨osungen, die von x aus durch einfache Modifikation erreichbar sind.63 Sie werden mit Hilfe einer problemspezifischen so genannten Nachbarschaftsfunktion64 bestimmt, die festlegt, wie viele und welche Modifikationen an einer L¨osung x erlaubt sind, um die daraus resultierenden L¨osungen als benachbart bezeichnen zu k¨onnen.65 58
Eine Darstellung von Engpass-Verfahren ist z. B. gegeben in: Dorndorf/Pesch(1995), S. 29ff.; Bla˙zewicz et al.(1996), S. 12ff.; Alvehus(1997); Demirkol et al.(1997); Rixen(1997), S. 48ff.; Schutten(1998); Jain/Meeran(1999), S. 399f.; Eiselt/Sandblom(2004), S. 411ff.; Pinedo(2005), S. 87ff. 59 Zur L¨osung von Ein-Maschinenproblemen eignen sich z. B. die Verfahren von Jackson(1955) oder Carlier(1982). 60 Vgl. Dorndorf/Pesch(1995), S. 25. 61 Vgl. Teich(1998), S. 66. Vergleichende Analysen zur Leistungsf¨ahigkeit der Engpassverfahren finden sich auch in Demirkol et al.(1996). 62 Daher werden Verbesserungsverfahren auch als ((sub-)optimierende) Iterationsverfahren bezeichnet. Sie werden erfolgreich f¨ ur kombinatorische Optimierungsprobleme im Allgemeinen (vgl. Vaessens(1995)) und Job-Shop-Scheduling-Probleme im Speziellen eingesetzt (vgl. Reeves(1995)). 63 Lin(1965) und Reiter/Sherman(1965) haben als erste den Begriff der Nachbarschaft eingef¨ uhrt. 64 Auch als Nachbarschaftsoperator bezeichnet. 65 Vgl. Z¨apfel/Braune(2005), S. 27.
¨ 5.2 Uberblick u ¨ber exakte und heuristische L¨osungsans¨atze
107
Diese hat einen maßgeblichen Einfluss auf den Erfolg des Suchprozesses.66 F¨ ur das klassische Job-Shop-Scheduling-Problem wurden in der Literatur mehrere Nachbarschaften vorgeschlagen, die auf Modifikationen des kritischen Pfades basieren. Exemplarisch ist die Umkehrung eines disjunktiven Pfeiles zu nennen, die unter dem Namen N1“ bekannt ist.67 ” In Abbildung 5.2 auf S. 108 ist das Prinzip der lokalen Nachbarschaftssuche veranschaulicht. Der Kasten stellt einen fiktiven L¨osungsraum dar. Die grauen Punkte entsprechen beliebigen L¨osungen. Die roten Punkte repr¨asentieren diejenigen L¨osungen, die im Laufe des Suchprozesses erreicht werden. Ihre jeweilige Nachbarschaft N B(x) wird durch die großen Kreise veranschaulicht. Sie ordnet jeder L¨osung eine Teilmenge aus dem L¨osungsraum zu und enth¨alt diejenigen L¨osungen, die im L¨osungsraum in der N¨ahe“ von x liegen.68 Eine Transfor” mation, bei der aus einer L¨osung x eine Nachbarl¨osung x ∈ N B(x) entsteht, wird als Zug (engl. Move) bezeichnet.69 Im Laufe der Nachbarschaftssuche wird, bildlich betrachtet, entlang einer Kette von benachbarten L¨osungen gewandert – von x1 startend u ¨ber x2 bis zu x5 . Neben der Definition der Nachbarschaft ist festzulegen, in welcher Reihenfolge die Nachbarl¨osungen untersucht werden sollen. Diese kann zuf¨allig oder systematisch gew¨ahlt werden. Außerdem ist eine Auswahlstrategie festzulegen, d. h., zu welcher der untersuchten Nachbarl¨osungen letztendlich u ¨bergegangen werden soll. Dazu m¨ ussen die L¨osungen bewertet werden. Im einfachsten Fall erfolgt uglich wird zwischen reinen Verbessedies u ¨ber die Zielfunktionswerte.70 Diesbez¨ rungsverfahren und lokalen Suchverfahren unterschieden. Bei reinen Verbesserungsverfahren wird nur dann zu einer Nachbarl¨osung u ¨bergegangen, wenn diese besser ist.71 Bei der Auswahl akzeptabler Nachbarn kann die Strategie des First-Improvement oder des Best-Improvement verfolgt werden. Im ersten Fall wird jeweils die erste gefundende verbessernde Nachbarl¨osung verwendet (first fit). Dagegen muss im zweiten Fall zun¨achst die komplette Nachbarschaft un66
Die Gestaltung der Nachbarschaft beeinflusst die Erreichbarkeit der L¨osungselemente und kann den Verbesserungsprozess beschleunigen. Sie ist somit f¨ ur die Effektivit¨at und die Effizienz des Verfahren von Bedeutung. Vgl. Glover/Laguna(1993) und Siedentopf(2002), S. 82f. 67 Daneben werden in der Literatur vier weitere Nachbarschaften N2“ bis N5“ definiert. Vgl. ” ” Rixen(1997), S. 53ff.; Geiger(2005), S. 86ff. 68 Je gr¨oßer eine Nachbarschaft ist, desto mehr Suchaufwand ist n¨otig, desto gr¨ undlicher kann aber auch die Suche erfolgen. 69 Vgl. Domschke/Drexl(2007), S. 121. 70 Die Ber¨ ucksichtigung zus¨atzlicher Bewertungskriterien oder die Skalierung der Zielfunktionswerte kann es erm¨oglichen, auf den Suchprozess effektiv einzuwirken. In Verbindung mit der Selektion von L¨osungen k¨onnen diejenigen bevorzugt ausgew¨ahlt werden, die eine als gut bzw. schlecht erachtete Eigenschaft aufweisen bzw. gerade eben nicht aufweisen. Vgl. z. B. Glover/Laguna(1993) und Goldberg(2009). 71 Reine Verbesserungsverfahren werden auch als Hill-climbing-Verfahren oder iterative improvement bezeichnet. Vgl. Pearl(1984), S. 35f. und Michalewicz/Fogel(2000), S. 43.
108
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
Abbildung 5.2: Allgemeines Prinzip der lokalen Nachbarschaftssuche, Quelle: Eigene Darstellung in Anlehnung an Z¨apfel/Braune(2005), S. 28 tersucht und daraus die L¨osung mit dem besten Zielfunktionswert ausgew¨ahlt werden (best fit).72 Wenn keine verbessernde Nachbarl¨osung gefunden werden kann, terminiert das Verfahren. Es wurde ein Optimum erreicht, das aber nicht notwendigerweise das globale Optimum sein muss. Dies ist in Abbildung 5.3 auf S. 109 f¨ ur ein Minimierungsproblem veranschaulicht. Das Verfahren startet ¨ zum in x1 . Im ersten Schritt kann der Zielfunktionswert durch den Ubergang Nachbarn x2 verringert werden. In der n¨achsten Iteration bricht der Algorithmus allerdings ab, da keine in der Nachbarschaft von x2 aufgesuchte L¨osung eine Verbesserung der aktuellen L¨osung darstellt. Der Suchprozess bleibt daher in einem lokalen Optimum h¨angen.73 Um die potentielle Gefahr zu u ¨berwinden, in einem lokalen Optimum steckenzubleiben, das nicht mit dem globalen Optimum u ¨bereinstimmt, werden verschiedene Ans¨atze verfolgt, die im Folgenden unter dem Begriff lokale Suchverfahren zusammengefasst werden.74 Eine M¨oglichkeit zur Vermeidung der vorzeitigen Termination der Suche besteht in der Erlaubnis, zwischenzeitlich auch Nachbarn mit schlechteren Zielfunktionswerten auszuw¨ahlen. Die Auswahlstra72
Das Best-Improvement-Verfahren wird daher bei Minimierungs- bzw. Maximierungsproblemen auch als Methode des steilsten Ab- bzw. Anstiegs bezeichnet (steepest descent bzw. steepest ascent). 73 Es besteht keine Information dar¨ uber, wie weit dieses lokale Optimum vom globalen Optimum oder evtl. anderen lokalen Optima entfernt ist. 74 Vgl. Domschke et al.(1997), S. 47.
¨ 5.2 Uberblick u ¨ber exakte und heuristische L¨osungsans¨atze
109
ZF(x) x4 x1 x3 x2 Lokales Minimum
x5=x* Globales Minimum
x
Abbildung 5.3: Lokale und Globale Minima, Quelle: Eigene Darstellung in Anlehnung an Domschke et al.(1997), S. 48 tegien m¨ ussen in diesem Fall modifiziert werden. Bei First-Improvement-Verfahren d¨ urfen verschlechternde L¨osungen zuf¨allig, in Abh¨angigkeit vom Ausmaß der Verschlechterung oder nur unter der Bedingung realisiert werden, dass es keine verbessernde L¨osung gibt. Beim Best-Improvement-Verfahren wird die Nachbarl¨osung mit der gr¨oßten Verbesserung oder kleinsten Verschlechterung ausgew¨ahlt. Im betrachteten Beispiel (Abbildung 5.3) kann durch den Einsatz eines lokalen Suchverfahrens u. U. das lokale Minimum in x2 u ¨berwunden werden, indem zwei verschlechternde L¨osungen (x3 und x4 ) zugelassen werden, so dass das globale Minimum in x5 und damit die optimale L¨osung x5 = x∗ erreicht werden kann. Lokale Suchverfahren weisen das Problem auf, dass es im Laufe der lokalen Suche es zum Kreisen“ des Verfahrens kommen kann. So w¨ urde ” die n¨achstes Iteration bei Verfolgung einer Best-Improvement-Strategie von der uckf¨ uhren. L¨osung x3 aus wieder zur L¨osung x2 zur¨ Neben der Akzeptanz schlechterer L¨osungen wurden weitere Techniken entwickelt, um lokale Suchprozesse so zu steuern, dass sie in der Lage sind, lokale Optima wieder zu verlassen, ein Kreisen zu vermeiden und die Suche in anderen Teilen des L¨osungsraumes m¨oglicherweise erfolgreicher fortzusetzen. Die Ans¨atze zielen i. d. R. darauf ab, Mehrfachkonsultation von L¨osungen zu vermeiden, Teile des L¨osungsraumes vollst¨andig von der Suche auszuschließen75 oder variable Bewertungsfunktionen oder Nachbarschaftsstrukturen zu verwen75
Ziel ist dabei, die Suchr¨aume effizient und effektiv abzuarbeiten, wobei zwischen einer Intensivierung der Suche in vielversprechenden Teilr¨aumen (auch Exploitation) und einer Diversifizierung der Suche i. S. einer m¨oglichst umfassenden Abdeckung des Suchraumes (auch Exploration) abzuw¨agen ist. Vgl. Siedentopf(2002), S. 84. Eine ausf¨ uhrliche Darstellung zu den Konzepten der Exploitation und Exploration geben Hoffmeister/B¨ack(1990).
110
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
den.76 Dabei spielen neben problemspezifischen lokalen Suchverfahren die sog. Metaheuristiken eine große Rolle. Diese basieren auf allgemeing¨ ultigen, problemunabh¨angigen L¨osungsprinzipien, so dass sie (theoretisch) auf beliebige Problemstellungen angewendet werden k¨onnen. Sie sind dadurch gekennzeichnet, dass eine u ¨bergeordnete Strategie eine andere, meist problemspezifische Heuristik steuert und modifiziert, um auf diese Weise bessere L¨osungen zu finden, als es mit der untergeordnete Heuristik alleine m¨oglich w¨are.77 Im Rahmen dieser Arbeit wird nur eine kleine Auswahl an metaheuristischen Verfahren herausgegriffen und im Folgenden grob skizziert. Ausf¨ uhrlichere Darstellungen zu den lokalen Suchverfahren bzw. Metaheuristiken sowie ihrer Anwendung auf Ablaufplanungsprobleme und insb. das Job-Shop-Problem finden sich z. B. in Pirlot(1991), Storer et al.(1992), Morton/Pentico(1993), Aarts et al.(1994), Louren¸co(1995), Pesch/Voß(1995), Reeves(1995),Osman/Kelly(1996), Vaessens et al.(1996), Reese/Urban(1999), Voß et al.(1999), Michalewicz/Fogel(2000), Siedentopf(2002), Geiger(2005) und Z¨apfel/Braune(2005).78 Die Metaheuristik Iterated Local Search versucht nach der Termination der lokalen Suche in einem (vermutlich) lokalen Optimum, durch St¨oren“ die ak” tuelle L¨osung so zu ver¨andern, dass ein erneutes Durchf¨ uhren einer lokalen Suche nicht wieder zum gleichen lokalen Optimum f¨ uhrt. Das Zusammenspiel von St¨orung, der lokalen Suche und dem Akzeptanzkriterium bzgl. der neu generierten L¨osungen ist maßgeblich f¨ ur die Leistungsf¨ahigkeit dieser Metaheuristik.79 Welcher begrenzte Bereich des L¨osungsraumes im Rahmen einer lokalen Suche in der Umgebung einer g¨ ultigen L¨osung zu durchsuchen ist, h¨angt von der gew¨ahlten Nachbarschaftsdefinition ab. Ein lokales Optimum bez¨ uglich einer Nachbarschaftsdefinition ist dabei nicht notwendigerweise auch lokal optimal bez¨ uglich einer anderen. Ein globales Optimum muss dagegen immer auch ein lokales Optimum bez¨ uglich aller Nachbarschaftsstrukturen sein. Zudem haben sehr viele Probleme die Eigenschaft, dass lokale Optima verschiedener Nachbarschaftsdefinitionen nahe“ beieinander liegen.80 Dies Tatsachen versucht die ” Metaheuristik Variable Neighborhood Search auszunutzen, indem sie unterschiedliche Nachbarschaftsdefinitionen w¨ahrend der Suche benutzt. Nach Generierung einer Startl¨osung wird zun¨achst die Nachbarschaft gem¨aß der Defini76
Ein lokales Optimum ist zielfunktions- und nachbarschaftsspezifisch definiert. Daher kann es u. U. verlassen werden, wenn die Elemente einer gegebenen Nachbarschaft anders bewertet werden oder die gegebene Bewertungsfunktion auf eine andere Nachbarschaft angewendet wird. 77 Vgl. Z¨apfel/Braune(2005), S. 25. 78 ¨ Einen guten Uberblick zum Thema Metaheuristik gibt auch die Homepage www.metaheuristics.net (zugegriffen am 10.05.2010). 79 Ausf¨ uhrlich dazu vgl. Balas/Vazacopoulos(1998); Kreipl(2000); Louren¸co et al.(2002); Watson et al.(2003). 80 Vgl. Hansen/Mladenovi´c(2003a).
¨ 5.2 Uberblick u ¨ber exakte und heuristische L¨osungsans¨atze
111
tion N B 1 durchsucht, bis keine Verbesserung mehr erzielt werden kann. Dann wird die Suche unter Verwendung der Nachbarschaftsdefinition N B 2 fortgesetzt, usw., bis alle festgelegten Nachbarschaftsdefinitionen abgearbeitet wurden. Durch das Wechseln der Nachbarschaften wird versucht, eine L¨osung zu finden, die optimal bzgl. aller betrachteten Nachbarschaften ist.81 Die Metaheuristik Tabu Search untersucht in jeder Iteration gem¨aß der BestImprovement-Strategie die komplette Nachbarschaft N B(x) einer L¨osung x und w¨ahlt denjenigen Nachbarn x aus, der den Zielfunktionswert am meisten verbessert bzw., im Falle der Nichtexistenz einer besseren Nachbarl¨osung, am wenigsten verschlechtert.82 Um im Falle der Akzeptanz einer schlechteren L¨osung eine R¨ uckkehr zur zuvor besuchten, besseren L¨osungen (Kreisen) zu vermeiden, werden derartige L¨osungen verboten, d. h., tabu“ gesetzt. Zur Aufzeichnung ” ur deren Verwalder Historie wird eine so genannte Tabu-Liste eingef¨ uhrt.83 F¨ tung muss festgelegt werden, wie viele und welche L¨osungen f¨ ur wie lange gespeichert werden.84 Dabei ist grunds¨atzlich zu beachten, dass das Verfahren umso eher ins Kreisen ger¨at, je k¨ urzer die Tabuliste ist. Je l¨anger sie allerdings gew¨ahlt wird, umso eher besteht die Gefahr, dass es keine erlaubten zul¨assigen Nachbarl¨osungen mehr gibt. Die geeignete Tabulistenl¨ange ist in Abh¨angigkeit von der Art und Gr¨oße des betrachteten Problems zu bestimmen. Da das Spei¨ chern und Uberpr¨ ufen von vollst¨andigen L¨osungen meistens sehr aufwendig ist, k¨onnen alternativ z. B. nur Informationen u uckliegenden Iteratio¨ber die in zur¨ nen ausgef¨ uhrten Z¨ uge gespeichert werden.85
81
Ausf¨ uhrlich dazu vgl. Mladenovi´c/Hansen(1997); Hansen et al.(2003); Hansen/Mladenovi´c(2003a); Hansen/Mladenovi´c(2003b); Sevkli/Aydin(2006); MorenoVega/Meli´an(2008); Amiri et al.(2009); Yazdani et al.(2010). 82 In der hier beschriebenen Grundform ist Tabu Search ein deterministisches Verfahren. Sowohl die Untersuchung der Nachbarschaft als auch die Auswahl der n¨achsten L¨osung erfolgen deterministisch. 83 Die Idee des Tabu Search beruht auf der Nachbildung einer Art von Ged¨achtnis, das durch Lernen und Vergessen gekennzeichnet ist. Die Tabu-Liste spiegelt in dem Sinne ein Kurz” zeitged¨achtnis“ wider. Zudem k¨onnen in einem Langzeitged¨achtnis“ vielversprechende ” w¨ahrend des Suchprozesses ermittelt L¨osungen oder Modifikationen abgelegt werden, die wurden. Durch R¨ uckgriff auf diese Speicherstrukturen kann der Suchprozess je nach Bedarf intensiviert oder diversifiziert werden. Vgl. Siedentopf(2002), S. 91f. 84 ¨ Es existieren verschiedene Varianten zum Tabulisten-Management. Ein grober Uberblick wird z. B. in Domschke et al.(1997), S. 50f. oder Homberger(2000), S. 33ff. gegeben. 85 Vgl. Domschke et al.(1997), S. 49f. Weiterf¨ uhrende Literatur zum Tabu Search vgl. u. a. De Werra/Hertz(1989); Glover(1989); Glover(1990a); Glover(1990b); Dell’Amico/Trubian(1993); Glover et al.(1993); Taillard(1994); Glover et al.(1995); Løkketangen(1995); Barnes/Chambers(1996); Domschke et al.(1996); Nowicki/Smutnicki(1996); Brucker/Neyer(1998); James/Buchanan(1998); Michalewicz/Fogel(2000), S. 115ff.; Glover/Laguna(2002); Gendrau(2003); Z¨apfel/Braune(2005), S. 89ff.; Yong/Li(2007).
112
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
Die so genannten Schwellenwertverfahren86 sind dadurch gekennzeichnet, dass sie die Akzeptanz schlechterer L¨osungen auf Schwellenwertvergleiche zur¨ uckf¨ uhren.87 Der Schwellenwert ist eine nicht-negative, deterministische oder stochastisch bestimmte und im Verfahrensverlauf ver¨anderbare Gr¨oße.88 Der Schwellenwert wird i. A. so gestaltet, dass er zu Beginn relativ groß ist und im Verlauf des Verfahrens immer kleiner wird. Hohe Schwellenwerte erm¨oglichen ¨ das Uberqueren hoher Gebirgsz¨ uge“ im L¨osungsraum und verhindern so eine ” vorzeitige Termination des Verfahrens. Indem gegen Ende des Verfahrens immer kleinere Verschlechterungen akzeptiert werden, soll sichergestellt werden, dass ein bereits gefundenes, ab er noch nicht endg¨ ultig erkanntes Optimum nicht wieder verlassen wird. Zu den deterministischen Schwellenwertverfahren geh¨oren das Threshold Accepting und der Great Deluge Algorithmus. Beim Threshold Accepting werden die Zielfunktionswerte der aktuellen und der vorherigen L¨osung miteinander verglichen. Ist deren Differenz kleiner als der Schwellenwert, wird die L¨osung angenommen.89 Beim Great Deluge Algorithmus wird dagegen der Zielfunktionswert der neuen L¨osung direkt mit dem Schwellenwert verglichen.90 Ein bekanntes stochastisches Schwellenwertverfahren ist das Simulated Annealing91 , bei dem eine schlechtere L¨osung mit einer bestimmten Wahrscheinlichkeit akzeptiert wird.92 Ausgehend von einer zu¨assigen L¨osung x betr¨agt der Wert der Akzeptanzwahrscheinlichkeit einer zuf¨allig gew¨ahlten Nachbarl¨osung x ∈ N B(x) im Falle einer Verschlechterung93 e−
ZF (x )−ZF (x) Tι
.
Ob eine Verschlechterung akzeptiert wird, h¨angt somit ab sowohl vom Grad der Verschlechterung, der Differenz der beiden Zielfunktionswerte, als auch von einem externen Parameter, der Temperatur“ Tι im Iterationsschritt ι.94 Die ” 86
Engl. Threshold Algorithms. Vgl. Vaessens et al.(1996), S. 6. und Jain/Meeran(1999), S. 401. 88 Bei Schwellenwertverfahren werden verbessernde L¨osungen immer akzeptiert. Somit handelt es sich bei den reinen Verbesserungsverfahren ebenfalls um Schwellenwertverfahren (mit dem Schwellenwert Null). 89 Vgl. Dueck/Scheuer(1990). Eine Variante des Threshold Accepting stellt das Record-toRecord-Travel-Verfahren dar, bei dem die Differenz der aktuellen L¨osung nicht zur vorherigen L¨osung, sondern zur besten jeweils bisher gefundenen L¨osung berechnet wird. Vgl. Dueck(1993). 90 Dieses Verfahren wird auch als Flood Method bzw. Sintflut-Methode bezeichnet. In der Analogie wird der Schwellenwert auch als Water Level bzw. Wasserstand bezeichnet. Das reine Verbesserungsverfahren stellt den Spezialfall dieses Algorithmus dar, bei dem der Schwellenwert jeweils gerade dem Zielfunktionswert der vorherigen L¨osung entspricht. 91 Dt. simulierte Abk¨ uhlung. 92 ˇ y entwickelten unabh¨angig voneinander dieses VerKirkpatrick, Gellat und Veccki sowie Cern´ fahren, das auf der Simulation eines in der Natur vorkommenden Prozesses, des Abk¨ uhlens ˇ y(1985), S. 41ff. von Stoffen, basiert. Vgl. Kirkpatrick et al.(1983), S. 671ff. und Cern´ 93 Bessere L¨osungen werden immer angenommen. 94 Die Annahme einer schlechteren L¨osung erfolgt dann, wenn eine gleichverteilte Zufallszahl aus dem Intervall [0;1] kleiner als die Akzeptanzwahrscheinlichkeit ist. So besteht auch f¨ ur extrem schlechte L¨osungen eine, wenn auch geringe, Annahmewahrscheinlichkeit. Das 87
¨ 5.2 Uberblick u ¨ber exakte und heuristische L¨osungsans¨atze
113
Temperatur wird im Laufe des Algorithmus schrittweise reduziert. Die genaue Festlegung des sog. K¨ uhlplans, der die Anfangstemperatur, die Dauer des Verharrens auf einem Temperaturniveau und die jeweilige H¨ohe der Temperaturreduktion festlegt, ist von entscheidender Bedeutung f¨ ur die Leistungsf¨ahigkeit des Verfahren.95 Haben die bisher vorgestellten Metaheuristiken jeweils mit nur einer L¨osung gearbeitet, betrachten populationsbasierte Verfahren gleichzeitig mehrere L¨osungen. Zu ihnen z¨ahlen u. a. die Evolution¨ aren Algorithmen, bei denen die Generierungs- und Selektions-Mechanismen wie beim Simulated Annealing in Anlehnung an nat¨ urliche Ph¨anomene erfolgen.96 Es gibt drei Hauptstr¨omungen – die Evolutionsstrategien, die Genetischen Algorithmen und die Genetische Programmierung. Die Grundidee der Evolution¨aren Algorithmen besteht darin, eine Menge von L¨osungen, die sog. Population, zu erzeugen und iterativ zu reproduzieren (d. h., identische zu u ¨bernehmen), zu kreuzen (d. h., eine zuf¨allige Kombination zweier L¨osungen zu bilden) bzw. zu mutieren (d. h., zuf¨allig elementweise zu ver¨andern).97 In Abschnitt 5.4 werden die Genetischen Algorithmen ausf¨ uhrlich dargestellt. Auch diese sollen zur L¨osung der betrachteten Fallstudie angewendet werden, weil es sich bei Ihnen um leistungsf¨ahige, stochastische Suchverfahren handelt, die bereits h¨aufig im Bereich der kombinatorischen Optimierung erfolgreich eingesetzt wurden.
Simulated Annealing stellt somit einen bekannten Vertreter der Monte Carlo Methode dar. Ausf¨ uhrlich dazu vgl. Matsuo et al.(1988); Aarts/Korst(1990); Eglese(1990); Yamada/Nakano(1990); Kuhn(1992); Van Laarhoven/Aarts(1992); Van Laarhoven et al.(1992); Downsland(1993); Jeffcoat/Bulfin(1993); Krishna et al.(1995); Kurbel/Rohmann(1995); Kolonko(1999); Michalewicz/Fogel(2000), S. 115ff.; Z¨apfel/Braune(2005), S. 71ff. 96 Es handelt sich um so genannte naturanaloge Verfahren. Zu ihnen geh¨oren auch (a) die ebenfalls populationsbasierten Schwarmintelligenzien, wie die Ameisenalgorithmen (engl. Ant Colony Optimization, vgl. u. a. Colorni et al.(1994); Dorigo et al.(1996); Dorigo/Di Caro(1999); Van der Zwaan/Marques(1999); Blum/Sampels(2004); Dorigo/St¨ utzle(2004); Z¨apfel/Braune(2005), S. 105ff.; Rossi/Dini(2007); Debasish(2009)) und die Partikelschwarmoptimierung (engl. Particle Swarm Optimization, vgl. u. a. Kennedy/Eberhart(1995); Clerc(2006); Lian et al.(2006); Tu et al.(2006); Poli et al.(2007); Blum/Merkle(2008); Kennedy et al.(2009); Pongchairerks(2009)), (b) die K¨ unstlichen Neuronalen Netze (engl. Artificial Neural Network, vgl. u. a. Hopfield(1982); Corsten/May(1995); Corsten(1996); Nauck et al.(1996); Rojas(1996); Corsten/G¨ossinger(1997); Heuer(1997); Jain/Meeran(1998); Z¨oller-Greer(2007)) oder (c) die Fuzzy Logik (vgl. u. a. Zadeh(1994); Bandemer/Gottwald(1996); Nauck et al.(1996); Bilkay et al.(2004); Z¨oller-Greer(2007)), die alle bereits erfolgreich auf das Job-Shop-Scheduling-Problem angewendet werden konnten. 97 Vgl. Domschke et al.(1997), S. 51. Eine gute Einf¨ uhrung in die Evolution¨aren Algorithmen wird in B¨ack(1996) sowie in Nissen(1997) gegeben. Die Evolutionsstrategien gehen auf Rechenberg und Schwefel zur¨ uck (vgl. Rechenberg(1973) bzw. Neuauflage Rechenberg(1994), Schwefel(1975), Schwefel(1977), Schwefel(1995)). Ihre Anwendung auf JSP ist z. B. in Kost(2003) auf S. 191ff. beschrieben. Ein ausf¨ uhrliches Werk zu den Genetischen Programmierung ist z. B. Koza(1992). 95
114
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
5.2.2.3 Weitere Verfahren Neben den im den vorherigen beiden Abschnitten beschriebenen Verfahren z¨ahlen auch unvollst¨ andig ausgef¨ uhrte exakte sowie relaxationsbasierte Verfahren zur Gruppe der Heuristiken.98 Viele exakte Verfahren – insb. das B&B-Verfahren – liefern oft schon w¨ahrend ihrer Ausf¨ uhrung mehrere zul¨assige L¨osungen. So besteht die M¨oglichkeit, ein exaktes Verfahren bei Erreichen einer zul¨assigen L¨osung oder nach einer bestimmten Rechenzeit abzubrechen. Bei B&B-Verfahren kann zudem als Abbruchkriterium das Erreichen einer vorgegebenen Mindestl¨osungsg¨ ute angegeben werden, da w¨ahrend der Ausf¨ uhrung Schranken f¨ ur den Zielfunktionswert bestimmt werden. Eine weitere M¨oglichkeit, heuristisch L¨osungen zu gewinnen, besteht darin, ein vereinfachtes (relaxiertes) Problem zu l¨osen und die gewonnene L¨osung auf das Ausgangsproblem zu u ¨bertragen. Dazu wird versucht, bislang verletzte, relaxierte Bedingungen nach und nach durch Erg¨anzung oder Ver¨anderung von L¨osungselementen zu erf¨ ullen. So kann z. B. bei einem ganzzahligen Modell die Forderung nach Ganzzahligkeit der Variablen fallengelassen werden, die entstehende LPRelaxation mit dem Simplex-Algorithmus gel¨ost und nichtganzzahlige Werte durch Runden in ganzzahlige u uhrt werden, um eine zul¨assige L¨osung zu ¨berf¨ erhalten. Bei L¨osung von Lagrange-Relaxationen mit Hilfe des Subgradientenverfahrens sind die meisten relaxierten Nebenbedingungen bereits erf¨ ullt, so dass nur noch geringe Ver¨anderungen und infolgedessen eine geringe Erh¨ohung des Zielfunktionswertes zur Generierung einer zul¨assigen L¨osung n¨otig sind (Lagrange-Heuristik). Auch in diesem Fall kann die L¨osungsg¨ ute mit Hilfe der bereits berechneten Schranken abgesch¨atzt werden. Abschließend wird die Struktur der in den vorangegangenen Abschnitten skizzierten heuristischen L¨osungsverfahren in der Abbildung 5.4 auf S. 115 zusammengefasst dargestellt.
5.3 Priorit¨ atsregelverfahren 5.3.1 Einfache Konstruktionsverfahren Zur Generierung von Ablaufpl¨anen muss bestimmt werden, welcher Auftrag zu welchem Zeitpunkt auf welcher Maschine eingelastet wird. Hierzu k¨onnen die sog. einfachen Konstruktionsverfahren (engl. dispatching procedures) eingesetzt werden. Sie ermitteln eine zul¨assige L¨osung des Problems, indem sukzessive jede Operation einzeln in der Reihenfolge ihrer Ausf¨ uhrung auf den Maschinen einge98
Vgl. Domschke/Drexl(2007), S. 51f.
5.3 Priorit¨atsregelverfahren
115
Heuristische Lösungsverfahren
Eröffnungsverfahren
Verbesserungsverfahren
Unvollständig ausgeführte exakte Verfahren
Relaxationsorientierte Verfahren
Prioritätsregelverfahren Engpass-Verfahren
Reine Verbesserungsverfahren
Lokale Suchverfahren / Metaheuristiken Tabu Search Simulated Annealing Genetische Algorithmen
Abbildung 5.4: Heuristische L¨osungsverfahren f¨ ur Job-Shop-Probleme plant wird (vgl. Abbildung 5.5 auf S. 116).99 Dabei spielt das Konzept der Menge der einplanbaren Operationen Oe eine große Rolle: Um die Erzeugung unzul¨assiger L¨osungen zu vermeiden, besteht die Menge Oe nur aus den technologisch abarbeitbaren Operationen, d. h. aus all denjenigen Operationen, die an erster Stelle einer Maschinenfolge stehen oder deren technologische Vorg¨anger bereits eingeplant sind.100 Diese Menge der einplanbaren Operationen kann ihrerseits maschinenorientiert so in disjunkte Teilmengen zerlegt werden, dass jede Teilmenge alle an der jeweiligen Maschine einplanbaren Operationen enth¨alt.101 Eine maschinenspezifische Teilmenge der einplanbaren Operationen setzt sich somit zusammen aus allen zu einem bestimmten Zeitpunkt in der Warteschlange vor der Maschine befindlichen Auftr¨agen sowie allen sich aktuell in Bearbeitung befindlichen Auftr¨agen, deren n¨achste Bearbeitung auf der betrachteten Maschine erfolgen muss. Wenn diese Teilmenge mehr als ein Element enth¨alt, konkurrieren mehrere Auftr¨age um die Maschine.102 Um diese Konfliktsituation 99
Da die Einplanungsentscheidungen im Laufe des Verfahrens nicht wieder revidiert werden, handelt es sich bei den einfachen Konstruktionsverfahren um sog. single-pass-Verfahren. Im Gegensatz dazu sind die sog. adjusting-Verfahren zur Generierung von Ablaufpl¨anen durch die Revidierbarkeit von Einplanungsentscheidungen charakterisiert. Vgl. dazu Conway et al.(1967), S. 112f. und Baker(1974), S. 187f. 100 Vgl. Conway et al.(1967), S. 113. 101 Neben dieser maschinenorientierten Zerlegung kann die Menge Oe auch auftragsorientiert so in disjunkte Teilmengen zerlegt werden, dass jede Teilmenge die als n¨achstes einplanbare Operation eines Auftrags enth¨alt. Diese Teilmengen sind entweder leer oder einelementig. Vgl. Conway et al.(1967), S. 114. 102 Ein Nachteil dieser Konstruktionsverfahren ist, dass die Menge der alternativ einplanbaren Operationen im Verlauf des Verfahrens abnimmt und dadurch die Wahrscheinlichkeit steigt,
116
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
aufzul¨osen, kann ein Auftrag entweder zuf¨allig oder zielgerichtet mit Hilfe einer sog. Priorit¨atsregel ausgew¨ahlt werden. Eine Priorit¨atsregel103 ordnet jedem Auftrag k aus der Warteschlange vor der Maschine eine Wertzahl zu, den sog. Priorit¨atswert Φk .Es wird derjenige Auftrags mit dem h¨ochsten bzw. niedrigsten Priorit¨atswert ausgew¨ahlt. Erfolgt die Konfliktl¨osung mittels Priorit¨atswerten, werden die Konstruktionsverfahren als Priorit¨ atsregelverfahren bezeichnet. Wie derartige Priorit¨atsregeln ausgestaltet sein k¨onnen, wird im folgenden Abschnitt 5.3.2 n¨aher erl¨autert.
0
1
4
7
8
5
10
11
6
12
13
14
Abbildung 5.5: Entscheidungsbaum und das Prinzip einfacher Konstruktionsverfahren Im Laufe eines einfachen Konstruktionsverfahrens werden L¨osungselemente sukzessive in eine bisher vorliegende Teill¨osung aufgenommen, bis ein vollst¨andiger L¨osungsweg – hier grau dargestellt –im Suchbaum festgelegt ist. Die Anwendung eines einfachen Konstruktionsverfahren schließt viele L¨osungswege aus (vgl. Abbildung 5.5 auf S. 116) und kann dadurch eine unbefriedigende L¨osung erzeugen, die weit vom Optimum entfernt ist. Da sich dieses Verfahren aber durch einen geringen Rechenzeitbedarf auszeichnet und zudem einfach zu implementieren ist, liegt es nahe, es einfach mehrmals hintereinander durchzuf¨ uhren und die L¨osung mit dem besten Zielfunktionswert auszuw¨ahlen.104 I. d. R. wird bei diesen sog. Multistartverfahren (engl. multi pass heuristic) das Konstruktionsverfahren solange wieder aufgerufen, bis eine vorgegebene eine hinsichtlich der verfolgten Zielsetzung ung¨ unstige Entscheidung in Kauf nehmen zu m¨ ussen. Vgl. Domschke et al.(1997), S. 406. Diese werden auch als als Vorrangsregeln bezeichnet; engl. dispatching rule, scheduling rule oder sequencing rule. Vgl. M¨ uller-Merbach(1970), S. 175; Baker(1974); Panwalkar/Iskander(1977); Blackstone et al.(1982). 104 Vgl. Silver et al.(1998), S. 693. 103
5.3 Priorit¨atsregelverfahren
117
Anzahl X an Durchg¨angen erreicht ist. Es besteht aber auch die M¨oglichkeit, das Verfahren nach Erreichen einer vorab festgelegten Rechenzeit abzubrechen. Damit sich die erzeugten L¨osungen voneinander unterscheiden, sind verschiedene Vorgehensweisen m¨oglich. Baker differenziert Multistartverfahren in folgende drei Arten:105 Beim Random Sampling wird in jeder Konfliktsituation ein Auftrag zuf¨allig ausgew¨ahlt, wobei jeder der wartenden Auftr¨age die gleiche Auswahlwahrscheinlichkeit besitzt. Beim Probabilistic Dispatching oder Multi-Priorit¨atsregelverfahren wird ein festgelegtes Konstruktionsverfahren wiederholt mit Hilfe von unterschiedlichen Priorit¨atsregeln gel¨ost.106 Das Biased Random Sampling kombiniert die beiden oben genannten Verfahren dahingehend, dass die Auswahlwahrscheinlichkeiten der konkurrierenden Auftr¨age in Abh¨angigkeit von ihren Priorit¨atswerten bestimmt werden. Je h¨oher der Priorit¨atswert eines Auftrags ist, umso h¨oher ist dessen Auswahlwahrscheinlichkeit. Eine andere M¨oglichkeit besteht darin, nur eine (oder mehrere) Priorit¨atsregel(n) einzusetzen, die Priorit¨atswerte aber mit Hilfe von Zufallszahlen zu verzerren.107 Je mehr L¨osungen mit Hilfe von einfachen Konstruktionsverfahren erzeugt werden, umso h¨oher ist die Wahrscheinlichkeit, eine optimale L¨osung zu finden. Theoretisch kann sich die Einsatzh¨aufigkeit des Verfahren zwischen den beiden Extrema bewegen, nur eine einzige L¨osung oder alle m¨oglichen L¨osungen zu erzeugen. Einfache Konstruktionsverfahren k¨onnen daher sowohl als exakte als auch als heuristische L¨osungsverfahren eingesetzt werden.108 Dieser Sachverhalt ist in der Abbildung 5.6 auf S. 118 graphisch veranschaulicht. Bei der vollst¨ andige Enumeration werden alle Ablaufpl¨ane erzeugt, indem nacheinander alle w¨ahrend des Konstruktionsverfahrens auftauchenden Konflikte in jeder denkbaren Weise gel¨ost werden.109 Aufgrund der bereits geschilderten Komplexit¨ats¨ uberlegungen ist die vollst¨andige Enumeration bei gr¨oßeren Pro105
Vgl. Baker(1974), S. 200ff. Vgl. dazu auch Conway et al.(1967), S. 124ff. 107 Eine weitere M¨oglichkeit ist, in jedem Durchlauf unterschiedliche Konstruktionsverfahren zu verwenden. So k¨onnen z. B. serielle (one at a time-Strategie) oder parallele (M-at-a-time-Strategie) Konstruktionsverfahren eingesetzt werden. Vgl. Kunz(1982); Kolisch/Drexl(1996), S. 25f. 108 Wie bereits in Abschnitt 5.1 erw¨ahnt gibt es f¨ ur spezielle Problemstellungen problemspezifische exakte L¨osungsverfahren, die ebenfalls zu den Konstruktionsverfahren hinzuzuz¨ahlen sind. Auf diese soll im Rahmen dieser Arbeit allerdings nicht weiter eingegangen werden. Ausf¨ uhrlich dazu vgl. Johnson(1954); Jackson(1956); Mensch(1968), S. 64ff.; Siegel(1974), S. 77ff. und 139ff.; Seelbach(1975), S. 138ff.; Brucker/Neyer(1981); Hefetz/Adiri(1982); Lawler et al.(1989), S. 39ff. 109 Es ist anzumerken, dass mit den hier beschriebenen Konstruktionsverfahren nur alle zul¨assigen Ablaufpl¨ane generiert werden k¨onnen, da diese das Konzept der Menge der einplanbaren Operation anwenden. Indem dieses aber fallen gelassen wird und dadurch auch die Maschinenfolgen der Auftr¨age verletzt werden k¨onnen, ist es m¨oglich alle denkbaren (d. h. zul¨assigen und unzul¨assigen) Ablaufpl¨ane zu erzeugen. 106
118
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
Abbildung 5.6: Einsatzm¨oglichkeiten von einfachen Konstruktionsverfahren blemstellungen allerdings nicht anwendbar. Bei der impliziten Enumeration werden nur sinnvolle“ Ablaufpl¨ane konstruiert. Dies kann z. B. durch Kombi” nation von B&B-Verfahren mit Priorit¨atsregelverfahren erfolgen110 , oder indem zwar nur eine Teilmenge der Ablaufpl¨ane erzeugt wird, von der aber bekannt ist, dass in dieser mindestens ein optimaler Ablaufplan vorhanden ist. Eine naheliegende Einschr¨ankungen ist z. B., im Falle einer regul¨aren Zielfunktion nur die Menge der aktiven Ablaufpl¨ane zu generieren, da ein optimaler Ablaufplan immer aktiv ist. Alternativ k¨onnte die kleinere Menge der unverz¨ogerten Ablaufpl¨ane erzeugt werden, die bei regul¨aren Zielfunktionen h¨aufig eine optimale L¨osung enth¨alt. Da ein optimaler Ablaufplan aber nicht zwingend unverz¨ogert sein muss, bekommt das Verfahren durch diese Einschr¨ankung allerdings wieder einen heuristischen Charakter. Es wurden verschiedene Konstruktionsverfahren zur Generierung zul¨assiger Ablaufpl¨ane entwickelt. Im Folgenden werden drei einfache Konstruktionsverfahren vorgestellt, die mit den in Abschnitt 2.4 beschriebenen Arten von Ablaufpl¨anen in engem Zusammenhang stehen: Das Heller&Logemann-Verfahren (H&L) zur Generierung semiaktiver, das Giffler&Thompson-Verfahren (G&T) zur Generierung aktiver sowie ein weiteres Konstruktionsverfahren zur Generierung unverz¨ogerter Ablaufpl¨ane. F¨ ur ihre Anwendung wird jeweils die Kenntnis der Maschinenfolgen der Auftr¨age sowie ihrer Bearbeitungszeiten auf den einzelnen Maschinen vorausgesetzt. F¨ ur das weitere Verst¨andnis werden vorab folgende Notationsvereinbarungen getroffen: Ein vorl¨aufig aus der Menge K ausgew¨ahlter Auftrag heißt k , der letztendlich einzuplandene Auftrag k ∗ . mas bezeichnet diejenige Maschine, auf ussen, und vm bzw. nm die vorheder k bzw. k ∗ aktuell bearbeitet werden m¨ 110
Vgl. M¨ uller-Merbach(1970), S. 189f.; Z¨apfel(1982), S. 266ff.; Domschke et al.(1997), S. 413ff.
5.3 Priorit¨atsregelverfahren
119
rige bzw. n¨achste Maschine in der jeweiligen Maschinenfolge. V akm und V ekm entsprechen dem vorl¨aufigen Anfangs- bzw. Endzeitpunkt der Bearbeitung von Auftrag k auf Maschine m. Mit dem von Heller und Logemann entwickelten Verfahren k¨onnen systematisch zul¨assige und semiaktive Ablaufpl¨ane aufgebaut werden, indem ausgehend von einem Leerzustand des Maschinenparks unter Ber¨ ucksichtigung der Maschinenfolgen sukzessive alle Operationen fr¨ uhestm¨oglich eingeplant werden.111 Es wir jeweils in den Zeitpunkten die Einplanung eines Auftrags auf einer Maschine versucht, in denen ein Auftrag oder eine Maschine frei werden, weil die vorhergehende Bearbeitung abgeschlossen ist. Die Einplanung erfolgt immer fr¨ uhestm¨oglich, so dass semiaktive Ablaufpl¨ane erzeugt werden.112 Das Vorgehen ist mit einer Vorw¨artsterminierung in einem Gantt-Diagramm vergleichbar. Das H&L-Verfahren ist schematisch in der folgenden Abbildung 5.7 dargestellt: Initialisierung: Bestimme die Menge der einplanbaren Operationen Oe = {Ok[1] |k ∈ K}. Iteration: uhestm¨oglichen (vorl¨aufiI. Bestimme f¨ ur alle Okm ∈ Oe jeweils den fr¨ gen) Anfangszeitpunkt V akm und Endzeitpunkt V ekm . II. Bestimme zuf¨allig eine Operation Ok∗ mas aus Oe . III. Plane Ok∗ mas ein: ak∗ mas = V ak∗ mas und ek∗ mas = V ek∗ mas . IV. Aktualisiere Oe , indem die eingeplante Operation Ok∗ mas gel¨oscht und bei Existenz die nachfolgende Operation Ok∗ nm von Auftrag k ∗ an der in seiner Maschinenfolge n¨achsten Maschine nm aufgenommen wird: Oe = Oe \ {Ok∗ mas } ∪ {Ok∗ nm }. V. Wenn Oe = {}, gehe zu I., ansonsten beende das Verfahren. Abbildung 5.7: Ablauf des Heller&Logemann-Verfahrens zur Generierung semiaktiver Ablaufpl¨ane Gem¨aß dem in Abbildung 5.7 dargestellten Verfahren werden unter Ber¨ ucksichtigung der Maschinenfolgen sukzessive alle Operationen eingeplant, beginnend mit den Operationen ohne Vorg¨anger. Nach der Initialisierung wird die Iteration so lange wiederholt, bis die Menge der einplanbaren Operationen leer ist (d. h. O-mal). Nach der Bestimmung der fr¨ uhestm¨oglichen vorl¨aufigen Anfangsund Endzeitpunkte der einplanbaren Operationen wird von diesen zuf¨allig eine ausgew¨ahlt und endg¨ ultig eingeplant. Anschließend wird die Menge der einplanbaren Operationen aktualisiert, indem die eingeplante Operation gel¨oscht und, 111
Vgl. Heller/Logemann(1962); Seelbach(1975), S: 89ff.; Kistner/Steven(1990); Kistner/Steven(2001), S. 115ff. 112 Da neben der Bestimmung der Auftragsfolgen auch eine zeitliche Einplanung mit Ber¨ ucksichtigung der Bearbeitungszeiten erfolgt, handelt sich um ein numerisches Verfahren. Vgl. Seelbach(1975), S. 81.
120
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
falls der betreffende Auftrag noch nicht fertig gestellt ist, die in seiner Maschinenfolge nachfolgende Operation aufgenommen wird. Die beiden nachfolgend beschriebenen Verfahren unterscheiden sich hinsichtlich der Auswahl der als n¨achstes einzuplanenden Operation (hier II.). Giffler und Thompson entwickelten ein Verfahren, mit dem aktive Ablaufpl¨ane erzeugt werden k¨onnen.113 Der Ablauf des G&T-Verfahrens ist in folgender Abbildung 5.8 ersichtlich:114 Initialisierung: Bestimme die Menge der einplanbaren Operationen Oe = {Ok[1] |k ∈ K}. Iteration: uhestm¨oglichen (vorl¨aufiI. Bestimme f¨ ur alle Okm ∈ Oe jeweils den fr¨ gen) Anfangszeitpunkt V akm und Endzeitpunkt V ekm . uhestm¨ogliII. Bestimme diejenige Operation Ok mas aus Oe mit dem fr¨ chen Endzeitpunkt V ek mas = min e {V ekm }. Okm ∈O
III.
IV. V. VI. VII.
(Bei Mehrdeutigkeit zuf¨allige Auswahl aus diesen.) Bestimme die Konfliktmenge OKF ⊆ Oe : Diese enth¨alt alle Operationen, a) die auf derselben Maschine mas bearbeitet werden und b) deren fr¨ uhestm¨ogliche Anfangszeitpunkte kleiner als der fr¨ uhestm¨ogliche Endzeitpunkt von k sind. W¨ahle endg¨ ultig einen Auftrag k ∗ aus mit Ok∗ mas ∈ OKF. Plane Ok∗ mas ein: ak∗ mas = V ak∗ mas und ek∗ mas = V ek∗ mas . Aktualisiere Oe . Wenn Oe = {}, gehe zu I., ansonsten beende das Verfahren.
Abbildung 5.8: Ablauf des Giffler&Thompson-Verfahrens zur Generierung aktiver Ablaufpl¨ane Wie beim H&L-Verfahren wird die Iteration nach der Initialisierung und Bestimmung der fr¨ uhestm¨oglichen Anfangs- und Endzeitpunkte so lange wiederholt, bis die Menge der einplanbaren Operationen leer ist. Die n¨achste Einplanung findet jeweils auf derjenigen Maschine statt, auf der fr¨ uhestm¨oglich die Bearbeitung eines Auftrags beendet werden kann.115 In jeder Iteration wird daher aus Menge der einplanbaren Operationen zun¨achst diejenige Operation aus113
Zur Erinnerung – bei einem aktiven Ablaufplan kann keine Operation fr¨ uher starten, ohne eine andere Operation zu verz¨ogern bzw. eine Maschinenfolge zu verletzen. Vgl. Abschnitt 2.4, S. 33. 114 Vgl. Giffler/Thompson(1960). Vgl. dazu auch Conway et al.(1967), S. 115; Baker(1974), S. 196; French(1982), S. 158f. 115 Um einen aktiven Ablaufplan zu erzeugen, darf eine Einplanung nur zul¨assig sein, falls keine Operation existiert, die innerhalb des durch eine Leerzeit gekennzeichneten Zeitintervalls vollst¨andig ausgef¨ uhrt werden k¨onnte.
5.3 Priorit¨atsregelverfahren
121
gew¨ahlt, die den kleinsten vorl¨aufigen Fertigstellungszeitpunkt besitzt. Danach werden alle Operationen bestimmt, die ebenfalls auf derselben Maschine wie die ausgew¨ahlte Operation einplanbar sind und deren vorl¨aufige fr¨ uhestm¨ogliche Anfangszeitpunkte vor dem vorl¨aufigen fr¨ uhestm¨oglichen Endzeitpunkt von k liegen. Diese k¨onnten zumindest teilweise zeitgleich auf der betrachteten Maschine bearbeitet werden und stehen daher zueinander in Konflikt. Aus dieser Konfliktmenge OKF wird eine Operation entweder zuf¨allig oder mit Hilfe einer Priorit¨atsregel ausgew¨ahlt und endg¨ ultig eingeplant. Abschließend wird die Menge der einplanbaren Operationen aktualisiert. Jeder mit dem beschriebenen G&T-Algorithmus erzeugte Ablaufplan ist aktiv und jeder Ablaufplan, der nicht mit diesem Konstruktionsverfahren generiert wird, ist nicht aktiv. Durch die vollst¨andige alternative L¨osung jedes Konfliktes k¨onnen mit dem G&T-Algorithmus enumerativ alle, jeweils individuell verschiedenen, aktiven Ablaufpl¨ane erzeugt werden.116 Durch Modifikationen in den Schritten II. und III. entsteht ein Konstruktionsverfahren, das unverz¨ogerte Ablaufpl¨ane generiert. Da ein unverz¨ogerter Ablaufplan dadurch gekennzeichnet ist, dass keine Maschine leer bleibt, wenn auf ihr ein Auftrag bearbeitet werden kann, findet die n¨achste Einplanung immer auf derjenigen Maschine statt, auf der als n¨achstes mit der Bearbeitung eines Auftrags begonnen werden kann. Die Konfliktmenge enth¨alt diejenigen Operationen, die auf der betreffenden Maschine einplanbar sind und deren fr¨ uhestm¨ogliche Anfangszeitpunkte genau demjenigen des ausgew¨ahlten Auftrags entsprechen.117 Der Ablauf des Verfahrens ist in der folgenden Abbildung 5.9 auf S. 122 dargestellt.118 Mit den beschriebenen einfachen Konstruktionsverfahren kann unabh¨angig vom Schwierigkeitsgrad einer Problemstellung sehr schnell eine zul¨assige L¨osung gefunden werden. Sie sind wenig rechenaufwendig und zudem f¨ ur den Entscheidungstr¨ager leicht nachvollziebar. Daher werden sie in der betrieblichen Praxis insb. in Form von Priorit¨atsregelverfahren h¨aufig eingesetzt: Sie dienen auf der einen Seite – wie im Rahmen dieser Arbeit – der zentralen Planung eines Produktionsprozesses im Sinne einer vollst¨andigen Festlegung der zuk¨ unftigen Auftragsfolgen auf den einzelnen Maschinen, und werden auf der anderen Seite auch zu dessen dezentralen Steuerung verwendet:119 Einerseits werden in der betrieblichen Realit¨at z. T. zentral gar keine Belegungspl¨ane erarbeitet, andererseits muss auf Plankorrekturen oder Planerneuerungen dezentral reagiert 116
Beweise vgl. Rinnooy Kan(1976), S. 33f. Vgl. Conway et al.(1967), S. 115; Rinnooy Kan(1976), S. 34.; French(1982), S. 162f. Mit diesem k¨onnen ebenfalls enumerativ alle unverz¨ogerten Ablaufpl¨ane erzeugt werden. Vgl. French(1982), S. 162. 119 Vgl. Vogt/Kaiser(1996). 117 118
122
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
Initialisierung: Bestimme die Menge der einplanbaren Operationen Oe = {Ok[1] |k ∈ K}. Iteration: uhestm¨oglichen (vorl¨aufiI. Bestimme f¨ ur alle Okm ∈ Oe jeweils den fr¨ gen) Anfangszeitpunkt V akm und Endzeitpunkt V ekm . uhestm¨ogliII. Bestimme diejenige Operation Ok mas aus Oe mit dem fr¨ chen Anfangszeitpunkt V ak mas = min e {V akm }. Okm ∈O
III.
IV. V. VI. VII.
(Bei Mehrdeutigkeit zuf¨allige Auswahl aus diesen.) Bestimme die Konfliktmenge OKF ⊆ Oe : Diese enth¨alt alle Operationen, a) die auf derselben Maschine mas bearbeitet werden und b) deren fr¨ uhestm¨ogliche Anfangszeitpunkte gleich der von k sind. W¨ahle endg¨ ultig einen Auftrag k ∗ aus mit Ok∗ mas ∈ OKF. Plane Ok∗ mas ein: ak∗ mas = V ak∗ mas und ek∗ mas = V ek∗ mas . Aktualisiere Oe . Wenn Oe = {}, gehe zu I., ansonsten beende das Verfahren.
Abbildung 5.9: Ablauf eines einfachen Konstruktionsverfahrens zur Generierung unverz¨ogerter Ablaufpl¨ane
werden, indem immer dann, wenn eine Maschine frei wird, aus der Menge der wartenden Auftr¨age einer zur Ausf¨ uhrung ausgew¨ahlt wird.120 Im folgenden Abschnitt 5.3.2 werden verschiedene Priorit¨atsregeln vorgestellt. Da ein priorit¨atsregelbasierte Giffler&Thompson-Algorithmus zur L¨osung der betrachteten Fallstudie aus der Halbleiterindustrie (FSH) angewendet werden soll, wird dieser ausf¨ uhrlicher in Abschnitt 5.3.3 dargestellt. Dazu wird er zur L¨osung der Fallstudie FS1 angewendet.
5.3.2 Priorit¨ atregeln Mit Hilfe der Priorit¨atregeln sollen die Auftragsfolgen an den einzelnen Maschinen festgelegt werden. Es wird jeweils derjenige Auftrag zur weiteren Bearbeitung auf einer Maschine ausgew¨ahlt, der in der Warteschlange die h¨ochste Priorit¨at gem¨aß einer angewendeten Priorit¨atsregel hat.121 Im Folgenden wird eine Auswahl von wichtigen Priorit¨atsregeln dargestellt (vgl. Tabelle 5.1-5.4). 120
In diesem Fall wird meist nicht vorausschauend entschieden, so dass die maschinenspezifischen Teilmengen der einplanbaren Operationen nur die in der Warteschlange tats¨achlich physisch anwesenden Auftr¨age enth¨alt. 121 Dies kann je nach Regel der kleinste oder gr¨oßte Priorit¨atswert sein.
5.3 Priorit¨atsregelverfahren
123
Die Liste ließe sich noch erheblich erweitern. Die zuf¨allige Auswahl wird im Folgenden ebenfalls zu den Priorit¨atsregel – im Folgenden als Zufall“ bezeich” net –, obwohl sie nicht zielgerichtet arbeitet. F¨ ur eine ausf¨ uhrlichere Darstellung wird auf weiterf¨ uhrende Literatur wie z. B. auf Blackstone et al.(1982), Chang et al.(1996), Gere(1966), Haupt(1989), Panwalkar/Iskander(1977) oder Seelbach(1975) verwiesen. Es gibt zahlreiche Klassifikationsm¨oglichkeiten f¨ ur Priorit¨atsregeln. Die folgende Einteilung in vier Gruppen erfolgt in Anlehnung an Blackstone et al.(1982). (1) Einfache, bearbeitungzeitbezogene Priorit¨atsregeln
Regel KOZ LOZ KOZnM LOZnM KRBZ LRBZ KGBZ GGBZ KOn GOn
Erl¨ auterung K¨ urzeste Operationszeit L¨angste Operationszeit K¨ urzeste Operationszeit an der in der Operationsfolge des ausgew¨ahlten Auftrags nachfolgenden Maschine L¨angste Operationszeit an der in der Operationsfolge des ausgew¨ahlten Auftrags nachfolgenden Maschine K¨ urzeste Restbearbeitungszeit L¨angste Restbearbeitungszeit Kleinste Gesamtbearbeitungszeit auf allen Maschinen Gr¨oßte Gesamtbearbeitungszeit auf allen Maschinen. Kleinste Anzahl noch durchzuf¨ uhrender Operationen Gr¨oßte Anzahl noch durchzuf¨ uhrender Operationen
Tabelle 5.1: Einfache, bearbeitungzeitbezogene Priorit¨atsregeln
Die Restbearbeitungszeit RBZk eines Auftrags k ist die Summe der Bearbeitungs- und Nachlaufzeiten, die bis zur Fertigstellung noch durchlaufen werden m¨ ussen: RBZk = m∈ON (pkm + nzk ).122 k
(2) Einfache, fertigstellungsterminbezogene Priorit¨atsregeln Die Schlupfzeit SZk eines Auftrags k ist die Differenz zwischen Lieferteruglich der Summe der restlichen min Fk∗ und aktuellem Zeitpunkt t abz¨ Bearbeitungszeiten des Auftrags RBZk : SZk = Fk∗ − RBZk − t. 122
Dies steht im Widerspruch zur Definition in Z¨apfel(1982), S. 273: Dort bezeichnet die Restbearbeitungszeit nur die Summe der noch ausstehenden Bearbeitungszeiten. Die zus¨atzliche Ber¨ ucksichtigung von Nachlaufzeiten, etc. heißt dort dagegen Restfertigungszeit.
124
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme Regel
Erl¨ auterung
SZ FLT FOLT
Kleinste Schlupfzeit Fr¨ uhester Liefertermin Fr¨ uhester Operations-Liefertermin (F¨ ur jede Operation eines Auftrags wird gleichm¨aßig u ¨ber die Wunschlaufzeit verteilt ein Liefertermin bestimmt.) Kleinste zul¨assige Restdurchlaufzeit
ZRDLZ
Tabelle 5.2: Einfache, fertigstellungsterminbezogene Priorit¨atsregeln
(3) Sonstige einfache Priorit¨atsregeln123
Regel
Erl¨ auterung
FCFS
L¨angste Wartezeit in der Schlange (First Come First Serve) Fr¨ uheste Ankunft im Betrieb (First Arrival First Serve) Zuf¨allige Auswahl aus den vor der Maschine wartenden Auftr¨agen Fr¨ uhester Freigabetermin (ERD, Earliest Release Date) K¨ urzeste Warteschlangenl¨ange an der in der Operationsfolge des ausgew¨ahlten Auftrags nachfolgenden Maschine (Anzahl an wartenden Auftr¨agen) Kleinste Summe der Operationszeiten an der in der Operationsfolge des ausgew¨ahlten Auftrags nachfolgenden Maschine Kleinste Summe der Operationszeiten an der in der Operationsfolge des ausgew¨ahlten Auftrags nachfolgenden Maschine beim Eintrittszeitpunkt in deren Warteschlange ( zuk¨ unftig“) ” K¨ urzeste R¨ ustzeit H¨ochster Wert
FAFS Zufall FFT WSLnM
GOZWSLnM zGOZWSLnM
RZ WR
Tabelle 5.3: Sonstige einfache Priorit¨atsregeln Die Priorit¨atsregel WR wird h¨aufig als Wertregel bezeichnet. Bei ihrem Einsatz erh¨alt derjenige Auftrag den h¨ochsten Priorit¨atswert, der den 123
Weder bearbeitungs- noch fertigstellungsterminbezogen.
5.3 Priorit¨atsregelverfahren
125
h¨ochsten Produktendwert hat oder dessen Produktwert vor Ausf¨ uhrung der jeweiligen Operation der h¨ochste ist (dynamische Wertregel).124 Es handelt sich somit um eine kostenorientierte Priorit¨atsregel.125
(4) Kombinierte Priorit¨atsregeln Bei einfachen Priorit¨atsregeln kommt jeweils nur ein Reihenfolgekriterium zur Anwendung, um die Priorit¨aten zu vergeben. Alle der in den Tabellen 5.1-5.3 genannten Regeln k¨onnen je nach Situation variiert oder verkompliziert werden. Es besteht außerdem die M¨oglichkeit, zwei oder mehrere dieser elementaren Priorit¨atsregeln zu kombinieren.126 Dies erfolgt h¨aufig, wenn mehrere Ziele verfolgt werden. Durch eine Kombination wird außerdem versucht, die guten“ Eigenschaften der einzelnen Regeln miteinander ” zu verbinden und die schlechten“ zu verringern oder sogar zu eliminieren. ” Die Kombination der einzelnen Priorit¨atsregeln kann auf unterschiedliche Art und Weise erfolgen. Die einfachsten Formen der Kombination sind die Addition und die Multiplikation. H¨aufig werden Priorit¨atsregeln zueinander ins Verh¨altnis gesetzt, wie bei den in der Tabelle 5.4 auf der folgenden Seite aufgef¨ uhrten kombinierten Priorit¨atsregeln. Insbesondere wenn die Bewertungsmaßst¨abe der verkn¨ upften elementaren Priorit¨atsregeln unterschiedlich sind, ist eine Gewichtung erforderlich. Sie kann im additiven Falle durch die Multiplikation mit einem konstanten Faktor oder – wie im Falle der multiplikativen Verkn¨ upfung ausschließlich – durch die Exponentation erfolgen. Die Gewichte sind im Einzelfall n¨aher zu bestimmen und k¨onnen neben der Normierungsfunktion auch die relative Wichtigkeit zum Ausdruck bringen. Eine weitere Kombinationsm¨oglichkeit ist die alternative Verkn¨ upfung von Priorit¨atsregeln. Im Unterschied zur additiven und multiplikativen Verkn¨ upfung kommen nicht alle Regeln gleichzeitig zur Geltung, sondern es ist immer nur eine Regel entscheidend. Dies erfordert die Festlegung von deterministischen oder stochastischen Auswahlbedingungen, nach der die einfachen Priorit¨atsregeln wirksam werden. So k¨onnte z. B. die Regel gelten, dass nur im Falle einer Termin¨ uberschreitung die SZ-Regel, ansonsten die KOZ-Regel gelten soll. Ein anderes Beispiel stellt die Priorit¨atsregel KOZ∗ dar, die der Tendenz der KOZ-Regel entgegenwirken soll, Auftr¨age mit langen Operationszeiten erst sehr sp¨at auszuw¨ahlen.127 Sie definiert 124
Vgl. Z¨apfel(1982), S. 274. Vgl. u. a. Aggarwal et al.(1973); Hoffmann/Scudder(1983); Paulik(1984), S. 143ff. 126 Diese Kombination verschiedener Priorit¨atsregeln kann deterministisch oder stochastisch erfolgen. Vgl. Giffler/Thompson(1960). 127 Vgl. Conway et al.(1967), S. 226f. (dort unter der Abk¨ urzung SPT-T, wobei T f¨ ur truncated, dt. gestutzt, steht). 125
126
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme Regel
Erl¨ auterung
OZ/RBZ
Kleinstes Verh¨altnis aus Operationszeit und Restbearbeitungszeit des Auftrags OZ/GRBZ Kleinstes Verh¨altnis aus der Operationszeit und der gesamten Restbearbeitungszeit aller Auftr¨age CR Kleinstes Verh¨altnis aus zul¨assiger Restdurchlaufzeit (Fk∗ − t) und Restbearbeitungszeit ( critical ratio“) ” ZRDLZ/On Kleinstes Verh¨altnis aus zul¨assiger Restdurchlaufzeit und Anzahl noch durchzuf¨ uhrender Operationen SZ/ZRDZ Kleinstes Verh¨altnis aus Schlupfzeit und zul¨assiger Restdurchlaufzeit SZ/On Kleinstes Verh¨altnis aus Schlupfzeit und Anzahl noch durchzuf¨ uhrender Operationen SZ/RBZ Kleinstes Verh¨altnis aus Schlupfzeit und Restbearbeitungszeit des Auftrags Tabelle 5.4: Kombinierte Priorit¨atsregeln Bei Erreichen dieser f¨ ur die Wartezeit vor einer Maschine eine Grenze W. Grenze wird die alternative Priorit¨atsregel FCFS aktiv, so dass der betroffene Auftrag vorgezogen wird. Eine weitere, sehr leistungsf¨ahige Priorit¨atsregel ist CoverT nach Carroll(1965).128 Diese Priorit¨atsregel priorisiert Auftr¨age in der Warteschlange, deren Verh¨altnis aus erwarteter ” Versp¨atung“ in Form eines Versp¨atungsfaktors ck zur Bearbeitungszeit pkm an der Maschine am gr¨oßten ist. Um die erwartete Versp¨atung zu ¨ berechnen, wird mit Hilfe von statistischen Uberlegungen aus den Daten der Vergangenheit die erwartete Wartezeit ermittelt, die ein Auftrag bis zu seiner Fertigstellung hinnehmen muss, und mit seiner Schlupfzeit verglichen. Der Verp¨atungsfaktor nimmt den Wert Null (ck = 0) an, falls die Schlupfzeit gr¨oßer als die erwartete Wartezeit ist, den Wert Eins (ck = 1), falls die Schlupfzeit kleiner als Null ist, und berechnet sich im restlichen Fall als Verh¨altnis aus der Differenz zwischen erwarteter Wartezeit und Schlupfzeit zur erwarteten Wartezeit (0 < ck < 1). Die Priorit¨at Φk eines Auftrags k ist umso h¨oher, je dringender der Auftrag zu fertigen ist und 1 ). je kleiner seine Bearbeitungszeit ist (0 ≤ Φk ≤ pkm Die Anwendung einfacher oder kombinierter Priorit¨atsregeln kann statisch oder dynamisch erfolgen. So k¨onnen Regeln im Laufe des Verfahrens modifiziert oder 128
Vgl. dazu auch Buffa/Miller(1979) und Russell et al.(1987).
5.3 Priorit¨atsregelverfahren
127
ersetzt werden. Die Entscheidung dar¨ uber kann deterministisch oder stochastisch erfolgen.129 Priorit¨atsregeln k¨onnen auch pr¨aemptiv eingesetzt werden, indem ein Auftrag, der bei seiner Ankunft an seiner Maschine eine h¨ohere Priorit¨at als ein sich im Augenblick in Bearbeitung befindender Auftrag aufweist, diesen verdr¨angt.130 Priorit¨atsregeln werden h¨aufig auch hinsichtlich der Art der zur Ermittlung verwendeten Daten klassifiziert:131 • Statische vs. dynamische Priorit¨atsregeln Priorit¨atsregeln werden in Abh¨angigkeit von ihrem Bezug zum Faktor Zeit als statisch oder dynamisch bezeichnet. Kann sich der Priorit¨atswert w¨ahrend des Aufenthalts in einer Warteschlange ¨andern und muss daher in jedem aktuellen Zeitpunkt neu bestimmt werden, handelt es sich um eine dynamische Priorit¨atsregel (z. B. SZ, CoverT). Statische Priorit¨atsregeln sind dagegen zeitunabh¨angig, so dass die Priorit¨atswerte einmalig im Vorhinein bestimmt werden k¨onnen (z. B. FCFS, KOZ). • Lokale vs. globale Priorit¨atsregeln Es werden außerdem in Abh¨angigkeit von der Information, die sie gebrauchen, lokale und globale Priorit¨atsregeln unterschieden. Lokale Priorit¨atsregeln benutzen nur Informationen, die sich auf die betreffende Maschine und die vor dieser wartenden Auftr¨age beziehen (z. B. KOZ). Globale Priorit¨atsregeln ber¨ ucksichtigen dagegen den Zustand des Gesamtsystems (z. B. FLT). Sie benutzen daher auch Informationen, die die anderen Maschinen betreffen wie z. B. die Prozesszeit der Auftr¨age an ihrer n¨achsten Maschine oder die Warteschlangenl¨ange an der n¨achsten Maschine. • Vorausschauregeln Als Vorausschauregeln werden Priorit¨atsregeln bezeichnet, die wie z. B. die WSLnM-Regel die Konsequenzen einer Reihenfolgeentscheidung und der M¨oglichkeit einer Entscheidungsrevision im Falle ung¨ unstiger Resultate mit ber¨ ucksichtigen.132 Die Forschung im Bereich der Priorit¨atsregeln wurde mehrere Jahrzehnte aktiv betrieben. Neben der Entwicklung zahlreicher verschiedener Regeln hat sich ein Großteil der Literatur mit der Frage besch¨aftigt, welche Priorit¨atsregeln f¨ ur unterschiedliche Zielsetzungen am geeignetsten sind. Zur Messung der Effizienz der Priorit¨atsregeln wurden zahlreiche Simulationsstudien mit meist unterschied129
Vgl. Vgl. Vgl. 132 Vgl. 130 131
O’Grady/Harrison(1985). Paulik(1984), S. 49. Morton/Pentico(1993), S. 373; Pinedo(2005), S. 414f. Gere(1966) und Blackstone et al.(1982).
128
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
lichen Ergebnissen durchgef¨ uhrt.133 Eine Vergleichbarkeit der Simulationsergebnisse ist aufgrund unterschiedlicher Simulationstechniken nur eingeschr¨ankt m¨oglich, dennoch lassen sich tendenziell u ¨bereinstimmende Ergebnisse feststellen. So best¨atigt sich in verschiedenen Simulationsstudien, dass die KOZ-Regel hinsichtlich der Optimierungsziele Mimimierung der Durchlaufzeit, Maximierung der Kapazit¨atsauslastung und Minimierung der Terminabweichung sehr gute Ergebnisse erzielt, und die SZ-Regel im Vergleich zu den anderen Regeln die besten Ergebnisse hinsichtlich der Termineinhaltung liefert. Nach Tangermann(1973) liefert in realen Problemstellungen mit komplexen Zielfunktionen allerdings keine Priorit¨atsregel mit Sicherheit die besten Ergebnisse.134 Kombinierte Regeln, die eine Ber¨ ucksichtigung mehrerer Einflussfaktoren erm¨oglichen, weisen zwar tendenziell bessere Ergebnisse auf als einfache Priorit¨atsregeln. Bei Kombination von mehr als zwei einfachen Priorit¨atsregeln kann allerdings h¨aufig keine Aussage mehr dar¨ uber getroffen werden, wie die kombinierte Regel wirkt. Durch Verkn¨ upfungen k¨onnen sich die Ergebnisse sogar verschlechtern.135 Abschließend l¨asst sich festhalten, dass Priorit¨atsregeln nicht ohne Pr¨ ufung auf Eignung hinsichtlich der Bedingungen der Maschinenbelegung im betreffenden Betrieb u ¨bernommen sollten, sondern vielmehr durch eigene Simulationsstudien die betriebsindividuell am besten geeignete Regel ermittelt werden sollte.136
5.3.3 Anwendung des Giffler&Thompson-Verfahrens auf die Fallstudie FS1 Weil im weiteren Verlauf der Arbeit zur L¨osung der Fallstudie ein Priorit¨atsregelverfahren auf Basis des Giffler&Thompson-Algorithmus entwickelt wird, wird dieses Verfahren an dieser Stelle ausf¨ uhrlicher erl¨autert und auf die Fallstudie FS1, ein klassisches Job-Shop-Scheduling-Problem, angewendet. Der Ablauf des Giffler&-Thompson-Algorithmus ist im Struktogramm [G&T] formal dargestellt (vgl. Abbildung 5.10 auf S. 129).
133
Vgl. dazu z. B. Jackson(1957); Baker/Dzielinski(1960); Conway(1965a); Conway(1965b); Hoss(1965); Conway et al.(1967); Keck(1968); Buzi(1971); Hauk(1973); Haupt(1974). Weitere werden genannt in: M¨ uller-Merbach(1970), S. 176; Z¨apfel(1982), S. 275ff.; Baker(1984); Vepsalainen/Morton(1987); Montazer/Van Wassenhove(1990); Dorndorf/Pesch(1995). Vgl. dazu auch Morton/Pentico(1993), S. 386ff. 134 Allerdings k¨onnen vereinzelt f¨ ur spezielle einfache“ Problemstellungen bestimmte Priorit¨ats” z. B. die FLT-Regel f¨ regeln optimale Ablaufpl¨ane erzeugen, wie ur das Problem 1|Fk∗ |T A+ max . Vgl. T‘Kindt/Billaut(2006), S. 21. 135 Vgl. Gr¨aßler(1968); Tangermann(1973); Berr/Tangermann(1976). 136 Dabei kann auch die Methode der Data Envelopment Analysis eingesetzt werden. Vgl. z. B. Chang et al.(1996).
5.3 Priorit¨atsregelverfahren
129
Abbildung 5.10: Struktogramm [G&T] F¨ ur jede Maschine m existiert eine Menge vor ihr wartender Auftr¨age AWS m mit der Anzahl W Sm . Diese Menge enth¨alt sowohl die tats¨achlich wartenden Auftr¨age als auch diejenigen Auftr¨age, die zwar physisch“ noch nicht anwesend ” sind, weil sie sich im Augenblick noch in Bearbeitung auf der Vorg¨angermaschine befinden, gem¨aß ihrer technologischen Maschinenfolge aber als n¨achstes auf m bearbeitet werden m¨ ussen. Der Zeitpunkt Bbm , bis zu dem die Maschine
130
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
belegt ist, wird im Verlauf des Verfahrens aktualisiert.137 Nach der Auswahl der einzuplanenden Operation ist die Menge der einplanbaren Operationen zu aktualisieren: Einerseits betrifft dies die auf mas mit k ∗ konkurrierenden Auftr¨age (13-16), andererseits k ∗ im Falle einer folgenden Operation auf seiner Nachfolgermaschine nm (17-21). Zur L¨osung der Fallstudie FS1 wird zun¨achst die Priorit¨atsregel K¨ urzeste Ope” rationszeit (KOZ)“ eingesetzt, weil sie sich in diversen Simulationsstudien g¨ unstig auf die Minimierung der Zykluszeit ausgewirkt hat.138 Das G&T-Verfahren f¨ uhrt in Kombination der KOZ-Regel139 iterativ zu dem in Tabelle 5.5 auf S. 131 dargestellten Verlauf bei der Einplanung der zw¨olf Operationen. Der Algorithmus beginnt mit der Initialisierung (Zeile 1 im Struktogramm [G&T]): • Die vorl¨aufigen und tats¨achlichen Anfangs- und Endzeitpunkte aller Operationen werden Null gesetzt: akm = ekm = V akm = V ekm = 0. • Die Anzahl der vor Maschine m wartenden Auftr¨age wird auf 0 gesetzt: W Sm = 0. • Die Menge der Auftr¨age, die vor Maschine m warten, ist leer: AWS m = {}. • Der Zeitpunkt, bis zu dem die Maschine m belegt ist, ist 0: Bbm = 0. • Die Anzahl fertiger Auftr¨age ist Null: Anzf A = 0. • Die Anzahl fertiger Operationen von Auftrag k ist 0: OSk = 0. • Die Anzahl an Konflikten ist 0: AnzKF = 0. • Die Menge der am Konflikt beteiligten Auftr¨age ist leer: AKF = {}. • Die Menge der einplanbaren Operationen ist leer: Oe = {}. Nach der Initialisierung ist f¨ ur die Menge der einplanbaren Operationen Oe – zu Beginn bestehend aus den jeweils ersten Operationen in den Maschinenfolgen der einzelnen Auftr¨age: Oe = {O11 , O22 , O31 } – auf ihrer jeweiligen Maschine der vorl¨aufige Anfangs- und Endzeitpunkt (V akm , V ekm ) zu bestimmen. Jeder der Auftr¨age kann zum Zeitpunkt t0 eingeplant werden. Auftrag k = 1 und k = 3 m¨ ussen beide zun¨achst auf Maschine m = 1 bearbeitet werden, so dass sie beide Elemente der Warteschlangenmenge AWS 1 = {1, 3} sind. Die Anzahl vor der Maschine wartender Auftr¨age ist somit W S1 = 2. Auftrag k = 2 muss dagegen zuerst auf Maschine m = 2 bearbeitet werden (AWS 2 = {2} und W S2 = 1). Der vorl¨aufige Endzeitpunkt berechnet sich jeweils aus dem vorl¨aufigen An137
Im Laufe des Verfahrens wird die Zeit nicht gleichf¨ormig abgebildet, sondern nur die entscheidungsrelevanten Zeitpunkte betrachtet, d. h. diejenigen Zeitpunkte, in denen eine Maschine frei ist und mindestens ein Auftrag zur Bearbeitung auf dieser Maschine bereit steht. Aus diesem Grund muss einerseits f¨ ur jede Maschine der Zeitpunkt gef¨ uhrt werden, bis zu dem sie belegt ist und anschließend f¨ ur weitere Einplanungen zur Verf¨ ugung steht (Bbm ). Andererseits muss f¨ ur jeden Auftrag derjenige Zeitpunkt gespeichert werden, an dem er fr¨ uhestens weiter verarbeitet werden kann (ekvm bzw. V aknm ). Vgl. Siedentopf(2002), S. 57. 138 Vgl. z. B. Hoss(1965) und Haupt(1974). 139 Im Falle der Nichteindeutigkeit dieser Regel erfolgt eine zuf¨allige Auswahl eines Auftrags.
5.3 Priorit¨atsregelverfahren Auftrag k 1 Maschine mas V akmas V ekmas
2
3
4
5
6
1 1 0 7
131 2 2 0 6
3 1 0 5 X pkmas 7 5 Maschine mas 1 2 2 V akmas 5 0 5 V ekmas 12 6 10 X pkmas 6 5 Maschine mas 1 2 3 V akmas 5 10 10 V ekmas 12 16 13 X kein Konflikt Maschine mas 2 2 3 V akmas 12 10 10 V ekmas 16 16 13 X kein Konflikt Maschine mas 2 2 4 V akmas 12 10 13 V ekmas 16 16 20 X pkmas 4 6 Maschine mas 4 2 4 V akmas 16 16 13 V ekmas 17 22 20 X pkmas 1 7
7
8
9
Auftrag k 1 Maschine mas 3 V akmas 17 V ekmas 21 X kein Konflikt Maschine mas V akmas V ekmas kein Konflikt Maschine mas V akmas V ekmas
kein Konflikt 10 Maschine mas V akmas V ekmas kein Konflikt 11 Maschine mas V akmas V ekmas kein Konflikt 12 Maschine mas V akmas V ekmas
2 2 16 22
3 4 17 24
2 4 16 17 22 24 X 3 4 22 17 31 24 X 3 22 31 X 4 31 35 X 1 35 42 X
kein Konflikt
Tabelle 5.5: Ablauf des Giffler&Thompson-Verfahrens mit der Priorit¨atsregel KOZ-Zufall (Fallstudie FS1)
fangszeitpunkt und der ben¨otigten Operationszeit, so dass V e11 = 0 + 7 = 7, V e22 = 0 + 6 = 6 bzw. V e31 = 0 + 5 = 5 gilt (Zeile 2). Gem¨aß dem G&TAlgorithmus zur Erzeugung aktiver Ablaufpl¨ane ist zun¨achst derjenige Auftrag auszuw¨ahlen, dessen vorl¨aufiger Endzeitpunkt minimal ist. Im betrachteten Beispiel wird daher Auftrag k = 3 mit V e31 = 5 ausgew¨ahlt (Zeile 4).140 140
In der Tabelle 5.5 durch Fettdruck gekennzeichnet.
132
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
Im n¨achsten Schritt muss u uft werden, ob andere Auftr¨age zu k im Kon¨berpr¨ flikt stehen. Warten noch andere Auftr¨age vor der Maschine (Zeile 5), ist f¨ ur jeden dieser wartenden Auftr¨age zu u ufen, ob sie zumindest teilweise zeit¨berpr¨ gleich mit k auf der Maschine mas bearbeitet werden k¨onnten (Zeile 7+8). Jeder Auftrag, f¨ ur den dies zutrifft, wird in die Menge der Auftr¨age, die zu k in Konflikt stehen – AKF – aufgenommen (Zeile 6 und 9).141 In diesem Fall steht ein Auftrag, Auftrag k = 1, in Konflikt zu Auftrag k = 3. Der Z¨ahler f¨ ur die Anzahl Konfliktauftr¨age AnzKF wird daher um eins erh¨oht und die Menge der Konfliktauftr¨age aktualisiert (AKF = {1, 3}) (Zeile 9). Wenn mindestens ein Konflikt besteht (Zeile 10), ist aus der Menge der konfliktion¨aren Auftr¨age ein Auftrag gem¨aß der Priorit¨atsregel auszuw¨ahlen (Zeile 11). Welcher der beiden Auftr¨age endg¨ ultig auf Maschine mas = 1 eingeplant wird, h¨angt in diesem Fall von ihrer Operationszeit ab: Da der dritte Auftrag mit p31 = 5 eine k¨ urzere Operationszeit hat als der erste Auftrag mit p11 = 7, wird k ∗ = 3 ultiger Anfangs- und Endzeitpunkt der endg¨ ultig eingeplant (Zeile 12).142 Endg¨ ¨ Bearbeitung von Auftrag k = 3 entsprechen ihren vorl¨aufigen Aquivalenten, d. h., a31 = V a31 = 0 und e31 = V e31 = 5; sein Auftragsstatus wird um eins auf S3 = 1 erh¨oht. Die Warteschlangenl¨ange vor der Maschine mas = 1 verringert sich um eins (W S1 = 1) und die Menge der wartenden Auftr¨age wird aktualisiert (AWS 1 = {1}). Die Operation O31 wird aus der Menge der einplanbaren Operationen entfernt (Oe = {O11 , O22 }). Außerdem wird der Z¨ahler f¨ ur die Anzahl an Konflikten auf null gesetzt (AnzKF = 0) und die Menge der Konfliktauftr¨age geleert (AKF = {}). Es ist f¨ ur alle vor der Maschine mas wartenden Auftr¨age zu u ufen, ob ¨berpr¨ sie zum endg¨ ultig ausgew¨ahlten Auftrag in Konflikt stehen. Ist dies der Fall, m¨ ussen ihre vorl¨aufigen Anfangs- und Endzeitpunkte aktualisiert werden. Im vorliegenden Fall wartet Auftrag k = 1 ebenfalls vor der Maschine mas = 1 (AWS 1 = {1}) und steht in Konflikt zu Auftrag k ∗ = 3 (Zeilen 13+14). Er kann daher erst fr¨ uhestens nach Bearbeitungsende von Auftrag k ∗ = 3 auf der Maschine mas = 1 zum Zeitpunkt V a11 = e31 = 5 beginnen und nach seiner Bearbeitungszeit zum Zeitpunkt V e11 = 5 + 7 = 12 enden (Zeilen 15+16). F¨ ur den Fall, dass der Auftrag k ∗ noch nicht fertig gestellt ist (Zeile 17), muss er in die Menge der vor seiner n¨achsten Maschine nm wartenden Auftr¨age und die entsprechende Operation in die Menge der einplanbaren Operationen aufgenommen werden (Zeile 18). Außerdem ist der vorl¨aufige Anfangs- bzw. Endzeitpunkt zu berechnen (Zeilen 19-21). Ansonsten erh¨oht sich der Z¨ahler f¨ ur die Anzahl fertig gestellter Auftr¨age Anzf A um eins. Im betrachteten Fall sind f¨ ur den drit141
In der Konfliktmenge AKF werden an dieser Stelle Auftr¨age erfasst, in OKF, wie sie in Abschnitt 5.3.1 verwendet wurde, dagegen Operationen. 142 In der Tabelle 5.5 durch das Kreuz (X) gekennzeichnet.
5.4 Genetische Algorithmen
133
ten Auftrag noch drei weitere Arbeitsg¨ange auszuf¨ uhren ((S3 = 1) < (O3 = 4)). Die n¨achste Maschine, auf der er bearbeitet werden muss, ist nm = 2. Damit ist AWS 2 = {2, 3}, W S2 = 2 und Oe = {O11 , O22 , O32 }. Da Maschine nm = 2 bisher noch nicht belegt war (Bb2 = 0), k¨onnte Auftrag k ∗ = 3 unmittelbar nach seiner Ankunft bei der Maschine weiter verarbeitet werden, d. h., V a32 = e31 = 5 und V e32 = 5 + 5 = 10. Diese Schleife wird weitere elfmal wiederholt, bis alle vier Auftr¨age fertig gestellt sind (Zeile 3). Das Ergebnis ist als Gantt-Diagramm in folgender Abbildung 5.11 dargestellt.
Abbildung 5.11: Gantt-Diagramm zur Fallstudie FS1 f¨ ur das Ergebnis gel¨ost mit Hilfe des Giffler&Thompson-Verfahrens mit der Priorit¨atsregel KOZ-Zufall
5.4 Genetische Algorithmen 5.4.1 Hintergrund und Ablauf Bei den Genetischen Algorithmen (GA) handelt es sich um eine Metaheuristik, die 1975 von Holland entwickelt wurde.143 Sie bilden den Hauptvertreter der Klasse der Evolution¨aren Algorithmen. Wie in Abschnitt 5.2 beschrieben basieren diese auf dem Modell der nat¨ urlichen Evolution, wie es von Darwin 1859 beschrieben wurden.144 In der Darwin’schen Evolutionstheorie stellt die Ent143
Vgl. Holland(1975). Eine gute Einf¨ uhrung in die Genetischen Algorithmen geben Davis(1996), Mitchell(1996), Michalewicz(1999) und Goldberg(2009). 144 Vgl. Darwin(1859).
134
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
wicklung einer Spezies einen Anpassungs- bzw. Optimierungsprozess an eine gegebene Umwelt dar. Die Evolution verl¨auft dabei kontinuierlich, teils zuf¨allig und teils deterministisch bestimmt ab. Den Hauptmechanismus der Evolution stellt die nat¨ urliche Selektion dar. Im ¨ t¨aglichen Uberlebenskampf u urlichen Umgebung haupts¨ach¨berleben in der nat¨ lich diejenigen Lebewesen, die besonders gut an die Umwelt angepasst sind. Der Grad der Anpassung an die Umwelt und die damit einhergehende F¨ahigkeit zu u ¨berleben wird als Fitness bezeichnet. Der oben beschriebene Selektionsmechanismus ist als survival of the fittest“ bekannt. Individuen, die sich durch eine ” hohe Fitness auszeichnen, leben dadurch tendenziell l¨anger und k¨onnen sich so u ¨berdurchschnittlich h¨aufig fortpflanzen. Ein fittes Individuum erzeugt somit nicht nur mehr Nachkommen, sondern vererbt auch seine an die Umweltbedingungen gut angepassten Eigenschaften an seine Nachkommen. Wie die Vererbung dieser Eigenschaften vonstatten geht, kann mit Hilfe der auf Mendel zur¨ uckgehenden Genetik erkl¨art werden, die sich mit der Evolution auf molekularer Ebene besch¨aftigt:145 Die Erbanlagen sind in Form von Genen auf Chromosomen gespeichert. Alle Erbanlagen eines Individuums bilden den Genotyp. Dieser legt den Rahmen f¨ ur das ¨außere Erscheinungsbild des Individuums, den Ph¨anotyp, fest. Aber erst durch Ber¨ ucksichtigung der Umweltbedingungen wird der Ph¨anotyp detailliert ausgebildet. Bei der Erzeugung der Nachkommen findet ein Austausch von Genen bzw. Genfolgen der Eltern statt, der als Crossover bezeichnet wird. Durch diese geschlechtliche Vermehrung entstehen neue Individuen mit neuen Genotypen und evtl. auch neuen Ph¨anotypen. Je nachdem, wie gut diese Nachkommen an die Umwelt angepasst sind, k¨onnen auch diese sich weiter fortpflanzen oder nicht. Eine Spezies entwickelt sich also dadurch weiter, dass die Gene der bestangepassten Individuen in den nachfolgenden Generationen h¨aufiger auftauchen als zuvor. Bei der Reproduktion von Nachkommen k¨onnen zudem Erbinformationen durch eine Mutation ver¨andert werden. Diese Ver¨anderungen sind zwar meist nur sehr klein und h¨aufig ohne Auswirkung auf den Ph¨anotyp, tragen aber zur Artenvielfalt bei.146
145
Der naturwissenschaftlich interessierte Augustinerm¨onch Gregor Mendel untersuchte in den 1860er Jahren anhand anhand von Kreuzungsversuchen an Erbsenplanzen, wie die Vererbung von Merkmalen abl¨auft und ver¨offentlichte dies in Mendel(1865). Mit der von August Weismann, Walter Sutton und Theodor Boveri entwickelten und empirisch begr¨ undeten Chromosomentheorie der Vererbung konnten die Mendelschen Regeln 1904 erkl¨art werden. Vgl. Weismann(1885); Boveri(1902); Sutton(1903). 146 Dies stellt eine sehr komprimierte Zusammenfassung der biologischen Hintergr¨ unde der Genetischen Algorithmen dar. Weit ausf¨ uhrlichere Darstellungen des biologischen Hintergrundes finden sich z. B. in Heistermann(1994), S. 31ff., in B¨ack(1996), S. 8ff. sowie in Feldmann(1999), S. 59ff.
5.4 Genetische Algorithmen
135
Da die biologische Evolutionsmethode als eine optimale Strategie zur Anpassung von Lebewesen an ihre Umwelt angesehen werden kann, wird im Rahmen der Evolution¨aren Algorithmen versucht, die Prinzipien der biologischen Evolution auch zur Optimierung von anderen Fragestellungen anzuwenden. So lassen sich bei Genetischen Algorithmen viele der oben beschriebenen Elemente und Mechanismen wiederfinden. Selbst die Terminologie orientiert sich in der einschl¨agigen Literatur u ¨blicherweise an den biologischen Begriffen. Dies wird auch im Folgenden so angewendet, u. a. auch, weil diese Begriffe eine große Anschaulichkeit besitzen. In Tabelle 5.6 sind einige wesentliche Fachbegriffe und ihrer Bedeutung im Kontext von Genetischen Algorithmen kurz dargestellt. Fachbegriff Individuum (Chromosom)
Genotyp Ph¨anotyp Fitness
Population (von Individuen) Eltern Nachkommen (Kinder) Selektion Crossover Mutation
Bedeutung alternative Struktur (enth¨alt die in geeigneter Weise repr¨asentierten Elemente einer L¨osung), (zul¨assiger) L¨osungskandidat oder Alternative (i ∈ X ) kodierte L¨osung (chromosomale Darstellung, Erbinformation) dekodierte L¨osung (¨außeres Erscheinungsbild) gibt in Abh¨angigkeit von der zielbezogenen L¨osungsg¨ ute (ZF (i)) die SelektionsWahrscheinlichkeit an (F it(i)) Menge von Alternativen/L¨osungen (I = {1, . . . , I}) zwei zur Reproduktion ausgew¨ahlte L¨osungen (E1 , E2 ) aus den Eltern erzeugte L¨osungen (N1 , N2 ) strategischer Operator, der u ¨ber die Zusammensetzung der Population entscheidet konstruktiver (Such-)Operator, der Elemente verschiedener Individuen vermischt konstruktiver (Such-)Operator, der einzelne Individuen modifiziert
Tabelle 5.6: Wichtige Fachbegriffe bei Genetischen Algorithmen, Quelle: Eigene Darstellung in Anlehnung an Nissen(1997), S. 13
Im Laufe eines Genetischen Algorithmus werden die Grundmechanismen des Evolutionsprozesses – Selektion, Crossover und Mutation – iterativ auf eine gr¨oßere Anzahl von unterschiedlichen L¨osungskandidaten angewendet, die als Individuen einer Population bezeichnet werden. Im Genotyp eines Individuums
136
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
ist in einer problemspezifischen Form die entsprechende L¨osung des betrachteten Optimierungsproblems gespeichert, u ¨blicherweise auf einer Zeichenkette (String) oder in einen Vektor, dem Chromsom. Der Ph¨anotyp gibt im Prinzip die L¨osung des Problems an, d. h. die Werte der Entscheidungsvariablen sowie den Zielfunktionswert. Dieser spiegelt die Fitness des Individuums wider. In jeder Iteration des Verfahrens wird aus einer Population mittels der drei genannten Mechanismen eine neue Population generiert. Jede Population stellt somit eine Generation dar. Im Laufe des Evolutionsprozesses werden iterativ neue Generationen von Populationen erzeugt und betrachtet. Ein Genetischer Algorithmus kann als stochastischer Suchprozess im L¨osungsraum verstanden werden, der den L¨osungsraum simultan an mehreren Stellen untersucht (populationsbasierte Nachbarschaftssuche). Jedes Individuum stellt einen Punkt im L¨osungsraum dar. Eine Population bildet damit eine Punktwolke, die im Laufe des Evolutionsprozesses durch den L¨osungsraum wandert. Durch Anwendung der mehr oder weniger zuf¨alligen Prozesse des Crossover, der Mutation und der Selektion soll erreicht werden, dass sich diese Punktwolke dabei sukzessive in Richtung besserer Regionen bewegt, so dass die vielversprechendsten Gebiete des L¨osungsraums durchsucht werden.147 In der folgenden Abbildung 5.12 ist der grundlegende Ablauf eines klassischen Genetischen Algorithmus dargestellt:148
Abbildung 5.12: Grundstruktur eines Genetischen Algorithmus 147
Eine theoretische Fundierung der Genetischen Algorithmen liefert Holland(1975) mit dem Schema-Theorem, das durch Goldberg(2009) mit der Building-Block-Hypothese erweitert wurde. 148 Dabei wird von allereinfachsten Annahmen ausgegangen. So kann ein Individuum prinzipiell unendlich lange leben und Nachkommen erzeugen (ungeschlechtlich) und die Umwelt bzw. das Fitnesskriterium ist konstant. Vgl. dazu auch Schwefel(1977), S. 124.
5.4 Genetische Algorithmen
137
Im ersten Schritt muss eine Ausgangspopulation vorgegebener Gr¨oße erzeugt werden (vgl. Zeile 1). Dies erfolgt h¨aufig zuf¨allig, kann aber auch mit Hilfe (vorzugsweise stochastischer) Er¨offnungsverfahren geschehen. Die Individuen dieser ersten Generation m¨ ussen anschließend bewertet werden (Zeile 2), so dass ihr Fitnesswert ermittelt werden kann. Der Fitnesswert korrespondiert mit der L¨osungsqualit¨at (Zielfunktionswert). Der folgende Generationszyklus wird solange wiederholt, bis ein vorgegebenes Abbruchkriterium (z. B. eine maximale Anzahl an Generationen) erf¨ ullt ist (Zeile 3). Bei jedem Durchlauf wird eine neue Generation vollst¨andig erzeugt.149 Eine neue Population (Nachfolgegeneration) wird nun durch die Anwendung der genetischen Operatoren aus der aktuellen Population abgeleitet. Zun¨achst m¨ ussen diejenigen Individuen aus der aktuellen Population ausgew¨ahlt werden, die f¨ ur die Erzeugung der Nachkommen eingesetzt werden sollen (Zeile 4). Dazu ist ein Selektionsverfahren festzulegen. In der Literatur werden viele verschiedene Selektionsverfahren beschrieben, die aber alle gemeinsam haben, dass die Auswahlwahrscheinlichkeit eines Individuums von seinem Fitnesswert abh¨angt: Je besser dessen L¨osungsqualit¨at ist, desto h¨oher ist sein Fitnesswert und damit auch seine Auswahlwahrscheinlichkeit. Diese Form der Selektion soll das Prinzip des survival of the fittest“ abbilden und ist damit daf¨ ur verantwort” lich, dass ein Genetischer Algorithmus im Durchschnitt seinen Zielfunktionswert optimiert. Zur Produktion von (i. d. R.) zwei Nachkommen k¨onnen die Eltern direkt paarweise aus der aktuellen Generation entnommen werden oder aus einem so genannten Mating-Pool, in dem in einem vorherigen Schritt zun¨achst alle ben¨otigten Elternteile gesammelt“ wurden. ” Das Ziel des Crossover besteht darin, gute (fittere) neue Individuen (Nachkommen) zu erzeugen, indem die Gene von beiden Eltern gemischt bzw. ausgetauscht werden (Zeile 5). Durch die Kombination der elterlichen Teill¨osungen k¨onnen verschiedene Bereiche im L¨osungsraum erreicht werden, wodurch dem Steckenbleiben in lokalen Optima entgegengewirkt wird. Indem die guten Eigenschaften gemischt werden, steigt die durchschnittliche Fitness der gesamten Population u ¨ber mehrere Generationen.150 Die Mutation ist ein Variationsoperator, der die Information eines Individuums mit einer gegebenen Wahrscheinlichkeit zuf¨allig ab¨andert (Zeile 6). Diese Erzeugung neuen genetischen Materials (Innovationen) f¨ uhrt dazu, dass der Algorithmus in der Lage ist, neue Gebiete im L¨osungsraum zu erkunden (Exploration). Dadurch soll ein vorzeitiges H¨angenbleiben in einem lokalen Optimum 149
Im Prinzip gibt es eine innere Schleife, mit der die einzelnen Nachkommen erzeugt werden, und die abbricht, wenn die Folgepopulation vollst¨andig ist. 150 Eben diese horizontale Informationsverarbeitung stellt einen grundlegenden Vorteil eines Genetischen Algorithmus gegen¨ uber anderen Verfahren dar. Vgl. Heistermann(1994), S. 107.
138
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
verhindert werden. Ohne diesen Operator w¨ urde das Erbmaterial nach und nach ausged¨ unnt, so dass sich die Individuen einer Population immer ¨ahnlicher w¨ urden und es letztendlich zu einer verfr¨ uhten Konvergenz des Verfahrens k¨ame. Die so erzeugten Nachkommen m¨ ussen ebenfalls bewertet werden (Zeile 7). Im letzten Schritt ist wieder eine der Populationsgr¨oße entsprechende Anzahl an Individuen zu selektieren, die dann die Population der nachfolgenden Generation bilden (Zeile 8). Es wurden in der Vergangenheit viele verschiedene Varianten des Genetischen Algorithmus entwickelt. Ein Ansatz ber¨ ucksichtigt z. B. eine Alterung der Individuen, so dass diese nach einer gewissen Zeit aus der Population ausscheiden.151 Eine andere Weiterenwicklung stellt die Parallelisierung Genetischer Algorithmen dar, zu denen auch die sog. Migrationsmodelle (auch Inselmodelle) geh¨oren. Bei diesen wird die Population in Unterpopulationen aufgeteilt. Eine Unterpopulation umfasst einen Teil der Individuen einer Population, der vom Rest der Population zeitweilig oder immer isoliert ist. Der Selektionspool umfasst dann nur die Individuen einer Unterpopulation, so dass nur Individuen aus derselben Unterpopulation miteinander Nachkommen bilden k¨onnen. Von Zeit zu Zeit findet aber durch die Migration von Individuen ein Austausch von Informationen zwischen den Unterpopulationen statt. Die Ausbreitung der Informationen kann beeinflusst werden, indem festgelegt wird, welche Unterpopulationen austauschen, wie h¨aufig ein Austausch stattfindet und wie viele Individuen ausgetauscht werden.152 Ein letzter Ansatz, der erw¨ahnt werden soll, besteht in der Kombination des Genetischen Algorithmus mit anderen, meist problemspezifischen L¨osungsverfahren (Hybridisierung).153 H¨aufig werden mit einem problemspezifischen Suchverfahren die lokalen Optima bestimmt oder approximiert und der Genetische Algorithmus operiert im Anschluss daran auf der Menge der lokalen Optima. Eine andere Variante besteht darin, lokale Suchverfahren zur Nachoptimierung der GA-Ergebnisse zu benutzen.154
5.4.2 Konstruktion Genetischer Algorithmen Die Metaheuristik Genetischer Algorithmus kann auf verschiedenste Problemstellungen angewendet werden. Voraussetzung ist allerdings, dass es mindes151
Vgl. Rechenberg(1973); Pohlheim(2000), S. 60ff. Vgl. Bierwirth(1993); Sch¨oneburg et al.(1993), S. 242.; Affenzeller/Wagner(2004). Vgl. Glover et al.(1995); Affenzeller(2003); Brucker(2005). 154 Z. T. wird bereits die Verwendung problemspezifischer Verfahren zur Initialisierung der Startpopulation als hybride Strategie bezeichnet. 152 153
5.4 Genetische Algorithmen
139
tens eine Form der L¨osungskodierung gibt, die ein Crossover und eine Mutation erm¨oglichen. Im Bereich der kombinatorischen Optimierungsprobleme konnten Genetische Algorithmen bereits mehrfach erfolgreich eingesetzt werden. Auch f¨ ur das Job-Shop-Scheduling-Problem wurden v. a. in den 1990er Jahren zahl¨ reiche Ans¨atze entwickelt. Einen Uberblick wird in Yamada/Nakano(1997) ge155 geben. Im vorherigen Abschnitt wurde das prinzipielle Vorgehen eines Genetischen Algorithmus erl¨autert. Um den Genetischer Algorithmus auf ein spezifisches Problem anwenden zu k¨onnen, muss er allerdings noch konkret ausgestaltet werden. Zun¨achst ist eine geeignete Kodiervorschrift festzulegen. Von dieser h¨angen wiederum m¨ogliche Crossover- und Mutationsverfahren ab. Auch bez¨ uglich dieser muss festgelegt werden, welche Verfahren mit welcher Wahrscheinlichkeit eingesetzt werden sollen, usw. In diesem Abschnitt werden am Beispiel von Job-Shop-Problemen alle relevanten Komponenten und Parameter beschrieben, die zur Konstruktion eines Genetischen Algorithmus n¨otig sind. Ziel dabei ist ¨ nicht, einen vollst¨andigen, erl¨auternden Uberblick u ¨ber alle M¨oglichkeiten der Ausgestaltung zu geben. Es wird lediglich eine Auswahl derjenigen Ans¨atze beschrieben, die zur L¨osung der Fallstudie FSH eingesetzt werden.156 5.4.2.1 Kodierung Am Anfang jedes Genetischen Algorithmus steht die Frage nach einer geeigneten Kodierung. Die Kodierung muss erm¨oglichen, dass Operationen, wie sie bei der Fortpflanzung oder der Mutation an Chromosomen geschehen, auch an L¨osungen vorgenommen werden k¨onnen. Daher wird jede L¨osung durch einen Vektor (String) repr¨asentiert, in dem die Werte der Variablen direkt oder indirekt kodiert sind. Jedes Segment des Chromosoms heißt Gen, und die m¨oglichen Auspr¨agungen des Zustandes eines Gens werden Allele bezeichnet. Die kodierte Version einer m¨oglichen L¨osung heißt chromosomale Darstellung oder Genotyp, seine ¨außere Erscheinung wird Ph¨anotyp genannt. Wie bei den Suchverfahren ist die Art und Weise, wie ein L¨osungskandidat kodiert wird, ein zentraler, wenn nicht sogar der zentrale Faktor f¨ ur den Erfolg eines Genetischen Algorithmus.157 Die Art der Kodierung ist stark problemabh¨angig. Jedoch ist die Feststellung der besten Kodierung meist sehr aufwendig und es sollte darauf geachtet werden, dass sie nicht aufwendiger wird wie die L¨osung des Problems selbst.158 155
Vgl. zudem Yamada/Nakano(1992); Dorndorf/Pesch(1993). Die Konstruktion Genetischer Algorithmen h¨angt von sehr vielen Parametern ab. Es muss daher darauf geachtet werden, dass die Bestimmung der einzelnen Komponenten und Parameter nicht aufwendiger wird als die L¨osung des eigentlichen Problems selbst. 157 Vgl. Mitchell(1996), S. 156. 158 Vgl. Mitchell(1996), S. 158. 156
140
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
F¨ ur Job-Shop-Probleme wurde in der Literatur eine Vielzahl von Kodierungsformen ver¨offentlicht. In z. B. Teich(1998), Z¨apfel/Braune(2005) und Rixen(1997) ¨ wird jeweils ein Uberblick u ¨ber diese gegeben und es werden die jeweiligen Vorund Nachteile der unterschiedlichen Kodierungsformen diskutiert.159 Nakano und Yamada verwenden z. B. eine bin¨are Problemrepr¨asentation 160 , bei der jedes Gen die beiden Werte 0 und 1 annehmen kann und inhaltlich ein disjunktives Pfeilepaar in einem Graphen repr¨asentiert.161 H¨aufig finden allerdings symbolische Repr¨asentationsformen Einsatz, da sie sich insb. f¨ ur Reihenfolgeprobleme eignen. Bei diesen werden die L¨osungen in Permutationschromosomen kodiert. Jedes Gen repr¨asentiert einen Platz in der Reihenfolge und das konkrete Allel bezeichnet das Element, welches diesen Platz einnimmt. Zur L¨osung von JobShop-Problemen schl¨agt Syswerda eine einfache Permutation vor, bei der ein Symbol zur Darstellung einer Operation verwendet wird.162 Im Chromosom ist somit eine Permutation von Operationen dargestellt, die die Reihenfolge widerugt werden (Plaspiegelt, in der die Operationen Okm dem Ablaufplan hinzugef¨ nungsreihenfolge). Das Chromosom hat somit die L¨ange O = K · M. Die beiden genannten Verfahren haben das Problem, dass sie ung¨ ultige L¨osungen zulassen, d. h. L¨osungen, die durch Zyklen zwischen den Auftragsfolgen auf verschiedenen Maschinen entstehen. Zur Erkennung und Reparatur dieser sind rechenzeitintensive Algorithmen n¨otig, die zu einer Laufzeiterh¨ohung f¨ uhren. Die von Fang, Ross und Corne sowie Bierwirth unabh¨angig von einander entwickelte Kodierungsform der Permutationskodierung mit Wiederholung“ garantiert dagegen ” die Zul¨assigkeit der L¨osungen.163 Auch hier wird die Planungsreihenfolge der Operationen kodiert, aber die Permutation besteht nicht mehr aus konkreten Operationen, sondern nur noch aus den Auftragsnummern k = 1, . . . , K. Jeder Auftrag taucht in der Permutation so oft auf, wie er Arbeitsg¨ange aufweist, alur ein 3 × 4-JSP ist ein Ablaufplan beispielsweise durch folgendes so Ok -mal. F¨ aus O Genen bestehendes Permutationschromosom darstellbar (vgl. Abbildung 5.13): Abbildung 5.13: Kodierung eines 3 × 4-JSP nach Bierwirth(1995) Erst bei der Dekodierung werden den Auftragssymbolen die entsprechenden Operationen zugeordnet, die dann entsprechend der Permutation eingeplant werden. 159
Vgl. Rixen(1997), S. 86ff.; Teich(1998), S. 233ff.; Z¨apfel/Braune(2005), S. 46ff. und 58ff. Matt¨ feld stellt eine Ubersicht u ¨ber die Leistungsf¨ahigkeit der unterschiedlichen Kodierungsform an zwei Benchmark-Problemen zusammen. Vgl. Mattfeld(1996), S. 74. 160 Sie stellt die klassische Kodierungsform dar, die im ersten Werk zu den Genetischen Algorithmen Holland(1975) eingef¨ uhrt wurde. Vgl. Holland(1975). 161 Vgl. Nakano/Yamada(1991). 162 Vgl. Syswerda(1991); Bierwirth/Mattfeld(1999). 163 Vgl. Fang et al.(1993); Bierwirth(1995); Bierwirth et al.(1996).
5.4 Genetische Algorithmen
141
Im Rahmen dieser Arbeit wird die Permutationskodierung mit Wiederholung nach Bierwirth(1995) ausgew¨ahlt, da sie nur zul¨assige L¨osungen generiert. Da von der Kodierungsform m¨ogliche Crossover- und Mutationoperatoren abh¨angen, werden im Folgenden nur solche Operatoren beschrieben, die auf die Permutationskodierung mit Wiederholung angewendet werden k¨onnen. 5.4.2.2 L¨ osungsevaluierung Da bei der Permutationskodierung mit Wiederholung auf Genotyp-Ebene gearbeitet wird, sagt allein die Kenntnis des Chromosoms nichts u ¨ber die Qualit¨at der L¨osung aus.164 Die L¨osungsevaluierung erfordert daher die Dekodierung der Genotypen in ihre jeweils zugeh¨origen Ph¨anotypen. Dies soll exemplarisch an dem im vorherigen Abschnitt dargestellten Chromosom veranschaulicht werden (vgl. folgende Abbildung 5.14):
Abbildung 5.14: Bestimmung der Operationen durch Zuordnung der Auftr¨age zu den relevanten Maschinen Im Chromosom sind die Auftragsnummern abgespeichert. Jeder Auftrag k taucht genau Ok -mal im Chromosom auf. Im Folgenden gibt W (h) den Wert des Chromosoms im Gen h (Allel) an. Das Chromosom hat die L¨ange H = O, d. h. h = 1 . . . H. Bei der Dekodierung muss zun¨achst durch einen auftragsbezogenen Z¨ahlindex, den Operationsz¨ahler OSk , die exakte Operation ermittelt werden. Durch OSk k¨onnen die Auftr¨age den relevanten Maschinen zugeordnet werden. Im Folgenden gibt W O (h) den Wert des Operationsz¨ahlers von Auftrag k an der Stelle h im Chromosom an. Daraus lassen sich die in folgender Tabelle 5.7 dargestellten Auftragsfolgen ableiten: m=1 m=2 m=3 m=4 [1]m 3 3 3 1 [2]m 1 2 2 2 [3]m 2 1 1 3 Tabelle 5.7: Resultierende Auftragsfolgen [k] 164
Dies bezieht sich sowohl auf die Zul¨assigkeit als auch auf den Zielfunktionswert einer L¨osung. Der erste Aspekt der Zul¨assigkeit ist bei der Permutationskodierung mit Wiederholung aber von vornherein gegeben.
142
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
Die Operationen sind nun entsprechend der ermittelten Auftragsfolgen von vorne nach hinten einzuplanen. Wird die Zielsetzung der Zykluszeitminimierung verfolgt, muss diese Einplanung fr¨ uhestm¨oglich erfolgen. F¨ ur diesen Fall ist in Abbildung 5.15 der Ablaufplan-Generator [Dekod] dargestellt.165
Abbildung 5.15: Struktogramm Ablaufplan-Generator [Dekod] Der Algorithmus beginnt mit der Initialisierung (Zeile 1): • Die vorl¨aufigen und tats¨achlichen Anfangs- und Endzeitpunkte aller Operationen werden Null gesetzt: akm = ekm = V akm = V ekm = 0. • Der Zeitpunkt, bis zu dem die Maschine m belegt ist, ist 0: Bbm = 0. • Die Anzahl fertiger Operationen von Auftrag k ist 0: OSk = 0. • Der Anfangswert des Z¨ahlers f¨ ur die Gene h ist 1: h = 1. Nach der Initialisierung ist f¨ ur jedes Gen des Chromosoms (Zeile 2) die korrespondierende Operation einzuplanen (Zeilen 3-10). Hierzu ist zun¨achst der Auftrag k ∗ und u ¨ber den Operationsz¨ahler OSk die betreffende Maschine mas zu ermitteln (Zeilen 3-5). Je nachdem, ob die Maschine frei ist, wenn der Auftrag ankommt, oder nicht, kann mit der Bearbeitung des Auftrags k auf Maschine mas direkt bei seiner Ankunft bearbeitet werden oder erst nachdem diese frei geworden ist (Zeilen 6-8). Die Bearbeitungsendzeitpunkt wird in Zeile 9 berechnet. 165
Dies ist nur ein m¨ogliches Verfahren. In der Literatur finden sich weitere Varianten, bei denen z. B. auch Hybridisierungen mit anderen L¨osungsverfahren zum Einsatz kommen. So nutzen sowohl Fang et al.(1993) als auch Bierwirth(1995) dazu den G&T-Algorithmus zur Erzeugung aktiver Ablaufpl¨ane, um die L¨osungsqualit¨at zu verbessern.
5.4 Genetische Algorithmen
143
Wird dies auf das betrachtete Chromosom angewendet, ergibt sich der in folgender Abbildung 5.16 dargestellte Ablaufplan.166 Der Zielfunktionswert entspricht im Beispiel der Zykluszeit und betr¨agt daher ZF = Z = 36 Zeiteinheiten.
Abbildung 5.16: Resultierendes Gantt-Diagramm Mit der Zielfunktion ist das eigentliche Optimierungsziel festgelegt, das ein Genetischer Algorithmus zu finden bzw. approximieren versucht. Die Zielfunktionswert gibt an, wie nahe ein Individuum dem Optimum ist, und ist damit ein Maß f¨ ur die G¨ ute einer L¨osung. Aus dem Zielfunktionswert kann jedem Individuum durch eine Fitnesszuweisung sein Fitnesswert zugewiesen werden. Die Fitness spiegelt die Fortpflanzungs- bzw. Selektionswahrscheinlichkeit eines Individuums wider und wird aus dem Zielfunktionswert des Individuums und den Zielfunktionswerten aller anderen Individuen des Selektionspools167 unter Verwendung einer Fitnessfunktion gebildet. Die Fitnessfunktion transformiert die Zielfunktionswerte derart in Werte, dass bessere Individuen eine h¨ohere Fitness zugewiesen bekommen als schlechte Individuen (von geringerer G¨ ute). Bei Maximierungszielen kann der Zielfunktionswert direkt als Fitnesswert u ¨bernommen werden. Wird dagegen ein Minimierungsziel verfolgt, muss der Zielfunktionswert u ¨ber eine Skalierungsfunktion in den Fitnesswert umgerechnet werden. 166
Ein Chromosom repr¨asentiert immer genau einen Ablaufplan. Anzumerken ist aber, dass es bei symbolische Repr¨asentationsformen zu Redundanzen in der Form kommen kann, dass ein Ablaufplan durch mehr als ein Chromosom dargestellt werden kann. D. h., verschiedene Genotypen k¨onnen den gleichen Ph¨anotyp haben. Der Suchraum f¨ ur einen Genetischen Algorithmus ist damit gr¨oßer als der tats¨achliche L¨osungsraum des konkreten Problems. Vgl. Bierwirth et al.(1993); Mattfeld(1996), S. 72.; Teich(1998), S. 244f. 167 Im Selektionspool sind alle Individuen enthalten, die zusammen zur Auswahl der Eltern in Betracht gezogen werden. Die Fitness eines Individuum h¨angt im Gegensatz zum Zielfunktionswert immer von allen anderen Individuen des Selektionspools ab.
144
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
Prinzipiell kann zwischen einer proportionalen und einer reihenfolgebasierten Fitnesszuweisung unterschieden werden. Im ersten Fall wird jedem Individuum ein Fitnesswert zugewiesen, der proportional zu seinem Zielfunktionswert ist.168 Dazu k¨onnen verschiedene Fitnessfunktionen eingesetzt werden, wie z. B. eine lineare oder logarithmische Skalierung.169 Eine proportionale Fitnesszuweisung weist allerdings zwei Probleme auf: Im Falle der Existenz weniger, u ¨berdurchschnittlich guter und vieler schlechter Individuen besteht die Gefahr der vorzeitigen Konvergenz, verursacht durch die Tatsache, dass die wenigen guten Individuen sehr viele und die vielen schlechten Individuen nur wenige Nachkommen produzieren. Tritt die umgekehrte Situation ein, dass sehr viele ¨ahnlich gute und nur wenige schlechte Individuen auftreten, kommt es zu einer geringen Unterscheidung in den Fitnesswerten der guten Individuen, so dass die Selektion zwischen den Individuen eher einer zuf¨alligen Auswahl entspricht und der Evolutionsprozess steckenbleibt“. Im ersten Fall ist ein zu hoher und im ” zweiten Fall ein zu geringer Selektionsdruck Ursache des Problems: Der Selektionsdruck gibt die Wahrscheinlichkeit der Auswahl des besten Individuums, verglichen mit der durchschnittlichen Selektionswahrscheinlichkeit aller Individuen des Selektionspools an.170 Diese Probleme treten bei einer reihenfolgebasierten Fitnesszuweisung (Ranking) nicht auf. Dort werden die Individuen des Selektionspools nach ihrem Zielfunktionswert sortiert, und ein Individuum bekommt in Abh¨angigkeit von seinem Rang in der sortierten Liste seinen Fitnesswert zugewiesen.171 Im Rahmen der Arbeit wird daher die reihenfolgebasierte Fitnesszuweisung verwendet. Bei einem linearen Ranking mit einem Selektiondruck SD berechnet sich der Fitnesswert F it(i) von Individuum i folgendermaßen:172 F it(i) = 2 − SD + 2 · (SD − 1) ·
(P (i) − 1) (I − 1)
wobei I die Anzahl der Individuen im Selektionspool ist (hier die gesamte Population einer Generation). P (i) gibt die Position/den Rang von Individuum i im sortierten Selektionspool an: Das schlechteste Individuum bekommt die erste Position zugewiesen, das Beste die letzte. Der Selektionsdruck SD kann dabei Werte im Bereich [1,0;2,0] annehmen. Dies soll an einem kleinen Zahlenbeispiel mit vier Individuen und einem Selektionsdruck von SD = 1, 2 veranschaulicht werden. ZF (i) gibt den Zielfunk168
Vgl. Goldberg(2009). Ausf¨ uhrlich dazu vgl. Grefenstette/Baker(1989) und Goldberg(2009). 170 Vgl. Baker(1987); Blickle/Thiele(1995). 171 Vgl. Baker(1985). 172 Alternativ existiert ein nichtlineares Ranking, vgl. Pohlheim(1995). 169
5.4 Genetische Algorithmen
145
tionswert von Individuum i an. Die Zykluszeit soll minimiert werden. Damit ergeben sich folgende Fitnesswerte (vgl. Tabelle 5.8): i
ZF (i) P (i) F it(i)
1
30000
1
2 − 1, 2 + 2 · (1, 2 − 1) ·
2 3
25000 20000
2 4
0, 8 + 0, 4 · 0, 8 + 0, 4 ·
4
25000
3
0, 8 + 0, 4 ·
(2−1) 3 (4−1) (4−1) (3−1) 3
(1−1) (4−1)
= 0, 8 + 0, 4 ·
(1−1) 3
= 0, 8
= 0, 93 = 1, 2 = 1, 06
Tabelle 5.8: Beispiel zur Fitnesswertberechnung Individuum i = 3 hat den geringste Zielfunktionswert, ist damit das beste Individuum und bekommt deshalb den Rang P (3) = 4 zugewiesen. Die beiden Individuen i = 2 und i = 4 haben den identischen Zielfunktionswert 25000. In diesem Fall erfolgt die Positionszuweisung zuf¨allig:173 i = 2 vor i = 4. Damit ist P (2) = 2 und P (4) = 3. Individuum i = 1 ist am schlechtesten und hat deshalb den Rang P (1) = 1.
5.4.2.3 Ausgangspopulation Zu Beginn des Genetischen Algorithmus (Generation g = 0) ist eine Ausgangspopulation Ig = I0 bestehend aus I Individuen i zu erzeugen. Dazu ist einerseits die Populationsgr¨oße I und andererseits das Verfahren zur Erzeugung der Aus¨ gangspopulation festzulegen. Ubliche Gr¨oßenordnungen f¨ ur die Anzahl Indiviur jedes betrachtete duen einer Population sind 100-200 St¨ uck.174 Allerdings ist f¨ Problem eine geeignete Populationsgr¨oße individuell zu bestimmen. Die Startpopulation wird i. d. R. stochastisch per Zufallsgenerator erzeugt. Es sind aber ur Job-Shop-Probleme bieten auch Varianten mit Startheuristiken m¨oglich.175 F¨ sich z. B. die Multistartverfahren an.176 Ein Nachteil dieser gezielten Initialisiernng der Startpopulation ist allerdings, dass sie manchmal die L¨osungsvielfalt von vornherein einschr¨ankt und dadurch eine vorzeitige Konvergenz f¨ordern kann. Im weiteren Verlauf der Arbeit soll die Ausgangspopulation zuf¨allig erzeugt werden. Das entsprechende Vorgehen ist auf der n¨achsten Seite in Abbildung 5.17 dargestellt. 173
Dies wird auch im weiteren Verlauf der Arbeit so gehandhabt. Vgl. Rixen(1997), S. 111. Vgl. dazu auch Grefenstette(1986); Goldberg(1989); Goldberg et al.(1992); Goldberg et al.(1993). 175 Diese bieten sich insbesondere dann an, wenn bei einer Kodierweise durch die zuf¨allige Erzeugung h¨aufig unzul¨assige L¨osungen generiert w¨ urden. Dies ist bei der Permutationskodierung mit Wiederholungen allerdings nicht der Fall. 176 Eignung Vgl. Reeves(1995) und Teich(1998), S. 253. 174
146
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
Abbildung 5.17: Struktogramm f¨ ur die zuf¨allige Erzeugung der Ausgangspopulation Nach der Initialisierung (Zeile 1) wird die Schleife so lange wiederholt, bis I Individuen i erzeugt sind (Zeile 2). F¨ ur jedes zu erzeugende Individuum wird zun¨achst f¨ ur jeden herzustellenden Auftrag k ∈ K die Anzahl an Operationen OSk , die bereits stattgefunden haben, auf Null gesetzt (Zeile 3). Nun wird iterativ f¨ ur jedes Gen h eine gleichverteilte, ganzzahlige Zufallszahl ζ gezogen, die den Auftrag k bestimmt (Zeile 5). Dieser Auftrag kann allerdings nur dann ins Chromosom u ¨bernommen werden, wenn von ihm nicht bereits alle Operationen im Chromsom abgespeichert wurden (Zeile 6). Ist dies der Fall, bekommt das Gen h den Wert k zugewiesen und der entsprechende Operationsz¨ahler OSk wird um eins erh¨oht (Zeile 7). Wurden auf diese Weise allen H Genen ihre Werte zugewiesen, ist das Chromosom vollst¨andig und das korrespondierende Individuum i kann in die Menge Ig aufgenommen werden (Zeile 8). Nun ist das n¨achste Individuum zu generieren (Zeile 9). 5.4.2.4 Selektion Bei der Selektion handelt es sich um einen strategischer Operator, der u ¨ber die Zusammensetzung der Populationen entscheidet. Die Selektion findet an verschiedenen Stellen im Laufe eines Genetischen Algorithmus statt: bei der Elternselektion und der Generationsselektion. Die Elternselektion 177 bestimmt, welche Individuen zur Produktion von Nachkommen zugelassen sind. Es gibt prinzipiell zwei Herangehensweisen. Einerseits kann ein Elternpaar direkt aus der Population einer Generation selektiert werden. Andererseits kann eine Vorauswahl getroffen werden, bei der in einem ersten Schritt geeignete Individuen in einem Mating-Pool gesammelt werden. Nur diese werden zur Fortpflan177
Im Struktogramm 5.12 auf S. 136 als Selektion zur Reproduktion“ bezeichnet. ”
5.4 Genetische Algorithmen
147
zung zugelassen.178 Die Generationsselektion 179 legt fest, welche Individuen die nat¨ urlich Selektion u urfen. Dies erfolgt in Verbindung mit einem Er¨berleben d¨ setzungsschema, das in Abschnitt 5.4.2.7 n¨aher erl¨autert wird. Zur Selektion sind ebenfalls zahlreiche unterschiedliche Selektionsverfahren ent¨ wickelt worden. Ein Uberblick wird z. B. in B¨ack/Hoffmeister(1991) und Goldberg/Deb(1991) geben. An dieser Stelle werden nur zwei Verfahren herausgegriffen, die zur L¨osung der Fallstudie FSH Anwendung finden: die Turnier- sowie die Zeiger-Selektion.180 Turnier-Selektion181 Bei der Turnier-Selektion wird eine vorzugebende Anzahl Individuen zuf¨allig (gleichverteilt) aus der Population gezogen. Diese treten wie in einem Turnier gegeneinander an. Es gewinnt dasjenige Individuum, das den besten Zielfunktions- bzw. Fitnesswert hat. Der genaue Ablauf ist in Abbildung 5.18 dargestellt.
Abbildung 5.18: Struktogramm f¨ ur die Turnier-Selektion Bei der Turnier-Selektion beginnt der Algorithmus mit der Initialisierung: Die ur das zu selekMenge der selektierten Individuen IS ist leer und der Z¨ahler f¨ tierende Individuum iS wird auf eins gesetzt (Zeile 1). Die folgende Schleife wird solange wiederholt, bis die gew¨ unschte Anzahl IS Individuen selektiert wurde (Zeile 2). Die Anzahl der Turnierteilnehmer IT ist gegeben. Um die entsprechende Anzahl unterschiedlicher Turnierteilnehmer aus der Population zu 178
Vgl. Deb/Goldberg(1989). Im Struktogramm 5.12 auf S. 136 als Selektion zur Ersetzung“ bezeichnet. ” Beide ausgew¨ahlten Selektionsverfahren haben bei dem von Blickle und Thiele durchgef¨ uhrten Vergleich gut abgeschnitten (vgl. Blickle/Thiele(1995)). 181 Vgl. Goldberg/Deb(1991). 179 180
148
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
ziehen, werden diese zuf¨allig bestimmt. Dazu werden IT Zufallszahlen gezogen (Zeile 3). Die Turnierteilnehmer treten der Reihe nach gegen das erste Individuum an. Sobald ein sich messendes Individuum einen besseren Fitnesswert aufweist, gilt er im Folgenden als Vergleichsmaßstab (Zeilen 4-8).182 Das siegende Individuum wird in die Selektionsmenge eingef¨ ugt und der Selektionsz¨ahler um eins erh¨oht (Zeile 9).183 Zeiger-Selektion184 Bei der Zeiger-Selektion werden die Individuen entsprechend ihrer absoluten Fitness aus dem Selektionspool ausgew¨ahlt (fitnessproportionale Selektion). Der genaue Ablauf ist in folgender Abbildung 5.19 dargestellt:
Abbildung 5.19: Struktogramm f¨ ur die Zeiger-Selektion Nach der Initialisierung der Zeiger-Selektion (Zeile 1) muss zun¨achst der Abstand LZ zwischen den Zeigern bestimmt werden. Er berechnet sich als Kehrwert der Anzahl zu selektierender Individuen (Zeile 2). Anschließend muss per Zufallsgenerator die Stelle SZ im Chromosom bestimmt werden, an der der erste Zeiger startet. Diese befindet sich im Intervall [1;LZ[ (Zeile 3). Die kumulierte relative Fitness F itkum wird mit der relativen Fitness des ersten Individuums F it(i)initialisiert (Zeile 4). Um die IS zu selektierenden Individuen zu bestimmen, muss wiederholt u uft werden, ob der aktuell betrachtete Pfeil auf ¨berpr¨ eine Stelle zeigt, deren Wert kleiner als die kumulierte relative Fitness ist (Zeile 7). Ist dies der Fall, ist das entsprechende Individuum zu selektieren, der 182
Prinzipiell ist die Bestimmung des Fitnesswertes nicht n¨otig, ein Vergleich der Zielfunktionswerte reicht aus. So kann auf eine rechenaufwendige Sortierung der Population bei einer rangbasierten Fitnesszuweisung verzichtet werden. 183 Am Ende des Turniers gehen alle Turnierteilnehmer wieder in die Ausgangspopulation zur¨ uck. 184 Vgl. Baker(1987) ( Stochastical universal sampling“). ”
5.4 Genetische Algorithmen
149
Selektionsz¨ahler iS um eins zu erh¨ohen und der n¨achste Zeiger zu betrachten (rechte Spalte Zeilen 7+8). Andernfalls ist das n¨achste Individuum zu betrachten (i = i + 1) und dementsprechend die kumulierte relative Fitness zu erh¨ohen (linke Spalte ab Zeile 7).185 In Abbildung 5.20 ist exemplarisch veranschaulicht, wie mittels der ZeigerSelektion acht Individuen fitnessproportional aus acht Individuen ausgew¨ahlt 3 startet. Die Individuen werden, wenn der erste Pfeil an der Stelle SZ = ζ = 32 3 und 5 werden aufgrund ihrer schlechten relativen Fitness nicht ausgew¨ahlt, die Individuen 4 und 6 dagegen jeweils gleich zweimal.
Abbildung 5.20: Beispiel zur Zeiger-Selektion 5.4.2.5 Crossover Das Crossover ist ein konstruktiver Operator, durch den das genetische Material von zwei Chromosomen mit hoher Fitness kombiniert werden soll, um neue, bessere Individuen zu erzeugen. Durch die Kombination der Gene der Eltern werden aus zwei Elternindividuen ein oder zwei Nachkommen gebildet. Im Laufe der Zeit wurden in Abh¨angigkeit von der Kodiervorschrift und den zu l¨osenden Problemen viele verschiedene Crossover-Verfahren entwickelt. In Starkweather ¨ et al.(1991) ist eine Ubersicht u ¨ber Crossover-Verfahren gegeben, die in der Literatur speziell f¨ ur Reihenfolgeprobleme vorgestellt wurden.186 Dort wird u. a. das Order Crossover nach Davis (OX), das Partially Mapped Crossover nach Goldberg und Lingle (PMX), das Cycle Crossover nach Oliver et al. (CX) und das Order Crossover (OX2) sowie das Position Based Crossover nach Syswerda (PBX) vorgestellt.187 185
Die Zeiger-Selektion ¨ahnelt dem der sehr bekannten Roulette-Selektion. Bei dieser zeigt ein Pfeil auf ein Roulette-Rad, das dann IS -mal gedreht werden muss. Das Vorgehen bei der Zeiger-Selektion entspricht einem Roulette-Rad mit IS Zeigern, das nur einmal gedreht werden muss. Dadurch sinkt die Wahrscheinlichkeit f¨ ur die Auswahl identischer Individuen, sog. Dubletten, deren h¨aufiges Auftreten die Vielfalt innerhalb des Genpools reduzieren und dadurch zu einer vorzeitigen Konvergenz f¨ uhren k¨onnen. 186 Dort wird u. a. herausgearbeitet, dass jeder Crossover-Operator bestimmte Eigenschaften hat in Bezug auf die Bewahrung von Informationen bei der Weitergabe an die Nachkommen. Je nachdem, welcher Informationsaspekt f¨ ur die L¨osung eines Reihenfolgeproblems wichtig ist, sollte ein dementsprechend geeigneter Operator gew¨ahlt werden. 187 Vgl. der Reihe nach Davis(1985), Goldberg/Lingle(1985), Oliver et al. (1987) und Syswerda(1991). Vgl. dazu auch Rixen/Kopfer(1994).
150
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
Im Folgenden werden zwei Crossover-Verfahren n¨aher erl¨autert, die auch sp¨ater zur L¨osung der Fallstudie FSH eingesetzt werden: das Generalized Order Crossover und das Position Based Crossover.188 Generalized Order Crossover189 Beim Generalized Order Crossover (GOX) wird aus dem ersten Elternteil (Geber-Chromosom) an einer zuf¨alligen Stelle ein Teilst¨ uck (Substring) zuf¨alliger L¨ange entnommen. Dieses wird beim zweiten Elternteil (Nehmer-Chromosom) an der Stelle ins Chromosom eingef¨ ugt, an der die an der zuerst im Substring stehende Operation vorkommt. Die im Substring vorkommenden Operationen werden anschließend im Nehmer-Chromosom gel¨oscht. Das Vorgehen ist in Abbildung 5.21 auf S. 151 f¨ ur den Fall dargestellt, dass ein Nachkomme N erzeugt wird, wobei E1 das Geber- und E2 das Nehmer-Chromosom ist. Im Folgenden wird das Vorgehen ausf¨ uhrlicher erl¨autert: Nachdem zwei Elternteile E1 und E2 aus dem Mating-Pool selektiert wurden, muss zun¨achst durch das Ziehen einer Zufallszahl ζ1 ermittelt, ob zwischen diesen beiden Individuen u ¨berhaupt ein Crossover stattfinden soll. Dies erfolgt u ¨ber den Vergleich mit einer vorab vorzugebenden sog. Crossover-Wahrscheinlichkeit pC (Zeilen 1-3). Laut B¨ack(1992) nimmt die Crossover-Wahrscheinlichkeit u ¨blicherweise Weruhrt werden te zwischen 60% und 100% an.190 Wenn ein Crossover durchgef¨ soll, ist im n¨achsten Schritt die L¨ange des auszutauschenden Teilst¨ ucks LS festzulegen. Hier wird dem Vorschlag von Gorges-Schleuter(1989) gefolgt, der f¨ ur die Substring-L¨ange einen Wert zwischen einem Drittel und der H¨alfte der Chromosomenl¨ange vorschl¨agt (Zeile 4). Anschließend ist die Entnahmestelle ugestelle ES im Geber-Chromosom SS zu bestimmen (Zeile 5).191 Um die Einf¨ ussen sowohl der Auftrag (W ) als im Nehmer-Chromosom E2 zu bestimmen, m¨ auch die Anzahl bereits durchgef¨ uhrter Operationen dieses Auftrags (W O ) bei ¨ =1), d. h., es muss sich um dieselbe Opebeiden Elterteilen u ¨bereinstimmen (UE ugestelle ES bekannt, wird zun¨achst ration handeln (Zeilen 6-9).192 Ist die Einf¨ 188
Beiden Verfahren erhalten die relative Ordnung der Elemente in den Eltern, d. h. es handelt sich um sog. reihenfolgebewahrenden Crossover-Verfahren. Dies bringt mit sich, dass bei beiden Verfahren implizit eine Mutation durchgef¨ uhrt wird, um die Syntax der symbolischen Repr¨asentation zu erhalten. Es werden daher nicht nur bekannte Informationen kombiniert, sondern auch neue Informationen erzeugt. 189 Das Generalized Order Crossover stellt eine Verallgemeinerung des Order Crossover nach Davis (OX) dar, das h¨aufig f¨ ur Permutationskodierungen anderer Optimierungsprobleme (z. B. Travelling-Salesman-Problem) angewendet wird. 190 Im Gegensatz dazu gibt die Reproduktionswahrscheinlichkeit pR an, wie viele Individuen direkt aus dem Mating-Pool u ¨bernommen werden: pR = 100% − pC . Vgl. Koza(1992). 191 Hier ist abgebildet, dass das Teilst¨ uck nicht u ¨ber das Ende des Chromosoms hinaus reichen darf. Es w¨are auch m¨oglich, dies zuzulassen. 192 Da bei der Permutationkodierung mit Wiederholungen nach Bierwirth keine Operationen, sondern nur die Auftragsnummern auf einem Chromosom gespeichert werden, m¨ ussen bei der Anwendung von GOX die jeweiligen Operationsz¨ahler OSk der Auftr¨age bestimmt und in W (h) abgelegt werden.
5.4 Genetische Algorithmen
151
ein verl¨angertes Chromosom der L¨ange H + LS erzeugt, das zu Beginn und am Ende zusammen alle Gene des Nehmer-Chromosoms E2 (Zeilen 10+11 sowie 14+15) sowie ab der Stelle ES den einzuf¨ ugenden Substring von E1 (Zeilen 12+13) enth¨alt. Zuguterletzt sind alle Gene, die urspr¨ unglich aus dem NehmerChromosom kommen, aus dem verl¨angerten Chromosom zu l¨oschen, die den aus dem Geber-Chromosom eingef¨ ugten Operationen entsprechen (Zeilen 17-25).
Abbildung 5.21: Struktogramm f¨ ur Generalized Order Crossover (GOX)
152
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
In folgendem Beispiel werden mit dem Crossover-Verfahren GOX aus einem Elternpaar zwei Nachkommen, N1 und N2 , erzeugt, indem E1 und E2 jeweils einmal Nehmer und einmal Geber sind. Die Startstelle des Substrings SS ist vier und dessen L¨ange LS f¨ unf. Die Einf¨ ugestelle in E2 ist damit nach dem f¨ unften und in E2 nach dem zweiten Gen (vgl. folgende Abbildung 5.22):
Abbildung 5.22: Beispiel zur Bestimmung der Einf¨ ugestelle beim NehmerChromosom (GOX) In der nachfolgenden Abbildung 5.23 ist die Erzeugung der beiden Nachkommen N1 und N2 veranschaulicht:
Abbildung 5.23: Beispiel zur Generierung der Nachkommen (GOX) Position Based Crossover193 Beim Position Based Crossover (PBX) wird nicht ein Substring bestimmter L¨ange ersetzt, sondern es werden einzelne Elemente f¨ ur den Austausch ausgew¨ahlt. Sowohl die Anzahl als auch ihre Position wird dabei zuf¨allig bestimmt. Die ausgew¨ahlten Elemente werden direkt unter Beibehaltung der Positionen im Nachkommen u ¨bertragen. Anschließend werden die verbleibenden Elemente aus dem zweiten Elternteil entsprechend ihrer Sequenz vervollst¨andigt. Der prinzipielle Ablauf ist in Abbildung 5.24 auf der n¨achsten Seite dargestellt. 193
Vgl. Syswerda(1991); Bierwirth et al.(1996); Teich(1998), S. 271f.
5.4 Genetische Algorithmen
153
Abbildung 5.24: Struktogramm f¨ ur Position Based Crossover (PBX) Nachdem ein Elternpaar aus dem Mating-Pool ausgew¨ahlt und die Durchf¨ uhrung eines Crossover bejaht wurde (Zeilen 1-3), ist die zuf¨allige Anzahl HS der zu tauschenden Gene (von E1 ) zu bestimmen. Analog zur Bestimmung der L¨ange des Substrings beim Crossover-Verfahren GOX liegt diese Anzahl zwischen 1/3 und 1/2 der Chromosomenl¨ange (Zeile 4).194 Welche Gene im Chromosom dies konkret sein sollen, wird ebenfalls per Zufallsgenerator bestimmt (Zeile 5). Diese ausgew¨ahlten Elemente werden direkt unter Beibehaltung der Positionen in den Nachkommen kopiert. Die verbleibenden Elemente werden in der Reihenfolge in den Nachkommen kopiert, wie sie im zweiten Elternteil vorkommen (Zeilen 6-19). Auch dieses Crossover-Verfahren ist an einem Beispiel veranschaulicht, bei dem HS = 4 Gene an den Stellen 2, 5, 8 und 9 direkt in die beiden Nachkommen 194
Prinzipiell gilt, dass die Breitensuche umso st¨arker ist, je mehr Gene getauscht werden.
154
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
N1 und N2 entsprechend ihrer Sequenz in E1 bzw. E2 u ¨bertragen werden sollen (vgl. folgende Abbildung 5.25):
Abbildung 5.25: Beispiel zum PBX 5.4.2.6 Mutation Genetische Algorithmen nutzen einerseits die Informationen in bereits ermittelten guten L¨osungspunkten aus (Exploitation) und halten andererseits nach erfolgversprechenden Regionen im Suchraum Ausschau (Exploration). Im Verlauf des Verfahrens sinkt die Diversit¨at der Suche insb. durch die Selektion nach dem Prinzip des survival of the fittest“. Die Mutation ist daher ein wichtiges ” Instrument, um diese Diversit¨at der Suche wieder zu erh¨ohen und dadurch eine verfr¨ uhte Konvergenz zu verhindern. Eine Mutation ist mit einer bestimmten uhren, die problemspezifisch zu bestimmen ist. Wahrscheinlichkeit pM durchzuf¨ Je h¨oher sie ist, umso geringer ist die Gefahr einer vorzeitigen Konvergenz.195 Es existieren ¨ahnlich wie beim Crossover mehrere Mutationsoperatoren. Im Folgenden wird eine Auswahl aus diesen vorgestellt:196 • Shift-Operator: Es wird zuf¨allig eine Position ausgew¨ahlt und um eine zuf¨allige Anzahl Positionen nach links oder rechts verschoben. • Inversions-Mutation: Durch Auswahl einer zusammenh¨angenden Teilmenge und der Inversion der Positionen der ausgew¨ahlten Gene wird ein neues Chromosom erzeugt. 195
Wenn sie allerdings zu hoch gew¨ahlt wird, wird aus dem Genetischen Algorithmus eine Art zuf¨alliger Suchalgorithmus. 196 Vgl. dazu auch Teich(1998), S. 272ff. und Pohlheim(2000), S. 54ff.
5.4 Genetische Algorithmen
155
• Scramble Sublist Mutation: Hier wird ebenfalls eine zusammenh¨angende Teilmenge ausgew¨ahlt. Innerhalb dieses Teilst¨ ucks wird die Reihenfolge der Elemente stochastisch neu festgelegt. • Position Based Mutation: Es werden zwei Elemente zuf¨allig ausgew¨ahlt und das hintere direkt vor das vordere eingeplant.197 • Random Mutation: Die betrachtete L¨osung wird vollst¨andig zerst¨ort. Das Individuum wird durch ein neues, zuf¨allig erzeugtes Individuum ersetzt. • Order Based Mutation: Es werden zuf¨allig zwei Elemente ausgew¨ahlt und miteinander vertauscht.198 Im weiteren Verlauf der Arbeit sollen zur L¨osung der Fallstudie FSH die beiden Operatoren Oder Based Mutation (OBM) sowie Random Mutation (RM) eingesetzt werden. OBM schnitt in Tests am besten ab und RM erm¨oglicht es, auch weit entfernte Teile des Suchraumes zu erreichen.199 In Abbildung 5.26 ist das Vorgehen beschrieben, das zur L¨osung von FSH eingesetzt wird.
Abbildung 5.26: Struktogramm f¨ ur die Mutation Zun¨achst wird u uft, ob eine Mutation u ¨berpr¨ ¨berhaupt stattfinden soll. Dazu wird eine Zufallszahl gezogen und mit der Mutationswahrscheinlichkeit pM verglichen (Zeilen 1+2). Falls eine Mutation durchgef¨ uhrt werden soll, wird je 197
Vgl. Syswerda(1991). Vgl. Starkweather et al.(1991); Syswerda(1991). 199 Vgl. Starkweather et al.(1991). 198
156
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
nach gezogener Zufallszahl in Abh¨angigkeit von der gegebenen Wahrscheinlichkeit pM V der Mutationsoperator OBM oder RM angewendet (Zeilen 3+4).200 Ist eine Order Based Mutation durchzuf¨ uhren, werden zuf¨allig zwei Gene bestimmt (linke Spalte ab Zeile 5) und anschließend die beiden Gene getauscht (ab Zeile 8). Das Vorgehen ist in Abbildung 5.27 veranschaulicht. Ist ein v¨ollig neues Chromosom zu erzeugen (rechte Spalte ab Zeile 5), werden wie bei der Erzeugung der Ausgangspopulation iterativ alle H Gene bestimmt.
Abbildung 5.27: Beispiel zur OBM
5.4.2.7 Ersetzungsschema Nachdem die geforderte Anzahl Nachkommen erzeugt wurden, stellt sich die Frage, wie viele und welche der Nachkommen in die Population eingef¨ ugt werden und welche Individuen der Population durch diese einzuf¨ ugenden Individuunglich von Holland(1975) vorgestellten Genetien ersetzt werden.201 Der urspr¨ schen Algorithmus verfolgt die Strategie des Generational Replacement“, bei ” der die Ausgangspopulation vollst¨andig durch die Nachkommen ersetzt wird. Dieses Vorgehen hat aber den Nachteil, dass die bisher beste L¨osung verloren gehen und auch die durchschnittliche Fitness in der Folgegeneration sinken kann. Dies verlangsamt die Konvergenz des Algorithmus. Dem kann entgegengewirkt werden, indem eine Elitismusstrategie verfolgt wird. Bei dieser wird aus der Ausgangspopulation direkt eine vorgegebene Anzahl der besten Individuen in die n¨achste Generation kopiert.202 Eine weiteres Ersetzungsschema – es wird im Folgenden Competition (C) genannt – bildet das Prinzip des survivial of ” the fittest“ vollst¨andig ab: Alle erzeugten Nachkommen sowie die komplette Ausgangspopulation werden nach ihrem Fitnesswert sortiert, und davon bilden die I besten Individuen die Population der n¨achsten Generation. Prinzipiell muss bei der Generationsselektion darauf geachtet werden, dass nicht nur gute, sondern auch ein angemessener Anteil schlechter Chromosomen in die n¨achste Population u ¨bernommen wird, da sonst die Gefahr besteht, dass das Verfahren zu rasch auf lokale Optimierung zul¨auft. 200
Indem die Wahrscheinlichkeit f¨ ur das Mutationsverfahren pM V auf 100% bzw. 0% gesetzt wird, ist OBM bzw. RM jeweils der alleinige Mutationsoperator. Vgl. Pohlheim(2000), S. 57. 202 Dieser Ansatz geht auf De Jong(1975) zur¨ uck. 201
5.4 Genetische Algorithmen
157
5.4.2.8 Abbruchkriterium Die prinzipielle Anforderung an ein Abbruchkriterium ist, dass es die Optimierung erst beenden sollte, wenn er ein ausreichend gutes Ergebnis erreicht hat, allerdings auch nicht mehr Berechnungen durchf¨ uhren sollte, als dazu notwendig sind.203 M¨ogliche Abbruchkriterien sind:204 • • • • •
¨ Uberschreitung einer vorab fixierten Generationszahl, Erreichen einer festen Anzahl von bewerteten Individuen, ¨ Uberschreitung einer maximalen Rechenzeit (absolut oder CPU), Erreichen eines vorgegebenen ausreichend guten Zielfunktionswertes, ¨ H¨ohe der Leistungsverbesserung zwischen den Generationen, z. B. Uberschreitung einer festen Anzahl aufeinander folgender Generation ohne Verbesserung der bisher besten L¨osung sowie ¨ • Erreichen einer bestimmten Ahnlichkeit“ der Individuen, diese wird i. d. R. ” durch die Entropie der Genotypen (aber auch Ph¨anotypen oder Fitness) gemessen.205 Im weiteren Verlauf der Arbeit werden zwei Abbruchkriterien betrachtet: Das ¨ Uberschreiten einer maximalen Anzahl an G Generationen und einer maximalen Anzahl an GOV aufeinander folgender Generationen ohne Verbesserung der bisher besten L¨osung. In folgender Abbildung 5.28 ist das entsprechende Vorgehen dargestellt. Dort k¨onnen beide Kriterien kombiniert oder einzeln eingesetzt werden, indem entweder G oder GOV hinreichend groß gesetzt wird.
Abbildung 5.28: Struktogramm f¨ ur das Abbruchkriterium 203
Vgl. Pohlheim(2000), S. 63. Vgl. Pohlheim(2000), S. 63f. 205 Vgl. Mattfeld(1996), S. 82ff. und Rixen(1997), S. 114. Nachteilig bei diesem Verfahren ist der hohe Rechenaufwand, weshalb h¨aufig auf die Standardabweichung der Fitness ausgewichen wird. Pohlheim(2000) beschreibt dazu auf S. 65ff. verschiedene weitere sog. abgeleitete Abbruchkriterien. 204
158
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
Der Generationsz¨ahler g beginnt mit dem Wert eins, der sich mit jeder erzeugur die Anzahl ten Generation um eins erh¨oht (Zeilen 1+6). Der Z¨ahler goV f¨ Generationen ohne Verbesserung beginnt mit dem Wert Null (Zeile 1) und wird im Laufe des Evolutionsprozesses immer um eins erh¨oht, wenn in einer Generation kein besseres Individuum als das bisher Beste (F it∗ ) gefunden wurde (Zeile 4). Ansonsten wird der Z¨ahler wieder auf null gesetzt und der verbesserte Fitnesswert abgespeichert (Zeilen 4+5). Der Evolutionsprozess bricht ab, wenn einer der beiden maximalen Anzahlen u ¨berschritten wird (Zeile 2).
5.4.3 Veranschaulichung an der Fallstudie FS1 Das grundlegende Vorgehen eines Genetischen Algorithmus soll abschließend an der Fallstudie FS1 veranschaulicht werden.206 Die Parametereinstellungen werden folgendermaßen festgelegt: Kodierung: Populationsgr¨oße: Ausgangspopulation: Selektion Mating-Pool: Selektion Elternpaare: Anzahl Kinder: Crossover: Crossover-Wahrscheinlichkeit: Mutation: Mutations-Wahrscheinlichkeit: Evolutionsstrategie: Abbruchkriterium:
Permutationskodierung mit Wiederholung I=4 zuf¨allig erzeugt Zeiger-Selektion mit linearer, rangbasierter Fitnesswertzuweisung (SD = 1, 2) stochastische Selektion Double GOX pC = 95% RM (pM V = 0%) pM = 3% C G10
Initialisierung und Bewertung der Individuen der Ausgangspopulation: Da es sich um ein 3 × 4-JSP handelt, wird eine L¨osung des Problems durch ein Chromosom der L¨ange 3 · 4 = 12 repr¨asentiert. Um die Ausgangspopulation I0 zu erzeugen, werden zuf¨allig I = 4 Individuen erzeugt (vgl. Abbildung 5.29 auf folgender S. 159): 206
Vgl. Abschnitt 2.4.1 auf S. 33.
5.4 Genetische Algorithmen
159
Abbildung 5.29: Individuen der Ausgangspopulation (Fallstudie FS1) Um den Zielfunktionswert – hier die Zykluszeit – der vier Individuen zu bestimmen, m¨ ussen diese mit Hilfe des Ablaufplan-Generators [Dekod] dekodiert werden (vgl. Abbildung 5.30):
Abbildung 5.30: Dekodierung der Ausgangspopulation (Fallstudie FS1)
160
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
Erste Iteration / Generation: • Selektion zur Reproduktion Da ein Elternpaar zwei Nachkommen erzeugt und keine Elitismus-Strategie verfolgt wird, sind vier geeignete Individuen als Elternteile in den MatingPool zu selektieren. Dies erfolgt mit der Zeiger-Selektion. Dazu m¨ ussen zun¨achst die relativen Fitnesswerte der Individuen mit Hilfe der linearen Rang-Selektion mit Selektionsdruck von 1,2 berechnet werden (vgl. Tabelle 5.9): i 1 2 3 4
ZFi Rang P osi 36 3 2 40 4 1 27 1 4 31 2 3
F it(i) F it(i) 0, 93 0, 23 0,8 0,2 1,2 0,3 1, 06 0, 26
Tabelle 5.9: Fitnesswerte (Fallstudie FS1) Da die Zufallszahl ζ = 0, 22 gezogen wird, werden die Individuen IS = {1, 3, 3, 4} selektiert (vgl. Abbildung 5.31):
Abbildung 5.31: Zeiger-Selektion (Fallstudie FS1) • Crossover Aus dem Mating-Pool werden zuf¨allig die beiden Individuen i = 1 und i = 4 gezogen. Sie bilden das erste Elternpaar. Da die erneut gezogene Zufallszahl ζ = 0, 67 kleiner als die Crossover-Wahrscheinlichkeit von 95% ist, muss ein General Order Crossover durchgef¨ uhrt werden. Es ergeben sich dabei die in Abbildung 5.22 auf S. 152 bestimmten Nachkommen N1 und N2 . Die beiden letzten Individuen im Mating-Pool bilden das zweite Elternpaar. Da sie identisch sind, muss kein Crossover durchgef¨ uhrt werden. Sie gehen ohne Ver¨anderung als die Nachkommen N3 und N4 zur Mutationsabfrage.
5.4 Genetische Algorithmen
161
• Mutation Da die gezogenen Zufallszahlen gr¨oßer als die Mutations-Wahrscheinlichkeit von 3% sind, werden die Nachkommen N1 und N2 nicht mutiert. Aber sowohl der Nachkomme N3 als auch N4 sind durch neue, zuf¨allig erzeugte Individuen zu ersetzen. • Bewertung der Nachkommen Durch die beschriebene Selektion der Eltern, das durchgef¨ uhrte Crossover bzw. die erfolgte Mutation wurden letztendlich folgende vier Nachkommen erzeugt (vgl. Abbildung 5.32):
Abbildung 5.32: Nachkommen der ersten Generation (Fallstudie FS1) Auch diese m¨ ussen bewertet werden, indem mit Hilfe des AblaufplanGenerators [Dekod] ihre zugeh¨origen Ablaufpl¨ane und Zykluszeiten bestimmt werden. Diese sind auf der folgenden Seite in Abbildung 5.33 dargestellt. • Selektion zur Ersetzung Es sollen nur die fittesten Individuen u ¨berleben. Dazu werden alle Individuen der urspr¨ unglichen Generation sowie die erzeugten Nachkommmen gemeinsam betrachtet. Sie werden nach ihrer G¨ ute geordnet und von diesen die besten vier Individuen in die n¨achste Generation u ¨bernommen (vgl. Tabelle 5.10): i ZFi 3 27 N3 27 4 31 N1 34 1 36 N2 37 2 40 N4 42 Tabelle 5.10: Ausgangspopulation sowie deren Nachkommen sortiert nach der G¨ ute ihrer Zielfunktionswerte (Fallstudie FS1) In diesem Fall handelt es sich um jeweils zwei Individuen von den uspr¨ unglichen sowie den Nachkommen, d. h. I1 = {3, N3 , 4, N1 }
162
5 L¨osungsverfahren f¨ ur Job-Shop-Probleme
Abbildung 5.33: Dekodierung der Nachkommen (Fallstudie FS1) Weitere Iterationen / Generationen: Diese Schleife ist noch weitere 9-mal zu wiederholen, d. h., bis das Abbruchkriterium zutrifft.
6 Zweiphasen-Heuristik fu ¨ r die Fallstudie aus der Halbleiterindustrie F¨ ur die in Kapitel 3 beschriebene Problemstellung, ein flexibles Job-ShopProblem mit mehreren Maschinentypfolgen, ist ein geeignetes L¨osungsverfahren zu entwickeln, das sehr gute Ablaufpl¨ane in vertretbarer Rechenzeit erzeugen kann. Da aus Gr¨ unden der Komplexit¨at eine optimale L¨osung durch die L¨osung des in Abschnitt 4.3 formulierten Totalmodells GGLP-Komplett nicht m¨oglich ist, wird ein zweistufiger, hierarchischer Dekompositionsansatz verfolgt:1 • 1. Phase: Zun¨achst werden in einer ersten Phase die Maschinenfolgen f¨ ur alle Auftr¨age heuristisch bestimmt. Dies kann zuf¨allig oder zielgerichtet erfolgen. Im letztgenannten Fall erfolgt die Wahl der Maschinenfolgen mit der Zielsetzung, Kapazit¨ats¨ uberschreitungen einzelner Maschinen zu vermeiden und alle Maschinen m¨oglichst gleichm¨aßig auszulasten. Um dies zu erreichen, wird ein entsprechendes gemischt-ganzzahliges lineares Programm formuliert und gel¨ost (vgl. Abschnitt 6.1). • 2. Phase: Diese in der ersten Phase bestimmten Maschinenfolgen fließen als feste Gr¨oßen in das Problem ein, so dass in einer zweiten Phase das resultierende Job-Shop-Scheduling Problem gel¨ost werden muss. Dazu werden ein Priorit¨atsregelverfahren (vgl. Abschnitt 6.2) sowie ein Genetischer Algorithmus (vgl. Abschnitt 6.3) angewendet. Der Aufbau der Zweiphasen-Heuristik ist auf der n¨achsten Seite in Abbildung 6.1 schematisch dargestellt.2 1
Die Hierarchisierung ist ein typisches Vorgehen bei komplexen Problemstellungen. Derartige Ans¨atze werden im Rahmen der Ablaufplanung z. B. auch bei Batch Scheduling Problemen (vgl. Jordan(1996); Potts/Kovalyov(2000); Trautmann(2005).) oder bei Multi-Mode Project Scheduling Problemen verfolgt (vgl. Heilmann(2000); Neumann et al.(2003), S. 177ff.). 2 Alternativ k¨onnte in einer ersten Stufe anstelle der Maschinenfolgeauswahl lediglich eine Maschinentypfolgeauswahl erfolgen. Dann m¨ usste in der zweiten Stufe allerdings ein flexibles Job-Shop gel¨ost werden. I. J. Acker, Methoden zur mehrstufi gen Ablaufplanung in der Halbleiterindustrie, DOI 10.1007/978-3-8349-6731-2_6, © Gabler Verlag | Springer Fachmedien Wiesbaden GmbH 2011
164
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
Abbildung 6.1: Phasen des L¨osungsverfahrens
6.1 1. Phase – Auswahl der Maschinenfolgen 6.1.1 Ein gemischt-ganzzahliges lineares Programm zur Auswahl der Maschinenfolgen Entsprechend dem hierarchischen Ansatz sollen in einer ersten Phase des problemspezifischen L¨osungsverfahrens die Maschinenfolgen bestimmt werden, mit denen die einzelnen Chargen der verschiedenen Endmessdiodentypen herzustellen sind. Dies soll mit Hilfe eines gemischt-ganzzahligen linearen Programms erfolgen, das im Folgenden als GGLP-Auswahl bezeichnet wird.3 Es ist bei einem zu hohen zeitlichen Rechenaufwand denkbar, das exakte Verfahren nicht vollst¨andig auszuf¨ uhren, sondern als Auswahlheuristik“ einzusetzen. ” Bei der Auswahl der Maschinenfolgen sollen zwei Zielsetzungen verfolgt werden: 1.) Keine Kapazit¨ ats¨ uberschreitung einzelner Maschinen Es ist sinnvoll, die Maschinenfolgen, in denen die einzelnen Chargen hergestellt werden sollen, so zu w¨ahlen, dass m¨oglichst bei keiner Maschine die verf¨ ugbare Kapazit¨at u ¨berschritten wird. Im GGLP-Auswahl wird daher als oberstes Ziel modelliert, die Anzahl der Kapazit¨ats¨ uberschreitungen bei den einzelnen Maschinen zu minimieren. Eine Kapazit¨ats¨ uberschreitung liegt vor, wenn die Kapazit¨atsbelegung einer Maschine (KBm ) die verf¨ ugbare Kapazit¨at dieser Maschine (KVm ) u ¨berschreitet. Kommt dies bei mindestens einer der 24 Maschinen vor, ist von vornherein klar, dass der Auftragsbestand nicht wie vorgesehen vollst¨andig im Planungszeitraum T hergestellt werden kann. Dies macht eine Reduktion der Auftragsanzahl erforderlich. GGLP-Auswahl ist erneut zu optimieren. Dies muss so lange wiederholt werden, bis es zu keiner Kapazit¨ats¨ uberschreitung mehr kommt (siehe folgende Abbildung 6.2, S. 165). Die Herstellung der reduzierten Auftr¨age muss in den folgenden Planungszeitraum verschoben werden. 3
Im Rahmen der Erl¨auterungen im folgenden Abschnitt 6.1.4 wird ersichtlich, weshalb ganzzahlige Variablen erforderlich sind.
6.1 1. Phase – Auswahl der Maschinenfolgen
165
Abbildung 6.2: Iteratives Vorgehen bei der Maschinenfolgeauswahl 2.) Gleichm¨ aßige Kapazit¨ atsauslastung aller Maschinen Es ist sinnvoll, die Maschinen zeitlich m¨oglichst gleichm¨aßig auszulasten4 , da hierdurch das Auftreten von den Produktionsfluss st¨orenden Engpassmaschinen reduziert werden kann. Zudem sind im Falle eines unerwarteten Maschinenausfalls bei einer gleichm¨aßigen Kapazit¨atsauslastung tendenziell weniger Auftr¨age von Verz¨ogerungen oder Lieferausf¨allen betroffen. Bei der Berechnung der Kapazit¨atsauslastung einer Maschine ist zu ber¨ ucksichtigen, dass die Maschinen unterschiedlich lange zur Verf¨ ugung stehen. Jede Maschine hat damit eine Kapazit¨atsauslastung KAT m , die sich aus dem Verh¨altnis der Kapazit¨atsbelastung KBm (in Minuten) zur verf¨ ugbaren Kapazit¨at KVm (in Minuten) ergibt.5 Damit l¨asst sich die T durchschnittliche Kapazit¨atsauslastung aller Maschinen KA berechnen: M
KBm KAT m = KVm
T
KA =
m=1
KAT m M
Im folgenden Abschnitt wird das gemischt-ganzzahlige lineare Programm zur Auswahl der Maschinenfolgen erl¨autert. Nach der Zusammenfassung aller Notationsvereinbarungen wird das Modell GGLP-Auswahl formuliert und erl¨autert. Im anschließenden Abschnitt wird die 1. Phase an einer modifizierten Fallstudie – FS3 – veranschaulicht. 4 5
Es ist nicht die Anzahl der Auftr¨age, sondern die zeitliche Belastung (Prozesszeiten inklusive evtl. R¨ ustzeiten) entscheidend. Im Gegensatz zur Definition der Kapazit¨atsauslastung KAm bzw. KA gem¨aß Abschnitt 2.3.3 auf S. 19, bei der der Bezugszeitraum von t0 bis zum Ende der Bearbeitung der letzten Operation geht, wird bei KAT m der Zeitraum von t = 0 bis zum Ende des Planungszeitraums T betrachtet. Die Kapazit¨atsbelastung KBm beinhaltet die Bearbeitungszeiten sowie eine angen¨aherte R¨ ustzeit. Die verf¨ ugbare Kapazit¨at beinhaltet den Zeitraum von t = 0 bis T abz¨ uglich der Maschinenstillstands- und Anlaufzeiten.
166
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
6.1.2 Notationsvereinbarungen An dieser Stelle werden alle Notationsvereinbarungen in der Tabelle 6.1 zusammengefasst, die f¨ ur das Verst¨andnis des Modells von Bedeutung sind: Indizes: j Endmessdiodentyp (j=1,. . . ,J) c Charge (in Bezug auf den Endmessdiodentyp j: c = 1, . . . , Cj ) e alternative Maschinenfolge (in Bezug auf den Endmessdiodentyp j: e = 1, . . . , Ej ) m Maschine (m=1,. . . ,M) Daten: J Ej Cj M KVm pjm rzjm xjem X gg gAG gAG
Anzahl Endmessdiodentypen Anzahl alternativer Maschinenfolgen e vom Endmessdiodentyp j Anzahl herzustellender Chargen c vom Endmessdiodentyp j Anzahl Maschinen verf¨ ugbare Kapazit¨at von Maschine m Bearbeitungszeit von Endmessdiodentyp j auf Maschine m R¨ ustzeit von Endmessdiodentyp j auf Maschine m =1, wenn Endmessdiodentyp j auf Maschine m bearbeitet werden muss, wenn er mit Maschinenfolge e hergestellt wird (0 sonst) hinreichend große Zahl großes“ Zielgewicht ” Faktor zur Korrektur der Kapazit¨atsbelastung der Montagemaschinen m ∈ MAG Faktor zur Korrektur der Kapazit¨atsbelastung der (Nicht-Montage-)Maschinen m ∈ (M\MAG )
Entscheidungsvariablen: gjce =1, wenn Charge c vom Endmessdiodentyp j mittels Maschinenfolge e hergestellt wird (0, sonst) =1, wenn KBm > KVm (0, sonst) km ¨ Uberschreitung der durchschnittlichen Kapazit¨atsauslastung bei d+ m Maschine m Unterschreitung der durchschnittlichen Kapazit¨atsauslastung bei d− m Maschine m Kapazit¨atsbelastung der Maschine m KBm T KA Durchschnittliche Kapazit¨atsauslastung ZF Zielfunktionswert Tabelle 6.1: Deklarationen f¨ ur das Modell (GGLP-Auswahl)
6.1 1. Phase – Auswahl der Maschinenfolgen
167
6.1.3 Modellierung der Maschinenfolgeauswahl: GGLP-Auswahl min ZF
(6.1)
u. d. N. ZF = gg ·
M
km +
m=1
M
− (d+ m + dm )
M 1 KBm T · = KA M m=1 KVm T
− d+ m − dm + KA Cj Ej J
(6.2)
m=1
=
KBm KVm
(6.3) (∀m ∈ M)
(pjm + gAG · rzjm ) · xjem · gjce = KBm
(6.4) (∀m ∈ MAG ) (6.5)
j=1 c=1 e=1 Cj Ej J
(pjm + gAG · rzjm ) · xjem · gjce = KBm (∀m ∈ (M\MAG ))(6.6)
j=1 c=1 e=1
KVm + X · km ≥ KBm Ej
gjce = 1
(∀m ∈ M)
(∀j ∈ J ; ∀c ∈ Cj )
(6.7)
(6.8)
e=1
gjce ∈ {0; 1} km ∈ {0; 1}
(∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej ) (∀m ∈ M)
− KBm , KVm , d+ m , dm ≥ 0 T
KA , ZF ≥ 0
(6.9) (6.10)
(∀m ∈ M)
(6.11) (6.12)
168
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
6.1.4 Erl¨ auterungen Berechnung der Abweichung von der durchschnittlichen prozentualen Auslastung (6.3 und 6.4): T
Die durchschnittliche Kapazit¨atsauslastung KA berechnet sich als Mittelwert der Kapazit¨atsauslastungen KAT m aller m Maschinen. Eine Abweichung von T KA – sowohl eine geringere als auch eine h¨ohere Auslastung der Maschinen m – ist unerw¨ unscht. Die Abweichung kann durch zwei gegenl¨aufige Schlupfva+ und d− riablen d+ m m modelliert werden. Die Abweichungsvariable dm gibt dabei ¨ eine Uberschreitung der durchschnittlichen Kapazit¨atsauslastung bei Maschine m an, d− m dagegen eine Unterschreitung: T
T
T
T
+ T KA < KAT m → KA + dm = KAm − T KA > KAT m → KA − dm = KAm
Die zwei gegenl¨aufigen Schlupfvariablen nehmen also folgende Werte an: T
T d+ m := max{KAm − KA ; 0} T
T d− m := max{KA − KAm ; 0}
Mit Nebenbedingung 6.4 k¨onnen somit die Abweichungsvariablenwerte berechnet werden. Diese fließen u ¨ber Nebenbedingung 6.2 in den Zielfunktionswert (vgl. 6.1) ein. Kapazit¨ atsbelastung der einzelnen Maschinen (6.5 und 6.6): Die tats¨achliche Kapazit¨atsbelastung der Maschinen l¨asst sich nicht exakt berechnen. Zwar ist genau bekannt, wie viele Minuten ein Endmessdiodentyp auf einer Maschine bearbeitet werden muss, aber es ist nicht bekannt, ob f¨ ur ihn ger¨ ustet werden muss. Deshalb muss vorab f¨ ur den R¨ ustzeit-Kapazit¨atsverbrauch der einzelnen Maschinen ein Korrekturfaktor gesch¨atzt werden. Hierbei wird zwischen den Montagemaschinen (MAG , vgl. 6.5) und den restlichen Maschinen (M\MAG ), vgl. 6.6) unterschieden, weil auf den Montagemaschinen aufgrund der Auftragsgruppen seltener ger¨ ustet werden muss. Kapazit¨ ats¨ uberschreitung (6.7): Zur Bestimmung der verf¨ ugbaren Kapazit¨at einer Maschine wird f¨ ur jede Maschine ihre Anzahl verf¨ ugbarer Schichten mit der Dauer der Schicht multipliziert und anschließend um die mit ihrer entsprechenden Anlaufzeit multiplizierten Anzahl Stillst¨ande verringert. Auf diese Weise wird f¨ ur jede Maschine die Zeit bestimmt, die sie im Planungszeitraum T insgesamt verf¨ ugbar ist. Die Bin¨arvaur eine Kapazit¨ats¨ uberschreitung auf der Maschine riable km wird als Schalter f¨
6.1 1. Phase – Auswahl der Maschinenfolgen
169
m eingef¨ uhrt. Sobald die ben¨otigte Kapazit¨at auf einer Maschine gr¨oßer ist als die zur Verf¨ ugung stehende Kapazit¨at, erzwingt die Nebenbedingung 6.7, dass uhrt u die Bin¨arvariable km den Wert 1 annimmt. Dies f¨ ¨ber Nebenbedingung 6.2 zu einer Verschlechterung des Zielfunktionswertes (vgl. 6.1). Auswahl der Maschinenfolge (6.8): Diese Bedingung erzwingt die Auswahl genau einer Maschinenfolge. Die Bin¨arvaur jede Charge eines Endmessdiodentyps an, mit welcher Mariable gjce gibt f¨ schinenfolge sie herzustellen ist. Zielfunktion (6.1 und 6.2): Die beiden in Abschnitt 6.1.1 beschriebenen Zielsetzungen werden in Nebenbedingung 6.2 additiv verkn¨ upft und entsprechend ihrer Bedeutung gewichtet.6 Keine Kapazit¨ats¨ uberschreitungen zu erzeugen, hat h¨ochste Priorit¨at. Deshalb wird dieses Ziel im ersten Summanden mit einem großen Zielgewicht gg st¨arker gewichtet als der zweite Summand. Um eine gleichm¨aßige Kapazit¨atsauslastung zu erreichen, sollen die Kapazit¨atsauslastungen KAT m der Maschinen von der T durchschnittlichen Kapazit¨atsauslastung KA m¨oglichst wenig abweichen. Mit dem zweiten Summanden, wird die Abweichungen von der durchschnittlichen ¨ Kapazit¨atsauslastung minimiert. Uber die Zielfunktion 6.1 wird ZF minimiert. Wertebereiche der Variablen (6.9-6.12): Die Nebenbedingungen 6.9, 6.10, 6.11 und 6.12 geben die Wertebereiche der im Modell verwendeten Variablen an.
6.1.5 Fallstudie FS3 Die im Abschnitt 4.3.4 auf S. 87 dargestellte Fallstudie FS2 konnte die Wirkungsweise des gemischt-ganzzahligen linearen Programms GGLP-Komplett sehr gut veranschaulichen. Es bildet die Begebenheiten der betrachteten Fallstudie aus der Halbleiterindustrie (FSH) allerdings nicht vollst¨andig ab. Um diesen Umstand zu beheben, wird sie im Folgenden modifiziert und als Fallstudie FS3 bezeichnet. In der betrachteten Fallstudie aus der Halbleiterindustrie (FSH) m¨ ussen alle Auftr¨age zun¨achst montiert werden. Die erste Maschine wird immer eine Montagemaschine (m ∈ MAG ) sein, so dass die Nachlaufzeit nur im Anschluss an die erste Operation n¨otig ist. Im Modell GGLP-Komplett kann die Maschinen6
Es handelt sich um ein mehrkriterielles Optimierungsproblem. Es wird das Kompromissmodell der Zielgewichtung angewendet.
170
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
folgebedingung 4.24 durch die folgenden beiden Nebenbedingungen 6.13 und 6.14 ersetzt werden:7 ajce[2] ≥ ajce[1] + pj[1] + nzj[1] − X · (1 − njce ) (∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej ) ajce[m] ≥ ajce[m−1] + pj[m−1] − X · (1 − njce ) (∀j ∈ J ; ∀c ∈ Cj ; ∀e ∈ Ej ; m = 3, . . . , Mje )
(6.13) (6.14)
In der Realit¨at stehen Maschinen zwischen zwei Stillst¨anden nur zur Verf¨ ugung, wenn die Zeit zwischen zwei Stillst¨anden mindestens so groß ist, dass wenigstens eine Operation auf ihr vollst¨andig bearbeitet werden kann. D. h., die Zeit zwischen dem Ende eines Stillstands und dem Anfang des darauf folgenden Stillstands ist in diesem Fall immer gr¨oßer als der Zeitbedarf, der f¨ ur den Anlauf, den R¨ ustvorgang sowie die Bearbeitung von mindestens einem Auftrag ben¨otigt wird. Formal ausgedr¨ uckt bedeutet dies: StAmv − StEmu ≥ azm + rzkm + pkm
; (u < v)
In der Fallstudie FS2 aus Abschnitt 4.3.4 wurde zun¨achst auf diese Forderung verzichtet, um die Wirkungsweise des gemischt-ganzzahligen linearen Programms anschaulicher darstellen zu k¨onnen. Dementsprechend ver¨andern sich in der Fallstudie FS3 sowohl die Maschinenstillstandszeiten als auch die alternativen Maschinenfolgen wie in den folgenden beiden Tabellen 6.2 und 6.3 auf S. 171 dargestellt. Außerdem wird der Planungshorizont T auf 80 ZE gesetzt. Wird die Fallstudie FS3 mit GGLP-Komplett exakt gel¨ost, ergibt sich das in Abbildung 6.3 auf S. 171 dargestellte optimale GanttDiagramm.
Maschine m=1 m=2 m=3 m=4
1. Stillstand 2. Stillstand 0-0 15-20 0-20 40-45 0-50 0-45 -
Tabelle 6.2: Stillstandszeitr¨aume der Maschinen in ZE (Fallstudie FS3) 7
Die Auftr¨age durchlaufen die Maschinen auch in aufsteigender Reihenfolge, d. h., es kann nicht vorkommen, dass ein Auftrag erst auf Maschine m = 3 und anschließend auf Maschine m = 1 bearbeitet werden muss (vgl. dagegen z. B. bei Fallstudie FS2 Maschinenfolge 3 von Endmessdiodentyp 1).
6.1 1. Phase – Auswahl der Maschinenfolgen Produkt Maschinenfolge j=1 e=1 e=2 e=3 j=2 e=1 e=2 e=3 j=3 e=1 e=2 e=3
171
[1]je [2]je [3]je [4]je 1 3 4 1 2 3 4 1 2 3 1 3 4 1 2 4 1 2 3 1 2 3 4 1 2 3 1 3 4
Tabelle 6.3: Alternative Maschinenfolgen (Fallstudie FS3)
Abbildung 6.3: GGLP-Komplett: Gantt-Diagramm eines optimalen Ablaufplans von der Fallstudie FS3 Wird obige Fallstudie FS3 nicht simultan mit Hilfe des GGLP-Komplett gel¨ost, sondern mit dem hierarchischen Ansatz, ist in der 1. Phase das GGLP-Auswahl zu l¨osen. Dazu m¨ ussen zun¨achst die verf¨ ugbaren Kapazit¨aten der vier Maschinen und Korrekturfaktoren f¨ ur die R¨ ustzeiten bestimmt werden.
172
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
Der Planungshorizont betr¨agt 80 ZE. Maschine m = 1 steht zu Beginn und von 15-20 ZE still, d. h., sie muss zweimal anlaufen, wobei die Anlaufzeit 5 ZE betr¨agt. Damit ergibt sich eine verf¨ ugbare Kapazit¨at der ersten Maschine von KV1 = 80 − 5 − 2 · 5 = 65. Analog kann KV2 = 51, KV3 = 29 und KV4 = 31 berechnet werden. In FS3 sind vier Auftr¨age herzustellen. Es gibt drei verschiedene Endmessdiodentypen, wobei zwei auf Maschine m = 1 eine Auftragsgruppe bilden und daher vom identischen Montagediodentyp sind, so dass bei einem Wechsel zwischen diesen beiden auf Maschine m = 1 nicht ger¨ ustet werden muss. Es sind von Endmessdiodentyp j = 1 zwei Chargen und von den anderen beiden Endmessdiodentypen jeweils eine Charge herzustellen. Die Wahrscheinlichkeit, dass es auf Maschine 1 zu einem Auftragsgruppenwechsel kommt, ist 50 %. Die Wahrscheinlichkeit, dass es zu einem Endmessdiodenypwechsel auf den Maschinen m = 2, 3, 4 kommt, ist 83,3 %. Die Korrekturfaktoren nehmen damit die Werte gAG = 0, 5 und gAG = 0, 833 an. Die L¨osung des GGLP-Auswahl f¨ uhrt zu folgendem Ergebnis: g113 = 1,
g121 = 1,
g212 = 1,
g311 = 1
Das bedeutet, dass die erste Charge des Endmessdiodentpys j = 1 mit Maschinenfolge 3 hergestellt werden sollen, die zweite dagegen mit Maschinenfolge 1. Der Endmessdiodentyp j = 2 ist mit Maschinenfolge 2 und der Endmessdiodentyp j = 3 mit Maschinenfolge 1 zu produzieren. Die Maschinenfolgeauswahl weicht somit von der des Simultanansatzes ab, bei der die beiden Chargen des Endmessdiodentyps j = 1 mit der Maschinenfolge 1 und die Endmessdiodentypen j = 2 und j = 3 jeweils mit der Maschinenfolge 2 herzustellen sind. Es wird von keiner Maschine die verf¨ ugbare Kapazit¨at u ¨berschritten. Die durchT schnittliche Kapazit¨atsauslastung KA betr¨agt 52,95 %, die Kapazit¨atsauslastung der einzelnen Maschinen betragen: KAT 1 = 50, 77%,
KAT 2 = 53, 91%,
KAT 3 = 52, 29%,
KAT 4 = 54, 83%
Damit ergeben sich folgende Werte f¨ ur die Abweichungsvariablen: d− 1 d− 2 d− 3 d− 4
= = = =
0, 0218 0 0, 0066 0
d+ 1 d+ 2 d+ 3 d+ 4
= = = =
0 0, 0096 0 0, 0188
Der Zielfunktionswert ZF betr¨agt 0, 0569 Zielfunktionseinheiten. Auf der Maschine m = 1 werden alle 4 Auftr¨age bearbeitet, auf den Maschinen m = 2,
6.2 2. Phase – das Priorit¨atsregelverfahren
173
m = 3 und m = 4 nur 3 Auftr¨age. Die Kapazit¨atsbelastung (in ZE) der einzelnen Maschinen betr¨agt ungef¨ahr: KB1 = 33,
KB2 = 27, 495,
KB3 = 15, 165,
KB4 = 16, 998
Diese Maschinenfolgeauswahl gilt nun als Input f¨ ur die folgende 2. Phase des entwickelten problemspezifischen L¨osungsverfahrens. In den beiden folgenden Abschnitten 6.2 und 6.3 wird die Fallstudie FS3 weiter verfolgt.
6.2 2. Phase – das Priorit¨ atsregelverfahren 6.2.1 Einleitung Die in der 1. Phase bestimmten Maschinenfolgen fließen nun als gegebene Gr¨oßen in die 2. Phase des L¨osungsverfahrens ein. Wurde bisher ein Auftrag durch die drei Indizes jec“ dargestellt, wird im Folgenden unter einem Auftrag ” k eine Charge eines Endmessdiodentyps verstanden, deren Maschinenfolge e festgelegt ist. In diesem Abschnitt soll in der 2. Phase des L¨osungsverfahrens ein Priorit¨atsregelverfahren angewendet werden. Da bei der Fallstudie aus der Halbleiterindustrie (FSH) eine regul¨are Zielfunktion zu optimieren ist, ist ein optimaler Ablaufplan immer aktiv. Daher wird ein Priorit¨atsregelverfahren entwickelt, das auf dem in Abschnitt 5.3.3 beschriebenen Giffler&Thompson-Algorithmus basiert. Dieser muss an die realen Gegebenheiten in der Fallstudie angepasst werden, die durch Auftragsgruppen, Maschinenstillst¨ande mit anschließenden kapazit¨atsreduzierenden Anlaufzeiten, R¨ ustzeiten sowie Nachlaufzeiten gekennzeichnet ist. In den folgenden Abschnitten dieses Kapitels wird erl¨autert, inwiefern der Giffler&Thompson-Algorithmus modifiziert werden muss. Dieses an die Problemstellung adaptierte Priorit¨atsregelverfahren wird zur Erzeugung von jeweils nur einem einzigen Ablaufplan angewendet. Nach M¨ uller-Merbach ist dies bei komplexen Ablaufplanungsproblemen gerechtfertigt, weil h¨aufig viele gleich (oder fast gleich) gute L¨osungen existieren, von denen deshalb nur eine erkannt werden muss.8 Um die f¨ ur die betrachtete Problemstellung geeignetste Priorit¨atsregel zu bestimmen, werden im Rahmen einer Simulationsstudie die in der Tabelle 6.4 auf S. 174 aufgez¨ahlten zw¨olf Priorit¨atsregeln9 auf ihre Leistungsf¨ahigkeit unter8 9
Vgl. M¨ uller-Merbach(1970), S. 34f. Sie bilden die Menge PRIO: PRIO = {FCFS;FLT;KOZ;LRBZ;RZ;SZ;SZ/On; SZ/RBZ;WSLnM;Zufall;ZRDLZ;ZRDLZ/On}.
K¨ urzeste Operationszeit
L¨angste Restbearbeitungszeit
K¨ urzeste R¨ ustzeit
Kleinste Schlupfzeit
Kleinstes Verh¨altnis aus Schlupfzeit und Anzahl noch durchzuf¨ uhrender Operationen
KOZ
LRBZ
RZ
SZ
SZ/On
Kleinstes Verh¨altnis aus zul¨assiger Restdurchlaufzeit und Anzahl noch durchzuf¨ uhrender Operationen
Kleinste zul¨assige Restdurchlaufzeit
ZRDLZ
ZRDLZ/On
Zuf¨allige Auswahl aus den vor der Maschine wartenden Auftr¨agen
Zufall
WSLnM
Kleinstes Verh¨altnis aus Schlupfzeit und Restbearbeitungszeit des Auftrags K¨ urzeste Warteschlangenl¨ange an der in der Operationsfolge des ausgew¨ahlten Auftrags nachfolgenden Maschine (Anzahl an wartenden Auftr¨agen)
Fr¨ uhester Liefertermin
FLT
SZ/RBZ
First Come First Serve
Erl¨ auterung
FCFS
Regel
pkm RBZk =
max
k∈K
min
k∈K
min
k∈K
min
k∈K
min
k∈K
min
ZRDLZk F ∗ − V aPk = k ONk ONk
Fk∗ − V aPk
ζ = rank(k) ∀k ∈ AKF mit ζ ∈ {0; AnzKF + 1}
W S[OSk +1]k
SZk F ∗ − RBZk − t = k RBZk RBZk
SZk F ∗ − RBZk − t = k ONk ONk
SZk = Fk∗ − RBZk − t
k∈K
k∈K
rzkm
(pkm + nzkm )
min
m∈ONk
(pkm + wkm + nzkm )
Priorit¨ atswert Φk
min
k∈K
k∈K
k∈K
min
m∈OSk
Fk∗
A∗k +
min
k∈K
min
174 6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
Tabelle 6.4: Die in der Simulationsstudie verwendeten zw¨olf Priorit¨atsregeln
6.2 2. Phase – das Priorit¨atsregelverfahren
175
sucht.10 Davon sind neun einfache und drei kombinierte Priorit¨atsregeln, von denen sechs lieferterminbezogen und zwei operationszeitbezogen sind.11 Es kann im Verlauf des Priorit¨atsregelverfahrens die Situation auftreten, dass mindestens zwei Auftr¨age den gleichen, besten Priorit¨atswert aufweisen. Auf diese bez¨ uglich der ersten“ Priorit¨atsregel gleich guten Auftr¨age wird in einem ” zweiten Schritt die Priorit¨atsregel FLT angewendet. Wurde bereits FLT als erste Priorit¨atsregel angewendet, wird als zweite Regel KOZ eingesetzt. Zur Beurteilung der G¨ ute eines Ablaufplans m¨ ussen entsprechend der Zielsetzung verschiedene Kriterien bestimmt werden, die ihrerseits wiederum aggregiert werden k¨onnen. Der Zielfunktionswert ZF setzt sich in Anlehnung an die Zielfunktion des in Abschnitt 4.3 formulierten GGLP-Komplett aus drei gewichteten Summanden zusammen:12 ZF = S >T + GZ + GT A+ Im Gegensatz zum GGLP-Komplett findet bei den beiden zu untersuchenden L¨osungsverfahren keine Entscheidung statt, ob ein Auftrag im Planungszeitraum hergestellt wird oder nicht. Es kann nur festgestellt werden, wie viele Auftr¨age erst nach dem Ende des Planungszeitraums fertig gestellt werden. Diese Anzahl ist aber nicht gleichbedeutend mit der Anzahl nicht erf¨ ullter Auftr¨age.13 Um diese Problematik zu umgehen, fließt in den Zielfunktionswert daher nur die ¨ Information ein, dass es zu einem Uberschreiten des Planungshorizontes kommt. >T Der Strafterm S wird dabei umso st¨arker gewichtet, je mehr die Zykluszeit den Planungshorizont u ¨berschreitet: S >T = max{Z − 28800; 0} Die Zykluszeit Z wird mit dem Kehrwert aus des der Dauer des Planungszeitraums gewichtet: GZ = 10
Z 28800
Siehe Abschnitt 7.3 auf S. 217ff. Die Modifikationen der Schlupfzeit-Regel sollen Verletzungen von Lieferterminen verhindern, ¨ ¨ und im Falle einer Uberschreitung die Uberschreitungszeit m¨oglichst gering zu halten. Vgl. Le Grande(1963). 12 In (Zielfunktions-)Einheiten. Es handelt sich im Prinzip um gewichtete Minutenwerte. 13 Die Anzahl nach dem Ende des Planungszeitraums fertig gestellter Auftr¨age stellt eine Obergrenze f¨ ur die Anzahl nicht innerhalb des Planungszeitraums erf¨ ullbarer Auftr¨age dar. Durch schrittweises Weglassen einzelner Auftr¨age und anschließendes Reoptimieren in der ersten Phase kann sich schrittweise der Anzahl nicht erf¨ ullter Auftr¨age angen¨ahert werden (vgl. dazu Fußnote (7) auf Seite 211). Dies wird im Rahmen dieser Simulationsstudie jedoch nicht gemacht. 11
176
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
Die gewichtete Summe der Termin¨ uberschreitungen berechnet sich folgendermaßen:14 K
Fk − Fk∗ + GT A+ = GT A+ mit GT A = max ; 0 k k 2 · 28800 − Fk∗ k=1
6.2.2 Erweiterungen Bei der Anpassung des Giffler&Thompson-Verfahrens m¨ ussen folgende Sachverhalte ber¨ ucksichtigt werden: 6.2.2.1 Nachlaufzeit Jeder Diodentyp muss zun¨achst montiert werden. Unmittelbar im Anschluss an den Montagevorgang muss jeder Auftrag eine Nachlaufzeit durchlaufen, so dass er erst im Anschluss an diese weiterverarbeitet werden kann. Diese Nachlaufzeit ist bei der Berechnung der vorl¨aufigen Anfangszeitpunkte der jeweils zweiten Operation zu ber¨ ucksichtigen (vgl. folgende Abbildung 6.4). ekm gibt den Endzeitpunkt der Bearbeitung sowie der potentiellen anschließenden Nachlaufzeit der Operation Okm an und entspricht damit dem Zeitpunkt, ab dem der Auftrag k auf der n¨achsten Maschinen in seiner Maschinenfolge weiter bearbeitet werden kann.
Abbildung 6.4: Nachlaufzeit 6.2.2.2 R¨ ustzeit und Auftragsgruppen Damit eine Maschinen einen bestimmten Diodentyp bearbeiten kann, muss sie einen entsprechenden R¨ ustzustand aufweisen. Da ein R¨ ustzustand nicht u ¨ber einen Maschinenstillstand erhalten bleibt, muss im Anschluss an diesen immer ger¨ ustet werden. Wenn zwei aufeinander folgende Auftr¨age i und k einen unterschiedlichen Endmessdiodentyp EDi = EDk aufweisen, ist außerdem in jedem Fall ein R¨ ustvorgang n¨otig. Auf den Montagemaschinen m = 1, . . . , 6 14
¨ Da ein Uberschreiten des Planungshorizontes m¨oglich ist, muss im Gegensatz zu Formel 4.12 auf S. 81 im GGLP-Komplett T mit 2 multipliziert werden.
6.2 2. Phase – das Priorit¨atsregelverfahren
177
kann dieser allerdings entfallen, wenn die beiden aufeinander folgende Auftr¨age (i vor k) derselben Auftragsgruppe angeh¨oren, d. h., denselben Montagediodentyp aufweisen (M Di = M Dk ). Diese Aspekte sind in folgender Abbildung 6.5 zusammengefasst:
Abbildung 6.5: R¨ ustabfrage 6.2.2.3 Maschinen – Stillst¨ ande und Anlaufzeit Wenn ein Auftrag bei einer Maschine ankommt, kann sich diese in einem der in der folgenden Abbildung 6.6 dargestellten Zust¨ande befinden.15
Abbildung 6.6: M¨oglichen Zust¨ande der Maschine m 15
Ein • • • •
Auftrag k kann sich in folgenden vier Zust¨anden befinden: Er ist fertig. Er wartet vor einer Maschine. Er befindet sich in der Nachlaufzeit. Er wird auf einer Maschine bearbeitet.
178
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
Im Anschluss an einen Maschinenstillstand ist eine Anlaufzeit n¨otig, der immer ugbarkeitszeitraumes ein ein R¨ ustvorgang folgen muss.16 Ob innerhalb des Verf¨ (weiterer) R¨ ustvorgang zur Bearbeitung eines Auftrags k folgen muss, h¨angt von den im vorherigen Abschnitt erl¨auterten Bedingungen ab (vgl. insb. Abbildung 6.5). Bei der vorl¨aufigen Einplanung eines Auftrages k muss zun¨achst der relevante Verf¨ ugbarkeitszeitraum der betreffenden Maschine m ermittelt werden. Beim erweiterten G&T-Algorithmus sind die beiden aufeinander folgenden Stillst¨ande u∗ und v ∗ dadurch gekennzeichnet, dass der vorl¨aufige Anfang von k nach dem Anfang des u∗ -ten Stillstands und vor dem Anfang des v ∗ -ten Stillstands liegt. Dies ist in der folgenden Abbildung 6.7 veranschaulicht:
Abbildung 6.7: Relevante Stillst¨ande Im Folgenden enth¨alt die Menge AST diejenigen Auftr¨age, die ebenfalls im gleichen Verf¨ ugbarkeitszeitraum wie der vorl¨aufig ausgew¨ahlte Auftrag k vor der betreffenden Maschine mas warten. Außerdem muss bei der Einplanung des Auftrags immer darauf geachtet werden, dass er noch vor dem Beginn des kommenden Maschinenstillstands v ∗ fertig wird. Ist dies nicht der Fall, kann der Auftrag erst nach dem Ende des n¨achsten Stillstands eingeplant werden. 6.2.2.4 Konflikt-Begriff Beim Giffler&Thompson-Algorithmus spielt die Frage, ob ein Auftrag zu anderen Auftr¨agen auf einer Maschine in Konflikt steht, eine entscheidende Rolle. ¨ Ein Konflikt ist dabei im klassischen Fall die Uberschneidung der Prozesszeit, d. h., ein Konflikt liegt vor, falls mindestens ein anderer Auftrag zumindest teilweise zeitgleich auf derselben Maschine bearbeitet werden k¨onnte. In vorliegender Problemstellung beansprucht ein Auftrag, wenn er auf einer Maschine 16
Die Maschinenstillst¨ande sind so gelegt, dass die Zeit zwischen zwei Stillst¨anden immer reicht, um mindestens eine Operation eines Auftrags mit vorheriger Anlauf- und R¨ ustzeit bearbeiten zu k¨onnen.
6.2 2. Phase – das Priorit¨atsregelverfahren
179
ausgef¨ uhrt wird, nicht nur eine Prozesszeit, sondern er kann auch f¨ ur einen eventuell n¨otigen R¨ ustvorgang Kapazit¨aten der Maschine binden. Es wird deshalb im Folgenden zwischen der Belegungszeit und der Prozesszeit unterschieden. Die Belegungszeit bkm eines Auftrags k auf einer Maschine m wird definiert als die Summe der R¨ ust- und Prozesszeiten:17 bkm = rzkm + pkm Ist kein R¨ ustvorgang n¨otig, sind Belegungszeit und Prozesszeit identisch. Der vorl¨aufige Anfang der Belegungszeit des Auftrags k auf der Maschine m wird V aBkm bezeichnet, das vorl¨aufige Ende V eBkm . V ePkm und V eBkm sind immer identisch. Es muss aber zwischen V aPkm und V aBkm unterschieden werden. Der Sachverhalt ist in folgender Abbildung 6.8 graphisch veranschaulicht.
Abbildung 6.8: Belegungszeit vs. Prozesszeit mit und ohne R¨ ustvorgang Nachdem der Auftrag k ausgew¨ahlt wurde, ist zu u ufen, ob ein Konflikt ¨berpr¨ vorliegt. Im Gegensatz zum klassischen G&T-Algorithmus, bei dem der potentielle Anfang und das potentielle Ende unabh¨angig vom Vorg¨anger auf der Maschine ist, h¨angen diese beiden Werte nun vom Vorg¨anger ab: Je nachdem, wer der Vorg¨anger auf einer Maschine ist, muss zum Nachfolgeauftrag ger¨ ustet werden oder nicht. Die bisher berechneten Anfangs- und Endzeiten gehen vom 17
Der Begriff der Belegungszeit Bm einer Maschine m wurde bereits in Abschnitt 2.2.2 auf S. 18 definiert als die Zeitspanne vom Planungszeitpunkt t0 bis zum Abschluss der letzten Operation auf Maschine m. Sie setzt sich aus R¨ ust-, Bearbeitungs- und Leerzeiten zusammen. Bei der dortigen Definition geht es um die Erzeugung eines Auftragsbestandes. Im Gegensatz dazu bezieht sich die Belegungszeit an dieser Stelle nur auf einen Auftrag bzw. eine Operation bkm und beinhaltet daher nicht die Leerzeit vor oder nach der Belegung durch den Auftrag, sondern nur die evtl. n¨otige R¨ ustzeit rzkm und die eigentliche Bearbeitungszeit pkm .
180
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
bereits fest eingeplanten Vorg¨anger i aus. Nun sind sie unter der Annahme, dass k vor k bearbeitet wird, neu zu berechnen. Wenn sich dadurch das vorl¨aufige Ende von k verschiebt, liegt ein Konflikt vor. Im Folgenden liegt also ein Konflikt vor, wenn sich die in Abh¨angigkeit vom Vorg¨anger k aktualisierten Belegungszeiten von mindestens zwei konkurrierenden Auftr¨agen u ¨berlappen. In Abbildung 6.9 ist dazu ein Beispiel skizziert. Bei Durchf¨ uhrung des G&T-Verfahrens wurde k als derjenige Auftrag mit dem minimalen vorl¨aufigen Endzeitpunkt ermittelt. Neben ihm sind vier weitere Auftr¨age auf der betreffenden Maschine mas einplanbar. Die dargestellten Belegungszeiten der f¨ unf Auftr¨age, bestehend aus den R¨ ust- und Prozesszeiten, sind in Abh¨angigkeit von dem direkten Vorg¨anger i auf der Maschine mas angegeben. F¨ ur Auftrag k ist zu untersuchen, ob er zu anderen Auftr¨agen auf mas in Konflikt steht. Ein Konflikt kann nur entstehen, wenn vor der relevanten Maschine mas noch andere Auftr¨age im gleichen Verf¨ ugbarkeitszeitraum der Maschine warten.18 Zwischen Auftrag k = 5 und k besteht deshalb kein Konflikt. Es liegt – wie beim klassischen G&T-Algorithmus – immer ein Konflikt vor, sobald sich die die Prozesszeiten u ¨berlappen. Ist dies nicht der Fall, ist die Belegungszeit von k f¨ ur den potentiellen Zustand k vor k“ zu berechnen. ” Im gezeigten Beispiel steht k auf jeden Fall zu k = 2 in Konflikt, da sich die Prozesszeiten u ¨berschneiden. Ob zwischen k und k = 3 bzw. k = 4 ein Konflikt ustet werden besteht, h¨angt davon ab, ob von k zu k = 3 bzw. k = 4 umger¨ muss und wie lange dieser eventuelle R¨ ustvorgang dauert. Eine ausf¨ uhrliche Darstellung m¨oglicher Situationen erfolgt im Abschnitt 6.2.3.
Abbildung 6.9: Veranschaulichung m¨oglicher Konfliktf¨alle Dargestellt ist die Ausgangssituation an der Maschine mas, an uhestm¨oglich fertig wird. der k fr¨
18
Es muss daher immer der vorherige und folgende Stillstand u∗ und v ∗ auf der Maschine bestimmt werden.
6.2 2. Phase – das Priorit¨atsregelverfahren
181
6.2.3 Der Ablaufplan-Generator [G&T-ext] Im Folgenden wird der erweiterte Ablaufplan-Generator [G&T-ext] ausf¨ uhrlich beschrieben. Zu Beginn sind alle relevanten Informationen bekannt: Auf Auftragsseite die Anzahl Auftr¨age K sowie f¨ ur jeden Auftrag k sein Endmess- und Montagediodentypen (EDk , M Dk ), sein Fertigstellungstermine (Fk∗ ) und seine Maschinenfolgen mit der jeweiligen Anzahl Operationen (Ok ) und den jeweiligen R¨ ust-, Prozess- und Nachlaufzeiten (rzkm , pkm , nzkm ) und auf Maschinenseite die Stillst¨ande (StAmv , StEmv ) der Maschinen und ihre Anlaufzeiten (azm ).
Abbildung 6.10: Struktogramm [G&T-ext] Der f¨ ur die in der Fallstudie aus der Halbleiterindustrie beschriebenen Problemstellung erweiterte (extended) Giffler&Thompson-Algorithmus ist von der Struktur genau wie der klassische Algorithmus aufgebaut (vgl. Abbildung 6.10). Der Algorithmus beginnt mit der Initialisierung (Zeile 1). • Die vorl¨aufigen und tats¨achlichen Anfangs- und Endzeitpunkte der Bearbeitungs- und Prozesszeit aller Operationen sowie der Verf¨ ugbarkeitszeitpunkt von Auftrag k auf Maschine m werden Null gesetzt: akm = ekm = V aPkm = V ePkm = V aBkm = V eBkm = ekm = 0.
182
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
• Die Anzahl der vor Maschine m wartenden Auftr¨age wird auf 0 gesetzt: W Sm = 0. • Die Menge der Auftr¨age, die vor Maschine m warten, ist leer: AWS m = {}. • Der Zeitpunkt, bis zu dem die Maschine m belegt ist, ist 0: Bbm = 0. • Die Menge der zwischen den Stillst¨anden u∗ und v ∗ wartenden Auftr¨agen ist leer: AST = {}. • Die Anzahl fertiger Auftr¨age ist Null: Anzf A = 0. • Die Anzahl fertiger Operationen von Auftrag k ist 0: OSk = 0. • Die Anzahl an Konflikten ist 0: AnzKF = 0. • Die Menge der am Konflikt beteiligten Auftr¨age ist leer: AKF = {}. • Die Menge der einplanbaren Operationen ist leer: Oe = {}. Nach der Initialisierung muss die Menge einplanbarer Operationen Oe mit ihren fr¨ uhestm¨oglichen (vorl¨aufigen) Anfangszeitpunkten – V aPkm und V aBkm – und Endzeitpunkten – V ePkm = V aBkm – bestimmt werden. 19 Hierbei werden die Verf¨ ugbarkeit der Maschinen, deren Anlaufzeiten azm sowie die zu Beginn ucksichtigt.20 Damit ist bekannt, wie viele immer n¨otigen R¨ ustzeiten rzkm ber¨ und welche Auftr¨age vor einer Maschine m warten (W Sm bzw. AWS m ) (vgl. Zeile 2). Nach der Initialisierung und dem Aufstellen des Starttableaus ist eine Schleife zu durchlaufen, bis alle K Auftr¨age fertig eingeplant sind (vgl. Zeile 3: Solange bis Anzf A = K). Die Schleife besteht aus den folgenden drei Hauptpunkten: 1. Bestimme den einzuplanenden Auftrag k ∗ (Zeile 4 sowie das Struktogramm [Konflikt] in Zeile 5) und plane ihn ein (Zeile 6)! Bestimme zudem seinen Verf¨ ugbarkeitszeitpunkt ek∗ mas (Zeilen 7+8)! 2. Aktualisiere die vorl¨aufigen Anfangs- und Endzeitpunkt aller Auftr¨age k, die auch auf mas bearbeitet werden (Zeile 9)! Hierzu gibt es das Struktogramm [k, mas]. 3. Bestimme den vorl¨aufigen Anfangs- bzw. Endzeitpunkt von k ∗ auf seiner n¨achsten Maschine nm f¨ ur den Fall, dass der Auftrag k ∗ noch nicht fertig ist (Zeile 10)! Hierzu gibt es das Struktogramm [k ∗ , nm]. 19
Das genaue Vorgehen wird an dieser Stelle nicht ausf¨ uhrlich erl¨autert. Hinweis: Die Berechnung von V aB und V aP wird im Prinzip nicht ben¨otigt. Zwar wird V aP manchmal f¨ ur Abfragen verwendet, es k¨onnte aber auch mit V eP − p substituiert werden. F¨ ur Entscheidungen sind die Anfangszeitpunkte aber nicht relevant und werden nur f¨ ur eine leichtere Reproduzierbarkeit bestimmt. 20 Da zu Beginn kein anderer Auftrag vorher auf der entsprechenden Maschine war, ist in diesem Zustand nicht zu u ufen, ob die verf¨ ugbare Zeit bis zum n¨achsten Stillstand f¨ ur eine ¨berpr¨ Einplanung reicht und ein R¨ ustvorgang n¨otig ist.
6.2 2. Phase – das Priorit¨atsregelverfahren
183
Zu 1.: Gem¨aß Zeile 4 im Struktogramm [G&T-ext] ist diejenige Operation Ok mas ausgew¨ahlt worden, deren vorl¨aufiges Ende minimal ist (Auftrag k , Maschine mas). F¨ ur diesen Auftrag muss nun u uft werden, ob ein Konflikt im ¨berpr¨ Sinne der in Abschnitt 6.2.2.4 getroffenen Definition vorliegt. Hierzu ist das Struktogramm [Konflikt] (vgl. Abbildung 6.11) zu durchlaufen:
Abbildung 6.11: Struktogramm [Konflikt] Ein Konflikt kann nur entstehen, wenn vor der relevanten Maschine mas noch andere Auftr¨age im selben Verf¨ ugbarkeitszeitraum der Maschine warten. Zuerst muss also abgefragt werden, ob u ¨berhaupt noch andere Auftr¨age vor mas warten: W Smas > 1? (Zeile 1). Ist dies der Fall, wird k in AST aufgenommen. Das vorl¨aufige Ende von k befindet sich zwischen den Stillst¨anden u∗ und v ∗ (Zeile 3). Jeder andere Auftrag k, der vor mas wartet, endet nach k . So kann es sein, dass k ebenfalls zwischen den beiden Stillst¨anden u∗ und v ∗ auf mas bearbeitet werden kann oder erst nach v ∗ (Zeile 5). Im zweiten Fall stehen k und k auf keinen Fall im Konflikt zueinander. Im ersten Fall kann es sein, und k wird daher in die Menge AST aufgenommen. Es besteht tats¨achlich ein Konflikt zwischen dem Auftrag k und den Auftr¨agen der Menge AST , wenn ein
184
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
Auftrag k mit seiner Belegungszeit auf Maschine mas beginnen k¨onnte, bevor k zu Ende bearbeitet wurde (Zeile 10): V aBkmas <= V eBk mas , d. h., ustet werden muss, bzw. • ekvm − rzkmas < V ek mas ?, wenn von k nach k ger¨ ustvorgang von k nach k n¨otig ist. • ekvm < V ek mas ?, wenn kein R¨ Es ist also zun¨achst f¨ ur jeden Auftrag k ∈ AST der vorl¨aufige Anfangszeitpunkt V aBkmas von k auf mas zu bestimmen unter der Annahme, dass k vor k auf mas bearbeitet wird. Dazu muss u uft werden, ob zwischen k und ¨berpr¨ ustet werden muss. Dies ist der Fall, wenn es sich um unterschiedliche k ger¨ Endmessdiodentypen (Zeile 7) oder auf den Maschinen m ∈ MAG um unterschiedliche Montagediodentypen (Zeile 8 und 9) handelt. Es sind vier F¨alle denkbar, die in Zeile 10 durch die Buchstaben a-d gekennzeichnet sind: • Fall a: Es muss ger¨ ustet werden. Die Belegungszeit von k beginnt aber erst nach dem Ende von k auf mas. • Fall b: Es muss ger¨ ustet werden. Die Belegungszeit von k k¨onnte bereits beginnen, w¨ahrend k noch auf mas bearbeitet wird. Das kann bereits eine ¨ Uberlappung mit der Prozesszeit oder – wie graphisch dargestellt – nur der R¨ ustzeit von k sein. → Konflikt! • Fall c: Es muss nicht ger¨ ustet werden. Die Belegungszeit (entspricht hier der Prozesszeit) von k beginnt aber erst nach dem Ende von k auf mas. • Fall d: Es muss nicht ger¨ ustet werden. Die Belegungszeit von k k¨onnte bereits beginnen, w¨ahrend k noch auf mas bearbeitet wird. Hierbei ¨ handelt es sich um eine Uberlappung der Prozesszeiten. → Konflikt! Diese vier F¨alle sind in der Abbildung 6.12 auf der folgenden Seite graphisch veranschaulicht. In den unteren Abbildungen kommt es zu einer zeitlichen Verschiebung in der L¨ange des gr¨ unen Striches. Falls ein Konflikt besteht, wird k in die Menge der Konfliktauftr¨age AKF aufgenommen und der Z¨ahler AnzKF um 1 erh¨oht (Zeile 9). Gibt es mindestens einen Konflikt, d. h., ist AnzKF > 0 (Zeile 12), muss der endg¨ ultig einzuplanende Auftrag k ∗ gem¨aß der vorgegebenen Priorit¨atsregel ausgew¨ahlt werden; ansonsten gilt k ∗ = k (Zeile 13). Anschließend ist k ∗ aus der Menge AST zu entfernen (Zeile 14). Damit ist das Struktogramm [Konflikt] durchlaufen und gem¨aß Zeile 6 im Struktogramm [G&T-ext] wird k ∗ eingeplant. Anfangs- und Endzeitpunkt der Prozesszeit werden endg¨ ultig festgelegt (ak∗ mas = V aPk∗ mas und ek∗ mas = V ePk∗ mas ). Der Z¨ahler der bereits von k ∗ bearbeiteten Operationen Sk∗ wird um 1 erh¨oht.
6.2 2. Phase – das Priorit¨atsregelverfahren
185
Abbildung 6.12: Konfliktabfrage beim erweiterten G&T-Algorithmus (ohne Betrachtung von potentiellen Nachlaufzeiten) k ∗ ist aus den Mengen AWS mas und Oe zu l¨oschen. Bbmas wird auf den Endzeitpunkt von k ∗ aktualisiert, und die Warteschlangenl¨ange vor mas W Smas um 1 erniedrigt. Die Menge der Konfliktauftr¨age AKF ist zu leeren und die Anzahl Konflikte AnzKF auf Null zur¨ uckzusetzen. Wenn es sich bei der Maschine mas um eine Montagemaschine gehandelt hat, dann muss k ∗ erst noch eine Nachlaufzeit nzk∗ mas durchlaufen, bevor er auf der in seiner Maschinenfolge n¨achsten Maschine nm bearbeitet werden kann. Er ist ugbar (Zeilen 7+8). dann erst zum Zeitpunkt ek∗ mas verf¨ Zu 2.: In Zeile 9 im Struktogramm [G&T-ext] wird das Struktogramm [k, mas] aufgerufen, das im Folgenden besprochen wird (vgl. Abbildung 6.13 auf S. 186). Wenn vor Maschine mas zwischen den relevanten Stillst¨anden u∗ und v ∗ noch ussen andere Auftr¨age als der nun endg¨ ultig eingeplante k ∗ warten (Zeile 1), m¨ die vorl¨aufigen Anfangs- und Endzeitpunkte dieser Auftr¨age eventuell angepasst ustzeit potentiell werden. Sie k¨onnen nun erst nach k ∗ und einer evtl. n¨otigen R¨ eingeplant werden. F¨ ur diese Auftr¨age ist analog zum Struktogramm [Kon-
186
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
Abbildung 6.13: Struktogramm [k, mas] flikt] der vorl¨aufige Anfangs- und Endzeitpunkt hinsichtlich der Belegungszeit und der Prozesszeit zu bestimmen. Entscheidend ist auch hier, ob von k ∗ zu k ger¨ ustet werden muss oder nicht: Sind Endmessdiodentyp bzw. auf den Montagemaschinen Montagediodentyp von k und k ∗ identisch (Zeilen 3-5), dann muss nicht umger¨ ustet werden. Es k¨onnen wiederum die vier F¨alle a-d unterschieden werden (Zeile 6). Es reicht in diesem Fall nicht nur die Feststellung eines Konfliktes wie im Struktogramm [Konflikt] aus, sondern es m¨ ussen auch die neuen vorl¨aufigen Anfangs- und Endzeitpunkte der Belegungs- und der Prozesszeit dieser Konfliktauftr¨age berechnet werden (vgl. Abbildung 6.12, S. 185, analog f¨ ur k ∗ anstelle k ): • Fall a: Es muss ger¨ ustet werden. Die Belegungszeit von k beginnt aber erst nach dem Ende von k ∗ auf mas. Da die Zeit zwischen dem Ende von k ∗ auf mas und der Ankunft von k von der Vorg¨angermaschine vm reicht, um den R¨ ustvorgang durchzuf¨ uhren, kann k sofort auf mas bearbeitet werden, wenn es an die Maschine kommt. Dies entspricht dem Beginn der Prozesszeit. Der Anfang der Belegungszeit ist rzkmas Minuten davor. • Fall b: Es muss ger¨ ustet werden. Die Belegungszeit von k k¨onnte bereits beginnen, w¨ahrend k ∗ noch auf mas bearbeitet wird. Das kann bereits ¨ eine Uberlappung mit der Prozesszeit oder – wie graphisch dargestellt – nur der R¨ ustzeit von k sein. Da die Zeit zwischen dem Ende von k ∗ auf mas und der Ankunft von k von der Vorg¨angermaschine vm nicht reicht,
6.2 2. Phase – das Priorit¨atsregelverfahren
187
um den R¨ ustvorgang durchzuf¨ uhren, schließt sich der R¨ ustvorgang und damit der Beginn der Belegungszeit V aBkmas sofort an das Ende von k ∗ auf mas an. Die Prozesszeit V aPkmas beginnt erst rzkmas Minuten danach. • Fall c: Es muss nicht ger¨ ustet werden. Die Belegungszeit (entspricht hier der Prozesszeit) von k beginnt aber erst nach dem Ende von k ∗ auf mas. Die Bearbeitung von k kann also sofort bei seiner Ankunft bei mas beginnen. • Fall d: Es muss nicht ger¨ ustet werden. Die Belegungszeit von k k¨onnte bereits beginnen, w¨ahrend k ∗ noch auf mas bearbeitet wird. Hierbei han¨ delt es sich um eine Uberlappung der Prozesszeiten. Da Auftrag k vor ∗ dem Ende von k auf mas ankommt, kann k erst nach dem Ende von k ∗ beginnen. Das vorl¨aufige Ende von k berechnet sich, indem zum vorl¨aufigen Anfang der Prozesszeit die Prozesszeit dazu addiert wird (Zeile 8). Unter diesen neuen Gegebenheiten kann es sein, dass der Auftrag nun nicht mehr vor Beginn des uft werden (Zeile 9). Ist n¨achsten Stillstandes v ∗ fertig wird. Dies muss u ¨berpr¨ dies der Fall, kann der Auftrag k erst nach dem n¨achsten Stillstand eingeplant werden, so dass die vorl¨aufigen Anfangs- und Endzeitpunkte noch einmal entsprechend angepasst werden m¨ ussen (Zeile 10). Dieser sog. Fall h ist in folgender Abbildung 6.14 veranschaulicht. Abschließend wird AST wieder als leere Menge definiert (Zeile 11).
h VePk mas>StAmas v* pk mas
pk mas v*
VaPk mas
azmas
rzk mas
VaBk mas
t
VaPk mas
Abbildung 6.14: Stillstandskollision k, mas Zu 3.: Der endg¨ ultig eingeplante Auftrag k ∗ ist bei Bedarf an seiner nachfolgenden Maschine nm einzuplanen. Dazu wird im Struktogramm [G&T-ext] in Zeile 10 das Struktogramm [k ∗ , nm] aufgerufen (vgl. Abbildung 6.15 auf der folgenden Seite).
188
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
Abbildung 6.15: Struktogramm [k ∗ , nm] Ist der Auftrag k ∗ fertig (Zeile 1), so wird der Z¨ahler Anzf A um 1 erh¨oht. Ansonsten muss die nachfolgende Operation Ok∗ nm von Auftrag k ∗ auf der nachfolgenden Maschine nm eingeplant werden. Dazu wird k ∗ in die Menge der vor nm wartenden Auftr¨age AWS nm sowie die Menge der einzuplanenden ur die vor nm wartenden Operationen Oe aufgenommen und der Z¨ahler W Snm f¨
6.2 2. Phase – das Priorit¨atsregelverfahren
189
Auftr¨age um 1 erh¨oht (Zeile 2). Zun¨achst wird als erster Wert f¨ ur den vorl¨aufige ugbarkeit von Auftrag k ∗ nach seiner BearAnfangszeitpunkt V aPk∗ nm die Verf¨ beitung auf mas gesetzt. Der vorl¨aufige Endzeitpunkt V ePk∗ nm berechnet sich, in dem zum vorl¨aufigen Anfangszeitpunkt die Prozesszeit addiert wird (Zeile 3).
Abbildung 6.16: M¨ogliche Situationen an der n¨achsten Maschine nm bei Ankunft von Auftrag k ∗ Im n¨achsten Schritt muss sicher gestellt werden, dass diese Einplanung nicht mit einem Stillstand kollidiert. Wenn Auftrag k ∗ bei Maschine nm ankommt, kann sich diese Maschine in den in Abschnitt 6.2.2.3 und Abbildung 6.6 auf
190
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
S. 177f. beschriebenen Zust¨anden befinden. Daraus k¨onnen sechs f¨ ur das erweiterte Giffler&Thompson-Verfahren relevante F¨alle abgeleitet werden, die in Abbildung 6.16 auf S. 189 auf der linken Seite graphisch dargestellt sind. Auf der rechten Seite ist die Auswirkung auf die vorl¨aufigen Anfangs- und Endzeitpunkte ersichtlich. Prinzipiell sind im erster Schritt immer die relevanten ur die gilt (Zeile 4):21 Stillst¨ande u∗ und v ∗ zu bestimmen, f¨ StAnmu∗ ≤ V aPk∗ nm ≤ StAnmv∗ . Im n¨achsten Schritt wird in Zeile 5 gefragt, ob bei Ankunft von k ∗ auf nm etwas bearbeitet wird. Wenn ja, liegt Fall e vor. Wenn nein, ist zu u ufen, ob die ¨berpr¨ Maschine nm leer (Fall g) oder still (Fall f) steht (Zeile 6 links). Die weiteren Auswirkungen sowie Unterf¨alle werden im Folgenden ausf¨ uhrlicher dargestellt: • Fall e: nm ist verf¨ ugbar, aber belegt. Auf nm wird bei der Ankunft von Auftrag k ∗ Auftrag i bearbeitet. Dies impliziert, dass die Maschine zu diesem Zeitpunkt verf¨ ugbar ist. k ∗ kann erst nach dem Ende von i potentiell eingeplant werden. Entscheidend ist, ustet werden muss. Da eine Nachfolgemaschine nm ob von i nach k ∗ ger¨ nie eine Montagemaschine sein kann, sind nur die Endmessdiodentypen der beiden Auftr¨age zu vergleichen (Zeile 6 rechts). – Fall e1: Die beiden Auftr¨age haben identische Endmessdiodentypen. k ∗ kann sofort nach dem Ende von i auf nm eingeplant werden.22 – Fall e2: Die beiden Auftr¨age haben unterschiedliche Endmessdiodentypen. Der R¨ ustvorgang nach k ∗ kann erst nach dem Ende von i auf nm beginnen. • Fall f: nm steht still. Der Auftrag k ∗ kommt w¨ahrend eines Stillstands u∗ zur Maschine nm. Er kann vorl¨aufig erst nach Ende dieses Stillstands mit Ber¨ ucksichtigung der Anlauf- und R¨ ustzeit eingeplant werden. • Fall g: nm ist verf¨ ugbar und frei. Um unn¨otigen Rechenaufwand zu vermeiden, wird in diesem Fall in Zeile uck7 eine Abfrage eingef¨ uhrt, um zu u ufen, ob k ∗ auch ohne Ber¨ ¨berpr¨ sichtigung eventueller R¨ ustzeiten vor Beginn des n¨achsten Stillstandes v ∗ fertig gestellt werden k¨onnte (V ePk∗ nm > StAnmv∗ ?). Wenn die Zeit nicht reicht, muss k ∗ nach Stillstand v ∗ eingeplant werden (siehe Fall h). Im ustet werden anderen Fall, muss u uft werden, ob f¨ ur k ∗ auf nm ger¨ ¨berpr¨ muss. Es gibt zwei F¨alle, in denen ger¨ ustet werden muss – erstens, wenn 21 22
Die Bestimmung von u∗ und v ∗ ist hier im Struktogramm nicht n¨aher dargestellt. Die vorl¨aufigen Anfangszeitpunkte der Belegungszeit und der Prozesszeit sind identisch.
6.2 2. Phase – das Priorit¨atsregelverfahren
191
die Maschine nm seit dem letzten Stillstand u∗ noch nicht belegt war, und zweitens, wenn der Vorg¨anger i auf nm ein anderer Diodentyp wie k ∗ ist. Es ist also entscheidend, ob nach dem letzten Stillstand u∗ bereits ein anderer Auftrag auf nm bearbeitet wurde oder nicht (vgl. Abfrage Zeile 8: Bbnm < StEnmu∗ ?). Insgesamt sind folgende F¨alle zu unterscheiden: – Fall g1: Maschine nm ist verf¨ ugbar, frei und war seit dem letzten Stillstand noch nicht belegt, wenn Auftrag k ∗ ankommt. Das bedeutet, dass ustet werden muss. Entscheidie Maschine anlaufen und f¨ ur k ∗ ger¨ dend f¨ ur die potentielle Einplanung von k ∗ ist, ob die Zeit (Δ) zwischen der Ankunft von k ∗ bei nm und dem Ende des letzten Stillustzeit zu durchlaufen standes StEnmu∗ reicht, um die Anlauf- und R¨ (Zeilen 9+10). Je nachdem ist der vorl¨aufige Anfangszeitpunkt der Belegungs- und Prozesszeit zu bestimmen. ∗ Fall g11: Die Zeit reicht nicht. Die Belegungszeit beginnt nach der Anlaufzeit und die Prozesszeit nach der Anlauf- und R¨ ustzeit. ∗ Fall g12: Die Zeit reicht. V aPk∗ nm kann beibehalten werden und die Belegungszeit beginnt rzk∗ nm Minuten davor. – Fall g2: Maschine nm ist verf¨ ugbar, frei und war seit dem letzten Stillstand bereits mindestens einmal belegt, wenn Auftrag k ∗ ankommt. Es ist zu u ufen, ob ein R¨ ustvorgang vom Vorg¨anger i auf k ∗ n¨otig ist ¨berpr¨ (Zeile 9) und ob die Zeit zwischen dem Ende von i und der Ankunft ustvorgang durchzuf¨ uhren (Zeilen 10+11). von k ∗ reicht, um den R¨ ∗ Fall g21: ustvori und k ∗ haben denselben Endmessdiodentyp. Es ist kein R¨ gang n¨otig. Die Belegungs- und Prozesszeit kann sofort bei Ankunft von k ∗ auf nm beginnen. ∗ Fall g22: i und k ∗ haben unterschiedliche Endmessdiodentypen. Die Zeit reicht, um den R¨ ustvorgang durchzuf¨ uhren. V aPk∗ nm kann beibehalten werden und die Belegungszeit beginnt rzk∗ nm Minuten davor. ∗ Fall g23: i und k ∗ haben unterschiedliche Endmessdiodentypen. Die Zeit reicht nicht, um den R¨ ustvorgang durchzuf¨ uhren. Die Belegungszeit beginnt nach dem Belegungsende von i und die Prozesszeit nach der R¨ ustzeit.
192
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
• Fall h: Sobald k ∗ nicht direkt nach einem Stillstand auf nm eingeplant wird, ist nicht mehr gew¨ahrleistet, dass die Zeit bis zum n¨achsten Stillstand uhren. Daher muss im Falle, dass nm verf¨ ugbar und reicht, um k ∗ auszuf¨ belegt ist, u uft werden, ob das vorl¨aufige Ende von k ∗ bereits im ¨berpr¨ n¨achsten Stillstand liegt (Zeilen 14 rechts). Trifft dies zu, kann k ∗ erst nach Stillstand mit entsprechender Anlauf- und R¨ ustzeit potentiell eingeplant werden (Zeile 15). Ist nm ist zwar verf¨ ugbar und frei, die Zeit bis zum n¨achsten Stillstandsanfang reicht aber nicht (Zeile 7 links), dann ist k ∗ ebenfalls nach dem n¨achsten Stillstand einzuplanen (Feld ab Zeile 12). Damit stehen neben den vorl¨aufigen Anfangs- auch die vorl¨aufigen Endzeitpunkte (Zeile 16) der Prozess- und Belegungszeit f¨ ur k ∗ an nm fest. Nun wird die Schleife im Struktogramm [G&T-ext] von Neuem durchlaufen, falls noch nicht alle Auftr¨age erf¨ ullt sind.
6.2.4 L¨ osung der Fallstudie FS3 Zur Veranschaulichung wird in diesem Abschnitt der erweiterte Giffler&Thompson-Algorithmus zur L¨osung der Fallstudie FS3 angewendet. Die vier herzustellenden Auftr¨age sind mit den in der 1. Phase ausgew¨ahlten Maschinenfolgen herzustellen (vgl. Abschnitt 6.1.5 auf S. 169). Nach der Initialisierung durchl¨auft der Algorithmus die Schleife, bis alle Auftr¨age vollst¨andig eingeplant sind. Bei der Fallstudie FS3 m¨ ussen 4 Auftr¨age mit jeweils 3 Operationen und damit insgesamt 12 Operationen eingeplant werden. In Anlehnung an die tabellarische Darstellung des L¨osungsweges beim klassischen Giffler&Thompson-Algorithmus in Abschnitt 5.3.3 auf S. 128 ist der Ablauf der erweiterten Variante in Tabelle 6.5 auf S. 193 dargestellt und wird im Folgenden ausf¨ uhrlich erl¨autert. F¨ ur die Einplanung der ersten Operation sind f¨ ur jeden der vier Auftr¨age der vorl¨aufige Anfang sowie das vorl¨aufige Ende der Belegungs- bzw. Prozesszeit auf der jeweiligen Maschine mas zu bestimmen. Wie dies erfolgt, wird am Beispiel von Auftrag k = 1 dargestellt: Der Auftrag k = 1 muss zuerst auf Maschine m = 1 bearbeitet werden. Da es sich um die erste Operation handelt, ist ekvm = 0. Maschine m = 1 steht zu Beginn des Planungszeitraums still. Die Anlaufzeit betr¨agt 5 ZE, die R¨ ustzeit f¨ ur k = 1 auf dieser Maschine dauert 3 ZE, die Prozesszeit 7 ZE. Damit ist der vorl¨aufige Anfang der Belegungszeit in t = 5. Da der Auftrag als erster nach einem Stillstand auf der Maschine bearbeitet wird, muss ger¨ ustet werden. Die Prozesszeit beginnt damit vorl¨aufig nach der R¨ ustzeit in t = 5 + 3 = 8. Das vorl¨aufige Ende ist nach 7 ZE in t = 8 + 7 = 15.
6.2 2. Phase – das Priorit¨atsregelverfahren
1
2
3
4
5
6
7
Auftrag k EDk M Dk Maschine mas ekvm V aBkmas V aPkmas V eBkmas
1 1 1 1 0 5 8 15
2 1 1 1 0 5 8 15
3 2 1 1 0 5 8 15
RBZk RV n¨otig? Maschine mas ekvm V aBkmas V aPkmas V eBkmas
20 RV 1 0 25 28 35
17 RV 1 0 25 28 35
22 RV 1 0 25 28 35
kein Konflikt RV n¨otig? Maschine mas ekvm V aBkmas V aPkmas V eBkmas
RV 1 0 25 28 35
RV 1 0 25 28 35
RV 3 33 51 52 55
20 RV 1 0 35 35 42 X 20
17 RV 1 0 35 35 42
RV 1 0 25 28 35 X 22 RV 2 40 47 52 58 RV 2 40 47 52 58
RV 3 33 51 52 55 RV 3 33 51 52 55
RBZk RV n¨otig? Maschine mas ekvm V aBkmas V aPkmas V eBkmas RBZk RV n¨otig? Maschine mas ekvm V aBkmas V aPkmas V eBkmas
2 47 47 51 55
4 3 2 1 0 5 10 15 X 23 RV 2 18 22 28 33 X
RV 3 33 51 52 55
8
9
10
11
17 1 0 42 42 49 X
kein Konflikt RV n¨otig? Maschine mas ekvm V aBkmas V aPkmas V eBkmas
RV 2 47 47 51 55
3 54 52 54 58
RBZk RV n¨otig? Maschine mas ekvm V aBkmas V aPkmas V eBkmas
8 RV 2 47 58 62 66
RV 3 54 52 54 58
RV 2 40 47 52 58 X 10 RV 4 58 56 58 62
RBZk RV n¨otig?
RV
5 RV
RV
RV 3 33 51 52 55 X 10 RV
12
13
193 Auftrag k EDk M Dk Maschine mas ekvm V aBkmas V aPkmas V eBkmas
1 1 1 2 47 58 62 66
2 1 1 3 54 55 57 61 X
3 2 1 4 58 56 58 62
4 3 2 4 55 53 55 62
kein Konflikt RV n¨otig? Maschine mas ekvm V aBkmas V aPkmas V eBkmas
RV 2 47 58 62 66
RV 4 61 59 61 62
RV 4 58 56 58 62
RBZk RV n¨otig? Maschine mas ekvm V aBkmas V aPkmas V eBkmas
RV 2 47 58 62 66
1 RV 4 61 62 64 65
4 RV 4 58 62 64 68 X 4 RV
RV 4 55 53 55 62 X 7 RV
RBZk RV n¨otig? Maschine mas ekvm V aBkmas V aPkmas V eBkmas kein Konflikt RV n¨otig? Maschine mas ekvm V aBkmas V aPkmas V eBkmas kein Konflikt RV n¨otig? Maschine mas ekvm V aBkmas V aPkmas V eBkmas kein Konflikt RV n¨otig?
RV 2 47 58 62 66 X RV 3 66 66 66 70 X
1 RV 4 61 68 70 71 RV 4 61 68 70 71 RV 4 61 68 70 71 X RV
Tabelle 6.5: Ablauf des erweiterten Giffler&Thompson-Algorithmus mit Priorit¨atsregel LRBZ-FLT (Fallstudie FS3)
194
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
Nach dem Giffler&Thompson-Algorithmus muss derjenige Auftrag ausgew¨ahlt werden, dessen vorl¨aufiges Ende minimal ist. In der ersten Iteration enden alle vier Auftr¨age nach 15 ZE vorl¨aufig. Per Zufall wird der Auftrag k = 1 auf m = 1 ausgew¨ahlt.23 Nun wird u uft, ob ein Konflikt besteht, d. h., ob ein anderer Auftrag eben¨berpr¨ falls zumindest teilweise zeitgleich mit k = 1 auf m = 1 bearbeitet werden k¨onnte. Hier stehen alle anderen drei Auftr¨age zum ersten Auftrag in Konflikt. Der Konflikt wird hier mit Hilfe der Priorit¨atsregel L¨angste Restbearbeitungszeit“ ” gel¨ost. Hierzu wird f¨ ur jeden der Konfliktauftr¨age die Restbearbeitungszeit bestimmt, d. h., die Summe der noch zu durchlaufenden Prozesszeiten und der evtl. noch zu durchlaufenden Nachlaufzeit (in der Tabelle in der Zeile RBZ ersichtlich), und daraus derjenige Auftrag mit der l¨angsten Restbearbeitungszeit gew¨ahlt.24 In diesem Fall handelt es sich um Auftrag k = 4, dessen Restbearbeitungszeit sich auf RBZ4 = 23 ZE bel¨auft. Daher wird dieser Auftrag nun endg¨ ultig eingeplant. F¨ ur die Einplanung der zweiten Operation m¨ ussen die vorl¨aufigen Anfangs- und Endzeitpunkte aktualisiert werden. Die Auftr¨age k = 1, k = 2 und k = 3 k¨onnen nun erst nach dem Ende von Auftrag k = 4 auf Maschine m = 1 bearbeitet werden. Da es sich bei Maschine m = 1 um eine Montagemaschine handelt, sind in Bezug auf n¨otige R¨ ustvorg¨ange die Montagediodentypen entscheidend. Die Auftr¨age k = 1, k = 2 und k = 3 haben den Montagediodentyp 1 (siehe Zeile 2 der Tabelle). Der eingeplante Auftrag k = 4 ist aber vom Montagediodentyp 2, so dass bei einem Wechsel von k = 4 zu einem der anderen Auftr¨age k = 1, 2, 3 umger¨ ustet werden muss. Die anderen Auftr¨age k¨onnten also jeweils fr¨ uhestens nach 3 ZE R¨ ustzeit in t = 15 + 3 = 18 auf m = 1 bearbeitet werden. Da der n¨achste Stillstand aber bereits in t = 15 beginnt, k¨onnen die drei Auftr¨age erst nach dem Ende des Stillstands und der n¨otigen Anlaufzeit in t = 20 + 5 die Maschine belegen sowie nach dem R¨ ustvorgang in t = 25 + 3 auf der Maschine bearbeitet werden. Da Auftrag k = 4 noch nicht fertig gestellt ist, muss er seinerseits auf seiner Nachfolgermaschine vorl¨aufig eingeplant werden. Nachdem er seine Nachlaufzeit von 3 ZE durchlaufen hat, kommt er bei Maschine m = 2 in t = 18 an. Da die Maschine zu diesem Zeitpunkt still steht und der Stillstand erst in t = 20 endet, kann die Belegungszeit erst nach Beendigung der Anlaufzeit (2 ZE) in t = 20 + 2 = 22 beginnen. Der Auftrag muss noch weitere 6 ZE aufgrund des R¨ ustvorganges bis zum Beginn seiner vorl¨aufigen Prozesszeit in t = 28 warten. 23 24
In der Tabelle 6.5 durch Fettdruck gekennzeichnet. In der Tabelle 6.5 durch das Kreuz (X) gekennzeichnet.
6.2 2. Phase – das Priorit¨atsregelverfahren
195
Da noch nicht alle Auftr¨age eingeplant sind, beginnt die Schleife von vorne. Im n¨achsten Schritt wird wiederum Auftrag k = 4 ausgew¨ahlt, da dessen vorl¨aufiges Ende minimal ist und kein Konflikt besteht. Wiederum werden die vorl¨aufigen Anfangs- und Endzeitpunkte der Nachfolgeoperation von Auftrag k = 4 bestimmt. Der Algorithmus f¨ahrt in der bis dahin skizzierten Art fort, bis alle Auftr¨age vollst¨andig eingeplant sind. Die genaue Einplanung kann anhand der folgenden Tabelle 6.6 und Abbildung 6.17 auf S. 196 nachvollzogen werden.25 Alle Auftr¨age sind nach 71 ZE fertig. Es werden alle vier Auftr¨age zwar versp¨atet, aber innerhalb des Planungshorizontes fertig gestellt. Dazu sind zehn R¨ ustvorg¨ange n¨otig, die insgesamt 32 ZE dauern. k 1 2 3 4
ak1 35 42 28 10
ek1 ak2 42 62 49 35 52 15 28
ek2 ak3 66 66 57 58 33 52
ek3 ak4 70 61 70 64 55 55
ek4 71 68 62
nzAk nzEk 42 47 49 54 35 40 15 18
Tabelle 6.6: Anfangs- und Endzeiten f¨ ur FS3 bei Anwendung von [G&T-ext] mit der Priorit¨atsregel LRBZ-FLT Wird die Fallstudie FS3 alternativ mit den anderen ausgew¨ahlten Priorit¨atsregeln berechnet, ergeben sich die in Tabelle 6.7 dargestellten Ergebnisse. AnzF nT gibt dabei die Anzahl der Auftr¨age an, deren Fertigstellungszeitpunkt nach dem Ende des Planungszeitraums T liegt. FCFS FLT KOZ LRBZ RZ SZ SZ/On SZ/RBZ WSLnM Zufall ZRDLZ ZRDLZ/On
ZF
Z
T A+
T A−
AnzT A+
AnzT A−
RZ
AnzRV
AnzF nT
1,67 1,74 1,57 1,64 1,67 1,77 1,62 1,68 1,83 8,92 1,77 1,67
79 77 72 71 79 77 73 74 78 87 77 74
78 88 76 86 78 91 82 87 98 95 91 86
0 0 0 0 0 0 0 0 0 0 0 0
4 4 4 4 4 4 4 4 4 4 4 4
0 0 0 0 0 0 0 0 0 0 0 0
35 37 32 32 35 37 34 34 37 38 37 34
11 12 10 10 11 12 11 11 12 12 12 11
0 0 0 0 0 0 0 0 0 1 0 0
Tabelle 6.7: Ergebnisse des erweiterten Giffler&Thompson-Verfahrens bei Anwendung verschiedener Priorit¨atsregeln f¨ ur die Fallstudie FS3 mit Maschinenfolgen gem¨aß GGLP-Auswahl 25
nzAk (nzEk ) gibt den Anfang (das Ende) der Nachlaufzeit von Auftrag k an.
196
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
Abbildung 6.17: Gantt-Diagramm f¨ ur die Fallstudie FS3 bei Anwendung von [G&T-ext] mit der Priorit¨atsregel LRBZ-FLT (Maschinenfolgen gem¨aß GGLP-Auswahl) Bei der optimalen L¨osung mittels GGLP-Komplett ist der Zielfunktionswert 1,29 und die Zykluszeit Z = 65. Jeder Auftrag ist versp¨atet (T A+ = 55) und es sind 9 R¨ ustvorg¨ange n¨otig (RZ = 29).26
6.3 2. Phase – der Genetische Algorithmus Alternativ zu dem im vorigen Abschnitt beschriebenen Priorit¨atsregelverfahren wird in der 2. Phase auch ein Genetischer Algorithmus angewendet werden. Wie beim Priorit¨atsregelverfahren fließen auch in diesen die in der 1. Phase bestimmten Maschinenfolgen als gegeben in den Algorithmus ein. In den folgenden Abschnitten wird beschrieben, wie der Genetische Algorithmus f¨ ur die Anwendung auf die Fallstudie ausgestaltet wird. Im Folgenden werden einzelne noch nicht endg¨ ultig festgelegte Komponenten ebenfalls als Parameter bezeichnet. 26
Mit den gem¨aß GGLP-Auswahl ermittelten Maschinenfolgen kann bestenfalls der Zielfunktionswert ZF = 1, 44 bei einer Zykluszeit von 70 ZE mit vier versp¨ateten Auftr¨agen (T A+ = 60 ZE) erzielt werden. Es sind 12 R¨ ustvorg¨ange (RZ = 37 ZE) durchzuf¨ uhren. Das entsprechende Gantt-Diagramm ist im Anhang ersichtlich (vgl. A.9 auf S. 259).
6.3 2. Phase – der Genetische Algorithmus
197
6.3.1 Problemspezifische Ausgestaltung des Genetischen Algorithmus F¨ ur die betrachtete Problemstellung ist ein geeigneter Genetischer Algorithmus zu entwerfen. Ein Teil der Parameter wird direkt festgelegt. Die restlichen Parameter sind noch mit Hilfe von einer Simulationsanalyse zu bestimmen. Dazu werden im Folgenden Mengen definiert, die diejenigen Varianten der Parameter enthalten, die auf ihre Eignung gepr¨ uft werden sollen. Deren Elemente stellen somit die einzelnen Parametereinstellungen dar. Welche Parameter im Einzelnen betrachtet werden, wird im Folgenden in Anlehnung an die Reihenfolge in Abbildung 5.12 auf S. 136 beschrieben. 0) Kodierung Wie in Kapitel 5.4 bereits vorab vermerkt, wird als L¨osungskodierung die Permutationskodierung mit Wiederholung festgelegt. Die Anzahl Gene eines Chromosoms h¨angen somit von der Anzahl Operationen ab, die durch die ausgew¨ahlte Maschinenfolge festgelegt wird.27 1) Ausgangspopulation Die Individuen der Ausgangspopulation werden zuf¨allig erzeugt. Hinsichtlich der Populationsgr¨oße werden vier Varianten untersucht. Die Populationsgr¨oße I betr¨agt 50, 120, 200 oder 500 Individuen: POP = {50; 120; 200; 500} 2) L¨osungsevaluation F¨ ur die Bewertung der Individuen muss das Chromosom decodiert werden. Dazu wird ein Verfahren entwickelt, das die problemspezifischen Eigenschaften des Produktionsprozesses ber¨ ucksichtigt – der AblaufplanGenerator [Decod-ext]. Dessen genaue Ausgestaltung wird in Abschnitt 6.3.2 ausf¨ uhrlich beschrieben. Die Beurteilung der G¨ ute des erzeugten Ablaufplans erfolgt wie im Rahmen des Priorit¨atsregelverfahrens28 mit dem Zielfunktionswert ZF = S >T + GZ + GT A+ . Die Fitnesswerte der Individuen werden rangbasiert linear zugewiesen. Es werden zwei verschiedene Varianten des Selektionsdrucks getestet: SD = {1, 2; 1, 95} 27 28
Gem¨aß GGLP-Auswahl – siehe Abschnitt 6.1, S. 164ff. Vgl. Abschnitt 6.2.1, S. 173f..
198
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
3) Abbruchkriterium Es wird eine Vielzahl von Abbruchkriterien getestet, die sich aber alle auf zwei Strategien zur¨ uckf¨ uhren lassen. Im ersten Fall wird der Genetische Algorithmus abgebrochen, nachdem er eine bestimmten Anzahl G an Generationen durchlaufen hat. Hierbei werden 25, 100, 300, 400 und 1000 Generationsdurchl¨aufe getestet. Im zweiten Fall endet der Algorithmus, wenn mehr als eine bestimmte Anzahl GOV an Generationen – hier 10, 25 oder 50 – keine Verbesserung des Zielfunktionswertes erreicht werden konnte. Zudem werden diese beiden Abbruchkriterien miteinander kombiniert (BG) mit den Parameterwerten G-GOV 50-5, 50-10, 100-25, 100-50, 300-100. AB = {BG50-5; BG50-10; BG100-25; BG100-50; BG300-100; GOV10; GOV25; GOV50; G25; G100; G300; G400; G1000} 4) Selektion zur Reproduktion Zur Selektion von geeigneten Individuen aus der aktuellen Generation wird zun¨achst ein Mating-Pool erzeugt. Zur Generierung des MatingPools werden die Turnier- und die Zeiger-Selektion eingesetzt. Im Falle der Turnier-Selektion treten entweder 3 oder 5 Individuen gegeneinander an. Die Menge der eingesetzten Selektionsverfahren beinhaltet damit drei Elemente: SV = {3-Turnier; 5-Turnier; Pointer} In einem zweiten Schritt werden aus dem generierten Mating-Pool zuf¨allig jeweils zwei Individuen als Eltern ausgew¨ahlt. Da diese aus dem MatingPool entfernt werden, h¨angt dessen Gr¨oße davon ab, ob ein Elternpaar nur ein Kind (Single) oder zwei Kinder (Double) erzeugt: AN ZKI = {Single; Double} 5) Crossover Es werden zwei Crossover-Verfahren getestet – das Position Based Crossover (PBX) und das General Order Based Crossover (GOX): CV = {PBX; GOX} Die Anzahl der zu vertauschenden Gene im Falle des PBX wird ebenso wie die L¨ange des auszutauschenden Substrings im Falle des GOX zuf¨allig bestimmt. Sie liegt zwischen 1/3 und 1/2 der L¨ange eines Chromosoms. Als Crossover-Wahrscheinlichkeit pC werden die Werte 60, 95 und 100% getestet: PC = {60; 95; 100}
6.3 2. Phase – der Genetische Algorithmus
199
6) Mutation Es wird getestet, ob in diesem Problemfall der Genetische Algorithmus mit oder ohne (ohneM) Mutation besser ist. Als Mutations-Variante werden Random Mutation (RM) und Order Based Mutation (OBM) sowie eine Kombination aus beiden (Both Mutation, BM) betrachtet, bei der in 90% der F¨alle OBM durchgef¨ uhrt wird. Eine Mutation neuer Individuen soll mit der Mutations-Wahrscheinlichkeit pM von 3 und 10% erfolgen. Damit ergeben sich folgende sieben Varianten: GAM = {BM3; BM10; OBM3; OBM10; ohneM; RM3; RM10} 7) Bewertung vgl. 2) 8) Evolutionsstrategie Bei der Frage, welche Individuen die n¨achste Generation bilden d¨ urfen, werden zwei Evolutionsstrategien analysiert. Im ersten Fall ersetzen die Kinder die Eltern unabh¨angig von ihrer Fitness komplett (Replacement, R). Dabei kann eine Elitismus-Strategie verfolgt werden, d. h., von den aktuellen Generation wird sofort eine vorgegebene Anzahl an Individuen in die Nachfolgegeneration kopiert. Hier werden die Elitismus-Anzahlen 0, 2, 6 und 12 getestet (R0, R2, R6, R12). Im zweiten Fall findet ein ¨ Wettbewerb zwischen allen Eltern und Kindern statt, der ein Uberleben der Fittesten sicherstellt (Competition, C).29 Insgesamt werden folglich f¨ unf Varianten betrachtet: ES = {R0; R2; R6; R12; C}
6.3.2 Der Ablaufplan-Generator [Decod-ext] Jedes Chromosom stellt einen Ablaufplan dar. Die Informationen, die in einem Chromosom enthalten sind, m¨ ussen mit Hilfe eines Ablaufplan-Generators dekodiert werden. Im Folgenden wird beschrieben, wie der in Abschnitt 5.4 beschriebene Generator [Dekod] erweitert werden muss, dass er aus einem Chromosom unter Ber¨ ucksichtigung der Maschinenstillst¨ande, Anlauf- und R¨ ustzeiten einen Ablaufplan erzeugt. Das in Abbildung 6.18 auf S. 200 dargestellte Struktogramm entspricht sog. Ablaufplan-Generator [Decod-ext], der im Genetischen Algorithmus implementiert wurde. 29
Hinweis: Die Abk¨ urzung C ist nicht mit dem Symbol f¨ ur die Anzahl herzustellender Chargen zu verwechseln.
200
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
Abbildung 6.18: Struktogramm Ablaufplan-Generator [Decod-ext] Nach der Initialisierung (Zeile 1) wird die Schleife solange durchlaufen, bis alle Gene des Chromosoms der Reihe nach abgearbeitet sind (Zeile 2). Jedes Gen enth¨alt die Informationen u ¨ber den jeweiligen Auftrag k ∗ (Zeile 3). Aufgrund der Permutationscodierung mit Wiederholung kann ermittelt werden, die wie vielte Operation von k ∗ nun zu bearbeiten ist (Zeile 4). Dadurch kann bestimmt werden, auf welcher Maschine mas diese zu bearbeiten ist (Zeile 4) und wer der
6.3 2. Phase – der Genetische Algorithmus
201
Vorg¨angerauftrag i auf mas ist. Es ist der Reihe nach bekannt, ob und, wenn ja, auf welcher Vorg¨angermaschine k ∗ fertig bearbeitet wurde (ek∗ vm ), und wann die Maschine mas verf¨ ugbar ist (Bbmas ) (Zeile 5). Es stellt sich die Frage, ob die Maschine oder der Auftrag fr¨ uher verf¨ ugbar ist (Zeile 6). Ist der Auftrag sp¨ater verf¨ ugbar als die Maschine, entsteht m¨oglicherweise eine Leerzeit. Umgekehrt muss der Auftrag auf jeden Fall vor der Maschine warten. Es wird zun¨achst der Fall betrachtet, dass der Auftrag sp¨ater verf¨ ugbar ist. Es muss im ersten Schritt das relevante Pausensegment bestimmt werden (Zeile 8). Wenn die Maschine in dem jeweiligen Pausensegment bereits belegt war, h¨angt ein R¨ ustvorgang davon ab, ob i und k ∗ unterschiedliche Endmessdiodentypen und bei Montagemaschinen unterschiedliche Montagediodentypen haben (Zeilen 10-12). Muss nicht ger¨ ustet werden, kann der Auftrag sofort eingelastet werden, wenn er bei der Maschine ankommt. Muss ger¨ ustet werden, ist zu u ufen, ob die Leerzeit f¨ ur den R¨ ustvorgang reicht (Zeile 13). Wenn ¨berpr¨ nicht, verschiebt sich die vorl¨aufige Anfangszeit um die zeitliche Differenz. War die Maschine im Pausensegment noch nicht belegt, hat der Auftrag k ∗ keinen Vorg¨anger auf mas. Es muss nur u uft werden, ob die Zeit zwischen dem ¨berpr¨ Ende des Stillstands und der Ankunft des Auftrags f¨ ur die Anlauf- und R¨ ustzeit reicht (Zeilen 10-11). Wenn nicht, verz¨ogert sich die vorl¨aufige Anfangszeit wieder um die Differenz. Ist dagegen die Maschine sp¨ater verf¨ ugbar (Zeile 7), wartet der Auftrag vor der Maschine. Die Maschine ist mit einer einzigen Ausnahme belegt. Bei der Ausnahme handelt es sich um den ersten Stillstand: Jede Maschine steht zu Beginn still, manche laufen gleich an, andere stehen noch l¨anger still. Kommt der Auftrag k ∗ w¨ahrend des ersten Stillstandes u = 1 bei der Maschine mas an, kann er erst nach dessen Ende sowie der Anlauf- und R¨ ustzeit eingeplant werden. Ansonsten ist zu u ufen, ob vom Vorg¨angerauftrag i zu Auftrag k ∗ ¨berpr¨ ger¨ ustet werden muss. Dabei spielen wieder die Endmess- und bei Montagemaschinen die Montagediodentypen eine Rolle (Zeilen 10-12). Entweder kann der Auftrag sofort im Anschluss an seinen Vorg¨anger bearbeitet werden oder der vorl¨aufige Anfang verschiebt sich um die R¨ ustzeit. Ist der vorl¨aufige Anfangszeitpunkt bekannt, kann durch Addition der Prozesszeit der vorl¨aufige Endzeitpunkt berechnet werden (Zeile 15). Es stellt sich die Frage, ob die Bearbeitung des Auftrages noch rechtzeitig vor dem n¨achsten Stillstandsanfang beendet werden kann (Zeile 16). Da die Bearbeitung nicht unterbrochen werden darf, kann der Auftrag im Bedarfsfall erst nach dem n¨achsten Stillstand eingeplant werden. Damit sind der endg¨ ultige Anfangs- und Endzeitpunkt bekannt und der Auftrag kann fest eingeplant werden. Bbmas wird aktualisiert (Zeilen 17+18).
202
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
Da nach dem Montieren eine Nachlaufzeit zu ber¨ ucksichtigen ist, ist der Auftrag nicht direkt zu seinem Endzeitpunkt auf der Maschine zur weiteren Bearbeitung verf¨ ugbar. Der Endzeitpunkt des Auftrags wird in diesem Falle um die Nachugbarkeit des Auftrages laufzeit nzk∗ mas erh¨oht, so dass ek∗ mas wieder die Verf¨ zum Ausdruck bringt (Zeilen 19+20). Indem die Anzahl der betrachteten Gene um eins erh¨oht wird, wird im n¨achsten Schritt das n¨achste Gen (Zeile 21). Der Prozess wird solange wiederholt, bis alle Operationen eingeplant sind. Dies soll an einem konkreten Chromosom exemplarisch veranschaulicht werden. Hierzu wird ein Chromosom f¨ ur die Fallstudie FS3 betrachtet. Zur Erinnerung – beim FS3 sind 4 Auftr¨age zu erf¨ ullen, deren Maschinenfolgen gem¨aß GGLP-Auswahl festgelegt wurden. Zur Herstellung der ersten drei Auftr¨age sind jeweils drei Arbeitsg¨ange und f¨ ur den vierten Auftrag vier Arbeitsg¨ange n¨otig. Insgesamt sind 13 Operationen abzuarbeiten. Wird die Permutationskodierung mit Wiederholungen nach Bierwirth angewendet, setzt sich das Chromosom aus 13 Genen zusammen, die Werte im Bereich von 1-4 annehmen. Ein m¨ogliches Chromosom ist in folgender Abbildung 6.19 dargestellt:
Abbildung 6.19: Dekodierung des betrachteten Chromosoms (Fallstudie FS3) Die Gennummer gibt den jeweiligen Auftrag k an, dem u ¨ber den Operationsz¨ahler OSk die entsprechende Maschine m zugeordnet werden kann. Damit k¨onnen die Auftragsfolgen der einzelnen Maschinen ermittelt werden. Sie sind in der folgenden Tabelle 6.8 dargestellt.
m=1 m=2 m=3 m=4
[1]m [2]m [3]m [4]m 3 4 2 1 4 3 1 2 4 1 3 2 4 -
Tabelle 6.8: Auftragsfolgen [k ] des betrachteten Chromosoms (Fallstudie FS3)
6.3 2. Phase – der Genetische Algorithmus
203
Der Ablauf zur Erzeugung des dazugeh¨origen Ablaufplans mit Hilfe des in Abbildung 6.18 auf S. 200 dargestellten Ablaufplan-Generators [Decod-ext] kann anhand der folgenden Tabelle 6.9 nachvollzogen werden: Gennr
1
2
3
4
5
6
7
8
9
10
11
12
13
3 0 2 1
4 0 3 2
4 38 3 2
3 20 2 1
2 0 1 1
2 50 1 1
3 69 2 1
4 58 3 2
1 0 1 1
1 57 1 1
1 77 1 1
2 57 1 1
4 61 3 2
Auftrag k∗ ek∗ vm EDk∗ M Dk ∗ Maschine mas Bbmas azmas u∗ v∗
1 1 2 2 1 3 4 3 1 2 3 4 4 0 15 0 58 35 0 0 57 45 69 61 73 76 5 5 2 2 5 1 4 1 5 2 1 4 4 0-0 0-0 0-20 40-45 15-20 0-50 0-45 0-50 15-20 40-45 0-50 0-45 0-45 15-20 15-20 40-45 -
pk∗ mas rzk∗ mas
7 3
5 5
5 6
6 5
7 3
4 2
4 2
3 1
7 3
4 4
4 2
1 2
7 2
Vorg¨ anger i EDi M Di
-
3 2 1
-
4 3 2
4 3 2
-
-
2 1 1
2 1 1
3 2 1
4 3 2
3 2 1
2 1 1
8 15 20
30 35 38
53 58 58
63 69 69
38 45 50
53 57 57
69 73 73
58 61 61
45 52 57
73 77 77
77 81 81
75 76 76
78 85 85
ak∗ mas ek∗ mas ek∗ mas
Tabelle 6.9: Iteratives Vorgehen zur Generierung des zum betrachteten Chromosom korrenspondierenden Ablaufplans (Fallstudie FS3) Es ergibt sich eine Zykluszeit von 85 ZE. Es m¨ ussen 12 R¨ ustvorg¨ange durchgef¨ uhrt, die eine gesamte R¨ ustzeit von 37 ZE ben¨otigen.30 Die gesamte Termin¨ uberschreitung betr¨agt 130 ZE.31 Es handelt sich um einen schlechten Ablaufplan mit dem Zielfunktionswert 7,18 Zielfunktionseinheiten.32 Er ist graphisch noch auf der n¨achsten Seite in Abbildung 6.20 als Gantt-Diagramm veranschaulicht. 30
M1: 3 St¨ uck – 11 ZE, M2: 3 St¨ uck – 15 ZE, M3: 3 St¨ uck – 5 ZE, M4: 3 St¨ uck – 6 ZE. A1: 41 ZE, A2: 26 ZE, A3: 23 ZE, A4: 40 ZE. Fk −Fk∗ 32 = 5 + 1, 0625 + ZF = S >T + GZ + GT A+ = max{0; Z − T} + ZT + K k=1 max 0; 2·T−Fk∗ 1, 118 = 7, 1805. 31
204
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
Abbildung 6.20: Gantt-Diagramm des zum betrachteten Chromosom korrespondierenden Ablaufplans (Fallstudie FS3)
6.3.3 L¨ osung der Fallstudie FS3 Abschließend wird die Fallstudie FS3 mit Hilfe des Genetischen Algorithmus gel¨ost. Dazu werden folgende Parametereinstellungen gew¨ahlt: Kodierung: Populationsgr¨oße I: Ausgangspopulation: Selektion Mating-Pool: Selektion Elternpaare: Anzahl Kinder: Crossover: Crossover-Wahrscheinlichkeit: Mutation: Mutations-Wahrscheinlichkeit: Evolutionsstrategie: Abbruchkriterium:
Permutationskodierung mit Wiederholung 12 zuf¨allig erzeugt Turnier-Selektion mit 3 Teilnehmern stochastische Selektion Single PBX pC = 95% RM (pM V = 10%) pM = 10% R BG15-5
6.3 2. Phase – der Genetische Algorithmus
205
In der folgenden Abbildung 6.21 ist die Entwicklung der Zielfunktionswerte im Verlauf der Generationen dargestellt. Der durchschnittliche Zielfunktionswert ZF sowie die Standardabweichung σ nehmen, mit Ausnahme von Generation 7, kontinuierlich ab. Der jeweils beste Zielfunktionswert ZF ∗ ist bereits zu Beginn mit 1,60598 nahe an dem bei den gegebenen Maschinenfolgen minimal zu erreichenden Wert von 1,44318. Er verkleinert sich bis zu Generation 4 auf den Wert 1,56828. Da sich dieser Wert in den folgenden f¨ unf Generationen nicht weiter verringert, bricht der genetische Algorithmus in der neunten Generation ab. 9
ZF
s V
ZF*
8
Zielfunktionswert
7 6 5 4 3 2 1,443 1 0
1
2
3
4
5
6
7
8
9
ZF
8,56635
5,06961
3,6243
1,75149
1,70635
1,58776
2,12963
1,56983
1,5898
ZF*
1,60598
1,6126
1,57093
1,56828
1,56828
1,56828
1,56828
1,56828
1,56828
sV
5,5517
5,5491
3,8738
0,3762
0,3654
0,0204
1,8412
0,0013
0,0706
Generation
Abbildung 6.21: Entwicklung der Zielfunktionswerte im Verlauf der Generationen (Fallstudie FS3) Ein Chromosom, das den besten Zielfunktionswert aufweist, sieht folgendermaßen aus (vgl. Abbildung 6.22):
Abbildung 6.22: Ein Chromosom mit bestem Zielfunktionswert ZF ∗ (Fallstudie FS3) Der dazugeh¨orige Ablaufplan in folgendem Gantt-Diagramm abgebildet (vgl. Abbildung 6.23 auf der n¨achsten Seite): Alle Auftr¨age werden innerhalb des Planungshorizontes fertig gestellt. Es sind dazu 10 R¨ ustvorg¨ange n¨otig, die insgesamt 32 ZE in Anspruch nehmen. Jeder Auftrag wird versp¨atet fertig gestellt, die gesamt Termin¨ uberschreitung betr¨agt 76 ZE.
206
6 Zweiphasen-Heuristik f¨ ur die Fallstudie aus der Halbleiterindustrie
Abbildung 6.23: Gantt-Diagramm des zum obigen Chromosom mit bestem Zielfunktionswert ZF ∗ korrespondierenden Ablaufplans (Fallstudie FS3)
7 Evaluation In diesem Kapitel erfolgt eine Evaluation der in Kapitel 6 entwickelten L¨osungsverfahren. Die ausf¨ uhrliche Betrachtung von Ablaufplanungsproblemen und insbesondere des Job-Shop-Scheduling Problems in der Literatur hat zur Entwicklung von sog. Benchmark-Problemen unterschiedlicher Schwierigkeitsgrade gef¨ uhrt, in denen umfangreiche und allgemein anerkannte Testdatens¨atze zusammengefasst sind, die zum Vergleich der Effizienz verschiedener L¨osungsver¨ fahren herangezogen werden. Ein Uberblick u ¨ber die in der Literatur h¨aufig verwendeten Benchmark-Probleme findet sich u. a. in Demirkol et al.(1996) und Jain/Meeran(1999). Dabei spielt insbesondere das 1963 von Fisher und ur die betrachtete Thompson beschriebene 10 × 10-Problem eine große Rolle.1 F¨ Problemstellung in der Fallstudie FSH existiert im Gegensatz zum simplifizierten Job-Shop-Problem allerdings kein Benchmark. Zun¨achst werden deshalb in Abschnitt 7.1 die Realit¨at abbildende Daten generiert und geeignete Szenarien definiert. Auf Basis dieser erfolgt in Abschnitt 7.2 eine Untersuchung der 1. Phase zur Auswahl der Maschinenfolgen der jeweiligen Auftr¨age. Um f¨ ur die Problemstellung geeignete Priorit¨atsregeln bzw. Parametereinstellungen des Genetischen Algorithmus zu bestimmen, werden in Abschnitt 7.3 zahlreiche Simulationsrechnungen durchgef¨ uhrt. Die Ergebnisse der beiden Verfahren werden abschließend in Abschnitt 7.4 miteinander verglichen.
7.1 Bestimmung und Generierung der Daten und Szenarien fu ¨ r die Simulationsstudie Bei der Simulationsstudie soll die Realit¨at so weit wie m¨oglich abgebildet werden. Die Daten, die in die Simulation einfließen, m¨ ussen die realen Gegebenheiten daher bestm¨oglich widerspiegeln. Es gibt einerseits unver¨anderliche Daten wie z. B. die Prozesszeiten der einzelnen Auftr¨age auf den Maschinen, die technologisch vorgegeben sind. Andererseits sind manche Daten wie z. B. die nachgefragte Menge an Endmessdiodentypen variabel. Deshalb m¨ ussen f¨ ur diese ver¨anderlichen Daten diverse realit¨atsnahe Datens¨atze generiert werden. 1
Vgl. Fisher/Thomspon(1963). Es dauerte u ¨ber 20 Jahre, bis Lageweg eine exakte L¨osung gelang (vgl. Lageweg(1984)), deren Optimalit¨at aber erst 1989 nachgewiesen wurde (vgl. Carlier/Pinson(1989)).
I. J. Acker, Methoden zur mehrstufi gen Ablaufplanung in der Halbleiterindustrie, DOI 10.1007/978-3-8349-6731-2_7, © Gabler Verlag | Springer Fachmedien Wiesbaden GmbH 2011
208
7 Evaluation
7.1.1 Unver¨ anderliche Daten Alle unver¨anderlichen Daten, die in der Fallstudie FSH gegeben und damit bekannt sind, werden direkt u ¨bernommen.2 Dazu geh¨oren • • • • •
Prozesszeiten pjm R¨ ustzeiten rzjm Nachlaufzeiten nzjm Auftragsgruppen (Montagediodentypen) Alternative Maschinenfolgen der Endmessdiodentypen
Es ist außerdem bekannt, dass nach jedem Maschinenstillstand eine kapazit¨atsreduzierende Anlaufzeit n¨otig ist. Die Leistungsf¨ahigkeit steigt in einem bekannten Zeitraum von keiner zur vollen langsam an. In der Simulationsstudie wird die Realit¨at dahingehend vereinfacht, dass von einem linearen Anstieg in einem gewissen Zeitraum ausgegangen wird. Die erste H¨alfte dieses Intervalls wird auf 0, die zweite H¨alfte auf 1 gesetzt. Damit ergeben sich die in folgender Tabelle 7.1 angegebenen Anlaufzeiten der einzelnen Maschinen. m 1 2 3 4 5 6 7 8 9 10 11 12 azm 24 30 26 40 40 40 45 45 20 20 20 35 m 13 14 15 16 17 18 19 20 21 22 23 24 azm 35 35 35 35 35 35 20 20 20 24 30 28 Tabelle 7.1: Anlaufzeiten azm der Maschinen m in Minuten
7.1.2 Ver¨ anderliche Daten 7.1.2.1 Planungshorizont Der Planungszeitraum T (t = 1, . . . , T) dauert in der Fallstudie immer ein Monat. Es soll ein minutenscharfer Ablaufplan erstellt werden. Der Planungshorizont T variiert somit in Abh¨angigkeit vom betrachteten Monat. Weil er aber nur in einem geringen Umfang schwankt, werden im Rahmen der Simulation f¨ ur einen Planungszeitraum pauschal vier Wochen angesetzt. Da an jeweils 5 Werktagen in der Woche in 3 Schichten a` 8 Stunden produziert wird, umfasst ein Planungszeitraum somit konstant 4 · 5 · 3 · 8 = 480 Stunden und damit 480 · 60 = 28800 Minuten. 2
Z. T. sind sie in Kapitel 3 auf S. 43ff. dargestellt.
7.1 Bestimmung und Generierung der Daten und Szenarien
209
7.1.2.2 Nachfrage Zu Beginn des Planungszeitraums ist eine Nachfrage nach den einzelnen Endmessdiodentypen gegeben. Diese variiert von Planungszeitraum zu Planungszeitraum. F¨ ur die Simulationsstudie werden daher mehrere Datens¨atze d erzeugt. Bei jedem Datensatz d ist die Nachfrage nach bestimmten Endmessdiodentypen bereits in die entsprechende Anzahl an Chargen umgerechnet.3 Es werden 100 Datens¨atze (d = 1, . . . , 100) generiert, die den realistischen Gegebenheiten entsprechen. Dar¨ uber hinaus werden weitere 20 k¨ unstliche“ Da” tens¨atze mit erh¨ohter Nachfrage erzeugt (d = 101 − 120).4 Damit lassen sich folgende Datensatz-Mengen (Nachfragemengen) (D = {1; . . . ; D}) mit der jeweiligen Anzahl Datens¨atze D unterscheiden: Menge der realistischen“ Datens¨atze D100 = {1; . . . ; 100} ” unstlichen“ Datens¨atze D20 = {101; . . . ; 120} Menge der k¨ ” Menge aller untersuchten Datens¨atze D120 = {1; . . . ; 120} Anzahl realistischer“ Datens¨atze D100 = 100 ” Anzahl k¨ unstlicher“ Datens¨atze D20 = 20 ” 120 = 120 Anzahl aller Datens¨atze D F¨ ur den Pretest beim Genetischen Algorithmus wird aufgrund des mit dem Rechenbedarf einhergehenden Zeitaufwandes auf eine geringere Anzahl an Datens¨atzen bzgl. der Nachfrage zur¨ uckgegriffen. Es werden folgende Teilmengen unstbetrachtet, die sich aus folgenden D25 = 25 realistischen“ bzw. D5 = 5 k¨ ” ” lichen“ und somit insgesamt D30 = 30 Datens¨atze zusammensetzen: Menge der realistischen“ Datens¨atze D25 ={1; . . . ; 25} ” Menge der k¨ unstlichen“ Datens¨atze D5 ={100; 105; 110; 115; 120} ” D30 ={1; . . . ; 25; 100; 105; 110; 115; 120} Menge aller untersuchten Datens¨atze 7.1.2.3 Liefertermine F¨ ur die entwickelten L¨osungsverfahren werden Liefertermine f¨ ur die einzelnen Chargen ben¨otigt. Bei der Festlegung dieser Liefertermine sind zwei Bedingungen zu ber¨ ucksichtigen: • Gleichm¨aßige Verteilung der Gesamtzahl der nachgefragten Chargen u ¨ber den Planungszeitraum T • Gleichm¨aßige Verteilung der Nachfrage nach einem bestimmten Endmessdiodentyps u ¨ber den Planungszeitraum T 3 4
Vgl. Abschnitt 3.5, S. 55. Bei Durchf¨ uhrung der Simulationsstudie zeigte sich, dass die realen Gegebenheiten die Algorithmen nicht an die Grenzen ihrer Leistungsf¨ahigkeit brachten, wodurch die Ergebnisse nur wenig aussagekr¨aftig hinsichtlich der G¨ ute der Algorithmen waren. Durch eine k¨ unstlich Erh¨ohung der Nachfrage kann die Situation deutlich versch¨arft werden.
210
7 Evaluation
Eine Gleichverteilung der Liefertermine u ¨ber den kompletten Planungszeitraum macht allerdings nur bedingt Sinn: Ein Liefertermin kann zu Beginn des Planungszeitraums von vornherein nicht eingehalten werden, da f¨ ur die Fertigstellung eines Auftrags eine Mindestzeit n¨otig ist. Deshalb wird von einer gleichm¨aßigen Verteilung aller Chargen u ¨ber den Planungszeitraum T abgesehen. Es wird nur darauf geachtet, dass die Liefertermine der Chargen eines Endmessdiodentyps m¨oglichst gleichverteilt u ¨ber den Planungszeitraum hergestellt werden. Grob bedeutet dies, dass, wenn z. B. von einem Endmessdiodentyp vier Chargen herzustellen sind, in jeder der vier Wochen jeweils eine Charge hergestellt werden soll. Bei der Festlegung der Liefertermine wird ber¨ ucksichtigt, dass die Herstellung eines Auftrags einen gewissen zeitlichen Vorlauf, bestehend aus den Prozesszeiten, der Nachlauf- sowie eventuellen R¨ uszeiten, ben¨otigt. Mit diesem Vorgehen werden f¨ ur alle Datens¨atze Liefertermine bestimmt.5 7.1.2.4 Maschinenstillst¨ ande Da das Personal zum Bedienen der Maschinen schichtweise zugeteilt wird, steht eine Maschine in einer Schicht zur Verf¨ ugung oder nicht. Im Planungszeitraum gibt es insgesamt 60 Schichten (4 Wochen a` 5 Tage a` 3 Schichten). Durch die fr¨ uhzeitige Personaleinsatzplanung ist der Maschinenbestand, wie in Kapitel 3 beschrieben, fest vorgegeben, d. h., die auf den Planungszeitraum von T = 28800 T Minuten bezogene durchschnittliche Verf¨ ugbarkeit der Maschinen KV steht zum Planungszeitpunkt fest. Sie berechnet sich folgendermaßen: M
KV
T
=
m=1
KVmT M
M KV m T = m=1 , M
wobei KVm die verf¨ ugbare Kapazit¨at der Maschine m absolut und KVmT relativ bezogen auf den Planungszeitraum angibt. Unter realen Bedingungen liegt die durchschnittliche Verf¨ ugbarkeit bei ca. 70-75%. Es werden zwei realisti” sche“ (Masst.1 und Masst.2) sowie zwei k¨ unstliche“ (Masst.3 und Masst.4) ” ugbarkeit Maschinenstillstands-Varianten generiert.6 Die durchschnittliche Verf¨ der Maschinenkapazit¨aten betr¨agt bei Masst.1 70,4%, bei Masst.2 73,1%, bei Masst.3 58,1% und bei Masst.4 49,9%.7 Die Menge der Maschinenstillstands5
Untersuchungen mit verschiedenen erzeugten Liefertermindatens¨atzen hatten ergeben, dass es keine signifikanten Ver¨anderungen gab. Deshalb beschr¨ankt sich die Arbeit im Folgenden nur auf eine Liefertermin-Variante. 6 Analoge Argumentation wie bei der Festlegung der k¨ unstlichen“ Datens¨atze: Bei den Be” rechnungen wurde ersichtlich, dass die aktuell verf¨ ugbaren Kapazit¨aten viel zu hoch waren. Dies liegt daran, dass durch das bisher praktizierte erfahrungsbasierte manuelle Einplanen sehr suboptimal eingeplant wird, wodurch ein unn¨otig hoher Kapazit¨atsbedarf n¨otig ist. 7 Es ist zu beachten, dass in manchen Szenarien von vornherein bei Masst.4 nicht gen¨ ugend Kapazit¨aten gegeben sind, um den entsprechenden Auftragsbestand zu erf¨ ullen. Dies ist bei den Datens¨atzen 101, 108, 114 und 117 der Fall. Es kommt jeweils bei einer Maschine zu
7.1 Bestimmung und Generierung der Daten und Szenarien
211
Varianten besteht somit aus vier Elementen: MASST = {Masst.1; Masst.2; Masst.3; Masst.4}.8 Es macht aus produktionstechnischen Gr¨ unden nicht immer Sinn, dass bestimmte Maschinen zu bestimmten Zeitpunkten verf¨ ugbar sind. So werden Montagemaschinen z. B. am Ende des Planungszeitraums nicht ben¨otigt: Die Montage stellt immer die erste Operation einer Maschinenfolge dar, an die sich immer noch die Nachlaufzeit sowie mindestens die Endmessung anschließen. Im besten Fall dauert die Nachlaufzeit 3600 Minuten und das Endmessen 2625 Minuten. Nach 28800-3600-2625=22525 Minuten macht die Verf¨ ugbarkeit einer Montagemaschine daher keinen Sinn mehr. Es ist zudem zu ber¨ ucksichtigen, dass auf der Montage mindestens zwei Schichten am St¨ uck laufen m¨ ussen: Anlauf-, R¨ ust- und minimale Prozesszeit auf einer Montagemaschine erfordern mindestens einen Zeitbedarf von 670 Minuten und somit mehr als in einer Schicht (480 ¨ ¨ Minuten) zur Verf¨ ugung steht. Ahnliche Uberlegungen werden auch f¨ ur die Maschinen der Produktionsstufen Loading, Endmessen und Sichtpr¨ ufen angestellt und bei der Generierung der MaschinenstillstandsVarianten ber¨ ucksichtigt. Wird die die Verf¨ ugbarkeit einer Maschine nicht wie bisher auf den kompletten Planungszeitraum von T = 28800 Minuten, sondern auf die Zeit bezogen, die die Maschine sinnvollerweise zur Verf¨ ugung stehen sollte (Tm ), dann stehen die Tm Maschinen im Durchschnitt (KV ) mit 85,1% (Masst.1), 88,2% (Masst.2), 70,2% (Masst.3) bzw. 60,3% (Masst.4) ihrer sinnvollen“ Zeit zur Verf¨ ugung. ” Tm KV l¨asst sich folgendermaßen berechnen: M
KV
Tm
=
m=1
KVmTm M
M KV m T m = m=1 M
wobei KVm die verf¨ ugbare Kapazit¨at der Maschine m absolut und KVmTm relativ bezogen auf die sinnvolle“ Zeit Tm angibt. In folgender Tabelle 7.2 auf S. 212 ” sind die Maschinenkapazit¨aten der einzelnen Varianten noch einmal zusammengefasst. Zus¨atzlich wird angegeben, in welcher Bandbreite sich die Anzahl der Stillst¨ande Vm der einzelnen Maschinen m bewegt.
einer Kapazit¨ats¨ uberschreitung. In der praktischen Umsetzung w¨ urde dies bedeuten, dass der Auftragsbestand so lange zu reduzieren w¨are, bis wieder alle Maschinenkapazit¨aten ausreichend w¨aren. In der Simulationsanalyse werden diese Datens¨atze dennoch untersucht. 8 Die Schreibweise der Elemente innerhalb dieser Menge ist entgegen der in der Arbeit sonst u ¨blichen Vorgehensweise nicht kursiv.
212
7 Evaluation Szenario Masst.1 Masst.2 Masst.3 Masst.4
T
KV 70,4 % 73,1 % 58,1 % 49,9 %
KV 85,1 88,2 70,2 60,3
Tm
% % % %
Vm 4-9 5-8 4-7 3-7
Tabelle 7.2: Kapazit¨aten und Anzahl Stillst¨ande der Maschinen bei den vier Maschinenstillstands-Varianten Masst.1 – Masst.4
7.1.2.5 Maschinenfolgen Jede Charge eines Endmessdiodentyps kann durch verschiedene Maschinenfolgen hergestellt werden. F¨ ur jeden Datensatz muss daher f¨ ur jeden seiner Auftr¨age eine Maschinenfolge bestimmt werden.9 In der Simulationsstudie werden f¨ unf verschiedene Maschinenfolge-Varianten betrachtet. In den ersten vier Varianten werden mit Hilfe des Programms GGLP-Auswahl (Phase 1) in Abh¨angigkeit von den Maschinenstillstands-Varianten Masst.1 – Masst.4 die Maschinenunften Variante Masfolge-Varianten Masfo.1 – Masfo.4 bestimmt.10 In der f¨ fo.Zufall erfolgt die Auswahl der Maschinenfolgen zuf¨allig.11 MASFO ist Vereingigungsmenge von der Menge der Maschinenfolge-Varianten gem¨aß Auswahl nach GGLP-Auswahl A = {Masfo.1;Masfo.2;Masfo.3;Masfo.4} und der Menge der Maschinenfolge-Varianten gem¨aß Auswahl nach Zufall Z = {Masfo.Zufall}.
7.1.3 Betrachtete Szenarien In der Simulationsstudie werden vier Maschinenstillstands-Varianten (Masst.1 – Masst.4) unterschieden. Die Auswahl der Maschinenfolgen erfolgt entweder zuf¨allig oder zielgerichtet mit Hilfe des gemischt-ganzzahligen linearen Programms GGLP-Auswahl. Daraus lassen sich f¨ unf Szenarien ableiten, die im Folgenden mit A1, A2, A3, A4 und Z1 bezeichnet werden (vgl. Tabelle 7.3, S. 213).12 Sie sind in der Menge VAR = {A1;A2;A3;A4;Z1} zusammengefasst. Werden alle 120 Datens¨atze betrachtet, erfordern f¨ unf Szenarien 5 · 120 = 600 Berechnungen. 9
Dies geh¨ort zu den Aufgaben, denen das L¨osungsverfahren gerecht werden muss. Siehe Abschnitt 7.2. 11 Mit Hilfe von gleichverteilten Zufallszahlen in Excel. 12 A“ in Anlehnung an die zielgerichtete Auswahl der Maschinenfolge (bei Auswahl-Masfo ”alle 4 Masst.-Varianten betrachtet), Z“ steht f¨ ur zuf¨allig. Masfo.Zufall wird nur mit der ” simuliert, da die Berechnungen beim Pretesting erMaschinenstillstands-Variante Masst.1 geben haben, dass die Ergebnisse bei zuf¨alliger Maschinenauswahl signifikant schlechtere Ergebnisse liefern. 10
7.2 Simulationsablauf und -ergebnisse der 1. Phase MaschinenstillstandsVarianten Masst.1 Masst.2 Masst.3 Masst.4
213
Maschinenfolge-Varianten Masfo.1 Masfo.2 Masfo.3 Masfo.4 Masfo.Zufall A1 Z1 A2 A3 A4 Tabelle 7.3: Szenarien
7.2 Simulationsablauf und -ergebnisse der 1. Phase Geeignete Maschinenfolgen k¨onnen mit Hilfe des in Abschnitt 6.1 beschriebenen gemischt-ganzzahligen linearen Programms GGLP-Auswahl bestimmt werden. Im Folgenden wird dies f¨ ur alle vier Maschinenstillstands-Varianten Masst.1Masst.4 jeweils f¨ ur alle 120 Datens¨atze der Menge D120 gemacht. Es sind 4·120 = 480 Berechnungen n¨otig, um die jeweiligen Maschinenfolge-Varianten Masfo.1 – Masfo.4 zu bestimmen. Um die Kapazit¨atsbelastung der Maschinen zu sch¨atzen, m¨ ussen vorab Korrekturwerte f¨ ur die simulierten Datens¨atze berechnet. Zur Vereinfachung wird ¨ alle 120 jeweils ein durchschnittlicher Wert f¨ ur gAG und gAG bestimmt. Uber Datens¨atze m¨ ussen im Durchschnitt 28,18 verschiedene Endemssdiodentypen und 40 Chargen je Datensatz hergestellt werden. Da 28,18 40 = 0, 7, ist im Durchschnitt ist jede 0,7-te Charge ein neuer Endmessdiodentyp, so dass mit einer Wahrscheinlichkeit von 70% ger¨ ustet werden muss. Deshalb gehen in die Kapazit¨atsbelastung die R¨ ustzeiten mit dem Faktor gAG = 0, 7 ein (vgl. Nebenbedingung 6.6). Bei 63 Endmessdiodentypen gibt es 40 Montagediodentypen. Damit ergeben sich bei durchschnittlich 28,18 Endmessdiodentypen 17,9 Montagediodentypen.13 Mit 17,9 40 = 0, 4475 ist im Durchschnitt nur jede 0,4475-te Charge ein neuer Montagediodentyp, weshalb die R¨ ustzeiten in Nebenbedingung 6.5 mit dem Faktor gAG = 0, 4475 multipliziert werden. Zur Bestimmung der verf¨ ugbaren Kapazit¨at einer Maschine wird f¨ ur jede Maschine ihre Anzahl verf¨ ugbarer Schichten mit der Dauer von 480 Minuten multipliziert und anschließend um die mit ihrer entsprechenden Anlaufzeit multiplizierten Anzahl Stillst¨ande verringert. Auf diese Weise wird f¨ ur jede Maschine die Zeit bestimmt, die sie im Planungszeitraum T = 28800 Minuten insgesamt verf¨ ugbar ist. Ist z. B. Maschine m = 1 39 Schichten verf¨ ugbar, ergeben sich daraus zun¨achst 39 · 480 = 18720 Minuten. Wenn diese Maschine im Pla13 40 63
=
x 28,18
→ x = 17, 9.
214
7 Evaluation
nungszeitraum 6-mal still steht, reduziert sich die Zeit, in der auf Maschine produziert werden kann, um 6-mal die Anlaufzeit von in diesem Fall az1 = 24 Minuten, d. h. 6 · 24 = 144 Minuten. Die Maschine steht somit insgesamt nur noch 18720 − 144 = 18576 Minuten zur Verf¨ ugung. Das gemischt-ganzzahlige lineare Programm wird mit Hilfe von der Optimierungssoftware LINGO gel¨ost.14 Das Problem ist zu komplex, um es in angemessener Zeit bis zur sicheren Optimalit¨at hin berechnen zu k¨onnen. Somit wird die gemischt-ganzzahlige Programmierung als Heuristik eingesetzt, wodurch die Bestimmung mancher Maschinenfolgen nur suboptimal erfolgt. Dennoch kann das Verfahren der Anforderung gerecht werden, die Maschinenfolgen so auszuw¨ahlen, dass die Maschinen tendenziell gleichm¨aßig belastet sind und es nicht von vornherein zu einem oder mehreren Engp¨assen auf Maschinen kommt. Zur Analyse der Ergebnisse werden drei Kenngr¨oßen betrachtet: T
• KA gibt die durchschnittliche auf den Planungszeitraum von T Minuten bezogene Kapazit¨atsauslastung u ¨ber alle 24 Maschinen wieder (dimensionslose Verh¨altniszahl). • KB entspricht der durchschnittlichen Kapazit¨atsbelastung aller 24 Maschinen ([Minuten]).15 • Der Zielfunktionswert ZF setzt sich aus der Summe der Abweichungen T aller Maschinen von der durchschnittlichen Kapazit¨atsauslastung KA und einem Strafterm f¨ ur Kapazit¨ats¨ uberschreitungen zusammen (dimensionslos).16 Die Ergebnisse werden getrennt f¨ ur die Menge der realistischen“ Datens¨atze ” unstlichen“ Datens¨atze D20 sowie die vier MaschinenD100 und die Menge der k¨ ” stillstand-Varianten Masst.1 – Masst.4 aggregiert. In Tabelle 7.4 auf S. 215 ist der Durchschnitt Dd aller in d angegebenen Datens¨atze bzgl. der jeweiligen Kenngr¨oße angegeben.17 Anhand der Ergebnisse sollen drei Aspekte n¨aher betrachtet werden: • Wie wirkt sich eine steigende Auftragsanzahl aus? Dies kann durch den Vergleich der Ergebnisse von D100 und D20 eruiert werden. Bei der Menge D20 sind bei jedem Datensatz mehr Chargen als bei der Menge D100 herzustellen. Eine steigende Auftragsanzahl geht 14
Hierzu wird die Version LINGO Release 9.0 von LINDO Systems Inc. verwendet. Vgl. auch Haase/Kolisch(1997). 1 15 KB = M · M m=1 KBm . 16 F¨ ur genauere Erl¨auterungen des Zielfunktionswertes vgl. Abschnitt 6.2. 17 Im Anhang sind neben dem Durchschnitt Dd auch das das Minimum M ind , das Maximum M axd sowie die Standardabweichung σ d aller in d angegebenen Datens¨atze bzgl. der jeweiligen Kenngr¨oße dargestellt. Vgl. Tabelle A.3 – A.6 auf den Seiten 261 – 262.
7.2 Simulationsablauf und -ergebnisse der 1. Phase
D
d
Masst.1 Masst.2 Masst.3 Masst.4 Masst.1 Masst.2 Masst.3 Masst.4
nach GGLP-Auswahl T ZF KA KB 1,2669 1,1492 1,4870 1,7234 2,0783 1,8335 2,4141 200002,88
215
gem¨aß Masfo.Zufall T ZF KA KB
0,2202 0,2108 0,2669 0,3095
d ∈ D100 4433,96 4432,19 4439,43 4425,50
17,4487 16,2287 20,9336 24,3912
0,2437 0,2309 0,2937 0,3409
4859,78 4859,78 4859,78 4859,78
0,3852 0,3693 0,4674 0,5426
d ∈ D20 7752,85 7750,75 7760,58 7752,16
850005,67 550005,23 2315796,20 4333341,24
0,4236 0,4015 0,5093 0,5910
8426,07 8426,07 8426,07 8426,07
Tabelle 7.4: Auswertung der Ergebnisse der 1. Phase bzgl. der vier Maschinenstillstands-Varianten f¨ ur d ∈ D100 und d ∈ D20
mit einer steigenden durchschnittlichen Kapazit¨atsbelastung und damit – bei gleich bleibender verf¨ ugbarer Kapazit¨at – Kapazit¨atsauslastung der Maschinen einher. Der Vergleich der Ergebnisse von D100 und D20 zeigt, dass im Durchschnitt u ¨ber alle vier Maschinenstillstands-Varianten bei der Festlegung der Maschinenfolge mit Hilfe von GGLP-Auswahl die Kapazit¨atsauslastung von 25,2% auf 44,1% (also um 75,1%) und die Kapazit¨atsbelegung von 4432,77 auf 7754,09 Minuten (d. h. um 74,9%) steigen; bei der Festlegung gem¨aß Masfo.Zufall steigen die Kapazit¨atsauslastung von 27,7% auf 48,1% (73,6%) und die Kapazit¨atsbelegung von 4859,8 auf 8426,1 Minuten (73,4%). Mit steigender Auftragsanzahl steigt zudem das Risiko f¨ ur eine Kapazit¨ats¨ uberschreitung bei einzelnen Maschinen. Außerdem verringert sich mit steigender Auftragsanzahl der Spielraum“ f¨ ur eine gleichm¨aßige Ka” pazit¨atsauslastung bei allen Maschinen. Dies spiegelt sich im Zielfunktionswert wider: Im Durchschnitt u ¨ber alle vier MaschinenstillstandsVarianten erh¨oht sich der Zielfunktionswert bei den “realistischen“ Daunstlichen“ Datens¨atzen D100 von 1,4066 auf 5002,3 und bei den “k¨ ur die Kapazit¨ats¨ ubertens¨atzen D20 aufgrund des hohen Strafterms f¨ schreitungen von 19,75 auf 2012287,09.18 • Wie wirkt sich eine Reduzierung der verf¨ ugbaren Kapazit¨at aus? Diese Frage kann durch den Vergleich der Ergebnisse der einzelnen Maschinenstillstands-Varianten Masst.1 – Masst.4 beantwortet werden. Die 18
Bei den Datens¨atzen D20 ist die Auftragsanzahl f¨ ur die verf¨ ugbare Kapazit¨at zu hoch.
216
7 Evaluation verf¨ ugbare Kapazit¨at der Maschinen ist bei den Maschinenstillstands-Varianten Masst.1 und Masst.2 nahezu gleich, nimmt aber bei Masst.3 und Masst.4 zunehmend ab. Die Maschinenstillstands-Variante Masst.2 hat die meiste verf¨ ugbare Kapazit¨at und f¨ uhrt unabh¨angig von der Festlegung der Maschinenfolge bei allen Kriterien zu den besten Ergebnissen.19
Eine abnehmende verf¨ ugbare Kapazit¨at f¨ uhrt zu steigender durchschnittlicher Kapazit¨atsaus- und -belastung. Die durchschnittliche Kapazit¨atsbelastung schwankt innerhalb einer Datensatz-Menge nur wenig, weil auch bei ver¨anderter Maschinenfolge eines Auftrags sein Kapazit¨atsbedarf nur ugbarer Main begrenztem Umfang ver¨anderbar ist.20 Mit sinkender verf¨ schinenkapazit¨at steigt das Risiko f¨ ur eine Kapazit¨ats¨ uberschreitung bei einzelnen Maschinen. Außerdem verringert sich der Spielraum“ f¨ ur ei” ne gleichm¨aßige Kapazit¨atsauslastung bei allen Maschinen. Beides erh¨oht den Zielfunktionswert. Er steigt bei den realistischen“ Datens¨atzen D100 ” von 1,1492 bei Masst.2 auf 1,7234 bei Masst.4 (bzw. 16,2287 auf 24,3912 gem¨aß Masfo.Zufall) und bei den k¨ unstlichen“ Datens¨atzen D20 von ” 1,8335 bei Masst.2 auf 200002,88 bei Masst.4 (bzw. gem¨aß Masfo.Zufall von 850005,67 auf 4333341,24). • F¨ uhrt die Auswahl der Maschinenfolgen mit Hilfe des GGLP-Auswahl zu besseren Ergebnissen? Um diese Frage zu beantworten, m¨ ussen die Ergebnisse, wenn die Maschinenfolgen mit Hilfe von GGLP-Auswahl bestimmt werden, mit denjenigen von Masfo.Zufall verglichen werden. Durch Anwendung von GGLP-Auswahl kann der Zielfunktionswert im Durchschnitt u ¨ber alle MaschinenstillstandsVarianten um 92,87% bei D100 bzw. 98,85% bei D20 gesenkt werden. Die durchschnittliche Kapazit¨atsaus- und -belastung reduziert sich bei D100 um 9,17% bzw. 8,79%. Bei D20 betr¨agt die Reduktion 8,37% bzw. 7,98%. Werden die Maschinenfolgen mit Hilfe von GGLP-Auswahl bestimmt, kommt es nur bei Masst.4 bei den k¨ unstlichen“ Datens¨atzen ” bei vier Datens¨atzen jeweils zu einer einmaligen Kapazit¨ats¨ uberschreitung. Werden die Maschinenfolgen dagegen zuf¨allig gem¨aß Masfo.Zufall bestimmt, kommt es zwar auch nur bei den k¨ unstlichen“ Datens¨atzen ” zu Kapazit¨ats¨ uberschreitungen, aber dies in weit h¨oherem Maße: Bei Masst.1 – Masst.4 kommt es bei jeweils 12, 10, 18 und 18 Datens¨atzen zu Kapazit¨ats¨ uberschreitungen. Falls es bei einem Datensatz zu Kapazit¨ats¨ uberschreitungen kommt, sind im Durchschnitt 1,3, 1,1, 2,4 bzw. 4,3 Auftr¨age davon betroffen. Die Untersuchung macht deutlich, dass die Auswahl der Maschinenfolgen mit Hilfe der gemischt-ganzzahligen linearen Programmierung einer zuf¨alligen Festlegung eindeutig u ¨berlegen ist. 19 20
Bei Masst.1 und Masst.2 ist die verf¨ ugbare Kapazit¨at nahezu gleich, allerdings ist sie unterschiedlich verteilt. Dies hat jedoch auf die Ergebnisse kaum messbaren Einfluss. Bei der zuf¨alligen Festlegung ist der Wert immer gleich, da die Maschinenfolgen fest vorgegeben und dadurch die Kapazit¨atsbelastung unver¨andert ist.
7.3 Simulationsablauf und -ergebnisse der 2. Phase
217
7.3 Simulationsablauf und -ergebnisse der 2. Phase 7.3.1 Allgemeines Die Ergebnisse der 1. Phase – Maschinenfolge-Varianten Masfo.1 - Masfo.4 – fließen in die 2. Phase ein. Zusammen mit Masfo.Zufall m¨ ussen in der Simulationsstudie jeweils f¨ unf Szenarien f¨ ur das Priorit¨atsregelverfahren und den Genetischen Algorithmus berechnet werden. Beim Priorit¨atsregelverfahren werden die zw¨olf in Abschnitt 6.2.1 in Tabelle 6.4 auf S. 174 aufgef¨ uhrten Priorit¨atsregeln betrachtet und auf ihre Eignung bei diesem speziellen Problem gepr¨ uft. Mit jeder dieser Priorit¨atsregeln wird uhrt. Insgef¨ ur alle 120 Datens¨atze der Menge D120 eine Simulation durchgef¨ samt sind somit 12 · 120 · 5 = 7200 Simulationsdurchl¨aufe n¨otig. Beim Genetischen Algorithmus werden die in Abschnitt 6.3.1 auf S. 197ff. dargestellten Parametereinstellungen betrachtet und auf ihre Eignung bei diesem speziellen Problem gepr¨ uft. Sie sind noch einmal in Tabelle 7.5 auf S. 218 zusammengefasst. Alle 41 verschiedenen Parametereinstellungen werden in der Simulationsstudie ausgehend von der Standardeinstellung ceteris paribus getestet. D. h., in jedem Testlauf gibt es von der Standardeinstellung nur eine abweichenden Parametereinstellung. Die Standardeinstellung ist in Tabelle 7.5 durch Fettschrift hervorgehoben. F¨ ur das Pretesting zur Eruierung der besten Parametereinstellung werden nur die 30 Datens¨atze der Menge D30 verwendet. Insgesamt sind damit 41 · 30 · 5 = 6150 Simulationsdurchl¨aufe n¨otig. Wenn nach Analyse der Ergebnisse die endg¨ ultige Parametereinstellung feststeht, werden mit dieser f¨ ur die Datens¨atze uhrt.21 der Menge D120 120 weitere Simulationsrechnungen durchgef¨ F¨ ur jeden Datensatz wird eine Vielzahl von Kenngr¨oßen berechnet. Das Hauptaugenmerk wird im Rahmen dieser Arbeit zur Darstellung der Ergebnisse auf folgende sechs Kriterien gelegt: • AnzF nT gibt die Anzahl der Auftr¨age an, deren Fertigstellungszeitpunkt nach dem Ende des Planungszeitraums T liegt (in St¨ uck). • Z gibt die Zykluszeit wieder (in Minuten). • Bei der Beurteilung der Termin¨ uberschreitung ist sowohl die Anzahl als auch die H¨ohe der Termin¨ uberschreitung von Interesse. 21
Insgesamt sind beim Genetischen Algorithmus somit 6270 Berechnungen n¨otig.
218
7 Evaluation Parameter
Korrespondierende Mengen
Populationsgr¨oße
POP
Anzahl Kinder
AN ZKI ={Single; Double}
Evolutionsstrategie
ES
={R0; R2; R6; R12; C}
Abbruchkriterium
AB
={BG50-5; BG50-10; BG100-25; BG100-50; BG300-100; GOV10; GOV25; GOV50; G25; G100; G300; G400; G1000}
Selektion des Mating-Pool Selektionsverfahren Selektionsdruck
SV SD
={3-Turnier; 5-Turnier; Pointer} ={1, 2; 1, 95}
Crossover Crossover-Verfahren Crossover-Wahrscheinlichkeit
CV PC
={PBX; GOX} ={60; 95; 100}
Mutation
GAM
={BM3; BM10; OBM3; OBM10 ohneM; RM3; RM10}
={50; 120; 200; 500}
Tabelle 7.5: Parameter des Genetischen Algorithmus in der Simulationsstudie; die Standardeinstellung ist fett dargestellt
uberschreitungen – Die Kenngr¨oße AnzT A+ gibt die Anzahl Termin¨ des Auftragsbestandes an (in St¨ uck). Eine Angabe kann auch prozentual erfolgen, indem sie auf die Anzahl Auftr¨age K bezogen wird (in Prozent). – Bzgl. der H¨ohe der Termin¨ uberschreitung wird im Folgenden der Durchschnittswert betrachtet (in Minuten). Jeder Datensatz besteht aus einer bekannten festen Anzahl an K Auftr¨agen, die in der Menge K zusammengefasst ist. K+ ist eine Teilmenge von K, die diejenigen + K+ Auftr¨age, bei denen eine Termin¨ uberschreitung vorkommt. T AK entspricht der durchschnittlichen Termin¨ uberschreitung aller K Auf+ tr¨age. T AK+ ber¨ ucksichtigt dagegen bei der Durchschnittsbildung uberschreinur diejenigen K+ Auftr¨age, bei denen es zu einer Termin¨ tung kommt.22
22
+
+
K+ ∈ K und T AK+ ≥ T AK .
7.3 Simulationsablauf und -ergebnisse der 2. Phase
219
• Der Zielfunktionswert ZF setzt sich aus drei gewichteten Summanden zusammen (in (Zielfunktions-)Einheiten23 ):24 ZF = S >T + GZ + GT A+ mit S >T = max{Z − 28800; 0} Z GZ = 28800 K
+ GT A+ mit GT A = max GT A+ = k k k=1
Fk − Fk∗ ; 0 2 · 28800 − Fk∗
Die oben beschriebenen Kriterien sind Datensatz-spezifisch. Zur Analyse der Ergebnisse werden aber mehrere Datens¨atze gemeinsam betrachtet und f¨ ur jedes Kriterium der Durchschnitt Dd , die Standardabweichung σ d , das Minimum M ind und das Maximum M axd von allen betrachteten Datens¨atzen berechnet. Im Falle des Priori¨atsregelverfahrens werden die Datensatz-Mengen D100 , D20 und D120 und im Falle des Genetischen Algorithmus die Datensatz-Mengen D25 , D5 und D30 aggregiert. Dd Z in Verbindung mit d ∈ D100 gibt z. B. die durchschnittliche Zykluszeit der 100 Datens¨atze an, die in der Menge D100 enthalten sind. Im Folgenden wird hierf¨ ur auch eine Kurzbezeichnung verwendet, bei der der Exponent die betrachtete Datensatz-Menge zum Ausdruck bringt: D100 Z. Derartig aggregierte Kennzahlen sind Priorit¨atsregel- bzw. Parameterspezifisch. Da wie im vorherigen Abschnitt 7.2 auf S. 213ff. beschrieben die Ergebnisse bei Auswahl der Maschinenfolgen mit Hilfe des GGLP-Auswahl nachweislich viel besser sind als bei Masfo.Zufall, werden bei den folgenden Auswertungen nur noch die Szenarien A1-A4 betrachtet. Es werden aber weiterhin die unrealis” tischen“ Datens¨atze D20 bzw. D5 und Maschinenstillstands-Varianten Masst.3 und Masst.4 ber¨ ucksichtigt, da ein L¨osungsverfahren generiert werden soll, das auch bei diesen h¨artere“ Situationen mit einer erh¨ohten Nachfrage und/oder ” verringerten Maschinenkapazit¨at noch in der Lage ist, gute L¨osungen zu liefern. Derartige Situationen sind durchaus realistisch. Sollte aufgrund von unvorhergesehenen Maschinenausf¨allen Auftr¨age aus dem vorherigen Planungszeitraum in den aktuellen verschoben werden m¨ ussen, sollte das neue L¨osungsverfahren in der Lage sein, eine L¨osung zu erzeugen, bei der diese Auftr¨age m¨oglichst gemeinsam mit dem kompletten regul¨aren Auftragsbestand in der aktuellen Planungsperiode hergestellt werden k¨onnen. Daher gehen Datens¨atze mit einem erh¨ohten Auftragsbestand mit einer Gewichtung von 16 in die Auswertungen mit ein. 23 24
Es handelt sich im Prinzip um gewichtete Minutenwerte. Vgl. Erl¨auterungen in Abschnitt 6.2.1 auf S. 173.
220
7 Evaluation
Außerdem ist davon auszugehen, dass die Maschinenkapazit¨aten mittelfristig knapper werden: Durch das voraussichtlich bessere Einplanen aufgrund des neuen L¨osungsverfahrens wird ersichtlich werden, dass die aktuell verf¨ ugbaren Maschinenkapazit¨aten zu hoch sind. In diesem Fall werden daher die Maschinenkapazit¨aten mittelfristig reduziert werden, um das Kosteneinsparungspotential durch geringere Personalkosten (Schichtbetrieb) zu nutzen. Daher sollen Szenarien mit knapperen Maschinenkapazit¨aten bereits jetzt bei der Entwicklung und Bewertung eines geeigneten L¨osungsverfahrens mit ber¨ ucksichtigt werden. In den folgenden Abschnitten 7.3.2 und 7.3.3 werden zun¨achst die einzelnen Priorit¨atsregeln bzw. Parametereinstellungen des Genetischen Algorithmus auf Basis des Zielfunktionswertes hinsichtlich ihrer Eignung f¨ ur das betrachtete Praur die Datens¨atze D120 xisproblem beurteilt.25 Dazu werden die Ergebnisse f¨ bzw. D30 dargestellt. Nach den realistischen“ und k¨ unstlichen“ Datens¨atzen ” ” differenzierte Ergebnisse k¨onnen f¨ ur das Priorit¨atsregelverfahren dem Anhang ur den Genetischen Algorithmus dem Anhang A.4.2 A.4.1 (D100 bzw. D20 ) und f¨ (D25 bzw. D5 ) entnommen werden. Nach Auswahl der besten Priorit¨atsregel PRIO∗ bzw. besten Parametereinstellung GA∗ werden in Abschnitt 7.4 die beiden L¨osungsverfahren miteinander verglichen.
7.3.2 Priorit¨ atsregelverfahren In diesem Abschnitt soll anhand der Ergebnisse der Simulationen entschieden werden, welche der zw¨olf angewendeten Priorit¨atsregeln am besten f¨ ur das betrachtete Praxisproblem geeignet ist. Tabelle 7.6 auf S. 221 gibt f¨ ur jede Priorit¨atsregel den durchschnittlichen D120 ZF , minimalen M in120 ZF und maximalen M ax120 ZF Zielfunktionswert sowie die dazugeh¨orige Standardabweichung ur alle vier Szenarien an. Zur optischen Veranschaulichung sind in Abσ 120 ZF f¨ bildung 7.1 auf S. 222 die durchschnittlichen Zielfunktionswerte D120 ZF von allen Priorit¨atsregeln f¨ ur die vier Szenarien dargestellt.26 Der Zielfunktionswert schwankt insgesamt zwischen 0,45 (RZ) und 12711,64 (Zufall) Einheiten, wobei der minimale Zielfunktionswert zwischen 0,45 (RZ) und 1,10 (FCFS) und der maximale Zielfunktionswert zwischen 1601,63 (SZ) 25
Im Zielfunktionswert ZF sind die anderen f¨ unf oben dargestellten Kriterien bereits entsprechend ihrer Bedeutung gewichtet mit enthalten. F¨ ur eine differenzierte Betrachtung sind die + + Ergebnisse von AnzF nT, Z, AnzT A+ (absolut und prozentual), T AK bzw. T AK+ zus¨atzlich im Anhang A.4.1 und A.4.2 dargestellt. 26 Analoge Abbildungen zu den einzelnen Kriterien sind im Anhang dargestellt: • Zu AnzF nT vgl. Abbildung A.10 (S. 263). • Zu Z vgl. Abbildung A.11 (S. 263). A.12 (S. 264). • Zu AnzT A+ vgl. Abbildung + + • Zu T AK bzw. T AK+ vgl. Abbildung A.13 (S. 264) und A.14 (S. 265).
7.3 Simulationsablauf und -ergebnisse der 2. Phase
Varianten FCFS
FLT
KOZ
LRBZ
RZ
SZ
SZ/On
SZ/RBZ
WSLnM
Zufall
ZRDLZ
ZRDLZ/On
d ∈ D120 Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd
A1 62,40 0,49 3133,62 410,81 80,54 0,46 3130,83 413,80 97,92 0,49 4225,91 527,16 51,22 0,47 2169,90 279,90 89,46 0,45 3132,37 423,29 49,99 0,46 1601,63 239,57 36,45 0,46 2132,40 235,93 54,79 0,46 2130,91 272,42 116,68 0,48 4329,59 612,21 177,32 0,56 7323,10 890,30 89,33 0,46 3131,54 423,16 62,81 0,46 2132,31 344,42
ZF A2 A3 74,68 467,64 0,50 0,75 2672,68 5229,68 383,65 1212,97 184,09 478,32 0,49 0,67 5320,28 5234,14 728,09 1216,98 281,08 745,74 0,54 0,66 5321,21 6321,77 1002,34 1666,50 144,64 527,80 0,53 0,76 5321,26 6398,14 660,17 1170,09 156,50 572,11 0,54 0,67 5320,56 5321,46 713,23 1381,69 164,83 477,21 0,49 0,65 4329,41 5234,33 663,43 1213,50 152,23 490,48 0,48 0,65 2670,87 4226,79 591,74 1138,12 161,15 525,72 0,48 0,65 3896,28 5226,35 641,49 1258,08 232,40 621,95 0,48 0,70 5320,50 9483,36 921,76 1618,20 200,89 677,59 0,55 0,82 7971,21 7349,90 934,74 1610,67 210,64 478,33 0,49 0,67 5320,28 5234,14 752,86 1217,00 198,21 514,19 0,47 0,65 5320,25 5227,35 797,67 1247,50
221
A4 820,49 1,10 9514,04 1844,57 1187,57 0,85 11985,20 2708,76 1267,67 0,93 11985,45 2734,23 953,27 0,93 11061,18 2135,44 1012,57 0,74 11236,06 2196,86 1114,90 0,85 11985,37 2522,42 1004,00 0,74 10615,88 2408,01 1072,23 0,87 11505,68 2526,90 1090,03 0,80 11246,57 2514,04 1398,49 1,03 12711,64 2963,44 1201,89 0,85 11985,30 2745,29 1001,60 0,74 11964,33 2385,55
Tabelle 7.6: Simulationsergebnisse in Abh¨angigkeit von der Priorit¨atsregel und dem Szenario (in Zielfunktionseinheiten)
222
7 Evaluation
und 12711,64 (Zufall) Einheiten liegt. Der durchschnittliche Zielfunktionswert nimmt Werte im Bereich von 36,45 (SZ/On) und 1398,49 (Zufall) Einheiten an. 1600
1400
Durchschnittlicher Zielfunktionswert
1200
1000
800
600
400
200
0
FCFS
FLT
KOZ
LRBZ
RZ
SZ A1
SZ/On A2
A3
SZ/RBZ
WSLnM
Zufall
ZRDLZ
ZRDLZ/On
A4
Abbildung 7.1: Durchschnittlicher Zielfunktionswert D120 ZF in Abh¨angigkeit von der Priorit¨atsregel und dem Szenario (in Einheiten) Die Priorit¨atsregeln Zufall und FLT schneiden am schlechtesten ab. Die beste Priorit¨atsregel ist FCFS mit Zielfunktionswerten zwischen 62,4 und 820,49 Einheiten. FCFS liefert in drei Szenarien die besten durchschnittlichen Zielfunktionswerte: Bei A2 74,68 (σ 383,65), bei A3 467,64 (σ 1212,97) und bei A4 820,49 (σ 1844,57) Einheiten. Allerdings ist SZ/On in Szenario A1 mit 36,45 (σ 235,93) 41,6% besser als FCFS mit 62,4 (σ 410,81). Bei FCFS ergibt sich in Szenario A4 der geringste maximale Zielfunktionswert von allen Priorit¨atsregeln. Hinsichtlich des Zielfunktionswerte liefert die Anwendung der Priorit¨atsregel FCFS die besten Ergebnisse von allen. FCFS schneidet zwar bei den Termin¨ uberschreitungskriterien nicht sehr gut ab. Jedoch erweist sich die Regel, vor einer Maschinen wartende Auftr¨age nach der Motto first come, first serve“ ” abzuarbeiten, hinsichtlich der Zykluszeit und der Anzahl an Auftr¨agen, die erst nach dem Ende des Planungszeitraums fertig gestellt werden, als ¨außerst gut.27 Durch die hohe Gewichtung vom Kriterium AnzF nT im Zielfunktionswert kann sich FCFS gegen¨ uber den anderen Priorit¨atsregeln durchsetzen. Daher wird f¨ ur die betrachtete Problemstellung als beste Priorit¨atsregel PRIO∗ FCFS festge27
Vgl. Anhang A.4.1.
7.3 Simulationsablauf und -ergebnisse der 2. Phase
223
legt. Abschließend sind in Tabelle 7.7 alle sechs Kriterien f¨ ur die DatensatzMengen D100 , D20 und D120 differenziert dargestellt. Diese Ergebnisse werden sp¨ater denen des Genetischen Algorithmus gegen¨ ubergestellt. A1 PRIO∗
Dd
A2 σd
A3
A4
Dd
σd
Dd
σd
Dd
σd
112,82 23280,07 11,17 1199,45 4360,98 0,05
630,26 3260,97 4,39 475,71 1134,96 0,2598
143,6 24810,91 12,60 1460,75 4762,73 0,11
506,5 2659,30 4,95 523,75 995,76 0,3974
ZF Z AnzT A+ + T AK + T AK+ AnzF nT
1,2495 19174,06 7,94 653,37 3344,44 0
0,4194 2855,25 3,50 311,94 1130,51 0
14,7 18545,96 7,24 548,09 3072,50 0,01
d ∈ D100 135,1 2953,96 3,35 276,96 1031,62 0,0995
ZF Z AnzT A+ + T AK + T AK+ AnzF nT
368,1 26199,55 23,35 1641,33 4918,44 0,2
948,9 2350,78 3,65 368,82 689,82 0,5099
374,6 26508,60 22,25 1475,69 4669,24 0,2
d ∈ D20 827,0 2446,48 3,82 326,09 735,34 0,4
2241,7 30669,15 30,40 2656,07 6100,18 1,3
1750,7 2347,69 5,27 616,99 721,48 1,005
4205,1 2320,6 32834,55 2695,19 34,30 6,16 3533,55 826,26 7234,64 1018,51 4,8 2,8566
74,7 19873,07 9,74 702,69 3338,62 0,0417
d ∈ D120 383,7 4132,21 6,56 448,50 1153,73 0,1998
467,6 1213,0 24511,58 4166,93 14,38 8,49 1442,22 739,40 4650,84 1257,11 0,2583 0,6645
820,5 1844,6 26148,18 4005,67 16,22 9,60 1806,21 969,08 5174,72 1359,35 0,8917 2,1323
ZF Z AnzT A+ + T AK + T AK+ AnzF nT
62,4 20344,98 10,51 818,03 3606,77 0,0333
410,8 3817,06 6,74 489,21 1220,02 0,2211
Tabelle 7.7: Ergebnisse (Durchschnitt Dd und Standardabweichung σ d ) des Priorit¨atsregelverfahrens mit der besten Priorit¨atsregel PRIO∗ – FCFS der in d angegebenen Datens¨atze in Abh¨angigkeit vom Szenario Wie zu erwarten f¨ uhrt eine steigende Auftragsanzahl bzw. eine Reduzierung der verf¨ ugbaren Kapazit¨at bei allen Kriterien zu einer Verschlechterung der Ergebnisse.28 Wird exemplarisch der Zielfunktionswert ZF betrachtet, zeigt der Vergleich der Ergebnisse von D100 und D20 , dass bei zunehmender Auftragsanzahl der Zielfunktionswert im Durchschnitt u ¨ber alle vier Szenarien A1 bis A4 von 68,1 auf 1797,4 Einheiten (d. h. um 2640%) steigt. Um den Einfluss einer abnehmenden verf¨ ugbaren Maschinenkapazit¨at zu bestimmen, m¨ ussen die Ergebnisse der einzelnen Szenarien A1 bis A4 miteinander verglichen werden: So verschlechtert sich z. B. f¨ ur D120 der Zielfunktionswert von 62,4 auf 820,5 Einheiten (also um 1316%). 28
Vgl. dazu auch die Erl¨auterungen in Abschnitt 7.2 auf S. 214f.
50
A3 A1
50
OBM10 ohneM RM3 RM10
OBM10
ohneM
RM3
RM10
BM3 BM10 OBM3
BM10
OBM3
95 100
BM3
60
95
100
60
PBX GOX
PBX
1,2 1,95
GOX
Pointer
G400
G300
G100
G25
GOV50
GOV25
GOV10
BG300_100
BG100_50
BG100_25
BG50_10
BG50_5
C
R12
R6
R2
R0
Double
Single
500
200
120
1,95
0 5-Turnier
100
1,2
200 3-Turnier
300
Pointer
400
5-Turnier
500
3-Turnier
A2 G1000
600
G1000
G400
G300
G100
G25
GOV50
GOV25
GOV10
BG300_100
BG100_50
BG100_25
BG50_10
BG50_5
C
R12
R6
R2
R0
Double
Single
500
200
120
Durchschnittlicher Zielfunktionswert Durchschnittlicher Zielfunktionswert
224 7 Evaluation
7.3.3 Genetischer Algorithmus 2
1,6
1,2
0,8
0,4
0
A4
Abbildung 7.2: Durchschnittlicher Zielfunktionswert D30 ZF in Abh¨angigkeit von der Parametereinstellung und dem Szenario (in Einheiten)
F¨ ur den Genetischen Algorithmus muss entschieden werden, wie f¨ ur die konkret betrachtete Problemstellung die verschiedenen Parameter festgelegt werden sol-
7.3 Simulationsablauf und -ergebnisse der 2. Phase
225
len. Wie bei der Bestimmung der Priorit¨atsregel werden dazu die Zielfunktionswerte herangezogen. In Abbildung 7.2 auf der vorangegangenen Seite sind die durchschnittlichen Zielfunktionswerte D120 ZF aller 41 Parametereinstellungen jeweils f¨ ur die Szenarien A1 und A2 bzw. A3 und A4 dargestellt.29 Es sind neun Parameter festzulegen. In der Abbildung 7.2 sind die jeweils zu einem bestimmten Parameter geh¨orenden getesteten Varianten durch vertikale Linien voneinander abgetrennt. Die Standardeinstellung wird bei jedem Parameter separat und dadurch mehrfach aufgef¨ uhrt, um den optischen Vergleich innerhalb eines Parameters zu erleichtern. 7.3.3.1 Populationsgr¨ oße Es muss entschieden werden, welche Populationsgr¨oße dem Genetischen Algorithmus vorgegeben werden soll. Es werden mit POP = {50; 120; 200; 500} vier Varianten getestet, wobei 120 Individuen der Standardeinstellung entsprechen. In der folgenden Tabelle 7.8 ist f¨ ur jede Populationsgr¨oße der durchschnittliche D120 ZF , minimale M in30 ZF und maximale M ax30 ZF Zielfunktionswert sowie ur alle vier Szenarien angegeben. die dazugeh¨orige Standardabweichung σ 30 ZF f¨ ZF Varianten 50
120
200
500
d ∈ D30 Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd
A1 0,97 0,54 2,39 0,48 0,92 0,52 2,47 0,42 0,92 0,52 2,74 0,44 0,91 0,52 2,43 0,40
A2 0,83 0,47 2,00 0,38 0,78 0,47 1,81 0,32 0,76 0,47 1,91 0,31 0,76 0,47 1,99 0,32
A3 72,45 0,62 2133,47 382,72 72,41 0,62 2133,55 382,74 72,59 0,62 2133,44 382,69 72,45 0,62 2133,42 382,71
A4 245,38 0,82 4071,32 827,98 245,14 0,80 4071,02 827,66 211,85 0,80 3070,78 679,90 246,05 0,80 4093,94 831,42
Tabelle 7.8: Simulationsergebnisse in Abh¨angigkeit von der Populationsgr¨oße und dem Szenario (in Zielfunktionseinheiten) 29
Im Anhang sind die Ergebnisse zu den anderen Kriterien analog veranschaulicht: • Zu AnzF nT vgl. Abbildung A.15 (S. 265). • Zu Z vgl. Abbildung A.16 (S. 266). A.17 (S. 266). • Zu AnzT A+ vgl. Abbildung + + • Zu T AK bzw. T AK+ Abbildung A.18 (S. 267) und A.19 (S. 267).
226
7 Evaluation
Der Zielfunktionswert schwankt insgesamt zwischen 0,47 (alle) und 4093,94 (500) Einheiten, wobei der gr¨oßte minimale Wert in H¨ohe von 0,82 Einheiten bei einer Populationsgr¨oße von 50 Individuen vorkommt und der kleinste maximale Wert in H¨ohe von 1,81 Einheiten bei einer Populationsgr¨oße von 120 Individuen. Der durchschnittliche Zielfunktionswert nimmt Werte im Bereich von 0,76 (500)30 und 246,05 (500) Einheiten an. Die Populationsgr¨oße von 50 Individuen schneidet am schlechtesten ab. Zwischen 120, 200 oder 500 Individuen gibt es kaum Unterschiede. In den Szenarien A1 und A2 liefern 500 Individuen mit 0,91 (σ 0,41) bzw. 0,76 (σ 0,32) Einheiten die geringsten durchschnittlichen Zielfunktionswerte; in Szenario A3 sind es 120 Individuen (72,41 und σ 382,75) und in A4 200 Individuen (211,85 und σ 679,90). Allerdings sind die prozentualen Abweichungen zwischen diesen drei Populationsgr¨oßen nur minimal. Nur die Populationsgr¨oße von 200 Individuen konnte sich gegen¨ uber 120 bzw. 500 Individuen um ca. 16% verbessern. Aus diesem Grund und wegen des im Vergleich zu 500 Individuen sehr reduzierten Rechenaufwandes31 wird als beste Populationsgr¨oße 200 Individuen festgelegt. 7.3.3.2 Anzahl Kinder Es werden zwei Varianten betrachtet. Entweder erzeugt ein Elternpaar einen Nachkommen (Single) oder zwei (Double, Standardeinstellung): AN ZKI = {Single;Double}. Tabelle 7.9 gibt wieder die jeweiligen durchschnittlichen, minimalen und maximalen Zielfunktionswerte ZF sowie die dazugeh¨origen Standardabweichungen an (in Einheiten). ZF Varianten Single
Double
d ∈ D30 Dd M ind M axd σd Dd M ind M axd σd
A1 0,91 0,52 2,40 0,39 0,92 0,52 2,47 0,42
A2 0,80 0,47 1,90 0,37 0,78 0,47 1,81 0,32
A3 72,44 0,62 2132,91 382,62 72,41 0,62 2133,55 382,74
A4 214,26 0,80 3140,16 689,75 245,14 0,80 4071,02 827,66
Tabelle 7.9: Simulationsergebnisse in Abh¨angigkeit von der Anzahl Kinder und dem Szenario (in Zielfunktionseinheiten) 30
Die Rundung auf 2 Nachkommastellen in der Tabelle l¨asst nicht erkennen, dass nur die Populationsgr¨oße von 500 Individuen den geringsten durchschnittlichen Zielfunktionswert hat, n¨amlich 0,75827 Einheiten; bei der Populationsgr¨oße liegt er mit 0,76072 dar¨ uber. 31 Die Rechenzeit spielt keine entscheidende Rolle beim betrachteten Praxisproblem. Allerdings spricht nichts dagegen, sie gering zu halten, wenn durch einen erh¨ohten Rechenaufwand keine Verbesserung des Zielfunktionswertes erzielt werden kann.
7.3 Simulationsablauf und -ergebnisse der 2. Phase
227
Der Zielfunktionswert schwankt insgesamt zwischen 0,47 und 4071,02 Einheiten, wobei der minimale Zielfunktionswert Werte zwischen 0,47 (Single) und 0,8 (beide) Einheiten und der maximale zwischen 1,81 (Double) und 4071,02 (Double) annimmt. Der durchschnittliche Zielfunktionswert liegt im Bereich von 0,78 und 245,14 Einheiten. Beide Parametereinstellungen k¨onnen sich nicht richtig voneinander abheben. Double f¨ uhrt in den Szenarien A2 und A3 mit 0,92 (σ 0,32) bzw. 72,41 (σ 382,75) Einheiten zu besseren durchschnittlichen Zielfunktionswerten, Single aber in den Szenarien A1 und A4 mit 0,91 (σ 0,39) bzw. 214,26 (σ 689,75) Einheiten. Ausschlaggebend soll daher hier die ben¨otigte Rechenzeit sein. Die ist beim Parameter Double geringer, so dass f¨ ur den Parameter Anzahl Kinder “ Double ” festgelegt wird. 7.3.3.3 Evolutionsstrategie Als M¨oglichkeiten der Reinsertion werden Replacement mit vier verschiedenen Elitismus-Parametern sowie Competition betrachtet: ES = {R0;R2;R6;R12;C}. Auch f¨ ur diese sind in Tabelle 7.10 die durchschnittlichen, minimalen und maximalen Zielfunktionswerte und jeweiligen Standardabweichungen f¨ ur die vier Szenarien angegeben (in Einheiten). ZF Varianten R0
R2
R6
R12
C
d ∈ D30 Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd
A1 1,76 0,57 5,69 1,36 1,40 0,52 4,83 1,06 1,32 0,52 4,49 1,06 1,24 0,52 4,64 0,96 0,92 0,52 2,47 0,42
A2 1,46 0,55 4,83 1,07 1,21 0,47 3,86 0,88 1,12 0,47 3,65 0,82 1,01 0,47 2,85 0,68 0,78 0,47 1,81 0,32
A3 A4 284,03 537,64 0,78 0,99 4196,42 6128,60 900,33 1493,29 107,91 346,91 0,70 0,86 2136,44 4092,86 421,27 935,06 107,85 386,94 0,64 0,82 2136,49 5589,65 421,37 1138,53 107,72 289,48 0,62 0,80 2135,86 4091,93 421,27 851,08 72,41 245,14 0,62 0,80 2133,55 4071,02 382,74 827,66
Tabelle 7.10: Simulationsergebnisse in Abh¨angigkeit von der Evolutionsstrategie und dem Szenario (in Zielfunktionseinheiten)
228
7 Evaluation
Der minimale Zielfunktionswert liegt zwischen 0,47 (alle bis auf R0) und 0,99 (R0) Einheiten, der maximale Zielfunktionswert zwischen 1,81 (C) und 6128,6 (R0). Damit schwankt der Zielfunktionswert insgesamt zwischen 0,47 und 6128,6. Durchschnittlich nimmt er Werte zwischen 0,78 (C) und 537,64 (R0) Einheiten an. Im Gegensatz zu den beiden vorherigen Parametern f¨allt hier die Entscheidung eindeutig aus: Die Standardeinstellung Competition schneidet am besten ab. In jedem Szenario wird durch diese Evolutionsstrategie der geringste durchschnittliche, minimale und maximale Zielfunktionswert sowie die geringste Standardabweichung erreicht. Replacement ist hinsichtlich des durchschnittlichen Zielfunktionswertes bis zu viermal schlechter als Competition, wobei Replacement umso schlechter wird, je weniger elit¨are Individuen in die neue Generation u ¨bernommen werden. F¨ ur die Problemstellung wird daher die Evolutionsstrategie Competition festgelegt.
7.3.3.4 Abbruchkriterium Die Zielfunktionswerte (Durchschnitt, Minimum und Maximum sowie die dazugeh¨orige Standardabweichung) der 13 betrachteten Abbruchkriterien AB = {BG50-5;BG50-10;BG100-25;BG100-50; BG300-100;GOV10;GOV25;GOV50;G25; G100;G300;G400;G1000} sind f¨ ur alle vier Szenarien in den beiden Tabellen 7.11 und 7.12 auf S. 229 dargestellt. ZF Varianten BG50-5
BG50-10
BG100-25
d ∈ D30 Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd
A1 1,34 0,52 5,19 1,10 1,07 0,52 3,61 0,71 0,92 0,52 2,47 0,42
A2 1,10 0,47 4,13 0,84 0,99 0,47 3,98 0,80 0,78 0,47 1,81 0,32
A3 A4 160,75 346,82 0,62 0,86 2677,10 5590,46 535,75 1094,23 126,12 386,67 0,68 0,84 2135,79 5166,31 428,52 1093,10 72,41 245,14 0,62 0,80 2133,55 4071,02 382,74 827,66
Tabelle 7.11: Simulationsergebnisse in Abh¨angigkeit vom Abbruchkriterium und Szenario (in Zielfunktionseinheiten) – Teil 1
7.3 Simulationsablauf und -ergebnisse der 2. Phase
229
ZF Varianten BG100-50
BG300-100
GOV10
GOV25
GOV50
G25
G100
G300
G400
G1000
d ∈ D30 Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd
A1 0,92 0,52 2,45 0,41 0,87 0,52 2,23 0,33 1,05 0,52 4,51 0,75 0,88 0,52 1,88 0,31 0,88 0,52 1,88 0,31 1,25 0,52 4,81 0,98 0,92 0,52 2,39 0,41 0,87 0,52 1,99 0,30 0,86 0,52 1,96 0,29 0,87 0,52 1,74 0,30
A2 0,78 0,47 1,93 0,33 0,74 0,47 1,53 0,24 0,84 0,47 2,84 0,53 0,74 0,47 1,41 0,23 0,74 0,47 1,39 0,23 1,04 0,47 3,63 0,78 0,77 0,47 1,80 0,31 0,75 0,47 1,76 0,28 0,74 0,47 1,53 0,25 0,73 0,47 1,33 0,22
A3 72,35 0,62 2134,21 382,88 72,23 0,62 2132,63 382,61 72,56 0,62 2135,28 383,04 72,23 0,62 2132,05 382,50 72,24 0,62 2132,06 382,50 107,95 0,62 2135,59 421,83 72,34 0,62 2133,37 382,72 72,22 0,62 2131,93 382,48 72,19 0,62 2132,80 382,65 72,19 0,62 2132,00 382,50
A4 211,84 0,80 3070,91 679,88 244,98 0,80 4069,40 827,29 212,16 0,82 3072,68 680,50 211,77 0,80 3069,58 679,79 211,62 0,80 3069,59 679,42 369,06 0,84 5588,66 1120,12 211,88 0,80 3071,91 680,05 245,00 0,84 4070,81 827,54 211,55 0,80 3068,93 679,31 211,57 0,80 3069,25 679,37
Tabelle 7.12: Simulationsergebnisse in Abh¨angigkeit vom Abbruchkriterium und Szenario (in Zielfunktionseinheiten) – Teil 2 Der durchschnittliche Zielfunktionswert nimmt Werte zwischen 0,73 (G1000) und 386,67 (BG50-10) Einheiten an. Das Minimum bewegt sich im Bereich von 0,47 (alle) bis 0,86 (BG50-5), das Maximum von 1,33 (G1000) bis 5590,46 (BG50-5) Einheiten.
230
7 Evaluation
Es l¨asst sich sagen, dass der Zielfunktionswert tendenziell umso besser wird, je mehr Generationen durchlaufen werden. Die Standardeinstellung BG100-25 schneidet daher nur mittelm¨aßig ab. G25 und BG50-5 liefern die schlechtesten, G400 und G1000 die besten Ergebnisse. Der Unterschied zwischen diesen beiden Abbruchkriterien ist sehr gering. Der durchschnittliche Zielfunktionswert ist in den Szenarien A1 und A4 beim Abbruchkriterium G400 mit den Werten 0,86 (σ 0,3) bzw. 211,55 (σ 679,31) am geringsten, wobei G1000 nur 1,34% bzw. 0,01% schlechter ist. In den Szenarien A2 und A3 ist G1000 dagegen mit 0,73 (σ 0,22) und 72,19 (σ 382,5) Einheiten 1,6% bzw. 0,002% besser als G400. Es kann daher nicht eindeutig bestimmt werden, welches von diesen beiden Abbruchkriterien insgesamt besser ist. Die Entscheidung f¨allt auf G400, weil es sich durch eine geringere Rechenzeit auszeichnet. Es erreicht zudem immer das minimale Minimum und in A4 das minimale Maximum. 7.3.3.5 Selektion des Mating-Pool F¨ ur die Selektion des Mating-Pool ist einerseits ein Selektionsverfahren und andererseits der Selektionsdruck festzulegen. Selektionsverfahren ¨ Die Tabelle 7.13 gibt wieder einen Uberblick u ¨ber die Zielfunktionswerte der drei betrachteten Selektionsverfahren SV = {3-Turnier;5-Turnier;Pointer}, wobei Pointer der Standardeinstellung entspricht. ZF Varianten 3-Turnier
5-Turnier
Pointer
d ∈ D30 Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd
A1 0,94 0,52 2,41 0,42 0,95 0,52 2,62 0,46 0,92 0,52 2,47 0,42
A2 0,82 0,47 2,11 0,38 0,83 0,47 2,04 0,38 0,78 0,47 1,81 0,32
A3 72,36 0,62 2133,62 382,77 72,42 0,62 2133,03 382,65 72,41 0,62 2133,55 382,74
A4 211,74 0,80 3069,80 679,53 280,56 0,82 4088,58 841,30 245,14 0,80 4071,02 827,66
Tabelle 7.13: Simulationsergebnisse in Abh¨angigkeit vom Verfahren zur Selektion des Mating-Pool und dem Szenario (in Zielfunktionseinheiten) Insgesamt schwankt der Zielfunktionswert zwischen 0,47 (alle) und 4088,58 (5-Turnier) Einheiten, wobei das gr¨oßte Minimum 0,82 von 5-Turnier und das kleinste Maximum 1,81 von Pointer erzielt wird.
7.3 Simulationsablauf und -ergebnisse der 2. Phase
231
Auch bei der Auswahl des geeignetsten Selektionsverfahrens kann keine eindeutige Aussage getroffen werden. 5-Turnier ist eindeutig am schlechtesten. 3Turnier und Pointer k¨onnen jeweils in zwei Szenarien am meisten u ¨berzeugen. Pointer hat in A1 und A2 jeweils den geringsten durchschnittlichen Zielfunktionswert: Mit 0,92 (σ 0,42) in A1 bzw. 0,78 (σ 0,32) in A2 ist dieses Selektionsverfahren 1,7% bzw. 5,3% besser als 3-Turnier. Dagegen ist Pointer in A3 0,08 und in A4 15,8% schlechter als 3-Turnier, das durchschnittliche Zielfunktionswerte von 72,36 (σ 382,77) bzw.245,14 (σ 827,66) erzielen kann. Da Pointer bei den realistischen“ Nachfragemengen bessere Ergebnisse erzie” len kann und dies bei einer generell niedrigeren Rechenzeit als 3-Turnier, wird Pointer als Selektionsverfahren festgelegt. Pointer erreicht zudem immer das geringste Minimum und in A2 auch das geringste Maximum. Selektionsdruck Neben dem Selektionsverfahren ist der Selektionsdruck festzulegen. Es werden zwei Varianten SD = {1, 2; 1, 95} getestet. Die Ergebnisse sind in folgender Tabelle 7.14 zusammengefasst. ZF Varianten 1,2
1,95
d ∈ D30 Dd M ind M axd σd Dd M ind M axd σd
A1 0,91 0,52 2,40 0,39 0,92 0,52 2,47 0,42
A2 0,80 0,47 1,90 0,37 0,78 0,47 1,81 0,32
A3 72,44 0,62 2132,91 382,62 72,41 0,62 2133,55 382,74
A4 214,26 0,80 3140,16 689,75 245,14 0,80 4071,02 827,66
Tabelle 7.14: Simulationsergebnisse in Abh¨angigkeit vom Selektionsdruck und Szenario (in Zielfunktionseinheiten) Der Zielfunktionswert nimmt Werte zwischen 0,47 (bei beiden) und 4071,02 ( 1,95“) Einheiten an. Der minimale Zielfunktionswert ist maximal 0,80 (bei ” beiden), der maximale Zielfunktionswert minimal 1,81 ( 1,95“) Einheiten. Die ” durchschnittlichen Werte liegen zwischen 0,78 ( 1,95“) und 245,14 ( 1,95“) Ein” ” heiten. Beide Varianten sind in jeweils zwei Szenarien besser als die andere: 1,2“ mit ” 0,91 (σ 0,39) in A1 und mit 214,26 (σ 689,75) in A4; 1,95“ mit 0,78 (σ 0,32) ” in A1 und mit 245,14 (σ 827,66) in A4. Der Selektionsdruck von 1,2 ist in den Szenarien A1 und A4 1,8% bzw. 14,4% besser und in A2 und A3 2,4% bzw. 0,04% schlechter als der Selektionsdruck von 1,95. Da 1,2 in A4 signifikant
232
7 Evaluation
bessere Ergebnisse als 1,95“ erzielt und immer das minimale Minimum und ” dreimal das minimale Maximum erreicht, wird f¨ ur den Selektionsdruck 1,2“ ” festgelegt, wie es bereits der Standardeinstellung entsprach. 7.3.3.6 Crossover F¨ ur das Crossover muss ein Crossover-Verfahren sowie die Crossover-Wahrscheinlichkeit bestimmt werden. Crossover-Verfahren Es muss entschieden werden, welches Crossover-Verfahren dem Genetischen Algorithmus vorgegeben werden soll. Es werden zwei Varianten getestet – X = {PBX; GOX} –, wobei GOX der Standardeinstellung entspricht. In Tabelle 7.15 sind f¨ ur beide Verfahren jeweils die durchschnittlichen D120 ZF , minimalen 30 M in ZF und maximalen M ax30 ZF Zielfunktionswerte sowie die dazugeh¨oriur alle vier Szenarien angegeben. gen Standardabweichungen σ 30 ZF f¨ ZF Varianten PBX
GOX
d ∈ D30 Dd M ind M axd σd Dd M ind M axd σd
A1 0,92 0,52 2,47 0,42 0,91 0,52 2,87 0,44
A2 0,78 0,47 1,81 0,32 0,76 0,47 1,70 0,28
A3 72,41 0,62 2133,55 382,74 72,36 0,62 2133,22 382,69
A4 245,14 0,80 4071,02 827,66 245,24 0,80 4071,32 827,83
Tabelle 7.15: Simulationsergebnisse in Abh¨angigkeit vom Crossover-Verfahren und Szenario (in Zielfunktionseinheiten) Der Zielfunktionswert schwankt insgesamt zwischen 0,47 (alle) und 4071,32 (GOX) Einheiten, wobei der gr¨oßte minimale Wert in H¨ohe von 0,8 Einheiten bei beiden Crossover-Verahren vorkommt und der kleinste maximale Wert in H¨ohe von 1,7 Einheiten nur bei GOX. Der durchschnittliche Zielfunktionswert nimmt Werte im Bereich von 0,76 (GOX) und 245,24 (GOX) Einheiten an. GOX schneidet besser als PBX ab. In den Szenarien A1 bis A3 liefert GOX mit 0,91 (σ 0,44), 0,76 (σ 0,28) bzw. 72,36 (σ 382,69) Einheiten die maximal 3% besseren durchschnittlichen Zielfunktionswerte als PBX; in Szenario A4 ist dagegen PBX mit 245,14 (σ 827,66) besser, allerdings nur 0,04%. Aus diesem Grund wird als bestes Crossover-Verfahren GOX festgelegt.
7.3 Simulationsablauf und -ergebnisse der 2. Phase
233
Crossover-Wahrscheinlichkeit Neben dem Crossover-Verfahren muss auch die Crossover-Wahrscheinlichkeit festgelegt werden. Es werden mit PC = {60; 95; 100} drei Wahrscheinlichkeiten pC getestet. Die Ergebnisse bzgl. dem Zielfunktionswert sind in folgender Tabelle 7.16 zusammengefasst. ZF Varianten 60
95
100
d ∈ D30 Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd
A1 0,99 0,52 2,26 0,46 0,92 0,52 2,47 0,42 0,94 0,52 2,71 0,47
A2 0,83 0,47 1,90 0,38 0,78 0,47 1,81 0,32 0,79 0,47 1,98 0,38
A3 107,27 0,62 2132,82 420,64 72,41 0,62 2133,55 382,74 72,47 0,62 2134,35 382,88
A4 245,21 0,84 4070,47 827,56 245,14 0,80 4071,02 827,66 211,99 0,84 3072,51 680,35
Tabelle 7.16: Simulationsergebnisse in Abh¨angigkeit von der Crossover-Wahrscheinlichkeit pC und dem Szenario (in Zielfunktionseinheiten)
Die minimalen Zielfunktionswerte liegen im Bereich von 0,47 (alle) und 0,84 (60 und 100), die maximalen von 1,81 (95) und 4071,02 (95). Der durchschnittliche Zielfunktionswert schwankt zwischen 0,78 (95) und 245,21 (60). Die 60-prozentige Crossover-Wahrscheinlichkeit f¨ uhrt in jedem Szenario zu den schlechtesten Ergebnissen. In drei der vier Szenarien liefert die Wahrscheinlichkeit von 95% (Standardeinstellung) die niedrigsten durchschnittlichen Zielfunktionswerte: in A1 0,92 (σ 0,42), in A2 0,78 (σ 0,32) und in A3 72,41 (σ 382,74) Einheiten. Nur in Szenario A4 ist sie 13,5% schlechter als die 100prozentige Crossover-Wahrscheinlichkeit mit dem durchschnittlichen Zielfunktionswert von 211,99 (σ 680,35) Einheiten. Bei einer 95-prozentigen CrossoverWahrscheinlichkeit wird außerdem immer der kleinste minimale und in A2 der kleinste maximale Zielfunktionswert erreicht. Da die Crossover-Wahrscheinlichkeit in den meisten und v. a. in allen realistischen“ Szenarien zu besseren Er” gebnissen f¨ uhrt, wird pX = 95% festgesetzt. 7.3.3.7 Mutation In diesem Abschnitt soll anhand der Ergebnisse der Simulationen entschieden werden, ob und wie die Mutation erfolgen soll. Es werden neben der Standardversion BM3 sechs weitere Varianten auf ihre Eignung f¨ ur das Praxisproblem
234
7 Evaluation
getestet – GAM = {BM3;BM10;OBM3;ohneM;RM3;RM10}. Tabelle 7.17 gibt f¨ ur jede Variante den durchschnittlichen D30 ZF , minimalen M in30 ZF und maximalen M ax30 ZF Zielfunktionswert sowie die dazugeh¨orige Standardabweiur alle vier Szenarien an. chung σ 30 ZF f¨ ZF Varianten BM3
BM10
OBM3
OBM10
ohneM
RM3
RM10
d ∈ D30 Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd Dd M ind M axd σd
A1 0,92 0,52 2,47 0,42 0,94 0,52 2,47 0,46 0,93 0,52 2,39 0,45 0,93 0,52 2,37 0,43 0,95 0,52 2,85 0,50 0,91 0,52 2,55 0,42 0,94 0,52 2,60 0,47
A2 0,78 0,47 1,81 0,32 0,77 0,47 1,65 0,31 0,77 0,47 1,82 0,30 0,78 0,47 1,62 0,33 0,79 0,47 2,11 0,38 0,81 0,47 2,21 0,41 0,79 0,47 2,06 0,35
A3 72,41 0,62 2133,55 382,74 72,37 0,62 2132,82 382,62 72,39 0,62 2133,40 382,72 72,37 0,62 2132,90 382,63 72,38 0,62 2133,81 382,80 107,30 0,62 2134,30 420,96 72,45 0,62 2133,63 382,75
A4 245,14 0,80 4071,02 827,66 248,12 0,80 4160,94 841,53 211,78 0,80 3071,03 679,81 245,17 0,80 4071,41 827,71 287,01 0,80 4110,73 850,49 211,84 0,80 3071,13 679,81 288,57 0,80 4071,84 847,97
Tabelle 7.17: Simulationsergebnisse in Abh¨angigkeit von der Mutation und dem Szenario (in Zielfunktionseinheiten))
Der Zielfunktionswert schwankt insgesamt zwischen 0,47 und 4160,94 Einheiten, wobei der minimale Zielfunktionswert zwischen 0,47 (alle) und 0,8 (alle) und der maximale Zielfunktionswert zwischen 1,62 (OBM10) und 4160,94 (BM10) Einheiten liegt. Der durchschnittliche Zielfunktionswert nimmt Werte im Bereich von 0,77 (BM10)32 und 288,57 (RM10) Einheiten an. 32
Die Rundung auf 2 Nachkommastellen in der Tabelle l¨asst nicht erkennen, dass nur BM10 den geringsten durchschnittlichen Zielfunktionswert hat, n¨amlich 0,76707 Einheiten; OBM3 liegt mit 0,76856 dar¨ uber.
7.3 Simulationsablauf und -ergebnisse der 2. Phase
235
Die beste Variante der Mutation ist BM10 mit Zielfunktionswerten zwischen 0,77 und 248,12 Einheiten. BM10 erzeugt in Szenario A1 den geringsten minimalen und in A3 den geringsten maximalen Zielfunktionswert. Außerdem erreicht diese Variante in zwei Szenarien die geringsten durchschnittlichen Zielfunktionswerte: Bei A2 0,77 (σ 0,31) und bei A3 72,37 (σ 382,62) Einheiten. Zwar ist in Szenario A1 RM3 mit 0,91 (σ 0,42) Einheiten 3,3% und in Szenario A4 OBM3 mit 211,78 (σ 679,81) Einheiten 14,7% besser als BM10. Da BM10 aber insgesamt besser ist, wird dennoch f¨ ur die Mutation BM10 festgelegt. 7.3.3.8 Zusammenfassung An dieser Stelle wird noch einmal die endg¨ ultige Auswahl (GA∗ ) der jeweiligen Parametereinstellungen in folgender Tabelle 7.18 zusammengefasst:
Populationsgr¨oße Anzahl Kinder Evolutionsstrategie Abbruchkriterium Selektion des Mating-Pool Selektionsverfahren Selektionsdruck
200 Double C G400 Pointer 1,2
Crossover Crossover-Verfahren Crossover-Wahrscheinlichkeit
GOX 95
Mutation
BM10
∗
Tabelle 7.18: GA – Endg¨ ultige Parametereinstellung des Genetischen Algorithmus
Diese Parametereinstellungen haben sich in der ceteris paribus Betrachtung als f¨ ur die Problemstellung am geeignetsten erwiesen und werden daher abschließend gemeinsam bei der Berechnung der Datens¨atze D120 angewendet. Die Ergebnisse sind in der folgenden Tabelle 7.19 auf S. 236 f¨ ur alle sechs Kriterien f¨ ur die Datensatz-Mengen D100 , D20 und D120 dargestellt.33 Diese Ergebnisse werden im folgenden Abschnitt mit denen des Priorit¨atsregelverfahrens verglichen. 33
Eine identische Tabelle, Tabelle A.7, f¨ ur die Datens¨atze D30 findet sich im Anhang auf S. 268.
236
7 Evaluation A1
GA∗
Dd
A2 σd
A3 Dd
A4
Dd
σd
σd
Dd
σd
d ∈ D100 135,0 2993,65 2,11 97,53 983,46 0,0995
49,5 282,6 21183,52 3552,27 6,86 3,31 400,15 215,66 2345,63 778,31 0,03 0,1706
59,6 349,2 23398,81 2600,11 9,34 4,22 711,51 291,41 3201,35 893,99 0,04 0,2417
ZF Z AnzT A+ + T AK + T AK+ AnzF nT
0,7678 0,1783 17653,74 2587,67 3,54 2,04 181,61 129,81 2006,00 1106,11 0 0
14,2 16848,41 2,96 98,47 1254,49 0,01
ZF Z AnzT A+ + T AK + T AK+ AnzF nT
56,7 240,0 25156,95 2455,91 13,95 5,30 570,70 355,40 2724,05 982,97 0,05 0,2179
d ∈ D20 336,1 832,2 25263,05 2877,68 11,50 5,30 356,19 182,36 2218,16 998,13 0,15 0,3571
984,0 1010,7 28691,10 2523,82 22,25 5,86 1268,87 503,95 3930,97 814,98 0,7 0,7141
2925,2 2660,6 31485,50 2960,51 29,15 5,84 2367,72 888,69 5570,64 1322,54 2,4 2,2891
10,1 100,2 18904,28 3795,32 5,28 4,82 246,46 236,90 2125,67 1110,24 0,0083 0,0909
d ∈ D120 380,8 4322,34 4,30 150,65 1034,65 0,1795
205,3 598,4 22434,78 4405,16 9,43 6,91 544,93 431,16 2609,85 982,13 0,1417 0,4142
537,2 1556,3 24746,59 4022,08 12,64 8,66 987,54 763,79 3596,23 1318,02 0,4333 1,3021
ZF Z AnzT A+ + T AK + T AK+ AnzF nT
67,9 18250,85 4,38 141,42 1415,10 0,0333
Tabelle 7.19: Ergebnisse (Durchschnitt Dd und Standardabweichung σ d ) des Genetischen Algorithmus mit der besten Parametereinstellung GA∗ der in d angegebenen Datens¨atze in Abh¨angigkeit vom Szenario
Wie beim Priorit¨atsregelverfahren verschlechtern sich auch hier erwartungsgem¨aß die Ergebnisse aller Kriterien durch eine steigende Auftragsanzahl bzw. eine Reduzierung der verf¨ ugbaren Kapazit¨at. Dies soll wieder exemplarisch am Zielfunktionswert ZF gezeigt werden. Bei zunehmender Auftragsanzahl steigt der Zielfunktionswert im Durchschnitt u ¨ber alle vier Szenarien A1 bis A4 von 31 auf 1757,5 Einheiten, d. h. um 3467%. Durch die Reduktion der verf¨ ugbaren Maschinenkapazit¨at verschlechtert sich f¨ ur D120 der Zielfunktionswert von 10,1 um 5319% auf 537,2 Einheiten.
7.4 Ergebnisvergleich der beiden L¨osungsverfahren
237
7.4 Ergebnisvergleich der beiden L¨ osungsverfahren Im Folgenden werden die jeweils besten Varianten des Priorit¨atsregelverfahur alle 120 Datens¨atze rens (PRIO∗ ) und des Genetischen Algorithmus (GA∗ ) f¨ miteinander verglichen. Hierzu werden in den folgenden Tabellen nochmals die Durchschnittswerte sowie die Standardabweichung f¨ ur die Szenarien A1 - A4 und die Datensatz-Mengen D100 , D20 und D120 angegeben sowie in Abbildung 7.3 auf S. 243 nur f¨ ur D120 als Balkendiagramm dargestellt.
7.4.1 Zielfunktionswert A1 Varianten
PRIO GA∗
∗
Dd
A2 σd
1,2495 0,7678
0,4194 0,1783
PRIO∗ GA∗
368,1 56,7
948,9 240,0
PRIO∗ GA∗
62,4 10,1
410,8 100,2
Dd
A3 σd
σd
Dd
σd
112,8 49,5
630,3 282,6
143,6 59,6
506,5 349,2
d ∈ D20 827,0 2241,7 1750,7 832,2 984,0 1010,7
4205,1 2925,2
2320,6 2660,6
d ∈ D100 14,7 135,1 14,2 135,0 374,6 336,1
A4
Dd
d ∈ D120 74,7 383,7 67,9 380,8
467,6 1213,0 205,3 598,4
820,5 1844,6 537,2 1556,3
Tabelle 7.20: Vergleich der Ergebnisse bzgl. dem Zielfunktionswert (Dd ZF und σ d ZF ) der in d angegebenen Datens¨atze (in Einheiten)
Aus obiger Tabelle 7.20 ist ersichtlich, dass der Genetische Algorithmus in jedem Szenario durchschnittlich besser ist als das Priorit¨atsregelverfahren. Die durchschnittliche Verbesserung f¨ ur die Datensatz-Menge D100 ist 37,1 Einheiur D120 ten (das entspricht 39,1%), f¨ ur D20 ist 721,9 Einheiten (45,4%) und f¨ ist 151,2 Einheiten (45,9%).34 Werden die einzelnen Datens¨atze betrachtet, ist PRIO∗ in Szenario A1 5-mal, in A2 1-mal, in A3 3-mal und in A4 4-mal besser als GA∗ .35 Es wird bei keinem Datensatz ein identischer Zielfunktionswert er34
Anmerkung: Die durchschnittliche absolute Verbesserung berechnet sich, indem der Mittelwert der Differenzen der vier Szenarien durchschnittlichen Zielfunktionswerte von PRIO∗ und GA∗ bildet. Die durchschnittliche prozentuale Verbesserung berechnet sich, indem der Mittelwert der prozentualen Verbesserung der vier Szenarien von GA∗ im Vergleich zu PRIO∗ gebildet wird. Vgl. dazu auch Tabelle 7.27 auf S. 244. 35 Die einzelnen Ergebnisse sind zwar in dieser Arbeit wegen der hohen Datenmenge nicht aufgef¨ uhrt. Es wird aber versucht, an relevanten Stellen alle interessante Informationen zu geben.
238
7 Evaluation
zielt. Damit ist der Genetische Algorithmus in 97,3% der Datens¨atze36 besser als das Priorit¨atsregelverfahren.
7.4.2 Fertigstellung nach dem Ende des Planungszeitraums Auch wenn das Kriterium AnzF nT einzeln betrachtet wird (vgl. Tabelle 7.21), liefert der Genetische Algorithmus bessere Ergebnisse. Das Priorit¨atsregelverfahren ist in jedem Szenario und bei jeder Datensatz-Menge schlechter als der Genetischen Algorithmus. Die durchschnittliche Verbesserung f¨ ur die Datensatzur D20 0,8 Auftr¨age (49%) und Menge D100 betr¨agt 0,0225 Auftr¨age (25,9%), f¨ f¨ ur D120 0,152 Auftr¨age (47,9%). PRIO∗ ist in Szenario A1 bei keinem Datensatz besser, in A2 bei einem, in A3 bei f¨ unf und in A4 bei zwei Datens¨atzen. Allerdings erzeugen beide L¨osungsverfahren sehr h¨aufig eine identische Anzahl an Auftr¨agen, die erst nach dem Planungszeitraum fertig sind. In den Szenarien A1 und A2 ist dies bei 117 von 120 Datens¨atzen der Fall, in den Szenarien A3 und A4, etwas seltener, bei 101 bzw. 93 Datens¨atzen. Damit ist das Priorit¨atsregelverfahren in 90,8% der Datens¨atze mindestens so gut wie der Genetische Algorithmus.
A1 Varianten
PRIO GA∗ PRIO GA∗
∗
∗
PRIO∗ GA∗
Dd
A2 σd
Dd
A3 σd
Dd
A4 σd
Dd
σd
0 0
d ∈ D100 0,01 0,0995 0,01 0,0995
0,05 0,03
0,2598 0,1706
0,11 0,04
0,3974 0,2417
0,2 0,5099 0,05 0,2179
d ∈ D20 0,2 0,4 0,15 0,3571
1,3 0,7
1,005 0,7141
4,8 2,4
2,8566 2,2891
d ∈ D120 0,0417 0,1998 0,0333 0,1795
0,2583 0,1417
0,6645 0,4142
0,8917 0,4333
2,1323 1,3021
0 0
0,0333 0,0083
0,2211 0,0909
Tabelle 7.21: Vergleich der Ergebnisse bzgl. der Anzahl nach T fertig gestellter Auftr¨age (Dd AnzF nT und σ d AnzF nT) der in d angegebenen Datens¨atze (in St¨ uck)
36
Im Durchschnitt u ¨ber alle 4 Szenarien.
7.4 Ergebnisvergleich der beiden L¨osungsverfahren
239
7.4.3 Zykluszeit Bei Betrachtung der in der Tabelle 7.22 dargestellten Ergebnisse kann konstatiert werden, dass auch bei der Zykluszeit durch den Genetischen Algorithmus im Vergleich zum Priorit¨atsregelverfahren in jedem Szenario und bei jeder Datensatz-Menge durchschnittlich eine Verbesserung erzielt werden kann. Allerdings ist die Verbesserung bei der Zykluszeit im Vergleich zu den anderen Kriterien am geringsten: Die durchschnittliche Verbesserung f¨ ur die Datensatzur D20 mit 1403,8 Minuten Menge D100 betr¨agt mit 1681,6 Minuten nur“ 7,9%, f¨ ” 4,8% und f¨ ur D120 mit 1635,3 Minuten 7,3%. Die Zykluszeit ist bei PRIO∗ in Szenario A1 bei 17 (17) Datens¨atzen besser als (gleich wie) beim Genetischen Algorithmus, in A2 bei 11 (15), in A3 bei 7 (21) und in A4 bei 19 (20) Datens¨atzen. Im Durchschnitt u ¨ber alle vier Szenarien ist PRIO∗ damit bei 26,5% der Datens¨atze mindestens so gut wie GA∗ . A1 Varianten
PRIO GA∗ PRIO GA∗ PRIO GA∗
∗
∗
∗
Dd
19174,06 17653,74 26199,55 25156,95 20344,98 18904,28
A2 σd
Dd
A3 σd
Dd
A4 σd
Dd
σd
2855,25 2587,67
d ∈ D100 18545,96 2953,96 16848,41 2993,65
23280,07 3260,97 21183,52 3552,27
24810,91 2659,30 23398,81 2600,11
2350,78 2455,91
d ∈ D20 26508,60 2446,48 25263,05 2877,68
30669,15 2347,69 28691,10 2523,82
32834,55 2695,19 31485,50 2960,51
3817,06 3795,32
d ∈ D120 19873,07 4132,21 18250,85 4322,34
24511,58 4166,93 22434,78 4405,16
26148,18 4005,67 24746,59 4022,08
Tabelle 7.22: Vergleich der Ergebnisse bzgl. der Zykluszeit (Dd Z und σ d Z) der in d angegebenen Datens¨atze (in Minuten)
7.4.4 Terminu ¨ berschreitung 7.4.4.1 Anzahl Termin¨ uberschreitungen Die Anzahl der Termin¨ uberschreitungen kann absolut und prozentual bezogen auf die Anzahl herzustellender Auftr¨age betrachtet werden. In beiden F¨allen erzielt der Genetische Algorithmus in jedem Szenario und bei jeder DatensatzMenge durchschnittlich eine geringere Anzahl an Auftr¨agen, deren Fertigstellungszeitpunkte ihre Fertigstellungstermine u ¨berschreiten, und ist somit besser als das Priorit¨atsregelverfahren.
240
7 Evaluation A1 Varianten
PRIO GA∗ PRIO GA∗ PRIO GA∗
∗
∗
∗
Dd
A2 Dd
A3 σd
A4
Dd
σd
Dd
σd
3,50 2,04
d ∈ D100 7,24 3,35 2,96 2,11
11,17 6,86
4,39 3,31
12,60 9,34
4,95 4,22
23,35 3,65 13,95 5,30
d ∈ D20 22,25 3,82 11,50 5,30
30,40 22,25
5,27 5,86
34,30 29,15
6,16 5,84
10,51 6,74 5,28 4,82
d ∈ D120 9,74 6,56 4,38 4,30
14,38 9,43
8,49 6,91
16,22 12,64
9,60 8,66
7,94 3,54
σd
Tabelle 7.23: Vergleich der Ergebnisse bzgl. der Anzahl Termin¨ uberschreitungen (Dd AnzT A+ und σ d AnzT A+ ) der in d angegebenen Datens¨atze (in St¨ uck)
Wird die absolute Anzahl betrachtet (vgl. obige Tabelle 7.23), gibt es eine Verbesserung bei der Datensatz-Menge D100 von durchschnittlich 4,1 Auftr¨agen (44,8%), bei D20 von 8,4 Auftr¨agen (32,6%) und bei D120 von 4,8 Auftr¨agen (40,3%). In Szenario A1 erzielt PRIO∗ bei 3 (5) Datens¨atzen eine geringere (gleiche) Anzahl wie GA∗ , in A2 bei 1 (2), in A3 bei 1 (6) und in A4 bei 6 (10) Datens¨atzen. Im Durchschnitt u ¨ber alle vier Szenarien und alle Datens¨atze erreicht das Priorit¨atsregelverfahren nur bei 7,1% der Datens¨atze eine mindestens so geringe Anzahl oder eine geringere Anzahl als der Genetische Algorithmus.
A1 Varianten
PRIO GA∗ PRIO GA∗ PRIO GA∗
∗
∗
∗
Dd
A2 σd
Dd
A3 σd
Dd
A4 σd
Dd
σd
19,06 6,29 8,63 4,55
d ∈ D100 17,32 6,16 7,10 4,59
26,96 7,70 16,80 6,85
30,35 22,49
8,20 7,74
33,07 4,02 19,73 7,12
d ∈ D20 31,49 4,27 16,33 7,46
43,05 6,17 31,41 7,34
48,42 41,27
6,52 7,45
21,39 7,93 10,48 6,54
d ∈ D120 19,68 7,90 8,64 6,22
29,64 9,57 19,23 8,82
33,37 25,62
10,41 10,40
Tabelle 7.24: Vergleich der Ergebnisse bzgl. der Anzahl Termin¨ uberschreitungen (Dd AnzT A+ und σ d AnzT A+ ) der in d angegebenen Datens¨atze (in Prozent)
7.4 Ergebnisvergleich der beiden L¨osungsverfahren
241
Wird die prozentuale Anzahl betrachtet (vgl. Tabelle 7.24 auf der vorherigen Seite), sind die Ergebnisse den obigen sehr ¨ahnlich. Die durchschnittliche Verbesserung bei der Datensatz-Menge D100 betr¨agt mit 9,7% der Auftr¨age 44,3%, bei D20 mit 11,8% der Auftr¨age 32,6% und bei D120 mit 10% der Auftr¨age 41,4%. In Szenario A1 erzielt PRIO∗ bei 5 (0) Datens¨atzen eine geringere (gleiche) Anzahl wie GA∗ , in A2 bei 2 (0), in A3 bei 4 (1) und in A4 bei 10 (3) Datens¨atzen. Damit erzielt das Priorit¨atsregelverfahren im Durchschnitt u ¨ber alle vier Szenarien und alle Datens¨atze nur bei 5,2% der Datens¨atze eine gleichen oder geringeren Prozentsatz an versp¨ateten Auftr¨agen. 7.4.4.2 H¨ ohe Termin¨ uberschreitung Auch hinsichtlich der H¨ohe der Termin¨ uberschreitung liefert das Priorit¨atsregelverfahren in jedem Szenario und bei jeder Datensatz-Menge schlechtere Ergebnisse als der Genetische Algorithmus, unabh¨angig davon, ob die durch+ schnittliche Termin¨ uberschreitung von allen K Auftr¨agen berechnet wird (T AK ) + oder nur auf die versp¨ateten K+ Auftr¨age bezogen wird T AK+ ).
A1 Varianten PRIO∗ GA∗ PRIO∗ GA∗ PRIO GA∗
∗
A2 σd
653,37 181,61
311,94 129,81
d ∈ D100 548,09 276,96 98,47 97,53
1641,33 368,82 570,70 355,40
d ∈ D20 1475,69 326,09 356,19 182,36
818,03 246,46
489,21 236,90
Dd
A3
Dd
σd
d ∈ D120 702,69 448,50 141,42 150,65
Dd
A4 σd
Dd
σd
1199,45 475,71 400,15 215,66
1460,75 523,75 711,51 291,41
2656,07 1268,87
3533,55 2367,72
616,99 503,95
1442,22 739,40 544,93 431,16
826,26 888,69
1806,21 969,08 987,54 763,79
Tabelle 7.25: Vergleich der Ergebnisse bzgl. der auf alle K Auftr¨age bezogenen + + durchschnittlichen Termin¨ uberschreitung (Dd T AK und σ d T AK ) der in d angegebenen Datens¨atze (in Minuten)
Im ersten Fall zeigt der Genetische Algorithmus im Vergleich zu allen anderen Kriterien die gr¨oßte Verbesserung gegen¨ uber den Ergebnissen beim Priorit¨atsregelverfahren (vgl. Tabelle 7.25). Die durchschnittliche Verbesserung f¨ ur die ur D20 mit 1185,8 Datensatz-Menge D100 betr¨agt mit 617,5 Minuten 68%, f¨ Minuten 56,6% und f¨ ur D120 mit 712,2 Minuten 64,3%. Werden die einzelnen Datens¨atze betrachtet, kann PRIO∗ nur in Szenario A1 3-mal und in A4 2-mal
242
7 Evaluation
bessere Werte als GA∗ erzielen. Außerdem wird bei keinem Datensatz ein identischer Zielfunktionswert erzielt. Damit ist der Genetische Algorithmus beim Kriterium der durchschnittlichen H¨ohe der Termin¨ uberschreitung in 99% der F¨alle besser als das Priorit¨atsregelverfahren. Wird die durchschnittliche Termin¨ uberschreitung der versp¨ateten Auftr¨age berechnet (vgl. Tabelle 7.26), verbessert sich das Kriterium f¨ ur die Datensatzur D20 um 2119,7 Menge D100 durchschnittlich um 1683,3 Minuten (44,6%), f¨ + Minuten (38,9%) und f¨ ur D120 um 1756 Minuten (43,3%). T AK+ ist beim Priorit¨atsregelverfahren in Szenario A1 bei 15 Datens¨atzen besser als beim Genetischen Algorithmus, in A2 bei 9, in A3 bei 4 und in A4 bei 11 Datens¨atzen. Nur in Szenario A3 kann PRIO∗ bei einem einzigen Datensatz ein identisches Ergebnis wie GA∗ erzielen. Im Durchschnitt u ¨ber alle vier Szenarien ist PRIO∗ damit nur bei 8,3% der Datens¨atze mindestens so gut wie GA∗ . A1
A2
Dd
σd
Dd
PRIO∗ GA∗
3344,44 2006,00
1130,51 1106,11
3072,50 1254,49
PRIO∗ GA∗
4918,44 2724,05
689,82 982,97
4669,24 2218,16
Varianten
PRIO GA∗
∗
3606,77 2125,67
1220,02 1110,24
A3 σd
A4
Dd
σd
Dd
σd
d ∈ D100 1031,62 983,46
4360,98 2345,63
1134,96 778,31
4762,73 3201,35
995,76 893,99
d ∈ D20 735,34 998,13
6100,18 3930,97
721,48 814,98
7234,64 5570,64
1018,51 1322,54
d ∈ D120 3338,62 1153,73 1415,10 1034,65
4650,84 2609,85
1257,11 982,13
5174,72 3596,23
1359,35 1318,02
Tabelle 7.26: Vergleich der Ergebnisse bzgl. der auf alle K+ Auftr¨age bezogenen + + durchschnittlichen Termin¨ uberschreitung (Dd T AK+ und σ d T AK+ ) der in d angegebenen Datens¨atze (in Minuten)
7.4.5 Abschlussbemerkungen Der Genetische Algorithmus ist im Durchschnitt u ¨ber jedes Szenario und jede betrachtete Datensatz-Menge bei jedem der untersuchten sechs Kriterien besser als das Priorit¨atsregelverfahren, weist dabei zudem eine geringere Standardabweichung aus und findet in fast allen Datens¨atzen und Szenarien das bessere Ergebnis. Dies ist nicht verwunderlich, da beim Priorit¨atsregelverfahren eine einzige L¨osung und beim Genetischen Algorithmus dagegen eine Vielzahl von
D120 Z +
D120 T AK D120 AnzF nT
+
D120 T AK+
D120 AnzT A+
D120 ZF
7.4 Ergebnisvergleich der beiden L¨osungsverfahren
Abbildung 7.3: Vergleich der Ergebnisse f¨ ur D120
243
244
7 Evaluation
L¨osungen berechnet wird.37 In der folgenden Tabelle 7.27 ist die prozentuale Verbesserung bei den in d angegebenen Datens¨atzen in Abh¨angigkeit vom Szenario dargestellt, wenn anstelle des Priorit¨atsregelverfahrens mit der besten Priorit¨atsregel PRIO∗ der Genetische Algorithmus mit der besten Parametereinstellung GA∗ als L¨osungsverfahren verwendet wird: A1
A4
Ø
D ZF DdZ Dd AnzT A+ + Dd T AK + Dd T AK+ Dd AnzF nT
d ∈ D100 38,55 3,15 56,13 7,93 9,15 9,01 55,42 59,12 38,59 72,20 82,03 66,64 40,02 59,17 46,21 0 0 40,00
58,49 5,69 25,87 51,29 32,78 63,64
39,1 7,9 44,8 68,0 44,6 25,9
Dd ZF DdZ Dd AnzT A+ + Dd T AK + Dd T AK+ d D AnzF nT
84,58 3,98 40,26 65,23 44,62 75,00
d ∈ D20 10,27 4,70 48,31 75,86 52,49 25,00
56,10 6,45 26,81 52,23 35,56 46,15
30,44 4,11 15,01 32,99 23,00 50,00
45,4 4,8 32,6 56,6 38,9 49,0
Dd ZF DdZ Dd AnzT A+ + Dd T AK + Dd T AK+ d D AnzF nT
d ∈ D120 83,82 9,10 56,11 7,08 8,16 8,47 49,80 55,00 34,43 69,87 79,87 62,22 41,06 57,61 43,88 75,00 20,00 45,16
34,53 5,36 22,05 45,33 30,50 51,40
45,9 7,3 40,3 64,3 43,3 47,9
d
A2
A3
Tabelle 7.27: Prozentuale Verbesserung bei den in d angegebenen Datens¨atzen in Abh¨angigkeit vom Szenario, wenn anstelle des Priorit¨atsregelverfahrens mit der besten Priorit¨atsregel PRIO∗ der Genetische Algorithmus mit der besten Parametereinstellung GA∗ als L¨osungsverfahren verwendet wird. Die geringsten Unterschiede zwischen den Ergebnissen von PRIO∗ und GA∗ gibt es bei der Zykluszeit Z (zwischen 3,98% und 9,15%). Da einerseits durch 37
Bei GA∗ werden 200 Individuen u ¨ber 400 Generationen dekodiert, d. h., dass bis zu 80.000 unterschiedliche L¨osungen berechnet werden.
7.4 Ergebnisvergleich der beiden L¨osungsverfahren
245
die festgelegten Maschinenfolgen die ben¨otigte Prozesszeit fest vorgegeben und andererseits die verf¨ ugbaren Kapazit¨aten durch die Maschinenstillst¨ande mit anschließenden Anlaufzeiten determiniert sind, ist ein zeitlicher Spielraum“ ” zur Reduktion der Gesamtbearbeitungszeit nur begrenzt gegeben. Der Genetische Algorithmus ist im Vergleich zum Priorit¨atsregelverfahren zwar in der Lage, die Zykluszeit durchschnittlich zu verringern und damit mehr Pufferzeit f¨ ur potentielle Maschinenausf¨alle zu generieren, aber nicht in einem so großen Maße wie bei den anderen Kriterien, wie z. B. den Kriterien zur Termin¨ uberschreitung. Dort gelingt es dem Genetischen Algorithmus, die Auftragsfolgen so zu bestimmen, dass sie die internen Liefertermine besser erf¨ ullen. Im Falle eines unvorhergesehenen Maschinenausfalls sinkt damit das Risiko, dass ein Diodentyp vollst¨andig als Fehlmenge auftritt. Die Anzahl an Auftr¨agen mit Termin¨ uberschreitung sinkt um durchschnittlich 40,3%, wobei sie sich die prozentuale Verbesserung in Abh¨angigkeit vom betrachtetem Szenario und der jeweiligen Datensatz-Menge zwischen 15,01% und 59,12% bewegt. Die gr¨oßte Verbesserung erzielt der Genetische Algorithmus gegen¨ uber dem Priorit¨atsregelverfah+ + ren bei der durchschnittlichen Termin¨ uberschreitung (T AK bzw. T AK+ ): Sie betr¨agt auf alle K (K+ ) Auftr¨age bezogen 64,3% (43,3%) und bewegt sich im Bereich von 32%-82,03% (23%-59,17%). Der Planungshorizont T entspricht im Prinzip einem universellen Liefertermin, so dass das Kriterium AnzF nT, die Anzahl nach dem Ende des Planungszeitraums T fertig gestellter Auftr¨age, ebenfalls einer Anzahl f¨ ur Termin¨ uberschreitung entspricht. Dem Genetischen Algorithmus gelingt es auch hier durch die Bestimmung einer besseren Auftragsfolgenkombination, dieses Kriterium im Vergleich zum Priorit¨atsregelverfahren um durchschnittlich 47,9% und maximal sogar 75% zu verbessern. Der Zielfunktionswert ZF setzt sich, wie bereits in Abschnitt 6.2.1 auf S. 78 beschrieben, aus der gewichteten Zykluszeit GZ, der gewichteten Termin¨ uber¨ ur das Uberschreiten des Planungshoschreitung GT A+ sowie einem Strafterm f¨ rizontes S >T zusammen.38 Der Genetische Algorithmus kann eine durchschnittliche Verbesserung im Vergleich zum Priorit¨atsregelverfahren von 45,9% erzielen (minimal 3,15% und maximal 84,58%). Da in der Fallstudie m¨oglichst alle 38
Der Zielfunktionsterm S >T geht mit dem h¨ochsten Gewicht in die Zielfunktion ein, da auf jeden Fall alle Auftr¨age innerhalb des Planungszeitraums fertig gestellt werden sollen. Im zweiten Schritt soll antizipativ auf stochastische Maschinenausf¨alle R¨ ucksicht genommen werden: Es soll nicht zu einem Totalausfall bei der Lieferbereitschaft einzelner Diodentypen kommen, weshalb Liefertermine gesetzt und u ¨ber den Zielfunktionsterm GT A∗ Terminabweichungen minimiert werden sollen. Die (gewichtet) Zykluszeit wird minimiert, um f¨ ur den worst-case Fall Pufferzeiten zu schaffen, um auf diese unvorhergesehene Maschinenausf¨alle reagieren zu k¨onnen.
246
7 Evaluation
Auftr¨age innerhalb des Planungszeitraumes erf¨ ullt werden sollen, geht der Strafterm S >T mit dem h¨ochsten Gewicht in die Zielfunktion ein. Wenn es zu einer ¨ Planungshorizont-Uberschreitung kommt, hat daher der Zielfunktionsterm S >T ein so hohes Gewicht, dass die anderen Zielfunktionsterme sich nur noch gering im Zielfunktionswert widerspiegeln. Da das Kriterium AnzF nT inhaltlich mit S >T zusammen h¨angt, ist eine Parallelit¨at bei den Ergebnissen von ZF und AnzF nT erkennbar (siehe f¨ ur den Fall D120 Abbildung 7.3 auf S. 243). Beim Vergleich der Ergebnisse der realistischen“ Szenarien A1/A2 und der ” k¨ unstlichen , kapazit¨atsreduzierten Szenarien A3 und A4 l¨asst sich feststellen, ” ” dass die durchschnittliche prozentuale Verbesserung mit wenigen Ausnahmen durch Anwendung des Genetischen Algorithmus anstelle des Priorit¨atsregelverfahrens in den h¨arteren Szenarien geringer ist. Dies best¨atigt sich auch beim Vergleich der realistischen“ Datensatz-Menge D 100 zur Datensatzmenge D20 , ” die durch eine erh¨ohte Nachfrage gekennzeichnet ist: Auch hier verringert sich die durchschnittliche prozentuale Verbesserung bei h¨oheren Nachfragemengen. Das bedeutet, dass der Genetische Algorithmus v. a. dann in der Lage ist, die Ergebnisse im Vergleich zu denen des Priorit¨atsregelverfahrens zu verbessern, wenn er mehr Spielraum“ hat, wie es bei den realistischen Szenarien A1 bzw. ” A2 und der Datensatz-Menge D100 der Fall ist. Beide L¨osungsverfahren zeichnen sich durch eine kurze Rechenzeit aus. Selbst f¨ ur den Durchlauf des Genetischen Algorithmus, bei dem die Anzahl der Rechenschritte viel h¨oher ist als beim Priorit¨atsregelverfahren, wird maximal 3 Minuten Zeit ben¨otigt.39 Der Rechenaufwand ist damit kein ausschlaggebendes Kriterium zur Auswahl eines der beiden Verfahren, zumal eine l¨angere Rechenzeit bei einem Planungszeitraum von einem Monat sogar akzeptabel w¨are. Abschließend l¨asst sich sagen, dass mit dem zweistufigen L¨osungsverfahren, insbesondere in Kombination mit dem Genetischen Algorithmus, f¨ ur die konkret betrachtete Problemstellung aus der Praxis ein neues, geeignetes und erfolgreiches L¨osungsverfahren entwickelt wurde.
39
Das Priorit¨atsregelverfahren wurde mittels Microsoft Basic Version 6.0 und der Genetische Algorithmus mittels Microsoft Visual C++ 6.0 implementiert, und beide L¨osungsverfahren wurden unter Microsoft Windows XP getestet. Der angegebene Zeitbedarf wurde auf einem AMD AthlonT M XP3000+ 2,17GHz Prozessor ben¨otigt.
8 Schlussbetrachtung 8.1 Zusammenfassung Im Rahmen der Arbeit wurde eine konkrete Problemstellung der operativen Ablaufplanung in der Diodenfabrik eines Unternehmens der Halbleiterindustrie betrachtet: Ein f¨ ur einen Planungszeitraum gegebenes Auftragsvolumen, bestehend aus verschiedenen Diodentypen, ist auf einem gegebenen Maschinenpark unter Ber¨ ucksichtigung unvorhergesehener Maschinenausf¨alle so herzustellen, dass es die gegebenen Unternehmensziele m¨oglichst gut erf¨ ullt. Das Ziel der Arbeit bestand darin, f¨ ur diese konkrete reale Problemstellung ein geeignetes individuelles L¨osungsverfahren zu entwickeln. Zun¨achst wurde die Ablaufplanung in den Produktionsprozess eingeordnet. Es wurde festgelegt, dass unter dem Begriff der Ablaufplanung im weiteren Verlauf der Arbeit die Maschinenbelegungsplanung verstanden wird. Sie setzt sich aus der Bearbeitungs-, Reihenfolge- und Terminplanung zusammen und liefert als Ergebnis den so genannten Ablaufplan. Es wurde dargestellt, worin sich die primale und duale, deterministische und stochastische bzw. statische und dynamische Ablaufplanung unterscheiden. Des Weiteren wurden notwendige Definitionen und Notationsvereinbarungen eingef¨ uhrt. Da aufgrund der großen Anzahl von Parametern und Zielen eine Vielzahl von Ablaufplanungsproblemen unterschieden werden kann, wurde zu ihrer Strukturierung in Anlehnung an Graham et al. (1979) ein Klassifikationsschema eingef¨ uhrt, das hinsichtlich der drei Aspekte Maschinen- und Auftragseigenschaften sowie Zielkriterien differenziert. Dar¨ uber hinaus wurden die unterschiedlichen Arten von Ablaufpl¨anen beschrieben und erl¨autert, wie es mit Hilfe dieser bei regul¨aren Zielfunktionen m¨oglich ist, bei der Suche nach dem optimalen Ablaufplan den L¨osungsraum dahingehend einzugrenzen, dass er nur potentiell optimale Ablaufpl¨ane enth¨alt. Es wurde eine kleine Fallstudie (FS1) eingef¨ uhrt, um mit ihrer Hilfe das Beschriebene zu veranschaulichen. Es handelt sich dabei um ein klassisches Job-Shop-Problem, das eine wichtige Rolle bei der Entwicklung und Bewertung neuer Verfahren spielt. Nach der Darstellung der theoretischen Grundlagen stand das konkrete Praxisbeispiel aus der Halbleiterindustrie, das im Folgenden als Fallstudie FSH bezeichnet wurde, im Fokus der Ausf¨ uhrungen. Der Produktionsprozess in der I. J. Acker, Methoden zur mehrstufi gen Ablaufplanung in der Halbleiterindustrie, DOI 10.1007/978-3-8349-6731-2_8, © Gabler Verlag | Springer Fachmedien Wiesbaden GmbH 2011
248
8 Schlussbetrachtung
Diodenfertigung des betrachteten Unternehmens wurde genau analysiert und ausf¨ uhrlich dargestellt: Gegenstand der Betrachtung sind die beiden letzten Produktionsstufen – die Montage und die Endmessung der Dioden. Die Montage ist nach der Fließfertigung und die Endmessung nach der Werkstattfertigung organisiert. Der Maschinenpark besteht aus insgesamt 24 z. T. parallelen Maschinen. Zur Bedienung der Maschinen ist speziell ausgebildetes Personal erforderlich, das gem¨aß eines Schichtplans nur zu bestimmten Zeiten eingesetzt werden kann. Daher kommt es zu Maschinenstillst¨anden mit anschließenden kapazit¨atsreduzierenden Anlaufzeiten. Die f¨ unf planungsrelevanten Arbeitsvorg¨ange in der Montage lassen sich aufgrund ihrer gegenseitigen kapazit¨atsm¨aßigen Anpassung auf einen planungsrelevanten Arbeitsgang mit einer entsprechenden Nachlaufzeit reduzieren. In der Montage k¨onnen 40 verschiedene so genannte Montagediodentypen erzeugt werden. Aufgrund einer divergierenden Produktionsstruktur k¨onnen daraus in der Endmessung in bis zu drei Arbeitsg¨angen 63 verschiedene so genannte Endmessdiodentypen erzeugt werden. Daf¨ ur stehen insgesamt 18 Maschinen zur Verf¨ ugung. Es entstehen bei einem Diodentypwechsel auf einer Maschine signifikante R¨ ustzeiten.Vor allem ist zu beachten, dass nicht eine Maschinenfolge a priori festgelegt ist, sondern f¨ ur einen Endmessdiodentyp eine Vielzahl alternativer Maschinenfolgen gegeben ist. Dadurch gibt es f¨ ur einen Auftrag bis zu 108 m¨ogliche Wege, den zweistufigen Produktionsprozess zu durchlaufen. Da zur langfristigen Aufrechterhaltung der Wettbewerbsposition neben technologischem Know-how-Vorsprung und der Kostenf¨ uhrerschaft auch die Einhaltung von Liefervereinbarungen von besonderer Bedeutung ist, ist es wichtig, dass ein f¨ ur den Planungszeitraum gegebenes Produktionsprogramm unter Ber¨ ucksichtigung unvorhergesehener Maschinenausf¨alle termingerecht abgeschlossen wird. Bei unzureichender Kapazit¨at sollte es außerdem m¨oglichst zu keinem vollst¨andigen Ausfall der Lieferbereitschaft bei einem einzelnen Diodentyp kommen. Abschließend l¨asst sich das betrachtete Praxisbeispiel von seiner Struktur her als Job-Shop-Problem charakterisieren, weshalb sich die Arbeit im weiteren Verlauf ausschließlich auf diesen Problemtyp konzentriert. Die Analyse zeigte, dass es sich bei der betrachteten Problemstellung der Fallstudie FSH um ein komplexes statisch-deterministisches Maschinenbelegungsplanungsproblem handelt, das durch folgende Eigenschaften gekennzeichnet ist: • • • • •
Multikriterielle Zielsetzung Chargenproduktion Auftragsgruppen (Montagediodentypen) Alternative Maschinenfolgen Nachlaufzeiten (nicht unterbrechbar)
8.1 Zusammenfassung
249
• Parallele Maschinen • R¨ ustzeiten (nicht unterbrechbar) • Maschinenstillst¨ande mit Anlaufzeiten und Anfangsr¨ usten (nicht unterbrechbar, R¨ ustzustand bleibt nach einem Stillstand nicht erhalten) • fester Planungszeitraum mit M¨oglichkeit der Nichterf¨ ullung (komplette Charge oder gar nicht) Die Problemstellung weist in dreierlei Hinsicht Flexibilit¨at auf: durch die Existenz paralleler Maschinen und alternativer Maschinenfolgen sowie die M¨oglichkeit der Nichterf¨ ullung von Auftr¨agen. Da zur Bearbeitung einer Operation nicht nur eine einzige Maschine, sondern eine Menge an identischen, parallelen Maschinen gegeben ist – diese entsprechen einem Maschinentyp –, handelt es sich um ein flexibles Job-Shop-Problem. Es wurde der Unterschied zwischen einer Maschinenfolge und einer Maschinentypfolge herausgearbeitet: Eine Maschinentypfolge eines Auftrags gibt an, auf welchen Maschinentypen die einzelnen Operationen dieses Auftrags in welcher Reihenfolge bearbeitet werden m¨ ussen. Erst die Maschinenfolge nennt konkret f¨ ur jede Operation die einzelnen Maschine, auf der sie zu bearbeiten ist. Die Anzahl ben¨otigter Operationen zur Herstellung eine Diodentyps ist nicht konstant, sondern kann in Abh¨angigkeit von der Maschinentypfolge variieren. Die Problemstellung konnte nicht in das Klassifikationsschema eingeordnet werden. Deshalb wurden zwei neue Problemtypen definiert – das Job-Shop-Problem mit mehreren Maschinentypfolgen (M J) und das Flexible Job-Shop-Problem mit mehreren Maschinentypfolgen (M F J). Bei der Fallstudie FSH handelt es sich um Problem vom Typ M F J, das dadurch gekennzeichnet ist, dass einerseits jedem Auftrag eine Maschinentypfolge zuzuordnen ist und andererseits jeder Operation innerhalb dieser eine der parallelen Maschinen eines Maschinentyps. Im Anschluss an die Problemanalyse konzentrierte sich die Arbeit auf die JobShop-Modelle der Ablaufplanung. Da Reihenfolgeprobleme sehr anschaulich als Graphen dargestellt werden k¨onnen, wurde zun¨achst das von Roy und Sussman 1964 eingef¨ uhrte Prinzip des disjunktiven Graphen vorgestellt und mit Hilfe der Fallstudie FS1 veranschaulicht. Darauf aufbauend wurde die Modellformulierung nach Manne hergeleitet, die mit dem disjunktiven Graphen in engem Zusammenhang steht, und auf die Fallstudie FS1 angewendet. Dies war Basis der gemischt-ganzzahligen linearen Modellformulierung GGLP-komplett, die die problemspezifischen Eigenschaften der Fallstudie FSH vollst¨andig abbildet. Hierzu war es n¨otig, weitere Notationsvereinbarungen zu treffen. Es wurde eine weitere kleine Fallstudie (FS2) eingef¨ uhrt, um die Funktionsweise des Modells exemplarisch darzustellen.
250
8 Schlussbetrachtung
¨ Im weitere Verlauf wurde ein Uberblick u ¨ber exakte und heuristische L¨osungsverfahren f¨ ur deterministisch-statische Job-Shop-Probleme gegeben. Exakte Verfahren streben eine optimale L¨osung eines Problems in einer endlichen Zahl von Schritten an. Heuristische L¨osungsverfahren verzichten dagegen auf die Garantie, ein Optimum zu finden bzw. als solches zu erkennen und geben sich damit zufrieden, lediglich gute L¨osungen zu bestimmen. Sie gehen nach bestimmten Regeln zur L¨osungsfindung und -verbesserung vor, die hinsichtlich der betrachteten Zielsetzung und der Nebenbedingungen eines Problems als zweckm¨aßig, sinnvoll und erfolgversprechend erscheinen. Neben der Definition des Begriffs, wurden auch Klassifikationsschemata f¨ ur Heuristiken vorgestellt. Es wurde in der Literatur noch kein Verfahren ver¨offentlicht, das ohne Anpassungsbedarf zur L¨osung der betrachteten Fallstudie angewendet werden konnte. Daher musste ein problemspezifisches L¨osungsverfahren entwickelt werden. Eine Komplexit¨atsbetrachtung machte zudem deutlich, dass der in der betrachteten Fallstudie FSH vorliegende Problemtyp zur Klasse der N P-schweren Optimierungsprobleme geh¨ort. Diese Tatsache macht eine exakte L¨osung in praxisrelevanter Gr¨oßenordnung mit vertretbarem Zeitaufwand unm¨oglich. Daher wurden f¨ ur die Entwicklung eines problemspezifischen L¨osungsverfahrens zwei Heuristiken herausgegriffen: ein Priorit¨atsregelverfahren sowie ein Genetischer Algorithmus. Diese wurden zun¨achst am Beispiel des klassischen Job-Shop-Problems erl¨autert. Priorit¨atsregelverfahren stellen die in der Praxis wahrscheinlich am h¨aufigsten eingesetzte Heuristik zur L¨osung von Job-Shop-Scheduling-Problemen dar. Im Rahmen einer Werkstattfertigung entstehen h¨aufig Konfliktsituationen, wenn mehrere Auftr¨age gleichzeitig auf einer Maschine bearbeitet werden k¨onnen. In diesem F¨allen k¨onnen durch den Einsatz von Priorit¨atsregeln Dringlichkeitsziffern f¨ ur die um die relevante Maschine konkurrierenden Auftr¨age erstellt werden. Es wird derjenige Auftrag zur Bearbeitung ausgew¨ahlt, der die h¨ochste Dringlichkeit aufweist. Heuristiken mit Hilfe von Priorit¨atregeln sind leicht verst¨andlich und liefern trotz ihrer Einfachheit schnell Ergebnisse von angemessener Qualit¨at. Aus diesem Grund wurde zur L¨osung der Fallstudie ein problemspezifisches, priorit¨atsregelbasiertes L¨osungsverfahren entwickelt. Zun¨achst wurden verschieden einfache Konstruktionsverfahren beschrieben, die mit den vorher beschriebenen Arten von Ablaufpl¨anen in engem Zusammenhang stehen. Im Anschluss daran wurden verschiedene Priorit¨atsregeln vorgestellt und auf unterschiedliche Klassifikationsm¨oglichkeiten eingegangen. Da sich das Giffler&Thompson-Verfahren zur Erzeugung aktiver Ablaufpl¨ane zur L¨osung von FSH als zweckm¨aßig erwies, wurde dieses Konstruktionsverfahren ausf¨ uhrlich beschrieben und zur Veranschaulichung auf die Fallstudie FS1 angewendet.
8.1 Zusammenfassung
251
Der Genetische Algorithmus, eine Metaheuristik, die auf Holland (1975) zur¨ uckgeht, ist ein leistungsf¨ahiges, stochastisches Suchverfahren und an die Prinzipien der biologischen Evolution angelehnt. Weil es sich bei ihm um ein leistungsf¨ahiges, stochastisches Suchverfahren handelt, das bereits h¨aufig im Bereich der kombinatorischen Optimierung erfolgreich eingesetzt wurde, wurde auch dieser zur L¨osung der betrachteten Fallstudie ausgew¨ahlt. Zun¨achst wurde das prinzipielle Vorgehen dargestellt. Darauf aufbauend wurde ausf¨ uhrlich erl¨autert, wie die einzelnen Komponenten und Parameter des Genetischen Algorithmus ausgestaltet werden k¨onnen bzw. m¨ ussen, um f¨ ur die L¨osung von Job-ShopProblemen eingesetzt werden zu k¨onnen. Auch hier diente die Fallstudie FS1 zur Veranschaulichung des dargestellten Inhalts. Daran anschließend erfolgte die Entwicklung eines problemspezifischen L¨osungsverfahren f¨ ur das betrachtete Praxisbeispiel FSH. Aufgrund der Komplexit¨at der Problemstellung wurde ein hierarchischer Dekompositionsansatz verfolgt: In einer ersten Phase sind zun¨achst die Maschinenfolgen f¨ ur alle Auftr¨age zu bestimmen. Die Maschinenfolgen wurden in einer ersten Variante zuf¨allig ausgew¨ahlt. In einer zweiten Variante erfolgte die Auswahl der Maschinenfolgen zielgerichtet mit der Zielsetzung, eine Kapazit¨ats¨ uberschreitung einzelner Maschinen zu vermeiden und alle Maschinen m¨oglichst gleichm¨aßig auszulasten. Um dies zu erreichen, wurde ein entsprechendes gemischt-ganzzahliges lineares Programm (GGLP-Auswahl) formuliert. An dieser Stelle wurde eine weitere kleine Fallstudie (FS3) eingef¨ uhrt, um die Wirkungsweise von GGLP-Auswahl zu veranschaulichen. Diese in der ersten Phase bestimmten Maschinenfolgen fließen als feste Gr¨oßen in das Problem ein, so dass sich der Problemtyp von einem M F J auf ein (reines) Job-Shop-Problem vereinfacht. Zu dessen L¨osung werden in einer zweiten Phase die beiden ausgew¨ahlten heuristischen L¨osungsverfahren angewendet. Dazu war es erforderlich, diese noch an die problemspezifischen Eigenschaften von FSH anzupassen. Es wurde ausf¨ uhrlich beschrieben, inwiefern der Giffler&Thompson-Algorithmus [G&T] bzw. die Dekodierungsvorschrift beim Genetischen Algorithmus [Dekod] erweitert werden mussten: Aufgrund der R¨ ustzeiten musste u. a. der Konflikt-Begriff neu definiert werden. Ein Konflikt liegt nicht mehr nur dann vor, wenn sich die Prozesszeiten von mindestens zwei Auftr¨agen auf einer Maschine u ¨berlappen, sondern deren Belegungszeiten, die sich aus der R¨ ust- und Prozesszeit zusammensetzen. Die erweiterten AblaufplanGeneratoren [G&T-ext] und [Dekod-ext] wurde jeweils in Form eines Struktogramms beschrieben und ausf¨ uhrlich erl¨autert. Mit beiden an die Fallstudie FSH adaptierten Verfahren wurde wiederum zur Veranschaulichung die Fallstudie FS3 gel¨ost.
252
8 Schlussbetrachtung
Die Arbeit konzentrierte sich zu guter Letzt auf die numerische Analyse der entwickelten L¨osungsverfahren. Dazu wurden zun¨achst die Realit¨at abbildende Daten generiert und geeignete Szenarien definiert. Auf Basis dieser wurden zahlreiche Simulationsrechnungen durchgef¨ uhrt. Zun¨achst erfolgte eine Untersuchung der ersten Phase zur Auswahl der Maschinenfolgen der jeweiligen Auftr¨age. Dabei wird deutlich, dass die Auswahl der Maschinenfolgen mit Hilfe des gemischt-ganzzahligen linearen Programms MILP-Auswahl einer zuf¨alligen Festlegung u ur die ¨berlegen ist. Im n¨achsten Schritt wurden durch Pretests die f¨ Problemstellung geeignetste Priorit¨atsregel (PRIO∗ ) bzw. geeignetsten Parametereinstellungen des Genetischen Algorithmus (GA∗ ) bestimmt. Zur Beurteilung wurden sechs Kriterien herangezogen, wobei das Hauptaugenmerk auf den Zielfunktionswert ZF gelegt wurde. Dieser setzt sich additiv aus einem Strafterm ¨ f¨ ur die Uberschreitung des Planungshorizontes, einer gewichteten Zykluszeit und einer gewichteten Termin¨ uberschreitung zusammen. Weitere Simulationsrechnungen mit PRIO∗ und GA∗ zeigten, dass beide L¨osungsverfahren in der Lage sind, sehr gute Ablaufpl¨ane in vertretbarer Rechenzeit zu erzeugen. Sie erf¨ ullen damit die Zielsetzung der Arbeit. Der Genetische Algorithmus liefert dabei im Durchschnitt um 46% bessere Ergebnisse als das Priorit¨atsregelverfahren. Dies ist nicht verwunderlich, da beim Priorit¨atsregelverfahren eine einzige L¨osung und beim Genetischen Algorithmus dagegen eine Vielzahl von L¨osungen berechnet wird (im betrachteten Fall bis zu 80.000). Mit dem zweistufigen L¨osungsverfahren, insbesondere in Kombination mit dem Genetischen Algorithmus, ist f¨ ur die konkret betrachtete Problemstellung aus der Praxis ein neues, geeignetes und erfolgreiches L¨osungsverfahren entwickelt worden.
8.2 Ausblick Wie beschrieben wurde ein hierarchischer Dekompositionsansatz gew¨ahlt. Durch die Auswahl geeigneter Maschinenfolgen in der ersten Phase wird verhindert, dass in Gebieten des L¨osungsraumes mit schlechten Zielfunktionswerten gesucht wird. Kritisch anzumerken ist jedoch, dass dabei eventuell von vornherein bessere L¨osungen blockiert werden. So kann es z. B. vorkommen, dass eine Maschinenfolgekombination ausgew¨ahlt wird, bei der ein Auftrag auf einer dadurch f¨ ur ihn bestimmten Maschinenfolge vor einer Maschine warten muss, obwohl er rein technisch gesehen auf einer anderen, freien Maschine sofort weiter bearbeitet werden k¨onnte. Die Reduktion der Komplexit¨at kann somit auf Kosten eines relativen oder sogar absoluten Optimums erfolgen. Interessant w¨are es zu untersuchen, inwieweit ein simultaner Ansatz zu einer L¨osungsverbesserung f¨ uhrt.
8.2 Ausblick
253
Im Rahmen des Fallstudie FSH wurde von der zeitlichen Entwicklung des Systems abstrahiert und von einem statischen Modell ausgegangen. In Realit¨at ver¨andert sich jedoch in der Diodenfertigung der Auftragsbestand dynamisch u ¨ber die Zeit. Aufgrund der geringen ben¨otigten Rechenzeit sollte eine rollierende Planung in Betracht gezogen werden: Dabei wird die Planung von Zeit zu Zeit mit sich verschiebendem Planungshorizont und aktualisierten Informationen wiederholt. Wie im Rahmen der Arbeit beschrieben kann es im Laufe des Planungszeitraums zu unvorhergesehenen Maschinen- oder Personalauf¨allen kommen. Auf diese Unsicherheit wurde durch eine robuste Planung im Sinne einer deterministischen Planung mit Erweiterungen zur Ber¨ ucksichtigung der Unsicherheiten reagiert. Da es in der betrachteten Fallstudie FSH von immenser Bedeutung ist, dass das Auftragsvolumen termingerecht erf¨ ullt wird, k¨onnten hierzu auch die Konzepte der robusten Optimierung angewendet werden. Unter robuster Optimierung im weitesten Sinne werden s¨amtliche Modellierungsm¨oglichkeiten und Optimierungsmethoden verstanden, die f¨ ur Entscheidungssituationen unter Unsicherheit bei grunds¨atzlicher Risikoscheu der Entscheidungstr¨ager besonders geeignet sind und auf die Ermittlung robuster L¨osungen abzielen.1 Bisher wurde im betrachteten Praxisbeispiel aus der Halbleiterindustrie davon ausgegangen, dass die vorgelagerte Wafer-Fabrik die zur Herstellung der Dioden notwendigen Chips in ausreichender Menge liefert und das der Diodenfertigung nachfolgende Lager immer ausreichend Kapazit¨at aufweist. Diese vereinfachende Modellannahme entspricht nicht der Realit¨at. Daher sollten diese beiden Aspekte ins Modell integriert werden. Dadurch k¨onnten die Produktions- und Auslierferungstermine detaillierter abgestimmt werden, so dass die Produktion und Lagerbest¨ande effizienter als bisher gesteuert werden k¨onnten. Die beschriebenen Eigenschaften der betrachteten Fallstudie FSH, wie Auftragsgruppen, R¨ ustzeiten, Maschinenstillst¨ande mit anschließenden Anlaufzeiten, Nachlaufzeiten, etc., finden sich h¨aufig auch in anderen Bereich der Indus¨ trie. Daher erscheint eine Ubertragung der Methodik auf andere Problemstellungen der Industrie (z. B. Lebensmittelproduktion) ohne weiteres denkbar.
1
Vgl. Scholl(2001), S. 173.
A Anhang A.1 Weitere Ablaufgraphen und -pl¨ ane zu den Fallstudien A.1.1 Beispiel fu assigkeit ¨ r Unzul¨ Die in folgendem Auftragsfolgegraph (vgl. Abbildung A.1) dargestellte Auftragsfolgekombination f¨ uhrt zu einem unzul¨assigen Ablaufgraphen (vgl. Abbildung A.2):
Abbildung A.1: Auftragsfolgegraph zur Fallstudie FS1 der zu einem unzul¨assigen Ablaufgraphen f¨ uhrt
Abbildung A.2: Unzul¨assiger Ablaufgraph zur Fallstudie FS1 I. J. Acker, Methoden zur mehrstufi gen Ablaufplanung in der Halbleiterindustrie, DOI 10.1007/978-3-8349-6731-2, © Gabler Verlag | Springer Fachmedien Wiesbaden GmbH 2011
256
A Anhang
A.1.2 Aktiv Der folgende Ablaufgraph korrespondiert zu dem in Abschnitt 2.6 auf S. 39 dargestellten aktiven Ablaufplan (vgl. Abbildung A.3):
Abbildung A.3: Aktiver Ablaufgraph zur Fallstudie FS1
A.1.3 Unverz¨ ogert Der folgende Ablaufgraph korrespondiert zu dem in Abschnitt 2.7 auf S. 40 dargestellten unverz¨ogerten Ablaufplan (vgl. Abbildung A.4):
Abbildung A.4: Unverz¨ogerter Ablaufgraph zur Fallstudie FS1
A.1 Weitere Ablaufgraphen und -pl¨ane zu den Fallstudien
257
A.1.4 Optimal L¨ osungsvariante 2: y121 = 1 y122 = 0 y123 = 0 y124 = 0 y131 = 0 y132 = 0 y133 = 0 y134 = 1 y231 = 0 y232 = 1 y233 = 1 y234 = 1 Tabelle A.1: Werte der Bin¨arvariablen beim optimalen Ablaufgraphen zur Fallstudie FS1 bei der L¨osungsvariante 2
Abbildung A.5: Optimaler Ablaufgraph zur Fallstudie FS1 – L¨osungsvariante 2
Abbildung A.6: Gantt-Diagramm eines optimalen Ablaufplans von Fallstudie FS1 mit semiaktiver Einplanung – L¨osungsvariante 2
258
A Anhang
L¨ osungsvariante 3: y121 = 1 y122 = 0 y123 = 0 y124 = 0 y131 = 1 y132 = 1 y133 = 0 y134 = 1 y231 = 0 y232 = 1 y233 = 1 y234 = 1 Tabelle A.2: Werte der Bin¨arvariablen beim optimalen Ablaufgraphen zur Fallstudie FS1 bei der L¨osungsvariante 3
Abbildung A.7: Optimaler Ablaufgraph zur Fallstudie FS1 – L¨osungsvariante 3
Abbildung A.8: Gantt-Diagramm eines optimalen Ablaufplans von Fallstudie FS1 mit semiaktiver Einplanung – L¨osungsvariante 3
A.1 Weitere Ablaufgraphen und -pl¨ane zu den Fallstudien
259
A.1.5 Optimales Gantt-Diagramm von Fallstudie FS3 mit den Maschinenfolgen gem¨ aß GGLP-Auswahl
Abbildung A.9: Gantt-Diagramm eines optimalen Ablaufplans von Fallstudie FS3 mit den Maschinenfolgen gem¨aß GGLP-Auswahl
260
A Anhang
A.2 Modellformulierung nach Manne fu ¨r Fallstudie FS1 Zielfunktion min Z Zykluszeitbedingungen Z Z Z
≥ a13 ≥ a21 ≥ a34
+ + +
4 7 7
Maschinenfolgebedingungen a12 a14 a13 a23 a24 a21 a32 a33 a34
≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥
a11 a12 a14 a22 a23 a24 a31 a32 a33
+ + + + + + + + +
7 4 1 6 9 4 5 5 3
Auftragsfolgebedingungen a21 a31 a22 a32 a24 a34 a23 a33 a32 a33 a34 a31 a11 a11 a12 a12 a14 a14 a13 a13 a22 a23 a24 a21
≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥
a11 a11 a12 a12 a14 a14 a13 a13 a22 a23 a24 a21 a21 a31 a22 a32 a24 a34 a23 a33 a32 a33 a34 a31
+ + + + + + + + + + + + + + + + + + + + + + + +
7 7 4 4 1 1 4 4 6 9 4 7 7 5 6 5 4 7 9 3 5 3 7 5
− − − − − − − − − − − − − − − − − − − − − − − −
100 · (1 − y121 ) 100 · (1 − y131 ) 100 · (1 − y122 ) 100 · (1 − y132 ) 100 · (1 − y124 ) 100 · (1 − y134 ) 100 · (1 − y123 ) 100 · (1 − y133 ) 100 · (1 − y232 ) 100 · (1 − y233 ) 100 · (1 − y234 ) 100 · (1 − y231 ) 100 · y121 100 · y131 100 · y122 100 · y132 100 · y124 100 · y134 100 · y123 100 · y133 100 · y232 100 · y233 100 · y234 100 · y231
A.3 Simulationsergebnisse zur 1. Phase
261
A.3 Simulationsergebnisse zur 1. Phase Masst.1 T KA
ZF
KB
ZF
Masst.2 T KA
KB
100
Dd M ind M axd σd Dd M ind M axd σd
1,2669 0,4287 2,2250 0,3534 2,0783 1,6287 2,9985 0,2972
d∈D 0,2202 4433,96 1,1492 0,2108 4432,19 0,1222 2460,26 0,4809 0,1154 2459,56 0,3707 7438,09 2,0971 0,3554 7474,22 0,0407 816,29 0,31133 0,03914 820,32 0,3852 0,3193 0,4271 0,0324
d ∈ D20 7752,85 1,8335 6446,44 1,3876 8582,04 2,6911 641,20 0,2887
0,3693 0,3064 0,4086 0,0308
7750,75 6443,36 8577,98 641,28
Tabelle A.3: Auswertung der Ergebnisse von GGLP-Auswahl bzgl. der Maschinenstillstands-Varianten Masst.1 und Masst.2 f¨ ur d ∈ D100 und 20 d∈D
ZF d
D M ind M axd σd Dd M ind M axd σd
1,4870 0,6740 2,6123 0,4001 2,4141 1,9290 3,4020 0,3589
Masst.3 T KA
KB
ZF
Masst.4 T KA
KB
100
0,2669 0,1463 0,4507 0,0493
d∈D 4439,43 2459,56 7438,28 817,12
0,4674 0,3844 0,0397 0,0324
d ∈ D20 7760,58 200002,8840 6441,63 2,2822 8580,71 1000004,0627 648,92 400000,3135
1,7234 0,8812 2,7216 0,4444
0,3095 4425,50 0,1668 2459,56 0,5167 7398,56 0,0570 812,11 0,5426 7752,16 0,4508 6442,31 0,6001 8579,38 0,0455 638,41
Tabelle A.4: Auswertung der Ergebnisse von GGLP-Auswahl bzgl. der Maschinenstillstands-Varianten Masst.3 und Masst.4 f¨ ur d ∈ D100 und 20 d∈D
262
A Anhang
ZF d
D M ind M axd σd d
D M ind M axd σd
Masst.1 T KA
17,4487 2,0462 5,4179 0,6869 850005,6701 5,2932 3000005,9294 852936,1249
KB
ZF
Masst.2 T KA
1,2183 0,1310 0,3961 0,0461
d ∈ D100 24298,91 2614,88 7876,22 912,01
0,4236 0,3479 0,4694 0,0358
d ∈ D20 8426,07 550005,2339 6992,41 4,4821 9394,25 2000005,3962 701,92 589491,3392
16,2287 1,9676 5,1474 0,8212
KB
1,1546 24298,91 0,1223 2614,88 0,3759 7876,22 0,0549 912,01 0,4015 0,3304 0,4463 0,0343
8426,07 6992,41 9394,25 701,92
Tabelle A.5: Auswertung f¨ ur Masfo.Zufall bzgl. der Maschinenstillstands-Varianten Masst.1 und Masst.2 f¨ ur d ∈ D100 und d ∈ D20
ZF d
D M ind M axd σd d
D M ind M axd σd
Masst.3 T KA
20,9336 2,3843 6,4538 0,8212 2315796,1959 6,4641 4000007,8754 1172161,2237
KB
ZF
Masst.4 T KA
1,4686 0,1582 0,4740 0,0549
d ∈ D100 24298,91 2614,88 7876,22 912,01
24,3912 2,8859 7,5677 0,9667
0,5093 0,4238 0,5672 0,0420
d ∈ D20 8426,07 6992,41 9394,25 701,92
4333341,2412 3000006,5803 8000009,1464 1201850,8572
KB
1,7044 24298,91 0,1811 2614,88 0,5501 7876,22 0,0643 912,01 0,5910 0,4837 0,6617 0,0503
8426,07 6992,41 9394,25 701,92
Tabelle A.6: Auswertung f¨ ur Masfo.Zufall bzgl. der Maschinenstillstands-Varianten Masst.3 und Masst.4 f¨ ur d ∈ D100 und d ∈ D20
A.4 Simulationsergebnisse zur 2. Phase
263
A.4 Simulationsergebnisse zur 2. Phase
Durschnittliche Anzahl der nach dem Planungszeitraum fertig gestellten Aufträge
A.4.1 Simulationsergebnisse zum Priorit¨ atsregelverfahren 1,4
1,2
1
0,8
0,6
0,4
0,2
0
FCFS
FLT
KOZ
LRBZ
RZ
SZ A1
SZ/On A2
A3
SZ/RBZ
WSLnM
Zufall
ZRDLZ
ZRDLZ/On
A4
Abbildung A.10: Durchschnitt der Anzahl nach T fertig gestellter Auftr¨age D120 AnzF nT in Abh¨angigkeit von der Priorit¨atsregel und dem Szenario (in St¨ uck) 28000
27000
26000
Durchschnittliche Zykluszeit
25000
24000
23000
22000
21000
20000
19000
18000 FCFS
FLT
KOZ
LRBZ
RZ
SZ A1
SZ/On A2
A3
SZ/RBZ
WSLnM
Zufall
ZRDLZ
ZRDLZ/On
A4
Abbildung A.11: Durchschnittliche Zykluszeit D120 Z in Abh¨angigkeit von der Priorit¨atsregel und dem Szenario (in Minuten)
264
A Anhang 20
Durchschnittlicher Anzahl Terminüberschreitungen
18
16
14
12
10
8
6
4
2
0
FCFS
FLT
KOZ
LRBZ
RZ
SZ A1
SZ/On A2
A3
SZ/RBZ
WSLnM
Zufall
ZRDLZ
ZRDLZ/On
A4
Abbildung A.12: Durchschnittliche Anzahl an Termin¨ uberschreitungen D120 AnzT A+ in Abh¨angigkeit von der Priorit¨atsregel und dem Szenario (in St¨ uck)
Durchschnittliche Höhe der Terminüberschreitung (alle)
2500
2000
1500
1000
500
0
FCFS
FLT
KOZ
LRBZ
RZ
SZ A1
SZ/On A2
A3
SZ/RBZ
WSLnM
Zufall
ZRDLZ
ZRDLZ/On
A4
Abbildung A.13: Durchschnitt der auf alle K Auftr¨age bezogenen durchschnitt+ lichen Termin¨ uberschreitung D120 T AK in Abh¨angigkeit von der Priorit¨atsregel und dem Szenario (in Minuten)
A.4 Simulationsergebnisse zur 2. Phase
265
Durchschnittliche Höhe der Terminüberschreitung (TÜ-Fälle)
7000
6000
5000
4000
3000
2000
1000
0
FCFS
FLT
KOZ
LRBZ
RZ
SZ A1
SZ/On A2
SZ/RBZ
A3
WSLnM
Zufall
ZRDLZ
ZRDLZ/On
A4
Abbildung A.14: Durchschnitt der auf alle K+ Auftr¨age bezogenen durch+ schnittlichen Termin¨ uberschreitung D120 T AK+ in Abh¨angigkeit von der Priorit¨atsregel und dem Szenario (in Minuten)
1,4
1,2
1
0,8
0,6
0,4
0,2
A1
RM3
RM10
ohneM
OBM10
BM10
OBM3
95
BM3
60
100
PBX
GOX
1,2
1,95
Pointer
5-Turnier
G1000
G400
A3
3-Turnier
G25
A2
G300
G100
GOV50
GOV25
GOV10
BG300_100
BG50_10
BG100_50
BG100_25
C
BG50_5
R6
R12
R2
R0
500
Single
Double
50
200
0 120
Durchschnittliche Anzahl der nach dem Planungsende fertig gestellten Aufträge
A.4.2 Simulationsergebnisse zum Genetischen Algorithmus
A4
Abbildung A.15: Durchschnitt der Anzahl nach T fertig gestellter Auftr¨age D30 AnzF nT in Abh¨angigkeit von der Parametereinstellung und dem Szenario (in St¨ uck)
A1
A2
A3
G1000
RM10
RM3
ohneM
OBM10
OBM3
BM10
BM3
100
95
60
GOX
PBX
1,95
1,2
Pointer
A3
5-Turnier
3-Turnier
A2
G400
G300
Durchschnittliche Anzahl Terminüberschreitungen
A1
G100
G25
GOV50
GOV25
GOV10
BG300_100
BG100_50
BG100_25
BG50_10
BG50_5
C
R12
R6
R2
R0
Double
Single
500
200
120
50 50
RM10
RM3
ohneM
OBM10
OBM3
BM10
BM3
100
95
60
GOX
PBX
1,95
1,2
Pointer
5-Turnier
3-Turnier
G1000
G400
G300
G100
G25
GOV50
GOV25
GOV10
BG300_100
BG100_50
BG100_25
BG50_10
BG50_5
C
R12
R6
R2
R0
Double
Single
500
200
120
Durchschnittliche Zykluszeit
266 A Anhang
27000
25000
23000
21000
19000
17000
15000
A4
Abbildung A.16: Durchschnittliche Zykluszeit D30 Z in Abh¨angigkeit von der Parametereinstellung und dem Szenario (in Minuten)
20
18
16
14
12
10
8
6
4
2
0
A4
Abbildung A.17: Durchschnittliche Anzahl an Termin¨ uberschreitungen D30 AnzT A+ in Abh¨angigkeit von der Parametereinstellung und dem Szenario (in St¨ uck)
A.4 Simulationsergebnisse zur 2. Phase
267
Durchschnittliche Höhe der Terminüberschreitung (alle)
2000
1500
1000
500
A1
A2
RM3
RM10
ohneM
BM10
OBM3
OBM10
95
BM3
60
100
GOX
1,2
1,95
PBX
Pointer
5-Turnier
G400
G1000
A3
3-Turnier
G25
G300
G100
GOV50
GOV25
GOV10
BG100_50
BG100_25
BG300_100
C
BG50_5
BG50_10
R6
R2
R12
R0
500
Single
Double
50
200
120
0
A4
Abbildung A.18: Durchschnitt der auf alle K Auftr¨age bezogenen durchschnitt+ lichen Termin¨ uberschreitung D30 T AK in Abh¨angigkeit von der Parametereinstellung und dem Szenario (in Minuten)
Durchschnittliche Höhe der Terminüberschreitung (TÜ-Fälle)
5500
5000
4500
4000
3500
3000
2500
2000
1500
A1
A2
RM3
RM10
ohneM
BM10
OBM3
OBM10
BM3
100
95
60
GOX
PBX
1,2
1,95
Pointer
5-Turnier
G1000
G400
A3
3-Turnier
G300
G25
G100
GOV50
GOV25
GOV10
BG100_50
BG100_25
BG300_100
BG50_5
BG50_10
C
R12
R6
R2
R0
500
Single
Double
50
200
120
1000
A4
Abbildung A.19: Durchschnitt der auf alle K+ Auftr¨age bezogenen durch+ schnittlichen Termin¨ uberschreitung D30 T AK+ in Abh¨angigkeit von der Parametereinstellung und dem Szenario (in Minuten)
268
A Anhang A1
GA∗ ZF Z AnzT A+ + T AK + T AK+ AnzF nT
Dd
A2 σd
0,7562 0,1551 17073,04 1680,29 3,84 2,17 189,64 143,25 1983,94 899,86 0 0
A3 σd
0,6557 16489,68 2,88 100,12 1487,89 0
d ∈ D25 0,1132 1982,20 2,05 96,50 1007,74 0
1,0097 0,2155 20438,60 2783,74 6,60 2,83 344,86 147,80 2114,04 498,58 0 0
1,4240 0,3281 23287,08 2337,38 8,76 3,61 709,41 294,62 3338,38 1056,53 0 0
d ∈ D5 0,2846 3222,14 2,86 139,51 693,42 0
427,91 851,83 26631,80 3635,35 15,80 7,39 754,69 430,97 2997,22 1179,45 0,2 0,4
1262,36 1202,02 28466,20 3340,70 24,80 8,28 1806,29 635,04 4822,09 951,34 1,2 1,1662
72,16 382,42 21470,80 3739,98 8,13 5,25 413,17 269,24 2261,24 739,82 0,0333 0,1795
211,58 679,44 24150,27 3184,07 11,43 7,62 892,22 553,76 3585,67 1177,63 0,2 0,6532
ZF Z AnzT A+ + T AK + T AK+ AnzF nT
1,4156 0,3792 22750,80 1938,99 10,40 6,34 440,96 202,73 3147,57 866,42 0 0
1,0959 21778,40 5,80 235,99 2748,03 0
ZF Z AnzT A+ + T AK + T AK+ AnzF nT
0,8661 0,3231 18019,33 2730,71 4,93 4,07 231,53 180,89 2191,73 998,91 0 0
d ∈ D30 0,7291 0,2261 17371,13 2981,51 3,37 2,46 122,77 116,48 1721,25 1075,24 0 0
Dd
A4
Dd
σd
Dd
σd
Tabelle A.7: Ergebnisse (Durchschnitt Dd und Standardabweichung σ d ) des Genetischen Algorithmus mit der besten Parametereinstellung GA∗ der in d angegebenen Datens¨atze (Pretestmenge) in Abh¨angigkeit vom Szenario
Literaturverzeichnis Aardal, K. und S. van Hoesel (1995): Polyhedral Techniques in Combinatorial Optimization. In: http://arno.unimaas.nl/show.cgi?fid=505, zugegriffen am 14.03.2010. Aarts, E. H. L.; P. J. M. van Laarhoven, J. K. Lenstra, N. L. und J. Ulder (1994): A Computational Study of Local Search Algorithms for Job Shop Scheduling. Journal on Computing, 6(2): 118-125. Aarts, E. H. L. und J. H. M. Korst (1990): Simulated Annealing and Boltzmann Machines: a stochastic approach to combinatorial optimization and neural computing. Chichester, UK: Wiley. Adam, D. (1969): Produktionsplanung bei Sortenfertigung. Wiesbaden: Gabler. Adam, D. (2001): Produktionsmanagement. Wiesbaden: Gabler, 9. u ¨berarb. Auflage. Adams, J.; E. Balas und D. Zawack (1988): The shifiting bottleneck procedure for job shop scheduling. Management Science, 34(3): 391-401. Affenzeller, M. (2003): New Hybrid Variants of Genetic Algorithms: Theoretical and Practical Aspects. Schriften der Johannes Kepler Universit¨at Linz. Linz: Universit¨atsverlag Rudolf Trauner. Affenzeller, M. und S. Wagner (2004): SASEGASA: A new generic parallel evolutionary algorithm for achieving highest quality results. Journal of Heuristics – Special Issue on New Advances on Parallel Meta-Heuristics for Complex Problems, 10: 239-263. Aggarwal, S. C.; F. P. Wyman und B. A. McCarl (1973): An Investigation of a Cost-Based Rule for Job-Shop Scheduling. International Journal of Production Research, 11(3): 247-261. Ahn, J. und A. Kusiak (1991): Scheduling with alternative process plans. In: Fandel, G. und G. Z¨apfel: Modern production concepts, S. 387-403. Berlin et al.: Springer. Alvehus, M. (1997): The shifting bottleneck procedure: A survey. Graduate Course Report, Link¨oping University, Link¨oping, Sweden. I. J. Acker, Methoden zur mehrstufi gen Ablaufplanung in der Halbleiterindustrie, DOI 10.1007/978-3-8349-6731-2, © Gabler Verlag | Springer Fachmedien Wiesbaden GmbH 2011
270
Literaturverzeichnis
Amiri, M.; M. Zandieh; M. Yazdani und A. Bagheri (2009): A variable neighborhood search algorithms for the flexible job-shop scheduling problem. International Journal of Production Research. Applegate, D. und W. Cook (1991): A Computational Study of the Job-Shop Scheduling Problem. Journal on Computing, 3(2): 149-156. Ashour, S. und S. R. Hiremath (1973): A Branch-and-Bound Approach to the Job-Shop Scheduling Problem. International Journal of Production Research, 11: 47-58. Bachem, A. (1980): Komplexit¨atstheorie im Operations Research. Zeitschrift f¨ ur Betriebswirtschaft, 50: 812-844. B¨ack, T. (1992): Evolutionary Algorithms: Comparison of Approaches. Arbeitspapier, Universit¨at Dortmund, Fachbereich Informatik. B¨ack, T. (1996): Evolutionary Algorithms in Theory and Practice: Evolution Strategies, Evolutionary Programming, Genetic Algorithms. New York, Oxford: Oxford University Press. B¨ack, T. und F. Hoffmeister (1991): Extended selection mechanisms in genetic algorithms. In.: Belew, R. K. und L. B. Booker (Hrsg.): Proceedings of the Fourth International Conference on Genetic Algorithms, S. 92-99. San Francisco: Morgan Kaufmann. Baker, K. R. (1974): Introduction to Sequencing and Scheduling. New York: J. Wiley & Sons. Baker, K. R. (1984): Sequencing rules and due-date assignments in a job shop. Management Science, 30: 1093-1104. Baker, J. E. (1985): Adaptive selection methods for genetic algorithms. In: Grefenstette, J.J. (Hrsg.): Proceedings of an International Conference on Genetic Algorithms and their Applications, S. 101-111. Hillsdale, New Jersey: Lawrence Erlbaum. Baker, J. E. (1987): Reducing bias and inefficiency in the selection algorithm. In: Grefenstette, J.J. (Hrsg.): Genetic Algorithms and their Applications: Proceedings of the Second International Conference on Genetic Algorithms , S. 14-21. Hillsdale, New Jersey: Lawrence Erlbaum. Baker, C. T. und B. P. Dzielinski (1960): Simulation of a simplified job shop. Management Science, 6(3): 311-323. Balas, E. (1969): Machine Sequencing via Disjunctive Graphs: An Implicit Enumeration Algorithm. Operations Research, 17: 941-957.
Literaturverzeichnis
271
Balas, E.; J. K. Lenstra und A. Vazacopoulos (1995): One machine scheduling with delayed precedence constraints. Management Science, 41(1): 94-109. Balas, E. und A. Vazacopoulos (1998): Guided local search with shifting bottleneck for job shop scheduling. Management Science, 44(2): 262-275. Bandemer, H. und S. Gottwald (1996): Fuzzy Sets, Fuzzy Logic, Fuzzy Methods. New York: J. Wiley & Sons. Barker, J. R. und G. B. McMahon (1985): Scheduling the General Job-Shop. Management Science, 34: 594-598. Barnes, J. W. und J. B. Chambers (1996): Flexible job shop scheduling by tabu search. Graduate program in operations research and industrial engineering. Technical Report ORP 9609, University of Texas, Austin. Barnhart, C.; E. Johnson; G. Nemhauser; M. Savelsbergh und P. Vance (1996): Branch-and-Price: Column Generation for Solving Huge Integer Programs. Operations Research, 46: 316-329. Bellmann, R. E. (1957): Dynamic programming. Princeton (N. J.): Princeton University Press. Benders, J. F. (1962): Partitioning procedures for solving mixed variables programming. Numerische Mathematik, 4: 238-252. Berr, U. und H. P. Tangermann (1976): Einfluß von Priorit¨atsregeln auf die Kapazit¨atsterminierung der Werkstattfertigung. Zeitschrift f¨ ur wirtschaftliche Fertigung, 66: 7-12. Bertsekas, D. P. (1987): Dynamic Programming: Deterministic and Stochastic Models. New York: Prentice-Hall. Bierwirth, C. (1993): Flowshop Scheduling mit parallelen genetischen Algorithmen: eine problemorientierte Analyse genetischer Suchstrategien. Wiesbaden: DUV. Bierwirth, C. (1995): A generalized permutation approach to job shop scheduling with genetic algorithms. OR Spektrum, 17: 87-92. Bierwirth, C.; H. Kopfer; D. C. Mattfeld und T. Utecht (1993): Genetische Algorithmen und das Problem der Maschinenbelegung. Universit¨at Bremen, Lehrstuhl f¨ ur Logistik, Bremen. Bierwirth, C.; D. C. Mattfeld und H. Kopfer (1996): On permutation representations for scheduling problems. In: Voigt, H.; W. Ebeling; I. Rechenberg and H. Schwefel (Hrsg.): Parallel Problem Solving From Nature IV, S. 310-318. Berlin et al.: Springer.
272
Literaturverzeichnis
Bierwirth, C. und D. C. Mattfeld (1999): Production scheduling and rescheduling with genetic algorithms. Evolutionary Computation, 7(1): 1-17. Bilkay, O.; O. Anlagan und S. E. Kilic (2004): Job shop scheduling using fuzzy logic. The International Journal of Advanced Manufacturing Technology, 23(7-8): 606-619. Bixby, R. E. und E. K. Lee (1998): Solving a Truck Dispatching Problem Using Branch-and-Cut. Operations Research, 45: 355-367. Bla˙zewicz, J.; W. Domschke und E. Pesch (1996): The Job Shop Scheduling Problem: Conventional and New Solution Techniques. European Journal of Operational Research, 93: 1-33. Bla˙zewicz, J.; M. Dror und J. Weglarz (1991): Mathematical Programming Formulations for Machine Scheduling: A Survey. European Journal of Operational Research, 51: 283-300. Bla˙zewicz, J.; K. Ecker; G. Schmidt und J. Weglarz (2000): Scheduling in Computer and Manufacturing Systems. Heidelberg, Berlin: Springer. Bla˙zewicz, J.; H. A. Eiselt; G. Finke; G. Laporte und J. Weglarz (1991): Scheduling Tasks and Vehicles in a Flexible Manufacturing System. The International Journal of Flexible Manufacturing Systems, 4: 5-16. Bla˙zewicz, J.; J. K. Lenstra und A. H. G. Rinnooy Kan (1983): Scheduling Subject to Resource constraints: Classification and complexity. Discrete Applied Mathematics, 5: 11-24. Blackstone, J. H. jr.; D. T. Philipps und G. L. Hogg (1982): A State-of-theArt Survey of Dispatching Rules for Manufacturing Job Shop Operations. International Journal of Production Research, 20: 275-298. Blickle, T. und L. Thiele (1996): A Comparison of Selection Schemes used in Genetic Algorithms. TIK Report No. 11 (2. Auflage), Computer Engineering and Communication Networks Lab (TIK), Swiss Federal Institute of Technology (ETH) Z¨ urich. Blum, C. und D. Merkle (2008): Swarm Intelligence – Introduction and Applications. Berlin, Heidelberg: Springer. Blum, C. und M. Sampels (2004): An ant colony optimization algorithm for shop scheduling problems. Journal fo Mathematical Modelling and Algorithms, 3(3): 285-308. ¨ Boveri, T. (1902): Uber mehrpolige Mitosen als Mittel zur Analyse des Zellkerns. Verhandlungen der Physikalisch-medizinischen Gesellschaft W¨ urzburg, 35: 67-90.
Literaturverzeichnis
273
Bowman, E. H. (1959): The Schedule-Sequencing problem. Operations Research, 7: 621-624. Bradley, S. P.; A. C. Hax und T. L. Magnanti (1977): Applied Mathematical Programming. Reading (MA) et al.: Addison-Wesley. Brah, S.; J. Hunsucker und J. Shah (1991): Mathematical modeling fo scheduling problems. Journal of Information & Optimization Sciences, 12: 113-137. Brandimarte, P. und M. Calderini (1995): A hierarchical bicriterion approach to integrated process plan selection and job shop scheduling. International Journal of Production Research, 33(1): 161-181. Bretz, M. (1992): Algorithmen und Berechenbarkeit – Eine Einf¨ uhrung in die Algorithmentheorie der Softwaretechnik f¨ ur Studenten der Informatik. Braunschweig, Wiesbaden: Vieweg. Brooks, G. H. und C. R. White (1965): An algorithm for finding optimal or near optimal solutions to the production scheduling problem. Journal of Industrial Engineering, 16(1): 34-40. Brucker, P. (1994): A polynomial algorithm for the two machine job-shop scheduling problem with a fixed number of jobs. OR Spektrum, 16: 5-7. Brucker, P. (1997): NP-Complete Operations Research Problems and Approximation Algorithms. Zeitschrift f¨ ur Operations Research, 23: 73-94. Brucker, P. (2007): Scheduling Algorithms. Berlin et al.: Springer, 5. Auflage. Brucker, P.; A. Drexl; R. H. M¨ohring; K. Neumann und E. Pesch (1999): Resource-constrained project scheduling: Notation, classification, models, and methods. European Journal of Operational Research, 112, 3-41. Brucker, P. und B. Jurisch (1993): A new Lower Bound for the Job-Shop Scheduling Problem. European Journal of Operational Research, 64: 156-157. Brucker, P.; B. Jurisch und B. Sievers (1994): A Branch and Bound Algorithm for the Job-Shop Scheduling Problem. Discrete Applied Mathematics, 49: 107-127. Brucker, P. und S. Knust (2006): Complex Scheduling. Berlin, Heidelberg: Springer. Brucker, P.; S. A. Kravchenko und Y. N. Sotskov (1997): On the complexity of two machine job-shop scheduling with regular objective functions. OR Spektrum, 19(1): 5-10. Brucker, P. und J. Neyer (1981): Minimizing maximum lateness in a twomachine unit-time job shop. Computing , 27: 367-370.
274
Literaturverzeichnis
Brucker, P. und J. Neyer (1998): Tabu-search for the mulit-mode job-shop problem. OR Spektrum, 20(1): 21-28. Brucker, P. und R. Schlie (1990): Job Shop scheduling with multi-purpose machines. Computing, 45(4): 369-735. Br¨ uggemann, W. (1995): Ausgew¨ahlte Probleme der Produktionsplanung – Modellierung, Komplexit¨at und neuere L¨osungsm¨oglichkeiten. Heidelberg: Physica-Verlag. Buffa, E. S. und J. G. Miller (1979): Production-Inventory Systems. Homewood, Illinois: Richard D. Irwin, 3. Auflage. Buzacott, J. A. und D. D. Yao (1986): Flexible Manufacturing Systems: A Review of Analytical Models. Management Science, 32(7): 890-905. Buzi, K. (1971): Die Simulation optimaler Priorit¨atsregeln f¨ ur die Ablaufplanung in der Werkstattfertigung. K¨oln, Opladen: Westdeutscher Verlag. Carlier, J. (1982): The one machine sequencing problem. European Journal of Operational Research, 11: 42-47. Carlier, J. und E. Pinson (1989): An algorithm for solving the job-shopproblem. Management Science 35(2): 164-176. Carlier, J. und E. Pinson (1990): A Practical Use of Jackson‘s Preemptive Schedule for Solving the Job Shop Problem. Annals of Operations Research, 26: 269-287. Carroll, D. C. (1965): Heuristic sequencing of single and multiple component jobs. Unpublished Ph.D. disseration, Sloan School of Management, MIT, USA. Cˇerny, V. (1985): Thermodynamical Approach to the Travelling Salesman Problem: An Efficient Simulation Algorithm. Journal of Optimization Theory and Applications, 45(1): 41-51. Chang, Y., T. Sueyoshi und R. S. Sullivan (1996): Ranking dispatching rules by data envelopment analysis in a job-shop environement. IIE Transactions, 28(8): 631-642. Charlton, J. M. und C. C: Death (1970): A Method of Solution for General Machine-Scheduling Problems. Operations Research, 18: 689-707. Chen, C. L. und R. L. Bulfin (1993): Complexity of single machine, multicriteria scheduling problems. European Journal of Operational Research, 70(1): 115-125. Clark, W. (1922): The Gantt Chart: A Working Tool of Management. Pittman, New York: The Ronald Press, 3. Auflage.
Literaturverzeichnis
275
Clerc, M. (2006): Particle Swarm Optimization. London et al.: ISTE. Coffman, E. G. (1976): Computer and Job Shop Scheduling. New York: J. Wiley & Sons. Colorni, A.; M. Dorigo; V. Maniezzo und M. Turbin (1994): Ant system for job-shop scheduling. Belgian Journal of Operations Research, Statistics and Computer Science, 34: 39-53. Conway, R. W. (1965a): Priority dispatching and job lateness in a job shop. Journal of Industrial Engineering, 16(4): 132-136. Conway, R. W. (1965b): Priority dispatching and work-in-process inventory in a job shop. Journal of Industrial Engineering, 16(2): 123-130. Conway, R. W.; W. L. Maxwell und L. W. Miller (1967): Theory of Scheduling. Reading (MA) et al.: Addison-Wesley. Cook, S. A. (1971): The Complexity of Theorem-Proving Procedures. In: o.V.: Conference Record of the 3rd Annual ACM Symposium on Theory of Computing, 1971 in Urbana, o.O. (New York), S. 151-158. Corsten, H. (1996): Neuronale Netze in der Betriebswirtschaft. Wiesbaden: Gabler, DUV. Corsten, H. und R. G¨ossinger (1997): Multiagentensystem zur Unterst¨ utzung der Produktionsplanung und -steuerung. Information Management, 12(3): 65-75. Corsten, H. und C. May (1995): Unterst¨ utzungspotential Neuronaler Netze f¨ ur die Produktionsplanung und -steuerung. Information Management, 2: 44-55. Dakin, R. J. (1965): A Tree Search Algorithm for Mixed Integer Prgramming Problems. Computer Journal, 8: 250-255. Dantzig, G. B.; D. R. Dulkerson und S. M. Johnson (1954): Solution of a large scale traveling salesman problem. Operations Research, 2: 393-410. Dantzig, G. und P. Wolfe (1960): Decomposition principle for linear programs. Operations Research, 8: 101-111. Darwin, C. (1859): On the Origin of Species by Means of Natural Selection. London: John Murray. Daub, A. (1994): Ablaufplanung: Modellbildung, Kapazit¨atsbestimmung und Unsicherheit. Bergisch Gladbach: Eul. Dauz`ere-P´er`es, S. und J. B. Lasserre (1993): A modified shifting bottleneck procedure for job-shop scheduling. European Journal of Operational Research, 81: 579-589.
276
Literaturverzeichnis
Davis, L. (1985): Job shop scheduling with genetic algorithms. In: Grefenstette, J.J. (Hrsg.): Proceedings of an International Conference on Genetic Algorithms and their Applications, S. 136-140. Hillsdale, New Jersey: Lawrence Erlbaum. Davis, L. (Hrsg.) (1996): Handbook of genetic algorithms. London et al.: Internat. Thompson Computer Press. Dawid, H. (1996): Adaptive Learning by Genetic Algorithms: Analytical Results and Applications to Economic Models. Berlin, Heidelberg: Springer. De Jong, K. A. (1975): An Analysis of the Behavior of a Class of Genetic Adaptive Systems. Ph.D. thesis, University of Michigan, Ann Arbor. De Werra, D. und A. Hertz (1989): Tabu search techniques: A tutorial and an application to neural networks. OR Spektrum, 11: 131-141. Deb, K. und D. E. Goldberg (1989): An investigation of niche and species formation in genetic function optimization. In: Schaffer, J. D. (Hrsg.): Proceedings of the Third International Converence on Genetic Algorithms, S. 101-125. San Francisco: Morgan Kaufmann. Debasish, D. (2009): ANT Colony Optimisation Applied to Job Shop Scheduling Problem. Btech thesis, 2009. Dell’Amico, M. und M. Trubian (1993): Applying tabu-search to the job-shop scheduling problem. Annals of Operations Research, 41: 231-252. Demirkol, E.; S. Mehta und R. Uzsoy (1996): Benchmarking for shop scheduling problems. Research Memorandum No. 96-4, Purdue University. Demirkol, E.; S. Mehta und R. Uzsoy (1997): A computational study of shifting bottleneck procedures for shop scheduling problems. Journal of Heuristics, 3(2): 113-137. Denardo, E. V. (1982): Dynamic programming: Models and Applications. New York: Prentice-Hall. Desrosier, J.; Y. Dumas; F. Soumis und M. Solomon (1995): Time Constrained Routing and Scheduling. In: Ball, M. O. et al. (Hrsg.): Handbooks in Operations Research and Management Science, 8: 35-139. Dinkelbach, W. (1977): Ablaufplanung in entscheidungstheoretischer Sicht. In: Zeitschrift f¨ ur Betriebswirtschaft, 74: 545-566. Dinkelbach, W. (1982): Entscheidungsmodelle. Berlin, New York: De Gruyter. Dinkelbach, W. und A. Kleine (1996): Elemente einer betriebswirtschaftlichen Entscheidungslehre. Berlin, Heidelberg, New York: Springer.
Literaturverzeichnis
277
Domschke, W. und A. Drexl (1991): Kapazit¨atsplanung in Netzwerken. Ein ¨ Uberblick u ¨ber neuere Modelle und Verfahren. OR Spektrum, 13: 63-76. Domschke, W. und A. Drexl (2007): Einf¨ uhrung in Operations Research. Berlin, Heidelberg, New York: Springer, 7. u ¨berarb. Auflage. Domschke, W.; R. Klein und A. Scholl (1996): Tabu Search – Eine intelligente L¨osungsstrategie f¨ ur komplexe Optimierungsprobleme. Wirtschaftswissenschaftliches Studium, 25: 606-610. Domschke, W.; A. Scholl und S. Voß (1997): Produktionsplanung (Ablauforganisatorische Aspekte). Berlin et al.: Springer, 2. Auflage. Domschke, W. und A. Scholl (2008): Grundlagen der Betriebswirtschaftslehre. Berlin, Heidelberg, New York: Springer, 4. verb. und aktual. Auflage. Domschke, W. und A. Scholl (2010): Logistik: Rundreisen und Touren. M¨ unchen et al.: Oldenbourg, 5. u ¨berarb. u. akt. Auflage. Dorigo, M. und G. Di Caro (1999): The ant colony optimization metaheuristic. In: Corne, D; M. Dorigo und F. Glover (Hrsg.): New Ideas in Optimization, S. 11-32. London et al.: McGraw-Hill. Dorigo, M.; V. Maniezzo und A. Colorni (1996): The Ant System: Optimization by a colony of cooperationg agents. IEEE Transactions on Systems, Man, and Cybernetics, 26(1): 1-13. Dorigo, M. und T. St¨ utzle (2004): Ant Colony Optimization. Camebridge, MA: MIT Press/ Bradford Books. Dorndorf, U. und E. Pesch (1993): Combining Genetic- and Local Search for Solving the Job Shop Scheduling Problem. In: APMOD93 Proc. Preprints, Budapest, S: 142-149. Dorndorf, U. und E. Pesch (1995): Evolution based Learning in a Job Shop Scheduling Environment. Computers & Operations Research, 22(1): 2540. Dorndorf, U.; E. Pesch und To`an Phan Huy (2003): Machine learning by schedule decomposition – Prospects for an Integrating of AI and OR Techniques for Job Shop Scheduling. In: Ghosh, A. und S. Tsutsui (Hrsg.): Advances in evolutionary computing: Theory and applications, S. 773798. Berlin, Heidelberg, New York: Springer. Downsland, K. A. (1993): Simulated Annealing. In: Reeves, C. R. (Hrsg.): Modern Heuristic Techniques for Combinatorial Problems, S. 20-69. New York et al.: John Wiley & Sons.
278
Literaturverzeichnis
Drexl, A. und A. Sprecher (1993): Resource- and Time Window-Constraint Production Scheduling With Alternative Process Plans: An Artificial Intelligence Approach. In: Fandel, G.; Th. Gulledge und A. Jones (Hrsg.): Operations Research in production planning and control, S. 307-320. Berlin et al.: Springer. Dueck, G. (1993): New Optimization Heuristics – The Great Deluge Algorithm and the Record-to-Record Travel. Journal of Computational Physics, 104: 86-92. Dueck, G. und T. Scheuer (1990): Threshold Accepting in a general purpose optimization algorithm. Journal of Computational Physics, 90: 161-175. Edgeworth, F. Y. (1881): Mathematical Physics. London, UK: P. Keagan. Eglese, R. W. (1990): Simulated Annealing: A tool for Operations Research. European Journal of Operational Research, 46: 271-281. Eiselt, H. A. und C.-L. Sandblom (2000): Integer Programming and Network Models. Berlin et al.: Springer. Eiselt, H. A. und C.-L. Sandblom (2004): Decision Anaylsis, Location Models and Scheduling Problems. Berlin et al.: Springer. Elf, M.; C. Gutwenger; M. J¨ unger und G. Rinaldi (2001): Branch-and-Cut algorithms for combinatorial optimization and their implementation in ABACUS. In: J¨ unger, M. und D. Naddef (Hrsg.): Computational combinatorial Optimization: optimal or provably near-optimal solutions, Lecture Notes in Computer Sciences 2241, S. 157-223. Berlin et al.: Springer. Eversheim, W. (1992): St¨orungsmanagement in der Montage: Erfolgreiche Einzel- und Kleinserienproduktion. D¨ usseldorf: Springer. Eversheim, W. (1993): Erfolgreiches St¨orungsmanagement in der Einzel – und Kleinserienfertigung. VDI-Bericht, 1028: 1-24. Fandel, G. (1972): Optimale Entscheidung bei mehrfacher Zielsetzung. Berlin, Heidelberg, New York: Springer. Fang, H. L.; P. Ross und D. Corne (1993): A Promising Genetic Algorithm Approach to Job-Shop Scheduling, Rescheduling and Open-Shop Scheduling Problems. In: Forrest, S. (Hrsg.): Proceedings of the 5th International Conference on Genetic Algorithms, S. 375-382. San Mateo: Morgan Kaufmann. Feldmann, M. (1999): Naturanaloge Verfahren: Metaheuristiken zur Reihenfolgeplanung. Wiesbaden: DUV.
Literaturverzeichnis
279
Figueira, J.; S. Greco und M. Ehrgott (2005): Multiple Criteria Decision Analysis – State of the Art Surveys. New York: Springer. Fischer, K. (1990): Retrograde Terminierung: Werkstattsteuerung bei komplexen Fertigungsstrukturen. Wiesbaden: DUV. Fisher, M. L. (1973): Optimal Solution of Scheduling Problems Using Lagrange Multipliers: Part I. Operations Research, 21: 1114-1127. Fisher, M. L. (1981): The lagrangean relaxation method for solving integer programming problems. Manamgement Science, 27(1): 1-18. Fisher, M. L.; B. J. Lageweg; J. K. Lenstra und A. H. G. Rinnooy Kann (1983): Surrogate duality relaxation for job shop scheduling. Discrete Applied Mathematics, 5: 65-75. Fisher, H. und G. Thompson (1963): Probabilistic Learning Combinations of Local Job-shop Scheduling Rules. In: Muth, J. F. und G. L. Thompson (Hrsg.): Industrial Scheduling, S. 225-251. Englewood-Cliffs: PrecenticeHall. Florian, M.; P. Trepant und G. McMahon (1971): An Implicit Enumeration Algorithm for the Machine Sequencing Problem. Management Science, 17(12): B782-B792. Foote, B. L.; A. Ravindran und S. Lashine (1988): Computational feasibility of multi-criteria models of production, planning and scheduling. Computers and Industrial Engineering, 15: 129-138. French, S. (1982): Sequencing and Scheduling. Chichester: E. Horwood. Gantt, H. L. (1919): Efficiency and Democracy. Transactions of the American Society of Mechanical Engineers, 40: 799-808. Garey, M. R.; D. S. Johnson und R. Sethi (1976): The complexity of flowshop and jobshop scheduling. Mathematics of Operations Research, 1(2): 117128. Garey, M. R. und D. S. Johnson (1979): Computers and Intractability: A Guide to the Theory of NP-Completeness. San Francisco: Freeman. Garfinkel, R. S. und G. L. Nemhauser (1972): Integer Programming. New York: J. Wiley & Sons. Gebhard, M. (2009): Hierarchische Produktionsplanung bei Unsicherheit. Wiesbaden: DUV. Geiger, M. J. (2005): Multikriterielle Ablaufplanung. Wiesbaden: DUV.
280
Literaturverzeichnis
Gendrau, M. (2003): An Introduction to Tabu Search. In: F. W. Glover und G. A. Knochenberger (Hrsg.): Handbooks of Metaheuristics, S. 37-45. New York: Kluwer Academic Publisher. Geoffrion A. M. (1974): Lagrangean Relaxation for Integer Programming. Mathematical Programming Studies, 2: 82-114. Georgi, G. (1995): Job Shop Scheduling in der Produktion. Heidelberg: PhysicaVerlag. Gere, W. S. (1966): Heuristics in job shop scheduling. Management Science, 13(3): 167-190. Giffler, B. und G.L. Thompson (1960): Algorithms for solving productionscheduling problems. Operations Reserach, 8: 487-503. Glover, F. (1989): Tabu Search – Part I. Journal on Computing, 1(3): 190-206. Glover, F. (1990a): Tabu Search – Part II. Journal on Computing, 2(1): 4-32. Glover, F. (1990b): Tabu Search: A Tutorial. Interfaces, 20(4): 74-94. Glover, F.; J. P. Kelley und M. Laguna (1995): Genetic Algorithms and Tabu Search: Hybrids for Optimization. Computers & Operations Research, 22: 111-134. Glover, F. und M. Laguna (1993): Tabu Search. In: Reeves, C. R. (Hrsg.): Modern Heuristic Techniques for Combinatorial Problems, S. 70-150. New York. et al.: John Wiley & Sons. Glover, F. und M. Laguna (2002): Tabu Search. Boston, Dordrecht, London: Kluwer Academic Publishers, 6. Auflage. Glover, F.; E. Taillard und D. De Werra (1993): A user’s guide to tabu search. Annals of Operations Research, 41: 3-28. Goldberg, D. E. (1989): Genetic Algorithms for serial and parallel genetic algorithms. In.: Schaffer, D. J. (Hrsg.): Proceedings of the Third International Conferece on Genetic Algorithms and their Applications, S. 70-79. San Mateo: Morgan Kaufman. Goldberg, D. E. (2009): Genetic algorithms in search, optimization and machine learning. Reading (MA) et al.: Addison-Wesley, 29. Auflage. Goldberg, D. E. und K. Deb (1991): A comparitive analysis of selection schemes used in genetic algorithms. In: Rawlins, G. (Hrsg.): Foundations of Genetic Algorithms, S. 69-93. San Francisco: Morgan Kaufmann. Goldberg, D. E.; K. Deb und J. H. Clark (1992): Genetic Algorithms, Noise and the Sizing Population. Complex Systems, 6: 333-362.
Literaturverzeichnis
281
Goldberg, D. E.; K. Deb und J. H. Clark (1993): Accounting for noise in the sizing population. In: Whitley, L. D. (Hrsg): Foundations of Genetic Algorithms 2, S. 127-140. San Mateo: Morgan Kaufman. Goldberg, D. E. und R. Lingle (1985): Alleles, Loci and the Travelling Salesman Problem. In: Grefenstette, J. J. (Hrsg.): Proceedings of an International Conference on Genetic Algorithms and their Applications, S. 154-159. Hillsdale, New Jersey: Lawrence Erlbaum. Gomory, R. E. (1963): An Algorithm for Integer Solutions to Linear Programs. In: Graves, R. L. und P. Wolfe (Hrsg.): Recent Advances in Mathematical Programming, S. 269-302. New York et al.: McGraw-Hill. Gonzalez, T. und S. Sahni (1978): Flowshop and jobshop schedules: complexity and approximation. Operations Research, 26: 46-52. Gorges-Schleuter, M. (1989): ASPARAGOS – An Asynchronous Parallel Genetic Optimization Strategy. In: Schaffer, J. D. (Hrsg.): Proceedings of the 3rd International Conference on Genetic Algorithms and their Applications, S. 422-427. San Francisco: Morgan Kaufmann. Graham, R. L.; E. L. Lawler; J. K. Lenstra und A. H. G. Rinnoy Kan (1979): Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of Discrete Mathematics, 5: 287-326. Gr¨aßler, D. (1968): Der Einfluß von Auftragsdaten und Entscheidungsregeln auf die Ablaufplanung von Fertigungssystemen. K¨oln: Gouder & Hansen. Greenberg, H. H. (1968): A Branch&Bound Solution to the General Scheduling Problem. Operations Research, 8: 352-361. Grefenstette, J. J. (1986): Optimization of Control Parameters for Genetic Algorithms. IEEE Transactions on Systems, Man and Cybernetics, 16(1): 122-128. Grefenstette, J. J. und J. E. Baker (1989): How Genetic Algorithms Work: A Critical Look at Implicit Parallelism. In: Whitley, L. D. (Hrsg): Foundations of Genetic Algorithms 2, S. 20-27. San Mateo: Morgan Kaufman. G¨ unther, H.-O. (1971): Das Dilemma der Arbeitsablaufplanung, Zielvertr¨aglichkeiten bei der zeitlichen Strukturierung. Berlin: Schmidt. G¨ unther, H.-O. (1972): Trilemma oder Dilemma der Ablaufplanung: eine Entgegnung. Zeitschrift f¨ ur Betriebswirtschaft 42(4): 297-300. G¨ unther, H.-O. und P. van Beek (Hrsg.) (2003): Advanced Planning and Scheduling Solutions in Process Industry. Berlin et al.: Springer.
282
Literaturverzeichnis
G¨ unther, H.-O. und H. Tempelmeier (2009): Produktion und Logistik. Berlin et al.: Springer, 8. u ¨berarb. u. erw. Auflage. Gutenberg, E. (1983): Grundlagen der Betriebswirtschaftslehre, Bd. I; Die Produktion. Berlin, Heidelberg: Springer. Haase, K. und R. Kolisch (1997): LINGO. OR Spektrum, 19: 1-4. Hackstein, R. (1989): Produktionsplanung und -steuerung. D¨ usseldorf: VDIVerlag, 2. u ¨berarb. Auflage. Haller, M. (1999): Bewertung der Flexibilit¨at automatisierter Materialflussysteme der variantenreichen Großserienproduktion. M¨ unchen: Herbert Utz Verlag. Hansen, P.; N. Mladenovi´c und L. C. D. Gerad (2003): A tutorial on variable neighborhood search. Technical report, Les Cahiers du GERAD, HEC Montreal and GERAD. Hansen, P. und N. Mladenovi´c (2003a): Variable Neighborhood Search. In: F. W. Glover und G. A. Knochenberger (Hrsg.): Handbooks of Metaheuristics, S. 145-184. New York: Kluwer Academic Publishers. Hansen, P. und N. Mladenovi´c (2003b): A tutorial on Variable Neighborhood Search. Les Cahiers du GERAD G-2003-46, Universit´e de Montr´eal HEC, Montr´eal, Canada, 2003. Harborth, M. (1999): Strukturuntersuchungen f¨ ur Shop-Scheduling-Probleme: Anzahlprobleme, potentielle Optimalit¨at und neue Enumerationsalgorithmen. Herdecke: GCA-Verlag. Hartmann, S. (1999): Project Scheduling under Limited Resources: Models, Methods, and Applications. Lecture Notes in Economics and Mathematical Systems 478. Berlin et al.: Springer. Hauk, W. (1973): Einplanung von Produktionsauftr¨agen nach Priorit¨atsregeln – Eine Untersuchung von Priorit¨atregeln mit Hilfe der Simulation. Berlin et al.: Beuth. Haupt, R. (1974): Reihenfolgeplanung im Sondermaschinenbau – Ein Simulationsmodell f¨ ur Reihen. Wiesbaden: Gabler. Haupt, R. (1989): A Survey of Priority Rule-Based Scheduling. Operations Research Spektrum, 11(1): 3-16. Hefetz, N. und I. Adiri (1982): An efficient optimal algorithm for the twomachines unit-time jobshop schedule-length problem. Mathematics of Operations Research, 7: 354-360.
Literaturverzeichnis
283
Heilmann, R. (2000): Ressourcenbeschr¨ankte Projektplanung im Mehr-ModusFall. Wiesbaden: DUV. Heistermann, J. (1994): Genetische Algorithmen – Theorie und Praxis evolution¨arer Optimierung. Stuttgart, Leipzig: Teubner. Heller, J. und G. Logemann (1962): An Algorithm for the Construction and Evaluation of Feasible Schedules. Management Science, 8(3): 168-183. Heuer, J. (1997): Neuronale Netze in der Industrie: Einf¨ uhrung – Analyse – Einsatzm¨oglichkeiten. Wiesbaden: DUV. Hoch, G. (1973): Betriebswirtschaftliche Methoden und Zielkriterien der Reihenfolgeplanung bei Werkstatt- und Gruppenfertigung. Frankfurt a. M. und Z¨ urich: Deutsch-Verlag. Hoffman, K. L. und M. W. Padberg (1985): LP-based Combinatorial Problem Solving. Annals of operations research, 4: 145-194. Hoffman, K. L. und M. W. Padberg (1993): Solving airline crew scheduling problems by branch and cut. Management Science, 39: 657-382. Hoffmann, T. R. und G. D. Scudder (1983): Priority Scheduling with Cost Considerations. International Journal of Production Research, 21(6): 881-889. Hoffmeister, F. und T. B¨ack (1990): Genetic Algorithms and Evolution Strategies: Similarities and Differences. In: Schwefel, H.-P. und R. M¨anner (Hrsg.): Parallel Problem Solving from Nature PPSN (1990), Proceedings, S. 455-469. Berlin: Springer. Hoitsch, H.-J. (1993): Produktionswirtschaft: Grundlagen einer industriellen Betriebswirtschaftslehre. M¨ unchen: Vahlen, 2. v¨ollig u ¨berarb. u. erw. Auflage. Holland, H. J. (1975): Adaptation in Natural and Artificial Systems. Ann Arbor: University of Michigan Press. Holloway, C. A.; R. T. Nelson und V. Suraphongschai (1979): Comparison of a Multipass Heuristic Decomposition Procedure with other Resourceconstrained Project Scheduling Procedures. Management Science, 25: 62872. Homberger, J. (2000): Verteilt-parallele Metaheuristiken zur Tourenplanung: L¨osungsverfahren f¨ ur das Standardproblem mit Zeitfensterrestriktionen. Wiesbaden: DUV. Hoogeveen, H. (2005): Multicriteria Scheduling. European Journal of Operational Research, 5: 287-326.
284
Literaturverzeichnis
Hopfield, J. (1982): Neural Networks and Physical Systems with Emergent Collective Computational Abilities. Proceedings of the National Academic of Science, 19: 2554-2558. Hoss, K. (1965): Fertigungsablaufplanung mittels operationsanalytischer Methoden unter besonderer Ber¨ ucksichtigung des Ablaufplanungsdilemmas in der Werktstattfertigung. W¨ urzburg: Physica-Verlag. Hutchinson, J und Y.-L. Chang (1990): Optimal nondelay job shop scheduling. International Journal of Production Research, 28(2): 245-257. Hwang, C. L. und K. Yoon (1981): Multiple Attribute Decision Making: Methods and Application. New York: Springer. Jackson, J. R. (1955): Scheduling a Production Line to Minimize Maximum Tardiness. Research Report 43, Management Science Research Project, University of California. Jackson, J. R. (1956): An Extension of Johnson‘s Results on Job Lot Scheduling. Naval Research Logistics Quarterly, 3: 201-203. Jackson, J. R. (1957): Simulation Research on Job Shop Production. Naval Research Logistics Quarterly, 4: 287-295. Jain, A. S. und S. Meeran (1998): Job-shop scheduling using neural networks. International Journal of Production Research, 36(5): 1229-1272. Jain, A. S. und S. Meeran (1999): Deterministic Job-Shop Scheduling: Past, Present and Future. European Journal of Operational Research, 113(2): 390-434. James, R. J. W. und J. T. Buchanan (1998): Performance enhancements to tabu search for the early/tardy scheduling problem. European Journal of Operational Research, 106: 254-265. Jeffcoat, D. und R. Bulfin (1993): Simulated annealing for resource-constrained scheduling. European Journal of Operational Research, 70: 43-51. Johnson, E. L. (1989): Modeling and strong linear programs for mixed integer programming. New York et al.: Springer. Johnson, E. L.; G. L. Nemhauser und M. W. P. Savelsbergh (2000): Progress in Integer Programming: An Exposition. Technical Report 97-02, School of Industrial and Systems Engineering, Georgia Institute of Technology. Johnson, S. M. (1954): Optimal Two-and-Three-Stage Production Schedules with Setup Times Included. Naval Research Logistics Quarterly, 1: 61-68.
Literaturverzeichnis
285
Jones, A. und J. Rabelo (1998): Survey of Job Shop Scheduling Techniques. Technical report, NISTIR, National Institute of Standards and Technology, Gaithersburg, MD. Jordan, C. (1996): Batching and Scheduling – Models and Methods for Several Problem Classes. Berlin et al.: Springer. Jurisch, B. (1992): Scheduling Jobs in Shops with Multi-Purpose Machines. In: ftp://ftp.mathematic.uni-osnabrueck.de/pub/osm/preprints/mpmshop. ps.gz, zugegriffen am 27.05.2010. Karp, R. M. (1972): Reducibility Among Combinatorial Problems. In: Miller, R. E. u. J. W. Thatcher (Hrsg.): Complexity of Computer Computations, Proceedings of a Symposium on the Complexity of Computer Computations, 20.-22.03.1972 in New York, New York – London 1972, S. 85-103. Keck, H. (1968): Vergleich von Priorit¨atsregeln mit Hilfe der Simulation. Eine Literatur¨ ubersicht. In: Bussmann, K. F. und P. Mertens (Hrsg.): Operations Research und Datenverarbeitung bei der Produktionsplanung. Stuttgart: Poeschel. Kennedy, J. und R. C. Eberhart (1995): Particle swarm optimization. Proceedings of IEEE International Conference On Neural Network, 4: 1942-1948. Kennedy, J.; R. C. Eberhart und Y. Shi (2009): Swarm Intelligence. San Francisco: Morgan Kaufmann, 8. Auflage. Kirkpatrick, S.; C. D. Gellat und M. P. Vecchi (1983): Optimization by Simulated Annealing. Science, 220(4598): 671-690. Kistner, K.-P. und M. Steven (1990): Maschinenbelegungsplanung. Wirtschaftswissenschaftliches Studium, 2: 60-67. Kistner, K.-P. und M. Steven (2001): Produktionsplanung – Ablauforganisatorische Aspekte. Heidelberg: Physica-Verlag. Klose, A. (2003): Branch-and-Cut-Verfahren. In: http://troubadix.unisg.ch/ klose, zugegriffen am 15.08.2003. Kolisch, R. und A. Drexl (1996): Adaptive Search for Solving Hard Project Scheduling Problems. Naval Research Logistics, 43: 23-40. Kolonko, M. (1999): Some New Results on Simulated Annealing Applied to the Job Shop Scheduling Problem. European Journal of Operational Research, 113: 123-136. Kost, B. (2003): Optimierung mit Evolutionsstrategien. Frankfurt: Harri Deutsch.
286
Literaturverzeichnis
Koza, J. R. (1992): Genetic Programming – On the Programming of Computers by Means of Natural Selection. MIT Press Cambridge et al. Kreipl, S. (2000): A large step random walk for minimizing total weighted tardiness in a job shop. Journal of Scheduling, 3(3): 125-138. Krelle, W. (1958): Ganzzahlige Programmierungen. Theorie und Anwendungen in der Praxis. Unternehmensforschung, 2: 161-175. Krishna, K.; K. Ganeshan und D. Janaki Ram (1995): Distributed Simulated Annealing Algorithms for Job Shop Scheduling. IEEE Transactions on Systems, Man, and Cybernetics, 25(7): 1102-1109. Kuhn, H. (1992): Heuristische Suchverfahren mit simulierter Abk¨ uhlung. Wirtschaftswissenschaftliches Studium, 8: 387-391. Kunz, C. (1982): Reihenfolgeplanung bei identischen Anlagen. Thun, Frankfurt am Main: Verlag Harri Deutsch. Kurbel, K. und J. Meynert (1987): Flexibilit¨at und Planungsstrategien f¨ ur interaktive PPS-Systeme. Arbeitsbericht der Universit¨at Dortmund, Lehrstuhl f¨ ur Betriebswirtschaft. Kurbel, K. und T. Rohmann (1995): Ein Vergleich von Verfahren zur Maschinenbelegungsplanung: Simulated Annealing, Genetische Algorithmen und mathematische Optimierung. Wirtschaftsinformatik, 37(6): 581-593. Kusiak, A. (1986a): Flexible Manufacturing Systems: Methods and Studies. Amsterdam: North-Holland. Kusiak, A. (1986b): Modelling and Design of Flexible Manufacturing Systems. New York: Elsevier. Kusiak, A. und W. E. Wilhelm (Hrsg.) (1989): Analysis, Modelling and Design of Modern Production Systems. Annals of Operations Research, 17, Basel: J. C. Baltzer. Lad´anyi, L.; T. K. Ralphs und L. E. Trotter (2001): Branch, Cut, and Price: Sequential and Parallel. In: J¨ unger, M. und D. Naddef (Hrsg.): Computational combinatorial Optimization: optimal or provably near-optimal solutions, Lecture Notes in Computer Sciences 2241, S. 223-260. Berlin et al.: Springer. Lageweg, B. J. (1984): Private Communication with P. J. M. Van Laarhoven, E. H. L. Aarts and J. K. Lenstra discussing the achievement of a makespan of 930 for FT10. Lageweg, B. J.; J. Lenstra und A. Rinnooy Kann (1977): Job-shop scheduling by implicit enumeration. Management Science, 24(4): 441-450.
Literaturverzeichnis
287
Lancia, G.; F. Rinaldi und P. Seafini (2007): A Compact Optimization Approach for Job-Shop Problems. In: http://www.mistaconference.org/2007/ papers/A%20Compact%20Optimization%20Approach%20for%20Job%20 Shop%20Problems.pdf, zugegriffen am 14.03.2010. Land, A. H. und A. G. Doig (1960): An Automatic Method for Solving Discrete Programming Problems. Econometrica, 28: 497-520. Lasdon, L. (1970): Optimization theory for large systems. New York: Macmillan. Latz, T. (1997): Entscheidungsmodelle der Ablaufplanung. Wiesbaden: DUV. Laux, H. (2005): Entscheidungstheorie. Berlin, Heidelberg, New York: Springer, 6. Auflage. Lawler, E. L.; J. K. Lenstra und A. H. G. Rinnooy Kan (1982): Recent developments in deterministic sequencing and scheduling: a survey. In: Dempster, M. A. H.; J. K. Lenstra und A. H. G. Rinnooy Kan (Hrsg.): Deterministic and Stochastic Scheduling, S. 35-73. Dordrecht: Reidel. Lawler, E. L.; J. K. Lenstra; A. H. G. Rinnooy Kan und D. B. Shmoys (1989): Sequencing and scheduling: algorithms and complexity. Technischer Bericht BS R8909, Centre for Mathematics and Computer Science, Department of Operations Research, Statistics, and System Theory, Amsterdam. Lawler, E. L. und D. E. Wood (1966): Branch-and-Bound Methods: A survey. Operations Research, 14: 699-719. Le Grande, E. (1963): The Development of a Factory Simulation System Using Actual Operating Data. Management Technology, 3(1): 1-19. Lemar´echal, C. (2001): Lagrangian Relaxation. In: J¨ unger, M. und D. Naddef (Hrsg.): Computational combinatorial Optimization: optimal or provably near-optimal solutions, Lecture Notes in Computer Sciences 2241, S. 112156. Berlin et al.: Springer. Lenstra, J. K.; A. H. G. Rinnooy Kann und P. Brucker (1977): Complexity of machine scheduling problems. Annals of Discrete Mathematics, 1: 343362. Lenstra, J. K. und A. H. G. Rinnooy Kan (1979): Computational complexity of discrete optimization problems. Annals of Discrete Mathematics, 4: 121-140. Lian, Z.; B. Jiao und X. Gu (2006): A similar particle swarm optimization algorithm for job-shop scheduling to minimize makespan. Applied Mathematics and Computation, 183(2): 1008-1017.
288
Literaturverzeichnis
Liedl, R. (1984): Ablaufplanung bei auftragsorientierter Werkstattfertigung: eine Analyse situationsspezifischer Strukturdefekte und ihrer L¨osungsm¨oglichkeiten. M¨ unster: Lit Verlag. Lin, S. (1965): Computer Solutions of the Traveling Salesman Problem. Bell System Technical Report, 44: 2245-2269. Lin, G. Y-J. und J. J. Solberg (1991): Effectiveness of Flexible Routing Control. The International Journal of Flexible Manufacturing Systems, 3: 189211. Little, J. D. C.; K. G. Murty; D. W. Sweeney und C. Karel (1963): An Algorithm for the Traveling Salesman Problem. Operations Research, 11: 972-989. Løkketangen, A. (1995): Tabu Search – Using the Search Space Experience to Guide the Search Process. An Introduction with Examples. AI Communications, 8(2): 78-85. Louren¸co, H. R. (1995): Job-shop scheduling: Computational study of local search and large-step optimization methods. European Journal of Operational Research, 83: 347-364. Louren¸co, H. R.; O. C. Martin und T. St¨ utzle (2002): Iterated local search. In: Glover, F. und G. Knochenberger (Hrsg.): Handbook of Metaheuristics, S. 321-353. Boston: Kluwer Academic Publishers. L¨ ubbecke, M. E. und J. Desrosiers (2005): Selected Topics in Column Generation. Operations Research, 53(6): 1007-1027. Manne, A. S. (1960): On the Job-Shop Scheduling Problem. Operations Research, 8: 219-223. Martin, A. (2001): General mixed integer programming: Computational issues for branch-and-cut algorithms. In: J¨ unger, M. und D. Naddef (Hrsg.): Computational combinatorial Optimization: optimal or provably nearoptimal solutions, Lecture Notes in Computer Sciences 2241, S. 1-25. Berlin et al.: Springer. Martin, R. K. (1999): Large-Scale Linear and Integer Optimization. London, Dordrecht, Boston: Kluwer Academic Publishers. Mason, A. (2001): Practical Set Partitioning and Column Generation. In: http://www1.esc.auckland.ac.nz/Poeple/Staff/Mason/Courses/LInkopin gColGen99, zugegriffen am 15.07.2003. Matsuo, H., C. J. Suh und R. S. Sullivan (1988): A Controlled Search Simulated Annealing Method for the General Jobshop Scheduling Problem. Working Paper, Department of Management, Graduate School of Business, The University of Texas at Austin, Austin.
Literaturverzeichnis
289
Mattfeld, D. C. (1996): Evolutionary Search and the Job Shop: Investigations on Genetic Algorithms for Production Scheduling. Heidelberg: Physica. Mendel, G. (1865): Versuche u ¨ber Pflanzen-Hybriden. In: http:// www.mendelweg.org/MWGerText.html, zugegriffen am 03.07.2010. Mensch, G. (1968): Ablaufplanung. K¨oln-Opladen: Westdeutscher Verlag. Michalewicz, Z. (1999): Genetic Algorithms + Data Structures = Evolution Programs. Berlin: Springer. Michalewicz, Z. und D. B. Fogel (2000): How to Solve It: Modern Heuristics. Berlin et al.: Springer. Minoux, M. (1986): Mathematical Programming: Theory and Algorithms. Chichester: John Wiley & Sons. Mitchell, M. (1996): An Introduction to Genetic Algorithms. Cambridge (MA): MIT Press. Mitten, L. G. (1970): Branch-and-Bound Methods: General Formulation and Properties. Operations Research, 18: 24-34. Mladenovi´c, N. und P. Hansen (1997): Variable Neighborhood Search. Computers and Operations Research, 24(11): 1097-1100. Montazer, M. und L. van Wassenhove (1990): Analysis of scheduling rules for an FMS. International Journal of Production Research, 28: 785-802. Moreno-Vega, J. und B. Meli´an (2008): Introduction to the special issue on variable neighborhood search. Journal of Heuristics, 14(5): 403-404. Morton, T. E. und D. W. Pentico (1993): Heuristic Scheduling Systems – With Applications to Production Systems and Project Management. New York: Wiley & Sons. M¨ uller-Merbach, H. (1966): Drei neue Methoden zur L¨osung des Traveling Salesman Problems. Ablauf- und Planungsforschung, 2(5): 76-83. M¨ uller-Merbach, H. (1970): Optimale Reihenfolgen. Berlin, Heidelberg, New York: Springer. M¨ uller-Merbach, H. (1976): Morphologie heuristischer Verfahren. Zeitschrift f¨ ur Operations Research, 20: 69-87. Nagar, A.; J. Haddock und S. Heragu (1995): Multiple and bicriteria scheduling: a literature survey. European Journal of Operational Research, 81: 88-104. Nakano, R. und T. Yamada (1991): Conventional genetic algorithm for job shop problems. In: Belew, R. K. und L. B. Booker (Hrsg.): Proceedings of the Fourth International Conference on Genetic Algorithms and their Applications, S. 474-479. San Francisco: Morgan Kaufmann.
290
Literaturverzeichnis
Nauck, D.; F. Klawonn und R. Kruse (1996): Neuronale Netze und FuzzySysteme. Braunschweig, Wiesbaden: Vieweg, 2. u ¨berarb. u. erw. Auflage. Nemhauser, G. L. und L. A. Wolsey (1999): Integer and Combinatorial Optimization. New York et al.: J. Wiley & Sons. Neumann, K. und M. Morlock (2004): Operations Research. M¨ unchen, Wien: Hanser, 2. Auflage. Neumann, K.; C. Schwindt und J. Zimmermann (2003): Project Scheduling with Time Windows and Scarce Resources. Berlin, Heidelberg: Springer, 2. Auflage. Nissen, V. (1997): Evolution¨are Algorithmen: Darstellung, Beispiele, betriebswirtschaftliche Anwendungsm¨oglichkeiten. Braunschweig, Wiesbaden: Vieweg. Nowicki, E. und C. Smutnicki (1996): A Fast Taboo Search Algorithm for the Job Shop Problem. Management Science, 42(6): 797-813. O’Grady, P. J. und C. Harrison (1985): A general search sequencing rule for job shop sequencing. International Journal of Production Research 23: 961-973. Oguz, O. (2002): Generalized Column Generation for Linear Programming. Management Science, 48(3): 444-452. Oliver, I.; D. Smith und J. Holland (1997): A Study of Permutation Crossover Operators on the Travelling Salesman Problem. In: Grefenstette, J.J. (Hrsg.): Genetic Algorithms and their Applications, Proceedings of the Second International Conference on Genetic Algorithms, S. 224-230. Hillsdale, New Jersey: Lawrence Erlbaum. Osman, I. H. und J. P. Kelly (1996): Meta-heuristics: Theory and applications. Boston et al.: Kluwer Academic Publishers. Padberg, M. (2001): Classical cuts for mixed-integer programming and branchand-cut. Mathematical Methods of Operations Research, 53(2): 173-203. Panwalkar, S. S. und W. Iskander (1977): A survey of scheduling rules. Operations Research, 25: 45-61. ´ Pareto, V. (1896): Cours D’Economie Politique. Volume I und II. Lausanne (CH): F. Rouge. Paulik, R. (1984): Kostenorientierte Reihenfolgeplanung in der Werkstattfertigung – Eine Simulationsstudie. Bern und Stuttgart: Haupt. Pearl, J. (1984): Heuristics: Intelligent Search Strategies for Computer Problem Solving. Reading (MA).: Addison-Wesley.
Literaturverzeichnis
291
Perregaard, M. und J. Clausen (1998): Parallel branch-and-bound methods for the job-shop scheduling problem. Annals of Operations Research, 83: 137-16. Pesch, E. und S. Voß (Hrsg.) (1995): Applied local search. Operations Research Spektrum, 17, Sonderheft 2/3. Pinedo, M. (2005): Planning and Scheduling in Manufacturing and Services. Berlin et al.: Springer. Pirlot, M. (1991): General local search heuristics in Combinatorical Optimization: a tutorial. Belgian Journal of Operations Research, Statistics and Computer Science, 32(1-2): 7-66. Pohlheim, H. (1995): Ein genetischer Algorithmus mit Mehrfachpopulationen zur Numerischen Optimierung. Automatisierungstechnik, 3: 127-135. Pohlheim, H. (2000): Evolution¨are Algorithmen: Verfahren, Operatoren und Hinweise f¨ ur die Praxis. Berlin et al.: Springer. Poli, R.; J. Kennedy und T. Blackwell (2007): Particle swarm optimization: an overview. Swarm Intelligence, 1(3): 33-57. Pongchairerks, P. (2009): Particle swarm optimization algorithm applied to scheduling problem. ScienceAsia, 35: 89-94. Porter, D.B. (1968): The Gantt chart as applied to production scheduling and control. Naval Research Logistics Quarterly, 15: 311-317. Potts, C. N. und M. Y. Kovalyov (2000): Scheduling with batching: a review. European Journal of Operational Research, 120: 228-249. Pritsker, A. A. B.; Watters, L. J. und P. M. Wolfe (1969): Multiproject scheduling with limited resources: A zero-one programming approach. Management Science, 16: 93-107. Queyranne, M. und A. S. Schulz (1994): Polyhedral approaches to machine scheduling. In: http://web.mit.edu/schulz/www/epapers/Queyranneschulz.pdf, zugegriffen am 30.05.2010. Rechenberg, I. (1973): Evolutionsstrategie: Optimierung technischer Systeme nach Prinzipien der biologischen Evolution. Stuttgart: Fommann-Holzboog. Rechenberg, I. (1994): Evolutionsstrategie. Stuttgart: Fommann-Holzboog. Reese, J. (1980): Standort- und Belegungsplanung f¨ ur Maschinen in mehrstufigen Produktionsprozessen. Berlin, Heidelberg, New York: Springer.
292
Literaturverzeichnis
Reese, J. und K.-P. Urban (1999): Produktionsplanung mit Hilfe lokaler Suchverfahren. WISU, 2: 318-324. Reeves, C. R. (Hrsg.) (1995): Modern heuristic techniques for combinatorial problems. Oxford: Blackwell. Rehwinkel, G. (1978): Erfolgsorientierte Reihenfolgeplanung. Wiesbaden: Gabler. Reinhardt, G. O. (2000): Flexible Fertigungssysteme (FFS) aus praxisbezogener und theoretischer Sicht. Sternenfels: Verlag Wissenschaft & Praxis. Reiter, S. und G. Sherman (1965): Discrete Optimizing. Journal of the Society for Industrial and Applied Mathematics, 13(3): 864-889. Riedesser, A. (1971): Der Diagonalalgorithmus zur Ablaufplanung. Zeitschrift f¨ ur Betriebswirtschaft, 23: 649-669. Rinnooy Kan, A. H. G. (1976): Machine Sequencing Problem: Classification, Complexity and Computation. The Hague: Martinus Nijhoff Publishers. Rixby, R. E. (2002): Solving real-world linear programs: a decade and more of progress. Operations Research, 50(1): 3-15. Rixen, I. (1997): Maschinenbelegungsplanung mit Evolution¨aren Algorithmen. Wiesbaden: DUV. Rixen, I. und H. Kopfer (1994): Ein Genetischer Algorithmus f¨ ur das JobShop-Scheduling-Problem. Fachbericht Nr. 4, Lehrstuhl f¨ ur Logistik, Universit¨at Bremen. Ro, I.-K. und J.-I. Kim (1990): Multi-criteria operational control rules in flexible manufacturing systems (FMSs). International Journal of Production Research, 28: 1, 47-63. Rodhammer, F. R. und K. P. White (1988): A Recent Survey of Production Scheduling. IEEE Transactions on Systems, Manufacturing, and Cybernetics, 18(6): 841-851. Rojas, R. (1996): Theorie der neuronalen Netze: Eine systematische Einf¨ uhrung. Berlin/Heidelberg: Springer, 4. korr. Auflage. Rossi, A. und G. Dini (2007): Flexible job-shop scheduling with routing flexiblity and separable setup times using ant colony optimisation methods. Robotics and Computer-Integrated Manufacturing, 23(5): 503-516. Roy, B. und B. Sussmann (1964): Les probl`emes d’ordonnancement avec contraintes disjonctives. Note DS no. 9 bis, SEMA, Paris.
Literaturverzeichnis
293
Russel, R. S.; E. M. Dar-El und B. W. Taylor (1987): A comparative analysis of the COVERT job sequencing rule using various shop performance measures. International Journal of Production Research, 25: 1523-1540. Saliger, E. (2003): Betriebswirtschaftliche Entscheidungstheorie. M¨ unchen: Oldenbourg Verlag, 5. durchges. Auflage. Salkin, H. M. (1975): Integer Programming. Reading (MA) et al.: AddisonWesley. Savelsbergh, M. W. P. (1997): A Branch-and-price algorithm for the generalized assignment problem. Operations Research, 47: 831-841. Sawaya, N. W. und I. E. Grossmann (2005): A cutting plane method for solving linear generalized disjunctive programming problems. Computers & chemical engineering, 29(9): 1891-1913. Schneeweiss, C. (1991): Planung 1 – Systemanalytische und entscheidungstheoretische Grundlagen. Berlin: Springer. Scholl, A. (2001): Robuste Planung und Optimierung. Heidelberg: PhysicaVerlag. Sch¨oneburg, E.; F. Heinzmann und S. Feddersen (1993): Genetische Algorithmen und Evolutionsstrategien: eine Einf¨ uhrung in Theorie und Praxis der simulierten Evolution. Schutten, J. M. J. (1998): Practical Job Shop Scheduling. Annals of Operations Research, 83: 161-177. Schwefel, H.-P. (1975): Evolutionsstrategie und numerische Optimierung. Doktorarbeit, Fachbereich f¨ ur Verfahrenstechnik, Technische Universit¨at Berlin, Berlin. Schwefel, H.-P. (1977): Numerische Optimierung von Computer-Modellen mittels Evolutionsstrategie. Basel: Birkh¨auser. Schwefel, H.-P. (1995): Evolution and Optimum Seeking. New York: John Wiley&Sons. Schweitzer, M. (1967): Methodologische und entscheidungstheoretische Grundfragen der betriebswirtschaftlichen Prozeßstrukturierung. Zeitschrift f¨ ur Betriebswirtschaft, 19: 279-296. Seelbach, H. (1975): Ablaufplanung. W¨ urzburg: Physica-Verlag. Sevkli, M. und M. E. Aydin (2006): Variable Neighborhood Search for Job Shop Scheduling Problems. Journal of Software, 1(2): 34-39.
294
Literaturverzeichnis
Shapiro, J. (1979): A survey of Lagrangian techniques for discrete optimization. Annals of Discrete Mathematics, 5: 113-138. Sherali, H. D.; S. C. Sarin und R. Desai (1990): Models and algorithms for job selection, routing, and scheduling in a flexible manufacturing system. Annals of Operations Research 26: 433-453. Siedentopf, J. (2002): Job-Shop-Scheduling: Planung durch probabilistische lokale Suchverfahren. Wiesbaden: DUV. Siegel, T. (1974): Optimale Maschinenbelegungsplanung: Zweckm¨aßigkeit der Zielkriterien und Verfahren zur L¨osung des Reihenfolgeproblems. Berlin: Erich Schmidt. Silver, E. A.; D. F. Pyke und R. Petersen (1998): Inventory management and production planning and scheduling. New York et al.: John Wiley & Sons, 3. Auflage. Soumis, F. (1997): Decomposition and column generation. In: Dell’Amico, M.; F. Maffioli und S. Martello (Hrsg.): Annotated Bibliographies in Combinatorial Optimization, S. 115-126. Chichester: John Wiley & Sons. Sousa, J. P. und L. A. Wolsey (1992): A time indexed formulation of nonpreemptive single machine scheduling problems. Mathematical Programming, 54: 353-367. Stafford, E. F. (1988): On the development of a mixed-integer linear programming model for the flowshop sequencing problem. Journal of the Operational Research Society, 39: 1163-1174. Starkweather, T.; S. McDaniel; K. Mathias; D. Whitley und C. Whitley (1991): A Comparison of Genetic Sequencing Operators. In: Belew, R. K. und L. B. Booker (Hrsg.): Proceedings of the Fourth International Conference on Genetic Algorithms and their Applications, S. 69-76. San Francisco: Morgan Kaufmann. Stecke, K. E. und R. Suri (Hrsg.) (1985): Flexible Manufacturing Systems: Operations Research Models and Applications. Annals of Operations Research, 3, Basel: J. C. Baltzer. Stecke, K. E. und R. Suri (Hrsg.) (1988): Flexible Manufacturing Systems: Operations Research Models and Applications II. Annals of Operations Research, 15, Basel: J. C. Baltzer. Storer, R. H.; S. D. Wu und R. Vaccari (1992): New search spaces for sequencing problems with application to job shop scheduling. Management Science, 38: 1495-1509.
Literaturverzeichnis
295
Streim, H. (1975): Heuristische L¨osungsverfahren – Versuch einer Begriffserkl¨arung. Zeitschrift f¨ ur Operations Research, 19: 143-162. Sutton, W. S. (1903): The chromosomes in heredity. Biological Bullein Woods Hole, 4: 234-251. Syswerda, G. (1991): Scheduling Optimization using Genetic Algorithms. In: Davis, L. (Hrsg.): Handbook of Genetic Algorithms, S. 332-349. New York: Van Nostrand Reinold. Taillard, E. C. (1994): Parallel Taboo Search Techniques for the Job Shop Scheduling Problem. Journal on Computing, 6(2): 108-117. Tangermann, H. P. (1973): Auftragsreihenfolgen und Losgr¨oßen als Instrument der Fertigungsterminplanung, untersucht an einem praxisbezogenen Simulationsmodell. Dissertation, Technische Universit¨at Braunschweig. Teich, T. (1998): Optimierung von Maschinenbelegungspl¨anen unter Benutzung heuristischer Verfahren. Lomar, K¨oln: Eul. Tempelmeier, H. (2008): Material-Logistik: Modelle und Algorithmen f¨ ur die Produktionsplanung und -steuerung in Advanced Planning-Systemen. Berlin et al.: Springer, 7. neubearb. Auflage. Tempelmeier, H. und H. Kuhn (1993): Flexible Fertigungssysteme: Entscheidungsunterst¨ utzung f¨ ur Konfiguration und Betrieb. Berlin: Springer. T‘Kindt, V. und J.-C. Billaut (2002): Multicriteria Scheduling Problems. In: Ehrgott, M. und X. Gandibleux (Hrsg.): Multiple criteria optimization: state of the art annotated bibliography surveys, S. 445-491. Bosten (MA), et al.: Kluwer Academic Publishers. T‘Kindt, V. und J.-C. Billaut (2006): Multicriteria Scheduling: Theory, Models and Algorithms. Berlin, Heidelberg, New York: Springer, 2. Auflage. Trautmann, N. (2005): Operative Planung der Chargenproduktion. Wiesbaden: DUV. Tu, K.; Z. Hao und M. Chen (2006): PSO with improved strategy and topology for job shop scheduling. Lecture Notes in Computer Science, 4222: 146-155. Vaessens, R. J. M. (1995): Generalized Job Shop Scheduling: Complexity and Local Search. Wageningen: Ponsen & Looijen. Vaessens, R. J. M.; E. H. L. Aarts und J. K. Lenstra (1996): Job Shop Scheduling by Local Search. INFORMS Journal for Computing, 8: 302-317.
296
Literaturverzeichnis
Van de Velde, S. L. (1991): Machine Scheduling and Lagrangian Relaxation. Ph.D thesis, Technische Universiteit Eindhofen, Eindhofen, the Netherlands. In: http://alexandria.tue.nl/extra1/PRF7B/9101562.pdf, zugegriffen am 27.05.2010. Van den Akker, M.; H. Hoogeveen und S. van de Velde (1999): Parallel Machine Scheduling by Column Generation. Operations Research, 47(6): 862-872. Van der Zwaan, S. und C. Marques (1999): Ant Colony Optimisation for Job Shop Scheduling. In: Proceedings of the 3rd Workshop on Genetic Algorithms and Artificial Life. Van Laarhoven, P. J. M. und E. H. L. Aarts (1992): Simulated Annealing: theory and applications. Dordrecht (et al.): Kluwer Academic Publishers, Nachdruck der Ausgabe von 1988. Van Laarhoven, P. J. M.; E. H. L. Aarts und J. K. Lenstra (1992): Job Shop Scheduling by Simulated Annealing. Operations Research, 40(1):113-125. Van Wassenhove, L. N. und L. F. Gelders (1980): Solving a bicriterion scheduling problem. European Journal of Operational Research, 4: 42-48. Vance, P. H. (1998): Branch-and-price algorithms for the one-dimensional cutting stock problem. Computational Optimization and Applications, 9(3): 211-228. Vance, P. H.; C. Barnhart; E. L. Johnson und G. L. Nemhauser (1994): Solving binary cutting stock problems by column generation and branch-andbound. Computational Optimization and Applications, 3(2), 111-130. Vanderbeck, F. (1994): Decomposition and Column Generation for Integer Programs. Ph.D. thesis , Universit’e Catholique de Louvain, Louvain-laNeuve, Belgium. Vanderbeck, F. und L. A. Wolsey (1996): An exact algorithm for IP column generation. Operations Research Letters, 19: 151-159. Vepsalainen, A. P. J. und T. E. Morton (1987): Priority rules for job shops with weighted tardiness costs. Management Science, 33: 1035-1047. Vogt, J. und A. Kaiser (1996): Ziele und Methoden der Produktionssteuerung – Eine empirische Untersuchung im Werkzeugmaschinenbau. Arbeitspapier 2/96, Lehrstuhl f¨ ur Industriebetriebslehre, Universit¨at Hohenheim. Voß, S.; S. Martello; I. H. Osman und C. Roucairo (Hrsg.) (1999): MetaHeuristics – Advances and Trends in Local Search Paradigms for Optimization. Dordrecht: Kluwer Academic Publishers. Wagenknecht, C. (2003): Algorithmen und Komplexit¨at. M¨ unchen: Hanser.
Literaturverzeichnis
297
Wagner, H. P. (1959): An integer linear programming model for machine scheduling. Naval Research Logistics Quarterly, 6: 131-140. Watson, J. P.; A. E. Howe und L. D Whitley (2003): An Analysis of Iterated Local Search for Job-Shop Scheduling. In: Proceedings of the 5th Metaheuristics International Conference (MIC-2003), Kyoto, Japan. In: http://cs. colostate.edu/Sched/pub/mic03IJAR.pdf, zugegriffen am 27.05.2010. Weismann, A. (1885): Die Kontiuit¨at des Keimplasmas als Grundlage der Theorie der Vererbung. Jena: Fischer. Winston, W. L. (2007): Operations Research, Applications and Algorithms. Belmont, California: Duxbury Press, 4. Auflage. Witt, A. (2004): Produktionsplanung und -steuerung in der Stahlindustrie. Ressourceneinsatzplanung mit Ber¨ ucksichtigung von F¨alligkeitsterminen und beschr¨ankten Zwischenlagerkapazit¨aten. Berlin: Tenea Verlag f¨ ur Medien. W¨ohe, G. (2010): Einf¨ uhrung in die Betriebswirtschaftslehre. M¨ unchen: Vahlen, 24. u ¨berarb. u. akt. Auflage. Wolsey, L. A. (1998): Integer Programming. Chichester: John Wiley & Sons. Yamada, T. und R. Nakano (1990): Job-Shop Scheduling by Simulated Annealing Combined with Deterministic Local Search. Dordrecht (et al.): Kluwer Academic Publishers. Yamada, T. und R. Nakano (1992): A genetic algorithm applicable to largescale job-shop problems. In: Proceedings of The Second International Conference on Parallel Problem Solving from Nature PPSN (1992), S. 281-290. Yamada, T. und R. Nakano (1997): Genetic algorithm for job-shop scheduling problems. In: Proceedings of Modern Heuristic for Decision Support (London, 1997), S. 67-81. Yazdani, M.; M. Adiri und M. Zandieh (2010): Flexible job-shop scheduling with parallel variable neighborhood search algorithm. Expert Systems with Applications, 37(1): 678-687. Yong, G. und P. A. Li (2007): A tabu search algorithm with a new neighborhood structure for the job shop scheduling problem. Computers & Operations Research, 34(11): 3229-3242. Yu, G. und X. Qi (2004): Disruption management. Singapore: World Scientific. Zadeh, L. A. (1994): Fuzzy logic, neural networks, and soft computing. Communications of the ACM, 37(3): 77-84.
298
Literaturverzeichnis
Z¨apfel, G. (1982): Produktionswirtschaft. Operatives Produktions-Management. Berlin, New York: De Gruyter. Z¨apfel, G. und R. Braune (2005): Moderne Heuristiken der Produktionsplanung am Beispiel der Maschinenbelegung. WiSo Kurzlehrb¨ ucher, Reihe Betriebswirtschaft. M¨ unchen: Vahlen. Zelewski, S. (1989): Komplexit¨atstheorie als Instrument zur Klassifizierung und Beruteilung von Problemen des Oprations Research. Braunschweig, Wiesbaden: Vieweg. Zelewski, S. (1999): Flexibilit¨atsorientierte Koordinierung von Produktionsprozessen. Arbeitsbericht, Essen. In: http://www.pim.uni-due.de/ fileadmin/Publikationen/Arbeitsbericht nr 2 Flexible-PPS.pdf, zugegriffen am 27.05.2010. Zelewski, S. (2008): Produktionsplanungs- und - steuerungssysteme: Konzepte und exemplarische Implementierungen mithilfe von SAP R/3. M¨ unchen: Oldenbourg. Zimmermann, H. J. und L. Gutsche (1991): Multi-Criteria Analysis. Heidelberg: Springer. Z¨oller-Greer, P. (2007): K¨ unstliche Intelligenz – Grundlagen und Anwendungen. W¨achtersbach: Composia-Verlag.