Lars Monch AgentenbasierteProduktionssteuerung komplexer Produktionssysteme
WIRTSCHAFTSINFORMATIK
Lars Monch
Agent...
10 downloads
819 Views
12MB 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
Lars Monch AgentenbasierteProduktionssteuerung komplexer Produktionssysteme
WIRTSCHAFTSINFORMATIK
Lars Monch
Agentenbasierte Produktionssteuerung komplexer Produktionssysteme
Deutscher Universitats-Verlag
Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet uber abrufbar.
HabilitationsschriftTechnische Universitat llmenau, 2005
1.AuflageMarz2006 Alle Rechte vorbehalten © Deutscher Universitats-Verlag I GWV Fachverlage GmbH, Wiesbaden 2006 Lektorat: Ute Wrasmann / Anita Wilke Der Deutsche Universitats-Verlag ist ein Unternehmen von Springer Science+Business Media. www.duv.de Das Werk einschlieSllch aller seiner Telle ist urheberrechtlich geschiitzt. Jede Verwertung auBerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulassig und strafbar. Das gilt insbesondere fiir Vervielfaltigungen, Ubersetzungen, 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 waren und dahervon jedermann benutzt werden diirften. Umschlaggestaltung: Regine Zimmer, Dipl.-Designerin, Frankfurt/Main Druck und Buchbinder: Rosch-Buch, Schef^litz Gedruckt auf saurefreiem und chlorfrei gebleichtem Papier Printed in Germany ISBN 3-8350-0249-X
Vorwort Produktionssteuerungsprobleme konnen trotz der in den letzten Jahren voUzogenen Fortschritte in Theorie und Praxis nicht als abschliefiend gelost betrachtet werden. Eine kritische Betrachtung fiihrt zu der Erkenntnis, dass in den letzten zwei Jahrzehnten zwar grofie Fortschritte in der Hardund Softwareentwicklung stattgefunden haben, die zu besseren Informationssystemen fiir die Produktionssteuerung gefuhrt haben. Gleichzeitig haben relativ wenig moderne Algorithmen Eingang in gebrauchliche Werkstattsteuerungssysteme gefunden. Auf der anderen Seite ist es heute moglich, auf Grund der verbesserten Rechentechnik grofie Mengen an digitalen, strukturierten Daten zur Entscheidungsunterstiitznng heranzuziehen. In der vorliegenden Arbeit wird die klassische Theorie der hierarchischen Steuerung mit modernen verteilten Programmierparadigmen, insbesondere auch der Agententechnologie in Verbindung gesetzt. Dadurch wird es moghch, die Vorteile hierarchischer Ansatze wie Rechenbarkeit und Skalierbarkeit mit den Vorteilen von Softwareagenten zu verkniipfen. Als Ergebnis dieses Syntheseprozesses erhalt man Softwaresysteme, die leichter zu warten und weiterzuentwickeln sind und die Online-Anforderungen geniigen. Aufbauend auf einer griindUchen Analyse der State-of-the-Art-Situation werden in der vorliegenden Arbeit Anforderungen an moderne Steuerungssysteme fur komplexe Produktionssysteme herausgearbeitet. Auf Basis der Analyse wird ein verteiltes hierarchisches Steuerungskonzept entwickelt. Nach der Ableitung entsprechender Agenten zur softwaretechnischen Realisierung des Steuerungsframeworks werden heuristische Steuerungsalgorithmen entworfen, die zu der vorgeschlagenen hierarchischen Dekomposition passen. Die neuen Verfahren werden mit konventionellen verglichen. Die Arbeit leistet einen Beitrag zur Koordinationstheorie, indem durch die Bereitstellung einer Ontologie und einer geeigneten Contentsprache der Entwurf einer Koordinationssprache fiir verteilte hierarchische Steuerungssysteme fiir komplexe Produktionsprozesse ermogUcht wird. Es wird eine Systemarchitektur beschrieben, die in konsequenter Weise die Struktur des Steuerungssystems von den eigentUchen Steuerungsalgorithmen entkoppelt. Dadurch konnen Steuerungsverfahren leicht ausgetauscht werden. Die Leistungsbewertung des vorgeschlagenen Steuerungsframeworks erfolgt simulationsbasiert am Beispiel des FABMAS-Prototyps, eines agentenbasierten Systems zur Steuerung des Waferfertigungsprozesses. Die in dieser Arbeit dargestellten Forschungsarbeiten konnen als Ausgangspunkt fiir die Weiterentwicklung von Hard- und Softwarearchitekturen fiir CIM (Computer Integrated Manufacturing)-Anwendungen angesehen werden. Die Arbeit ist das Ergebnis von Forschungsarbeiten, die ich von 1999 bis 2004 an der Technischen Universitat Ilmenau, Institut fiir Wirtschaftsinformatik, durchgefiihrt habe.
VI
VORWORT
Der Lehrstuhlinhaber und Direktor des Instituts fiir Wirtschaftsinformatik der Technischen Universitat Ilmenau, Peter Gmilkowsky, sorgte fiir sehr gute Arbeitsbedingungen. Die durchgefiihrten Forschungsarbeiten waren gleichzeitig Ausgangspunkt einer sehr fruchtbaren Zusammenarbeit mit John W. Fowler (Arizona State University, Tempe, AZ, USA). John lenkte mein Interesse auf ScheduHngfragestellungen fiir die Halbleiterfertigung. Die in dieser Arbeit dargestellten Forschungsarbeiten wurden inhalthch und materiell durch drei Forschungsprojekte getragen, die unter meiner Leitung durchgefiihrt wurden, und mir zum Teil sehr unterschiedUche Perspektiven auf meinen Forschungsgegenstand ermoghchten: 1. „Simulationsbasierte Arbeitsvorgabe und Terminierung fiir die Waferfertigung (SimArt)" (finanziert durch X-FAB Semiconductor Foundries AG Erfurt), 2. Factory Operations Research Center (FORCe)-Projekt "ScheduUng of Semiconductor Wafer Fabrication Facihties" (finanziert durch die Semiconductor Research Corporation und SEMATECH International), 3. "FABMAS: ein System zur Steuerung des Waferfertigungsprozesses auf der Grundlage autonomer und kooperativer Softwareagenten" (finanziert durch das DFG-Schwerpunktprogramm "Intelligente Softwareagenten und betriebswirtschaftliche Anwendungsszenarien"). Eine Reihe Personen haben die hier beschriebenen Forschungsarbeiten unterstiitzt. An erster Stelle steht das aus Marcel Stehli, Jens Zimmermann und Ilka Habenicht bestehende FABMASTeam, das direkt zum Erfolg der Forschungsarbeiten beigetragen hat. Die Arbeit ware ohne die niitzliche praJctische Arbeit vieler Studenten unmoglich gewesen. Stellvertretend seien hier Rene Schabacker, Rene Driefiel, Patrick Rempel, Frank Mock und Jeannine Schmidt genannt. Oliver Rose (Technische Universitat Dresden) stand fiir viele Diskussionen iiber Halbleiterfertigung, Simulation und forschungsorganisatorische Fragestellungen zur Verfiigung. Volker Schmalfufi (X-FAB Semiconductor Foundries AG Erfurt) und Alexander Schomig (Infineon Technologies AG Munchen) ermoglichten durch Diskussionen und die Bereitstellung von Datensatzen eine standige Uberpriifung der praktischen Relevanz der durchgefiihrten Forschungsarbeiten. Peter Mertens (Universitat Erlangen-Niirnberg) verdanke ich die tJberzeugung, dass Wirtschaftsinformatik die Anwendung von Informatik- und Operations-Research-Methoden auf betriebliche Problemstellungen ist und dass es unwissenschaftlich ist, reflexartig jeder (wissenschaftlichen) Modewelle zu folgen. Ich mochte mich herzlich bei den oben genannten Personen fiir ihre Hilfe und Unterstiitzung bedanken. Lars Monch
Inhaltsverzeichnis 1 Einleitung
1
1.1 Motivation
1
1.2
2
Methodisches Vorgehen
1.3 Problemstellung
3
1.4
Ergebnisse der Arbeit
5
1.4.1
Anforderungen an Steuerungsansatze
5
1.4.2
Framework zur verteilten hierarchischen Steuerung
5
1.4.2.1
Modellsystem fiir eine verteilte hierarchische Steuerung
5
1.4.2.2
Produktionssystemsteuerungsebene
6
1.4.2.3
Produktionsbereichssteuerungsebene
6
1.4.2.4
Maschinengruppensteuerungsebene
7
1.4.2.5
Verteiltes hierarchisches Steuerungskonzept
7
1.4.2.6
Diskussion der verfolgten betriebswirtschaftlichen Ziele
8
1.4.3
Agentifizierung des Steuerungsansatzes
9
1.4.4
Steuerungsalgorithmen fiir komplexe Produktionssysteme
9
1.4.4.1
Algorithmen fur die Produktionssystemsteuerungsebene
9
1.4.4.2
Algorithmen fiir die Produktionsbereichssteuerungsebene . . . . .
1.4.4.3
Algorithmen fiir die Maschinengruppensteuerungsebene
1.4.5
10 10
Koordination in verteilten hierarchischen Steuerungssystemen
10
1.4.5.1
Koordinationsmechanismen
10
1.4.5.2
Ontologie zur Steuerung komplexer Produktionssysteme
11
1.4.5.3
Contentsprache zur Steuerung komplexer Produktionssysteme . .
11
1.4.5.4
Koordinationssprache fiir eine verteilte hierarchische Steuerung
11
.
1.4.6
Architektur eines verteilten hierarchischen Steuerungssystems
12
1.4.7
Leistungsbewertung von Steuerungsverfahren
13
VIII
INHALTSVERZEICHNIS
2 Steuerungsansatze fur komplexe Produktionssysteme
15
2.1 Komplexe Systeme und Prozesse
15
2.2
16
Komplexe Produktionssysteme und -prozesse
2.3 Steuerung komplexer Systeme
19
2.4
Steuerung komplexer Produktionssysteme
21
2.5
Steuerungsansatze des Operations Research
22
2.5.1
Prioritatsregeln und Einsteuerungsstrategien
22
2.5.1.1
Prioritatsregelbasierte Steuerung
22
2.5.1.2
Einsteuerungsstrategien fiir komplexe Produktionssysteme . . . .
23
2.6
2.5.2
Deterministische Schedulingansatze
25
2.5.3
Simulationsbasierte Ansatze
27
Steuerungsansatze der Kiinstlichen Intelligenz
30
2.6.1
Expertensysteme und wissensbasierte Systeme
30
2.6.2
Suchverfahren der Kiinstlichen Intelligenz
30
2.6.3
Constraint-Satisfaction-Techniken
31
2.6.4
Verfahren des maschinellen Lernens
33
2.6.4.1
Neuronale Netze
33
2.6.4.2
Induktive Entscheidungsbaume
34
2.6.4.3
Reinforcement-Learning
35
2.6.5
Verfahren der Verteilten Kiinstlichen InteUigenz
36
2.6.5.1
Multi-Agenten-Systeme
36
2.6.5.2
Motiviation fur agentenbasierte Produktionssteuerungssysteme . .
37
2.6.5.3
Existierende agentenbasierte Produktionssteuerungssysteme . . .
37
2.6.5.4
Funktionale Agenten
38
2.6.5.5
Adaptive Agenten
39
2.6.5.6
Kontraktnetzartige Steuerungsverfahren
40
2.6.5.7
Holonische Ansatze zur Produktionssteuerung
40
2.7 Hybride Steuerungsansatze fiir Produktionssysteme
41
2.7.1
Begriffsbestimmung und Beispiele
41
2.7.2
Hierarchische Steuerungsansatze
42
2.8 Anforderungsanalyse fiir ein Steuerungssystem
43
INHALTSVERZEICHNIS
IX
3 Verteilte hierarchische Produktionssteuerung
47
3.1
Hierarchische Steuerungsansatze
47
3.1.1
Hierarchische Strukturen
47
3.1.2
Verteilte Entscheidungsfindung in hierarchischen Systemen
48
3.1.3
Basismodell und Notationen fiir hierarchische Systeme
49
3.1.3.1
Framework fiir eine hierarchische Steuerung
49
3.1.3.2
ModelUerung von Entscheidungen
51
3.1.4
Schichtung, Stratifikation und Staffelung hierarchischer Systeme
53
3.1.5
Informationsstatus der Hierarchieebenen
55
3.2
Modellannahmen
56
3.3
tJbersicht iiber den Steuerungsansatz
58
3.4
Produktionssystemsteuerungsebene: Entscheidungsmodell
60
3.4.1
Entscheidungsvariable
60
3.4.2
Entscheidungskriterium
61
3.4.3
Alternativenraum fiir die Entscheidungen
62
3.4.4
Optimierungsmodell
63
3.4.4.1
Nicht-reaktive Antizipation
63
3.4.4.2
Imphzite reaktive Antizipation
64
3.4.4.3
Losungsverfahren
65
3.4.5 3.5
65
Produktionsbereichssteuerungsebene: Entscheidungsmodell
66
3.5.1
Entscheidungsvariable
67
3.5.2
Entscheidungskriterium
67
3.5.3
Alternativenraum fur die Entscheidungen
68
3.5.4
Optimierungsmodell zur Steuerung eines Produktionsbereichs
69
3.5.4.1
ModelUerung
69
3.5.4.2
Losungsverfgihren
73
3.5.5 3.6
Informationsstatus
Informationsstatus
73
Maschinengruppensteuerungsebene: Entscheidungsmodell
74
3.6.1
Entscheidungsvariable
74
3.6.2
Entscheidungskriterium
.
75
X
INHALTSVERZEICHNIS 3.6.3
Alternativenraum fiir die Entscheidungen
75
3.6.4
Optimierungsmodell
76
3.6.5
Informationsstatus
76
3.7
Verteiltes hierarchisches Steuerungsverfahren
78
3.8
Agentifizierung des Steuerungsansatzes
80
3.8.1
Begriffsbildungen
80
3.8.2
Ansatze zur Identifikation von Agenten
81
3.8.2.1
Gaia-Methode
81
3.8.2.2
DACS-Methode
83
3.8.2.3
PROSA-Referenzarchitektur
84
3.8.3
3.8.4
Identifikation der Agenten zur Realisierung des Steuerungsansatzes
....
85
3.8.3.1
Analyse des Steuerungsprozesses
85
3.8.3.2
Ressourcenagenten
87
3.8.3.3
Auftragsagenten
87
3.8.3.4
Produktagenten
88
3.8.3.5
Dienstagenten fur die Ressourcen- und Auftragsagenten
90
Agenteninteraktionen
90
3.8.4.1
Interaktionen zwischen Ressourcen-, Auftrags- und Produktagenten 90
3.8.4.2
Interaktionen zwischen Ressourcen-, Auftrags- und Schedulingagenten
3.8.4.3
91
Interaktionen zwischen Ressourcen-, Auftrags- und Monitoringagenten
92
4 Verfahren zur autonomen und kooperativen Steuerung
93
4.1 Losterminierung auf Produktionssystemebene
94
4.1.1
Problemformuherung
94
4.1.2
Diskussion relevanter Literatur
4.1.3
Kapazitatsorientierter Beam-Search-Algorithmus
96
4.1.3.1
Terminierungsmethode ICA
96
4.1.3.2
Beam-Search-Algorithmus
98
.
95
4.1.4
Design von Experimenten und numerische Ergebnisse
101
4.1.5
Iteratives simulationsbasiertes Verfahren zur Abschatzung von Wartezeiten
106
INHALTSVERZEICHNIS
4.2
XI
4.1.6
Softwaretechnische Umsetzung des iterativen Verfahrens
108
4.1.7
Numerische Ergebnisse fiir das iterative simulationsbasierte Verfahren . . .
109
Shifting-Bottleneck-Heuristik fiir Produktionsbereiche
Ill
4.2.1
Disjunktive Graphenformulierung
112
4.2.1.1
Bestandteile eines disjunktiven Graphen
112
4.2.1.2
Darstellung eines Ablaufplanes im disjunktiven Graphen
114
4.2.1.3
Festlegung der Kantengewichte
114
4.2.1.4
Behandlung von Batchmaschinen
116
4.2.1.5
Behandlung von reihenfolgeabhangigen Umriistzeiten
117
4.2.1.6
Behandlung von parallelen Maschinen
117
4.2.2
Shifting-Bottleneck-Heuristik
117
4.2.3
Verteilte Shifting-Bottleneck-Heuristik
119
4.2.3.1
4.2.3.2 4.2.4 4.2.5
Modifikation der disjunktiven Graphenreprasentation fiir Produktionsbereiche
119
Verfahren
120
Entwurf der durchzufiihrenden Experimente Ergebnisse numerischer Experimente mit der verteilten Shifting-BottleneckHeuristik
4.3
122
. . 123
Scheduling-Pramework fiir parallele Maschinen
127
4.3.1
Problemanalyse und Diskussion relevanter Literatur
127
4.3.2
ModeUierungs- und Entscheidungsuntersttitzungsperspektive
131
4.3.2.1
Uberblick
131
4.3.2.2
Phase I: Bildung von Schedulingentitaten (Pra-Prozessingphase) . 131
4.3.2.3
Phase H: Aufteilung der Schedulingentitaten
4.3.2.4
Phase III: Festlegung der Reihenfolge der Lose auf den Einzelmaschinen
4.3.2.5
4.3.3 4.3.4
132
135
Phase IV: Herstellen bzw. Verbesserung eines zulassigen Ablaufplanes (Post-Prozessingphase)
136
Softwaretechnische Reahsierung des Frameworks
137
Beispiel 1: Ablaufplanung fiir parallele Batchmaschinen mit dynamischen Losankiinften
138
4.3.4.1
138
Vorarbeiten
XII
INHALTSVERZEICHNIS 4.3.4.2
Problemformulierung und Notationen
139
4.3.4.3
Konkretisierung der vier Phasen
140
4.3.4.4
4.3.4.5 4.3.5
144
Numerische Experimente
145
Beispiel 2: Ablaufplanung fiir Photolithographiestepper
147
4.3.5.1
147
4.3.5.2
4.4
Methode zur simultanen Batchbildung und Festlegung der Bearbeitungsreihenfolge der Batches
Motivation und Problemstellung Modellierungs- und Entscheidungsunterstiitzung fiir das Stepperbelegungsproblem
151
4.3.5.3
Parameterwahl fur Phase II und Phase III
152
4.3.5.4
Numerische Experimente
153
Modifizierter Kontraktnetzansatz
154
4.4.1
Motivation
154
4.4.2
Kontraktnetzartige Ansatze
154
4.4.3
Maschinenstundenbasierte Budget- und Kostenbestimmung
158
4.4.3.1
Bezeichnungen
158
4.4.3.2
Definition von Maschinenstundensatzen
159
4.4.3.3
Kosten zur Herstellung eines einzelnen Loses fur ein Produkt. . . 160
4.4.3.4
Maschinenstundenbasierte Festlegung des Budgets fiir Losagenten
4.4.3.5
Maschinenstundenbasierte Festlegung der Kosten fiir Maschinen-
4.4.3.6 4.4.4
160
agenten
161
Algorithmus zur maschinenstundenbasierten Ressourcenallokation
162
Leistungsbewertung des vorgeschlagenen Ansatzes
163
4.4.4.1
Charakterisierung des untersuchten Produktionssystems
163
4.4.4.2
Design der Experimente
164
4.4.4.3
Ergebnisse
167
4.5 Integration in eine betriebliche Anwendungslandschaft
168
5 Koordination in hierarchischen Steuerungssystemen
171
5.1
Koordinationsbegriff
171
5.1.1
Motivation und Begriff
171
5.1.2
Formalisierung des Koordinationsbegriffes
172
INHALTSVERZEICHNIS
5.2
5.3
5.4
6
XIII
5.1.3
Gestaltung der Koordination im Steuerungsframework
174
5.1.4
Realisierung von Koordinationsaktivitaten
176
Ontologie zur Steuerung komplexer Produktionssysteme
177
5.2.1
Ontologiebegriff
177
5.2.2
Entwurf der Ontologie
178
Contentsprache fiir komplexe Produktionssysteme
183
5.3.1
Motivation
183
5.3.2
Grammatik der Contentsprache
184
Koordinationssprache
186
5.4.1
Begriffsbestimmung und Diskussion relevanter Literatur
186
5.4.2
Design der Koordinationssprache
187
Systemarchitektur zur Produktionssteuerung
193
6.1
Architekturmodelle fiir betriebhche Informationssysteme
193
6.2
Infrastruktur fiir das Multi-Agenten-System
195
6.3
AgentenmodeUierung
6.4
6.5
. 196
6.3.1
RoUenbasierter Ansatz .
196
6.3.2
Verhaltensmodellierung
196
6.3.3
Abbildung der hierarchischen Elemente des Steuerungsverfahrens
197
Kommunikation im Multi-Agenten-System
197
6.4.1
Technische Realisierung
197
6.4.2
Ontologieintegration
198
6.4.3
Implementierung und Integration der Contentsprache
198
Datenhaushalt des vorgeschlagenen Multi-Agenten-Systems
199
6.5.1
Prinzipien
199
6.5.2
Datenstrukturen fiir Entscheideragenten
200
6.5.2.1
Maschinengruppenagenten
200
6.5.2.2
Produktionsbereichsagenten
200
6.5.2.3
Produktionssystemagent
201
6.5.2.4
Produktagenten
202
6.5.2.5
Losagenten
6.5.2.6
Batchagenten
. 202 202
XIV
INHALTSVERZEICHNIS 6.5.2.7 6.5.3
6.5.4
Agenten fiir vorbeugende Instandhaltungsmafinahmen
Datenstrukturen fiir Dienstagenten
203
6.5.3.1
Schedulingagenten
203
6.5.3.2
Monitoringagenten
203
Datenversorgung des Steuerungssystems durch betriebliche Informationssysteme
6.6
203
Generische Architektur fiir Entscheideragenten
204
6.6.1
Funktionalitat von Entscheideragenten
204
6.6.1.1
Vorbereitung der Entscheidungsfindung
205
6.6.1.2
Treffen der Entscheidung
205
6.6.1.3
Informieren anderer Entscheideragenten
206
6.6.1.4
Starten von Dienstagenten
206
6.6.1.5
Abfrage der Berechnungsergebnisse von Dienstagenten
206
6.6.1.6
Anfordern von Diensten anderer Entscheideragenten
206
6.6.1.7
Behandlung von Ausnahmen
206
6.6.1.8
Uberpriifen der Liste gegenwartiger oder zukiinftiger Agentenaktivitaten auf Eintrage
6.6.2 6.7
203
Architektur von Entscheideragenten
206 207
Generische Architektur fiir Dienstagenten
208
6.7.1
Funktionahtat von Dienstagenten
209
6.7.1.1
Vorbereitung der Problemlosung
209
6.7.1.2
Berechnung interner Parameter des Losungsverfahrens
209
6.7.1.3
Versorgung des Losungsverfahrens mit Parametern
210
6.7.1.4
Losung des Problems
210
6.7.1.5
Abbruch eines Losungsvorganges zu bestimmten Zeitpunkten oder in Folge bestimmter Ereignisse
6.7.2
210
6.7.1.6
Informieren anderer Agenten iiber das Ergebnis der Berechnung . 210
6.7.1.7
Behandlung von Ausnahmesituationen
Datenverwaltung in Dienstagenten
211 211
6.8
Interaktion zwischen Entscheider- und Dienstagenten
211
6.9
Beschreibung des FABMAS-Prototyps
213
INHALTSVERZEICHNIS
XV
7 Leistungsbewertung von Steuerungsansatzen
217
7.1
Motivation
217
7.2
Anforderungen an die Leistungsbewertung
218
7.2.1
Modellierungsgesichtspunkte
218
7.2.2
Architekturgesichtspunkte
218
7.3 Architektur zur Leistungsbewertung
219
7.4
223
7.5
Leistungskennzahlen fiir komplexe Produktionssysteme 7.4.1
Vergleichsverfahren fiir einen zu bewertenden verteilten Steuerungsansatz . 224
7.4.2
Mafie zur Leistungsbewertung
225
7.4.3
Ansatze zur Leistungsmessung
227
7.4.4
Festlegung und Planung der durchzufiihrenden Experimente
228
Numerische Experimente
228
7.5.1
Vorgehen bei der Leistungsbewertung
229
7.5.1.1
Vergleichsverfahren
229
7.5.1.2
Festlegung der Leistungsmafie
229
7.5.1.3
Spezifikation des verwendeten Ansatzes zur Leistungsmessung . . 230
7.5.1.4
Beschreibung der verwendeten Hard- und Softwareumgebung . . . 230
7.5.1.5
Festlegung der durchzufiihrenden Experimente
7.5.2
230
Numerische Ergebnisse
231
7.5.2.1
231
7.5.2.2
Experimente zur Bewertung der Steuerungsverfahren Experimente zur Leistungsfahigkeit der technischen Realisierung des Steuerungssystems
232
8 Ausblick auf weitere Forschungsarbeiten
235
Literaturverzeichnis
239
Anhang
261
A Modellierung komplexer Produktionssysteme
261
A.l Formale Beschreibung: Basissystem
261
A.2 Formale Beschreibung: Steuerungssystem
263
XVI B Agenten fur den Steuerungsansatz
INHALTSVERZEICHNIS 267
B.l Ressourcenagenten
267
B.2 Auftragsagenten
269
B.3 Dienstagenten
270
C Verhaltensmodellierung
273
C.l Verhalten von Entscheideragenten
273
C.2 Verhalten von Dienstagenten
276
Abbildungsverzeichnis 2.1
Zusammenhang System und Prozess
16
2.2
Zielmodifikation bzw. Modifikation des internen Modells [20]
21
2.3 Aufbau eines neuronalen Netzes
34
3.1
Grundmodell der hierarchischen Steuerung [223]
50
3.2
Hierarchischen Steuerung mit zwei Steuerungsebenen [223]
52
3.3
Hierarchisches System mit Staffelung
54
3.4
Steuerungsaufgabendekomposition durch Stratifikation
55
3.5
Zeitaspekte im verteilten hierarchischen Steuerungsalgorithmus
78
3.6
Entscheideragenten und Dienstagenten fiir die Steuerung
86
3.7
Entscheideragenten zur Steuerung von Produktionssystemen
89
3.8
Dienstagenten zur Steuerung von Produktionssystemen
90
3.9
Interaktionen zwischen Ressourcen-, Auftrags- und Produktagenten
91
3.10 Interaktionen zwischen Ressourcen-, Auftrags- und ScheduUngagenten
91
3.11 Interaktionen zwischen Ressourcen-, Auftrags- und Monitoringagenten
92
4.1
Suchbaum fiir den Beam-Search-Algorithmus
99
4.2
AuiSere Schleife des Beam-Search-Algorithmus
100
4.3 Innere Schleife des Beam-Search-Algorithmus
102
4.4
Softwarearchitektur fiir das iterative simulationsbasierte Verfahren
108
4.5
Veranderung des Leistungsmafies TWT in Abhangigkeit von der Anzahl der Iterationen
Ill
4.6
Graphenreprasentation fiir Lose {1,2,3} und Maschinen {1,2,3,4}
114
4.7
Disjunktiver Graph mit den kiinstlichen Batchknoten {(2,2), (2,3)} und {(2,1)}. . 117
4.8
Modifizierte Graphenreprasentation fiir den zyklischen Durchlauf von Losen durch Produktionsbereiche
120
XVIII 4.9
ABBILDUNGSVERZEICHNIS TWT-Ergebnisse fiir Produktionssystem B
126
4.10 Belegungsproblem fiir heterogene parallele Maschinen
128
4.11 Architektur des GA-basierten Scheduling-Prameworks
138
4.12 Standardkontraktnetz
155
4.13 Kontraktnetz in der Koordinatorvariante [275]
157
4.14 Durchsatz fiir Szenario 2 und Szenario 3
168
4.15 Entwicklung der Durchlaufzeiten fiir Szenario 2
169
5.1
Ausgestaltung der Koordination im vorgeschlagenen Steuerungsframework
....
175
5.2
Datenmodell fiir komplexe Produktionssysteme
180
5.3
Konzept Aktivitat und verwandte Konzepte
181
5.4
Konzept Ressource und verwandte Konzepte
182
5.5
Konzept Ablaufplan und verwandte Konzepte
183
5.6
Interaktionsprotokoll fiir Szenario 1
188
5.7
Interaktionsprotokoll fiir Szenario 2
189
5.8
Interaktionsprotokoll fur Szenario 3
190
5.9
Interaktionsprotokoll fur Szenario 4
191
6.1
Multi-Agenten-System-Infrastruktur
196
6.2
RoUenbasierter Ansatz bei der Agentenmodellierung
197
6.3
Datenhaushalt von Produktionsbereichsagenten
201
6.4
Datenversorgung durch Fremdsysteme
204
6.5
Liste der gegenwartigen oder zukiinftigen Agentenaktivitaten (AIL)
208
6.6
Interaktionen zwischen Entscheider- und Dienstagenten: I
212
6.7
Interaktionen zwischen Entscheider- und Dienstagenten: II
213
6.8
Interaktionen zwischen Dienst- und Entscheideragenten
214
6.9
Interaktionen zwischen zwei Entscheideragenten
215
6.10 Grobarchitektur des FABMAS-Prototyps
216
7.1 Architektur zur Leistungsbewertung
220
7.2
223
Objektmodell fiir ein einzelnes Blackboard
A.l Mini-Fab-Modell als komplexes Produktionssystem
262
Tabellenverzeichnis 3.1 Funktionalitat der einzelnen Steuerungsebenen
59
3.2
78
3.3
Parameter fiir die obere und mittlere Steuerungsebene Gegeniiberstellung von verteilten hierarchischen Steuerungssystemen und MultiAgenten-Systemen
82
4.1 Details zum MIMAC-Modell 1
103
4.2 Wahl der Zeitintervalle (Szenario 1)
104
4.3
Ergebnisse fiir verschiedene Flussfaktoren (vier detailliert modellierte Maschinengruppen)
4.4
104
Ergebnisse fiir eine unterschiedliche Anzahl von detailliert modellierten Maschinengruppen (BN)(Flussfaktor FF = 1.5)
105
4.5
Wahl der Zeitintervalle (Szenario 2 und Szenario 3)
105
4.6
Ergebnisse fiir Zeitintervalle unterschiedlicher Lange (Flussfaktor FF = 1.5)
4.7
Faktorielles Design zur Leistungsbewertung des Verfahrens
110
4.8
Numerische Ergebnisse fiir das iterative Verfahren
110
4.9
Faktorielles Design zur Leistungsbewertung des Verfahrens
123
...
105
4.10 Ergebnisse fur Produktionssystem A
124
4.11 Ergebnisse fiir Produktionssystem A
125
4.12 Ergebnisse fiir Produktionssystem B
126
4.13 Ergebnisse fur Produktionssystem C
127
4.14 GaLib-Datenstrukturen fiir das Framework
137
4.15 Algorithmenkombinationen fiir die vier Phasen des Frameworks
145
4.16 Parameter fiir Phase II (Ansatz 1 und Ansatz 2)
146
4.17 Parameter der Testdaten
147
4.18 Ergebnisse fiir Ansatz 1
148
XX
TABELLENVERZEICHNIS
4.19 Ergebnisse fiir Ansatz 2
149
4.20 Niveaus der Faktoren im 2^-faktoriellen Design
152
4.21 Parameter fiir Phase II
153
4.22 Leistungswerte fiir das Framework {as = 0.0500)
153
4.23 Anzahl der benotigten vorgezogenen Siliziumscheiben
154
4.24 Produktdaten des betrachteten Produktionssystems
164
4.25 Maschinendaten des Beispiels
164
4.26 Unabhangige Variable der Simulationsstudie 4.27 Beschreibung der Vergleichsprioritatsregeln 4.28 Werte fiir die Leistungsmafie
• • • 165 166 • 167
4.29 Statische Informationen fiir die Maschinenbelegungsverfahren
169
4.30 Dynamische Informationen fiir die Maschinenbelegungsverfahren
170
5.1
Koordination im verteilten hierarchischen Steuerungssystem
176
5.2
Daten fur komplexe Produktionssysteme
179
5.3
Pradikate in der vorgeschlagenen Ontologie
184
5.4
Agentenaktivitaten in der Ontologie
185
6.1
Implementierungsdetails der Dienstagenten im FABMAS-System
215
7.1 Simulationsereignisse, die Objekte des Blackboards verandern
222
7.2
222
Moghche Zustande fiir Entitaten des Produktionssystems
7.3 Direkte Leistungsmafie
226
7.4
Indirekte Leistungsmeifie
227
7.5
Variablentypen fur Simulationsstudien
229
7.6
Faktorielles Design fiir die Leistungsbewertung von DHPCA
231
7.7
Leistungswerte fur NDSBH und DSBH-II fur unterschiedhche Horizonte
232
7.8
TWT-Werte fur Modell B bei unterschiedlichen Systembedingungen
232
7.9
Laufzeit von NDSBH unverteilt und verteilt
233
A.l Bearbeitungszeiten und Batchgrofien fiir das Mini-Fab-Modell
262
C.l Verhalten von Entscheideragenten
273
C.2 Verhaltensauspragung Prepare_Decision_Making
274
TABELLENVERZEICHNIS
XXI
C.3 Verhaltensauspragung Make_Decision
274
C.4 Verhaltensauspragung Inform_DM_Agent
274
C.5 Verhaltensauspragung Start_StafLAgent
275
C.6 Verhaltensauspragung Get_Staff_Agent_Result
275
C.7 Verhaltensauspragung Request_Decision_Making_Agent_Service
276
C.8 Verhaltensauspragung Check_AIL
276
C.9 Verhaltensauspragungen von Dienstagenten
276
C.IO Verhaltensauspragung Prepare_Solution
277
C.ll Auspragung Parameterize_Algorithm
277
C.12 Verhaltensauspragung Solve_orJnterrupt
277
C.13 Auspragung Communicate_Solution
278
Kapitel 1 Einleitung 1.1
Motivation
Die Optimierung der operationellen Ablaufe in komplexen Produktionssystemen hat in den letzten Jahren sowohl im akademischen Umfeld als auch bei Praktikern grofie Beachtung gefunden. So bezeichnet Mertens [141] die anwendungsbezogene Umsetzung von Methoden der Informatik und des Operations Research (OR) als eine der Kernaufgaben der Wirtschaftsinformatik. Neben zentralen Verfahren des Operations Research und Prioritatsregelansatzen als Beispiele fiir einfache dezentrale Verfahren werden zunehmend moderne dezentrale und hybride Verfahren eingesetzt, die u.a. Softcomputingtechniken und Verhandlungs- und Marktmechanismen zur Losung der Maschinenbelegungsprobleme verwenden. Die Verfahren mit dezentraler Philosophie erfordern die Entwicklung von Koordinationsmechanismen. In [198] wird festgestellt, "dass Unternehmen als integrierte, in sich arbeitsteilige Gebilde nur dann ein Existenzrecht haben, wenn sie in ihrem Binnenbereich die mit jeder arbeitsteiligen Leistungserstellung verbundenen Koordinationsprobleme besser losen konnen als bei einer Abwicklung mit externen Partnern iiber den Markt". Bei der Entwicklung neuartiger Steuerungsalgorithmen, die autonome und kooperative Steuerungsentscheidungen ermoglichen, miissen die erweiterten soft- und hardwaretechnischen Moglichkeiten geeignet beriicksichtigt werden. Komplexe Produktionsprozesse [188] sind u.a. durch • einen zeithch veranderUchen Produktmix, • einen Mix unterschiedhcher Prozesstypen (z.B. Batchprozesse), • vorgeschriebene Kundenendtermine, • eine hohe Komplexitat der Arbeitsplane, • reihenfolgeabhangige Umriistzeiten, • par allele Maschinen, • sekundare Ressourcen
2
KAPITEL 1.
EINLEITUNG
gekennzeichnet. Weiterhin sind externe Storungen in Form von Veranderungen von Kundenendterminen und interne Storungen durch Maschinenausfalle typisch. Ein Produktionssystem besteht aus dem Basissystem, welches durch Ressourcen gebildet wird, und aus dem Steuerungssystem. Produktionsprozesse beschreiben die Inanspruchnahme von Ressourcen des Basissystems in Folge von Entscheidungen des Steuerungssystems im zeithchen Verlauf. Demzufolge kann ein Produktionsprozess in einen Basisprozess und einen Steuerungsprozess unterteilt werden. Komplexe Systeme werden in der Systemtheorie allgemein als Systeme von Subsystemen definiert [144]. Komplexe Produktionssysteme setzen sich, einer raumlichen und arbeitsorganisatorischen Dekomposition folgend, aus Produktionsbereichen zusammen. Ein einzelner Produktionsbereich ist durch eine bestimmte Anzahl von Gruppen paralleler Maschinen gekennzeichnet. Eine Domanenanalyse fiir die Herstellung integrierter Schaltkreise als speziellen komplexen Produktionsprozess ist in [149] vorgenommen worden. Der Einsatz zentral orientierter Planungsund Steuerungsmethoden ist erschwert bzw. nicht moglich. In der Arbeit wird ein verteiltes hierarchisches Framework zur Steuerung komplexer Produktionssysteme, im Weiteren als Framework bezeichnet, vorgeschlagen, das die Vorteile dezentraler Ansatze mit den Vorteilen einer zentralen Steuerung verbindet. Mit der vorliegenden Arbeit werden drei Ziele verfolgt: 1. Es wird dargestellt, wie die Theorie der verteilten hierarchischen Entscheidungsfindung fiir die Steuerung komplexer Produktionsprozesse angewandt werden kann. Wahrend in der Literatur das Problem der Steuerung einzelner Maschinengruppen oder Produktionsbereiche eines komplexen Produktionssystems haufig untersucht wird, werden in dieser Arbeit Forschungsarbeiten beschrieben, die das Problem der Steuerung eines ganzen Produktionsunternehmens zum Gegenstand haben. 2. Es wird gezeigt, dass das vorgeschlagene hierarchische Steuerungssystem in natiirlicher Art und Weise als Multi-Agenten-System implementiert werden kann. 3. Es werden OR- und Kl-Verfahren vorgeschlagen, die optimierende und koordinierende Eigenschaften des vorgeschlagenen Steuerungsansatzes sicherstellen und als Dienstagenten im Multi-Agenten-System fungieren. Weiterhin wird eine Leistungsbewertung des vorgeschlagenen Frameworks vorgenonmien.
1.2
Methodisches Vorgehen
Die Problemstellung ist Ausgangspunkt und bedeutendes Strukturmerkmal einer Theorie (Schneider [225]). Eine Problemstellung besteht aus einer Forschungsfrage und einer Losungsidee fiir die gestellte Frage. Weitere Strukturmerkmale einer Theorie sind ein Strukturkern, der die Formulierung der Problemlosungsidee in einem Modell darstellt, sowie Musterbeispiele als Anwendungsfalle
1.3. PROBLEMSTELLUNG
3
der Problemlosungsidee [225]. Unter einer Forschungsmethodik versteht Schneider dabei ein systematisches, auf einem System von Regeln aufbauendes Verfahren zur Theoriebildung. Da Modelle auf Annahmen beruhen, die von der Realitat abweichen konnen, sind nach Ansicht von Porter [202] Frameworks besser geeignet, Praxisunterstiitzung zu geben. Unter einem Framework wird eine Rahmenstruktur verstanden, die mit dem Ziel entworfen wird, eine bestimmte Betrachtungsweise auf ein zu losendes Problem zu unterstiitzen. Eine Konstruktion von Frameworks erfolgt unter Verwendung von Modellen und Konzepten. Frameworks bieten eine breite umfassende Problembeschreibung gemeinsam mit Strukturierungsinstrumenten an, die geeignet sind, der Komplexitat in Unternehmungen gerecht zu werden [181]. In den durchgefiihrten Forschungsarbeiten wird der Frameworkgedanke aufgegriffen. In einer Analysephase wird zunachst das zu losende Steuerungsproblem untersucht und eine auf der Theorie der verteilten hierarchischen Steuerung [224] basierende Losungsidee entwickelt. In einem weiteren Schritt erfolgt die Abstraktion zu einem Framework fiir komplexe Produktionssysteme und dessen konzeptionelle softwaretechnische Umsetzung mit Softwareagenten. Das entwickelte Framework wird empirisch auf die Steuerung der Herstellung integrierter Schaltkreise angewandt, indem ein entsprechender Prototyp implementiert wird und dann simulationsbasiert die Wirkung des verfolgten Steuerungsansatzes auf eine Halbleiterfabrik untersucht wird. Dieses Vorgehen steht in Einklang mit der von Heinzl [94] geforderten Erganzung des in der Wirtschaftsinformatik vorherrschenden konstruktiven Paradigmas durch empirische Analysen.
1.3
Problemstellung
Trotz der sich in den letzten Jahren voUzogenen Entwicklungen in Theorie und Praxis sind fur komplexe Produktionssysteme die folgenden Fragen von aufierordentlichem Interesse [226, 20]: • Wann soUen wie viele Lose (vergleiche Abschnitt 3.2 fiir den zugrunde gelegten Losbegriff) als unteilbare, dynamische Systemeinheiten in das komplexe Produktionssystem eingesteuert werden? • Wie soil die Zuteilung von Losen zu alternativen Maschinen erfolgen? • In welcher Reihenfolge soUen Lose bearbeitet werden, um Ziele wie hohe Liefertermineinhaltung bei hochstmoglicher Kapazitatsauslastung zu erreichen? Gleichzeitig sind alle technologischen Restriktionen komplexer Produktionssysteme zu beriicksichtigen. In der Praxis sind zentrale Implementierungen von fast voUstandig "heterarchischen" Steuerungen, d.h. Anwendung von geeigneten Prioritatsregeln, anzutreflFen. Prioritatsregelbasierte Steuerungssysteme verwenden zur Entscheidungsfindung haufig Informationen, die sich ausschliefilich auf Lose im Warteraum vor der zu belegenden Maschine beziehen. In diesem Sinne werden Maschinenbelegungsentscheidungen auf Basis lokaler Informationen getroffen. Erfahrene, mit Produktionssteue-
4
KAPITELl.
EINLEITUNG
rungsaufgaben betraute Personen koordinieren die zeitlich und raumlich isolierten Maschinenbelegungsentscheidungen. Typische Koordinationsprobleme sind die Batch- und Riistoptimierung (vergleiche Abschnitt 3.2 fiir den in dieser Arbeit verwendeten Batchbegriff), die Steuerung von geplanten und dynamischen Engpassen, die Einbeziehung von vorbeugenden Instandhaltungsmai3nahmen in die Produktionssteuerung und die Behandlung von internen und externen Storungen [149]. Der Einsatz von Operations-Research-Methoden und Methoden der Kiinstlichen Intelligenz (KI) befindet sich z.B. in der Fertigung integrierter Schaltkreise erst am Anfang (vergleiche dazu Uzsoy, Lee und Martin-Vega [249, 250] und Schomig und Fowler [226]). Diese Situation wird insbesondere unter dem Aspekt einer zunehmenden Automatisierung der Produktionssysteme als unbefriedigend empfunden. Die Steuerung komplexer Produktionsprozesse kann durch Losung einer Folge von Entscheidungsproblemen im zeitlichen Ablauf beschrieben werden. In komplexen Produktionssystemen findet die Losung von Entscheidungsproblemen raumlich und zeitlich verteilt statt. Die verteilten Entscheidungen haben unterschiedlichen Stellenwert im System der Produktionssteuerung, aus diesem Grund erscheint eine hierarchische, asymmetrische Strukturierung der zu losenden Entscheidungsprobleme als angemessen. Die Steuerung komplexer Produktionsprozesse kann folglich als Design und Koordinierung von miteinander verbundenen Entscheidungen aufgefasst werden [224]. Die Defizite vorhandener hierarchischer Steuerungsansatze fiir komplexe Produktionssysteme [238, 254, 255] bestehen in einer fehlenden Beriicksichtigung terminorientierter Steuerungsziele und der fehlenden Moglichkeit, die auftretenden Steuerungsprobleme nebenlaufig zu losen. Hierarchische Steuerungssysteme konnen agentenbasiert implementiert werden [223]. Agenten sind Softwareeinheiten, die autonom Entscheidungen treffen konnen und iiber Kommunikationsmoglichkeiten verfiigen [113, 72]. Auf Grund dieser Eigenschaften sind aus Agenten bestehende Softwaresysteme ("Multi-Agenten-Systeme") zur Implementierung von verteilten hierarchischen Steuerungssystemen in natiirlicher Art und Weise geeignet, wenn es gelingt, die Optimierungs- und Koordinationsfahigkeiten von Multi-Agenten-Systemen durch Ergebnisse der Theorie verteilter hierarchischer Entscheidungen und durch OR- und Kl-Verfahren anzureichern. Auf diese Art und Weise kann die Liicke zwischen der Theorie hierarchischer Entscheidungen [143, 144, 224] und deren fehlender softwaretechnischer Umsetzung geschlossen werden und ein Beitrag zur Fundierung von Multi-Agenten-Systemen geleistet werden. Aufbauend auf der durchgefiihrten Domanenanalyse wurden die folgenden Thesen aufgestellt: 1. Ein Verzicht auf jede Form von Hierarchie liefert keine besseren Ergebnisse als die derzeit dominierenden prioritatsregelbasierten Ansatze. Um ein unter globalen Gesichtspunkten giinstiges Verhalten des Produktionssystems zu gewahrleisten, sind zentrale Elemente in die Steuerung einzubeziehen. Entscheidungen iibergeordneter Ebenen stellen lediglich einen Rahmen fiir die Entscheidungen untergeordneter Steuerungsebenen dar. 2. Die in klassischen hierarchischen Steuerungsansatzen vorhandene Stratifikation, Staffelung und zeitliche Dekomposition der entscheidungsfahigen Einheiten konnen als Basis fiir die Verteilung der SteuerungsfunktionaHtat benutzt werden.
1.4. ERGEBNISSE DER ARBEIT
5
3. Die Theorie der Koordination muss weiterentwickelt werden. Es ist eine Koordinationssprache zu entwickeln, welche die im Zuge der Stratifikation und Staffelung entstandenen Entscheidungseinheiten informationstechnisch miteinander verbindet. 4. Neben entscheidungsfahigen Einheiten ("Entscheideragenten") miissen Softwareeinheiten ("Dienstagenten") betrachtet werden, die geeignet weiterzuentwickelnde OR- und KIMethoden fiir komplexe Produktionssysteme kapseln.
1.4 1.4.1
Ergebnisse der Arbeit Anforderungen an Steuerungsansatze
In der Arbeit werden zunachst Steuerungsansatze des Operations Research und der Kiinstlichen Intelligenz diskutiert. Zentrale Verfahren des Operations Research haben den Vorteil, dass sie in Richtung der Erreichung eines global giinstigen Systemverhaltens wirken. AUerdings sind die Laufzeit und der Aufwand zur Datenbereitstellung haufig zu hoch. Prioritatsregeln als Beispiel fiir dezentrale Operations-Research-Verfahren haben den entscheidenden Nachteil, dass sie haufig Entscheidungen ausschliefilich unter Verwendung von lokalen Informationen treffen. Verfahren der Kiinstlichen Intelligenz konnen gewohnlich besser als Operations-ResearchVerfahren mit unsicheren Informationen, dynamisch veranderlichen Prozessbedingungen und der Problemkomplexitat umgehen. Verfahren der Kiinstlichen Intelligenz unterstiitzen besser die Erreichung eines adaptiven Systemverhaltens. Probleme bereitet aber der Verzicht auf die Forderung, optimale Losungen bereitzustellen. Verfahren der Kiinstlichen InteUigenz erfordern als heuristische Verfahren haufig einen grol3en Parametrisierungsaufwand. Fiir die Steuerung komplexer Produktionssysteme miissen Verfahren entwickelt werden, die globale Ziele in die Entscheidungsfindung einbeziehen. Eine raumliche und zeitliche Dekomposition des zu losenden Steuerungsproblems muss vorgenommen werden. Die Dekomposition hat die Aufgabe, fiir eine Rechenbarkeit des Steuerungsproblems bei einer hinreichenden Losungsqualitat zu sorgen. Rechenbarkeit wird durch Aggregation und durch Verteilung der Berechnungen auf mehrere Prozessoren erreicht. Aggregation und Verteilung fiihren zu einem verteilten hierarchischen S teuerungsansatz.
1.4.2
Framework zur verteilten hierarchischen Steuerung
1.4.2.1
Modellsystem fur eine verteilte hierarchische Steuerung
Hierarchische Steuerungssysteme ordnen die zu losenden Entscheidungsaufgaben unterschiedlichen Ebenen zu, die in einer Feedback- und gegebenenfalls Feedforwardbeziehung stehen. Dabei gilt, dass in der Hierarchic iibergeordnete Ebenen zur Beeinflussung von umfangreicheren Teilen des Gesamtprozesses dienen. Ubergeordnete Ebenen haben langere Entscheidungsperioden
6
KAPITEL 1.
EINLEITUNG
und beschaftigen sich mit „langsameren" Aspekten des zu steuernden Prozesses. Somit steht auf ubergeordneten Ebenen haufig mehr Zeit zur Entscheidungsfindung zur Verfiigung. Die Entscheidungsprobleme iibergeordneter Ebenen sind weniger strukturiert, enthalten in starkerem Mafie Unsicherheiten und sind schwieriger quantitativ zu formalisieren [143]. Jede Hierarchieebene wird durch • ein Modell des zu steuernden Prozesssegmentes, • eine Menge von Entscheidungskriterien, • einen Alternativenraum, • einen bestimmten Informationsstatus beschrieben. Die Ebenen sind durch Kopplungsgleichungen verbunden. Fiir komplexe Produktionssysteme wird ein aus drei Ebenen bestehendes Steuerungssystem vorgeschlagen. Die einzelnen Ebenen dienen in dieser Reihenfolge der Terminierung von Losen, der detaillierten Maschinenbelegungsplanung auf Basis der Terminierungsvorgaben sowie der Implementierung der ermittelten Ablaufplane auf der untersten Hierarchieebene. 1.4.2.2
Produktionssystemsteuerungsebene
Die obere Ebene der vorgeschlagenen Hierarchic verwendet zur Entscheidungsfindung ein aggregiertes Modell. Die Aggregation wird erreicht, indem aufeinanderfolgende in einem Produktionsbereich auszufiihrende Arbeitsgange (im Folgenden synonym als Prozess-Schritte bezeichnet) zu Makroarbeitsgangen (synonym auch Operationen genannt) zusammengefasst werden. Das Terminierungsproblem kann als Optimierungsproblem mit binaren Variablen und periodengenauer Auflosung zur Minimierung der gewichteten Verspatung der Lose formuliert werden. Die obere Ebene des hierarchischen Ansatzes liefert Vorgaben fiir den zeitlichen Durchlauf der Lose durch das komplexe Produktionssystem entsprechend der Segmentierung des Produktionssystems in Produktionsbereiche. Es wird ein Modell des (geplanten) Engpassproduktionsbereichs bei der Entscheidungsfindung der oberen Ebene beriicksichtigt. 1.4.2.3
Produktionsbereichssteuerungsebene
Die mittlere Steuerungsebene dient der Steuerung einzelner Produktionsbereiche. Dafiir werden disjunktive Graphenmodelle fiir die einzelnen Produktionsbereiche beschrieben. In diesen Modellen werden die Starttermine und die geplanten Endtermine fiir die Lose aus den Terminvorgaben der oberen Ebene ermittelt. Ein ganzzahfiges Optimierungsmodell zur Minimierung der gewichteten Verspatung der Lose innerhalb eines Produktionsbereichs bezuglich der Vorgaben der Produktionssystemsteuerungsebene wird beschrieben. Durch die Terminvorgaben der Produktionssystemsteuerungsebene wird der Alternativenraum des Entscheidungsproblems fiir eine einzelne Steuerungseinheit der Produktionsbereichssteuerungsebene eingeschrankt. Dieses Vorgehen ermoglicht die
1.4. ERGEBNISSE DER ARBEIT
7
Losung von Koordinationsproblemen der Batch- und Riistoptimierung. Eine Losung des Problems einer koordinierten Steuerung von Engpassmaschinengruppen wird durch die maschinengruppenubergreifende Betrachtungsweise ebenfalls betrachtlich erleichtert. Die Schedulingprobleme fur die Produktionsbereiche werden verteilt gelost, da die Vorgaben der oberen Steuerungsebene in Form von Start- und Endterminen fiir eine Entkopplung der zu losenden Probleme sorgen. Es findet eine produktionsbereichsiibergreifende Koordination statt, indem die durch die Ablaufplane bereitgestellten frlihesten Verfiigbarkeitstermine der Lose zwischen den Produktionsbereichen ausgetauscht werden und so auf iterative Weise giinstigere Maschinenbelegungen beziigUch der absoluten gewichteten Verspatung der Lose des Produktionsbereichs ermittelt werden. Die obere und mittlere Steuerungsebene steuern zusammen das komplexe Produktionssystem in kooperativer Art und Weise. Die Steuerung der einzelnen Produktionsbereiche erfolgt autonom, da die Berechnung der Ablaufplane lediglich grobe terminliche Vorgaben der oberen Steuerungsschicht beriicksichtigen muss.
1.4.2.4
Maschinengruppensteuerungsebene
Die untere Steuerungsebene dient der Implementierung der Ablaufplane durch Maschinengruppen. Es wird ein ereignis-diskretes Modell angenommen, das wesentliche, fiir das komplexe Produktionssystem charakteristische Ereignisse (Statusanderungen von Losen und Maschinen) enthalt. Das Modell wird in regelmafiigen Abstanden aktualisiert. Es werden Vorgaben der mittleren Ebene in Form von detaillierten Ablaufplanen zur Maschinenbelegung verwendet. Falls diese Ablaufplane nicht giiltig sind, wird alternativ ein kontraktnetzartiges AUokationsverfahren zur Maschinenbelegung verwendet. Dieses Verfahren beriicksichtigt nur zeitlich und ortlich lokale Daten bei der Entscheidungsfindung. Auf dieser Steuerungsebene wird ebenfalls die Wahrung der Autonomic der entscheidungsfahigen Einheiten deutlich. Den Ablaufplanen der Produktionsbereiche wird nur solange gefolgt, wie diese giiltig sind. In der gegenteiligen Situation werden autonom Maschinenbelegungsentscheidungen getroffen.
1.4.2.5
Verteiltes hierarchisches Steuerungskonzept
Das vorgeschlagene Steuerungskonzept kann wie folgt beschrieben werden: 1. Terminierung der im Produktionssystem befindlichen bzw. der innerhalb des Terminierungszeitraums eintreffenden Lose entsprechend einer fest gewahlten Strategic, 2. Antizipation des Verhaltens des Engpassproduktionsbereichs unter dem Einfluss der Terminierungsstrategie, 3. Falls das antizipierte Verhalten des Engpassproduktionsbereichs nicht akzeptabel ist, wird in Schritt 1 die Terminierungsstrategie verandert. Andernfalls wird zu Schritt 4 verzweigt,
8
KAPITELl.
EINLEITUNG
4. Ubermittlung der Terminvorgaben fiir die Lose an die Produktionsbereichssteuerungsebene. Berechnung von detaillierten Ablaufplanen fiir die Lose aller Produktionsbereiche, 5. Ubermittlung der durch die Ablaufplane bereitgestellten Termine an die anderen Entscheidungseinheiten der Produktionsbereichssteuerungsebene. Berechnung neuer Ablaufplane unter Beriicksichtigung der modifizierten Termine, 6. Ubermittlung der zu implementierenden Ablaufplane an die Maschinengruppensteuerungsebene, 7. Implementierung dieser Ablaufplane im Produktionsprozess. Falls die Ablaufplane ungiiltig sind, wird verhandlungsbasiert zwischen Losen und Maschinen eine Maschinenbelegung ausgehandelt. Der gewahlte Ansatz unterscheidet sich von anderen bereits untersuchten hierarchischen Ansatzen dadurch, dass Koordination zwischen den Entscheidungseinheiten der mittleren Steuerungsebene stattfindet, dass terminorientierte Entscheidungskriterien verwendet werden und dass ein verteiltes Losen der auftretenden Entscheidungsprobleme moglich ist. 1.4.2.6
Diskussion der verfolgten betriebswirtschaftlichen Ziele
In der Kegel ist es auf Grund von Operationalisierungsproblemen nicht moglich, die Auswirkungen einzelner ScheduHngentscheidungen auf die Kosten zu bestimmen [41]. Aus diesem Grund erfolgt typischerweise eine Substitution der Kosten durch entsprechende ZeitgroBen. In der Arbeit werden Produktionssysteme untersucht, in denen auf Grund von Kundenanforderungen Lose mit unterschiedlicher Prioritat (auch als Losgewicht bezeichnet) vorhanden sind. Es wird das Ziel verfolgt, die totale gewichtete Verspatung (Terminiiberschreitung) der eingesteuerten Lose zu minimieren. Die totale gewichtete Verspatung der Lose ergibt sich durch Summation der gewichteten Verspatung der einzelnen Lose. Diese Zielgrofie stellt ein spezielles terminorientiertes Ziel dar [51]. Die terminorientierten Ziele werden als Ersatzgr6i3en fiir erfolgsorientierte Ziele verwendet, da diese haufig schwierig zu interpretieren sind. Es ist aber moglich, die totale gewichtete Verspatung als Kostenziel zu betrachten. Die Gewichte der einzelnen Lose stellen dann z.B. die Strafkosten fiir verspatete Lose dar. Gleichzeitig werden in dieser Arbeit die prozessokonomischen Zielgrofien („Ingenieurziele") Durchlaufzeit und Durchsatz (Anzahl fertiggestellter Lose) beobachtet, die aber nicht die primaren Steuerungsziele darstellen. Ausgehend von dem Ziel, die gewichtete Verspatung der Lose zu minimieren, werden Ziele fiir die untergeordneten Hierarchieebenen abgeleitet. Fiir die Produktionsbereichssteuerungsebene fiihrt das zu dem Ziel, die totale gewichtete Verspatung der Lose beziiglich der geplanten Fertigstellungstermine fiir den jeweiHgen Produktionsbereich zu minimieren. Dieses Ziel wirkt in Richtung der Erfiillung des Zieles, die gewichtete Verspatung der Lose beziiglich der geplanten Fertigstellungstermine (auf der Ebene des Produktionssystems) zu minimieren. Auf der Maschinengruppensteuerungsebene wird das Ziel verfolgt, den Ablaufplanen der mittleren Hierarchieebene so weit
1.4. ERGEBNISSE DER ARBEIT
9
wie moglich zu folgen. Falls das nicht moglich ist, werden losbezogene Zielfunktionen betrachtet, die einen Kompromiss zwischen terminlicher Dringlichkeit und Auslastung der Maschinen suchen.
1.4.3
Agentifizierung des Steuerungsansatzes
Unter Benutzung der PROSA-Referenzarchitektur fiir holonische Produktionssysteme [251] wird die zur (softwaretechnischen) Realisierung des geforderten Steuerungsverhaltens notwendige Agentenhierarchie abgeleitet. Entscheideragenten werden den Stratifikations- und Staffelungselementen zugeordnet und sind fiir die Entscheidungsfindung der durch sie reprasentierten dynamischen und statischen Systembestandteile zustandig. Produktionssystemagenten, Produktionsbereichsagenten, Maschinengruppenagenten, Losagenten, Batchagenten und Agenten zur Reprasentation von vorbeugenden Instandhaltungsauftragen werden verwendet. Die Identifikation der Agenten erfolgt unter Beriicksichtigung des zu losenden Steuerungsproblems. Jeder Agent kann unterschiedliche Rollen einnehmen [177]. Dabei wird einzelnes Verhalten durch eine Zustandsmenge und Zustandstransitionen beschrieben. Bei der Losung der Entscheidungsprobleme werden die Entscheideragenten durch Dienstagenten unterstiitzt, welche die notwendige Scheduling- und Monitoringfunktionalitat kapseln. WesentUcher Vorteil der Betrachtung von Entscheider- und Dienstagenten ist eine Entkopplung der Struktur des Steuerungssystems von den Steuerungsalgorithmen. Die Dienstagenten dienen als generische Container fiir OR- und KI-Algorithmen. Eine prototypische agentenbasierte Implementierung des hierarchisch organisierten Steuerungssystems unter Verwendung der Programmiersprachen C-l-l- und C # sowie der .NET-Middleware wurde in [167] beschrieben.
1.4.4
Steuerungsalgorithmen fiir komplexe Produktionssysteme
1.4.4.1
Algorithmen fiir die Produktionssystemsteuerungsebene
Die Produktionssystemsteuerungsebene arbeitet auf einem aggregierten Modell. Das verwendete Modell beriicksichtigt ledigUch Kapazitaten von Maschinengruppen anstelle von Kapgtzitaten fur einzelne Maschinen. Es werden Start- und Endtermine fiir Operationen bestimmt. Operationen entstehen durch Zusammenfassung von aufeinanderfolgenden Prozess-Schritten entsprechend der raumhchen Unterteilung des komplexen Produktionssystems in Produktionsbereiche. Ein BeamSearch-Algorithmus wird zur Terminierung der Lose vorgeschlagen. Alternativ wird ein iteratives simulationsbasiertes Verfahren beschrieben, das Abschatzungen fiir die Wartezeiten der Lose auf Bearbeitung ermittelt. Beide Verfahren haben den Vorteil, dass sie die endlichen Kapazitaten des Produktionssystems beriicksichtigen.
10
KAPITELl.
1.4.4.2
EINLEITUNG
Algorithmen fiir die Produktionsbereichssteuerungsebene
Die Produktionsbereichssteuerungsebene stellt detaillierte Ablaufplane fur die einzelnen Produktionsbereiche bereit. Zur Ermittlung der Ablaufplane wird die Shifting-Bottleneck-Heuristik verwendet. Die Shifting-Bottleneck-Heuristik ist ein Dekompositionsverfahren, das das zu losende Maschinenbelegungsproblem in Belegungsprobleme fiir Maschinengruppen aufteilt. Die Sicht auf das zu losende Gesamtproblem bleibt durch die Verwendung eines disjunktiven Graphen (vergleiche [51, 199] fiir das Konzept disjunktiver Graphen in der Maschinenbelegungsplanung) erhalten, der zur Berechnung von geplanten Fertigstellungsterminen und Ankunftszeiten fiir die Lose an den Maschinengruppen verwendet wird. In der Arbeit wird eine verteilte Variante der Shifting-Bottleneck-Heuristik entwickelt. Die Verteilung wird durch die Terminvorgaben der Produktionssystemsteuerungsebene ermoglicht. Zwischen den einzelnen Produktionsbereichen werden Informationen iiber die tatsachUch notwendigen Start- und Endtermine der Lose auf iterative Art und Weise ausgetauscht. Die vorgeschlagene verteilte Shifting-Bottleneck-Heuristik hat gegeniiber der herkommlichen Shifting-Bottleneck-Heuristik den Vorteil, dass auf Grund des hierarchischen Ansatzes giinstigere Ankunftszeiten und geplante Fertigstellungszeiten ermittelt werden als bei alleiniger Anwendung des disjunktiven Graphen. Aufierdem kann die neuartige Heuristik auf mehrere Prozessoren verteilt werden.
1.4.4.3
Algorithmen fur die Maschinengruppensteuerungsebene
Falls die durch die Produktionsbereichssteuerungsebene ermittelten Ablaufplane nicht giiltig sind, wird das in [162] beschriebene kontraktnetzartige AUokationsverfahren zur Maschinenbelegung verwendet. Das vorgeschlagene Verfahren ordnet jedem Los ein auf Basis von Maschinenstundensatzen ermitteltes Budget zu. Bei der Ausfiihrung eines bestimmten Prozess-Schrittes auf einer Maschine wird das Budget des Loses una die fiir die Bearbeitung auf der Maschine anfallenden Kosten reduziert. In Simulationsstudien [163] konnte gezeigt werden, dass sich das AUokationsverfahren besonders in Produktionssystemen mit Storungen besser beziiglich terminorientierter Leistungsmafie verhalt als Prioritatsregeln.
1.4.5 1.4.5.1
Koordination in verteilten hierarchischen Steuerungssystemen Koordinationsmechanismen
Unter Koordination wird in dieser Arbeit eine direkte Einflussnahme auf unterschiedhche Systembestandteile mit dem Ziel eines integrierten, harmonischen Zusammenwirkens verstanden [143]. Entsprechend der Unterteilung von Steuerungsansatzen wird zwischen zentraler, hierarchischer und dezentraler Koordination unterschieden. Zentrale Koordination bedeutet, dass Teilprobleme zu einem Gesamtproblem zusammengefasst werden und dieses dann gelost wird. Hierarchische Koordination umfasst Koordination durch
1.4. ERGEBNISSE DER ARBEIT
11
Vorgaben, Koordination durch Rtickkopplung sowie Koordination durch wechselseitige (iterative) Abstimmung. Dezentrale Koordination ist eng verwandt mit der wechselseitigen Abstimmung. Es wird zwischen direkter und indirekter dezentraler Koordination unterschieden. Vertreter der direkten Koordination sind Kontraktnetzverfahren. Eine indirekte Koordination liegt zum Beispiel bei der Anwendung von Marktmechanismen vor. In dieser Arbeit werden als Koordinationsmechanismen hierarchische Koordination mit Riickkopplung bzw. hierarchische Koordination durch wechselseitige Abstimmung verwendet. In Ausnahmesituationen findet direkte dezentrale Koordination Anwendung.
1.4.5.2
Ontologie zur Steuerung komplexer Produktionssysteme
Die fiir verteilte hierarchische Steuerungssysteme typischen Feedforward- und Feedbackzyklen zwischen den stratifizierten Entscheidungseinheiten und die Koordinationsaktivitaten zwischen den gestaffelten Entscheidungseinheiten erfordern eine rechneriibergreifende Kommunikation auf Basis von Middleware. Auf Grund der Aufteilung der Steuerungsfunktionalitat auf mehrere Rechner ist eine nachrichtenbasierte Kommunikation erforderlich. Dazu ist in einem ersten Schritt die Festlegung einer Ontologie notwendig, die eine fiir alle Kommunikationspartner verfiigbare Interpretationsvorschrift fiir iibermittelte Daten zur Verfugung stellt. Der Entwurf einer domanendedizierten Ontologie fiir die Domane der Fertigung integrierter Schaltkreise wurde in [164] beschrieben. Die Ontologie enthalt Domanenkonzepte wie beispielsweise Ressourcen in unterschiedlichem Aggregationsgrad, Produkte und Ablaufplane. Neben den Domanenkonzepten wurden Agentenaktivitaten und Pradikate in die Ontologie aufgenommen.
1.4.5.3
Contentsprache zur Steuerung komplexer Produktionssysteme
Auf semantischer Ebene ist die Entwicklung einer Contentsprache erforderlich, die semantisch sinnvoUe Kommunikationsinhalte unter Verwendung des durch die Ontologie bereitgestellten Vokabulars beschreibt. Eine Contentsprache wurde in [165] beschrieben. Die grundlegende Idee dieser Sprache besteht darin, eine kontextfreie Grammatik zu entwickeln. Die Grammatik verwendet die in XML-Objekte konvertierten Instanzen der Ontologieklassen.
1.4.5.4
Koordinationssprache fur eine verteilte hierarchische Steuerung
Im letzten Schritt muss das dynamische Verhalten der an der Kommunikation beteiUgten Einheiten durch InteraktionsprotokoUe beschrieben werden. Das Tripel (O, C , / P ) , bestehend aus einer Ontologie O, einer Contentsprache C und einer Menge IP von InteraktionsprotokoUen fiir die Einheiten des Steuerungssystems, wird als Koordinationssprache bezeichnet. Unter einem InteraktionsprotokoU wird eine Menge von auf Sprechakten beruhenden Konversationen verstanden,
12
KAPITELl.
EINLEITUNG
die in einer wohldefinierten Ordnung durchlaufen werden. Jeder Sprechakt besitzt einen Contentausdruck, der entsprechend der Grammatik aufgebaut ist. Mit Hilfe der Koordinationssprache konnen die Entscheideragenten unter Verwendung der Monitoringagenten Ausnahmesituationen erkennen und ein geeignetes verteiltes Scheduling- und Reschedulingverhalten realisieren.
1.4.6
Architektur eines verteilten hierarchischen Steuerungssystems
Es wurde ein agentenbasierter Prototyp geschaffen, der den verteilten hierarchischen Steuerungsansatz implementiert. Die Systemarchitektur umfasst: • eine Architektur fiir Einzelagenten, • eine Infrastruktur zur Abbildung hierarchisch organisierter Multi-Agenten-Systeme, • Moglichkeiten zur Implementierung von Kommunikation und Koordination, • eine generische Architektur fiir Entscheider- und Dienstagenten. Entscheideragenten zur Realisierung des Steuerungsansatzes haben die folgenden Aufgaben zu
• Vorbereiten
von Entscheidungen
(z.B. situationsabhangige
Wahl von
Parametern
fiir die Nutzung von Dienstagentenfunktionalitat, Auswahl einer geeigneten Dienstagentenfunktionalitat), • Entscheidungsfindung, • Ausfiihren von der Entscheidungsfindung nachgelagerten Aktivitaten (z.B. Informieren anderer Agenten liber das Entscheidungsergebnis), • sachgerechte Behandlung von Problemen und Ausnahmen, die wahrend des Entscheidungsfindungsprozesses auftreten. Dienstagenten haben die nachfolgenden Aufgaben zu losen: • Problemlosung vorbereiten (Berechnung interner Parameter des Losungsverfahrens, Versorgung des Losungsverfahrens mit Daten und Parametern), • Losung des Problems, • Abbruch eines Losungsvorganges zu bestimmten Zeitpunkten oder in Folge bestimmter Ereignisse, • Information anderer Agenten iiber das Ergebnis der Berechnung.
1.4. ERGEBNISSE DER ARBEIT
1.4.7
13
Leistungsbewertung von Steuerungsverfahren
Eine generische Architektur fiir eine Leistungsbewertung des Frameworks durch simulationsbasierte Emulation des zu steuernden komplexen Produktionsprozesses wurde in [163] vorgeschlagen. Kernidee dieses Ansatzes ist die Verwendung eines diskreten ereignis-orientierten Simulationsmodells zur Identifikation des zu steuernden Produktionsprozesses. Ein derartiges Vorgehen hat den Vorteil, dass zum einen das Basissystem des zu steuernden Produktionssystems in hinreichendem Detaillierungsgrad modelliert werden kann. Andererseits konnen auch dynamische Aspekte des Produktionsprozesses, die im Wesentlichen durch Arbeitsplane beschrieben werden, gut modeUiert werden. Es ist mogUch, das stochastische Verhalten des Produktionssystems in die Leistungsbewertung einzubeziehen. Zur ReaUsierung des Leistungsbewertungsansatzes wurde eine objektorientierte blackboardartige Datenschicht in der Programmiersprache C + + implementiert, die alle relevanten Entitaten des Produktionssystems im Hauptspeicher des Computers vorhalt. Es wird sichergestellt, dass existierende Steuerungsverfahren (z.B. Prioritatsregeln) zu Vergleichszwecken softwaretechnisch effizient in die Leistungsbewertung einbezogen werden konnen. Die Architektur wird zur simulationsbasierten Leistungsbewertung des in der Arbeit beschriebenen hieraxchischen Steuerungsframeworks verwendet. In diesem Buch beziehen sich alle Untersuchungen und alle vorgeschlagenen Verfahren auf komplexe Produktionssysteme. Wenn im Weiteren nur von Produktionssystemen gesprochen wird, sind somit auch komplexe Produktionssysteme gemeint. Die Spezifikation des verteilten Steuerungssystems erfolgt in dieser Arbeit unter Benutzung der Unified-Modelhng-Language (UML) in der in [67] dargestellten Version.
Kapitel 2 Steuerungsansatze fur komplexe Produktionssysteme In diesem Kapitel wird ein allgemeiner System- und Prozessbegriff auf Produktionssysteme und -prozesse angewandt. Anschliefiend werden komplexe Produktionssysteme charakterisiert. Der Begriff der Steuerung von Produktionsprozessen wird eingefiihrt. Steuerungsansatze des Operations Research, der Kiinstlichen Intelligenz und der Regelungstheorie fiir komplexe Produktionssysteme werden erlautert. Darauf aufbauend werden hybride Steuerungsansatze diskutiert. Das Kapitel endet mit der Ableitung von Anforderungen an ein Steuerungssystem fiir komplexe Produktionsprozesse.
2.1
Komplexe Systeme und Prozesse
Ein System wird in der abstrakten Systemtheorie als eine Relation auf Mengen definiert. Ein komplexes System ist definiert als ein System von Systemen, d.h. eine Relation auf einer Menge von Systemen [144]. Prozesse werden in [56] als Abbildungen zwischen Eingangsgrofien X, Ausgangsgrofien Y und Zustanden Z definiert. Analog zum Begriff des komplexen Systems wird der Begriff des komplexen Prozesses eingefiihrt, indem die einen Prozess beschreibende Abbildung auf Familien von Eingangsgrofien, Ausgangsgrofien und Zustanden ausgedehnt wird. Mit einer Aufgabenlosung betraute Systeme werden als zielsuchende Systeme bezeichnet. Zielsuchende Systeme lassen sich in natiirlicher Weise in das Regelkreisparadigma [208, 252] einbetten. Dazu wird zunachst eine Dekomposition des zielsuchenden Systems S in zwei Subsysteme vorgenommen. C bezeichnet das Steuerungssystem und B das Basissystem. Mit M := {m} wird die Menge der moglichen Steuerungsanweisungen, die C an B ubermittelt, bezeichnet. Formal wird das zielsuchende System S durch die beiden Abbildungen C und B beschrieben: C :X xY -^M,
B:MxX-^Y.
16
KAPITEL 2. STEUERUNGSANSATZE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
Die Abbildungen C und B miissen dabei die folgende Konsistenzbedingung mit dem System S erfiillen: es gilt (x, y) E S genau dann, wenn em m e M derart existiert, dass (m, x,y) e B und (x, y,m) eC gilt. In dieser Arbeit wird neben dem Basissystem B und dem Steuerungssystem C jeweils der dazugehorige Basisprozess BP und der dazugehorige Steuerungsprozess PC betrachtet. Der Zusammenhang zwischen den vier Kategorien B, C, PB und PC ist in Abbildung 2.1 dargestellt.
Steuerungssystem C
Basissystem B
Abbildung 2.1: Zusammenhang System und Prozess
2.2
Komplexe Produktionssysteme und -prozesse
In diesem Abschnitt werden die bisher fiir abstrakte komplexe Systeme bzw. Prozesse getatigten Aussagen fiir komplexe Produktionssysteme bzw. Produktionsprozesse konkretisiert. Ziel eines Produktionsprozesses ist die Herstellung von Giitern mit vorgegebenen Eigenschaften zur Deckung eines Verbrauches [41]. Es wird zunachst eine Beschreibung des Basissystems und des Basisprozesses fiir die Produktion vorgenommen. Die Menge der vom Produktionssystem prinzipiell auszufiihrenden Prozess-Schritte wird mit O bezeichnet. Jedem auszufiihrenden Prozess-Schritt muss mindestens eine Maschine, auf der die Bearbeitung stattfinden kann, zugeordnet sein. Weiterhin wird jedem Prozess-Schritt der Erwartungswert der Bearbeitungsdauer auf einer bestimmten Maschine zugeordnet. Die zu bearbeitenden Gegenstande werden als Bearbeitungsobjekte CD bezeichnet. Auf der Menge der auszufiihrenden Prozess-Schritte und der Bearbeitungsobjekte kann die Direkt-Vorganger-Relation RDVCOxOxOD angegeben werden. Es gilt (01,02,0) e RDV fiir die Prozess-Schritte oi und 02 sowie fur das Bearbeitungsobjekt o genau dann, wenn
2.2. KOMPLEXE PRODUKTIONSSYSTEME
UND -PROZESSE
17
1. zur Herstellung von Beaxbeitungsobjekt o die Prozess-Schritte Oi und 02 notwendig sind und 2. Prozess-Schritt oi direkter Vorganger von Prozess-Schritt 02 ist. Bearbeitungsobjekte werden in dieser Arbeit synonym als Lose oder Jobs bezeichnet. Die Struktur des realisierenden Produktionssystems ist durch die Menge der Systemobjekte OP gegeben. In Produktionssystemen sind die wichtigsten Systemobjekte 1. Maschinen, 2. sekundare Ressourcen, d.h. Werkzeuge und andere Hilfsmittel, die zur Bearbeitung von Bearbeitungsobjekten notwendig sind. Die Systemobjekte des Produktionssystems seien durch die Familie von Maschinen {rrii \ i = 1 , . . . , n} gegeben. Maschine rrii ist in der Lage, die Prozess-Schritte {on,..., Oifc.} auszuftihren. Auf der Menge der Systemobjekte und der Bearbeitungsobjekte wird die Direkt-Uberfiihrungsrelation
RDT
COPxOPxOD
eingefiihrt. Fiir die Systemeinheiten mi und m2 sowie fiir das Bearbeitungsobjekt o gilt (mi,7712,0) e RDT genau dann, wenn Systemeinheit mi das Bearbeitungsobjekt o direkt an Systemeinheit m2 iibergibt. Fiir die Beschreibung des Basissystems ist die Angabe der Menge der Arbeitsplane ausreichend. Im Sinne der in Abschnitt 2.1 gegebenen Definition werden die Arbeitsplane als Relationen iiber den Prozess-Schritten, denen andererseits eine nichtleere Menge von Systemobjekten (Maschinen) zugeordnet sind, betrachtet. Es wird angenommen, dass die maximale Lange eines Arbeitsplanes rio betragt. Dann ist die Menge aller Arbeitsplane AP als Relation iiber {X^i{O,0}}
aufzufassen.
Es gilt somit AP C {Xgi{O,0}}. Ein Produktionsprozess besteht aus Elementarprozessen, die auf der Direkt-Vorganger-Relation RDV fiir Prozess-Schritte aufbauen. Ein Elementarprozess fiir ein Bearbeitungsobjekt 0 wird durch die Abbildung Po'.OoXZo^ZoX
Oo
(2.1)
beschrieben. Dabei bezeichnet Oo die Menge der Prozess-Schritte, die fiir das Bearbeitungsobjekt o auszuftihren sind. Mit Zo sei die Menge der Zustande von Bearbeitungsobjekt 0 bezeichnet. Es sind die folgenden Zustande z moglich: Ze
{WoJo^Po}
mit Wo'. Prozess-Schritt wartet auf Bearbeitung, fo'. Prozess-Schritt wurde bearbeitet, po'. Prozess-Schritt befindet sich in Bearbeitung.
18
KAPITEL 2. STEUERUNGSANSATZE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
Umgekehrt kann durch die Abbildung Po,m :OPxZm-^ZmXOP
(2.2)
ein Elementarprozess fiir das Bearbeitungsobjekt o aus Sicht des Systemelements m beschrieben werden. Die folgenden Zustande z e Zm konnen auftreten: ^mi '^mi *m) ^771/
mit Prn'- Systemeinheit m bearbeitet einen auszufiihrenden Prozess-Schritt fiir o, Sjn'- Systemeinheit m fiihrt einen Riistwechsel durch, um einen Prozess-Schritt fiir o auszufiihren, Im'- Systemeinheit m fiihrt einen Beladevorgang durch, um einen Prozess-Schritt fiir o auszufiihren, Um'- Systemeinheit m fiihrt einen Entladevorgang durch, um einen Prozess-Schritt fur o zu beenden, bm'- Systemeinheit m ist ausgefallen und steht fiir die Bearbeitung eines Prozess-Schrittes von o nicht zur Verfugung. Produktionssysteme konnen als zielsuchende Systeme aufgefasst werden, da sie versuchen, Aufgaben zu losen. Entsprechend der in Abschnitt 2.1 erfolgten Darstellung besteht jedes zielsuchende System aus einem Basissystem und dem dazugehorigen Steuerungssystem. Das Steuerungssystem besteht aus Systemobjekten, die im Fall von Produktionssystemen durch die Hard- und Software zur Realisierung von Steuerungsfunktionalitat gebildet werden. Analog zu den Bearbeitungsobjekten im Basissystem werden zwischen den Systemobjekten im Steuerungssystem Steuerungsinformationen ausgetauscht. Der Steuerungsprozess wird in Abschnitt 2.3 untersucht. In dieser Arbeit werden Produktionssysteme als spezielle zielsuchende Systeme aufgefasst. Daraus folgt, dass fur eine Charakterisierung komplexer Produktionssysteme sowohl das Basis- als auch das Steuerungssystem untersucht werden miissen. Da Produktionssysteme keine statischen Aufgaben losen, sondern die Aufgaben zeitabhangig sind, ist es sinnvoU, parallel zum realisierenden Produktionssystem (d.h. parallel zum Basis- und Steuerungssystem) auch den Produktionsprozess (realisiert durch den Basis- und Steuerungsprozess) zu untersuchen. Das Basissystem eines Produktionssystems wurde als Menge aller Arbeitsplane AP, die als Relation iiber {Xgi{O,j0}} interpretiert werden, beschrieben. Weiterhin wurde bereits darauf hingewiesen, dass jedem Prozess-Schritt mindestens eine Maschine zugeordnet ist, auf der die Bearbeitung des Prozess-Schrittes erfolgen kann. Eine Einschrankung der Relation AP auf einzelne Arbeitsplane ergibt Basissysteme, die nur aus den Prozess-Schritten und denjenigen Maschinen bestehen, die zur Realisierung von Bearbeitungsobjekten notwendig sind, die dem speziellen Arbeitsplan folgen. Falls die Anzahl der Arbeitsplane card{AP) grofi ist, folgt daraus, dass auch
2.3. STEUERUNG KOMPLEXER SYSTEME
19
die Anzahl der so gebildeten Systeme groB ist. Folglich liegt ein komplexes Produktionssystem vor. Entsprechend dieser Betrachtungsweise sind komplexe Produktionssysteme durch eine grofie Produktvielfalt und einen zeitlich veranderlichen Produktmix gekennzeichnet. Eine Bildung von Systemen kann unter ausschliefilicher Betrachtung der Systemobjekte des Basissystems erfolgen. Wenn die Menge der Systemeinheiten in disjunkte Untermengen zerfallt, wird dadurch auch eine entsprechende Zerlegung der Relation AP garaniert, die daraus resultiert, dass jedem Prozess-Schritt mindestens eine Maschine zur Ausfiihrung zur Verfiigung steht. Durch diese Dekomposition der Menge der Arbeitsplane entsteht somit auch eine Menge von Systemen, die miteinander in Beziehung stehen. Entsprechend dieser Betrachtungsweise sind Produktionssysteme, fiir die eine Aggregation von Maschinen zu Maschinengruppen bzw. eine Zusammenfassung von Maschinengruppen zu Produktionsbereichen erfolgt, komplexe Produktionssysteme. Im nachsten Schritt werden aus dem Studium des Basisprozesses Eigenschaften komplexer Produktionssysteme abgeleitet. Ein komplexer Prozess ist dadurch gekennzeichnet, dass eine Zerlegung in eine Vielzahl von Unterprozessen moglich ist. Es wurde der Begriff des Elementarprozesses aus Sicht des Bearbeitungsobjektes und aus Sicht der Systemeinheit eingefiihrt. Falls die Anzahl dieser Elementarprozesse grofi ist, wird der zu realisierende Produktionsprozess als komplex bezeichnet. Das ist immer dann der Fall, wenn die zu realisierenden Arbeitsplane eine grofie Anzahl von Prozess-Schritten umfassen. Zusammenfassend kann festgehalten werden, dass komplexe Produktionssysteme durch • die Komplexitat des Basissystems in Form einer grofien Anzahl von Maschinen, • die Vielfalt und Anzahl der Arbeitsplane sowie der Bearbeitungsobjekte gekennzeichnet sind. Der Begriff einer komplexen Werkstattfertigung wurde in [134] fiir Halbleiterfertigungssysteme verwendet. In [188] werden Produktionssysteme des Testbereichs von Halbleiterfabriken als komplexe Produktionssysteme bezeichnet. Ein aus drei Subsystemen bestehendes einfaches komplexes Produktionssystem ist in Anhang A.l beschrieben.
2.3
Steuerung komplexer Systeme
Im Vergleich zur Steuerung von gewohnlichen Systemen [208, 252, 20] kann bei der Steuerung komplexer Systeme ausgenutzt werden, dass diese aus unterschiedlichen Subsystemen bestehen. Es wird zunachst auf die Moglichkeiten der Steuerung eines einzelnen Subsystems eingegangen. Um sich an den zu steuernden Prozess anzupassen, ist es vorteilhaft, wenn ein zu steuerndes System iiber ein internes Modell des zu steuernden Prozesses verfiigt. Das interne Modell wird als dynamisches Prozessmodell bezeichnet. Dieses interne Modell ermoglicht das Studium der Wirkung von parametrisierbaren Steuerungsprozessen auf den Basisprozess. Auf Grund dieser Eigenschaften gibt es prinzipiell zwei Moglichkeiten, auf die Elemente eines Steuerungssystems zuzugreifen [20]:
20
KAPITEL 2. STEUERUNGSANSATZE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
1. Zielmodifikation: Unter Zielmodifikation versteht man, dass ein zweites intervenierendes System eine Zielvorgabe in Form von Fiihrungsgrofien erhalt. Das intervenierende System hat die nachfolgenden Moglichkeiten, diese Zielvorgabe zu verandern: • Direkte Veranderung der Auspragungen von Fiihrungsgrofien. Darunter versteht man, dass numerische Werte fiir eine Fiihrungsgrofie verandert werden. Beispielsweise kann durch Verandern der Strategie zur Bestimmung von geplanten Fertigstellungsterminen die Liefertermintreue eines Produktionssystems verandert werden. Das intervenierende System erhalt eine Ex-Ante-Riickkopplung durch Experimente am Prozessmodell. • Das intervenierende System schrankt den Entscheidungsraum M (vergleiche dazu Abschnitt 2.1) ein oder erweitert diesen geeignet. Beispielsweise fiihrt die Anwendung einer riistzeitminimierenden Prioritatsregel dazu, dass die Menge der moglichen Maschinenbelegungsalternativen wesentlich reduziert wird. 2. Modifikation des internen Modells (Bildmodifikation): Das intervenierende System hat die Moglichkeit, das interne Modell des Steuerungssystems zu beeinflussen. Zum Beispiel ist es sinnvoU, eine detaillierte Modellierung von Maschinenkapazitaten fiir den in Abschnitt Abschnitt 4.1 dargestellten Beam-Search-Algorithmus nur fiir dynamische Engpasse im System vorzunehmen. Durch das intervenierende System kann in dieser Situation festgestellt werden, welche Maschinengruppen dynamische Engpasse verursachen. Im Gegensatz zur Zielmodifikation ist es fiir das intervenierende System nicht direkt moglich, die Auswirkungen der Modellanderung zu bewerten. Die Modifikation des internen Modells entspricht in der Organisationstheorie einem "Managment By Exception" [201]. Komplexe Produktionssysteme sind durch viele bei der Modellbildung zu beriicksichtigende Nebenbedingungen gekennzeichnet. Bei der Modellbildung muss stets gefragt werden, welcher Detaillierungsgrad des Modells fiir die zu losende Aufgabe angemessen ist. Abbildung 2.2 dient der Veranschaulichung der beiden Moglichkeiten zur Beeinflussung von Systemen. Die Dekomposition eines komplexen Systems in Subsysteme fiihrt dazu, dass an Stelle eines internen Modells eine Familie von internen Modellen betrachtet werden muss. Jedes dieser internen Modelle beschaftigt sich mit unterschiedlichen Aspekten des komplexen Systems. Ein komplexes System kann als dezentralisiertes System aufgefasst werden, da es per Definition unterschiedliche Subsysteme enthalt, die in Interaktion stehen, um ein gemeinsames Ziel zu erreichen. Verschiedene Dezentralisationsgrade konnen unterschieden werden, die in den eingesetzten Steuerstrategien zum Ausdruck kommen. Auf der einen Seite ist eine fast voUstandig zentrale Steuerung moghch, die den beteiligten Subsystemen nur einen geringen Grad an Autonomie einraumt. Im Gegensatz zur fast voUstandigen zentralen Steuerung befinden sich voUstandig dezentralisierte Systeme, die dadurch gekennzeichnet sind, dass jedes Subsystem eigenstandig fiir seine Steuerung verantwortlich ist. Als Kompromiss zwischen diesen beiden Auspragungen konnen
2.4. STEUERUNG KOMPLEXER FuhrungsgroBen Intervenierendes System
Ex-Ante Ruckkopplungl
Fuhnmgsgrdfien Zielmodifikation
Stellsignale
Ausgangssignal
21
PRODUKTIONSSYSTEME
Eingangssignale, Stoning
Stellsignale
Ausgangssignal
Eingangssignale, Stoning
Abbildung 2.2: Zielmodifikation bzw. Modifikation des internen Modells [20]
verteilte Systeme mit zentraler Steuerung oder mit einer verteilten hierarchischen Steuerung angesehen werden. AUe dezentralisierten Systeme sind dadurch gekennzeichnet, dass die Subsysteme koordiniert werden mussen, um die gemeinsamen Systemziele zu erreichen. In Anhang A.2 wird ein Beispiel fiir die Steuerung eines aus drei Subsystemen bestehenden einfachen komplexen Produktionssystems gegeben.
2.4
Steuerung komplexer Produktionssysteme
Der zu realisierende Steuerungsprozess fiir Produktionssysteme kann in Elementarprozesse unterteilt werden, die sich an der Dekomposition des Basissystems orientieren konnen. Beispielsweise kann die Belegung einer einzelnen Maschine mit Losen als Form einer lokalen Steuerung aufgefasst werden. Ahnliches gilt fiir die Steuerung von Produktionsbereichen. Umgekehrt wird eine Dekompositon des Steuerungsprozesses in Unterprozesse aus der Kompliziertheit von Prozessbedingungen abgeleitet. Ein Vorschreiben von geplanten Kundenendterminen fiihrt beispielsweise dazu, dass interne Termine fiir die Bearbeitungsobjekte vorgegeben werden. Eine Batchfertigung oder das Vorhandensein von reihenfolgeabhangigen Umriistzeiten bewirken ebenfalls eine Dekomposition des Steuerungsprozesses. Externe und interne Storungen (in Form von Maschinenausfallen bzw. Anderung der Prioritaten von Kundenauftragen) erfordern Reschedulingaktivitaten, die neue Steuerungsprozesse notwendig machen. Die Steuerung komplexer Produktionssysteme ist somit durch eine hohe Komplexitat des Steuerungsprozesses, die sich aus
22
KAPITEL 2. STEUERUNGSANSATZE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
• komplizierten Produktionsbedingungen und • der Komplexitat des Basisprozesses ableitet, gekennzeichnet.
2.5
Steuerungsansatze des Operations Research
2.5.1
Prioritatsregeln und Einsteuerungsstrategien
2.5.1.1
Prioritatsregelbasierte Steuerung
Auf Grund der Komplexitat der betrachteten Produktionssysteme stellen Prioritatsregeln den in der Praxis am weitesten verbreiteten Steuerungsansatz dar. Prioritatsregeln werden dazu verwendet, zu entscheiden, welches Los auf einer freien Maschine als nachstes bearbeitet werden soil. In der Literatur werden Prioritatsregeln ausfiihrlich in [22, 92] diskutiert. In den Arbeiten [215, 216, 217] werden speziell fiir Halbleiterfabriken entworfene Prioritatsregeln auf ihre Leistungsfahigkeit hin untersucht. Einfache Prioritatsregeln sind zum Beispiel die FIFO (First-In, First-Out)-Regel, die gewichtete kiirzeste Bearbeitungszeitregel und die Schlupfzeitregel. Neben den einfachen Regeln existieren • zusammengesetzte Prioritatsregeln, • bedingte Prioritatsregeln, • Multi-Level-Prioritatsregeln. Zusammengesetzte Prioritatsregeln fassen mehrere Regeln zu einer einzigen zusammen. Ein Beispiel fur diesen Ansatz ist die ATC (Apparent-Tardiness-Cost)-Regel [199], die die gewichtete kiirzeste Bearbeitungszeit und den Schlupf eines Loses miteinander kombiniert. Die grundsatzliche Idee bedingter Prioritatsregeln besteht darin, dass eine Menge von Prioritatsregeln vorliegt und in Abhangigkeit vom Zustand des Produktionssystems eine dieser Regeln ausgewahlt wird. Beispielsweise kann in Abhangigkeit von der Auslastung des Produktionssystems zwischen der gewichteten kiirzesten Bearbeitungszeitregel und der Schlupfzeitregel gewechselt werden. Multi-Level-Regeln sortieren die Lose nach unterschiedlichen Kriterien. Zum Beispiel konnen in einem ersten Schritt alle Lose ausgewahlt werden, die geringe Riistkosten verursachen, wahrend in einem zweiten Schritt die Lose dieser Menge nach der Schlupfzeitregel sortiert werden. MultiLevel-Prioritatsregeln fiir den Einsatz in einer Halbleiterfabrik sind in [245] untersucht worden. Prioritatsregeln sind relativ leicht zu implementieren und aus diesem Grund u.a. in den meisten Manufacturing Execution Systems (MES) (vergleiche McClellan [137] fiir eine Definition des
2.5. STEUERUNGSANSATZE
DES OPERATIONS RESEARCH
23
MES-Begriffs) anzutreffen. Aufierdem konnen Prioritatsregeln leicht an die aktuelle Situation im betrachteten Produktionssystem angepasst werden. Der Hauptvorteil von Prioritatsregeln besteht in ihrer geringen Redienzeit, die sie fiir einen Online-Ansatz besonders geeignet erscheinen lassen. Aufierdem ist ihre Leistungsbewertung mit Hilfe von Simulationsmodellen relativ leicht moglich. Der wesentliche Nachteil von Prioritatsregeln besteht darin, dass in die Entscheidungsfindung lediglich zeitlich und raumlich lokale Informationen einbezogen werden. Die einzelnen Lose werden isoliert voneinander betrachtet. Es ist nur schwer moglich, mehrere Ziele in die Entscheidungsfindung einzubeziehen.
2.5.1.2
Einsteuerungsstrategien fiir komplexe Produktionssysteme
Eng verbunden mit der Prage der Auswahl einer oder mehrerer Prioritatsregeln fiir ein bestimmtes Produktionssystem ist die Prage einer geeigneten Einsteuerungsstrategie fiir das betrefFende Produktionssystem. Einsteuerungsstrategien versuchen, kiirzere Durchlaufzeiten zu erreichen, indem die Lose in einer kontroUierten Art und Weise in das Produktionssystem eingelastet werden. Der Mittelwert und die Varianz der Durchlaufzeit werden verringert. Die Termintreue verschlechtert sich aber unter Umstanden, da die Lose langer auf die Einlastung warten miissen. Pragen der Einsteuerung von Losen bei Werkstattfertigung werden in [19] diskutiert. In [63] wird eine Ubersicht iiber (moderne) Einsteuerungsstrategien fur komplexe Produktionssysteme (am Beispiel der Halbleiterindustrie) gegeben. Bei der Einsteuerung von Losen wird zwischen Push- und PuU-Konzepten unterschieden. PushAnsatze steuern Lose entsprechend von Vorgaben aus dem Enterprise-Resource-Planning-(ERP)System in das Produktionssystem ein. Da heutige ERP-Systeme nach wie vor nur unzureichend endliche Kapazitaten bei der Entscheidungsfindung beriicksichtigen [52], fiihrt die Anwendung von Push-Methoden fiir die Einsteuerung zu langen Durchlaufzeiten und hohen Bestanden in den Produktionssystemen. PuU-Methoden wurden stark durch die Einfiihrung von Just-In-Time- und engpassorientierten Steuerungskonzepten wie OPT (Optimized-Production-Technique) [81] beeinflusst. PuU-Ansatze beriicksichtigen die kapazitiven Moglichkeiten des Produktionssystems. In der Literatur wird iiber die Uberlegenheit von PuU-Ansatzen in Vergleich zu Push-Ansatzen berichtet [212]. Es wurden Anstrengungen unternommen, Kanban-artige Steuerungsansatze in Produktionssystemen zu implementieren [147]. CONWIP [237] kann als Verallgemeinerung des Kanban-Ansatzes angesehen werden. Der CONWIP-Ansatz kontroUiert die Anzahl von Halbfabrikaten (Work in Process (WIP)) in einem Produktionssystem. Fiir den Einsatz von CONWIP ist die Kenntnis des Zusammenhanges zwischen der Anzahl von Halbfabrikaten und dem Durchsatz, der durch eine charakteristische Kennlinie [175] beschrieben wird, notwendig. Unter Verwendung dieser Kennlinie wird dann eine bestimmte Zielanzahl an Halbfabrikaten fiir einen bestimmten Durchsatz angegeben. Es wird angestrebt, die WIP unter dieser Zielgrofie zu halten. Gleichzeitig wird der Durchsatz bestimmt.
24
KAPITEL 2. STEUERUNGSANSATZE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
Falls dieser von den Vorgaben abweicht, werden die WIP-Ziele angepasst. In der Literatur wird CONWIP als leistungsfahiger PuU-Ansatz beschrieben [212]. Entsprechende Modifikationen und Erweiterungen des CONWIP-Ansatzes fiir Halbleiterfabriken werden in [214] diskutiert und mit Hilfe von Simulation untersucht. Fiir den Frontendbereich von Halbleiterfabriken als Beispiel fiir ein komplexes Produktionssystem entsprechend der in Abschnitt 2.2 gegebenenen Definition konnen die folgenden wichtigen Einsteuerungsmethoden genannt werden [63]:
1. Starvation-Avoidance-Ansatz (SA),
2. Workload-Regulation-Ansatz (WR),
3. Flow-Rate-Control-Ansatz (FRC).
Die Grundidee des Starvation-Avoidance-Ansatzes besteht darin, fiir eine einzelne Engpassmaschinengruppe einen virtuellen Bestand zu berechnen, der, auf eine bestimmte Durchlaufzeit bezogen, zur Festlegung der Anzahl einzusteuernder Lose verwendet wird [75]. Als Durchlaufzeit wird die Zeit gewahlt, die Lose benotigen, um die betrachtete Engpassmaschinengruppe das erste Mai zu erreichen. Der Ansatz wurde in [78] auf den Fall mehrerer Engpassmaschinengruppen ausgedehnt. Die Grundidee des Workload-Regulation-Ansatzes besteht darin, eine bestimmte Last fiir die dominierende Engpassmaschinengruppe zu berechnen. In der grundlegenden Arbeit von Wein [265] wird dazu die Auslastung der fiihrenden Engpassmaschinengruppe in Stunden angegeben. Weiterhin werden unterschiedliche Erweiterungen von Prioritatsregeln betrachtet, die zu einer Balancierung der Belastung des Produktionssystems dienen. Der Work-Load-Regulation-Ansatz ist konzeptuell dem OPT-Ansatz ahnlich. Der Workload-Regulation-Ansatz wurde in [78] auf den Fall mehrerer Engpassmaschinengruppen ausgedehnt. Der Flow-Rate-Control-Ansatz wurde von Lou und Kager [127] vorgeschlagen. Die Kernidee dieses Ansatzes besteht darin, zunachst eine maximale Flussrate zu berechnen. Auf Basis dieser Rate wird dann die Anzahl einzusteuernder Lose reduziert oder es werden neue Lose in das Produktionssystem eingesteuert. Durch Einfiihrung von virtuellen Maschinen wird der zyklische Fluss der Lose aus Steuerungssicht aufgebrochen. Der Starvation-Avoidance-Ansatz, der Workload-Regulation-Ansatz und CONWIP werden in [76] mit dynamischer Optimierung gekoppelt. Eine lineare KontroUregel wird verwendet. Der Ansatz wird in ein hybrides Simulations- und Optimierungsframework eingebettet. Wahrend in der Vergangenheit liberwiegend Einsteuerungsstrategien im Zusammenhang mit einer prioritatsregelbasierten Durchsteuerung der Lose untersucht wurden, erscheint es sinnvoU, in Zukunft Einsteuerungsfragen im Kontext von deterministischen Schedulingansatzen fiir Produktionssysteme zu untersuchen.
2.5. STEUERUNGSANSATZE
2.5.2
DES OPERATIONS RESEARCH
25
Deterministische Schedulingansatze
Scheduling (Maschinenbelegungsplanung) beschaftigt sich mit der Zuteilung von Prozess-Schritten der Lose (Bearbeitungsobjekte) zu Maschinen (Systemeinheiten). Nach erfolgter Zuteilung zu den Maschinen erfolgt weiterhin eine Festlegung der Bearbeitungsreihenfolge auf den einzelnen Maschinen [199]. Deterministische Schedulingprobleme sind dadurch gekennzeichnet, dass alle Daten diskret, deterministisch und vorab bekannt sind. Prinzipiell kann bei deterministischen Schedulingansatzen zwischen zwei Auspragungen unterschieden werden: • Anwendung von Schedulingansatzen auf einzelne Maschinengruppen (Gruppen paralleler Maschinen), • Anwendung von Schedulingansatzen auf das gesamte Produktionssystem. Schedulingansatze fiir einzelne Maschinengruppen in Produktionssystemen sind Gegenstand von umfangreichen Untersuchungen. Eine detaillierte Abbildung bzw. Modellierung unterschiedlicher Prozessbedingungen wird vorgenommen. Zur Losung werden u.a. lokale Suchverfahren, gemischtganzzahlige Optimierung und Prioritatsregeln eingesetzt. Eine ausfiihrlichere Darstellung und Bewertung von entsprechenden Losungsverfahren findet in Abschnitt 4.3 statt. Es ist festzustellen, dass viele akademische Arbeiten zum deterministischen Scheduling auf der Ebene von Einzel- und parallelen Maschinen existieren. Dabei wird in den meisten Fallen von der Annahme ausgegangen, dass alle Lose, fiir die ein Ablaufplan erstellt werden soil, bereits vor der Einzelmaschine bzw. der Maschinengruppe auf Bearbeitung warten. Oft werden aber die entwickelten Verfahren nicht in der Praxis angewandt, weil praktische Problemstellungen dynamischer Natur sind, d.h., es liegen dynamische Losankiinfte vor. Andererseits ist es komphziert, die entsprechenden Daten, die erst einen Einsatz der „akademischen" Algorithmen ermoglichen, in Produktionsunternehmen bereitzustellen. Auf Grund der Komplexitat der zu losenden Schedulingprobleme werden deterministische Scheduhngansatze fiir das gesamte Produktionssystem in der Literatur seltener diskutiert. Im Folgenden werden zwei Ansatze zur Losung des Schedulingproblems auf Gesamtsystemebene beschrieben. Beiden Ansatzen ist gemeinsam, dass Graphen zur Modellierung der Abhangigkeiten der auf unterschiedlichen Maschinengruppen zu bearbeitenden Lose benutzt werden. Ein prominenter Vertreter fiir einen deterministischen Schedulingansatz auf Gesamtproduktionssystemebene ist die Shifting-Bottleneck-Heuristik von Adams, Balas und Zawack [2]. Die Shifting-Bottleneck-Heuristik wurde in [187] zur Erzeugung von Ablaufplanen fiir den Testbereich von Halbleiterfabriken angewandt. In [134] werden Erweiterungen vorgestellt, die eine Anwendung der Shifting-Bottleneck-Heuristik im Frontendbereich von Halbleiterfabriken ermoglichen. Die Shifting-Bottleneck-Heuristik kann grob wie folgt beschrieben werden: 1. Aufteilung des Produktionssystems, fiir das ein Ablaufplan bestimmt werden soil, in einzelne Gruppen paralleler Maschinen,
26
KAPITEL 2. STEUERUNGSANSATZE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
2. Uberfuhrung des zu losenden Schedulingproblems in einen disjunktiven Graphen, 3. Bestimmung eines Ablaufplans fiir diejenigen Maschinengruppen, fiir die noch kein Ablaufplan ermittelt wurde, 4. Festlegung der Reihenfolge der Maschinengruppen auf Basis eines Mafies, das bestimmt, wie kritisch eine Maschinengruppe ist, 5. Anwendung der disjunktiven Graphenformulierung, um die Abhangigkeit zwischen Maschinengruppen, fiir die bereits ein Ablaufplan ermittelt wurde und diejenigen, fiir die das noch aussteht, abzubilden, 6. (optionale) Berechnung eines neuen Ablaufplans fiir die Maschinengruppen, fiir die bereits ein Ablaufplan berechnet wurde, unter Verwendung der Informationen aus Schritt 5. Der Algorithmus wird beendet, wenn fiir alle Maschinengruppen ein Ablaufplan berechnet wurde. Ansonsten wird der Algorithmus in Schritt 3 fortgesetzt. In [187, 134, 46, 158] wird gezeigt, dass die Shifting-Bottleneck-Heuristik traditionellen Prioritatsregelansatzen iiberlegen ist. Probleme bereiten aber • die grofie Laufzeit der Heuristik, • der hohe Speicherbedarf auch bei effizienten softwaretechnischen Implementierungen, der einen Schedulinghorizont grol3er als eine Schicht unmogUch macht, • der hohe Parametrisierungsaufwand fiir den erfolgreichen Einsatz der Shifting-BottleneckHeuristik, • die fiir komplexe Produktionssysteme typischen Storungen, die ein deterministisches Scheduling erschweren. Die inharente Nebenlaufigkeit
der auf dem Dekompositionsprinzip beruhenden
Shifting-
Bottleneck-Heuristik wurde bisher nicht ausgenutzt. Ein zweiter Verfahrensrahmen zur Losung von Maschinenbelegungsproblemen auf Ebene des gesamten Produktionssystems ist durch das ressourcenbeschrankte ProjektscheduUng gegeben. Auf den Ubersichtsartikel von Brucker, Drexl, Mohring, Neumann und Pesch [29] wird fiir eine Diskussion der relevanten Literatur verwiesen. Spezielle Modellformulierungen fiir die Prozessindustrie sind beispielsweise in [228] zu finden. Im Grundmodell wird die Menge V
:={0,l,...,n,n-\-l}
von Aktivitaten betrachtet, die Ressourcen benotigen. Es konnen maximale und minimale Liegezeiten zwischen Anfang und Ende von Aktivitaten i,j G V auftreten. Jeder Aktivitat ist eine bestimmte Dauer zugeordnet. Eine Operation identifiziert genau eine reale Aktivitat i e { 1 , . . . , n}
2.5. STEUERUNGSANSATZE
DES OPERATIONS RESEARCH
27
des Projektes. Jeder Operation ist ein Startereignis z*, das zum Zeitpunkt Si eintritt, und ein Fertigstellungsereignis f, das zum Zeitpunkt Q > Si stattfindet, zugeordnet. Die Hilfsaktivitat 0 dient zur Modellierung des Produktionsanfangs, wahrend die Hilfsaktivitat n + 1 das Produktionsende abbildet. Die Menge K : = { 0 , l ^ l ^ . . . , n ^ r ^ ^ n + l} stellt alle Ereignisse dar. Der Vektor T := {So, 5 i , . . . , 5„, C i , . . . , Cn, Cn+i) wird als Ablaufplan bezeichnet. Das zu untersuchende Projekt wird im ressourcenbeschrankten Projektscheduling als Graph
{V,E,S) mit V
: Menge der Ereignisse,
E
: Menge der Kanten des Graphen,
S
:
Kantengewichte
dargestellt. Fiir jedes Ereignis e € V wird ein Knoten in den Graphen eingefiigt. Die (gerichteten) Kanten des Graphen dienen zur Reprasentation von maximalen und minimalen Liegezeiten zwischen Ereignissen, d.h., es gilt fiir e,feV
die Beziehung (e,/> 6 E, falls die
Ereignisse e und / durch eine vorgeschriebene maximale bzw. minimale Liegezeitbedingung miteinander verkniipft sind. Die Kanten werden mit Gewichten versehen, deren GroBe von der vorgeschriebenen Liegezeit abhangig ist. Zur Losung des Projektschedulingproblems werden zunachst Ressourcenconstraints relaxiert. Ahnhch wie im Fall der Shifting-Bottleneck-Heuristik werden langste Wege im Graphen berechnet, die zur Minimierung des spatesten Fertigstellungstermines der Aktivitaten dienen. Auf Basis des erhaltenen Ablaufplanes, der gegebenenfalls Ressourcenconstraints verletzt, werden im Modell sukzessive disjunktive Vorrangbeziehungen zwischen Start- und Fertigstellungsereignissen eingefiihrt, die die Erfiillung von Ressourcenconstraints sicherstellen. Die Berechnung von Ablaufplanen und die Erzeugung von entsprechenden Vorrangbeziehungen werden iterativ wiederholt.
2.5.3
Simulationsbasierte Ansatze
Simulationsbasierte Ansatze in der Produktionssteuerung zeichnen sich dadurch aus, dass ein Simulationsmodell als Modell des zu steuernden Produktionssystems verwendet wird und anhand dieses Modells das Verhalten des realen Systems in Abhangigkeit von der Zeit untersucht wird [119]. Fiir die in dieser Arbeit untersuchten Produktionssysteme eignen sich besonders diskrete ereignis-orientierte Simulationsansatze. Zu den Vorteilen von Simulationsansatzen gehort (vergleiche hierzu [119]) die Moglichkeit der Erprobung neuer Strategien und Entscheidungsregeln ohne den laufenden Betrieb des Produktionsprozesses zu unterbrechen. Zu den bekannten Nachteilen
28
KAPITEL 2. STEUERUNGSANSATZE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
der diskreten ereignis-orientierten Simulation zahlen der hohe Aufwand fiir die Daten- und Modellbereitstellung und die schwierige Interpretation von Ergebnisdaten der Simulation. Fiir die simulationsbasierte Steuerung von Produktionssystemen kann zwischen den folgenden Verfahrensauspragungen unterschieden werden: • Erzeugen von Ablaufplanen durch Simulation (simulationsbasiertes Scheduling), • simulationsbasierte Auswertung von Zielfunktionen im Rahmen von Optimierungsansatzen (simulationsbasierte Optimierung), • simulative Bewertung von Einsteuerstrategien und Prioritatsregeln. In jlingerer Zeit sind eine Reihe von Schedulingsystemen entwickelt worden, die ein Simulationstool zur Bereitstellung von Ablaufplanen benutzen. Die Simulationsmodelle werden datengetrieben aus Informationen in betrieblichen Informationssystemen generiert. Die Systeme unterstiitzen die Einsteuerung von neuen Losen in das Produktionssystem und erzeugen detaillierte Ablaufplane unter Verwendung von Prioritatsregeln in einer roUierenden Art und Weise. Das bedeutet, dass vor jeder Erzeugung neuer Ablaufplane zunachst ein neues aktuelles Simulationsmodell generiert werden muss und anschliefiend dann der Ablaufplan berechnet wird. Die Ereignisdateien des verwendeten Simulationstools werden im nachsten Schritt in Ganttcharts konvertiert. Ein derartiges System fiir den Backendbereich einer Halbleiterfertigung ist in [203] beschrieben worden. Ein weiteres dieser Philosophie folgendes System wurde von Sivakumar [232] vorgestellt. Im Vergleich zu herkommlichen Prioritatsregelansatzen fallt auf, dass eine bessere Beriicksichtigung mehrerer Zielkriterien moglich ist und dass in starkerem Mafie globale Zielsetzungen bei der Auswahl des im Produktionssystems zu implementierenden Ablaufplanes beachtet werden konnen. Die beschriebenen Ansatze sind in einem betrieblichen Kontext allerdings nur dann erfolgreich, wenn die mit der Simulation verbundenen Probleme wie Aufwand fiir die Datenbereitstellung, hoher Modellierungsaufwand sowie hohe Laufzeit fiir die Ausfiihrung der Simulationsmodelle beseitigt werden konnen. Bei der simulationsbasierten Optimierung (vergleiche [73] fiir eine detailliertere Beschreibung des Konzeptes) besteht die Aufgabe darin, eine vektorwertige reelle Funktion
unter Anwendung des Simulationsmodells auszuwerten. Mit 0 wird dabei die Menge zulassiger Losungen der Optimierungsaufgabe bezeichnet. Die Nebenbedingungen der Optimierungsaufgabe werden impHzit durch das Simulationsmodell abgebildet. Entscheidungsvariable werden mit 9 bezeichnet. Es gilt 6 € B. Die Auswertung des Zielfunktionswertes f{9) erfordert eine gewisse Anzahl von Simulationslaufen. Der Einsatz der simulationsbasierten Optimierung bietet sich an, wenn eine explizite Beschreibung der Nebenbedingungen nicht moglich oder zu kompliziert ist. Zur Steuerung der Suche nach einer optimalen Losung der zu losenden Optimierungsaufgabe werden haufig Metaheuristiken herangezogen. Da Metalieuristiken iterativ arbeiten, ist eine
2.5. STEUERUNGSANSATZE
DES OPERATIONS RESEARCH
29
grofie Anzahl von Zielfunktionsauswertungen, d.h. Simulationslaufen, notig. Auf Grund der h o hen Laufzeit heutiger Simulationstools ist ein Einsatz der simulationsbasierten Optimierung unter Echtzeitbedingungen mit Problemen verbunden. Die Losung dieser Probleme verlangt erweiterte Modellierungsansatze. Beispielhaft werden an dieser Stelle reduzierte Simulationsmodelle und Methoden der ressourcengetriebenen Simulation betrachtet. Fiir viele Pragestellungen kann auf eine detaillierte Modellierung verzichtet werden. Ansatze fiir die Simulation von Halbleiterfabriken mit vereinfachten Modellen sind durch Rose [213, 214] untersucht worden. Rose zeigt, dass das Verhalten einer Halbleiterfabrik nach einem Ausfall einer wichtigen Engpassmaschine durch ein reduziertes Simulationsmodell mit ausreichender Genauigkeit vorausgesagt werden kann [213]. Das von Volker und Gmilkowsky [258] vorgeschlagene Konzept der Modellreduktion geht davon aus, dass nur eine Teilmenge aller planungsrelevanten Prozess-Schritte explizit in die Simulation einbezogen wird, die iibrigen Prozess-Schritte werden im Simulationsmodell nur implizit abgebildet. Das wird durch Einfiihrung von Zeitpuffern, welche neben den Bearbeitungszeiten fiir die nicht exakt modellierten Prozess-Schritte auch die geschatzten Wartezeiten beinhalten, erreicht. Der Weg zum reduzierten Simulationsmodell fiihrt fiber die drei Schritte
• Zerlegen der Menge der Prozess-Schritte, • Berechnung der Zeitpuffer, • Berechnung von Kapazitatsreservierungen.
Wesentliche Bedeutung hat dabei die Ermittlung von Siebfunktionen zur Auswahl der nicht exakt modellierten Prozess-Schritte. Uber diese sukzessiv angewandten Siebfunktionen werden nichtquantifizierbare Grofien, die Einfluss auf die Prozess-Schritte haben, durch Indikatoren operationalisiert. Grundlage dafiir sind messbare GroBen, die Aussagen iiber die Relevanz von ProzessSchritten fiir das Simulationsmodell zulassen. Als erfolgversprechend sind weiterhin Arbeiten anzusehen, die versuchen, das iibliche jobgetriebene Simulationsparadigma zu vermeiden. An Stelle einer detaillierten ModeUierung wird beim ressourcengetriebenen Ansatz auf die exphzite Abbildung von dynamischen Entitaten (Losen, Jobs) verzichtet, es werden an den Ressourcen lediglich Zahlvariable gehalten, die zur Aufnahme der Anzahl der vor der jeweiligen Ressource wartenden dynamischen Entitaten dienen. Dadurch kommt es zu betrachtlichen Beschleunigungseffekten. Durch Roder, Fischbein, Janakiram und Schruben [211] konnte gezeigt werden, dass sich ressourcengetriebene Simulationsmodelle fiir Halbleiterfabriken beziiglich wichtiger Leistungsmafie wie die langsameren jobgetriebenen Modelle verhalten. Forschungsbedarf besteht aber noch fiir hybride Ansatze, die die Vorteile job- und ressourcengetriebener Simulationsmodelle vereinen. Weiterhin erscheint es sinnvoU, ressourcengetriebene Ansatze und simulationsbasierte Optimierung zu kombinieren.
30
KAPITEL 2. STEUERUNGSANSATZE
2.6
FUR KOMPLEXE
PRODUKTIONSSYSTEME
Steuerungsansatze der Kiinstlichen Intelligenz
2.6.1
Expertensysteme und wissensbasierte Systeme
Expertensysteme bzw. wissensbasierte Systeme bestehen aus den Hauptbestandteilen Wissensbasis und Inferenzmaschine. Die Inferenzmaschine operiert auf der Wissensbasis. In der Wissensbasis wird formalisiertes Wissen menschlicher Experten in Form von Regeln, Prozeduren und Heuristiken abgelegt. Es werden die folgenden drei Arten von Wissen unterschieden. Prozedurales Wissen ist problemspezifisches Problemlosungswissen. Deklaratives Wissen liefert die Eingabedaten zur Beschreibung der Problemdomane. Metawissen dient dazu, zu entscheiden, wie das prozedurale und deklarative Wissen zur Losung eines konkreten Problems verwendet werden kann. Es werden spezielle Datenstrukturen zur Representation des Wissens verwendet. Die Inferenzmaschine wahlt eine Strategie zur Losung eines konkreten Problems aus. Datengetriebene Vorwartsstrategien und zielgetriebene Riickwartsstrategien werden unterschieden. Expertensysteme bzw. wissensbasierte Systeme wurden auf Steuerungsprobleme in komplexen Produktionssystemen angewandt. Exemplarisch wird auf die Systeme ISIS [68], OPIS [234] und SONIA [123] verwiesen. In [227] werden Expertensystemansatze mit anderen ScheduUngtechniken verglichen. Ein Expertensystem fiir die Steuerung einer Halbleiterfabrik ist in [220] beschrieben. Expertensysteme haben den Nachteil, dass es schwierig ist, das existierende Wissen der mit Produktionssteuerungsaufgaben betrauten Personen zu formalisieren. Im Falle von komplexen Produktionssystemen ist das Wissen weiterhin haufig auf eine Vielzahl von Entscheidungstragern verteilt. Diese Tatsache steht einer weiteren Verbreitung des Einsatzes von Expertensystemen zur Steuerung komplexer Produktionssysteme im Weg.
2.6.2
Suchverfahren der Kiinstlichen Intelligenz
Lokale Suchverfahren sind Verbesserungsverfahren. Sie gehen von einem voUstandigen Ablaufplan aus und versuchen, in der Nachbarschaft des gegebenen Ablaufplanes einen beziiglich einer vorgegebenen Zielfunktion besseren Ablaufplan zu finden (vergleiche beispielsweise [1] fiir Informationen zu lokalen Suchverfahren). Zwei Ablaufplane werden als benachbart bezeichnet, wenn sie durch eine Transformation ineinander iiberfiihrt werden konnen. In jeder Iteration eines lokalen Suchverfahrens wird eine Suche und Bewertung der Nachbarschaftsablaufplane durchgefiihrt. Das Suchverfahren akzeptiert einen Nachbarschaftsablaufplan als aktuell besten Ablaufplan oder weist ihn auf Basis bestimmter Kriterien zuriick. Lokale Suchverfahren werden nach den folgenden vier Kriterien unterschieden: 1. gewahlte Darstellungform des Ablaufplanes, die im jeweiligen lokalen Suchverfahren benotigt wird, 2. Struktur der gewahlten Nachbarschaft fiir einen gegebenen Ablaufplan,
2.6. STEUERUNGSANSATZE
DER KUNSTLICHENINTELLIGENZ
31
3. Suchverfahren in der jeweiligen Nachbarschaft des Ablaufplanes, 4. verwendetes Kriterium zur Annahme bzw. Zuriickweisung eines Nachbarschaftsablaufplanes. Die drei wesentlichen Verfahrensgruppen fiir lokale Suchverfahren zur Losung von ScheduUngproblemen sind: • Tabu-Search (vergleiche u.a. [79] fiir Anwendungen von Tabu-Search auf ScheduUngprobleme), • Simulated-Anneahng (vergleiche [253] fiir Anwendungen von Simulated-Annealing auf JobShop-ScheduHngprobleme), • genetische Algorithmen (vergleiche [50, 10] fiir Anwendungen von genetischen Algorithmen auf Schedulingprobleme).
Der Einsatz von lokalen Suchverfahren wird auf Grund des hohen Parametrisierungsaufwandes und auf Grund der komplizierten Bewertung der Giite problemspezifischer Heuristiken erheblich erschwert. Neben lokalen Suchverfahren spielen Beam-Search-Algorithmen [199] eine grofie RoUe. BeamSearch-Algorithmen sind von klassischen Branch&Bound-Algorithmen abgeleitete Verfahren. Im Gegensatz zu Branch&Bound-Algorithmen werden aber auf einer gegebenen Ebene des Suchbaumes nur bestimmte, erfolgversprechende Knoten zum Verzweigen ausgewahlt. Die iibrigen Knoten werden von der weiteren Verzweigung ausgeschlossen. Falls auf Ebene k des Suchbaumes keine Verzweigungen mehr moglich sind, wird ein Backtrackingschritt auf Ebene A; - 1 durchgefiihrt und in weitere erfolgversprechende Knoten verzweigt. Beam-Search-Algorithmen unterscheiden sich in der maximal erlaubten Anzahl von erfolgversprechenden Knoten pro Ebene des Baumes. Diese Anzahl wird als Beam-Breite bezeichnet. Die Auswahl von erfolgversprechenden Knoten auf einer Ebene kann durch unterschiedliche Algorithmen erfolgen. Beam-Search-Algorithmen haben den Nachteil, dass fiir bestimmte Probleminstanzen auf Grund von vielen Backtrackingschritten der Zeitaufwand sehr hoch ist. Das ist insbesondere bei niedriger Beam-Breite der Fall. Umgekehrt fiihrt eine grofie Beam-Breite dazu, dass ein ahnlicher Suchbaum wie bei Branch&Bound-Verfahren aufgebaut wird. Das ergibt ebenfalls einen hohen zeitlichen Aufwand.
2.6.3
Constraint-Satisfaction-Techniken
Constraint-Satisfaction-Probleme werden in der Form {V,D,C) dargestellt, wobei gilt: • V := {\4,..., V^} bezeichnet eine endliche Variablenmenge.
32
KAPITEL 2. STEUERUNGSANSATZE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
• D := { D i , . . . , Dn} ist eine endliche Menge von Wertebereichen. Jede Variable Vi eV nimmt nur Werte aus Di an. Es wird vorausgesetzt, dass card{Di) < oo gilt. • C ist eine endliche Menge von Constraints, die zwischen den Variablen bestehen. Ein Constraint zwischen den Variablen Vi^,..., V^^ G V^ ist eine Teilmenge des kartesischen Produktes A i X . . . X Di„ d.h., es gilt C{Vi,,...,
K J C A , X ... X A,-
Ein Constraint-Satisfaction-Problem ist gelost, wenn fiir alle Vi e V eine Belegung mit Werten aus Di e D gefunden wurde. Eine Variable kann Bestandteil mehrerer Constraints sein, d.h., die Constraints sind abhangig voneinander. Fiir die Modellformulierung bedeutet das, dass Constraint-Netzwerke betrachtet werden miissen. Die Knoten des Netzwerkes sind Variable, wahrend die Kanten des Netzwerkes durch Constraints, die die Variablen verbinden, gebildet werden. Die Graphstruktur hat den Vorteil, dass Werte bzw. Wertebereiche instanziierter Variablen innerhalb des Graphen propagiert werden konnen. Unter Propagierung versteht man, dass die Einschrankung des Wertebereichs einer bestimmten Variablen durch die mit ihr in Relation stehenden Constraints an andere Variable weitergeleitet wird und diese entsprechend eingeschrankt werden. Losungsverfahren fiir Constraint-Satisfaction-Probleme werden unterteilt in Verfahren, welche die Constraints lediglich passiv zur Aufdeckung von Inkonsistenzen verwenden, und Verfahren, die die Constraints aktiv zur Einschrankung des Suchraums vor Beginn der eigentlichen Suche verwenden. Beispiele fur passive Verfahren sind Algorithmen mit Backtracking. Bei diesem Typ von Algorithmen werden sukzessive Belegungen von Variablen mit Werten aus dem korrespondierenden Wertebereich derart erzeugt, dass die Belegung der zuletzt betrachteten Variablen mit der vorausgegangenen Belegung der iibrigen Variablen konsistent ist. Kann eine Variable einen bestimmten Constraint nicht erfuUen, wird die zuletzt vorgenommene Belegung in einem Backtrackingschritt zuriickgenommen. Auf diese Art und Weise werden alle Variablen nacheinander mit Werten belegt und die Constraints erfuUt. Bei ungeschickter Traversierung der Variablen kann dieses Verfahren auf Grund der Backtrackingschritte sehr aufwendig sein. Ein zweites Beispiel fiir ein passives Verfahren ist das "generate and test"-Verfahren. Dieses Verfahren lasst sich in zwei Phasen unterteilen. In der ersten Phase werden Belegungen fiir die Variablen Vi e V erzeugt. In der zweiten Phase wird gepriift, ob die gewahlten Variablenbelegungen Constraints verletzen. Falls die in der ersten Phase erzeugte Losung nicht zulassig ist, wird eine andere Belegung bestimmt. Aktive Verfahren schranken den durch die Wertebereiche der Variablen gegebenen Suchraum durch die Propagierung von Constraints ein. Bei der Belegung einer noch nicht traversierten Variablen werden die Wertebereiche aller noch nicht belegten Variablen, die von einem Constraint betroffen sind, eingeschrankt. Die reduzierten Wertebereiche fiir die noch nicht belegten Variablen sind mit den bereits belegten Variablen konsistent. Falls ein reduzierter Wertebereich keine Variablen mehr enthalt, wird durch einen Backtrackingschritt eine andere Belegung gesucht. Der Grundalgorithmus besteht aus den drei aufeinander folgenden Phasen Variablenauswahl, Belegung der Variablen und Propagierung der Constraints. Verfahren zur Losung von Constraint-Satisfaction-
2.6. STEUERUNGSANSATZE
DER KUNSTLICHENINTELLIGENZ
33
Problemen sind in u.a. in [261] beschrieben. Entsprechende Losungsansatze haben auch Eingang in kommerzielle Systeme wie zum Beispiel ILOG [16, 122, 173] gefunden. Ansatze fiir verteilte Constraint-Satisfaction-Probleme sind im Kontext von Multi-Agenten-Systemen in [274, 90] beschrieben. Ein Nachteil der beschriebenen Verfahren zur Losung von Constraint-Satisfaction-Problemen besteht darin, dass in bestimmten Fallen keine Losung gefunden werden kann, die alien Constraints geniigt. In dieser Situation miissen dann Constraints relaxiert und ein neues ConstraintSatisfaction-Problem gelost werden.
2.6.4
Verfahren des maschinellen Lernens
An dieser Stelle werden neuronale Netze, induktive Entscheidungsbaume und ReinforcementLearning-Ansatze sowie ihre Anwendung auf Produktionssteuerungsprobleme diskutiert. Fiir weiterfiihrende Literatur zu Anwendungen des maschinellen Lernens auf ScheduUngprobleme sei auf [8] verwiesen.
2.6.4.1
Neuronale Netze
Ein neuronales Netz [146, 183] besteht aus einer Knotenmenge, den Neuronen. Die Neuronen konnen auf unterschiedliche Art und Weise miteinander verbunden sein. Jedes Neuron dient zur Realisierung einer Schwellenwertfunktion T n
yi'==T{J2wj,iUj), die festlegt, ob das Neuron schaltet, d.h. seinen berechneten Ausgangswert weitergibt, oder nicht. Mit Uj, j = 1 , . . . , n wird der Eingangswert und mit Wj^i, j = 1 , . . . , n, i = 1 , . . . , m das zugehorige Gewicht bezeichnet. Die Ausgangswerte werden fiir i = 1 , . . . , m mit yi bezeichnet. Die Neuronen sind in Schichten angeordnet. Neben einer Eingabe- und einer Ausgabeschicht existieren interne Schichten. Fiir den Anwender neuronaler Netze sind nur die Eingangs- und die Ausgangsschicht sichtbar. Das neuronale Netz realisiert eine IVansformation von Eingabewerten in Ausgabewerte unter Verwendung der gewichteten Eingabefunktionen und der Schwellenwertfunktionen. Das Basisvorgehen in einem neuronalen Netz ist in Abbildung 2.3 veranschaulicht, Zu den Vorteilen neuronaler Netze gehoren die Lernfahigkeit durch Anpassung der Gewichtsfunktionen in den Neuronen sowie ein robustes Verhalten bei mit Fehlern behafteten, verrauschten Eingabedaten. Es konnen nichthneare, komplexe Punktionen gut durch neuronale Netze abgebildet werden. Eine wesentliche Schwache neuronaler Netze besteht darin, dass bei leicht veranderten Situationen jeweils neue neuronale Netze konstruiert werden miissen. Das macht neuronale Netze fiir Anderungen des Produktmixes oder der Einsteuerungsstrategie empfindlich. Das bedeutet.
34
KAPITEL 2. STEUERUNGSANSATZE Eingabeschicht
Interne Schicht
FUR KOMPLEXE Interne Schicht
PRODUKTIONSSYSTEME Ausgabeschicht
Abbildung 2.3: Aufbau eines neuronalen Netzes
dass neuronale Netze auf Grund der wenig flexiblen Struktur beziiglich Ein- und Ausgabe im Wesentlichen fiir statische Probleme geeignet sind. In Produktionssystemen mit Dynamik und Turbulenzen stehen haufig keine Lerndaten zur Verfiigung, da historische Daten fiir die aktuelle Situation fehlen. Auf Grund der hohen Komplexitat der Netze werden diese in vielen Fallen nur fiir Schedulingprobleme geringer Komplexitat benutzt. Die Anwendung neuronaler Netze auf Job-Shop-Schedulingprobleme ist beispielsweise in [105] beschrieben worden. Andere Anwendungen sind in [277] diskutiert worden. In [191, 157] werden neuronale Netze zur Festlegung von verfahrensspezifischen Parametern der Apparent-TardinessCost-Prioritatsregel und der Batched-Apparent-Tardiness-Cost-Prioritatsregel verwendet.
2.6.4.2
Induktive Entscheidungsbaume
Induktives Lernen ist ein Zustandsklassifikationsprozess. Der Zustandsraum kann als Hyperebene aufgefasst werden. Die Trainingsdaten umfassen • Situationsbeschreibungen in Form von Bedingungen, • Entscheidungen, die unter den vorliegenden Bedingungen getroffen worden sind. Der induktive Lernalgorithmus nimmt eine Segmentierung des durch die Hyperebene reprasentierten Zustandsraumes in Segmente (Teilhyperebenen) vor. Jeder Teilhyperebene ist eindeutig eine bestimmte Entscheidung zugeordnet. Falls ein durch eine bestimmte Situationsbeschreibung gegebenes Problem gelost werden soil, wird zunachst ein entsprechender Punkt in der Hyperebene berechnet. Dann wird diejenige Teilhyperebene ermittelt, die den Punkt enthalt. Anschhefiend
2.6. STEUERUNGSANSATZE
DER KUNSTLICHENINTELLIGENZ
35
wild die zur Teilhyperebene zugehorige Entscheidungsregel angewandt [184]. Ein Beispiel fiir einen induktiven Lernalgorithmus ist durch den IDS (Iterative Dichotomister)-Algorithmus und dessen Weiterentwicklungen gegeben [207]. IDS verwendet Testfalle, um Wenn-Dann-Regeln abzuleiten, aus denen ein Entscheidungsbaum abgeleitet wird. Mit Hilfe des Entscheidungsbaumes konnen Objekte auf Grund ihrer Attributwerte klassifiziert werden. Die Knoten des Entscheidungsbaumes enthalten Attribute der zu klassifizierenden Objekte. Die Zweige des Baumes reprasentieren unterschiedliche Werte fiir das durch den Vaterknoten dargestellte Attribut. Die Blatter des Baumes bestimmen Klassen, zu denen die Objekte gehoren. Zur Berechnung von giinstigen Attributmengen fiir die Einteilung der Objektmenge in Klassen wird der Entropiebegriff verwendet. Es wird die Entropie zur Messung des Informationsgehaltes fiir jedes einzelne Attribut angewandt. Anschliefiend werden durch einen iterativen Dekompositionsprozess, der die Minimierung der Gesamtentropie zum Ziel hat, Regeln berechnet. Dieses Verfahren wird in [185] verfeinert, indem Fuzzy-Methoden zur Beschreibung der Klassengrenzen angewandt werden. Induktive Entscheidungsbaume werden in [157] zur Festlegung von verfahrensspezifischen Parametern der Appaxtent-Tardiness-Cost-Prioritatsregel und der Batched-Apparent-Tardiness-CostPrioritatsregel verwendet.
2.6.4.3
Reinforcement-Learning
Das wesentliche Element von Reinforcement-Learning-Ansatzen [24S, 45] ist eine Strategic IT zur Auswahl von Aktionen aus dem Problemraum. Die Strategic TT definiert Aktionen, die in Abhangigkeit von bestimmten Zustanden ausgefuhrt werden. Es gilt: 7r:S
xA-^[0,l],
wobei mit S die Zustandsmenge und mit A die Menge der moglichen Aktionen bezeichnet werden. 7r(s, a) ist die Wahrscheinhchkeit, dass bei Vorhegen des Zustands s 6 5 die Aktion a e A ausgefiihrt wird. Einem Paar (TT, S) wird durch
V^{s):=EJf:^'n^,^,\st \fc=0
= s) /
ein Wert zugewiesen. Eine Strategic, der vom Initialzustand s ausgehend gefolgt wird, kann somit bewertet werden. Die Grofie 7 stellt einen Diskontierungsfaktor dar. Die Bezeichnung r^ wird fiir den Nutzen verwendet, den man bei Ausfiihrung der Aktion at zum Zeitpunkt t erzielt. Anstelle einer optimalen Strategic n* wird versucht, cine optimalc Wertfunktion V*{s):=max^V''{s) zu lerncn. Temporal-Differcnce-Learning wird dafiir angewandt. Die Wertfunktion V* wird durch die Approximation / ( s , w) ersetzt. Die Groi^c w stellt einen Vcktor dar, der Parameter der Punktionsapproximation (z.B. Gewichte cines neuronalen Netzes) enthalt. Falls eine feste Strategic
36
KAPITEL 2. STEUERUNGSANSATZE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
eriernt werden soil, kann wie folgt vorgegangen werden. Im Schritt t -\- 1 wird der Fehler 5t des Temporal-Difference-Learnings aus Schritt t berechnet: 6t := n+i -\-rff(st+u w) - f{st, w). Anschliei3end wird ein geglatteter Gradient e^ := grad^ f{st, w) + \et-i berechnet. Mit A wird ein Glattungsparameter bezeichnet, der den Gradienten aus Schritt ^ - 1 mit dem aktuellen Gradienten verkniipft. Der Gradient wird zur Berechnung korregierter Parameterwerte Ait; := adtet verwendet. Die Grofie a bezeichnet die Lernrate. Zur Ermittlung optimaler Strategien wird das Verfahren der Wertiteration eingesetzt [243, 45]. Reinforcment-Lerning-Ansatze sind zur Losung von Schedulingproblemen u.a. in [278, 26, 45] angewandt worden.
2.6.5
Verfahren der Verteilten Kiinstlichen Intelligenz
Verfahren der Verteilten Kiinstlichen Intelligenz (VKI) [266] sind in den letzten 15 Jahren in den Mittelpunkt des Interesses fur Produktionssteuerungsprobleme geriickt [218]. Dafiir gibt es im Wesentlichen zwei Griinde. Zum einen wurden in den letzten Jahren bedeutende Fortschritte bei der theoretischen Fundierung und experimentellen Untersuchung von Systemen der Verteilten Kiinstlichen Intelligenz erreicht. Gleichzeitig erlaubt die Entwicklung von entsprechender Middleware (RMI, CORE A, .NET) und der Java- und C#-Programmiersprache eine vergleichsweise bequeme Entwicklung von derartigen Systemen. Das Wissenschaftsgebiet der Verteilten Kiinstlichen Intelligenz besteht aus den nachfolgenden Teilgebieten [113]: • Parallele Kiinstliche Intelligenz, • verteiltes Problemlosen in den Auspragungen blackboard-basierte Systeme [42] und kooperatives verteiltes Problemlosen [174], • Multi-Agenten-Systeme. Verfahren der Parallelen Kiinstlichen Intelligenz oder des verteilten Problemlosens werden an dieser Stelle nicht diskutiert. In dieser Arbeit soil der Schwerpunkt auf Multi-Agenten-Systemen liegen, da diese besonders gut zur Losung von dynamischen Problemstellungen in einem turbulenten Umfeld geeignet sind. 2.6.5.1
Multi-Agenten-Systeme
Multi-Agenten-Systeme dienen der Beschreibung von Beziehungen zwischen verschiedenen Agenten, die Entscheidungen treffen. Ausgehend von einem komplexen Problem wird in einem MultiAgenten-System eine zu losende Aufgabe zunachst in Teilaufgaben zerlegt, diese werden dann
2.6. STEUERUNGSANSATZE
DER KUNSTLICHENINTELLIGENZ
37
einzelnen Agenten zugeordnet und von diesen gelost. Im letzten Schritt werden die Teillosungen zur Losung des Ausgangsproblems zusammengesetzt [266, 113]. Ein Agent besteht aus einer administrativen Komponente, die fiir den Kommunikationsprozess verantwortlich ist. Weiterhin besitzt ein Agent eine Koordinations- bzw. Optimierungskomponente, die die Regeln und das Vorgehen zur Problemlosung zur Verfligung stellt. Es bestehen vielfaltige Ausgestaltungsmoglichkeiten fiir Agentenarchitekturen. Fiir eine Beschreibung wichtiger Architekturen fiir Einzelagenten wird auf [266] verwiesen.
2.6.5.2
Motiviation fiir agentenbasierte Produktionssteuerungssysteme
Agentenbasierte Systeme spielen in der Produktionssteuerung aus folgenden Griinden eine grol3e RoUe [193, 178]: 1. Aufbauend auf der physischen Dekomposition des Basissystems eines Produktionssystems kann haufig eine Modularisierung des Steuerungssystems vorgenommen werden. Agenten sind gut fiir die Modellierung modularer Systeme geeignet, da sie Objekte sind. 2. Produktionsprozesse sind haufig in natiirlicher Art und Weise dezentral organisiert. Da Agenten proaktive Objekte sind, sind sie gut geeignet, dezentrale Entscheidungen vorzunehmen. Agenten haben dabei den Vorteil, dass sie nur lokale Daten benotigen. Auf diese Weise erscheint es moglich, die heute vorherrschenden zentralen betrieblichen Informationssysteme, die im Wesentlichen durch zentrale Steuerungsrechner und zentrale Datenbanken gebildet werden, durch agentenbasierte Steuerungssysteme mit lokaler Datenhaltung zu ersetzen. 3. Produktionsprozesse sind zeitUchen Veranderungen unterworfen. Die Veranderungen betreffen das Basissystem, den Basisprozess, das Steuerungssystem und den Steuerungsprozess. Agentenbasierte Architekturen haben den Vorteil, dass auf derartigen Architekturen basierende Steuerungssysteme leicht an die Veranderungen in den Produktionssystemen angepasst werden konnen. Dazu kann es notwendig sein, dass neue Agenten zum agentenbasierten Steuerungssystem hinzugefiigt oder nicht mehr benotigte Agenten entfernt werden. Das kann, im Gegensatz zu traditionellen Systemen, zur Laufzeit des Systems erfolgen. Die Software fiir einzelne Agenten ist von geringerer Komplexitat und folgUch leichter zu entwickeln und zu warten als das bei den entsprechenden zentralen Ansatzen der Fall ist. Es wird deutlich, dass die Einfiihrung agentenbasierter Systeme durch softwaretechnische Gesichtspunkte und durch Datenhaltungsgesichtspunkte motiviert wird. Algorithmische Aspekte spielen eine untergeordnetere RoUe. 2.6.5.3
Existierende agentenbasierte Produktionssteuerungssysteme
Die meisten der existierenden agentenbasierten Produktionssteuerungssysteme sind lediglich prototypisch realisiert worden. Als Steuerungsmethode werden iiberwiegend Varianten des Kontrakt-
38
KAPITEL 2. STEUERUNGSANSATZE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
netzansatzes eingesetzt. Die nachfolgenden Defizite sind festzustellen: • Die Systeme werden iiberwiegend zur Steuerung von Produktionssystemen niedriger Komplexitat eingesetzt. • Es wird nicht umfassend und systematisch nachgewiesen, dass die entwickelten Systeme eine bessere Steuerung der jeweiligen Produktionssysteme ermoglichen [109]. • Die Systeme sind voUstandig heterarchisch organisiert. In komplexen Produktionssystemen erscheint aber der Einsatz von hierarchischen Steuerungselementen in gewissem Umfang giinstig zu sein [60]. • Die eingesetzten Steuerungsverfahren, die im Wesentlichen auf dem Kontraktnetzansatz basieren, sind nur unzureichend geeignet, um Maschinenbelegungsprobleme in komplexen Produktionssystemen zu losen. Wie in [224] diskutiert, erscheint eine starkere Einbeziehung von Verfahren des Operations Research und der Kiinstlichen Intelligenz bei der Ausgestaltung von Multi-Agenten-Systemen fiir die Produktionssteuerung sinnvoU zu sein. Diese These wird in Anfangen durch die Arbeiten von Weigelt [264] bestatigt, der Prioritatsregeln und Eckterminverschiebungsmechanismen zur agentenbasierten Feinplanung einsetzt. Eine umfassende Beschreibung verschiedener existierender agentenbasierter Produktionssteuerungssysteme ist u.a. in [229] zu finden. Industrielle Anwendungen der Agententechnologie werden von Parunak in [194] diskutiert. Multi-Agenten-Systeme fiir die Produktionssteuerung konnen aus funktionalen oder adaptiven Agenten bestehen. Andere Auspragungen von Agentenarchitekturen werden in Kapitel 6 diskutiert. Kontraktnetzartige Steuerungsansatze sind fiir die Maschinenbelegungsplanung weit verbreitet. Sie sind aber fiir den Einsatz in komplexen Produktionssystemen nur mit Einschrankungen geeignet. Holonische Produktionssteuerungssysteme erlauben in einem starkeren Mafie die Einbeziehung von hierarchischen Strukturierungsinstrumenten als heterarchische Multi-Agenten-Systeme, sind aber traditionell starker auf die unmittelbare Maschinensteuerung ausgerichtet als auf die Losung von Maschinenbelegungsproblemen. Aus diesen Griinden werden anschliefiend funktionale und adaptive Agenten, Kontraktnetze sowie holonische Produktionssteuerungssysteme studiert.
2.6.5.4
Funktionale Agenten
Funktionale Agenten in der Produktionssteuerung reprasentieren eine funktionale Fahigkeit eines Steuerungssystems. Typischerweise wird eine funktionale Dekomposition des Steuerungssystems durchgefiihrt und jeder zu realisierenden Funktion ein Agent zugeordnet. Funktionale Agenten kommunizieren direkt miteinander, indem eine Funktion andere Funktionen aufruft und bestimmte
2.6. STEUERUNGSANSATZE
DER KUNSTLICHENINTELLIGENZ
39
Ergebnisse erwartet [14]. Komplexe agentenbasierte Steuerungssysteme aus funktionalen Agenten sind beispielsweise in [279] beschrieben worden. Agentensysteme, die aus funktionalen Agenten bestehen, erfiillen nur unzureichend die in Abschnitt 2.6.5.2 genannten Griinde fiir agentenbasierte Steuerungssysteme.
2.6.5.5
Adaptive Agenten
In vielen Produktionssystemen treten zeitabhangig Veranderungen ein. Auf diese Veranderungen kann wie in Abschnitt 2.3 dargestellt durch Zielmodifikation oder Modifikation des internen M o dells reagiert werden. Agenten besitzen als entscheidungsfahige Einheiten eigene Ziele, diese werden bei adaptiven Agenten in situationsabhangiger Art und Weise angepasst. Umgekehrt verfiigen Agenten haufig iiber eine eigene Reprasentation der Umwelt, die durch geeignete interne Modelle realisiert werden kann. Anderungen in der Umwelt, d.h. des Basisprozesses bzw. des Basissystems, fiihren zu Anderungen des internen Modells. In [129] werden evolutionare Algorithmen (vergleiche [145] fiir Details zu dieser Verfahrensklasse) zur Adaption von Prioritatsregeln in Flexiblen Fertigungssystemen benutzt. Die Anzahl der Lose in der Warteschlange vor der Maschine und die Anzahl der notwendigen Umriistoperationen werden durch Maschinenagenten minimiert. Auftragsagenten sind daran interessiert, die Durchlaufzeit des ihnen zugeordneten Loses durch das Produktionssystem zu minimieren. Den Auftragsagenten sind Regeln zugeordnet, nach denen die Auswahl derjenigen Maschine erfolgt, auf welcher der nachste Prozess-Schritt ausgefiihrt werden soil. Den Maschinenagenten sind umgekehrt Prioritatsregeln zugeordnet, nach denen die Auswahl der Lose, die als nachste zu bearbeiten sind, vorgenommen wird. Der evolutionare Algorithmus legt Gewichte fest, welche die Zuordnungs- bzw. Prioritatsregeln in einer kombinierten Kegel gewichten. In [20] wird ein Verfahren vorgeschlagen, das adaptive Agenten zur Maschinenbelegungsplanung in automatisierten Produktionssystemen verwendet. In Echtzeit erfolgt eine Adaption einer Population aus Losprioritatsmustern durch einen genetischen Algorithmus. Die Populationselemente werden in Abhangigkeit von der Situation im Basisprozess bzw. Basissystem aktualisiert. In [26] wird ein Verfahren zur Ablaufplanung von Losen in einer Fliefifertigung vorgestellt, das die Auswahl einer giinstigen Maschine in jeder Stufe des Fliefifertigungsprozesses ermoglicht. Mit Hilfe des Reinforcement-Learning-Ansatzes werden Abschatzungen iiber die noch notwendige Zeit bis zur Fertigstellung der Lose ermittelt. Die vorgeschlagenen Lernverfahren ermoglichen eine Anpassung des jeweiligen Steuerungssystems an Anderungen im Basissystem bzw. Basisprozess. Eine derartige situationsabhangige Anpassung wird in derzeitigen Produktionssteuerungssystemen von Menschen durchgefiihrt. Eine automatische Anpassung erscheint zur Zeit nur fiir einfache Steuerungsalgorithmen moglich zu sein.
40
KAPITEL 2. STEUERUNGSANSATZE
2.6.5.6
FUR KOMPLEXE
PRODUKTIONSSYSTEME
Kontraktnetzartige Steuerungsverfahren
Agentenbasierte Systeme zur Produktionssteuerung benutzen haufig Varianten des Kontraktnetzansatzes [233] zur Losung der Maschinenbelegungsprobleme. Ausgehend von einer physischen Dekomposition des Basissystems und des Basisprozesses werden Maschinenagenten, die Maschinen reprasentieren, und Auftragsagenten, die Lose abbilden, betrachtet (vergleiche auch die Ausfiihrungen in Abschnitt 4.4). Weiterhin werden Koordinationsagenten, die Anfragen von Auftragsagenten und Angebote von Maschinenagenten in Einklang bringen, eingefiihrt [275]. In den Arbeiten [128, 182, 186, 196, 218, 247] werden beispielsweise derartige Ansatze in unterschiedlicher Ausgestaltung angewandt. Haufig werden aber ausschliefilich Produktionssysteme niedriger Komplexitat (zum Beispiel Flexible Fertigungszellen) betrachtet. Eine Leistungsanalyse erfolgt, indem die agentenbasierten Steuerungsansatze mit prioritatsregelbasierten Steuerungsansatzen verglichen werden. Stabilitatsfragen der vorgeschlagenen Ansatze werden nicht diskutiert. Weiterhin bleibt unklar, warum und wie eine Steuerung in Richtung eines global giinstigen Systemverhaltens erfolgen soil. Die vorgeschlagenen Ansatze sind mit vielen Parametern behaftet, deren situationsabhangige Wahl umfangreiche Simulationsstudien erfordert. Einen umfassenden Uberblick zu verhandlungsbasierten Losungsansatzen in Multi-AgentenSystemen gibt Kraus in der Monographic [115]. Uber Erfahrung mit einem agentenbasierten Steuerungsansatz auf Basis eines Kontraktnetzsystems in einem Industrieunternehmen wird in [242, 32] berichtet. Insgesamt erscheint eine Steuerung komplexer Produktionssysteme unter globalen Gesichtspunkten mit Varianten des Kontraktnetzansatzes im Vergleich zu konventionellen Prioritatsregeln neben der Moglichkeit der Verteilung auf mehrere Rechner keine grofien Vorteile zu versprechen.
2.6.5.7
Holonische Ansatze zur Produktionssteuerung
Ein Holon wird definiert als eine autonome und kooperative Einheit eines Produktionssystems, die zur Transformation, dem Transport und dem Speichern von physikalischen und Informationsobjekten dient [138]. Holonen bestehen aus einem Steuerungsteil und einem (optionalen) Teil zum Ausfiihren von physischen Operationen [139]. Ein Holon kann selber aus anderen Holonen bestehen. Unter einer Holarchie wird ein aus Holonen bestehendes System verstanden, in dem die Holonen kooperieren, um ein bestimmtes Ziel zu erreichen. Multi-Agenten-Systeme sind eine geeignete Technologic, um holonische Produktionssteuerungssysteme softwaretechnisch zu realisieren [130, 61, 62]. Holonische Produktionssteuerungssysteme konnen unter Verwendung der PROSA (ProductResource-Order-Staff-Architecture)-Referenzarchitektur [251, 273, 23] entwickelt werden. Eine Referenzarchitektur ist definiert als eine Menge von Designprinzipien, die fiir einen bestimmten Problembereich auf Grund einer identischen Tiefenstruktur genutzt werden konnen. Eine Referenzarchitektur schlagt eine Aufteilung des Systems in Einzelbestandteile vor, legt die Aufgaben der Systembestandteile fest und spezifiziert das Zusammenwirken der in der Referenzarchitektur fest-
2.7. HYBRIDE STEUERUNGSANSATZE
FUR PRODUKTIONSSYSTEME
41
gelegten Systembestandteile. In der PROSA-Referenzarchitektur werden die folgenden Bestandteile von holonischen Produktionssteuerungssystemen identifiziert: • Auftragsagenten: Auftragsagenten reprasentieren einen festen Fertigungsauftrag in einem Produktionssystem. Sie dienen der Verwaltung der relevanten Informationen und kapseln die zur Maschinenbelegungsplanung aus Auftragssicht notwendige Entscheidungslogik. Auftragsagenten entscheiden, auf welchen Maschinen die Fertigungsauftrage ausgefiihrt werden soUen. • Ressourcenagenten: Ressourcenagenten dienen der Modellierung von Ressourcen in Produktionssystemen. Sie verwalten die zur Maschinenbelegung notwendigen Informationen und enthalten die zur Maschinenbelegung notwendige Entscheidungslogik. • Produktagenten: Produktagenten kapseln Produktwissen. Produktwissen liegt in Form von Arbeitsplanen und Qualitatsvorschriften vor. Auftrags-, Ressourcen- und Produktagenten werden als Entscheideragenten bezeichnet. Entscheideragenten werden bei der Entscheidungsfindung durch Dienstagenten unterstiitzt. Dienstagenten kapseln beispielsweise Algorithmen zur Maschinenbelegungsplanung. Durch die Unterteilung in Entscheider- und Dienstagenten wird eine Entkopplung zwischen der Struktur des Steuerungssystems und den Steuerungsalgorithmen vorgenommen. Holonische Produktionssteuerungssysteme haben im Vergleich zu rein heterarchisch organisierten Multi-Agenten-Systemen den entscheidenden Vorteil, dass durch den rekursiven Aufbau von Holonen hierarchische Elemente in den Steuerungsprozess einbezogen werden konnen und dass zur Laufzeit des Steuerungssystems dynamisch, d.h. situationsabhangig, zwischen unterschiedlichen Steuerungsparadigmen gewahlt werden kann. Forschungsbedarf besteht aber bei Anwendung der Theorie verteilter Entscheidungen zur hierarchischen Strukturierung von holonischen Produktionssteuerungssystemen und beim Einsatz hoherwertiger Steuerungsverfahren.
2.7 2.7.1
Hybride Steuerungsansatze fur Produktionssysteme Begriffsbestimmung und Beispiele
Neben Verfahren des Operations Research und der Kiinstlichen Intelligenz werden Verfahren der optimalen KontroUtheorie zur Steuerung von Produktionssystemen vorgeschlagen. Entsprechende Ansatze sind u.a. in [117, 265, 82] beschrieben worden. Ansatze der KontroUtheorie wurden mit Fluid-Modellen in [21] kombiniert. In der vorliegenden Arbeit wird auf eine weitere Darstellung verzichtet, da derartige Verfahren nur bedingt fiir Produktionssysteme mit terminorientierten Produktionszielen geeignet sind.
42
KAPITEL 2. STEUERUNGSANSATZE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
Unter einem hybriden Steuerungsansatz fiir komplexe Produktionssysteme wird in dieser Arbeit ein Steuerungssatz verstanden, der sowohl unterschiedliche Verfahren des Operations Research als auch der Kiinstlichen Intelligenz umfasst und geeignet kombiniert. Ein Beispiel fiir einen hybriden Ansatz ist durch das Logistics Management System (LMS) von IBM gegeben [241]. Das System enthalt Dispatchentscheidungseinheiten, die KontroUzonen um bestimmte Maschinengruppen aufbauen. Die Zonen werden unter Verwendung von Kanbanartigen Mechanismen separat gesteuert. Dazu werden fiir die einzelnen Waferebenen der Produkte Kanbans eingefiihrt. Jede Zone enthalt eine Bewertungseinheit, die auf Basis unterschiedlicher Bewertungskriterien Maschinenbelegungsentscheidungen trifft. Die Kanbans dienen zur Implementierung von OR- und KI-Konzepten. Ein weiteres Beispiel ist ein bei INTEL entwickeltes ScheduUngsystem [108]. In diesem System werden prioritatsregelbasierte Ansatze mit Simulationstechniken verbunden.
2.7.2
Hierarchische Steuerungsansatze
Hierarchische Steuerungsalgorithmen werden im Detail in Kapitel 3 untersucht. An dieser Stelle der Arbeit soUen hierarchische Steuerungsalgorithmen als spezielle hybride Steuerungsansatze dargestellt werden. Srivatsan, Bai und Gershwin beschreiben in [238] ein Framework, das fiir eine Entscheidungsfindung unter Echtzeitbedingungen geeignet ist. Es wird eine Aufteilung der Steuerungshierarchie in eine Menge von Ebenen vorgeschlagen. Den Ebenen sind Ereignisse zugeordnet, die mit unterschiedlicher Haufigkeit auftreten. Dieses ereignisbasierte Konzept wird in [74] weiter verfeinert und auf eine grofiere Klasse von hierarchischen Systemen angewandt. Auf jeder Steuerungsebene werden Entscheidungen getroffen, die der Erfiillung der Vorgaben hoherer Steuerungsebenen dienen und Kapazitatsrestriktionen der jeweiligen Steuerungsebene geniigen. Entscheidungen werden in Form von • Aktionen, • Vorgaben fiir untergeordnete Ebenen getroffen. Eine pyramidenformige Hierarchic wird aufgebaut, die das Ergebnis einer sowohl zeitlichen, d.h. ereignis-orientierten Dekomposition des Basisprozesses als auch einer raumlichorientierten Dekomposition des Basissystems ist. Die moglichen Ereignisse werden entsprechend der Haufigkeit ihres Auftretens, als charakteristische Frequenz bezeichnet, klassifiziert. Auf den oberen Ebenen der Hierarchic wird auf Ereignisse reagiert, die eine kleine charakteristische Frequenz haben, d.h. selten auftreten. Auf den unteren Ebenen werden entsprechende Ereignisse mit einer hoheren Frequenz behandelt. Auszufiihrende Prozess-Schritte auf den Maschinen sind diejenigen Ereignisse mit der hochsten Frequenz in komplexen Produktionssystemen. Jeder Ebene wird eine stochastische Kapazitatsmenge zugeordnet. Die Kapazitat muss stochastisch modelliert werden, da Schwankungen im
2.8. ANFORDERUNGSANALYSE
FUR EIN STEUERUNGSSYSTEM
43
Kapazitatsangebot, z.B. durch Maschinenausfalle, beriicksichtigt werden miissen. Neben der zeitlichen wird eine raumliche Dekomposition eingefiihrt, die sicherstellt, dass gewisse Annahmen iiber die zeitliche Dekomposition erfiillt sind. Zwischen den einzelnen Segmenten des zu steuernden Produktionssystems werden Lager eingefiihrt, deren Bestand dezentral gesteuert wird. Eine segmentiibergreifende Koordination erfolgt iiber die Bestandshohe in den einzelnen Lagern. In [238] wird eine funktionale Vier-Ebenen-Hierarchie fiir eine Halbleiterfabrik niedriger Komplexitat vorgeschlagen. Terminliche Aspekte werden in [238] nicht beriicksichtigt. In der Arbeit [254] wird eine hierarchische Zwei-Ebenen-Steuerung fiir den Frontendbereich einer Halbleiterfabrik beschrieben. Ein Optimierungsverfahren, das in Echtzeit arbeitet, bildet die obere Ebene der Hierarchic. Die obere Steuerungsebene ermittelt schichtweise Vorgaben fiir die untere Ebene. Dabei wird durch die obere Steuerungsebene das Ziel verfolgt, die Vorgaben hoherer Planungsebenen zu erfiillen. Die Maximierung des Durchsatzes und eine mogUchst geringe Abweichung des Bestandes zu Vorgaben hoherer Planungsebenen bilden die verfolgten Optimierungsziele. Auf der unteren Steuerungsebene wird eine Prioritatsregel verwendet, die derart angepasst wird, dass die langfristigeren Vorgaben der oberen Ebene erfiillt werden. Terminziele werden nicht beriicksichtigt. Es ist notwendig, hoherwertige Algorithmen auf den unteren Ebenen der Hierarchic einzusetzen. In [255] wird der Zwei-Ebenen-Ansatz aus [254] um eine dritte Ebene erweitert, die zur Parameterschatzung fiir das Optimierungsverfahren der mittleren Ebene dient.
2.8
Anforderungsanalyse fiir ein Steuerungssystem
Die in den Abschnitten 2.5 und 2.6 beschriebenen Steuerungsverfahren haben die naxihfolgenden Nachteile: 1. Dezentrale Verfahren, d.h. prioritatsregelbasierte Verfahren bzw. kontraktnetzartige Verfahren treffen Steuerungsentscheidungen unter Verwendung von raumhch bzw. zeitlich isoUerten Informationen. Es sind intensive Simulationsexperimente zur Bewertung der Leistungsfahigkeit des jeweiligen dezentralen Verfahrens notwendig. Eine Anpassung an veranderte Bedingungen ist kaum moglich. 2. Zentrale Verfahren, d.h. gemischt-ganzzahlige Optimierungsformuherungen, constraintbasierte Techniken bzw. lokale Suchverfahren haben den Nachteil, dass die fiir den Algorithmus notwendigen Daten zentral bereitgestellt werden miissen. Da eine grofie Klasse von Maschinenbelegungsproblemen NP-schwer ist [83], miissen geeignete Heuristiken zur Losung der Probleme entworfen werden. Die Rechenzeit fur derartige Heuristiken ist auf Grund der vorliegenden Problemgrofie fiir komplexe Produktionssysteme haufig trotz leistungsfahiger Rechentechnik zu hoch. Probleme werden dadurch verursacht, dass keine zulassigen Losungen fur das jeweilige Optimierungsproblem existieren und folglich Restriktionen relaxiert werden mussen. Im AUgemeinen sind zentrale Verfahren so ausgelegt, dass eine (zulassige) Losung
44
KAPITEL 2. STEUERUNGSANSATZE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
fur das jeweilige Problem erst nach Beendigung der Berechnungen vorliegt. Die Verfahren sind somit nicht als Verbesserungsverfahren konzipiert, die zulassige Losungen iterativ in optimale Losungen umwandeln. In Produktionssystemen liegen dynamische und stochastische Prozessbedingungen vor. Aus diesem Grund sind Reschedulingmafinahmen haufig unvermeidlich. Dadurch wird das Problem zu langer Rechenzeiten weiter verscharft. Zusatzlich sind Stabilitatsprobleme fiir die gefundenen Losungen typisch, die zu einer groBen Nervositat des Produktionssystems fuhren. Die Beriicksichtigung unterschiedlicher, zum Teil gegenlaufiger Ziele ist schwierig zu realisieren. In der Praxis verwendete Werkstattsteuerungssysteme verfiigen iiber die folgenden Schwachen [236]: L Die Softwaresysteme basieren auf dem softwaretechnischen Stand Anfang der 90er Jahre bzw. haben in Anfangen eine Client-Server-Architektur. 2. Eine funktionale Erweiterung der Systeme ist nur schwer moglich. 3. Die Kommunikation bzw. der Informationsaustausch mit anderen informationsverarbeitenden Systemen ist nur kompliziert und umstandlich zu realisieren. 4. In den Systemen sind keine modernen Steuerungsalgorithmen enthalten. 5. Die Moglichkeit zum verteilten Losen von Problemen wird konzeptionell nicht ausgenutzt und ist softwaretechnisch schwer zu realisieren. Auf Grund einer zentralen Datenhaltung ist die Datenbereitstellung aufwendig. 6. Sie sind in erster Linie Systeme zur umfassenden Verwaltung von Produkt- und Produktionsdaten, unter dem Aspekt der Steuerung wirken sie iiberwiegend „passiv". Ein zu konzipierender neuartiger Steuerungsansatz muss folgenden Anforderungen geniigen: 1. Der Steuerungsansatz muss in der Lage sein, globale Ziele in die Entscheidungsfindung einzubeziehen. Dabei muss ein Kompromiss zwischen der dazu notwendigen Rechenzeit und der Losungsqualitat gefunden werden. Eine raumliche und zeitliche Dekomposition des zu losenden Steuerungsproblems muss vorgenommen werden, die zum einen Rechenbarkeit sicherstellt, andererseits aber zu einer hinreichenden Losungsqualitat fiihrt. Rechenbarkeit kann durch • Verteilung der Berechnungen auf mehrere Rechner, • Verringerung der Problemgrofie durch Aggregation erreicht werden. Die angestrebte Verteilung und Aggregation fiihrt zu einem verteilten hierarchischen Ansatz. Auf Grund der Verteilung der zu losenden Maschinenbelegungsprobleme
2.S. ANFORDERUNGSANALYSE
FUR EIN STEUERUNGSSYSTEM
45
kann gut mit dynamischen und stochastischen Prozessbedingungen umgegangen werden. Da von den Reschedulingaktivitaten stets nur partielle Telle des Basissystems unmlttelbar betroffen sind, 1st die Nervosltat innerhalb des komplexen Produktlonssysteras nledrlger. 2. Der Steuerungsansatz muss „any-time"-Algorlthmen umfassen. Ein „any-time"-Algorithmus zelchnet slch dadurch aus, dass zu jedem Zeltpunkt t > 0 die bis zu diesem Zeltpunkt gefundene beste Losung zur Verfiigung steht. „ Any-time"-Algorlthmen slnd Verbesserungsverfahren. Die „any-tlme"-Elgenschaft unterstiitzt Insbesondere die von Kirn [113] geforderte Online-Fahlgkelt moderner Planungs- und Steuerungsalgorlthmen in Multl-AgentenSystemen. 3. Der Steuerungsansatz muss mit lokalen Daten arbeiten. Dieses Vorgehen hat den Vorteil, dass der betrachtllche zeitllche Aufwand zur Bereitstellung der Daten aus zentralen Informatlonssystemen entfallt und die Daten dort verarbeitet werden, wo sie bereltgestellt werden. 4. Der Steuerungsansatz muss eine situatlonsabhangige Parametrisierung der Steuerungsalgorlthmen ermoglichen. 5. Die Steuerungsalgorlthmen miissen lelcht austauschbar sein. Helm Design des Steuerungsansatzes 1st deshalb darauf zu achten, dass eine Trennung zwischen Steuerungssystem und Steuerungsalgorlthmen stattfindet. 6. Die Steuerungsalgorlthmen miissen in der Lage sein, gegenlaufige Steuerungsziele geeignet zu beriickslchtlgen. Der zu entwlckelnde Steuerungsansatz muss in ein neuartiges Steuerungssystem eingebettet werden. An dieses Steuerungssystem miissen die nachfolgenden Anforderungen gestellt werden: 1. Das Steuerungssystem muss ofFen sein, d.h., eine funktionale Erwelterung des Systems muss zur Laufzelt des Systems mogllch sein. 2. Das System muss in der Lage sein, mit anderen Systemen zu kommunlzieren und Informatlonen auszutauschen. 3. Das System muss den Elnsatz vertellter Steuerungsalgorlthmen unterstiitzen. Das bedeutet Insbesondere, dass die Steuerungsalgorlthmen ausschliefilich auf lokalen Daten arbeiten. Eine geelgnete Synchronisierung der vertellten Problemlosungselnhelten muss durch das Steuerungssystem slchergestellt werden. 4. Das Steuerungssystem muss skaherbar sein, d.h., mit zunehmender Komplexltat des Basisprozesses und des Basissystems darf slch die Leistungsfahigkelt des Steuerungsansatzes unter Berechenbarkeltsgesichtspunkten nlcht in starkem Mafie verrlngern.
46
KAPITEL 2. STEUERUNGSANSATZE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
5. Die Architektur des Steuerungssystem muss eine Trennung zwischen Struktur des Systems und den Steuerungsalgorithmen vornehmen. Dadurch ist insbesondere auch eine leichte Austauschbarkeit von Steuerungsalgorithmen zur Laufzeit des Systems gewahrleistet. 6. Die Architektur des Systems muss den Einsatz von diskreter ereignis-orientierter Simulation zur Leistungsbewertung des Steuerungssystems unabhangig vom realen Produktionsprozess ermoghchen. In Kapitel 3 werden strukturelle Aspekte eines verteilten hierarchischen Steuerungsansatzes herausgearbeitet. Das daran anschliefiende Kapitel 4 beschaftigt sich mit der Gestaltung von an die Struktur des verteilten hierarchischen Steuerungssystems angepassten Steuerungsalgorithmen. Pragen der konzeptionellen Realisierung von Koordinationsmechanismen werden in Kapitel 5 diskutiert. Kapitel 6 entwickelt eine Softwarearchitektur fiir das neuartige Steuerungssystem. Das anschhefiende Kapitel 7 dient der Leistungsbewertung des vorgeschlagenen Steuerungssystems.
Kapitel 3 Verteilte hierarchische Produktionssteuerung Verteilte hierarchische Steuerungssysteme sind ein Kompromiss zwischen dezentralen und zentralen Ansatzen. Die Einfiihrung von Hierarchien dient dazu, komplexe Probleme raumUch und zeithch zu dekomponieren und auf diese Art und Weise Losungen fiir das untersuchte Problem zu ermoglichen. In diesem Kapitel wird ein hierarchisches Steuerungsverfahren fiir komplexe Produktionssysteme vorgeschlagen. Dafur werden die Hierarchieebenen Produktionssystemsteuerungsebene, Produktionsbereichssteuerungsebene und Maschinengruppensteuerungsebene betrachtet. Fiir jede dieser Hierarchieebenen werden entsprechende Entscheidungsmodelle entwickelt. AnschUe6end wird eine Agentifizierung des vorgeschlagenen Steuerungsansatzes vorgenommen.
3.1 3.1.1
Hierarchische Steuerungsansatze Hierarchische Strukturen
Hierarchische Systeme werden u.a. in [223, 59, 144, 143] untersucht. Unter einem hierarchischen System wird ein System verstanden, das aus Objekten besteht, die in einer asymmetrischen Beziehung beziiglich • ihrer Entscheidungsrechte, • ihres Informationszustands, • des Zeitpunkts der Entscheidungsfindung stehen. Es wird zwischen konstruktiven und organisatorischen Hierarchien unterschieden. Konstruktive Hierarchien sind dadurch charakterisiert, dass ein symmetrischer Informationszustand vorliegt, d.h., es gibt genau eine entscheidungsfindende Einheit fiir alle Ebenen des hierar-
48
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
chischen Systems, die zu bestimmten Zeitpunkten unter Beriicksichtigung der vorliegenden Informationen Entscheidungen trifft. Organisatorische Hierarchien besitzen als wesentliches Merkmal einen asymmetrischen Informationszustand. Organisatorische Hierarchien treten in den Auspragungen Entscheidungszeitpunkthierarchien und Fiihrungshierarchien auf. Von einer Entscheidungszeitpunkthierarchie wird gesprochen, falls genau eine entscheidungsfindende Einheit vorliegt. Entscheidungszeitpunkthierarchien bestehen aus Ebenen, die Entscheidungen zu unterschiedlichen Zeitpunkten treffen. Die Entscheidungen basieren auf Grund der Zeitabhangigkeit auf unterschiedlichen Informationen. Angenommen, die iibergeordnete Hierarchieebene trifft eine Entscheidung zum Zeitpunkt t = to und die untergeordnete Ebene eine Entscheidung zum Zeitpunkt t = ti mit ^i > ^o, dann basieren die Entscheidungen der iibergeordneten Hierarchieebene lediglich auf den Informationen, die zum Zeitpunkt ^ = ^o zur Verfiigung stehen. Die veranderte Situation zum Zeitpunkt t = ti wird nicht beriicksichtigt. Hierarchische Systeme, welche die Ermittlung eines Planes und dessen Implementierung sicherstellen, sind typische Beispiele fiir Entscheidungszeitpunkthierarchien. In diesem Fall werden bei der Berechnung eines Planes Storungssituationen nur naherungsweise beriicksichtigt, so dass zum Zeitpunkt der Planimplementierung haufig eine von den Planungsannahmen abweichende Situation im zu beeinflussenden System vorUegt. Fiihrungshierarchien sind dadurch gekennzeichnet, dass jede Ebene ihre eigene entscheidungsfindende Einheit besitzt, die iiber private Informationen und Ziele verfiigt. Ein typisches Beispiel fiir eine Fiihrungshierarchie ist ein hierarchisches System mit einer Koordinationsinstanz.
3.1.2
Verteilte Entscheidungsfindung in hierarchischen Systemen
Verteilte Entscheidungsfindung beschaftigt sich mit den Entscheidungen, die in unterschiedlichen Teilen eines Systems getroffen werden. Demzufolge besteht eine wesentliche Aufgabe der verteilten Entscheidungsfindung darin, die unterschiedlichen Entscheidungen zu koordinieren. Es werden in Anlehnung an Schneeweifi [223, 224] vier unterschiedliche Koordinationsgrade unterschieden: 1. Datenintegration, 2. Integration unterschiedlicher Systeme durch reaktive Verhandlungen, 3. Integration unterschiedlicher Systeme durch Planungsaktivitaten, 4. Integration unterschiedlicher Systeme durch Fiihrungsaktivitaten. Die Koordinationsgrade unterscheiden sich in der Kompliziertheit der Kommunikation und der Integration. Die Datenintegration stellt den niedrigsten, die Integration durch Fiihrungsaktivitaten umgekehrt den hochsten Koordinationsgrad dar. Hierarchische Strukturen und verteilte Entscheidungsfindung stehen in engem Zusammenhang. Das wird im Wesentlichen dadurch verursacht,
3.1. HIERARCHISCHE STEUERUNGSANSATZE
49
dass die verschiedenen Entscheidungen koordiniert werden mussen, dazu haufig aber eine Selbstkoordination nicht ausreichend ist. Es ist deshalb notwendig, hierarchische Strukturen einzufiihren, die das Recht haben, direkt zu koordinieren oder Regeln fiir die Koordination festzulegen. Entscheidungsprobleme in praktischen Anwendungen werden durch die beiden nachfolgenden trivialen Fakten beeinflusst: • Wenn eine Entscheidung ansteht, muss diese getroffen werden. Die Entscheidung kann nicht verzogert werden, da dies dazu fiihrt, dass keine Aktion ausgewahlt und implementiert wird. • Die Unsicherheit iiber die Folgen der Implementierung einer gewahlten Aktion im Rahmen der Entscheidungsfindung fiihrt dazu, dass eine formale Situationsbeschreibung, Voraussetzung fiir die rationale Auswahl einer Aktion aus einer Menge von moghchen Aktionen, nicht vorgenommen wird. Diese beiden Tatsachen fiihren zum Dilemma der Entscheidungsfindung [223]. Auf der einen Seite miissen Entscheidungen ohne zeitliche Verzogerung getroffen werden, andererseits ist Zeit notwendig, um die vorliegende Situation, in der die Entscheidung getroffen werden muss, besser zu verstehen. In komplexen Entscheidungssituationen wird versucht, dieses Dilemma durch einen hierarchischen Ansatz zu vermeiden. Es wird im Wesentlichen eine FamiUe von Entscheidungsproblemen definiert, deren Losung in einer sequentiellen oder falls moglich in einer nebenlaufigen Art und Weise vorgenommen wird. Die Losung der iibergeordneten Entscheidungsprobleme dient zur Parameterfestlegung bzw. Parameterauswahl fiir die in der sequentiellen Abarbeitung nachgeordneten Entscheidungsprobleme. Dieses Vorgehen entspricht der in Abschnitt 2.3 dargestellten Zielmodifikation durch ein intervenierendes System. Das Gesamtproblem ist gelost, wenn alle auf diese Art und Weise erhaltenen Entscheidungsprobleme gelost sind.
3.1.3
BsLsismodell und Notationen fiir hierarchische Systeme
3.1.3.1
Framework fur eine hierarchische Steuerung
Ohne Einschrankung der AUgemeinheit wird zunachst die Situation betrachtet, dass genau zwei Ebenen im hierarchischen Steuerungssystem vorhanden sind. Die beiden Ebenen werden als iibergeordnete und untergeordnete Ebene des Steuerungssystems bezeichnet. Unter einer Anweisung (s3monym als Vorgabe bezeichnet) soil im Folgenden die Beeinflussung der untergeordneten Ebene durch die libergeordnete Ebene verstanden werden. Die libergeordnete Ebene des Steuerungssystems hat das Ziel, eine (beziiglich einer fest gewahlten Zielfunktion) optimale Entscheidung zu treffen. Dazu versucht die libergeordnete Ebene, das Verhalten der untergeordneten Ebene zu antizipieren. Die libergeordnete Steuerungsebene enthalt neben einem Modell fiir diese Ebene auch ein antizipiertes Modell der untergeordneten Steuerungsebene. Es werden hypothetisch Anweisungen IN an das antizipierte Modell der untergeordneten
50
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
Ebene libergeben. Das antizipierte Modell der untergeordneten Ebene sendet umgekehrt hypothetische Reaktionen RE an das Modell der iibergeordneten Steuerungsebene. Die iibergeordnete Steuerungsebene fallt danach eine endgiiltige Entscheidung, die in Form einer Anweisung IN* an die untergeordnete Steuerungsebene iibergeben wird. Die untergeordnete Steuerungsebene beriicksichtigt die Anweisung IN* und berechnet eine optimale Reaktion RE*, die an die iibergeordnete Steuerungsebene iibermittelt wird. Nach einer endlichen Anzahl von Verhandlungsrunden wird die endgiiltige Steuerungsentscheidung IN** ermittelt und an den zu beeinflussenden Basisprozess iibergeben. Das beschriebene Vorgehen ist in Abbildung 3.1 schematisch dargestellt.
i^l2SS3IIZSZ
TZH^
Antizipiertes Modell der untergeordneten Steuerungsebene U
IN*
Implementierung
Zu Ex-Post Riickkopplmig Abbildung 3.1: Grundmodell der hierarchischen Steuerung [223]
Die folgenden Eigenschaften des beschriebenen Steuerungssystems soUen detaillierter untersucht werden [223]:
1. AusschlieBlich die iibergeordnete Steuerungsebene antizipiert das (erwartete) Verhalten der untergeordneten Ebene. Lediglich die optimale Anweisung IN* verlasst die iibergeordnete Steuerungsebene. 2. Die iibermittelte Anweisung IN* ermoglicht einen Kommunikationsprozess innerhalb der unterschiedlichen Ebenen des Steuerungssystems. 3. Lediglich die endgiiltige Entscheidung IN** wird als Anweisung des hierarchischen Steuerungssystems an den Basisprozess iibergeben.
3.1. HIERARCHISCHE STEUERUNGSANSATZE 3.1.3.2
51
Modellierung von Entscheidungen
Mit t wild im Folgenden der Zeitpunkt bezeichnet, zu dem eine Entscheidung getroffen wird. Ein beliebiges Entscheidungsmodell kann in der Form M:=M{C,A,It)
(3.1)
mit C: Entscheidungskriterium (Zielfunktion), A: Alternativenraum (Entscheidungsfeld), It'. Informationsstatus zum Zeitpunkt t dargestellt werden [223]. Der Alternativenraum A stellt die Menge der zulassigen Entscheidungen dar. Die Giite einer Entscheidung wird mit Hilfe von Zielfunktionen bewertet. Die Entscheidungen basieren auf Daten, die zum Entscheidungszeitpunkt t zur Verfugung stehen und mit Hilfe des Informationsstatus It beschrieben werden. Das Entscheidungsmodell der iibergeordneten Ebene wird mit M^:=M^(C^,>1^,/,^)
(3.2)
bezeichnet. Fur das Entscheidungsmodell der untergeordneten Ebene wird die Bezeichnung M^:=M^{C^,A^jf)
(3.3)
verwendet. Die Entscheidung der iibergeordneten Ebene wird mit aF bezeichnet. Es gilt a^ e A^. Eine optimale Entscheidung beziiglich des Entscheidungskriteriums C^ wird mit aF* bezeichnet. Das von der iibergeordneten Ebene erwartete Verhalten der untergeordneten Ebene wird durch das Entscheidungsmodell
beschrieben. Im Folgenden wird genauer auf die Antizipationsfunktion AF{IN) eingegangen. Die Antizipationsfunktion wird von der iibergeordneten Ebene dazu verwendet, das erwartete Verhalten der untergeordneten Ebene bei der Entscheidungsfindung zu beriicksichtigen. Die Antizipationsfunktion beschreibt das erwartete Verhalten der untergeordneten Ebene als Reaktion auf die Anweisung IN. Das Entscheidungskriterium C^ der iibergeordneten Ebene setzt sich aus zwei Bestandteilen zusammen, einem privaten und einem offentlichen Kriterium. Das private Kriterium C'^ dient zur Bewertung der Entscheidung der iibergeordneten Ebene. Das ofTentliche Kriterium C^^ beriicksichtigt die erwartete Entscheidung der untergeordneten Ebene als Ergebnis der Anweisung IN. Unter Verwendung der Antizipationsfunktion kann C^^ als C^^ := C^^ (AF) geschrieben werden.
52
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
Ubergeordnete Steuerungsebene ^ .„ •;
r>
MUC\A^,/J
)
•V
:-:mm:i'- •.:-. -'-•-'^'r--]:^:mjM^u^-vJ-'• M^(C^
^
,A^ ,if
• !j
)
y.c^ ^•^;gi^^^vaT"'.T^?'!^"ri^:5v^""""f^'^v:—......,y.„.,^™,MM^,.,M,,;^.,^,j._ ,.^,^ ^ . ^ j . ^ . , ; _ ^,_,., ^.,; j
1
/A^*= /ivra^*;
Untergeordnete Steuerungsebene Abbildung 3.2: Hieraxchischen Steuerung mit zwei Steuerungsebenen [223]
AUgemein kann das Entscheidungskriterium C^ wie folgt dargestellt werden: ^^{J)
:= C^ (C"^(a^), C^^ [AF {IN (J))))
.
(3.4)
Ein Entscheidungsproblem kann als Optimierung des Entscheidungskriteriums iiber dem Alternativenraum aufgefasst werden. Formal wird dieser Optimierungsprozess wie folgt dargestellt: a^- := an, opt^r^^rE {C^ {Cf"(a^), C™ [AF {IN ( a ^ ) ) ) ) | / ^ } .
(3.5)
Es wird zur Abkiirzung die Notation argf{x) = x verwendet. Die Entscheidung der unteren Ebene wird durch die nachfolgende Gleichung abgebildet: a^' := an, opt„B,^a^.£{C« {cf^^.i^^Cf^.
(a^) | / f ; , . „ ) } .
(3.6)
In Gleichung (3.6) wird mit C^^ das private und mit C^^ das offentliche Kriterium der untergeordneten Ebene bezeichnet. Die Vorgabe der iibergeordneten Ebene an die untergeordnete Ebene wird durch die nachfolgende Gleichung beschrieben: IN := IN (oF) .
(3.7)
Die Antizipationsfunktion AF ist durch die folgende Gleichung gegeben: AF{IN) := arg opt^s^f.^
{Cf^ (a^) UFN} •
(3.8)
Mit / ^ wird die Information bezeichnet, welche fiir die untergeordnete Ebene zum Zeitpunkt ^i durch die iibergeordnete Ebene zum Zeitpunkt ^o vorausgesetzt wird. Durch die Entscheidung a^ der iibergeordneten Ebene findet an dieser Stelle eine Beeinflussung des Entscheidungskriteriums und des Alternativenraums der untergeordneten Ebene statt. Diesem Sachverhalt wird durch die Verwendung eines tief gestellten IN in der Bezeichnung fiir den Alternativenraum und
3.1. HIERARCHISCHE STEUERUNGSANSATZE
53
im Entscheidungskriterium Rechnung getragen. Die Gleichungen (3.5), (3.6), (3.7), (3.8) werden als Kopplungsgleichungen bezeichnet. Die folgenden Arten von Antizipationsfunktionen werden unterschieden: • Exakte explizite reaktive Antizipation: In diesem Fall wird eine Antizipation vorausgesetzt, die der Gleichung (3.8) folgt. Es liegt eine exakte Antizipation vor, da exakte Informationen iiber das Verhalten der untergeordneten Ebene an die ubergeordnete Ebene iibermittelt werden. Die Antizipation ist explizit, da das aktuelle Verhalten der untergeordneten Ebene antizipiert wird. Diese Form der Antizipation wird als perfekte Antizipation bezeichnet. • Approximative explizite reaktive Antizipation: Im Gegensatz zur perfekten Antizipation werden bei der approximativen expliziten reaktiven Antizipation Schatzwerte fiir die Parameter des Modells der untergeordneten Ebene verwendet. • Implizite reaktive Antizipation: In diesem Fall werden ledighch bestimmte Telle des Modells der untergeordneten Ebene antizipiert. Implizite reaktive Antizipation wird dadurch realisiert, dass der Entscheidungsraum (Alternativenraum) der iibergeordneten Ebene durch die Antizipation eingeschrankt wird. • Nicht-reaktive Antizipation: Es existiert keine Antizipationsfunktion. Die ubergeordnete Ebene beriicksichtigt bei der Entscheidungsfindung keine Entscheidungen einer antizipierten untergeordneten Ebene. Eigenschaften der untergeordneten Ebene konnen in die Gleichung (3.4) der iibergeordneten Ebene aufgenommen werden. Die betrachteten Eigenschaften der untergeordneten Ebene sind aber nicht von einer Anweisung IN abhangig.
3.1.4
Schichtung, Stratifikation und StafFelung hierarchischer Systeme
In der Literatur werden drei Sichten auf hierarchische Systeme unterschieden [144, 56]: 1. Staffelung, 2. Stratifikation, 3. Schichtung. Die Sicht der Staffelung wird zur Abbildung organisatorischer Gegebenheiten innerhalb des hierarchischen Systems verwendet. Eine einzelne Staffel wird durch das Niveau der Entscheidungsprioritat charakterisiert. Die unterschiedlichen Elemente einer Staffel besitzen prinzipiell die gleiche Entscheidungsprioritat. Die Staffelung ist ein Spezialfall einer organisatorischen Hierarchie im Sinne von Schneeweifi [224]. Entscheidungseinheiten auf iibergeordneten Staffeln erzeugen Rahmenbedingungen fiir die Entscheidungen der untergeordneten Staffeln. Die Entscheidungseinheiten
54
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
der untergeordneten Staffeln verfiigen aber iiber einen gewissen Graxi an Autonomie. Die Staffelung ist fiir hierarchische Steuerungssysteme von besonderer Bedeutung, da sie Voraussetzung fiir eine funktional und raumlich verteilte Steuerung im Sinne einer zeitlich parallelen Steuerung von unterschiedlichen Elementen des Basisprozesses schafft. Durch eine Staffelung treten Koordinationsprobleme zwischen Entscheidungseinheiten unterschiedlicher Staffeln sowie zwischen den Entscheidungseinheiten einer Staffel auf. Der Staffelungsansatz wird zur Abbildung von Beziehungen zwischen Entscheidungseinheiten, die ein System bilden, verwendet. Ein aus drei Staffeln bestehendes hierarchisches System ist in Abbildung 3.3 dargestellt. Entscheidungshierarchie Staffel 3
Entscheidungseinheit Staffel 2
Koordination Informationsruckkopplung
Staffel 1 Steuerung Prozessriickkopplung
i
1
^' Prozess
Abbildung 3.3: Hierarchisches System mit Staffelung
Unter Stratifikation versteht man das Abstraktionsniveau in der Beschreibung des Systemverhaltens. Man verwendet den Begriff der stratifizierten Beschreibung. Das zu untersuchende System wird durch eine Familie von Modellen beschrieben, die das Verhalten des Systems mit unterschiedlichem Abstraktionsniveau abbilden. Das Konzept der Stratifikation dient somit in erster Linie ModeUierungszwecken. Jede durch Stratifikation gewonnene Steuerungseinheit hat eigene Begriffe, Konzepte und Prinzipien. Das Systemverstandnis wird grofier, wenn die unterschiedlichen Stratifikationsebenen durchlaufen werden. Falls man die Ebenen von oben nach unten durchlauft, erhalt man eine starker detaillierte Beschreibung des Systems. Umgekehrt fiihrt ein Durchlaufen der Hierarchic von unten nach oben zu einem besseren Verstandnis fiir das Systemverhalten, da umfangreichere Subsysteme und langere Zeitperioden in die Beschreibung einbezogen werden. Stratifikation dient zur Zerlegung einer gewiinschten Funktion in eine Menge von Unterfunktionen. Die Unterfunktionen werden weiter zerlegt, bis einfach realisierbare Funktionen erscheinen. Da die Erfiillung von Funktionen bzw. Unterfunktionen zeitabhangig ist, spielen bei der Stratifikation Fragen der Synchronisation eine grofie RoUe. Neben der Staffelung ist die Stratifikation
3.1. HIERARCHISCHE
55
STEUERUNGSANSATZE
Voraussetzung fiir eine funktional und raumlich verteilte Steuerung im Sinne einer zeitlich parallelen Steuerung von unterschiedlichen Elementen des Basisprozesses. Ein Beispiel fiir eine Zerlegung von Steuerungsaufgaben durch Stratifikation ist durch Abbildung 3.4 gegeben. Darstellungsniveau 1
Steuerung 11
Darstellungsniveau 3
f-^V- ^ f: :--'-"i'
r Abbildung 3.4: Steuerungsaufgabendekomposition durch Stratifikation
Der Sicht der Schichtung wird zur Abbildung unterschiedlicher Entscheidungskomplexitat verwendet. Eine einzelne Schicht wird dabei durch das Niveau der durch die Schicht betrachteten Entscheidungskomplexitat charakterisiert. Das Grundprinzip der Schichtung besteht darin, dass das zu losende Entscheidungsproblem D in eine Folge Di,...,Dk
von Unterentscheidungsproble-
men zerlegt wird, die in einer sequentiellen Art und Weise gelost werden. Dabei gilt, dass die Losung des Enscheidungsproblems Di dazu fiihrt, dass Eingangsgrofien bzw. Parameter des untergeordneten Entscheidungsproblems Di_i bestimmt werden. Das urspriingliche Entscheidungsproblem D ist gelost, wenn alle Unterentscheidungsprobleme Di gelost sind. Das Konzept der Schichtung wird somit zur vertikalen Strukturierung von Entscheidungsproblemen benutzt. Beispielsweise ist es moghch, die Produktionssteuerung in die Schichten Grobplanung, Feinplanung und operative Steuerung der Produktion einzuteilen. In dieser Arbeit wird allgemein von Hierarchieebene gesprochen, wenn keine der drei moglichen Sichten besonders ausdriicklich eingenommen werden soil.
3.1.5
Informationsstatus der Hierarchieebenen
Der Informationsstatus der Elemente einer Ebene, d.h. der Elemente einer Staffel, in verteilten hierarchischen Systemen kann in die folgenden Kategorien unterteilt werden [224]: 1. Informationen iiber die eigene interne und externe Situation,
56
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
2. Informationen iiber die interne und externe Situation anderer Systemeinheiten des verteilten hierarchischen Systems, 3. Informationen iiber den Informationsstatus anderer Systemeinheiten des hierarchischen Systems. Unter der internen Situation werden diejenigen Informationen verstanden, iiber die die betrachtete Entscheidungseinheit einer Hierarchieebene verfiigt. Zur Beschreibung der externen Situation dienen Informationen, die aus der Umgebung des hierarchischen Systems der Entscheidungseinheit zur Verfiigung stehen. Insbesondere werden hier auch Informationen iiber den Status des Basisprozesses beriicksichtigt. Informationen iiber die interne und externe Situation anderer Systemeinheiten werden in Form von antizipierten Modellen anderer Hierarchieebenen beriicksichtigt. Informationen iiber den Informationsstatus anderer Systemelemente des hierarchischen Systems hegen in Form von Wissen uber die vorhandenen Informationen der Entscheidungseinheiten einer anderen Hierarchieebene vor. Zur Strukturierung der Informationen, die die interne bzw. externe Situation beschreiben, werden Informationen beziigUch des Basissystems und des Basisprozesses unterschieden. Es wird von Informationssymmetrie zwischen zwei Ebenen gesprochen, wenn beide Ebenen iiber identische Informationen verfiigen. Man spricht von asymmetrischen Informationen, falls beide Ebenen des hierarchischen Systems iiber unterschiedhche Informationen verfiigen. Der Fall asymmetrischer Informationen liegt insbesondere vor, wenn die betrachteten Ebenen zu unterschiedlichen Zeitpunkten ^o und ti Entscheidungen treffen. Falls ein gestaflFeltes hierarchisches System vorHegt, muss neben dem Informationszustand der Staffel der Informationszustand der Entscheidungseinheiten, welche die Staffel bilden, beschrieben werden.
3.2
Modellannahmen
Den nachfolgenden Ausfiihrungen liegen die folgenden Modellannahmen zugrunde: 1. Die zu bearbeitenden Lose gehoren zu unterschiedlichen Produkten. 2. Jedes Los besitzt einen geplanten Aussteuertermin. Dieser ergibt sich aus dem vom Kunden gewiinschten Endtermin, wenn das Los einem Kundenauftrag zugeordnet ist. Im Fall einer anonymen Fertigung wird der geplante Aussteuertermin unter Beriicksichtigung kapazitiver Gegebenheiten und dem Erreichen des Ziels einer ausbalancierten Linie mit einem geplanten Aussteuertermin versehen. Weiterhin wird die okonomisch motivierte Verhinderung der Uberschreitung eines bestimmten maximalen Bestandes an Halbfabrikaten (Losen) innerhalb des Produktionssystems bei der Bestimmung des geplanten Aussteuertermins beriicksichtigt. 3. Jedes Los besitzt einen Einsteuertermin. Dieser wird unter Beriicksichtigung des geplanten Aussteuertermins, der aktuellen und zukiinftigen Auslastung des Produktionssystems sowie
3.2. MODELLANNAHMEN
57
unter Bestandsannahmen festgelegt. Fiir eine Darstellung moglicher Methoden wird auf die Arbeit von Fowler, Hogg und Mason [63] bzw. auf die AusfQhrungen in Abschnitt 2.5.1.2 verwiesen. 4. Jedes Los besitzt ein Attribut zur Beschreibung seiner Wichtigkeit (auch als Gewicht oder statische Prioritat bezeichnet). Das Gewicht wird fiir Lose, die zur Realisierung von Kundenauftragen dienen, entsprechend einer Klassifizierung der Kunden festgelegt. Fiir Lose, die nicht zur Realisierung von Kundenauftragen verwendet werden, wird das Gewicht w = 1 gewahlt. 5. Transportzeiten fiir die Lose sind in den Bearbeitungszeiten fiir die Prozess-Schritte enthalten. Es wird kein separates Transportsystem in das Modell aufgenommen. 6. Es werden deterministische Bearbeitungszeiten vorausgesetzt. 7. Das untersuchte Produktionssystem wird als einstufig angenommen, d.h., es liegt genau eine Fertigungsstufe vor. Diese Annahme bewirkt, dass Produkte eindeutig durch den Arbeitsplan beschrieben werden und das Stiicklisten nicht notwendig sind. 8. Es wird angenommen, dass Lose unteilbare Einheiten darstellen. Ein Aufteilen der Bestandteile eines Lose auf mehrere Lose ist somit nicht zulassig. 9. Es wird angenommen, dass Lose nicht angehalten werden konnen. 10. Im betrachteten Produktionssystem existieren Batchmaschinen. Die Menge derjenigen Lose, deren Bearbeitung auf eine Maschine denselben Riistzustand und gegebenenfalls eine gleichartige sekundare Ressource erfordert, wird als Losfamilie bezeichnet. Falls mehr als eine Losfamilie vorliegt, wird von inkompatiblen Familien gesprochen. Die Lose einer Losfamilie konnen auf Grund des gleichen Riistzustandes gegebenenfalls gruppiert werden. Ein Batch stellt die Gruppierung von Losen einer Losfamilie dar [259]. Die maximal mogliche Anzahl von Losen in einem Batch wird als maximale Batchgrofie bezeichnet. Entsprechend der von Potts und Kovalyov [204] vorgeschlagenen Klassifizierung wird zwischen simultaner und sequentieller Abarbeitung der Lose eines Batches unterschieden. Die simultane Abarbeitung erfolgt auf Batchmaschinen, die mehrere Lose gleichzeitig bearbeiten konnen. Im Fall der sequentiellen Abarbeitung lassen sich nach Potts und Kovalyov [204] zwei Varianten unterscheiden. Bei Batch-Verfiigbarkeit ist die Weiterbearbeitung der den Batch bildenden Lose erst dann moglich, wenn die Bearbeitung aller Lose abgeschlossen ist. Bei Los-Verfiigbarkeit konnen die einzelnen den Batch bildenden Lose unmittelbar nach ihrer Fertigstellung ihre Weiterbearbeitung auf nachfolgenden Maschinen fortsetzen. Wenn in dieser Arbeit lediglich von Batching gesprochen wird, wird Batching mit simultaner Abarbeitung gemeint. Batching mit sequentieller Abarbeitung wird explizit als solches gekennzeichnet.
58
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
11. Die Maschinen verlangen fiir die Ausfuhrung von Prozess-Schritten eines Loses einen bestimmten Riistzustand. Die fur einen Rustvorgang notwendige Riistzeit hangt vom ausgefuhrten Vorganger-Prozess-Schritt auf der Maschine ab. Die Riistzeiten sind somit reihenfolgeabhangig. 12. Das betrachtete komplexe Produktionssystem besteht aus Produktionsbereichen. Ein einzelner Produktionsbereich umfasst Gruppen funktionsgleicher, d.h. paralleler Maschinen. Diese konnen sich in den Fertigungs- oder Maschinengeschwindigkeiten und in den Fahigkeiten zur Bearbeitung bestimmter Produkte unterscheiden [51]. Falls die Fertigungsgeschwindigkeiten fiir alle Maschinen identisch sind, spricht man von identischen parallelen Maschinen. Falls sich lediglich Fertigungs- oder Maschinengeschwindigkeiten unterscheiden, verwendet man den Begriff uniformer paralleler Maschinen. Heterogene parallele Maschinen liegen vor, wenn die Maschinen unabhangig voneinander sind. Die Fertigungsgeschwindigkeiten sind in diesem Fall sowohl maschinen- als auch losabhangig. 13. Es wird vorausgesetzt, dass im betrachteten Produktionssystem ein Produktionsbereich vorliegt, der einen geplanten Engpass darstellt. Diese Annahme ist sinnvoU, da in Praxissituationen haufig Maschinen existieren, die im Vergleich zu den anderen Maschinen des Produktionssystems extrem teuer sind. Aus diesem Grund wird die Kapazitat dieser Maschinen knapp kalkuliert.
3.3
Ubersicht iiber den Steuerungsansatz
Die Steuerung komplexer Produktionsprozesse kann durch Losen einer Folge von Entscheidungsproblemen im zeithchen Ablauf beschrieben werden. In Produktionssystemen findet die Losung von Entscheidungsproblemen raumlich und zeitlich verteilt statt. Die verteilten Entscheidungen haben unterschiedlichen Stellenwert im System der Produktionssteuerung, aus diesem Grund erscheint eine hierarchische, asymmetrische Strukturierung der zu losenden Entscheidungsprobleme als angemessen. Die Steuerung von Produktionssystemen kann folglich als Design und Koordinierung von miteinander verbundenen Entscheidungen aufgefasst werden [224]. Aus diesem Grund wird ein verteilter hierarchischer Steuerungsansatz fiir komplexe Produktionssysteme entwickelt, der die in den Modellannahmen in Abschnitt 3.2 postuherte Dekomposition des Produktionssystems in Produktionsbereiche ausnutzt. Der Steuerungsansatz umfasst die S t euerungsebenen: • Produktionssystemsteuerungsebene, • Produktionsbereichssteuerungsebene, • Maschinengruppensteuerungsebene.
3.3. UBERSICHT UBER DEN
59
STEUERUNGSANSATZ
In der Hierarchie iibergeordnete Ebenen dienen zur Beeinflussung von umfangreicheren Teilen des Gesamtprozesses. Ubergeordnete Ebenen haben langere Entscheidungsperioden und beschaftigen sich mit „langsameren" Aspekten des zu steuernden Prozesses. Die Entscheidungsprobleme ubergeordneter Ebenen sind weniger strukturiert, enthalten in starkerem Mafie Unsicherheiten und sind schwieriger quantitativ zu formalisieren. Die drei vorgeschlagenen Steuerungsebenen unterscheiden sich im Detaillierungsgrad der Optimierungsmodelle, die der Steuerung zugrunde liegen, und in der Lange der Terminierungs- und Schedulinghorizonte. Im Sinne der Nomenklatur von Schneeweifi [223, 224] liegt eine Entscheidungszeitpunkthierarchie vor. Da die Produktionsbereichssteuerungsebene aus mehreren entscheidungsfahigen Einheiten besteht, ist es notwendig, die Entscheidungen dieser Ebene durch die Produktionssystemsteuerungsebene zu koordinieren. Somit besitzt das hierarchische System gleichzeitig den Charakter einer Fiihrungshierarchie. Auf Grund der unterschiedlichen Entscheidungseinheiten auf den Steuerungsebenen liegt eine aus drei Ebenen bestehende Staffelung vor. Gleichzeitig kann den drei gewahlten Steuerungsebenen unterschiedliche Steuerungsfunktionalitat im Sinne einer Stratifikation zugewiesen werden. In Tabelle 3.1 ist die durch die einzelnen Steuerungsebenen zu realisierende Punktionalitat zusammengefasst. In den folgenden Abschnitten wird zur Bezeichnung der Produktionssystemsteuerungsebene ein hochgestelltes „T", fiir die Produktionsbereichssteuerungsebene ein hochgestelltes „M" und fiir die Maschinengruppensteuerungsebene ein hochgestelltes „B" verwendet.
Tabelle 3.1: Funktionalitat der einzelnen Steuerungsebenen Steuerungsebene
Funktionalitat
Anzahl Entscheidungseinheiten
Produktionssystem-
1
Grobterminierung der Lose
1...*
prozess-schritt-genaue Feinplanung der Lose, die
steuerungsebene Produktionsbereichssteuerungsebene
sich innerhalb des Schedulinghorizontes im Produktionsbereich aufhalten
Maschinengruppensteuerungsebene
1...*
Maschinenbelegung fiir die Maschinen der Maschinengruppe
60
KAPITEL 3. VERTEILTE HIERARCHISCHE
3.4
PRODUKTIONSSTEUERUNG
Produktionssystemsteuerungsebene: Entscheidungsmodell
Die Aufgabe der Produktionssptemsteuemngsebene besteht darin, Starttermine fur die Bearbeitung der Lose in einzelnen Produktionsbereichen des Produktionssystems festzulegen. Dazu wird eine roUierende und ereignisgetriebene Terminierung durchgefiihrt. Das Steuerungsziel der P r o duktionssystemsteuerungsebene besteht in der ErfuUung von Produktionsvorgaben (Mengen- und Terminvorgaben), die in der operativen bzw. mittelfristigen Planung festgelegt werden. Das Entscheidungsmodell fiir die Produktionssystemsteuerungsebene wird durch Angabe des Entscheidungskriteriums, der Entscheidungsvariablen, des Alternativenraums sowie des Optimierungsmodells voUstandig beschrieben. Auf Ebene des Produktionssystems wird eine Aggregation von im Arbeitsplan unmittelbar aufeinanderfolgenden Prozess-Schritten zu Operationen durchgefiihrt. Die Zusammenfassung von Prozess-Schritten zu Operationen wird dabei so vorgenommen, dass alle Prozess-Schritte einer Operation auf den Maschinen eines einzelnen Produktionsbereiches ausgefiihrt werden konnen. Im Folgenden wird Operation j von Los i mit ij bezeichnet. Die Operation ij wird durch die Prozess-Schritte j i , . . . ,jk gebildet, es gilt: k
1=1
Die verwendete Aggregation spiegelt die physische Dekomposition des Produktionssystems in einzelne Produktionsbereiche wider.
3.4.1
Entscheidungsvariable
In dieser Arbeit wird der realisierte Fertigstellungstermin fiir Operation j von Los i mit Cij bezeichnet. Indirekte Entscheidungsvariable sind durch die Menge {cij} gegeben. Direkte Entscheidungsvariable werden aus indirekten abgeleitet und dienen zur Berechnung des Zielfunktionswertes. Im Fall der Produktionssystemsteuerungsebene wird die Menge der Entscheidungsvariablen durch die Menge der realisierten Fertigstellungstermine { Q } gebildet. Geplante Fertigstellungstermine fiir die Lose in Produktionsbereichen und die realisierten Fertigstellungstermine stehen in folgender Beziehung zueinander: Cij+i
:=
Ci :=
Cij-hpij-hwtij, c,„,
(3.9) (3.10)
Mit Pij wird dabei die Bearbeitungszeit der Operation j fiir Los i bezeichnet. Die Grofie Pij erhalt man, indem die Bearbeitungszeiten der Prozess-Schritte, welche die Operation bilden, addiert werden. Ife gilt somit: k
Pij '= T,Pjr 1=1
3.4. PRODUKTIONSSYSTEMSTEUERUNGSEBENE:
ENTSCHEIDUNGSMODELL
61
Die Wartezeit, die vor der Bearbeitung der Prozess-Schritte von Operation ij auftritt, wird mit wUj bezeichnet. Diejenige Operation von Los i, die entsprechend dem Arbeitsplan vor der Fertigstellung von Los i abschliefiend auszufuhren ist, wird mit n^ bezeichnet. Der aggregierte Arbeitsplan umfasst rii Operationen.
3.4.2
Entscheidungskriterium
Ein terminorientiertes Entscheidungskriterium wird betrachtet. Die obere Steuerungsebene minimiert die gewichtete Verspatung der Lose. Es wird das folgende private Kriterium C " ' verwendet: C^:=±wj{cj-djr
(3.11)
mit n: Anzahl der Lose, die im Terminierungszeitraum T fertig gestellt werden, wf Gewicht von Los j , df geplanter Fertigstellungstermin fiir Los j . Zur Abkiirzung wird x"*" := max(a:, 0) in dieser Arbeit verwendet. Die Produktionssystemsteuerungsebene iibergibt die folgende Anweisung an die Produktionsbereichssteuerungsebene: IN^ := IN^{{c,j}),
(3.12)
d.h., die geplanten Fertigstellungstermine fiir die Operationen der Lose werden der Produktionsbereichssteuerungsebene mitgeteilt. Die Produktionssystemsteuerungsebene antizipiert das erwartete Verhalten der untergeordneten Ebene durch das Kriterium C ^ ^ . Es wird die gewichtete Verspatung der Lose im geplanten Engpassproduktionsbereich innerhalb eines Horizontes der Lange T bezogen auf die Fertigstellungsterminvorgaben der Produktionsbereichsebene in die Entscheidungsfindung der iibergeordneten Ebene einbezogen. Es gilt: C™:=
2
Wi{c,j-Ciif
(3.13)
to
mit Cif realisierter Fertigstellungszeitpunkt der Operation j von Los i im geplanten Engpassproduktionsbereich. Das Kriterium (3.13) beriicksichtigt das antizipierte Verhalten der Produktionsbereichssteuerungsebene, reprasentiert durch den geplanten Engpassproduktionsbereich. Die Antizipationsfunktion wird dabei durch {Ci,.} := AF^ = AF^{{ci})
(3.14)
62
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
beschrieben. Das Gesamtentscheidungskritierium fiir die Produktionssystemsteuerungsebene wird wie folgt angegeben: C^aaj})
:= C7"-({ci,}) + 7 C ™ {AF^ilN^aaj})))
(3.15)
mit einem Gewichtungsparameter 7 > 0. Falls 7 = 0 gewahlt wird, liegt eine nicht-reaktive Antizipation vor, da die Antizipationsfunktion in diesem Fall nicht im Entscheidungskriterium der Produktionssystemsteuerungsebene beriicksichtigt wird. Im umgekehrten Fall liegt eine implizite reaktive Antizipation vor, da das Verhalten des geplanten Engpassproduktionsbereiches in die Entscheidungsfindung der Produktionssystemsteuerungsebene einbezogen wird.
3.4.3
Alternativenraum fur die Entscheidungen
Der Alternativenraum fiir die indirekten Entscheidungsvariablen Cij wird durch Vorrangbeziehungen fiir die Operationen entsprechend den Arbeitsplanen und durch Kapazitatsrestriktionen gebildet. Alternativenraum A"^: Vorrangbeziehungen fur die noch auszufiihrenden Operationen eines Loses: n
< Qi,
Vz,
Qi-l+Pij
< Cij^
Vz,j,
(3.16) 2<j
(3.17)
wobei mit r^ der Einlastungszeitpunkt von Los i in das Produktionssystem bezeichnet wird. Bedingung (3.16) stellt sicher, dass der Einsteuerungszeitpunkt der Lose beriicksichtigt wird. Bedingung (3.17) dient der Formulierung von Vorrangbeziehungen zwischen Operationen eines Loses entsprechend dem Arbeitsplan fur das Los. KapazitStsbedingungen: Zur Formuherung von Kapazitatsbedingungen wird der Terminierungshorizont T in aquidistante Zeitintervalle eingeteilt. Es gilt somit: f:={to,...,to-\-T}. Fiir die indirekten Entscheidungsvariablen QJ gilt: Cije{tQ,...,to-\-T}. Die Kapazitatsbedingungen werden wie folgt formuliert: J2^imt
wobei die folgenden Bezeichnungen gewahlt werden:
Vm, t e t
(3.18)
3.4. PRODUKTIONSSYSTEMSTEUERUNGSEBENE:
ENTSCHEIDUNGSMODELL
63
Simt'- Indikatorvariable, die angibt, ob Los i im Intervall t auf einer Maschine der Maschinengruppe m bearbeitet wird, Cmt'- Kapazitat von Maschinengruppe m im Zeitintervall t. Die Indikatorvariable Simt wird wie folgt definiert: ^imt •
-{'.
falls Los i in t auf einer Maschine der Maschinengruppe m bearbeitet wird, sonst.
Offensichtlich gilt: k
Bei der Festlegung der Kapazitaten Cmt der Maschinengruppen wird das stochastische Ausfallverhalten der Maschinen der Maschinengruppe sowie die Charakteristik der Maschinen (Batchoder Einzellosmaschine) berucksichtigt. Technische Bedingungen: Cij e IN.
(3.19)
Bedingung (3.19) stellt sicher, dass die Entscheidungsvariablen der Diskretisierung des Terminierungshorizontes T folgen.
3.4.4
Optimierungsmodell
3.4.4.1
Nicht-reaktive Antizipation
Fiir den Spezialfall einer nicht-reaktiven Antizipation (7 = 0 in der Zielfunktion C^) kann das zu losende Entscheidungsproblem als ganzzahliges Optimierungsproblem mit binaren Variablen [125] formuliert werden. Das Modell kann wie folgt angegeben werden. Zunachst werden die binaren Variablen Xijt, Uijt und Ut fiir jedes Los i eingefiihrt, die die Indikatorvariablen Simt entbehrlich machen. Es gilt: falls Operation j von Los i zum Zeitpunkt t beginnen kann, sonst, falls Operation j von Los i zum Zeitpunkt t bearbeitet wird, sonst
ht "
^ ^, falls Los i zum Zeitpunkt t in das Produktionssystem eingesteuert wird, sonst.
Es wird bemerkt, dass
to+T t=to
64
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
gliltig ist. Das zu losende Optimierungsproblem lautet: ( D P I ) Minimiere to+T
n
t=to i = l
unter den Nebenbedingungen ^iiit+i) = Xiit - Uiit + lit,
Vi, t e T,
Xij{t+i) = Xijt - Uijt + Ui(j_i)(t_p.(^._^j), Xi^m+m+i) = ^i(ni+i)t + Uini{t-pini)i
(3.21)
Vi, 2 < j < rii, i e T,
(3.22)
yi,t €T
(3.23)
Vm.ter
(3.24)
und E
<
E
««r
ijemT=t-pij+l
XijuUijukt e {0,1}.
(3-25)
Mit Cmt wird die Kapazitat von Maschinengruppe m zum Zeitpunkt t bezeichnet. Die binaren Variablen Xijt, Uiju kt sind durch die Flussgleichungen (3.21), (3.22), (3.23) miteinander verknupft. Gleichung (3.21) beschreibt den Einsteuerungsprozess in das Produktionssystem. Der Durchlauf der Lose durch das Produktionssystem wird durch Gleichung (3.22) abgebildet. Gleichung (3.23) dient zur Modelherung der Fertigstellung der Lose. Es gilt Xi(„.+i)f = 1, falls das Los zum Zeitpunkt t fertig gestellt wird. Durch die Ungleichungen (3.24) sind Kapazitatsnebenbedingungen gegeben. Die Bedingung (3.25) sichert, dass die Entscheidungsvariablen nur binare Werte annehmen. Es wird bemerkt, dass auf Grund von Beziehung (3.20) jede Losung des Problems (DPI) Werte fiir die Entscheidungsvariablen eindeutig festlegt. Die Menge der Termine, die den Operationen der Lose zugeordneten sind, wird als Losplan bezeichnet.
3.4.4.2
Implizite reaktive Antizipation
In diesem Fall ist es nicht unmittelbar moglich, das zu losende Entscheidungsproblem als ganzzahUges Optimierungsproblem zu formulieren. Es bietet sich an, einen verhandlungsorientierten Algorithmus zu verwenden [223]. Im Falle der Produktionssystemsteuerungsebene bedeutet das, dass wie folgt vorgegangen wird: • Es wird unter Verwendung des Entscheidungskriteriums C^^ eine Vorgabe IN'^
:=
/7V^({cij}) berechnet. • Die Vorgabe IN'^ wird vom antizipierten Engpassproduktionsbereich der Produktionsbereichssteuerungsebene zur Berechnung der Antizipationsfunktion AF'^ verwendet, die an die Produktionssystemsteuerungsebene iibergeben wird und dort in einer iterativen Art und Weise zur Berechnung modifizierter Vorgaben IN^ verwendet wird.
3.4. PRODUKTIONSSYSTEMSTEUERUNGSEBENE: ENTSCHEIDUNGSMODELL • Der Algorithmus wird in Abhangigkeit von den erreichten Zielfunktionswerten C ^ ^ + 7
65 C^^
beendet. Beispielsweise kann die Iteration abgebrochen werden, sobald eine Vergrofierung des Zielfunktionswertes auftritt. Alternativ kann die Iteration abgeschlossen werden, wenn C^^ einen bestimmten Wert erstmalig unterschreitet.
3.4.4.3
Ldsungsverfahren
Obwohl es moglich ist, das Entscheidungsproblem der Produktionssystemsteuerungsebene als ganzzahliges Optimierungsproblem zu formulieren, soUte dieses Modell auf Grund des hohen Rechenaufwandes nicht zur numerischen L5sung herangezogen werden. In Abschnitt 4.1 werden zwei heuristische Losungsverfahren entwickelt, die zur Losung des Entscheidungsproblems der Produktionssystemsteuerungsebene verwendet werden. Die erste Heuristik verwendet ConstraintSatisfaction-Techniken, wahrend die zweite Heuristik einen Prioritatsregelansatz mit iterativer Simulation kombiniert.
3.4.5
Informationsstatus
Wie in Abschnitt 3.1.5 beschrieben, sind zur Beschreibung des Informationsstatus einer Steuerungsebene eines hierarchischen Systems eine Betrachtung der eigenen internen und externen Situation sowie der internen und externen Situation von Entscheidungseinheiten anderer Hierarchieebenen und Kenntnisse iiber den Informationsstatus anderer Entscheidungseinheiten notwendig. Fiir die Produktionssystemsteuerungsebene liegt genau eine Entscheidungseinheit vor. Die eigene interne Situation dieser Entscheidungseinheit zum Terminierungszeitpunkt to wird durch die nachfolgenden Informationen beschrieben: • periodengenaue Kapazitaten der Maschinengruppen des Produktionssystems fiir den Zeitraum [to,to + T], • Informationen iiber die Dekomposition des Produktionssystems in Produktionsbereiche, • aggregierte Arbeitsplane fiir alle Produkte, fiir die Lose zum Zeitpunkt to in das Produktionssystem eingesteuert sind, • Informationen iiber den Status des Losplans. Der Status des Losplans wird durch die Anzahl der Lose bestimmt, fiir die die tatsachUch vorgenommene Bearbeitung von der Terminierung abweicht. Diese Informationen werden dazu verwendet, zu entscheiden, ob eine neue Losterminierung vorgenommen werden muss. Die eigene externe Situation der Entscheidungseinheit der Produktionssystemsteuerungsebene ist durch die nachfolgenden Informationen gegeben:
66
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
• aggregierte Arbeitsplane fiir alle Produkte, fiir die Lose in das Produktionssystem im Zeitraum (^O) ^o + ^1 eingesteuert werden, • Informationen iiber Lose, die im Zeitraum (to, to-\-T] in das Produktionssystem eingesteuert werden, • Anarbeitungsgrad der im Produktionssystem befindlichen Lose zum Zeitpunkt to, • Informationen iiber Beginn und voraussichtliche Dauer eines Maschinenausfalls im Produktionssystem. Die Dauer wird dabei durch eine Verteilungsfunktion reprasentiert, die aus historischen Daten ermittelt wird. Neben der eigenen internen und externen Situation ist eine Beschreibung der fremden internen und externen Situation bedeutsam. Im Falle der Produktionssystemsteuerungsebene bedeutet das, dass bei Verwendung von impliziter reaktiver Antizipation Informationen iiber den geplanten Engpassproduktionsbereich vorhanden sein miissen. Die interne und externe Situation des Engpassproduktionsbereiches sind durch die folgenden Informationen gegeben: • Informationen iiber die Maschinen des geplanten Engpassproduktionsbereiches, • Informationen iiber den Status der Maschinen des geplanten Engpassproduktionsbereiches zum Zeitpunkt to, • Informationen iiber den Status der Lose im geplanten Engpassproduktionsbereich zum Zeitpunkt to. Auf Grund des antizipierten Modells des geplanten Engpassproduktionsbereichs sind keine Informationen iiber den Informationszustand dieses Produktionsbereichs notwendig.
3.5
Produktionsbereichssteuerungsebene: Entscheidungsmodell
Die Aufgabe der Produktionsbereichssteuerungsebene besteht darin, unter Verwendung der Terminvorgaben der Produktionssystemsteuerungsebene detaillierte Ablaufplane fiir die Bearbeitung der Lose auf den Maschinen der einzelnen Produktionsbereiche festzulegen. Dazu wird eine rollierende und ereignisgetriebene Maschinenbelegungsplanung durchgefiihrt. Das Steuerungsziel fiir die Produktionsbereichssteuerungsebene besteht in einer Minimierung der gewichteten Verspatung der Lose, bezogen auf die Vorgaben fiir geplante Endtermine in den einzelnen Produktionsbereichen innerhalb des Schedulinghorizontes. Im Gegensatz zur Produktionssystemsteuerungsebene besteht die Produktionsbereichssteuerungsebene aus mehreren Entscheidungseinheiten, die zu den Produktionsbereichen des Produktionssystems korrespondieren.
3.5. PRODUKTIONSBEREICHSSTEUERUNGSEBENE: ENTSCHEIDUNGSMODELL
3.5.1
67
Entscheidungsvariable
Das Steuerungsziel der Produktionsbereichssteuerungsebene besteht darin, die gewichtete Verspatung der Lose in den einzelnen Produktionsbereichen beziiglich der geplanten Fertigstellungstermine zu minimieren. Die Entscheidungsvariablen fiir den fest gewahlten Produktionsbereich k der Produktionsbereichssteuerungsebene sind infolgedessen durch die Starttermine {s^J fiir Prozess-Schritt i von Los j sowie die Maschine rriji, auf der der jeweilige Prozess-Schritt ausgefiihrt werden soil, gegeben. Aus den Startterminen lassen sich durch Addition der (deterministischen) Bearbeitungszeiten Fertigstellungstermine bestimmen, die zur Berechnung des terminorientierten Entscheidungskriteriums verwendet werden. Die aus Startterminen und dazugehorigen Maschinen bestehende Menge von Paaren wird als Ablaufplan bezeichnet. Der Ablaufplan fiir den Produktionsbereich k wird mit {(^Sji, rriji^} bezeichnet. Durch die Starttermine und die Maschinen sind implizit Batchbildungsentscheidungen abgebildet. Alternativ kann ein Ablaufplan fiir eine Einzelmaschine durch Batches in einer vorgegebenen Reihenfolge festgelegt werden.
3.5.2
Entscheidungskriterium
Genau wie fiir die Produktionssystemsteuerungsebene wird ein terminorientiertes Entscheidungskriterium betrachtet. Die mittlere Steuerungsebene minimiert die gewichtete Verspatung der Lose beziiglich des fest gewahlten Produktionsbereichs. Das Entscheidungskriterium fiir den betrachteten Produktionsbereich lautet:
C^'^:=^^^.(cJ-4)+,
(3.26)
mit n: Anzahl der Lose, die innerhalb des Schedulinghorizontes der Lange r fertiggestellt werden, cfji realisierter Fertigstellungszeitpunkt von Los j in Produktionsbereich k, d^: geplanter Fertigstellungszeitpunkt von Los j in Produktionsbereich k. Die geplanten Fertigstellungstermine fiir die Lose im Produktionsbereich k werden mit Hilfe der Vorgaben Cij der Produktionssystemsteuerungsebene festgelegt. Experimente zur Wahl der Lange des Schedulinghorizontes r sind in Abschnitt 4.2 beschrieben. Die Produktionsbereichssteuerungsebene iibergibt die folgende Anweisung an die Maschinengruppensteuerungsebene: IN":=IN''{{{s'j,,mj.)}),
(3.27)
d.h., es werden die geplanten Starttermine fiir die Prozess-Schritte der Lose der Maschinengruppensteuerungsebene mitgeteilt.
68
KAPITEL 3. VERTEILTE HIERARCHISCHE PRODUKTIONSSTEUERUNG
Die Produktionsbereichssteuerungsebene antizipiert nicht das erwartete Verhalten der untergeordneten Ebene. Es liegt somit nicht-reaktive Antizipation vor. Damit gilt: QM,k ^ QMM,k
(3 28)
(7^^'*= = 0.
(3.29)
und
Es existiert keine Antizipationsfunktion fiir die Produktionsbereichssteuerungsebene.
3.5.3
Alternativenraum fiir die Entscheidungen
Der Alternativenraum fiir die Entscheidungsvariablen d- wird durch Vorrangbeziehungen der Prozess-Schritte entsprechend den Arbeitsplanen, durch Maschinendedizierungen, Kapazitatsbedingungen und durch die Vorgabe von friihesten Startzeiten entsprechend den Vorgaben der Produktionssystemsteuerungsebene bestimmt. Alternativenraum A^'^: Vorrangbeziehungen fur die noch im fest gewahlten Produktionsbereich entsprechend den Arbeitsplanen auszufiihrenden Prozess-Schritte der Lose: r
k
4-1+Pu
^ < 4^k ,
Vi,
(3.30)
<
Vi,Vj, 2<j
(3.31)
4,
wobei mit pij die Bearbeitungszeit des Prozess-Schrittes j von Los i und mit nj' die Anzahl der Prozess-Schritte bezeichnet werden, die innerhalb des Schedulinghorizontes r im Produktionsbereich k bearbeitet werden soUen. Die Bezeichnung rf wird fiir die Ankunftszeit von Los i im Produktionsbereich k verwendet. Mit 4 wird die Fertigstellungszeit fiir Prozess-Schritt j von Los i im Produktionsbereich k bezeichnet. Maschinendedizierungen: Es sind nur bestimmte Maschinen einer Gruppe paralleler (identischer) Maschinen zur Ausfiihrung eines konkreten Prozess-Schrittes moglich. Kapazitatsbedingungen: Es kann zu jedem Zeitpunkt t € [ii,^i + r] hochstens ein Los (Batch) auf einer Maschine bearbeitet werden. Friiheste Starttermine fiir die Lose im Produktionsbereich k: Die friihesten Starttermine sind durch die Produktionssystemsteuerungsebene vorgegeben.
3.5. PRODUKTIONSBEREICHSSTEUERUNGSEBENE:
ENTSCHEIDUNGSMODELL
69
Es gilt die Beziehung: ri'=cli
Vz, r f < i i + r ,
(3.32)
wobei vorausgesetzt wird, dass Los i unmittelbar vor der Bearbeitung in Produktionsbereich k im Produktionsbereich / bearbeitet wird. Durch die Beziehung (3.32) wird der Alternativenraum ^M,fc (jurch Vorgaben der Produktionssystemsteuerungsebene eingeschrankt. Es wird bemerkt, dass die Vorgaben IN"^ der Produktionssystemsteuerungsebene, die den Alternativenraum iA^'* einschranken, durch Vorgaben /AT^'^ mit / ^ k ersetzt werden konnen. Auf diese Weise konnen in iterativer Art und Weise unter Beriicksichtigung der bereits ermittelten Ablaufplane fiir bestimmte Produktionsbereiche bessere Ablaufplane berechnet werden.
3.5.4
Optimierungsmodell zur Steuerung eines Produktionsbereichs
3.5.4.1
Modellierung
Im Folgenden wird ein fester Produktionsbereich betrachtet. Das zu losende Entscheidungsproblem wird als gemischt-ganzzahliges Optimierungsproblem formuliert. Dazu wird das Problem unter Verwendung des Konzeptes disjunktiver Graphen modelliert. Fiir andere mogliche Modellformulierungen wird auf [199] verwiesen. Die Verwendung von disjunktiven Graphen ist vorteilhaft, da in Abschnitt 4.2 eine auf dieser Formulierung basierende Heuristik entwickelt wird. Das an dieser Stelle entwickelte Modell basiert auf der Arbeit [133] von Mason und wird hier an die Situation mehrerer Produktionsbereiche angepasst. Mit N wird im Folgenden die Menge der Prozess-Schritte der Lose bezeichnet, die auf Maschinen des fest gewahlten Produktionsbereichs auszufiihren sind. Die Menge A'^ bildet die Knoten eines Graphen, der zur Modellierung des Schedulingproblems herangezogen wird. Mit A wird die Menge der Kanten bezeichnet, welche die zu aufeinanderfolgenden Prozess-Schritten eines fest gewahlten Loses gehorigen Knoten verbinden. Die Elemente der Menge A werden als konjunktive Kanten bezeichnet. Neben den konjunktiven Kanten werden disjunktive Kanten betrachtet, die Verwendung finden, wenn Prozess-Schritte unterschiedlicher Lose auf einer Maschine bearbeitet werden soUen. Es wird der kiinstliche Startknoten U eingefiihrt, der die Knoten, die den ersten auszufiihrenden Prozess-Schritt der Lose reprasentieren, mit einer Kante verbindet. Weiterhin erhalt jedes Los j einen kiinstlichen Endknoten Vj, der zur Abbildung des geplanten Fertigstellungstermins des Loses dient. Da Produktionssysteme betrachtet werden soUen, die Batchmaschinen enthalten, sind neben N zusatzliche Knoten notwendig, die zur Modellierung der Bildung potentieller Batches dienen. Dazu werden Indikatorvariable eingefiihrt, die Reihenfolgeentscheidungen bzw. die Batchbildung geeignet beschreiben. Zur Modellierung von Reihenfolgeentscheidungen fiir Lose bzw. Batches auf einzelnen Maschinen wird die Indikatorvariable x verwendet. Es gilt:
-U
Xhi - \
falls Knoten h mit Knoten i durch genau eine Kante verbunden wird, ^
sonst.
70
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
Die Giiltigkeit von Xhi = 1 impliziert, dass aus einer disjunktiven Kante zwischen den Knoten h und i eine Schedulingkante wird. Die Knoten konnen sowohl einzelne Prozess-Schritte als auch die Ausfiihrung von Batches reprasentieren. Zur Beschreibung von Anfangsbedingungen werden die Indikatorvariablen cr, und 9h eingefiihrt. Fiir die Indikatorvariable a, gilt:
Hi
falls Los i als erstes auf einer fest gewahlten Maschine bearbeitet wird, sonst.
Die Grofie Oh ist wie folgt definiert: Oh-
{;:
falls Batch h als erster auf einer fest gewahlten Batchmaschine bearbeitet wird, sonst.
Die Indikatorvariable Ph beschreibt, ob ein (potentieller) Batch gebildet wird oder nicht. Es gilt:
-{'.
falls Batch h gebildet wird. sonst.
Es werden zunachst die folgenden Bezeichnungen eingefiihrt: Verspatung von Los j im Produktionsbereich A;, Pf
Bearbeitungszeit von Prozess-Schritt / auf einer fest gewahlten Maschine,
Sh
Bearbeitungszeit von Batch h auf einer fest gewahlten Maschine, Startzeit von Prozess-Schritt / auf einer fest gewahlten Maschine,
Th
Startzeit von Batch h auf einer fest gewahlten Batchmaschine, (reihenfolgeabhangige) Umriistzeit, die auftritt, wenn zunachst Prozess-Schritt g und anschliefiend Prozess-Schritt / auf einer fest gewahlten Maschine bearbeitet werden.
Die nachfolgenden Mengen und Abbildungen werden zusatzlich zur Beschreibung verwendet: G*
: Menge der aus parallelen (identischen) Maschinen bestehenden Maschinengruppen des Produktionsbereichs A;,
B
Menge aller potentiellen Batches,
mi
Anzahl der parallelen Maschinen fiir Maschinengruppe / € G^, Menge der Prozess-Schritte, die keine Batchmaschine erfordern,
o, o
Menge der Prozess-Schritte, die eine Batchmaschine erfordern, Abbildung, die jedem Prozess-Schritt, der keine Batchmaschine benotigt, die zur Ausfiihrung notwendige Maschinengruppe zuordnet, Abbildung, die jedem auszufiihrenden Prozess-Schritt auf einer Batchmaschine die Losfamihe (vergleiche Abschnitt 3.2) zuordnet, Abbildung, die jeder inkompatiblen Losfamihe die Maschinengruppe zuordnet, auf der Lose der Famihe bearbeitet werden konnen.
3.5. PRODUKTIONSBEREICHSSTEUERUNGSEBENE: ENTSCHEIDUNGSMODELL
71
Unter Benutzung dieser Bezeichnungen kann das Modell wie folgt formuliert werden: (DP2) Minimiere 3=1
-4)^
unter den Nebenbedingungen c^>0,
Vj € N,
(3.33)
Tf > 0,
Vj € N,
(3.34)
Vj e N,
(3.35)
Vf > 0,
V/ € 0 „
(3.36)
rh>0,
yheB,
(3.37)
^3
S -
"'3'
Vf > ^j^
v(f/,/) eAjeO,,
(3.38)
v(/,v^,) EAJeO,.
(3.39)
Die Bedingungen (3.33) und (3.34) sind trivial. Bedingung (3.35) folgt unmittelbar aus der Definition der Grofie T^. Die Nebenbedingungen (3.36) und (3.37) sind trivial. Die Bedingung (3.38) stellt sicher, dass die Lose erst dann bearbeitet werden, wenn sie im fest gewahlten Produktionsbereich k eingetroffen sind. Durch die Bedingung (3.39) wird die Tatsache abgebildet, dass die Umriistzeit bei der Ermittlung der Fertigstellungszeit des Loses im Produktionsbereich k beriicksichtigt werden muss. Die nachfolgenden Nebenbedingungen legen Bedingungen fiir die Ausfiihrung von ProzessSchritten auf Nicht-Batchmaschinen fest. 2/5 - 2// > PfXfg +
E
'^efXef " M(l - Xfg),
eeOs,e^f
"^/T^gJ^ge 0„ o{e) = o{f) = o{g) = leG',
(3.40)
Xfg + X9f
"^f^gJ^geOs^ o{f) = o{g) = leG\
(3.41)
Exfg
"^f^g.ge Os. o{f) = o{g) = leG\
(3.42)
E Xfg < 1,
^f^gjeOs,o{f)
= o{g) = leG\
(3.43)
^fj^g,geOs, o{f) = o{g) = leG\
(3.44)
geOs
1 - E x/. < cT,, E ^/ ^ ^^
Vo(/) = / G G^
(3.45)
Bedingung (3.40) stellt sicher, dass nicht zwei Lose gleichzeitig auf einer Maschine von Maschinengruppe I bearbeitet werden konnen. M ist eine grofie positive Zahl, die zur Modellierung des Falles verwendet wird, dass die durch / und g reprasentierten Prozess-Schritte nicht unmittelbar
72
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
aufeinanderfolgend auf einer Maschine von Maschinengruppe / bearbeitet werden. Die Nebenbedingung (3.41) sorgt daiiir, dass hochstens eine der disjunktiven Kanten, die die Prozess-Schritt / und Prozess-Schritt g darstellenden Knoten verbindet, ausgewahlt wird. Die Nebenbedingungen (3.42) und (3.43) stellen sicher, dass jeder Knoten im Graphen, der einen Prozess-Schritt auf einer Nicht-Batchmaschine reprasentiert, hochstens eine eingehende und eine ausgehende Kante enthalt. Die Ungleichung (3.44) dient der Identifizierung von Startknoten fiir die einzelnen Maschinen. Unter einem Startknoten wird an dieser Stelle ein Knoten verstanden, fiir den kein Knoten existiert, dessen dazugehoriger Prozess-Schritt vor dem Prozess-Schritt des Startknotens auf einer Maschine der Maschinengruppe ausgefiihrt wird. Die Ungleichung (3.45) modeUiert die Tatsache, dass hochstens mi Startknoten fiir Maschinengruppe / existieren. Abschhel3end werden Nebenbedingungen formuHert, die fiir die Bildung von Batches und die Bearbeitung von Batches auf Batchmaschinen gelten. rh-yf>PfXfh+
XI
tlJefXef-M{l-l3h),
\/heBJ eh,
(3.46)
V/ € Ob,
(3.47)
^heB,
(3.48)
\/heB,
(3.49)
eeOa,e¥^f
E Xfh = 1,
heB
Y^Xfh = Phcard{h), Yl
Xhg = (3hcard{h),
geOaUOb
y9-rh>ShXh9+
Y.
Xehi^eh-M{l-(3h),
\/heBJeh,if,g)€A,
(3.50)
eeB,e^h
Ti-Th>
Sh (Xhi - 1 + A ) +
Y
'^ehXeh " M (1 - Xhi) ,
eeB,e^h
^h,ieB,hni Xih + Xw < 1, E X/.i < 1,
^h,ieB,hni
= ili,oj{'y{h)) = uj{^ii)) ^leG^,
(3.51)
= 0,u;(7(/i)) = uj{j{i)) = leG\
(3.52)
Vz € B, /i n z = 0, a;(7(/i)) = uj{l{i)) = I € G\
(3.53)
heB
E Xhi < 1,
^heB,hni
= i/i, a;(7(/i)) = uMi))
= I e G\
(3.54)
ieB
1 - E X/.i < Oi,
Vi G B, /i n 2 = 0, u(^{h)) = u{j{i)) = leG\
(3.55)
heB
E ^h < rnu
Va;(7(/i)) = / € G'^
(3.56)
heB
Oh < Ph,
V/i G B.
(3.57)
Bedingung (3.46) stellt sicher, dass die Startzeit des Batches h, welcher Lose mit dem ProzessSchritt / enthalt, mindestens yf-^PfXfh-^YleeOs,e^f'^efXef
betragt. Bedingung (3.47) sorgt dafiir,
dass jeder Prozess-Schritt eines Loses in hochstens einem Batch enthalten ist, d.h. eine gleichzeitige Bearbeitung von zwei Batches auf einer Batchmachine vermieden wird. Bedingung (3.48) stellt sicher, dass genau card{h) Lose im Batch h enthalten sind. Durch Bedingung (3.49) wird
3.5. PRODUKTIONSBEREICHSSTEUERUNGSEBENE:
ENTSCHEIDUNGSMODELL
73
modelliert, dass der Batchknoten h fiir jedes Los, das Bestandteil des Batches ist, genau einen Nachfolgerknoten hat. Bedingung (3.50) stellt sicher, dass der Nachfolger / des Prozess-Schrittes g, der Bestandteil des Batches ist, friihestens nach ^htphg +
Y. '^ehXeh
eeB,e-^h
Zeiteinheiten beginnt. Die Nebenbedingungen (3.52), (3.53), (3.54), (3.55), (3.56) bilden das Analogon zu den Bedingungen (3.41), (3.42), (3.43), (3.44) und (3.45) fiir Nicht-Batchmaschinen. Bedingung (3.57) erzwingt die Bildung des Batches vor seiner Verwendung als Startknoten.
3.5.4.2
LOsungsverfahren
Obwohl es moglich ist, das Entscheidungsproblem der Produktionsbereichssteuerungsebene als ganzzahhges Optimierungsproblem zu formulieren, soUte dieser Ansatz aus Performancegriinden nicht angewendet werden. In Abschnitt 4.2 wird eine verteilte Shifting-Bottleneck-Heuristik zur Losung des Entscheidungsproblems fiir die Produktionsbereichssteuerungsebene vorgeschlagen. Die Shifting-Bottleneck-Heuristik liefert mit akzeptablem Zeitaufwand gute Losungen fiir die betrachteten Maschinenbelegungsprobleme.
3.5.5
Informationsstatus
Die Produktionsbereichssteuerungsebene besteht aus n Entscheidungseinheiten. Die eigene interne Entscheidungssituation eines fest gewahlten Produktionsbereiches k wird durch die folgenden Informationen beschrieben: • Informationen iiber die Dekomposition des Produktionsbereichs k in Maschinengruppen, • Arbeitsplane fiir diejenigen Lose, die zum Zeitpunkt ti im Produktionsbereich k bearbeitet werden, • Informationen iiber reihenfolgeabhangige Riistzeiten fiir die Maschinen des Produktionsbereichs, • Informationen iiber den Status des Ablaufplanes fiir den Produktionsbereich k. Die Statusinformationen werden dazu verwendet, zu entscheiden, ob ein neuer Ablaufplan fiir den Produktionsbereich k bestimmt werden muss. Die eigene externe Entscheidungssituation einer fest gewahlten Entscheidungseinheit der Produktionsbereichssteuerungsebene wird durch die nachfolgenden Informationen beschrieben: • Arbeitsplane fiir diejenigen Lose, die im Zeitraum {ti,ti -f r) den Produktionsbereich k erreichen und dort bearbeitet werden soUen,
74
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
• Anaxbeitungsgrad der sich zum Zeitpunkt ti im Produktionsbereich k befindlichen Lose, • Informationen iiber den Beginn und die voraussichtliche Dauer eines Maschinenausfalls im Produktionsbereich k. Da die Produktionsbereichssteuerungsebene gestafFelt ist, ist die Beschreibung der internen und externen Situation anderer Entscheidungseinheiten neben der Betrachtung der internen und externen Situation der Entscheidungseinheit fiir den Produktionsbereich k bedeutsam. Zur Beschreibung der internen und externen Situation der anderen Entscheidungseinheiten werden die folgenden Informationen benotigt: • Informationen iiber den Beginn und die voraussichtHche Dauer eines Maschinenausfalls im Produktionsbereich I ^^ k, • Ablaufplan fiir den Produktionsbereich I ^ k, • Informationen iiber den Status des Ablaufplanes fiir den Produktionsbereich I ^ k. Die Informationen iiber die interne und externe Situation anderer Entscheidungseinheiten ermoghchen eine produktionsbereichsiibergreifende Koordination. Informationen iiber den Informationszustand anderer Systemelemente des hierarchischen Systems spielen im hier betrachteten Fall keine RoUe, da von kooperativem Verhalten ausgegangen wird, d.h., es wird angenommen, dass alle Systemeinheiten vollstandige und wahre Informationen zur Verfiigung stellen.
3.6
Maschinengruppensteuerungsebene: Entscheidungsmodell
Die Aufgabe der Maschinengruppensteuerungsebene besteht darin, die von der Produktionsbereichssteuerungsebene ermittelten Ablaufplane im Produktionssystem zu implementieren. Auf Grund von Storungen im Produktionssystem konnen die Ablaufplane der Produktionsbereichssteuerungsebene ungiiltig sein, d.h., die laut Ablaufplan zu bearbeitenden Lose befinden sich nicht im Warteraum vor der zu belegenden Maschinengruppe. In dieser Situation werden durch die Maschinengruppensteuerungsebene autonom Maschinenbelegungsentscheidungen getroffen. Fiir die fest gewahlte Max^hinengruppe r aus Produktionsbereich k wird im Folgenden die Bezeichnung {k,r) gewahlt.
3.6.1
Entscheidungs veiriable
Die Entscheidungsvariablen der Maschinengruppensteuerungsebene sind durch die Starttermine der Prozess-Schritte der Lose auf den Maschinen der fest gewahlten Maschinengruppe r aus dem
3.6. MASCHINENGRUPPENSTEUERUNGSEBENE:
ENTSCHEIDUNGSMODELL
75
Produktionsbereich k gegeben. Es wird die folgende Bezeichnung eingefiihrt: Sji: realisierter Staxttermin fiir Prozess-Schritt i von Los j auf {k, r). In den verwendeten Entscheidungsvariablen ist implizit auch die Entscheidung enthalten, auf welcher Maschine der Maschinengruppe die Bearbeitung stattfindet und in welchem Batch das jeweilige Los enthalten ist.
3.6.2
Entscheidungskriterium
Die Maschinengruppensteuerungsebene versucht, dem durch die Produktionsbereichssteuerungsebene vorgegebenen Ablaufplan so weit wie mogUch zu folgen. Das verwendete Entscheidungskriterium fiir die Steuerung von Maschinengruppe r im Produktionsbereich k kann wie folgt angegeben werden:
,, E
^K4-4).
P.58)
wobei mit Wj das Gewicht von Los j und mit sj'^ der durch den Ablaufplan festgelegte Starttermin von Prozess-Schritt i bezeichnet werden.
3.6.3
Alternativenraum fiir die Entscheidungen
Der Alternativenraum umfasst die Belegungsmoglichkeiten einer Maschine, auf der die Bearbeitung eines Loses oder eines Batches zum Zeitpunkt ^2 mogUch ist. Alternativenraum ^4^-*='^: Maschinenbelegung einer Maschine der Maschinengruppe {k,r): Die Aufgabe der Maschinengruppensteuerungsebene besteht in der Belegung einer Maschine, die zur Bearbeitung bereit ist, mit einem Los oder einem Batch. Der Alternativenraum kann wie wie folgt beschrieben werden:
1. Menge der Lose, die im Warteraum der Maschinengruppe (k, r) zum Zeitpunkt ^2 auf Bearbeitung warten, 2. Riistzustand der zu belegenden Maschine zum Zeitpunkt t2, 3. zukunftige Losankiinfte an der Maschinengruppe (A;, r) innerhalb eines Zeitfensters (^2, ^2 + At), um Batchentscheidungen und Umriistentscheidungen treffen zu konnen.
76
KAPITEL 3. VERTEILTE HIERARCHISCHE
3.6.4
PRODUKTIONSSTEUERUNG
Optimierungsmodell
Im Gegensatz zur Produktionssystemsteuerungsebene und zur Produktionsbereichssteuerungsebene wird durch die Maschinengruppensteuerungsebene eine direkte Belegung von Maschinen vorgenommen. Es existiert somit kein echter Schedulinghorizont. Die direkte Verwendung eines Optimierungsverfahrens ist somit nicht moglich. Es sind zwei Falle zu unterscheiden. 1. Im ersten Fall liegt ein giiltiger Ablaufplan vor. Das Steuerungsziel besteht darin, diesem Ablaufplan zu folgen, da bei der Erstellung des Ablaufplanes durch die Produktionsbereichssteuerungsebene globale Gesichtspunkte beriicksichtigt wurden. 2. Im zweiten Fall ist der durch die Produktionsbereichssteuerungsebene ermittelte Ablaufplan zum Zeitpunkt ^2 ungiiltig. Die Auswahl des als nachstes zu bearbeitenden Loses/Batches wird aus der nachfolgenden Menge durchgefuhrt: {I e I\mini^i {aiTPi + aiSQ + as (1 - UMi))} , 0 < a^, ai 4- as + ag = 1,
(3.59)
mit /
: Menge der Indizes von Losen oder bereits gebildeten Batches im Warteraum
TPi
: (mittlere) terminliche Dringlichkeit von Batch I als Quotient aus der verblei-
von Maschinengruppe {k,r), benden (mittleren) Zeit bis zum Aussteuertermin des Loses bzw. der Lose des Batches und der verbleibenden (mittleren) Restbearbeitungszeit des Loses bzw. der Lose des Batches, SQ
: normierte Riistkosten,
UMi
: normierte Auslastung von Batch I (im Fall eines Loses wird UMi = 1 gewahlt),
ai
: Gewichte, die zur Abbildung von Praferenzen zwischen terminorientierten Zielen, Riistzielen und Batchauslastungszielen dienen.
3.6.5
Informationsstatus
Fur die Maschinengruppensteuerungsebene liegen mehrere Entscheidungseinheiten vor. Da die Maschinengruppensteuerungsebene insbesondere die Aufgabe hat, die Maschinenbelegung auf Basis der von der Produktionsbereichssteuerungsebene ermittelten Ablaufplane vorzunehmen, ist es notwendig, dass die Maschinengruppensteuerungsebene als einzige Steuerungsebene direkt Informationen iiber den zu steuernden Produktionsprozess bezieht. Die eigene interne Situation einer Maschinengruppensteuerungseinheit wird durch die nachfolgenden Informationen beschrieben: • Informationen iiber die Dekomposition der Maschinengruppe in Maschinen,
3.6. MASCHINENGRUPPENSTEUERUNGSEBENE:
ENTSCHEIDUNGSMODELL
77
• Informationen iiber die Fahigkeiten der Maschinen, d.h. welche Prozess-Schritte auf einer konkreten Maschinen ausgefiihrt werden konnen und welchen Riistzustand sie verlangen, • Informationen iiber den Status des Ablaufplanes ftir die Maschinengruppe, • Informationen iiber das Budget der Lose, die im Rahmen des maschinenstundenbasierten Ressourcenallokationsverfahrens den Maschinen zugeteilt werden soUen, • Informationen iiber die Maschinenstundensatze fur Maschinen der Maschinengruppe. Die eigenen externe Situation einer Maschinengruppe wird durch die folgenden Informationen beschrieben: • Informationen iiber die zum Zeitpunkt ^2 im Warteraum der Maschinengruppe befindlichen Lose, • Informationen iiber die zum Zeitpunkt ^2 auf den Maschinen der Maschinengruppe in Bearbeitung befindlichen Lose, • Informationen daruber, ob eine Maschine der Maschinengruppe zum Zeitpunkt ^2 ausgefallen ist, • Informationen daruber, wie lange der Ausfall einer bestimmten Maschine dauern wird, • Informationen iiber den aktuell gultigen Riistzustand der Maschinen der Maschinengruppe, • Informationen daruber, welche Lose innerhalb eines bestimmten Zeitfensters im Warteraum der Maschinengruppe eintreffen werden. Da die Maschinengruppensteuerungsebene gestaffelt ist, ist die Beschreibung der internen und externen Situation von Entscheidungseinheiten, die sich von Maschinengruppe {k, r) unterscheiden, bedeutsam. Die folgenden Informationen sind dazu notwendig: • Informationen iiber den Status der Ablaufplane fur Maschinengruppen {I, s) mit I ^ k oder s 7^ r, • Informationen iiber den Beginn und die Dauer eines Maschinenausfalls in einer Maschinengruppe (/, s) mit / 7^ k oder s ^ r. Informationen uber den Informationszustand anderer Entscheidungseinheiten der Maschinengruppensteuerungsebene spielen auf Grund des vorausgesetzten kooperativen Verhaltens der Steuerungseinheiten des hierarchischen Systems keine RoUe.
78
KAPITEL 3. VERTEILTE HIERARCHISCHE
3.7
PRODUKTIONSSTEUERUNG
Verteiltes hierarchisches Steuerungsverfahren
Die in den Abschnitten 3.4, 3.5 und 3.6 beschriebenen Entscheidungen werden in diesem Abschnitt zu einem verteilten hierarchischen Steuerungsalgorithmus zusammengefasst. Es wird im Weiteren mit PBgf die Menge der Produktionsbereichssteuerungseinheiten bezeichnet, fiir die ein Ablaufplan bestimmt wurde, der als Vorgabe IN^
an die Maschinengruppensteuerungsebene iibergeben
wird. Die Bezeichnung PB wird fiir die Menge aller Produktionsbereichssteuerungseinheiten gewahlt. Fiir die Terminiemngs- und Schedulingalgorithmen der Produktionssystem- und der Produktionsbereichssteuerungsebene ist festzulegen, wann die Terminierung bzw, die Maschinenbelegungsplanung durchzufiihren ist. Das Schedulingverfahren der Produktionsbereichssteuerungsebene wird fiir einen Horizont der Lange r angewandt. Es gilt r = TA+TO/I, wobei mit r^ die Lange des Aufrufintervalls fiir das Schedulingverfahren und mit Tah die Lange des Uberlappungshorizontes bezeichnet werden. Fiir das Terminierungsverfahren wird ein Horizont der Lange T gewahlt. Das Verfahren wird roUierend alle Prnox^A Zeiteinheiten aufgerufen, d.h., die Aufrufhaufigkeit des Terminierungsverfahrens ist ein ganzzahliges Vielfaches der Aufrufhaufigkeit des Schedulingverfahrens. Die Parameter der beiden Verfahren sind in Tabelle 3.2 zusammengefasst. Abbildung 3.5 dient der Darstellung von Zeitaspekten im verteilten hierarchischen Steuerungsansatz. Tabelle 3.2: Parameter fiir die obere und mittlere Steuerungsebene Steuerungsebene
Aufrufintervall
Uberlappungshorizont
Produktionssystem
Pmax'^A
T - PmaxTA
Produktionsbereich
TA
Tah
Aufrufintervall des Terminierungsverfahrens
Produktionssystemsteuerungsebene
Aufrufintervall des Schedulers •^
H4
III'
Produktionsbereichssteuerungsebene
Maschinengruppensteuerungsebene
Abbildung 3.5: Zeitaspekte im verteilten hierarchischen Steuerungsalgorithmus
3.7. VERTEILTES HIERARCHISCHES STEUERUNGSVERFAHREN
79
Das verteilte hieraxchische Steuerungsverfahren (Distributed Hierarchical Production Control Algorithm (DHPCA)) wird wie folgt beschrieben: Verteilter hierarchischer Steuerungsalgorithmus (DHPCA) 1. Terminiere die im Produktionssystem zum Zeitpunkt ^o befindhchen bzw. innerhalb des Terminierungszeitraums (^o, ^o + T) eintreffenden Lose. 2.
Antizipiere das Verhalten des geplanten Engpassproduktionsbereichs, indem ein Ablaufplan fur diesen Produktionsbereich mit Scheduhnghorizont {to,to + r) berechnet wird.
3.
Falls der in Schritt 2 ermittelte Ablaufplan zu einer hinreichend kleinen (antizipierten) gewichteten Verspatung der Lose fiihrt, verzweige zu Schritt 4. Andernfalls verzweige zu Schritt 1 und andere die Losterminierungsstrategie.
4.
Initialisiere PBgf : = 0 .
5.
Iteration iiber alle Produktionsbereiche k e PB \ PB^f. Berechne fiir jeden Produktionsbereich k einen Ablaufplan fiir den Schedulinghorizont (^i, h -h r) unter Verwendung der Vorgaben fur friiheste Starttermine und geplante Fertigstellungstermine aus Schritt 1 bzw. Schritt 5. Es gilt: ^i = t^+pr^ mit p = 0,.. .,Pmax - 1-
6.
Wahle einen Produktionsbereich k € PB \ PBgf unter Verwendung bestimmter Kriterien aus. Setze PB^j := PBgf U {k}. Teile die tatsachlich notwendigen Start- und Endtermine der Lose, die fiir die Implementierung des Ablaufplanes erforderlich sind, den Produktionsbereichen PB\PBsf
mit. Falls PB = PBgf gilt, verzweige zu Schritt
7, andernfalls verzweige zu Schritt 5. 7.
Nehme eine Maschinenbelegung zum Zeitpunkt ti
punkt ^2 eine Bearbeitung von Losen bzw. Batches auf der Maschinengruppe moglich ist. Beriicksichtige dabei den in Schritt 5 bzw. 6 ermittelten Ablaufplan. Falls der Ablaufplan ungiiltig ist, verwende ein auf lokalen Daten arbeitendes Maschinenbelegungsverfahren. 8.
Falls fiir die aktuelle Zeit tgxd, gilt: tact = ^o + PmaxTA, setze ^o '= k -f- PmoxT^ und verzweige zu Schritt L Falls tact = ^o + P^A gilt fiir 1 < p < Pmaxi setze ti :- ti -f- T^ und verzweige zu Schritt 4.
Das DHPCA-Verfahren verlangt an verschiedenen Stellen eine weitere Ausgestaltung. In Schritt 1 muss das Losterminierungsverfahren festgelegt werden. Schritt 2 verlangt die Angabe des zu verwendenden Schedulingverfahrens. Die Auswahl eines konkreten Verfahrens zur Berechnung von detaillierten Maschinenbelegungsplanen wird in Schritt 5 erwartet. Es wird bemerkt, dass in Schritt 5 die Berechnung der Maschinenbelegungsplane auf unterschiedliche Rechner verteilt erfolgen kann. In Schritt 7 muss das Maschinenbelegungsverfahren angegeben werden, das in Ausnahmesituationen angewandt wird. Eine Konkretisierung der verwendeten Algorithmen auf den unterschiedlichen Steuerungsebenen findet in Kapitel 4 statt. Das bisher beschriebene DHPCA-Verfahren geht davon aus, dass die Terminierungs- und Schedulingaktivitaten in einer roUierenden Art und Weise erfol-
80
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
gen. In bestimmten Situationen ist es aber notwendig, auf Veranderungen im Produktionssystem durch Berechnung von neuen Ablaufplanen bzw. einer Neuterminierung von Losen zu reagieren. Diese Reschedulingaktivitaten werden durch Trigger angestoBen. Unter einem IVigger versteht man eine Menge von wohldefinierten Ereignissen und Verfahren zur Behandlung dieser Ereignisse. Es kann zwischen den folgenden Auspragungen fiir Trigger unterschieden werden: • Ereignistrigger losen Reschulingaktivitaten aus, die durch wohldefinierte, beobachtbare Ereignisse wie z.B. den Ausfall der fiihrenden Engpassmaschinen bzw. das Einsteuern eines Eilloses in das Produktionssystem verursacht werden. Es wird zwischen los- und maschinenbasierten Triggern unterschieden. • Datentrigger dienen zum Auslosen von RescheduUngaktivitaten auf Basis von bestimmten Datenkonstellationen. Datentrigger basieren auf Statistiken oder Leistungsmafien, die in Echtzeit beobachtet werden, um stochastisch signifikante Anderungen zu erkennen. Beispielsweise konnen in Abhangigkeit von der Abweichung der tatsachUchen Fertigstellungstermine der Lose von den geplanten Fertigstellungsterminen in den Produktionsbereichen RescheduUngaktivitaten ausgelost werden. Falls die Abweichung gering ist, wird das Produktionssystem entsprechend dem Ablaufplan gesteuert, andernfalls weicht das System vom Ablaufplan in Folge noch unbekannter Ursachen ab. Im DHPCA-Verfahren kann in einem zusatzlichen Schritt 9 auf Trigger fiir eine Neuterminierung reagiert werden, indem ^o •"= ttHgger gesetzt und eine neue Losterminierung ausgefiihrt wird. Trigger fiir die Berechnung neuer Ablaufplane fiir Produktionsbereiche werden behandelt, indem ti := krigger gcsctzt wird uud ucuc Ablaufplauc berechnet werden. Die Bedeutung von Ereignis- und Datentriggern wird mit zunehmender Verkleinerung der Aufrufintervalle Pmax^A und r^ immer geringer.
3.8 3.8.1
Agentifizierung des Steuerungsansatzes BegrifFsbildungen
Softwareagenten sind per Definition Softwareentitaten, die zu flexiblen, autonomen Aktionen fahig sind, um ihre Designziele zu erreichen [266]. Zur Erreichung der Designziele miissen Entscheidungen getroffen werden. Agenten sind in der Lage, mit anderen Agenten zu kommunizieren und auf diese Art und Weise in Interaktion zu treten. Dadurch ist es insbesondere moglich, Koordinationsmechanismen in Multi-Agenten-Systemen zu verwenden und auch softwaretechnisch zu implementieren. Dabei wird nicht notwendigerweise vorausgesetzt, dass die Agenten sich ausschliefilich auf einem Computer befinden. In diesem Abschnitt der Arbeit werden die Agenten identifiziert, die bei der Implementierung des verteilten hierarchischen Steuerungsansatzes Verwendung finden. Eine detaillierte
3.8. AGENTIFIZIERUNG DES STEUERUNGSANSATZES
81
Beschreibung der verwendeten Softwarearchitektur wird in Kapitel 6 vorgenommen. In Tabelle 3.3 wird der Zusammenhang von verteilten hierarchischen Steuerungssystemen und Multi-AgentenSystemen unter dem Gesichtspunkt der Steuerung/Entscheidung dargestellt. Es wird deutlich, dass verteilte hierarchische Systeme und Multi-Agenten-Systeme in den folgenden Punkten iibereinstimmen: • sowohl verteilte hierarchische Systeme als auch Multi-Agenten-Systeme ermogUchen eine verteilte Entscheidungsfindung, • die Entscheidungsfindungskompetenz ist auf unterschiedliche Systemeinheiten verteilt, • in beiden Arten von Systemen ist Kommunikation zwischen den Entscheidungseinheiten notwendig, • auf Grund der verteilten Entscheidungsfindung ist Koordination zur Harmonisierung erforderlich. Wie in [224] festgestellt, konnen Multi-Agenten-Systeme als Implementierungsframework fiir verteilte hierarchische Systeme verstanden werden. Die Problemlosungsfahigkeiten sind in verteilten hierarchischen Steuerungssystemen auf Grund der dort anzutreffenden funktionalen Dekomposition starker ausgepragt. Der Koordinationsgedanke ist direkt in der hierarchischen Dekomposition verankert. Multi-Agenten-Systeme betonen starker den Implementierungsgesichtspunkt.
3.8.2
Ansatze zur Identifikation von Agenten
Ansatze zur Identifikation von Agenten weisen haufig eine gewisse Ahnlichkeit zu objektorientierten Analyse- und Designmethoden auf. Es wird zwischen generischen, d.h. domanenunabhangigen Methoden und domanendedizierten Methoden unterschieden. Agentenorientierte Analyse- und Designmethoden als direkte Weiterentwicklung objektorientierter Methoden werden u.a. in [112, 269, 18] diskutiert. Analyse- und Designmethoden, die keine direkte Erweiterung objektorientierter Ansatze sind, werden u.a. in [104, 40, 30] vorgeschlagen. Ubersichten zu agentenorientierten Analyse- und Designmethoden sind in [103, 270, 31] zu finden. Es wird an dieser Stelle je ein Vertreter fiir eine generische, roUenbasierte Methode, eine domanendedizierte Methode und eine agentenbasierte Referenzarchitektur diskutiert.
3.8.2.1
Gaia-Methode
Gaia [271] ist eine domanenunabhangige Methode zur Analyse und dem Design von Multi-AgentenAnwendungen. Die Gaia-Methode geht von einer durchgefiihrten Anforderungsanalyse aus. Anschliefiend wird die Entwicklung unterschiedlicher Modelle in der Analyse- und der daran anschliefienden Designphase unterstiitzt. In der Analysephase werden die nachfolgenden Modelle erstellt:
KAPITEL 3. VERTEILTE HIERARCHISCHE PRODUKTIONSSTEUERUNG
82
Tabelle 3.3: Gegenuberstellung von verteilten hierarchischen Steuerungssystemen und MultiAgenten-Systemen
Dimension
Multi-Agenten-System
Verteiltes hierarchisches Steuerungssystem
Systembe-
Entscheidungseinheiten der Ebenen
Agenten, die zu Agentenorganisatio-
standteile
mit
nen zusammengefasst werden
Entscheidungsmodell
entspre-
chend der Stratifikation und Staffelung Verteilung der
entsprechend raumlicher und zeit-
Entscheidungs-
licher Gesichtspunkte
Verteilung auf mehrere Rechner
funktionalitat Autonomic
Vorgaben von Entscheidungseinhei-
Agenten handeln autonom, Begren-
ten ubcrgcordneter Ebenen stellcn
zung der Autonomic bei der Entschei-
einen Rahmen fiir die Entschcidungen
dungsfindung durch Koordinations-
der untergeordneten Ebene dar, itera-
mechanismen moglich
tive Abstimmungsprozesse Koordination
Entscheidungseinhei-
implizite Koordination durch Ver-
ten koordinieren untergeordnete Ent-
handlungen, Koordination von Pla-
scheidungseinheiten,
nen
iibergeordnete
Koordination
durch Vorgabe von Handlungsrahmen und iterative Abstimmungsprozesse Entscheidungs, fahigkeit
jede liber
Entscheidungseinheit
verfiigt
zipation
des
Verhaltens
regelbasiert in reaktiven Agenten-
Anti-
architekturen, planbasierte Architek-
anderer
turen ermoglichen Entscheidungsfin-
Entscheidungsmodell,
Entscheidungseinheiten fiir Entschei-
dung unter Beriicksichtigung einer
dungsfindung moglich
symbolischen Umweltreprasentation
Kommunika-
fiir
tion
prozesse sowie fiir
Feedback-
und
stimmungsprozesse
Feedforwarditerative Abzwischen
Entscheidungseinheiten
den
prinzipiell rechneriibergreifend moglich, wesentlicher
Bestandteil
des
Agentenkonzeptes
erforderlich,
nicht notwendigerweise rechneriibergreifend Verteilte Imple-
Verteilung fiir nebenlaufige Bearbei-
Verteilung auf Grund rechneriiber-
mentierung
tung wird in der Literatur nur am
greifender
Rande diskutiert [89]
keiten prinzipiell unbegrenzt
Kommunikationsfahig-
3.8. AGENTIFIZIERUNG
DES STEUERUNGSANSATZES
83
• RoUenmodell, • Interaktionsmodell. Das RoUenmodell identifiziert SchliisselroUen im Multi-Agenten-System. Unter einer RoUe wird die abstrakte Beschreibung der erwarteten Funktionalitat einer Softwareeinheit verstanden. Mit einer RoUe werden Rechte und Pflichten assoziiert. Interaktionsmodelle definieren ProtokoUe fiir die Interaktion zwischen unterschiedlichen AgentenroUen. Unter einem ProtokoU wird in Gaia ein Interaktionsmuster verstanden, das wahrend der Laufzeit des Multi-Agenten-Systems zum Austausch von Nachrichten verwendet wird. Wahrend der Designphase werden das RoUenmodell und das Interaktionsmodell weiter verfeinert und fiihren zu den nachfolgenden Modellen: • Agentenmodell, • Dienstemodell, • Bekanntschaftsmodell. Das AgentenmodeU dokumentiert die unterschiedlichen Agententypen und die Agenteninstanzen, die zur Laufzeit des Multi-Agenten-Systems die Agententypen realisieren. Ein Agententyp ist als Menge von AgentenroUen definiert. Das Dienstemodell dient zur Identifizierung und Beschreibung der Dienste, die jede AgentenroUe zur Verftigung stellt. Ein Dienst ist eine Menge von Aktivitaten, in die ein bestimmter Agent eingebunden ist. Dienste werden durch Eingangs- und Ausgangsinformationen sowie Vor- und Nachbedingungen beschrieben. Das Bekanntschaftsmodell wird zur Spezifikation von Kommunikationspfaden zwischen Agententypen verwendet. Es wird nicht festgelegt, wann welche Nachrichten verschickt werden. Der Designprozess beinhaltet die Erzeugung eines Agentenmodells, eines Dienstemodells sowie eines Bekanntschaftsmodells aus dem Interaktions- und dem RoUenmodell. Die Identifizierung von AgentenroUen in Produktionssteuerungsanwendungen verlangt zuerst ein grundlegendes Verstandnis der Produktionsziele und des Produktionsprozesses. Darin ist insbesondere die Analyse des Entscheidungsfindungsprozesses beinhaltet, der zur Erfiillung der Produktionsziele unter Beriicksichtigung der aus dem Produktionsprozess abgeleiteten Restriktionen dient [31]. RoUen hingegen definieren Aspekte wie Rechte, Pflichten, Dienste und Interaktionsmuster. Eine explizite Modellierung des Entscheidungsfindungsprozesses findet nicht statt. Es ist Aufgabe des Steuerungsentwurfes, Dienste und Pflichten der lokalen Steuerungseinheiten festzulegen. Aus diesem Grund sind roUenbasierte Analyse- und Designansatze nur unzureichend geeignet, um den Analyse- und Designschritt fiir agentenbasierte Produktionssteuerungssysteme zu unterstiitzen. 3.8.2.2
DACS-Methode
Bussmann schlagt die Designing-Agent-based-Control-Systems (DACS)-Methodik zum agentenorientierten Design fiir Produktionssteuerungssysteme vor. Die Methode [31, 32, 33] umfasst drei grundlegende Designschritte:
84
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
1. Analyse der Entscheidungsfindungsprozesses, 2. Identifizierung der notwendigen Agenten, 3. Auswahl von InteraktionsprotokoUen. Wahrend der Analyse des Entscheidungsfindungsprozesses werden die Entscheidungen identifiziert und analysiert. Es werden Entscheidungsaufgaben sowie Restriktionen, die bei der Entscheidungsfindung beriicksichtigt werden miissen, spezifiziert. In einem ersten Schritt werden diejenigen Steuerungsentscheidungen identifiziert, die unmittelbaren Einfluss auf den zu steuernden Basisprozess haben. In einem weiteren Schritt werden die Abhangigkeiten zwischen den einzelnen Steuerungsentscheidungen identifiziert. Abhangigkeiten zwischen Entscheidungen werden beziiglich ihrer Intensitat, d.h. des Grades ihres Einflusses auf andere Entscheidungen und ihrer Bedeutung analysiert. Ergebnis der Analyse des Entscheidungsfindungsprozesses ist ein Entscheidungsmodell fiir die lokalen Entscheidungen und ein Entscheidungsnetz fiir die Abhangigkeiten zwischen den Entscheidungen. Die Identifizierung der Agenten erfolgt unter Verwendung des Entscheidungsmodells und des Entscheidungsnetzwerkes. Es ist unter Umstanden notwendig, bestimmte Entscheidungsaufgaben in Unterentscheidungsaufgaben aufzuteilen, die dann durch einzelne Agenten nebenlaufig bearbeitet werden konnen. Gleichzeitig kann es sinnvoU sein, einzelne Entscheidungsaufgaben in Unterentscheidungsaufgaben zu zerlegen, die sequentiell durch einzelne Agenten abgearbeitet werden. Die Identifizierung von Agenten fiir Produktionssteuerungssysteme ist im Wesentlichen eine geeignete Partitionierung des Entscheidungsnetzwerkes, d.h. eine Clusterung von Entscheidungsaufgaben. Die Clusterung erfolgt dabei unter Beriicksichtigung der Kriterien Koharenz und lose Kopplung der Entscheidungsaufgaben. Die Auswahl von InteraktionsprotokoUen wird durchgefiihrt, indem Entscheidungsabhangigkeiten zwischen den Entscheidungsaufgaben unterschiedlicher Agenten klassifiziert werden. Im nachsten Schritt wird fiir alle InteraktionsprotokoUe aus einer gegebenen Bibliothek das ProtokoU ausgewahlt, welches am besten zu den Entscheidungsabhangigkeiten passt. In einem letzten Schritt wird das ausgewahlte ProtokoU erweitert bzw. angepasst. Die DACS-Methode von Bussmann hat den Nachteil, dass ledigUch unmittelbare, d.h. maschinen- bzw. transportsystemnahe Steuerungsentscheidungen beriicksichtigt werden. Es ist schwer moglich, Produktionsziele, wie z.B. die Einhaltung von Kundenendterminen, die typischerweise Entscheidungen auf einer hoheren Steuerungsebene verlangen, beim Design des Steuerungssystems geeignet zu beriicksichtigen.
3.8.2.3
PROSA-Referenzarchitektur
Im Gegensatz zur Gaia-Methode und der Methode von Bussmann stellt PROSA (ProductResource-Order-Staff'-Architecture) [251] eine Referenzarchitektur fiir den Bau von holonischen Produktionssteuerungssystemen dar. Holonische Produktionssteuerungssysteme werden typischer-
3.8. AGENTIFIZIERUNG
DES STEUERUNGSANSATZES
85
weise als Multi-Agenten-Systeme implementiert. PROS A definiert die abstrakten Entscheideragententypen • Auftragsagent, • Ressourcenagent, • Produktagent. Neben Entscheideragententypen sind in PROSA Dienstagenten vorgesehen. Dienstagenten unterstiitzen Entscheideragenten bei der Losung der formulierten Entscheidungsaufgaben. Das Verhalten von Agenten der einzelnen Agententypen wird beschrieben. Interaktionen zwischen den einzelnen Agententypen werden dargestellt. PROSA schlagt einen hierarchischen Aufbau der Ressourcenagenten vor. Damit sind Hierarchien von Entscheideragenten moglich. PROSA liefert als Referenzarchitektur lediglich grobe Hinweise fiir das Design eines agentenbasierten Steuerungssystems. Die Identifizierung von Subagententypen der durch die Referenzarchitektur bereits vorgeschlagenen Agententypen wird nicht unterstiitzt.
3.8.3
Identifikation der Agenten zur Realisierung des Steuerungsansatzes
In dieser Arbeit wird partiell die Methode von Bussmann angewandt, gleichzeitig wird aber auf die Strukturierungshilfen der PROSA-Referenzarchitektur zuriickgegriffen. Ausgangspunkt der Uberlegungen ist die Analyse des Steuerungsprozesses, der als Folge von Entscheidungen aufgefasst werden kann.
3.8.3.1
Analyse des Steuerungsprozesses
Wie in den Abschnitten 3.4, 3.5 und 3.6 dargestellt, erfolgt die Steuerung auf drei Steuerungsebenen. Dabei sind die folgenden Steuerungsentscheidungen zu treffen: 1. Terminierungsentscheidungen fiir Lose durch die Produktionssystemsteuerungsebene, 2. detaillierte Maschinenbelegungsentscheidungen fiir jeden einzelnen Produktionsbereich, 3. Implementierung der Ablaufplane der Produktionsbereichssteuerungsebene bzw. autonome Maschinenbelegungsentscheidungen im Falle ungiiltiger Ablaufplane durch die Maschinengruppensteuerungsebene. Die Steuerungsentscheidungen der oberen und mittleren Ebene werden wie in Abschnitt 3.7 beschrieben roUierend bzw. in Abhangigkeit von bestimmten Ausnahmesituationen getroffen. Die Steuerungsentscheidungen der Maschinengruppensteuerungsebene werden in Abhangigkeit von der
86
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
Situation der Maschinengruppe getroffen. Falls der Ablaufplan fiir die Maschinengruppe ungiiltig ist, sind neben der Maschinengruppensteuerungseinheit auch Entscheidungseinheiten fiir Lose an der Maschinenbelegung beteiligt. Die Entscheidungen der Produktionsbereichs- und der Maschinengruppensteuerungsebene werden nebenlaufig getroffen. Neben den Maschinen als Ressourcen sind sekundare Ressourcen, z.B. spezielle Werkzeuge, fiir die Ausfiihrung von Prozess-Schritten auf Maschinen erforderlich. In den bisherigen Ausfiihrungen wurde postuliert, dass Arbeitsplane fest vorgegeben sind und sich im zeitlichen Verlauf nicht andern. Wenn allerdings Maschinen ausfallen, ist dieses Postulat nicht mehr sinnvoU. Die in Abschnitt 2.2 beschriebene Zuordnung von Maschinen zu ProzessSchritten ist somit ein Entscheidungsproblem, welches indirekten Einfluss auf den Steuerungsprozess ausiibt, da dadurch der Alternativenraum fiir die Entscheidungen auf den drei Steuerungsebenen beeinflusst wird. Ein Informationsaustausch zwischen der Entscheidungseinheit des Produktionssystems und den Entscheidungseinheiten der einzelnen Produktionsbereiche findet statt. Informationen werden zwischen den Entscheidungseinheiten der Produktionsbereichs- und der Maschinengruppensteuerungsebene iibertragen. Die Analyse des Entscheidungsprozesses ergibt, dass in Ubereinstimmung mit der PROSAReferenzarchitektur [251] Agenten zur Steuerung bestimmter Teile des Produktionssystems (Ressourcenagenten), Agenten zur Steuerung von dynamischen Systemelementen (Auftragsagenten) sowie Agenten zur Verwaltung und Adaption von Produktdaten notwendig sind. Die Ressourcenagenten sind hierarchisch zu organisieren. Sekundare Ressourcen werden nicht als Agenten modelliert, da ihre Entscheidungsfahigkeiten nur gering ausgepragt sind. In Ubereinstimmung mit der PROSA-Referenzarchitektur konnen die notwendigen Agenten in Entscheider- und Dienstagenten unterteilt werden. Dienstagenten werden zur Maschinenbelegung und fiir Monitoringaufgaben verwendet. In Abbildung 3.6 sind die beiden grundsatzlichen Agententypen dargestellt.
Agent
:l:3piii8ip||i
Entscfaeideragent
ABftraygent
[ Prodaktogcnt
[
[ ScheduHiigaeciit j | MowitorlBgagcnt
Abbildung 3.6: Entscheideragenten und Dienstagenten fiir die Steuerung
3.8. AGENTIFIZIERUNG 3.8.3.2
DES STEUERUNGSANSATZES
87
Ressourcenagenten
Ressourcenagenten dienen zur Ausfiihrung von Aktivitaten. Sie werden aus der hierarchischen Dekomposition des Produktionssystems abgeleitet. Die Analyse des Steuerungsprozesses in Abschnitt 3.8.3.1 ergibt die folgenden Ressourcenagenten: • Produktionssystemagent, • Produktionsbereichsagent, • Maschinengruppenagent. Die Aufgaben von Ressourcenagenten werden durch Angabe der Aktivitaten und Rechte abstrakt beschrieben. Agententyp:
Ressourcenagent
Beschreibung:
Ressourcenagenten verwalten bzw. steuern die Ressourcen, die ihnen zugeordnet sind.
Aktivitaten:
-
Berechnung von Planen mit unterschiedlichem Detaillierungsgrad fiir die Benutzung der Ressourcen
-
geeignete situations- und problemspezifische Parametrisierung der zur Planberechnung notwendigen Algorithmen
-
Rechte:
Starten von Monitoringaktivitaten
-
Information anderer Agenten iiber den Status der Ressourcen
-
Entscheidungsunterstiitzung bei der Auswahl des zu realisierenden Planes
-
Ausfiihrung von Aktivitaten auf bzw. unter Verwendung der Ressourcen
-
Aufruf der notwendigen Dienstagenten
-
Ermittlung von Daten zur Entscheidungsfindung
-
Information anderer Agenten
Die fiir die Implementierung des verteilten hierarchischen Steuerungsansatzes notwendigen Ressourcenagenten sind in Anhang B.l beschrieben.
3.8.3.3
Auftragsagenten
In Produktionssystemen werden Kundenauftrage in Lose untersetzt. Lose bewegen sich als unteilbare Einheiten durch das Produktionssystem. Da die eigentlichen Kundenauftrage fiir die Durchsteuerung durch das Produktionssystem nicht von Interesse sind, werden sie nicht als Agenten modeUiert. Ein Losagent reprasentiert ein eindeutig festgelegtes Los. In der betrachteten Klasse von Produktionssystemen ist Batchbearbeitung moglich. Aus diesem Grund werden im Steuerungssystem Batchagenten betrachtet.
88
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
Neben Los- und Batchagenten beanspruchen Agenten fiir vorbeugende Instandhaltunggsmafinahmen Maschinenkapazitaten. Die Aufgaben von Auftragsagenten konnen abstrakt wie folgt beschrieben werden: Agententyp:
Auftragsagent
Beschreibung:
Auftragsagenten verwalten bzw. steuern die dynamischen Systemeinheiten, d.h. die Bearbeitungsobjekte im Sinne von Abschnitt 2.2.
Aktivitaten:
-
Berechnung von Ablaufplanen unterschiedlichen Detaillierungsgrads fiir die auszufiihrenden Aktivitaten
-
geeignete situations- und problemspezifische Parametrisierung der zur Planberechnung notwendigen Algorithmen
-
Starten von Monitoringaktivitaten Information anderer Agenten iiber den Status der Bearbeitungsobjekte, die vom Auftragsagenten verwaltet werden
Rechte:
Entscheidung fiir einen zu realisierenden Plan
- Aufruf der notwendigen Dienstagenten -
Ermittlung von Daten zur Entscheidungsfindung
-
Information anderer Agenten
Spezielle Auftragsagenten sind in Anhang B.2 dargestellt.
3.8.3.4
Produktagenten
In der PROSA-Referenzarchitektur werden Produktagenten zur Verwaltung von Produktinformationen betrachtet. Produktinformationen beschreiben, aus welchen Teilen ein Produkt besteht. Es werden Preise fur das Produkt und Herstellungskosten spezifiziert. Die Produktinformationen dienen zur Festlegung der Technologie, in der die Fertigung des Produktes erfolgen soil. Sekundare Ressourcen, die zur Fertigung des Produktes notwendig sind, werden beschrieben. Die verwendete Technologie legt den Arbeitsplan fest, der bei der Herstellung des Produktes verwendet wird. Fiir die Maschinenbelegungsplanung ist speziell die in Abschnitt 2.2 diskutierte Zuordnung von Maschinengruppen zu Prozess-Schritten von Interesse. Ein Produktagent legt die Reihenfolge der Prozess-Schritte eines Arbeitsplanes fest. ZusatzHch wird die Maschinengruppe bestimmt, auf der ein bestimmter Prozess-Schritt ausgefiihrt werden soil. Die Zusammensetzung der Maschinengruppen ist infolge von Maschinenausfallen und Produktmixanderungen dynamisch und muss an die aktuellen Gegebenheiten angepasst werden. Die Aufgaben von Produktagenten konnen abstrakt wie folgt beschrieben werden:
3.8. AGENTIFIZIERUNG
DES
89
STEUERUNGSANSATZES
Agententyp:
Produktagent
Beschreibung:
Produktagenten reprasentieren die Produktinformationen des durch sie vertretenen Produktes. Das beinhaltet insbesondere die Festlegung der Reihenfolge der Prozess-Schritte im Arbeitsplan und die Zuordnung von geeigneten Maschinengruppen.
Aktivitaten:
-
Bereitstellung von produktspezifischen Informationen wie Bearbeitungszeiten, als nachsten auszufiihrenden Prozess-Schritt und die dazu notwendige Maschinengruppe.
-
Festlegung der Reihenfolge von Prozess-Schritten im Arbeitsplan Festlegung der Zusammensetzung der den Prozess-Schritten zugeordneten Maschinengruppen
Rechte:
- Versorgung von Auftrags- und Ressourcenagenten mit produktspezifischen Informationen -
Entscheidungen iiber situationsabhangige Gestaltung von Arbeitsplanen und Entscheidungen zur Zusammensetzung von Maschinengruppen
Agent
ll^iieurcenagent
Auftrapi^nt
Losagent
Batchagent
Produktagent
Instandhaltangsagent
Technol0gieag4Mit
ProduktioMsystetnagent
TE
Produktionsbereichsagent
Maschinengruppenagent
[^^T
Abbildung 3.7: Entscheideragenten zur Steuerung von Produktionssystemen
Die beschriebenen Entscheideragenten und deren Beziehungen sind in Abbildung 3.7 in Form eines UML-Klassendiagramms dargestellt.
90 3.8.3.5
KAPITEL 3. VERTEILTE HIERARCHISCHE
PRODUKTIONSSTEUERUNG
Dienstagenten fur die Ressourcen- und Auftragsagenten
Dienstagenten unterstiitzen Entscheideragenten bei der Realisierung der in Abschnitt 3.7 beschriebenen Entscheidungsfunktionalitat. Zur Realisierung der Steuerungsfunktionalitat sind verschiedene Klassen von Schedulingagenten fiir Terminierungs- und Schedulingaufgaben sowie Monitoringagenten fiir Beobachtungsaufgaben erforderlich. Die notwendigen Dienstagenten sind in Abbildung 3.8 dargestellt und in Anhang B.3 beschrieben.
3.8.4
Agenteninteraktionen
An dieser Stelle der Arbeit wird die Interaktion zwischen den identifizierten Agententypen nur mit geringem Detaillierungsgrad beschrieben. Bine griindlichere Darstellung der Interaktionen setzt InteraktionsprotokoUe voraus und wird deshalb auf Kapitel 6 verschoben.
Dienstagent
MasdiinengrBppenmoiiitoringKgent
Prodnktion»bereich«in#i<Miiij^^
•oduktt<^f3^rteronM«Bitoringiigeat
isystei
ingMgcnt
Abbildung 3.8: Dienstagenten zur Steuerung von Produktionssystemen
3.8.4.1
Interaktionen zwischen Ressourcen-, Auftrags- und Produktagenten
Ressourcenagenten interagieren mit Auftrags- und Produktagenten. Produktagenten liefern den Ressourcen Produktinformationen in Form von Arbeitsplanen. Umgekehrt informieren Ressourcenagenten Produktagenten iiber Maschinenausfalle. Auftragsagenten erhalten von den Produktagenten Informationen iiber die als nachste auszufiihrenden Prozess-Schritte. Ressourcenagenten versorgen Auftragsagenten mit Informationen iiber die Ressourcenbenutzung. Der beschriebene Zusanunenhang zwischen Ressourcen-, Auftrags- und Produktagenten ist in Abbildung 3.9 dargestellt.
3.8. AGENTIFIZIERUNG
DES
91
STEUERUNGSANSATZES
vmi^iaiM^m 1
Informationen Ober dasProdukt
'''•""••""'"
•'•"••<"!^'i"'i
^
"";;;?
0..*
Informationen tiber das Produkt
0..*
0..*
AnftngM^t 1 < , ' '-'•' '"'""'"''
;'***
'-
,
Rcnourecmgeiit
1
"""'"""•••^•"••'•'j
1..*
0..*
Informationen tIber die Ausfilhrung dc^ Produktionspro zesses
Abbildung 3.9: Interaktionen zwischen Ressourcen-, Auftrags- und Produktagenten
3.8.4.2
Interaktionen zwischen Ressourcen-, Auftrags- und Schedulingagenten
Ressourcenagenten teilen dem Schedulingagenten die zur Verfiigung stehenden Kapazitaten mit, wahlen das zu verwendende Schedulingverfahren aus und parametrisieren das Schedulingverfahren. Die Los- bzw. Batchagenten stellen dem Schedulingagenten die als nachste zu bearbeitenden Prozess-Schritte zur Verfiigung. Instandhaltungsagenten informieren den Schedulingagenten (iber durchzufiihrende vorbeugende Instandhaltungsmafinahmen. Der Schedulingagent stellt den Ressourcen- und Auftragsagenten Plane fiir terminierte Lose, Batches bzw. vorbeugende Instandhaltungsmafinahmen aus Auftrags- bzw. Maschinensicht zur Verfiigung. Die beschriebene Situation ist in Abbildung 3.10 dargestellt.
liefert Ablau^lane
stellt Bearbeitungsaufgaben zur Verfiigung
stellt Losplane und AblauQ)lane zur Verfiigung
stellt Kapazitaten zur Verfiigung, Auswahl des Schedulingverfahrens, Parametrisierung des Schedulingverfahrens
Informationen aber die Ausfiihrung des Produktionsprozesses
Abbildung 3.10: Interaktionen zwischen Ressourcen-, Auftrags- und Schedulingagenten
92
KAPITEL 3. VERTEILTE HIERARCHISCHE PRODUKTIONSSTEUERUNG
3.8.4.3 Interaktionen zwischen Ressourcen-, Auftrags- und Monitoringagenten Monitoringagenten sind Dienstagenten, die bestimmten Ressourcenagenten zugeordnet sind. Ressourcenagenten teilen den Monitoringagenten das sie interessierende Leistungsmafi mit. Es findet eine Parametrisierung des jeweiligen Monitoringverfahrens durch den Ressourcenagenten statt. Los-, Batch- bzw. Instandhaltungsagenten stellen dem Monitoringagenten Informationen iiber die Ausfiihrung von Prozess-Schritten bzw. die Durchfiihrung von vorbeugenden Instandhaltungsmafinahmen in der Vergangenheit und der Zukunft zur Verfiigung. Monitoringagenten liefern den Ressourcen- bzw. Auftragsagenten die ermittelten Werte ftir die Leistungsmafie. In Abbildung 3.11 sind die Zusammenhange zwischen Ressourcen-, Auftrags- und Monitoringagenten dargestellt.
liM^wtega^ 1
liefert Werte ftir Leistungsmafie
stellt Auftragsinformati onen zur Verfiigung
;
0..1
stellt Werte fiir Leistungsmafie zur Verfiigung
stellt Ressourceninformationen zur Verfiigung
1..*
1
Ax^mmi^mt
'
W&mime&mgmt 1..*
0.. •
Inforr nationen iiber die Ausfiihrung des Produktionspro zesses
Abbildung 3.11: Interaktionen zwischen Ressourcen-, Auftrags- und Monitoringagenten
In Kapitel 6 wird die Softwarearchitektur zur ReaHsierung des verteilten hierarchischen Steuerungsansatzes beschrieben. An dieser Stelle wird genauer auf die Punktion von Entscheider- und Dienstagenten eingegangen. Die verwendeten Steuerungsalgorithmen innerhalb des verteilten hierarchischen Steuerungsansatzes werden in Kapitel 4 vorgestellt.
Kapitel 4
Verfahren zur autonomen und kooperativen Steuerung
In diesem Kapitel werden heuristische Losungsverfahren fiir den in Kapitel 3 beschriebenen hierarchischen Steuerungsansatz entwickelt. Der Einsatz von Heuristiken ist wesentlich, da auf Grund der Berechnungskomplexitat der Einsatz effizienter exakter Verfahren nicht moglich ist. Fiir die Terminierung der Lose auf Produktionssystemebene wird ein Beam-Search-Algorithmus dargestellt, der die endlichen Kapazitaten der Maschinen geeignet beriicksichtigt. Als zweites Verfahren fiir diese Steuerungsebene wird ein simulationsbsisiertes iteratives Verfahren entwickelt, welches Abschatzungen fiir die Wartezeiten der Lose vor den einzelnen Maschinen ermittelt. Fiir die Produktionsbereichssteuerungsebene wird zur Maschinenbelegung eine verteilte Shifting-Bottleneck-Heuristik verwendet. Durch die Verwendung von auf Produktionssystemebene ermittelten Terminen konnen die Ablaufplane fiir die einzelnen Produktionsbereiche nebenlaufig berechnet werden. Anschliefiend finden zwischen den Produktionsbereichen iterative Abstimmungsprozesse statt. Die ShiftingBottleneck-Heuristik fiihrt eine maschinengruppenbasierte Dekomposition des zu losenden Schedulingproblems durch. Aus diesem Grund werden in diesem Kapitel effektive Losungsheuristiken fiir Gruppen paralleler Maschinen bereitgestellt. Falls die durch die Produktionsbereichssteuerungsebene vorgegebenen Ablaufplane ungiiltig sind, wird fiir die Maschinengruppensteuerungsebene ein Kontraknetzansatz vorgeschlagen, der eine Maschinenbelegung ermoglicht. Die in diesem Fall fiir die Bewertung von Angeboten der Maschinen und Nachfragen der Lose notwendigen Kosten werden auf Basis von Maschinenstundensatzen bestimmt. Fiir alle angegebenen Verfahren werden numerische Ergebnisse vorgestellt.
94
KAPITEL 4. VERFAHREN ZUR AUTONOMEN UND KOOPERATIVEN
4.1
STEUERUNG
Losterminierung auf Produktionssystemebene
4.1.1
Problemformulierung
Das durch die Produktionssystemsteuerungsebene zu losende Entscheidungsproblem kann als Losterminierungsproblem formuliert werden. Dazu wird ein Aggregationsschritt durchgefiihrt, der aufeinanderfolgende Prozess-Schritte eines Produktes geeignet zu Operationen zusammenfasst. Bei dieser Zusammenfassung orientiert man sich an der raumlichen Dekomposition des Produktionssystems in Produktionsbereiche, d.h., in einer Operation werden diejenigen Prozess-Schritte zusammengefasst, die auf den Maschinen eines Produktionsbereiches ausgefiihrt werden miissen. Fur eine formale Beschreibung wird ein Los j mit Arbeitsplan Sj := (sji, ...,Sj„^) betrachtet. Sjk bezeichnet den Prozess-Schritt k von Los j . Der Arbeitsplan Sj wird ersetzt durch den auf Operationen basierenden aggregierten Arbeitsplan Oj := (oji,..., OjnX Eine einzelne Operation besteht fiir Halbleiterfertigungssysteme beispielsweise aus drei bis vier im Arbeitsplan unmittelbar aufeinanderfolgenden Prozess-Schritten. Die Bezeichnung Ojk wird fiir die Operation k innerhalb des aggregierten Arbeitsplanes Oj verwendet. Operationen werden an Stelle von einzelnen Prozess-Schritten aus den folgenden drei Griinden angewendet: 1. Durch die Betrachtung von Operationen wird die Problemgrofie reduziert. Wegen der geringeren Problemgrofie kann ein langerer Terminierungshorizont betrachtet werden. 2. Auf Grund des mit Unsicherheiten behafteten Produktionsprozesses ist es nicht sinnvoU, auf dem Detaillierungsgrad von einzelnen Prozess-Schritten fiir einen langen Horizont zu arbeiten. 3. Entscheidungstrager (Produktionsplaner und -lenker) sind an geplanten Fertigstellungszeitpunkten fiir Lose beziiglich einzelner Produktionsbereiche interessiert. Das zu losende Losterminierungsproblem kann wie folgt formuliert werden. Gegeben seien die Lose 1 , . . . , n. Die betrachteten n Lose sind entweder bereits in das Produktionssystem eingesteuert Oder werden innerhalb des Terminierungshorizontes T eingesteuert. Es wird angenommen, dass fiir Los j noch die Operationen (ojn^,..., Ojn.) auszufiihren sind. Der geplante Fertigstellungstermin von Los j wird mit dj bezeichnet. Fiir jede Operation Ojs mit Uk < s < Uj sind geplante Startund Endtermine zu berechnen. Bei der Berechnung der geplanten Start- und Endtermine fiir die Operationen der Lose sind durch das Produktionssystem vorgegebene Kapazitatsbedingungen zu beriicksichtigen. Die berechneten Start- und Endtermine fiir die Operationen werden zur Festlegung interner geplanter Fertigstellungstermine, zur Planung des Bedarfs an Werkern und sekundaren Ressourcen sowie fiir optimale Batch- und Umriistentscheidungen benutzt. Die Verwendung von Informationen iiber zukiinftige Losankiinfte an Batchmaschinen wird beispielsweise in [64, 210] diskutiert. Die
4.1. LOSTERMINIERUNG
AUF PRODUKTIONSSYSTEMEBENE
95
Start- und Endtermine fiir die Operationen konnen aufierdem zur Leistungsbewertung einzelner Bereiche des Produktionssystems herangezogen werden. Weiterhin erlauben diese Termine auch die Implementierung verschiedener fertigstellungstermin-orientierter Prioritatsregeln im jeweiligen Produktionssystem. Durch die Vorgabe der Start- und Endtermine der Operationen ist eine Berechnung von Ablaufplanen durch die Produktionsbereichssteuerungsebene moglich, d.h., es findet eine zeitliche und raumliche Entkopplung der zu losenden Schedulingprobleme statt. Dieser Aspekt wurde in Abschnitt 3.7 fiir das verteilte hierarchische Steuerungsverfahren ausgenutzt.
4.1.2
Diskussion relevanter Literatur
In der Literatur werden Losterminierungsprobleme in unterschiedlichem Kontext behandelt. Im Wesentlichen konnen die vorgeschlagenen Ansatze in drei Gruppen unterteilt werden. 1. Optimierungsverfahren des Operations Research, insbesondere Methoden der linearen Optimierung, 2. Terminierungstechniken des MRP-II-Konzeptes, 3. Suchverfahren der Kiinstlichen InteUigenz. In der ersten Gruppe werden mathematische Optimierungsansatze verfolgt, die teilweise mit diskreter ereignis-orientierter Simulation kombiniert werden. In der Arbeit von Hung und Leachman [102] werden lineare Optimierungsansatze zur Losung von Terminierungsproblemen entwickelt. Abschatzungen fiir Durchlaufzeiten werden durch diskrete ereignis-orientierte Simulation ermittelt. Die Losungskomplexitat der zugrunde liegenden Hnearen Programme hangt von der Lange des Terminierungshorizontes und von der Granularitat der Zeitintervalle ab, die zur Kapazitatsallokation herangezogen werden. Im kurzfristigen Bereich werden aber Plane mit einer feinen zeitlichen Granularitat benotigt, so dass notwendigerweise mit kleinen Zeitintervallen gearbeitet werden muss. Aus diesem Grund sind lineare Optimierungsformulierungen fiir das in dieser Arbeit diskutierte Losterminierungsproblem nicht geeignet. Liao, Chang, Pei und Chang beschreiben in [125] einen Lagrange-Relaxationsansatz zur Losterminierung in einer Halbleiterfabrik. Dazu wird das zu losende Losterminierungsproblem als gemischt-ganzzahliges Optimierungsproblem formuliert. Durch Einfuhrung von geeigneten Lagrange-Multiplikatoren werden Telle der Nebenbedingungen in die Zielfunktion iibernommen. Auf diese Weise erhalt man ein beziiglich der Nebenbedingungen relaxiertes Problem mit einer anderen Zielfunktion. In der Arbeit [125] werden Termine fiir Operationen erzeugt, d.h., eine explizite Betrachtung von einzelnen Prozess-Schritten wird vermieden. Auf Grund der Komplexitat der Lagrange-Relaxation ist dieser Ansatz nur fur Terminierungshorizonte geringer Lange geeignet. Ein iterativ arbeitendes Verfahren zur Abschatzung von Wartezeiten fiir Lose vor den Maschinengruppen ist in [257] beschrieben worden. Ausgehend von einem mit einer einfachen Heuristik gefundenen Initialwert fiir die Wartezeiten werden diese Werte sukzessive verbessert, indem neue
96
KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Wartezeiten als Linearkombination des in der letzten Iteration berechneten und in der aktuellen Iteration gemessenen Wartezeitanteils bestimmt werden. Einer Iteration entspricht ein Simulationslauf. Zur Festlegung der Reihenfolge der Lose auf den einzelnen Maschinen werden Prioritatsregeln verwendet, die globale Wartezeitinformationen benotigen. Das von Vepsalainen und Morton [257] vorgeschlagene Verfahren beriicksichtigt keine fiir komplexe Produktionssysteme typischen Produktionsbedingungen. Die durch die iterative Simulation ermittelten Wartezeiten konnen in einem weiteren Schritt zur Terminierung von Losen auf Operationsbasis verwendet werden indem unter Verwendung der Wartezeiten Termine berechnet werden. Ansatze der zweiten Klasse verwenden Losungstechniken vom MRP-II-Typ, d.h., es werden durch die Anwendung von Vorwarts- und Riickwartsterminierungstechniken Termine fiir den Durchlauf der Lose durch das komplexe Produktionssystem bestimmt. Ein zu dieser Verfahrensgruppe gehoriger Ansatz wird in der Arbeit [100] fiir Produktionssysteme mit schleifenformigen Losdurchlaufen untersucht. Lose fur ausgewahlte Engpassmaschinengruppen werden durch Vorund Riickwartsterminierung explizit terminiert. An den anderen Maschinengruppen werden Termine bestimmt, indem die Bearbeitungszeiten der Lose mit einem konstanten Faktor, dem Flussfaktor [7], multipliziert werden und die so erhaltenen Grofien als Wartezeitabschatzungen verwendet werden. Methoden dieses Typs werden auch im System ReDS (Realtime Distributed System) [89] eingesetzt. Vor- und Ruckwartsterminierungsalgorithmen werden weiterhin in kommerziellen Schedulingsystemen angewandt [3]. MRP-II-artige Verfahren haben den Nachteil, dass getroffene Terminierungsentscheidungen innerhalb des Verfahrens nur mit grofiem Aufwand revidiert werden konnen. Suchheuristiken der kunstlichen Intelligenz [219] in Kombination mit MRP-II-artigen Ansatzen bilden die dritte Verfahrensklasse. Das Losterminierungsproblem wird hier als ConstraintSatisfaction-Problem formuliert. Aus diesem Grund konnen keine Optimalitatseigenschaften der auf diese Art und Weise gefundenen Losungen erwartet werden. In den Arbeiten [58, 57] verwenden die Autoren einen aus der Kiinstlichen Intelligenz bekannten Beam-Search-Algorithmus in Kombination mit Backtrackingschritten fur die Einsteuerung von Losen und fiir die Berechnung von Terminen fur Operationen. In beiden Arbeiten wird ein aquidistantes Zeitgitter verwendet und die Algorithmen werden schwerpunktmafiig fur "what if'-Analysen im Kontext der Loseinsteuerung angewandt.
4.1.3
Kapazitatsorientierter Beam-Search-Algorithmus
4.1.3.1
Terminierungsmethode ICA
Das einfau^he Verfahren ICA (Infinite-Capacity-Algorithm) zur Ermittlung von Start- und Endterminen fiir die noch auszufuhrenden Operationen der Lose kann wie folgt beschrieben werden [7]. Die Operationen jedes einzelnen Loses werden unabhangig von den anderen Losen terminiert, d.h., es werden keine Kapsizitatsrestriktionen beriicksichtigt. Das Grundproblem besteht in der Ermittlung eines Wartezeitanteils fiir die einzelnen Operationen, d.h. derjenigen Zeit, die Lose vor
4.L WSTERMINIERUNG
AUF PRODUKTIONSSYSTEMEBENE
97
der Bearbeitung im Produktionsbereich, der der Operation zugeordnet ist, auf Bearbeitung warten. Es wild in den weiteren Betrachtungen vorausgesetzt, dass fiir Los j zur Zeit t die als nachste auszufiihrende Operation Ojn^ ist. Die Festlegung von Fertigstellungsterminen doutj fur Lose j auf Produktionssystemebene kann unter konzeptionell einfacher Beriicksichtigung von Kapazitaten wie folgt durchgefiihrt werden: d^tr-=t + FFf2Pjr
(4-1)
r=nfc
mit FF: vorgeschriebener Flussfaktor, Uji Index der letzten Operation von Los j , Pjr'. Summe der Bearbeitungszeiten der zu Operation Ojr gehorenden Prozess-Schritte. Der Flussfaktor FF ist definiert als der Quotient aus der mittleren tatsachlichen Bearbeitungszeit und der reinen Bearbeitungszeit [7]. Die tatsachliche Bearbeitungszeit beinhaltet die auftretenden Wartezeiten, wahrend bei der reinen Bearbeitungszeit diese nicht beriicksichtigt werden. Der Flussfaktor hangt von der Kapazitat des Produktionssystems und der Menge der eingelasteten Lose ab. Es gilt offensichtlich FF > 1. Die geplanten Fertigstellungszeit djr+i fiir Operation r + 1 von Los j wird auf rekursive Art und Weise wie folgt bestimmt: djr+i := djr + FFpjr+v
(4.2)
Der geplante Wartezeitanteil fiir Operation r + 1 betragt somit (FF-l)p,v+i. Wenn dj ^ dautj nicht angenommen werden kann, miissen die geplanten Wartezeitanteile neu berechnet werden. Wenn dj — t> E S n Pjr gilt, wird dazu die Beziehung
verwendet. Andernfalls muss ein neuer geplanter Fertigstellungstermin dj gewahlt werden. Der modifizierte Wartezeitanteil betragt im ersten Fall (h -
l)pjr.
Die geplanten Fertigstellungstermine fiir die Operation r + 1 werden analog zu (4.2) durch djr+i : = djr + hpjr+1
(4.3)
festgelegt Die Bestimmung neuer geplanter Fertigstellungstermine und die Ermittlung neuer Werte fiir die GroBe h werden entweder fiir jede Schicht oder taglich rollierend durchgefiihrt. Ein wesentlicher Nachteil des beschriebenen Verfahrens besteht daxin, dass kapazitive Restriktionen des Produktionssystems durch den Flussfaktor nur unzureichend abgebildet werden. Aui3erdem werden Gewichte der Lose wahrend der Zuteilung von Wartezeiten nicht beriicksichtigt.
98
KAPITEL 4. VERFAHREN ZUR AUTONOMEN UND KOOPERATIVEN
4.1.3.2
STEUERUNG
Beam-Search-Algorithmus
Der Beam-Search-Algorithmus behebt die Schwachen des im letzten Abschnitt dargestellten Terminierungsansatzes durch eine bessere Beriicksichtigung von Kapazitaten. Kern eines Beam-Search-artigen Algorithmus ist ein Suchbaum [199, 219]. Jeder Knoten dieses Baums reprasentiert ein Zeitintervall T^. Der Baum ist in unterschiedliche Ebenen unterteilt. Knoten auf Ebene k haben einen Abstand von A; - 1 zur Wurzel des Baumes. Die Beam-Breite Pk gibt die maximale Anzahl von Knoten auf Ebene k an. Es gibt verschiedene Moglichkeiten, die Beam-Breite zu wahlen. Ein einfacher Ansatz besteht in der Wahl j3k = ak -{• b
mit geeignet gewahlten Konstanten a und b. Angenommen, Operation Oji von Los j wurde auf Ebene k des Baumes dem Intervall Tm zugeordnet. Dann gilt: 1. Die Suche nach einem moglichen Zeitintervall fiir die Nachfolgeroperation Oji+i kann wie folgt beschrieben werden. Es wird auf Ebene k ein Zeitintervall Tm+s mit minimalem s derart gesucht, dass die Kapazitatsrestriktionen fiir die Maschinen in diesem Zeitintervall nicht verletzt sind. 2. Ein Backtrackingschritt ist notwendig, wenn ein Terminierungsschritt in einem Zeitintervall auf Ebene k auf Grund der Verletzung von Kapazitatsrestriktionen nicht mogUch ist. Das bedeutet, dass die aktuell zu terminierende Operation Oji aus dem Intervall Tm entfernt wird und in eines der nachfolgenden Zeitintervalle von Tm eingeplant wird. Das Backtrackingverfahren erlaubt die rekursive Ausfiihrung von Backtrackingschritten. Die Einbeziehung von Backtrackingschritten ist eine wesentliche Voraussetzung, um Operationen so friih wie notig zu terminieren. Abbildung 4.1 dient zur Veranschaulichung des Suchbaumaufbaus. Wie in Abschnitt 3.2 beschrieben, existieren parallele Maschinen in den untersuchten Produktionssystemen, d.h., in den Arbeitsplanen ist jedem Prozess-Schritt lediglich eine Maschinengruppe zugeordnet, auf deren Maschinen die Ausfiihrung des Prozess-Schrittes erfolgen soil. Aus diesem Grund wird die Kapazitatsmodellierung auf der Ebene von Maschinengruppen anstatt auf der Ebene einzelner Maschinen vorgenommen. Die Kapazitat einer Maschinengruppe ist die Summe der Kapazitaten der Maschinen der Gruppe. Die Kapazitat der Maschinengruppe wird reduziert durch Kapazitaten fur vorbeugende Instandhaltungsarbeiten und fiir Maschinenausfalle. Es wird von detaiUierter Kapazitatsmodellierung innerhalb des Beam-Search-Algorithmus gesprochen, wenn der Maschinengruppe die verfugbare Kapazitat zugeordnet wird. Im Gegensatz dazu liegt nichtdetaillierte ModeUierung vor, wenn die Kapazitat der Maschinengruppe als unendlich angesehen wird. In diesem Fall entfallt die Uberprufung der Kapazitatsbedingungen beim Aufbau des Suchbaumes und der Flussfaktor wird zur Wartezeitabschatzung genutzt.
4.1. LOSTERMINIERUNG
AUF
PRODUKTIONSSYSTEMEBENE
99
Knoten des Suchbaums mit einer erfolgreich eingesetzten Operation
O
Knoten des Suchbaums, in den die Operation nicht erfolgreich eingefugt werden konnte
Abbildung 4.1: Suchbaum fiir den Beam-Search-Algorithmus
Wahrend einer Operation wird ein Los auf Maschinen verschiedener Maschinengruppen bearbeitet. Es wird vorausgesetzt, dass fiir jede Operation eines Loses eine Maschinengruppe existiert, die sich wie ein Engpass bezuglich der Prozess-Schritte der jeweiligen Operation verhalt, d.h., es ist moglich, eine Abbildung zwischen der Menge der Operationen und der Menge der Maschinengruppen mit hoher Auslastung zu konstruieren. Die Durchlaufzeit einer Operation ergibt sich als Summe der Bearbeitungszeiten der ProzessSchritte der Operation multipliziert mit einem Faktor / . Die Grofie / spiegelt die Wartezeit des Loses auf die Ausfiihrung der Prozess-Schritte der Operation wider. Eine geeignete Festlegung von / fiir unterschiedliche Operationen und Produkte unter Verwendung von historischen Daten aus dem MES oder durch Simulationsexperimente ist wesentlich fiir den Beam-Search-Algorithmus. Das Ziel des Losterminierungsverfahrens besteht darin, Start- und Endtermine fiir die Operationen der Lose zu bestimmen. Der Algorithmus sortiert die Lose beziiglich eines vorgegebenen Sortierkriteriums in einer aufieren Schleife und verwendet den Beam-Search-Algorithmus zur Berechnung der gesuchten Termine fiir jedes Los in einer inneren Schleife. Die aufiere Schleife des Verfahrens kann wie folgt beschrieben werden.
Aufiere Schleife des Beam-Search-Algorithmus 1. Einlesen der Informationen, die der Beam-Search-Algorithmus benotigt. 2.
Festlegung der Reihenfolge, in der die innere Schleife des Beam-Search-Algorithmus auf die Lose angewandt wird.
3.
Wiederhole solange, bis alle Lose eingeplant sind, die Anwendung der inneren Schleife des Beam-Search-Algorithmus.
100 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Abbildung 4.2 dient der Darstellung der aufieren Schleife. Die Wichtigkeit des Loses j wird mit Hilfe der nachfolgenden losspezifischen Grofie ermittelt:
Slj :=dj-t-
^
pju
(4.4)
wobei mit t die Zeit bezeichnet wird, zu der die Berechnung erfolgt. Die Grofie (4.4) berechnet den Schlupf, den Los j bis zum Erreichen des geplanten Fertigstellungstermins dj noch zur Verfiigung hat. Die grofite Prioritat erhalten Lose mit einem niedrigen Wert fiir (4.4). Das geplante Fertigstellungsdatum wird als ein zusatzliches Entscheidungskriterium betrachtet, falls der Schlupf fiir zwei Lose gleich ist. Die innere Schleife des Algorithmus ist in Abbildung 4.3 dargestellt.
Terminiere Los j unter Verwendung des BeamSearch-Algorithmus
Abbildung 4.2: Aufiere Schleife des Beam-Search-Algorithmus
Fiir jede Maschinengruppe werden die Kapazitatsbedingungen in periodischen Abstanden angepasst. Die Kapazitatsrestriktionen miissen separat fiir jedes Zeitintervall berechnet werden. Falls die Kapazitatsrestriktion fiir eine Operation eines Loses in einem bestimmten Zeitintervall verletzt ist, wird der Suchbaum entsprechend durchlaufen, um ein geeignetes Zeitintervall ausfindig zu machen. Die innere Schleife des Beam-Search-Algorithmus kann wie folgt beschrieben werden:
4.1. LOSTERMINIERUNG
AUF PRODUKTIONSSYSTEMEBENE
101
Innere Schleife des Beam-Search-Algorithmus 1. Wiederhole, bis alle Operationen eines fest gewahlten Loses terminiert sind, die nachfolgenden Schritte. 2. Auswahl der ersten noch nicht terminierten Operation des Loses. 3.
Suche nach dem friihest moglichen Zeitintervall fiir die Einplanung dieser Operation.
4.
Falls die Kapazitatsrestriktionen fiir dieses Zeitintervall erfiillt sind, Einplanung der Operation in das Zeitintervall, ansonsten Auswahl eines neuen geeigneten Zeitintervalls durch Backtracking (Sprung zu Schritt 3).
5.
Modifikation des Kapazitatsmodells der mit der Operation assoziierten Maschinengruppe fiir das ausgewahlte Zeitintervall. Der beschriebene Algorithmus wurde mit Hilfe der Schedulerklassen der ILOG-Software [122,
173] in der Progranuniersprache C + + implementiert. Durch die Anwendung der ILOG-Klassen ist es moglich, auch grofie Suchbaume effizient zu verwalten und zu traversieren. Weitere Details zum Verfahren und zur Implementierung sind in [87, 88] zu finden.
4.1.4
Design von Experimenten und numerische Ergebnisse
Um eine Leistungsbewertung des vorgeschlagenen Verfahrens vorzunehmen, werden ein diskreter ereignis-orientierter Simulator und ein Simulationsmodell einer Halbleiterfabrik verwendet. Dieser Ansatz wird relativ haufig als Methode zur Leistungsbewertung von neuartigen Planungs- und Steuerungsansatzen angewandt [100, 246]. Ein allgemeinerer Rahmen zur Leistungsbewertung von Steuerungssystemen, der den Emulationsgedanken im Kontext von verteilten Systemen aufgreift, wird in Kapitel 7 dieser Arbeit dargestellt. Zur Leistungsbewertung wird auf die in [159] dargestellte Architektur und das Simulationswerkzeug AutoSched AP 7.1 zuriickgegriflFen. Kernpunkt dieser Architektur ist ein blackboardartiges Objektmodell im Hauptspeicher des Computers. Die Objekte im Blackboard werden auf Basis von bestimmten Ereignissen im Simulationsmodell angepasst. Im Blackboard sind alle Informationen enthalten, die fiir den BeamSearch-Algorithmus benotigt werden. Es wird das Modell 1 [66] aus dem MIMAC (Measurement and Improvement of Manufacturing Cap£icity)-Projekt in einer leicht modifizierten Form als Simulationsmodell einer Halbleiterfabrik verwendet. Im Modell sind zwei Produkte (A,B) mit iiber 200 Prozess-Schritten enthalten, die auf tiber 80 unterschiedlichen Maschinengruppen auszufiihren sind. Details zum Modell sind in Tabelle 4.1 angegeben. In den Experimenten wird eine schlupf-basierte Prioritatsregel verwendet. Die Kegel wahlt das Los bzw. den Batch mit dem geringsten Schlupf zur Bearbeitung aus. Fiir die Berechnung des Schlupfes werden geplante (interne) Fertigstellungstermine fiir die Lose, die vor einer Maschinengruppe auf Bearbeitung warten, benotigt. Es wird der Losplan benutzt, um diese Termine festzulegen. Dazu wird zunachst fiir eine gegebene Operation und deren Prozess-Schritte die reine Beaxbeitungszeit der Prozess-Schritte auf Maschinen von (aus kapazitiver Sicht) unkritischen
102 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UNO KOOPERATIVEN
STEUERUNG
Modifiziere das KapazitStsmodell der mit der Operation assoziierten Maschinengruppe
Abbildung 4.3: Innere Schleife des Beam-Search-Algorithmus
Maschinengruppen ermittelt. Diese Zeit wird mit einem fest gewahlten Faktor multipliziert, um Abschatzungen fiir die Wartezeit der Lose an den unkritischen Maschinen zu bestimmen. Die Differenz zwischen der Zeit, die der jeweiligen Operation durch den Losplan zugeordneten wird, und der Wartezeitabschatzung wird dazu benutzt, die Zeitdauer zu berechnen, die fiir die Bearbeitung des Prozess-Schrittes auf der kritischen Maschinengruppe zur Verfiigung steht. Die geplanten Fertigstellungstermine fiir die einzelnen Prozess-Schritte einer Operation konnen auf diese Art und Weise durch Riickwartsterminierung ausgehend vom geplanten Fertigstellungstermin der Operation ermittelt werden. Fiir die Experimente wurde eine moderate Belastung des simulierten Produktionssystems gewahlt. Exponentiell verteilte Maschinenausfalle werden in den Experimenten angenommen. Es wird ein Vorausschauhorizont von drei Monaten gewahlt. Das Simulationsmodell wird durch eine gegebene Losverteilung fur die Halbleiterfabrik initialisiert. Die Lange eines einzelnen Simulationslaufes betrug fur die Experimente 100 Tage. Es werden fiinf unabhangige Wiederholungen jedes Simulationslaufes durchgefuhrt, um stochastisch signifikante Ergebnisse zu erzielen.
4.1. LOSTERMINIERUNG
AUF
103
PRODUKTIONSSYSTEMEBENE
Tabelle 4.1: Details zum MIMAC-Modell 1
Anzahl Maschinengruppen 83
Maximale Anzahl von Prozess-Schritten 245
Anzahl Anzahl Maschinen Produkte 265 2
Produkt
Anzahl Prozess-Schritte
A B
245 230
Es werden die folgenden Leistungsmafie in den Experimenten verwendet: 1. Mittlere Verspatung der Lose, die wahrend des Terminierungshorizontes in das Produktionssystem eingelastet und fertiggestellt wurden. Die Verspatung eines Loses wird dabei wie folgt definiert:
Tj:={q-djy,
(4.5)
wobei mit CJ der realisierte Fertigstellungstermin von Los j bezeichnet wird. Die mittlere Verspatung Taver ist wie folgt definiert: 1 " Taver '-= -Z^Tj,
(4.6)
wobei mit n die Anzahl fertiggestellter Lose bezeichnet wird. 2. Mittlere Voraussagbarkeit von Planen. Dieses Leistungsmai3 bewertet die Qualitat des Terminierungsverfahrens. Da sich der vorausgesagte Fertigstellungstermin fiir ein Los auf Grund des roUierenden Terminierungsansatzes im zeitlichen Verlauf verandert, wird der durch den ersten Plan ermittelte Fertigstellungstermin als feste Referenzgrofie gewahlt. Die positive bzw. negative Abweichung von diesem Referenzplan wird wie folgt definiert:
Dl:={q-C^)\ Dr:=(c7-q)^
(4.7) (4.8)
wobei mit CJ der durch den ersten Plan vorausgesagte Fertigstellungstermin von Los j bezeichnet wird. Die mittlere positive bzw. negative Abweichung vom Referenzplan ist durch Ker--=ltD7
(4-9)
"^=1
bzw.
^a-.e.:=-E^7 "^=1
gegeben.
(4.10)
104 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
3. Mittlere Durchlaufzeit fiir Produkt P: CT{P). 4. Durchsatz der Halbleiterfabrik gemessen in Losen: TP.
In einem ersten Experiment wird die Prage untersucht, inwieweit der gewahlte Flussfaktor das Verhalten des Produktionssystems beeinflusst. Eine erneute Terminierung erfolgt roUierend alle 24 Stunden. Es werden die in Tabelle 4.2 angegebenen Zeitintervalle gewahlt.
Tabelle 4.2: Wahl der Zeitintervalle (Szenario 1) Lange der Zeitintervalle
Zeit O.Tag - l.Tag
Ih
2.Tag - 7.Tag
4h
S.Tag - 14.Tag
8h
15.Tag - Ende des Terminierungshorizontes
24h
Numerische Ergebnisse fiir den Beam-Search-Algorithmus im Fall von vier detailliert modellierten Maschinengruppen sind in Tabelle 4.3 zu finden. In Tabelle 4.3 sind die Quotienten aus den unter Verwendung des Beam-Search-Algorithmus gewonnenen Leistungsmafien und den entsprechenden Leistungsmafien fiir das zu Beginn dieses Abschnittes beschriebene ICA-Verfahren angegeben. Aus Tabelle 4.3 ist ersichtlich, dass der Beam-Search-Algorithmus sensitiv beziiglich des gewahlten Flussfaktors ist. Der Beam-Search-Algorithmus liefert bessere Ergebnisse als ICA.
Tabelle 4.3: Ergebnisse fiir verschiedene Flussfaktoren (vier detailliert modellierte Maschinengruppen) FF
T
^aver
•'•aver
1.5
0.9570
0.6400
12.5510
CT{A)
CT{B)
TP
1.0430
0.9170
1.0101
1.6
0.9000
0.5990
13.9931
1.0341
0.9051
1.0150
1.7
0.9420
0.5891
17.9190
1.0350
0.9170
1.0120
ICA
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
In einem nachsten Experiment wird der Flussfaktor festgehalten. Die Auswirkungen einer detaillierteren Modellierung von Maschinengruppen auf die zu untersuchenden Leistungsmafie werden studiert. In Tabelle 4.4 ist zu erkennen, dass eine detaiUiertere Modellierung von Maschinengruppen zu verbesserten Ergebnissen fiihrt.
4.1. LOSTERMINIERUNG
AUF
105
PRODUKTIONSSYSTEMEBENE
Tabelle 4.4: Ergebnisse fiir eine unterschiedliche Anzahl von detailliert modellierten Maschinengruppen (BN)(Flussfaktor FF = 1.5) #BN
•I aver
^aver
4
0.9570
0.6410
14
0.9100
0.7251
ICA
1.0000
1.0000
CT{A)
CT{B)
TP
12.5510
1.0430
0.9171
1.0100
10.5031
1.0360
0.9050
1.0160
1.0000
1.0000
1.0000
1.0000
^aver
In einem dritten Experiment wird der Einfluss der Grofie der Zeitintervalle auf die zu ermittelnden Leistungsmafie untersucht. In diesem Experiment werden 14 detailliert modellierte Maschinengruppen betrachtet. Zusatzlich zu Szenario 1 (Tabelle 4.2) sind in Tabelle 4.5 die Szenarien 2 und 3 beschrieben. Die Werte der entsprechenden Leistungsmafie sind in Tabelle 4.6 aufgefiihrt.
Tabelle 4.5: Wahl der Zeitintervalle (Szenario 2 und Szenario 3) Zeit
Lange der Zeitintervalle Szenario 2
O.Tag -14.Tag
4h
15.Tag - Ende des Terminierungshorizontes
24h
Szenario 3 O.Tag- 14.Tag
8h
15.Tag- Ende des Terminierungshorizontes
24h
Tabelle 4.6: Ergebnisse fiir Zeitintervalle unterschiedlicher Lange (Flussfaktor FF = 1.5) Szenario
T J-aver
1
0.9101
^aver
0.7250
aver
10.5030
CT{A)
CT{B)
TP
1.0360
0.9050
1.0160
2
0.9182
0.7281
12.5190
1.0361
0.9061
1.0110
3
0.9451
0.7520
11.6042
1.0331
0.9230
1.0091
ICA
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
Die Ergebnisse in Tabelle 4.6 zeigen keine grofien Unterschiede. Daraus folgt, dass die in Szenario 1 vorgenommene detailliertere Modellierung durch die kleineren Zeitintervalle zu keiner wesentlichen Verbesserung der Werte fiir die betrachteten Leistungsmafie fiihrt. Auf der anderen Seite erhoht sich der Berechnungsaufwand durch die detailliertere Modellierung im Fall von kleinen Zeitintervallen betrachtlich.
106 KAPITEL
4.1.5
4. VERFAHREN
ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Iteratives simulationsbasiertes Verfahren zur Abschatzung von Wartezeiten
Im folgenden Abschnitt wird ein Verfahren beschrieben, das Simulation in iterativer Art und Weise einsetzt, um Wartezeitanteile fiir die einzelnen Prozess-Schritte der Lose zu ermitteln. Das Verfahren kann alternativ zum in Abschnitt 4.1.3 beschriebenen Terminierungsverfahren verwendet werden. Ansatze aus [257] werden auf komplexe Produktionssysteme ausgedehnt. Insbesondere werden schleifenformige Losdurchlaufe, Batchmaschinen und reihenfolgeabhangige Umriistzeiten in die Betrachtungen einbezogen. Zur Terminierung der Lose auf Operationsbasis werden Prioritatsregeln benutzt. In dieser Arbeit wird eine globale Apparent-Tardiness-Cost-Prioritatsregel mit Riistzeiten (GATCS) verwendet. Von ATC-artigen Prioritatsregeln ist bekannt, dass sie in Richtung der Minimierung der gewichteten Verspatung der Lose wirken [199, 256]. Die Prioritaten der Lose werden durch GATCS wie folgt bestimmt: W..W:=^expf-i^^)exp(-i^) Pji \ l^lP J V K2S/
(4.11)
mit slack{t)
:= Idj-t-pji \
-
Yl i'^^k + Pjk} k=i+i
In Beziehung (4.11) werden die folgenden Bezeichnungen verwendet: Wj
:
Gewicht von Los j ,
Pji
:
Bearbeitungszeit des Prozess-Schrittes i von Los j ,
dj
:
geplanter Fertigstellungstermin von Los j ,
t
:
Zeitpunkt der Entscheidungsfindung,
wtji
:
erwartete Wartezeit fiir die Ausfiihrung des Prozess-Schrittes i von Los j ,
Ki
:
Skalierungsparameter fiir den Schlupfanteil in Beziehung (4.11),
p
:
mittlere Bearbeitungszeit der Lose,
Sji
:
Riistzeit, die zur Durchfiihrung der Bearbeitung des Prozess-Schrittes i von Los j erforderlich ist,
K2
:
Skalierungsparameter fiir den Riistanteil in Beziehung (4.11),
s
:
mittlere Riistzeit,
Uj
:
Anzahl der Prozess-Schritte von Los j .
Im Fall von Batches wird durch Summierung der durch Beziehung (4.11) gegebenen Prioritatswerte fiir die Lose des Batches der Prioritatswert des Batches ermittelt. Das Verfahren benutzt Simulation und eine prioritatsregelbasierte Steuerung zur Ermittlung von Wartezeitanteilen fiir die einzelnen Prozess-Schritte in iterativer Art u n d Weise. Durch exponentielle G l a t t u n g werden die in der Vergangenheit ermittelten Wartezeitanteile mit den in der Simulation ermittelten Wartezeiten in Beziehung gesetzt. Das Verfahren besteht aus den drei nachfolgenden Schritten:
4.1. LOSTERMINIERUNG
AUF PRODUKTIONSSYSTEMEBENE
107
1. Initialisierung der Wartezeitanteile: Es werden fiir die Prozess-Schritte i aller Lose j , die sich im Produktionsprozess befinden oder wahrend des Terminierungshorizontes in das P r o duktionssystem eingesteuert werden, Wartezeitanteile wtji berechnet. Dazu wird die Wartezeit wtji ^ s Vielfaches der Bearbeitungszeit pji angesetzt, d.h., es gilt wtj^ = {FF — l)pji.
2. Iterative Anpassung der Wartezeitanteile: In diesem Schritt werden unter Verwendung einer Prioritatsregel, die die Wartezeitabschatzungen beriicksichtigt, Simulationslaufe durchgefuhrt. Wahrend des Simulationslaufes k werden die im Simulationsmodell beobachteten Wartezeiten g]J^ gemessen und zur Ermittlung von geschatzten Wartezeitanteilen wtji'^
fiir
die Iteration k + 1 verwendet. Es gilt: wtl1^'^:={l-a)wtl^^
+ cxq^\
(4.12)
In Gleichung (4.12) bezeichnet a e (0,1) einen Glattungsparameter, der festlegt, wie stark die geschatzten Wartezeitanteile der Iteration k in der Berechnung der geschatzten Wartezeitanteile fiir die Iteration A: -I-1 eingehen. Die Schatzung von Wartezeitanteilen gemafi Gleichung (4.12) entspricht einer exponentiellen Glattung erster Ordnung. Aus der betriebswirtschaftlichen Literatur [244] ist bekannt, dass es haufig gunstiger ist, anstelle einer exponentiellen Glattung erster Ordnung mit einer exponentiellen Glattung zweiter Ordnung zu arbeiten. In diesem Fall werden die Wartezeitanteile wt^^l'^^^ fiir die Iteration k-\-l wie folgt bestimmt: wt%:={l-a)wt^,'^
+ aq^,
(4.13)
wt% := (1 - a)wtf,f
+ awtl^l
(4.14)
wtf^»
:= 2r.t^, - w«« + ^
(«;*« - rui^
.
(4.15)
Die Grofien wt^^\ und wtl^^2 sind Hilfsgrofien, die zur Ermittlung des geschatzten Wartezeitanteils wtji
herangezogen werden. Die Iteration wird beendet, falls max \wt\'l'^^^ - wtf\ j i
•'
< threshold
(4.16)
•>
gilt. Dabei ist threshold eine vorgegebene positive reelle Zahl.
3. Anwendung der ermittelten Wartezeitanteile: Die gemafi (4.12) oder (4.15) berechneten Wartezeitanteile werden zu Wartezeitanteilen fiir die Operationen aggregiert. Auf dieser Basis werden friiheste Verfiigbarkeitstermine und spateste Endtermine fiir die noch auszufuhrenden Operationen der Lose festgelegt.
108 KAPITEL 4. VERFAHREN ZUR AUTONOMEN UND KOOPERATIVEN
STEUERUNG
Das vorgeschlagene Verfahren kann schematisch wie folgt beschrieben werden: Iteratives simulationsbasiertes Verfahren zur Bestimmung von Wartezeiten 1. Initialisierung der Wartezeitanteile. 2. Iterative Durchfiihrung von Simulationslaufen, Nach jedem Simulationslauf findet eine Anpassung der Wartezeitanteile unter Verwendung von geschatzten Wartezeitanteilen aus vergangenen Simulationslaufen und der im aktuell durchgefiihrten Simulationslauf gemessenen Wartezeit statt. Das Verfahren wird beendet, wenn die Differenz zwischen den Wartezeitschatzungen in zwei aufeinanderfolgenden Iterationen einen vorgegebenen Schwellenwert unterschreitet. 3.
Aggregierung der geschatzten Wartezeitanteile von Prozess-Schritten zu geschatzten Wartezeiten fiir Operationen.
4.1.6
Softwaretechnische Umsetzung des iterativen Verfahrens
Das vorgeschlagene Verfahren wurde unter Verwendung der in Abschnitt 7.3 beschriebenen Architektur zur Leistungsbewertung implementiert. Das in dieser Architektur vorgeschlagene generische Datenmodell wurde um Klassen erweitert, die zur Aufnahme der Wartezeitanteile fiir die ProzessSchritte der Lose dienen. Die objektorientierte Datenbank wird in dieser Anwendung dazu genutzt, Persistenz der Wartezeitanteile iiber einen Simulationslauf hinweg sicherzustellen. Ein Steuerprogramm iibernimmt die Aufgabe, den Aufruf des verwendeten Simulationstools in den einzelnen Iterationen des Verfahrens zu gewahrleisten. Die verwendete Architektur ist in Abbildung 4.4 dargestellt.
Steuerprogramm - Initialisierung der Datenbank (Iteration 0) - Auslesen der Wartezeiten aus der Datenbank in die Datenschicht (Iteration k > 0)
OODB
Blackboardartige Datenschicht
Zusatzliche Klassen fiir Aufnahme von losspezifischen Wartezeiten
Simulationsmodell Aufruf des Simulators
Abbildung 4.4: Softwarearchitektur fiir das iterative simulationsbasierte Verfahren
4.L LOSTERMINIERUNG
4.1.7
AUF PRODUKTIONSSYSTEMEBENE
109
Numerische Ergebnisse fiir das iterative simulationsbasierte Verfahren
In diesem Abschnitt werden die Ergebnisse numerischer Experimente mit dem vorgeschlagenen Verfahren beschrieben. Die Giite des Verfahrens hangt von den nachfolgenden Einflussfaktoren ab: • verwendete Prioritatsregel, • Ordnung der exponentiellen Glattung, • Wahl des Glattungsfaktors, • Auslastung des Produktionssystems, • Wahl der Endtermine fur die Lose, • Wahl der Gewichte fiir die Lose. Die verwendete Prioritatsregel spezifiziert die (globale) Abfertigungsregel, die zur Steuerung des Produktionssystems verwendet wird. Die geplanten Endtermine fiir Lose werden unter Verwendung des Flussfaktors FF durch die Beziehung dj := Vj -\- FFYdi-^Pji berechnet. Die diskreten Verteilungen Di, D2 fiir die Gewichte der Lose sind durch die nachfolgenden Beziehungen gegeben: mit WahrscheinUchkeit pi = 0.50
Wi = 1,
Di{w) := ^ mit Wahrscheinlichkeit p2 = 0.35
W2 = 5,
mit Wahrscheinhchkeit p^ = 0.15
W3 = 10
und mit Wahrscheinhchkeit pi = 0.50 : Wi = I, D2{w) := \ mit Wahrscheinhchkeit p2 = 0.45 : W2 = 2, mit Wahrscheinlichkeit ps = 0.05 : w^ = 10. Die Verteilung Di dient zur Abbildung der Situation, dass im betrachteten Produktionssystem viele Lose ein hohes Gewicht besitzen. Die Verteilung D2 hingegen weist vielen Losen ein mittleres und nur wenigen Losen ein sehr hohes Gewicht zu. In Tabelle 4.7 sind die konkreten Auspragungen der relevanten Faktoren angegeben. Die Ergebnisse numerischer Experimente fiir das vorgeschlagene Verfahren sind in Tabelle 4.8 abgebildet. Die gewichtete Verspatung (TWT), die Durchlaufzeit (CT) und der Durchsatz (TP) in Losen werden untersucht. Die Werte aller Leistungsmafie sind relativ zu den entsprechenden Werten fiir nach FIFO gesteuerte Produktionssysteme angegeben. Es wurden diejenigen Werte fiir die Parameter KI und K,2 ausgewahlt, fiir die das Produktionssystem bei einer Steuerung nach GATC die niedrigsten Werte fiir das Leistungsmafi TWT besitzt. Die Lange eines einzelnen Simulationslaufes betrug 180 Tage. Um stochastisch signifikante Ergebnisse zu erhalten, wurden jeweils fiir eine Prioritatsverteilung Di der Lose fiinf unabhangige Realisierungen erzeugt. Im nachsten Schritt wurden bei einer fest gewahlten Realisierung fur die
n o KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Tabelle 4.7: Faktorielles Design zur Leistungsbewertung des Verfahrens
Auspragung
Anzahl
GATCS
1
Ordnung der exponentiellen Glattung
i;2
2
Glattungsfaktor
0.7;0.9
2
Auslastung des Produktionssystems
niedrig, hoch
2
Endtermine fur die Lose
FF = 1.6, FF = 2.2
2
Verteilung der Gewichte der Lose
Di,D2
Faktor Verwendete Prioritatsregel 1
2
Stochastisch unabhangige Wiederholungen
5 pro Realisierung
von Experimenten
von Di
Anzahl der Simulationslaufe
160
Prioritatsverteilung jeweils fiinf stochastisch unabhangige Realisierungen des Simulationsmodells betrachtet. Insgesamt wurden fiir jede Realisierung von Di 160 Simulationslaufe mit dem MIMACModell 1 durchgefiihrt, um die in Tabelle 4.8 dargestellten Ergebnisse zu erzielen.
Tabelle 4.8: Numerische Ergebnisse fiir das iterative Verfahren TP
TWT
CT
0.4963
0.9435
1.0075
0.5018 0.9447
1.0075
Ordnung der exponentiellen Glattung
1 1
1 2 Glattungsfaktor
0.4988
0.9438
1.0075
0.4992
0.9443
1.0073
niedrig
0.5550
0.9583
1.0064
hoch
0.4431
0.9298
1.0085
FF = 1.6
0.4357
0.9446
1.0073
FF = 2.2
0.5623 0.9435
1.0076
0.9461
1.0068
a = 0.7 a = 0.9 Auslastung
Geplante Endtermine fiir die Lose
Gewichte Di
0.4385
D2
0.5595 0.9420
Mittel
0.4990
0.9441
1.0081
1.0075 1
1
4.2. SHIFTING-BOTTLENECK-HEURISTIK
FUR
PRODUKTIONSBEREICHE
111
Aus Tabelle 4.8 ist zu erkennen, dass eine exponentielle Glattung zweiter Ordnung im Mittel zu geringfiigig schlechteren Ergebnissen fiihrt als eine exponentielle Glattung erster Ordnung. Weiterhin wird deutlich, dass fiir das untersuchte Simulationsmodell ein Glattungsfaktor von a = 0.7 giinstiger ist als ein Glattungsfaktor von a = 0.9. Erwartungsgemafi liefert das Verfahren fiir eng gewahlte geplante Endtermine und fiir eine hohe Systemauslastung bessere Ergebnisse als in den entgegengesetzten Fallen. Aufierdem ist das Verfahren in der Lage, Produktionssysteme mit einer grofien Anzahl von Losen mit hoher Prioritat (Gewicht) besser zu steuern als Produktionssysteme, in denen sehr viele Lose eine mittlere Prioritat besitzen. Fiir weitere numerische Ergebnisse wird auf die Arbeit von Monch und Zimmermann [169] verwiesen. In Abbildung 4.5 ist der typische Verlauf der Verringerung des Wertes fiir die absolute gewichtete Verspatung (Total weighted tardiness (TWT)) dargestellt. Es ist deutlich zu erkennen, dass bereits eine geringe Anzahl von Iterationen zum besten TWT-Ergebnis fiihrt.
M
a
0.9900
•
0.9500
•
0.9100
-
0.8700
-
0.8300
-
N
.
,
,
^*I>.__ -
s MS
a £
>
1
0.7900
. ^
\
1
2
3
4
5
Iteration —o^
Durchschnitt
—»- Maximum
—«*- Minimum
J,
Durchschnitt-FIFO
Abbildung 4.5: Veranderung des Leistungsmafies TWT in Abhangigkeit von der Anzahl der Iterationen
4.2
Shifting-Bottleneck-Heuristik fur Produktionsbereiche
In diesem Abschnitt wird eine Erweiterung der Shifting-Bottleneck-Heuristik beschrieben, mit der eine verteilte maschinengruppeniibergreifende Maschinenbelegungsplanung durchgefiihrt werden kann. Die urspriingUche Heuristik ist eine Dekompositionsheuristik, mit der das zu losende Schedulingproblem in eine Folge von Schedulingproblemen fiir Maschinengruppen zerlegt wird [2, 199]. Die Gesamtlosung wird entsprechend der Darstellung in Abschnitt 2.5.2 durch einen disjunktiven Graphen hergestellt. Diese Heuristik wird erweitert, indem zunachst die Heuristik auf
112 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
einzelne Produktionsbereiche des Produktionssystems angewandt wird. Dadurch ist es moglich, die durch die Segmentierung des Produktionssystems gegebene inharente Nebenlaufigkeit auszunutzen. Im nachsten Schritt werden die durch die nebenlaufige Berechnung der Ablaufplane fiir einzelne Produktionsbereiche erhaltenen Abschatzungen fiir Start- und Endzeiten der Lose in einem einzelnen Produktionsbereich durch iterative Anwendung der Shifting-Bottleneck-Heuristik verbessert. Der Abschnitt ist wie folgt aufgebaut. In Abschnitt 4.2.1 wird die klassische disjunktive GraphenformuHerung fiir Job-Shop-ScheduUngprobleme angegeben. Insbesondere wird dargestellt, wie fiir komplexe Produktionssysteme typische Produktionsbedingungen adaquat modeUiert werden konnen. Im daran anschhefienden Abschnitt 4.2.2 werden die auf der disjunktiven Graphenformuherung basierende Shifting-Bottleneck-Heuristik und die fiir komplexe Produktionssysteme notwendigen Erweiterungen beschrieben. Bine modifizierte, verteilte Shifting-Bottleneck-Heuristik wird in Abschnitt 4.2.3 entwickelt. In Abschnitt 4.2.4 wird eine Leistungsbewertung fiir die verteilte Shifting-Bottleneck-Heuristik vorgenommen.
4.2.1
Disjunktive Graphenformulierung
In dieser Arbeit wird die von Graham, Lawler, Lenstra und Rinnooy Kan [83] eingefiihrte (Q;|/3|7)Notation fiir deterministische Schedulingprobleme verwendet. Das a-Feld dient zur Beschreibung des untersuchten Produktionssystems aus Maschinensicht, das P-Feld charakterisiert die betrachteten Prozessbedingungen, wahrend das 7-Feld die verwendete Zielfunktion spezifiziert. In diesem Abschnitt wird das Schedulingproblem FJm\rj, Skj, batch, recrc\ Y^ WjTj
(4.17)
untersucht. Mit FJm wird ein Produktionssystem bezeichnet, das sowohl Job-Shop- als auch FlowShop-Charakteristika tragt (in [199] wird dafiir auch die Bezeichnung flexibler Job-Shop verwendet). Dynamische Losankiinfte r^, reihenfolgeabhangige Umriistzeiten Skj, Batchmaschinen (mit batch bezeichnet) sowie schleifenformige Losdurchlaufe (durch recrc gekennzeichnet) sind typisch. Als Zielfunktion wird die absolute gewichtete Verspatung TWT
:= Y^WjTj verwendet, wobei
mit Wj das Gewicht von Los j und mit Tj die Verspatung von Los j bezeichnet wird. Produktionssysteme mit den unter (4.17) genannten Prozessbedingungen sind Beispiele fiir komplexe Produktionssysteme entsprechend der in Abschnitt 2.2 vorgenommenen Begriffsbildung. Es wird zunachst beschrieben, wie Problem (4.17) durch einen disjunktiven Graphen dargestellt werden kann. Dabei wird der Darstellung in den Arbeiten [133, 134, 189] gefolgt. 4.2.1.1
Bestandteile eines disjunktiven Graphen
Es wird ein disjunktiver Graph G:={V,Ec,Ed), aus den nachfolgend beschriebenen drei Mengen bestehend, gebildet:
4.2. SHIFTING-BOTTLENECK-HEURISTIK
FUR PRODUKTIONSBEREICHE
113
• Knoten V: Jeder Knoten reprasentiert einen Prozess-Schritt eines Loses, der auf einer Maschinengruppe auszufiihren ist. Auf Grund der schleifenformigen Losdurchlaufe ist es moglich, dass unterschiedliche Prozess-Schritte eines Loses auf derselben Maschinengruppe auszufiihren sind. Aus diesem Grund ist die Bezeichnung eines Loses nicht zur Identifikation eines Knotens ausreichend, sondern es muss zusatzhch die Bezeichnung des Prozess-Schrittes angegeben werden. Es wird ein kiinsthcher Startknoten s fiir den Graphen und ein kiinstUcher Endknoten e/t fiir jedes Los k angelegt. • Konjunktive Kanten Ec'. Eine konjunktive Kante ist als gerichtete Kante (u, v) zwischen einem Knoten u e V und einem Knoten v e V definiert. Konjunktive Kanten dienen zur Beschreibung von direkten Vorgangerbeziehungen zwischen Knoten. Direkte Vorgangerbeziehungen werden dabei durch den Arbeitsplan des Loses oder durch ScheduHngentscheidungen verursacht. • Disjunktive Kanten Ed: Ein Element dieser Menge wird als ungerichtete Kante e € (w, v) zwischen Knoten u,v € V, die mit unterschiedlichen Losen assoziiert werden, definiert. Disjunktive Kanten werden zur Modellierung von noch nicht durchgefiihrten ScheduHngentscheidungen herangezogen. Die drei nachfolgenden Falle sind moglich: 1. Es existiert keine gerichtete Kante zwischen den Knoten u und v. 2. Entweder die gerichtete Kante (u, v) oder 3. die gerichtete Kante {v, u) existiert. Im Fall 2 wird das mit Knoten u assoziierte Los unmittelbar vor dem mit Knoten v assoziierten Los bearbeitet. Im Fall 3 wird die Bearbeitungsreihenfolge umgekehrt. In Abbildung 4.6 ist ein disjunktiver Graph fiir die Lose {1,2,3}, die auf den vier Maschinen {1,2,3,4} bearbeitet werden, dargestellt. Eine Kennzeichnung der Knoten des Graphen erfolgt in der Form {Maschinenbezeichnung, Losbezeichnung). Konjunktive Kanten werden als durchgezogene Linien dargestellt. Disjunktive Kanten werden durch gestrichelte Linien symbolisiert. Diejenigen Knoten, die Maschinenbelegungsentscheidungen fiir eine feste Maschine darstellen, werden identisch gefarbt. Zur Fertigung von Los 2 sind beispielsweise die Prozess-Schritte 2a und 26 auf Maschine 4 notwendig. Fiir eine Probleminstanz von FJm\rj, Skj, batch, recrc\Y,'U}jTj wird die Erzeugung eines disjunktiven Graphen wie folgt durchgefiihrt: • Fiir jeden noch auszufiihrenden Prozess-Schritt eines Loses werden Knoten erzeugt. • Konjunktive Kanten werden entsprechend der Arbeitsplane der Lose in den Graphen eingefiigt. • Jedes Los j erhalt einen kiinstlichen Endknoten ej, der zur Aufnahme des geplanten Fertigstellungstermines fiir das Los dient.
114 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Abbildung 4.6: Graphenreprasentation fiir Lose {1,2,3} und Maschinen {1,2,3,4} • Ein kiinstlicher Startknoten s wird eingefiigt, der alle Startknoten der Lose mit konjunktiven Kanten verbindet. • Zusatzlich wird ein kiinstlicher Endknoten e eingefiigt, der als Endknoten der konjunktiven Kanten (cj, e) dient. • Es werden alle diejenigen Knoten verbunden, die zu unterschiedlichen Losen gehoren und mit Prozess-Schritten assoziiert sind, die auf den Maschinen einer identischen Maschinengruppe auszufiihren sind und keine kiinstlichen Start- oder Endknoten darstellen.
4.2.1.2
Darstellung eines Ablaufplanes im disjunktiven Graphen
Das Schedulingproblem fiir eine fest gewahlte Maschinengruppe ist gelost, wenn fiir die Menge der Knoten, deren assoziierte Prozess-Schritte auf einer Maschinengruppe auszufiihren sind, die disjunktiven Kanten durch gerichtete, d.h. konjunktive Kanten ersetzt werden. Es entstehen Ketten von Kanten. Die mit den Knoten einer Kantenkette assoziierten Prozess-Schritte werden auf genau einer Maschine ausgefiihrt und legen eine Reihenfolge der Lose fiir diese Maschine fest. Falls nach dem Einfiigen von gerichteten Schedulingkanten der daraus resultierende Graph einen Kreis enthalt, d.h. nicht mehr azyklisch ist, ist der durch den Graphen reprasentierte Ablaufplan fiir das gesamte Produktionssystem nicht mehr zulassig, da in diesem Fall zwei ProzessSchritte wechselseitig auf ihre Fertigstellung warten. Der beschriebene Graph ist zur Modellierung von Produktionssystemen mit zyklischen Losdurchlaufen geeignet, diese werden entsprechend dem verwendeten Arbeitsplan durch konjunktive Kanten zwischen den Knoten abgebildet.
4.2.1.3
Festlegung der Kantengewichte
In der bisher erfolgten Beschreibung des disjunktiven Graphen wurden zeitliche Aspekte vernachiassigt. Zeitliche Aspekte miissen in Form von Wartezeiten der Lose vor den Maschinengruppen
4.2, SHIFTING-BOTTLENECK-HEURISTIK
FUR PRODUKTIONSBEREICHE
115
und in Form von Bearbeitungszeiten der Lose auf den Maschinen beriicksichtigt werden. Das Gewicht einer Kante (u, v) wird mit p{u, v) bezeichnet. Die Beriicksichtigung der Bearbeitungszeit von Losen findet wie folgt statt: 1. Konjunktive Kanten, die keinen kiinstlichen Startknoten enthalten, erhalten die Bearbeitungszeit des Loses, das durch den Startknoten der Kante reprasentiert wird, als Gewicht. 2. Einer Kante der Gestalt (s, w) wird die Ankunftszeit des Loses im Produktionssystem als Gewicht zugewiesen, d.h. p(s, it) := rj, wobei u einen Knoten bezeichnet, der zu Los j gehort. 3. Kanten der Gestalt (e^, e) erhalten das Kantengewicht 0. 4. Ungerichtete disjunktive Kanten stellen noch zu treffende Schedulingentscheidungen dar und erhalten deshalb das Gewicht 0. Fiir alle Knoten u ^ s gilt, dass das Gewicht aller ausgehenden gerichteten Kanten gleich ist. Dieses Gewicht wird mit p{u) bezeichnet. Mit Hilfe der Berechnung von langsten Wegen in G kann fiir jeden Prozess-Schritt eines Loses ein Zeitintervall I {node) := [tnodeavaiiabie,tnodedue] derart berechnet werden, dass, falls der Prozess-Schritt innerhalb von I{node) gestartet wird, der spateste Fertigstellungstermin Cmax der durch den Graphen reprasentierten Lose nicht iiberschritten wird. Der friiheste Verfiigbarkeitstermin fiir den Prozess-Schritt eines Loses, der durch den Knoten v reprasentiert wird, wird als langster Weg vom kiinstlichen Startknoten s nach v berechnet. Die Berechnung der friihesten Verfiigbarkeitstermine r{v) kann wie folgt formalisiert werden: r{v) := max {r{u) -}- p(u, v)\u € V, (u, v) € Ec} , r(s) := 0, I r{v),
falls V zu einer Maschinengruppe gehort, fiir die noch kein Ablaufplan ermittelt wurde,
r{v) := ^ max(f(v),rai), falls der zu Knoten v zugehorige Prozess-Schritt an Maschinengruppe i mit friihester Verfiigbarkeit rai ausgefiihrt werden soil. Die Fertigstellungszeit fiir das mit Knoten u assoziierte Los in V^ \ {5, e} ist gegeben durch c{u) := r{u) -\-p{u). Die Fertigstellungszeit fiir den kiinstlichen Endknoten e e V wird durch c(e) := r(e) festgelegt. Geplante Fertigstellungszeit en fiir die durch die Knoten u in l^ \ {«} reprasentierten ProzessSchritte in G werden rekursiv bestimmt durch d{u) := min {d{v) - p{v)\v € V, (u, v) € Ec} . Fur Endknoten e£V
gilt: d(e) := r(e).
Durch Losen der Rekursion fiir d{u) kann gezeigt werden, dass die Gr6i3e d{u) —p{u) fiir Knoten u eV\{s,e}
gleich der Differenz zwischen dem Fertigstellungstermin des kiinstlichen Endknotens
e und der Lange des langsten Pfades von u nach e ist.
116 KAPITEL 4. VERFAHREN ZUR AUTONOMEN 4.2.1.4
UND KOOPERATIVEN
STEUERUNG
Behandlung von Batchmaschinen
Maschinengruppen mit Batchcharakteristik sind typisch fur komplexe Produktionssysteme. Erweiterungen der klassischen Shifting-Bottleneck-Heuristik, die Batchmaschinen beriicksichtigen, sind in [134] beschrieben worden. Die wesentUche Idee besteht darin, in den Graphen entsprechende Batchknoten einzufiigen. Diese neu in G eingefiigten Knoten reprasentieren die Batchentscheidungen im Ablaufplan. Es wird vorausgesetzt, dass alle Lose, die Bestandteil des Batches sind, identische Bearbeitungszeiten haben. Aus diesem Grund ist es moghch, dem kiinstUchen Batchknoten u eine wegfiihrende Kante zuzuweisen, die als Gewicht die identische Bearbeitungszeit p{u) der batchbildenden Lose besitzt. Jeder kiinsthche Batchknoten verfugt iiber eingehende Kanten, die ihn mit den Knoten der batchbildenden Lose verkniipfen. Die eingehenden Kanten besitzen Kantengewicht 0, da die Bearbeitungszeit durch die ausgehende Kante des kiinstUchen Batchknotens abgebildet wird. Das beschriebene Vorgehen zur Berechnung von friihesten Verfugbarkeitszeitpunkten bleibt bei dieser Wahl der Kantengewichte fiir die Batchknoten giiltig. Das Vorgehen bei der Berechnung der geplanten Fertigstellungstermine fiir die Lose an den Batchmaschinen muss allerdings modifiziert werden. Drei Falle sind zu unterscheiden. Fiir kunstUche Batchknoten ist die Rekursionsgleichung zur Berechnung von geplanten Fertigstellungsterminen nach wie vor giiltig, da die Kantengewichte genau wie fiir Maschinengruppen ohne Batchcharakteristik definiert sind. Fiir Knoten, die Lose reprasentieren, die in einem Batch enthalten sind, wird der geplante Fertigstellungstermin definiert als der geplante Fertigstellungstermin des entsprechenden kiinstlichen Batchknotens. Abschliefiend muss noch der geplante Fertigstellungstermin von direkten Vorgangerknoten der Knoten, die zu einem Batch zusammengefasst werden, definiert werden. Geplante Fertigstellungszeiten fur die durch die Knoten u in V \ {s} reprasentierten Prozess-Schritte in G werden rekursiv bestimmt durch d(u) := mm{d{v) —p{v)\v € V, {u,v) e Ec, v ist ein Knoten, der in keinem Batch enthalten ist},
d{u) := min {rf(u), min{d{v) - p{v)\v G V, (w, v) e Ec, v ist ein Knoten, der in einem Batch enthalten ist, und v ist der v zugeordnete kiinstliche Batchknoten} }. In Abbildung 4.7 werden Rechtecke mit abgerundeten Ecken zur Kennzeichnung von Batches verwendet. Aus den Knoten (2,2) und (2,3) wird ein Batch gebildet. Der Knoten (2,1) stellt einen zweiten Batch im betrachteten disjunktiven Graphen dar. Dabei wird wieder die Notation {Maschinenbezeichnung,
Losbezeichnung) zur Bezeichnung von Knoten im Graphen verwendet.
4.2. SHIFTING-BOTTLENECK-HEURISTIK
FUR
PRODUKTIONSBEREICHE
117
Abbildung 4.7: Disjunktiver Graph mit den kiinstlichen Batchknoten {(2,2), (2,3)} und {(2,1)}. 4.2.1.5
Behandlung von reihenfolgeabhangigen Umrtistzeiten
Das Vorhandensein von reihenfolgeabhangigen Umriistzeiten verlangt Anderungen der Kantengewichte im disjunktiven Graphen G. Solange fiir eine bestimmte Maschinengruppe noch kein Ablaufplan vorUegt, konnen die reihenfolgeabhangigen Umriistzeiten nicht ermittelt werden. Aus diesem Grund werden sie nicht im Graphen beriicksichtigt. Nachdem ein Ablaufplan fiir eine bestimmte Maschinengruppe vorliegt, konnen die reihenfolgeabhangigen Umriistzeiten bestimmt und in den Graphen eingefugt werden, indem die Kantengewichte Pneu(u, v) := p(u, v) + s(u, v) gesetzt werden, falls Knoten u e V und Knoten v e V durch eine Kante verbunden sind und u und v auf einer Maschine bearbeitet werden. Mit s(n, v) wird die Umriistzeit bezeichnet, die bei Ubergang von der Bearbeitung des Vorgangerloses des mit Knoten u assoziierten Loses zur Bearbeitung von u notwendig wird.
4.2.1.6
Behandlung von parallelen Maschinen
Im disjunktiven Graphen G findet anfanglich keine Reprasentation von Einzelmaschinen statt, sondern lediglich den Maschinengruppen werden Knoten zugeordnet. Nachdem fiir eine Maschinengruppe ein Ablaufplan ermittelt wurde, liegen sowohl eine Aufteilung der Lose auf die Maschinen der Maschinengruppe als auch die Reihenfolge der Lose auf den einzelnen Maschinen vor. Der Ablaufplan wird im Graphen durch Einfiigen der entsprechenden konjunktiven Kanten implementiert. Es entstehen Kantenketten. Auf diese Weise werden Informationen iiber parallele Maschinen in den Graphen iibernommen.
4.2.2
Shifting-Bottleneck-Heuristik
Aufbauend auf der im letzten Abschnitt entwickelten Abbildung des zu losenden Schedulingproblems durch einem disjunktiven Graphen wird dieses durch einen Dekompositionsansatz gelost.
118 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Das Schedulingproblem Jm\\Cmax fur Job-Shops Jm und die Zykluszeit Cmax wurde von Adams, Balas und Zawack [2] unter Verwendung der Shifting-Bottleneck-Heuristik gelost. Die Heuristik wurde spater auf die maximale Verspatung Lmax [188] und auf die absolute gewichtete Verspatung TWT [200] als Zielfunktionen ausgeweitet. Der in dieser Arbeit beschriebene Ansatz baut auf Arbeiten von Mason, Fowler und Carlyle [134] auf, die den Fall der absoluten gewichteten Verspatung fur komplexe Job-Shops untersuchen. Ein komplexer Job-Shop wird in [134] als Werkstattfertigung definiert, in der wesentliche Prozessbedingungen der Halbleiterindustrie anzutrefFen sind. Die Heuristik zerlegt das Problem in Schedulingprobleme fiir einzelne Maschinengruppen. Die Ankunftszeiten der Lose an der Maschinengruppe und die geplanten Fertigstellungszeiten beziiglich der Maschinengruppe werden durch den disjunktiven Graphen vorgegeben. Jedes dieser Probleme wird als Unterproblem bezeichnet. Nachdem alle Unterprobleme gelost sind, werden die Ablaufplane fiir die einzelnen Maschinengruppen zur Gesamtlosung zusammengefiihrt. Die zu losenden Unterprobleme sind von der Gestalt Pm\rj, batch, Sjk,prec\
^VJJTJ.
Im weiteren Verlauf der Arbeit werden parallele Maschinen mit Pm bezeichnet. Mit prec werden einzuhaltende Vorgangerbeziehungen bezeichnet, da andernfalls Kreise im disjunktiven Graphen auftreten konnen. Verfahren zur Vermeidung von Kreisen in disjunktiven Graphen im Kontext der ShiftingBottleneck-Heuristik sind in [189] diskutiert worden. Friiheste Verfiigbarkeitstermine Vj und geplante Fertigstellungstermine dj sind Parameter der zu losenden Schedulingprobleme Pm\rj, batch, Sjk,prec\YlWjTj. Die Grofien Vj und dj werden mit Hilfe des disjunktiven Graphen bestimmt. Die Shifting-Bottleneck-Heuristik ist durch die folgende Schrittfolge gegeben: Shifting-Bottleneck-Heuristik 1. Mit M sei die Menge aller Maschinengruppen bezeichnet. Die Menge der Maschinengruppen, fiir die noch kein Ablaufplan vorliegt, wird MQ genannt. Setze MQ : = 0 . 2.
Bestimme und lose die Unterprobleme fiir jede Maschinengruppe i G M\MQ.
3.
Bestimme die am meisten beziiglich eines festen Mal3es kritische Maschinengruppe aus
4.
Lege eine Zuordnung der Lose zu Maschinen und eine Bearbeitungsreihenfolge auf den Ma-
M\MQ.
Die ausgewahlte Maschinengruppe sei mit k bezeichnet.
schinen der Maschinengruppe k unter Verwendung der Losung des Unterproblems aus Schritt 2 fest. Setze MQ := MQ U {k}. 5.
Reoptimiere den Ablaufplan fiir jede Maschinengruppe m e Mo unter Beriicksichtigung der neu hinzugefiigten konjunktiven Kanten fiir Maschinengruppe k.
6.
Die Heuristik wird beendet, falls M = MQ gilt. Anderenfalls gehe zu Schritt 2.
4.2. SHIFTING-BOTTLENECK-HEURISTIK
FUR PRODUKTIONSBEREICHE
119
In Schritt 3 muss festgelegt werden, wie kritisch eine bestimmte Maschinengruppe ist. Es ist moglich, die absolute gewichtete Verspatung der Lose an einer Maschinengruppe zu berechnen. Als am meisten kritische Maschinengruppe wird diejenige mit der grofiten gewichteten Verspatung ausgewahlt. In [199] werden die durch Schedulingentscheidungen an einer Maschinengruppe verursachten Anderungen der Fertigstellungstermine der Lose relativ zum Graphen in einer vorherigen Iteration als Mal3 dafiir verwendet, wie kritisch eine bestimmte Maschinengruppe ist. Weiterhin ist es moglich, Kenntnisse iiber geplante und dynamische Engpasse zu verwenden, um festzulegen, wie kritisch eine Maschinengruppe ist. Weitere Verfahren sind in [99, 9] beschrieben.
4.2.3
Verteilte Shifting-Bottleneck-Heuristik
In diesem Abschnitt werden Modifikationen der Shifting-Bottleneck-Heuristik vorgeschlagen, die zu einer Verringerung der benotigten Rechenzeit und des Datenbereitstellungsaufwandes fiihren. Ausgangspunkt der Uberlegungen sind die in Abschnitt 4.1 entwickelten Methoden, die interne friiheste Startzeiten und geplante Fertigstellungstermine fiir die Lose, die sich innerhalb eines Produktionsbereichs aufhalten, bereitstellen. Der friiheste Starttermin fiir Operation s von Los j wird mit rjs und der geplante Fertigstellungstermin von s mit djg bezeichnet.
4.2.3.1
Modifikation der disjunktiven Graphenreprasentation fur Produktionsbereiche
Auf Grund der betrachteten zyklischen Losdurchlaufe durch mehrere Produktionsbereiche sind Modifikationen des disjunktiven Graphen notwendig. Im abgebildeten Beispielgraphen 4.8 werden von Los 2 die Operationen opi und op2, die aus den durch die Knoten {(1,2a), (2,2a), (3,2a)} und {(1,26), (2,26), (3,26)} reprasentierten ProzessSchritten bestehen, innerhalb des Schedulinghorizontes ausgefiihrt. ZusatzUche Kanten zur Sicherstellung der Giiltigkeit der Vorrangbeziehungen beziiglich einer Maschine werden verwendet. Diese neuen Kanten werden durch gestrichelte Pfeile in Abbildung 4.8 dargestellt. Die geplanten Fertigstellungstermine fiir die Operationen opi und op2 sind in den Knoten e2a und 626 abgelegt. Sie sind Vorgaben des Terminierungsverfahrens. Der am Knoten e2o gespeicherte geplante Fertigstellungstermin wird zur Berechnung von geplanten Fertigstellungsterminen fiir die durch die Knoten reprasentierten Prozess-Schritte von opi verwendet. Die Berechnung der geplanten Fertigstellungstermine fiir die Prozess-Schritte von Operation op2 erfolgt analog. Die friihesten Starttermine r2a und r2b werden durch das Terminierungsverfahren bereitgestellt und dienen als Grundlage fiir die Berechnung von friihesten Verfiigbarkeitsterminen fiir die Prozess-Schritte der beiden Operationen.
120 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Abbildung 4.8: Modifizierte Graphenreprasentation fiir den zyklischen Durchlauf von Losen durch Produktionsbereiche
4.2.3.2
Verfahren
Eine naive verteilte Shifting-Bottleneck-Heuristik auf Basis von Produktionsbereichen sieht wie folgt aus. Naive verteilte Shifting-Bottleneck-Heuristik (NDSBH)
^ ^ ^
1. Berechne unter Verwendung der Algorithmen aus Abschnitt 4.1 Termine fiir den Durchlauf der Lose durch das Produktionssystem. 2.
Berechne Ablaufplane fiir alle Produktionsbereiche unter Verwendung der Termine aus Schritt 1 entsprechend der Shifting-Bottleneck-Heuristik. Es wird ein fest gewahlter Zeitpunkt t und ein Schedulinghorizont der Lange TA+TO/I untersucht,
Weiterhin wird der fest gewahlte Produktionsbereich k betrachtet. Die Operation Ojs fiir Los j und den Produktionsbereich k ist innerhalb des Schedulinghorizontes auszufiihren, falls Vjs < t-\-T/s,+Tah gilt, d.h., falls die Operation innerhalb von [t,t + T^-\-Tah] gestartet wird. Falls bereits Prozess-Schritte einer Operation abgeschlossen wurden, wird Vjs := t gesetzt und es sind nur noch die nicht abgeschlossenen Prozess-Schritte dieser Operation auszufiihren. Auf diese Weise erhalt man die Menge auszufiihrender Operationen 0{t, TA, TahJi k) fiir Los j . Die Menge der im Produktionsbereich k auszufiihrenden Operationen Ok ist folglich durch Ok:=
\JO{t,r^,TahJ,k)
gegeben. Im Folgenden wird angenommen, dass fiir Los j die Operationen {ojk^,..., Ojk„} innerhalb des Schedulinghorizontes auszufiihren sind. Das Losterminierungsverfahren aus Abschnitt 4.1.3 liefert den Vektor: rk := {{rjk.^djk,), •..,
{rjkn,djkj}
4.2. SHIFTING-BOTTLENECK-HEURISTIK FUR PRODUKTIONSBEREICHE
121
mit friihesten Start- und spatesten Fertigstellungsterminen fiir die Operationen des Produktionsbereiches k. Nachdem ein Ablaufplan fur die Prozess-Schritte der in Produktionsbereich k auszufiihrenden Operationen ermittelt wurde, konnen die Eintrage dieses Vektors modifiziert werden. Mit Sjki wird der Starttermin von Operation Ojki entsprechend dem Ablaufplan bezeichnet. Der dazu korrespondierende Endtermin wird mit e^fe. bezeichnet. Es wird fjfc. := Sjki gesetzt. Die geplanten Fertigstellungstermine werden durch djki := ejfc. modifiziert. Es wird bemerkt, dass djki > djki gelten kann. Der modifizierte Vektor lautet: rk,mod '= {{rjki ,djkj,...,
{fjkn 5 c^jfcn)} •
Fiir eine konkrete Operation Ojfe. werden die Vorganger- und Nachfolgeroperation bestimmt. Die Grofie fjfc, wird als spatester Fertigstellungstermin fiir die Vorgangeroperation verwendet. Umgekehrt wird rfj^, als friihester Starttermin fur die Nachfolgeroperation interpretiert. Die erste Variante
der
verteilten
Shifting-Bottleneck-Heuristik
(Distributed-Shifting-
Bottleneck-Heuristic (DSBH)) geht davon aus, dass in dem Produktionssystem ein geplanter Engpassproduktionsbereich vorliegt. Die Informationen iiber den geplanten Engpassproduktionsbereich konnen zur Verbesserung der Ablaufplane fiir diejenigen Produktionsbereiche verwendet werden, die kein geplanter Engpass sind.
Verteilte Shifting-Bottleneck-Heuristik (DSBH-I) 1. Berechne einen Ablaufplan fiir den Engpassproduktionsbereich entsprechend der ShiftingBottleneck-Heuristik. Es wird angenommen, dass dies der Produktionsbereich A: ist. 2. Telle den Produktionsbereichen m^k
modifizierte friiheste Starttermine bzw. modifizierte
spateste Fertigstellungstermine fiir die Lose auf Basis der durch den Ablaufplan realisierten Termine fur Produktionsbereich k mit. 3.
Berechne fiir die Produktionsbereiche m^k
Ablaufplane, welche die modifizierten friihesten
Starttermine bzw. die modifizierten spatesten Fertigstellungstermine beriicksichtigen.
Alternativ kann in Schritt 1 die Berechnung von Ablaufplanen fiir alle Produktionsbereiche erfolgen. Der (bezuglich eines festzulegenden MaBes) am meisten kritische Produktionsbereich nimmt dann die RoUe des Engpassproduktionsbereiches ein und dient zur Modifikation der Startund Endtermine der Lose in den verbleibenden Produktionsbereichen. Es wird bemerkt, dass die Berechnung von Ablaufplanen fiir einzelne Produktionsbereiche in Schritt 1 und Schritt 3 von DSBH-I verteilt erfolgen kann, da die in Abschnitt 4.1 beschriebenen Losterminierungsverfahren durch das Bereitstellen von Start- und Endterminen auf Operationsbasis zu einer Entkopplung der zu losenden Scheduhngprobleme fiihren. Die Idee des Austauschs von Startterminen zwischen Unterproduktionssystemen ist in einem anderen Kontext von Weigelt [264] verwendet worden. Die zweite Variante der verteilten Shifting-Bottleneck-Heuristik setzt keinen geplanten Engpass im zu steuernden Produktionssystem voraus. Die kritischen Produktionsbereiche werden
122 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
sukzessive im Rahmen der verteilten Shifting-Bottleneck-Heuristik bestimmt. Ahnlich wie bei DSBH-I kann die Berechnung der Ablaufplane fiir einzelne Produktionsbereiche in Schritt 1 und 4 von DSBH-II verteilt erfolgen. Das DSBH-II-Verfahren kann wie folgt zusammengefasst werden. Verteilte Shifting-Bottleneck-Heuristik (DSBH-II) 1.
Die Menge der Produktionsbereiche sei mit MB bezeichnet. Die Menge der Produktionsbereiche, fiir die bereits ein Ablaufplan, der ausgeftihrt werden soil, ermittelt wurde, sei MBQ genannt. Setze MBQ : = 0 . Berechne Ablaufplane fiir alle Produktionsbereiche entsprechend der Shifting-Bottleneck-Heuristik unter Benutzung der Termine des Losterminierungsverfahrens.
3.
Berechne den am meisten kritischen Produktionsbereich aus MB\MBQ.
ES wird angenom-
men, dass dies der Produktionsbereich k ist. Setze MBQ := MBQ U{k}. 4.
Telle den anderen Produktionsbereichen modifizierte friiheste Starttermine bzw. modifizierte spateste Fertigstellungstermine auf Basis der durch den Ablaufplan realisierten Termine fiir Produktionsbereich k mit.
5.
Berechne fiir die Produktionsbereiche m € MB\MBQ
Ablaufplane, welche die modifizierten
friihesten Starttermine bzw. die modifizierten spatesten Fertigstellungstermine beriicksichtigen. 6.
Wenn MB = MBQ gilt, wird die Iteration beendet. Anderenfalls gehe zu Schritt 3.
Die Verfahren DSBH-I und DBSH-II miissen modifiziert werden, wenn der Schedulinghorizont TA + Tah so grofi gewahlt ist, dass innerhalb dieses Zeitraums Lose einen bestimmten Produktionsbereich mehrfach besuchen. In diesem Fall haben modifizierte Starttermine fiir Lose in benachbarten Produktionsbereichen direkten Einfluss auf die (als fest betrachteten) Termine im Ausgangsproduktionsbereich. Folglich ist es notwendig, die modifizierten Starttermine auch dem Ausgangsproduktionsbereich mitzuteilen.
4.2.4
Entwurf der durchzufuhrenden Experimente
Numerische Experimente mit der verteilten Shifting-Bottleneck-Heuristik in einem dynamischen Umfeld eines komplexen Produktionssystems werden in diesem Abschnitt beschrieben. Innerhalb des faktoriellen Designs werden die folgenden Faktoren beriicksichtigt: • Haufigkeit des Scheduleraufrufs, • Lange des Schedulinghorizontes: die Lange des Schedulinghorizontes r ergibt sich wie in Abschnitt 3.7 beschrieben aus der Zeit zwischen zwei Aufrufen des Schedulers r^ und der Lange des Uberlappungshorizontes Tah^ • Verwendung von geeigneten Unterproblemlosungsverfahren fiir die Shifting-BottleneckHeuristik,
4.2. SHIFTING-BOTTLENECK-HEURISTIK
FUR
123
PRODUKTIONSBEREICHE
• geplante Endtermine der Lose im Produktionssystem, • Verteilung der Gewichte der Lose. Die konkreten Auspragungen der Faktoren sind in Tabelle 4.9 angegeben. Tabelle 4.9: Faktorielles Design zur Leistungsbewertung des Verfahrens Auspragung
Anzahl
Aufrufhaufigkeit des Terminierungsverfahrens
2h,4h,5h,6h,8h
5
Haufigkeit des Scheduleraufrufes
2h,4h,5h,6h,8h
5 3
Faktor
Uberlappungshorizont
Oh, 2h, 4h
Verwendete Unterproblemlosungsverfahren
FIFO, ATC (BATCS)
2
Wahl der Endtermine fiir die Lose
FF = L6, FF = 2.0
2
Verteilung der Gewichte der Lose
Di,D2
2
Systemlast
moderat, hoch
Stochastisch unabhangige Wiederholungen von
2 5
Experimenten Anzahl der Experimente
6000
Experimente mit den Unterproblemlosungsverfahren FIFO, ATC bzw. BATCS fiir Batchmaschinen werden durchgefiihrt. Das FIFO-Unterproblemlosungsverfahren erstellt einen Ablaufplan fiir die jeweilige Maschinengruppe unter Verwendung der FIFO-Prioritatsregel. Das Batched-Apparent-Tardiness-Cost-With-Setups (BATCS)-Unterprobleml6sungsverfahren vewendet eine Batch-Variante der Apparent-Tardiness-Cost-Prioritatsregel, die in Abschnitt 4.1 beschrieben wurde. Der BATC-Prioritatswert eines Batches ergibt sich als Summe der ATC-Prioritaten der Lose, die den Batch bilden. Die Verwendung von ATC- bzw. BATC-artigen Prioritatsregeln ist sinnvoU, da aus der Literatur [256, 199] bekannt ist, dass deraxtige Prioritatsregeln eine niedrige gewichtete Verspatung der Lose auf Maschinengruppenebene zur Folge haben. Die geplanten Endtermine fiir Lose werden unter Verwendung des Flussfaktors FF durch die Beziehung:
dj:=rj-\-FFj2Pji berechnet, wobei pji die Bearbeitungszeit von Prozess-Schritt i fiir Los j bezeichnet. Die Verteilungen Di, D2 fiir die Gewichte der Lose sind analog zu den in Abschnitt 4.1.7 verwendeten.
4.2.5
Ergebnisse numerischer Experimente mit der verteilten ShiftingBottleneck-Heuristik
Die Simulationsexperimente werden mit der in Abschnitt 7.3 beschriebenen Architektur durchgefiihrt. Es wurden drei unterschiedliche Produktionssysteme fiir die Experimente verwendet:
124 KAPITEL 4. VERFAHREN ZUR AUTONOMEN UND KOOPERATIVEN STEUERUNG 1. Produktionssystem A: Um die entwickelten Verfahren testen zu konnen, wird das in Anhang A.l beschriebene Modell eines Produktionssystems wie folgt modifiziert. Es wird ein Produktionssystem betrachtet, in dem die Maschinen des in Anhang A.l beschriebenen Modells jeweils einen Produktionsbereich bilden. Das Produktionssystem besteht aus drei Produktionsbereichen. Die Maschinen des ersten Produktionsbereichs werden bei der Bearbeitung zweimal in Anspruch genommen. Die Arbeitsplane der beiden Produkte umfassen somit 24 Prozess-Schritte. 2. Produktionssystem B: Dieses Produktionssystem stellt eine reduzierte Variante des Produktionssystems C dar. Es enthalt 146 Maschinen in vier Produktionsbereichen. Die Arbeitsplane bestehen aus iiber 100 Prozess-Schritten. 3. Produktionssystem C: Es wird das in Tabelle 4.1 beschriebene Modell einer mittelgrofien Halbleiterfabrik verwendet. Im Produktionssystem C liegen iiber 200 Maschinen und iiber 200 Prozess-Schritte fiir die beiden Produkte vor. Das Modell besteht aus fiinf Produktionsbereichen. Die Lange der stochastisch unabhangigen Simulationslaufe betrug in alien Experimenten nach Abzug der Einschwingphase 50 Tage. Die Ergebnisse in den nachfolgenden Tabellen werden als Quotient aus dem Wert fiir das jeweihge Leistungsmafi und dem Wert des LeistungsmaBes in einem nach der FIFO-Strategie gesteuerten Produktionssystem angegeben. Die in Abschnitt 3.7 fiir die Darstellung des verteilten hierarchischen Steuerungsansatzes benutzten Bezeichnungen fiir die Terminierungs- und Schedulinghorizonte werden verwendet. Fiir die Terminierung der Lose auf Produktionssystemsteuerungsebene wurde der in Abschnitt 4.1.3 beschriebene ICATerminierungsansatz verwendet. Die gewichtete Verspatung der Lose bezuglich der Maschinengruppe wurde benutzt, um festzulegen, wie kritisch eine bestimmte Maschinengruppe ist. In den Experimenten wurden die absolute gewichtete Verspatung (TWT), die Durchlaufzeit (CT) und der Durchsatz (TP) untersucht. In Tabelle 4.10 sind Ergebnisse fiir Produktionssystem A bei hoher Systemlast angegeben. Tabelle 4.10: Ergebnisse fiir Produktionssystem A Verfahren
Pmctx'^A
TA
7"o/i
SSPx
SSP2
TWT
CT
TP
FIFO
-
-
-
-
1.0000
1.0000
1.0000
SBH
-
2h
Oh
ATC
ATC
0.6161
0.8936
0.9041
NDSBH
4h
4h
2h
ATC
ATC
0.4635
0.8691
0.9737
NDSBH
2h
2h
Oh
ATC
FIFO
0.4737
0.8522
0.9289
NDSBH
6h
6h
2h
ATC
FIFO
0.6039
0.8522
0.9845
DSBH-I
2h
2h
2h
ATC
FIFO
0.4789
0.8501
0.9289
DSBH-II
8h
8h
Oh
ATC
ATC
1.2128
1.0488 0.9521
4.2. SHIFTING-BOTTLENECK-HEURISTIK
FUR
PRODUKTIONSBEREICHE
125
Mit SSPi werden Unterproblemlosungsverfahren fiir Engpassmaschinengruppen bezeichnet, mit SSP2 Unterproblemlosungsverfahren fiir die verbleibenden Maschinengruppen. Enge Kundenendtermine wurden vorgegeben {FF = 1.6) und die Gewichtsverteilung Di untersucht. Es ist deutlich zu erkennen, dass fiir bestimmte Werte von r^ und Tah die DSBH-Verfahren der zentralen ShiftingBottleneck-Heuristik iiberlegen sind. Die zentrale Shifting-Bottleneck-Heuristik ist ihrerseits einer FIFO-basierten Steuerung beziiglich der absoluten gewichteten Verspatung und der Durchlaufzeit weit iiberlegen. Lediglich der Durchsatz verringert sich bei alien untersuchten Varianten der Shifting-Bottleneck-Heuristik geringfiigig. Aus Tabelle 4.10 ist weiterhin zu erkennen, dass bestimmte Werte der Parameter TA und Tah zu besonders guten Ergebnissen fiihren. Die Qualitat der Ergebnisse hangt von den verwendeten Unterproblemlosungsverfahren ab. Erwartungsgemafi fiihrt die Verwendung von ATC- bzw. BATC-Prioritatsregeln als Unterproblemlosungsverfahren zu besseren Ergebnissen als die entsprechenden FIFO-Unterproblemlosungsverfahren. Weitere Ergebnisse fiir das Produktionssystem A bei moderater Systemlast sind in Tabelle 4.11 zu finden. Die Kundenendtermine wurden durch die Festlegung FF = 1.6 gewahlt. Es ist deutHch zu erkennen, dass in dieser Situation die FIFO-Strategie zu den besten Ergebnissen beziiglich der gewichteten Verspatung fiihrt. Varianten der verteilten Shifting-Bottleneck-Heuristik liefern geringfiigig schlechtere Ergebnisse.
Tabelle 4.11: Ergebnisse fiir Produktionssystem A Verfahren
Pmax'T'A
TA
Tah
SSPi
SSP2
TWT
CT
TP
FIFO
-
-
-
-
1.0000
1.0000
1.0000
SBH
-
2h
Oh
ATC
ATC
1.1754 0.9893
0.9641
NDSBH
4h
4h
2h
ATC
ATC
1.0462 0.9989
0.9735
DSBH-I
2h
2h
2h
ATC
FIFO
1.1528 0.9851
0.9766
DSBH-II
8h
8h
Oh
ATC
ATC
3.4259
DSBH-II
5h
5h
2h
ATC
ATC
1.0973 1.0107 0.9828
1.2236 0.9610
In Tabelle 4.12 sind Ergebnisse fiir das Produktionssystem B bei hoher Systemlast und durch FF = 1.6 festgelegte Kundenendtermine dargestellt. Die Gewichtsverteilung Di wurde fiir diese Experimente verwendet. Die verteilte Shifting-Bottleneck-Heuristik liefert deutlich bessere Ergebnisse als die FIFO-Strategie und geringfiigig bessere Ergebnisse als die zentrale Shifting-BottleneckHeuristik. Wie im Fall von Produktionssystem A hangen die Ergebnisse von den Parametern TA, Tah und den gewahlten Unterproblemlosungsverfahren ab. Im Gegensatz zum Produktionssystem A erhoht sich der erreichte Durchsatz bei Einsatz der Schedulingverfahren. In Abbildung 4.9 ist die gewichtete Verspatung fiir Produktionssystem B fiir unterschiedliche Faktoren dargestellt. Es wurde TA = 5/i und Tah = O/i gewahlt, da diese Parameter zu guten Ergebnissen fiir die verteilte Shifting-Bottleneck-Heuristik fiihren.
126 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
TWT pro Los (in Stunden) 10 T--
TD • D s
DSBH-II
TA
= 5, ATC, ATC, Tah = 0
Pmax'^A
= 5, TA '•= 5, ATC. ATC, Tah == 0
NDSBH
Pma
= 5, TA = 5, ATC, ATC, Tah == 0
XTA
FIFO SBH
DU Di
= 5
PmaxTA
DSBH-I
' D2 moderat
fcl Di
FI.MM, ' D2 hoch
FF = 1.6
1
• Di
' D2 moderat
FF = 2.0
Abbildung 4.9: TWT-Ergebnisse fiir Produktionssystem B
Tabelle 4.12: Ergebnisse fiir Produktionssystem B Verfahren
Pmax'^A
TA
Tah
SSPi
SSP2
TWT
TP
FIFO
-
-
-
-
1.0000
1.0000
SBH
-
2h
Oh
ATC
ATC
0.3665
1.0102
NDSBH
5h
5h
Oh
ATC
ATC
0.3337
1.0153
NDSBH
5h
5h
Oh
ATC
FIFO
0.3930
1.0140
NBSBH
8h
2h
Oh
ATC
ATC
0.4215
1.0166
DSBH-II
5h
5h
Oh
ATC
FIFO
0.3931
1.0153
DSBH-II
8h
8h
4h
ATC
ATC
2.2792
0.9578
Aus Abbildung 4.9 ist deutlich ersichthch, dass bei weit gesetzten Kundenendterminen [FF = 2.0) die FIFO-Strategie den zentralen bzw. verteilten ScheduUngverfahren iiberlegen ist. Die Verfahren zeigen ein ahnHches Verhalten bei moderater Systemlast. DSBH-I ist dem Verfahren DSBHII bei der Verwendung der Gewichtsverteilung Di unterlegen. Wenn D2 zugrunde gelegt wird, Uefert DSBH-I bessere Ergebnisse als DSBH-II. Sowohl DSBH-I als auch DSBH-II ergeben in diesem Fall eine geringere Verspatung als die zentrale Shifting-Bottleneck-Heuristik. Offensichtlich ist die
4.3. SCHEDULING-FRAMEWORK
FUR PARALLELE
127
MASCHINEN
Produktionssystemsteuerungsebene im Fall von D2 in der Lage, bessere Vorgaben als bei Verwendung von Di bereitzustellen. In Tabelle 4.13 sind Ergebnisse fiir Produktionssystem C bei hoher Systenalast und durch FF = 1 . 6 festgelegte Kundenendtermine aufgefiihrt. Die Gewichtsverteilung Di wurde fiir die Ermittlung dieser Ergebnisse zugrunde gelegt. Die Ergebnisse sind als Quotient aus dem Wert fiir das jeweilige Leistungsmafi und dem Wert des Leistungsmafies in einem nada. der Operational-Due-Date (ODD)-Prioritatsregel gesteuerten Produktionssystem angegeben. Die ODD-Regel geht davon aus, dass fur jeden Prozess-Schritt geplante Fertigstellungszeitpunkte zur Verfugung stehen. Lose mit dem geringsten Schlupf beziiglich dieser internen geplanten Fertigstellungszeitpunkte erhalten die hochste Prioritat. Im hier betrachteten Fall erfolgt die Bereitstellung der geplanten Fertigstellungszeitpunkte durch den ICA-Terminierungsansatz und Riickwartsterminierung. Die Anwendung der ODD-Regel in Produktionssystem C liefert bessere Ergebnisse als die Anwendung der FIFO-Prioritatsregel. Tabelle 4.13 zeigt, dass die verteilte Shifting-BottleneckHeuristik zu besseren Ergebnissen als die zentrale Shifting-Bottleneck-Heuristik fiihrt. Insbesondere ist DSBH-II bei Verwendung der in Tabelle 4.13 angegebenen Parametern dem Verfahren DSBH-I unterlegen. Tabelle 4.13: Ergebnisse fiir Produktionssystem C Verfahren
PmaxTA
TA
Tah
SSPi
SSP2
TWT
TP
ODD
6h
-
-
-
-
1.0000
1.0000
SBH
-
2h
Oh
ATC
ATC
0.4027
1.0021
NDSBH
2h
2h
Oh
ATC
ATC
0.3739
0.9978
DSBH-II
2h
2h
Oh
ATC
FIFO
0.3884
0.9912
DSBH-II
2h
2h
Oh
ATC
ATC
0.3126
0.9978
DSBH-I
2h
2h
Oh
ATC
ATC
0.3678
1.0043
NDSBH
4h
4h
Oh
ATC
FIFO
0.4949
0.9934
DSBH-I
5h
5h
Oh
ATC
FIFO
0.6518
0.9912
DSBH-I
5h
5h
Oh
ATC
ATC
0.5678
0.9737
DSBH-II
5h
5h
Oh
ATC
FIFO
0.5628
0.9891
DSBH-II
5h
5h
Oh
ATC
ATC
0.6563
0.9825
4.3
Scheduling-Framework fur parallele Maschinen
4.3.1
Problemanalyse und Diskussion relevanter Literatur
Gegeben sind n Lose, die auf m parallelen Maschinen M := { l , . . . , m } ohne Unterbrechung unter Beriicksichtigung von in komplexen Produktionssystemen anzutreffenden Restriktionen zu bearbeiten sind. Die Bearbeitung der Lose auf den parallelen Maschinen ist dabei so durchzufuhren, dass eine vorgegebene Zielfunktion optimiert wird. Bin Beispiel fiir eine mogliche Zielfunktion ist
128 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
die absolute gewichtete Verspatung der Lose auf den parallelen Maschinen. Bei dieser Zielfunktion wird die Verspatung der Lose mit einem losspezifischen Gewicht, das sich aus der Bedeutung des jeweiligen Kundenauftrags ableitet, multipliziert. Die Minimierung der maximalen Verspatung der Lose oder der Zykluszeit sind andere wichtige Zielsetzungen. Gesucht sind (a) eine Aufteilung der Lose auf die parallelen Maschinen, (b) eine Bearbeitungsreihenfolge der Lose fiir jede Einzelmaschine unter Beriicksichtigung der aus den Produktionsbedingungen abgeleiteten Nebenbedingungen und der problemspezifischen Zielfunktion. In Abbildung 4.10 ist ein Belegungsproblem fiir sechs inhomogene parallele Maschinen und fiir drei Produkten zugehorige Lose dargestellt.
Parallele Maschinen Ml,...,Mn
D
Fahigkeit, Lose von Produkt Q zu bearbeiten
Fahigkeit, Lose von Produkt ^ zu bearbeiten
Warteraum der parallelen Maschinen
D
Fahigkeit, Lose von Produkt O ^ w bearbeiten
Abbildung 4.10: Belegungsproblem fur heterogene parallele Maschinen
Neben den Aufteilungs- und Reihenfolgeentscheidungen sind in Abhangigkeit von den Produktionsbedingungen Entscheidungen uber die Festlegung von Batches im Sinne der in Abschnitt 3.2 gegebenen Begriffsbestimmungen notwendig. Diese Entscheidungen sind vor der Aufteilung auf die parallelen Maschinen oder vor der Festlegung der Bearbeitungsreihenfolge auf einer Einzelmaschine moglich. Um eine einheitliche Behandlung von Losen bzw. Batches bei Aufteilungsund Reihenfolgeentscheidungen zu ermoglichen, wird an dieser Stelle der Begriff Schedulingentitat verwendet. Verfahren zur Losung von Schedulingproblemen fur parallele Maschinen konnen in den nachfolgend aufgezahlten Situationen eingesetzt werden: a) zur Maschinenbelegung von dominierenden Engpassmaschinengruppen, b) als Unterproblemlosungsverfahren im Rahmen der Shifting-Bottleneck-Heuristik, c) als Unterproblemlosungsverfahren in hierarchisch gesteuerten Produktionssystemen.
4.3. SCHEDULING-FRAMEWORK FUR PARALLELE MASCHINEN
129
In der ersten Situation wird das Schedulingverfahren als separate Komponente in andere betriebliche Entscheidungsunterstiitzungssysteme integriert. Innerhalb der in Abschnitt 4.2 dargestellten Shifting-Bottleneck-Heuristik erfolgt eine Dekomposition des Gesamtschedulingproblems fiir das Produktionssystem in Schedulingprobleme fiir Gruppen paralleler Maschinen. Durch disjunktive Graphen werden die Einzellosungen fiir die Gruppen paralleler Maschinen zur Losung des Schedulingproblems fiir das komplexe Produktionssystem zusammengesetzt. Auch in dieser Situation sind effiziente Losungsverfahren fiir die Belegung paralleler Maschinen zwingend erforderlich. Die unterste Ebene hierarchisch gesteuerter komplexer Produktionssysteme besteht wie in Abschnitt 3.6 beschrieben aus Gruppen paralleler Maschinen, fiir die Maschinenbelegungsentscheidungen notwendig sind. Die fiir komplexe Produktionssysteme charakteristischen Produktionsbedingungen bei der Bearbeitung von Lose auf parallelen Maschinen konnen gut in ganzzahligen oder gemischtganzzahligen Optimierungsmodellen abgebildet werden. AUerdings steigt die Anzahl der Variablen und der Nebenbedingungen bei praxisrelevanten Problemstellungen stark an, so dass ein Einsatz derartiger Losungsverfahren zur Maschinenbelegung nur bei kleinen Problemgrofien moglich ist. Entsprechende Modellformulierungen sind in den Arbeiten [11, 126, HI] angegeben. Durch die Lockerung von Nebenbedingungen in den ganzzahUgen Optimierungsproblemen im Rahmen der Lagrange-Relaxation konnen zwar effiziente Heuristiken gewonnen werden (als Beispiele konnen die Arbeiten [98, 111] dienen), diese verlangen aber einen in Abhangigkeit von den konkret vorliegenden Produktionsbedingungen auszufiihrenden Korrekturschritt, so dass keine generische, flexibel in unterschiedlichen Situationen anwendbare Losungsmethode vorliegt. Branch&Bound-Verfahren sind auf Grund des hohen Rechenaufwandes gewohnlich nur fiir extrem kleine Problemstellungen anwendbar. Es ist weiterhin haufig kompliziert, untere bzw. obere Schranken fiir die beschriebenen Prozessbedingungen anzugeben. Die Betrachtung von speziellen Nebenbedingungen verlangt grofien Anpassungsaufwand [126]. Prioritatsregelverfahren fiir die Belegung heterogener paralleler Maschinen gehen in drei Schritten vor [51]: 1. Sortiere die Lose nach der vorgegebenen Prioritatsregel. 2. Bestimme diejenige parallele Maschine mit der kleinsten bisher verplanten Zeit. 3. Bestimme aus der Menge der bisher noch nicht eingeplanten Lose diejenigen, die auf der in Schritt 2 gewahlten Maschine bearbeitet werden konnen. Wahle aus dieser Losmenge das Los mit der hochsten Prioritat aus. Das beschriebene Verfahren ist unter anderem in den Arbeiten [121, 120] angewandt worden, um einen zulassigen Ablaufplan zu erzeugen. Die Leistungsfahigkeit des Prioritatsregelverfahrens ist von der gewahlten Prioritatsregel und deren Parametrisierung abhangig. Lokale Suchverfahren wie Tabu-Search und Simulated-Annealing zur Belegung paralleler Maschinen sind unter anderem in den Arbeiten [71, 110, 172, 121] studiert worden. Zur Ermittlung
130 KAPITEL 4. VERFAHREN ZUR AUTONOMEN UND KOOPERATIVEN
STEUERUNG
einer Initiallosung werden Prioritatsregein angewandt, die Lose auf die einzelnen Maschinen aufteilen. Anschliefiend werden nach einer Definition geeigneter Nachbarschaften Lose auf einer Maschine oder maschineniibergreifend ausgetauscht. Die Festlegung von geeigneten Nachbarschaften ist in starkem Mafie problemabhangig und bereitet gewisse Schwierigkeiten beim Entwurf eines generisch einsetzbaren Losungsrahmens. Wissensbasierte Ansatze zur Unterstiitzung der Produktionsfeinplanung sind von Schultz und Mertens in [227] untersucht worden. Auf Grund der vielen zu modellierenden Nebenbedingungen in komplexen Produktionssystemen sind aber Ansatze wie neuronale Netze oder Expertensysteme fiir die hier untersuchte Pragestellung unter dem Gesichtspunkt der Schaffung eines generisch einsetzbaren Losungsrahmens nur bedingt geeignet. Da Modelle auf Annahmen beruhen, die von der ReaUtat abweichen konnen, sind nach Ansicht von Porter [202] Frameworks besser geeignet, Praxisunterstiitzung zu geben. In den durchgefiihrten Forschungsarbeiten zur Maschinenbelegung fiir parallele Maschinen wurde der Prameworkgedanke aufgegriffen. Wahrend fiir andere Scheduhng- und Optimierungsdomanen [91, 114] Losungsframeworks bereits existieren, ist das fiir die Belegung von parallelen Maschinen in komplexen Produktionssystemen nicht der Fall. In diesem Anschnitt der Arbeit wird ein ScheduUng-Pramework fiir die Belegung von parallelen Maschinen in komplexen Produktionssystemen vorgeschlagen. Das Framework beruht auf der Idee der Dekomposition des zu losenden Schedulingproblems in die Unterprobleme Batchbildung, Aufteilung der Lose bzw. Batches auf die parallelen Maschinen und Festlegung der Reihenfolge der Lose auf den Einzelmaschinen. Das Konzept genetischer Algorithmen wird bei der Aufteilung von Schedulingentitaten auf parallele Maschinen angewandt. Die folgenden Entwurfskriterien fanden bei der Konzeption des Frameworks Anwendung: 1. Adaquate Beriicksichtigung von entsprechenden Produktionsbedingungen fiir zu losende Schedulingprobleme (Modellierungsperspektive), 2. Ermittlung einer (zulassigen) Losung in Abhangigkeit von der Zeit, die zur Entscheidungsfindung zur Verfiigung steht, d.h., die Verfahren miissen uber die „any-time"-Eigenschaft verfugen. Es wird eine geringere Laufzeit der unter Verwendung des Frameworks reahsierten Schedulingverfahren im Vergleich zu traditionellen Verfahren des Operations Research angestrebt (Entscheidungsunterstiitzungs- und Laufzeitperspektive), 3. Unterstiitzung einer vereinheitlichten softwaretechnischen Behandlung und zusatzliche Beschreibung von Migrationspfaden fiir eine softwaretechnische Einbindung in bestehende betriebliche Informationssysteme (Implementierungs- und Integrationsperspektive). Das vorgeschlagene Scheduling-Framework erleichtert die Entwicklung von Schedulingkomponenten fiir parallele Maschinen durch die bereits vorgenommene Problemanalyse, die Strukturierung einer Losung und durch vereinheitlichte softwaretechnische RealisierungsmogUchkeiten.
4.3. SCHEDULING'FRAMEWORK
FUR PARALLELE MASCHINEN
4.3.2
Modellierungs- und Entscheidungsunterstiitzungsperspektive
4.3.2.1
Uberblick
131
Aufbauend auf der in Abschnitt 4.3.1 dargestellten Idee der Dekomposition der zu losenden Schedulingprobleme in Batchbildungsentscheidungen, Aufteilungsentscheidungen und Reihenfolgeentscheidungen wird ein Verfahrensrahmen vorgeschlagen, der diese drei Entscheidungsklassen unterstiitzt. Die Phasen 1. Bildung von Schedulingentitaten (Pra-Prozessingphase), 2. Aufteilung der Schedulingentitaten auf die parallelen Maschinen, 3. Bildung von Schedulingentitaten und Festlegung der Reihenfolge der Schedulingentitaten auf den parallelen Maschinen sowie 4. Optimierung der Ablaufplane (Post-Prozessingphase) werden in den folgenden Abschnitten beschrieben. Bei der Darstellung des Frameworks wird in diesem Abschnitt besonderer Schwerpunkt auf die Modellierungs- und Entscheidungsunterstiitzungsperspektive gelegt.
4.3.2.2
Phase I: Bildung von Schedulingentitaten (Pra-Prozessingphase)
Der im Framework verfolgte Dekompositionsansatz entkoppelt Batch-, Aufteilungs- und Reihenfolgeentscheidungen. Haufig ist es vorteilhaft, Batchentscheidungen vor den Aufteilungsentscheidungen zu treffen, da daxiurch die Grofie des zu losenden Aufteilungsproblems wesentlich verringert werden kann. In [15] wurde gezeigt, dass man dadurch die erreichbare Losungsqualitat erhohen und die Laufzeit der Algorithmen verkiirzen kann. Es ist moglich, Batchentscheidungen vor der Aufteilungsentscheidung zu treffen, falls die maximale Batchgrofie fiir alle Maschinen gleich ist. Falls Batching mit sequentieller Abarbeitung vorhegt, muss nach der Entscheidung, welche Lose den Batch bilden, festgelegt werden, in welcher Reihenfolge die Lose bearbeitet werden soUen. Falls das zu losende Schedulingproblem keine Batchentscheidungen verlangt oder diese erst nach der Aufteilungsphase vorgenommen werden soUen, ist diese Phase uberfliissig. Die Menge der Scheduhngentitaten ist in diesem Fall direkt durch die Losmenge gegeben. Zur Bildung von Schedulingentitaten im Batchingfall konnen die nachfolgenden Verfahren eingesetzt werden: a) Prioritatsregeln, b) Zeitfenstertechniken, welche die Beriicksichtigung einer bestimmten Anzahl zukiinftiger Losankiinfte ermoglichen.
132 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
c) Heuristiken, die den verlangten Riistzustand der Maschine beriicksichtigen, d) Verfahren der dynamischen Programmierung. Die Bildung von Batches unter Verwendung von Prioritatsregeln setzt eine nach absteigenden Prioritaten sortierte Losliste fiir jede Losfamilie voraus. Anschliefiend werden die Batches gebildet, indem die Liste durchlaufen wird und jeweils Batches aus unmittelbar aufeinanderfolgenden Losen gebildet werden. Dabei muss die maximale Batchgrofie eingehalten werden. Es wird von jeder Liste der erste auf diese Art und Weise gebildete Batch in eine Batchmenge eingefiigt. Aus dieser Menge wird der Batch mit der grofiten Summe der Losprioritaten ermittelt. Das Verfahren wird anschUefiend auf die verbleibende Losmenge angewandt. Diese Methode ist in [15] verwendet worden. Zeitfenstertechniken werden fiir Scheduhngprobleme mit dynamischen Losankiinften angewandt [36]. Es werden stets nur diejenigen Lose betrachtet, die innerhalb eines fest gewahlten Zeitfensters bereits auf Bearbeitung warten oder an der Maschinengruppe eintreffen. Aus der so erhaltenen Losmenge wird fiir jede Losfamilie unter Verwendung einer Prioritatsregel eine reduzierte Menge von Losen ausgewahlt. Durch voUstandige Enumeration werden fiir die reduzierte Losmenge alle Batchkombinationen erzeugt und die so erhaltenen Batches mit einer Bewertungsfunktion, die Losprioritaten und Anzahl der Lose im Batch beriicksichtigt, bewertet. Der Batch mit der hochsten Bewertung wird ausgewahlt und das Zeitfenster weiter in die Zukunft verschoben [155]. Eine einfache Heuristik zur Riistzeitverringerung besteht darin, dass eine bestimmte Anzahl von Losen, die den gleichen Riistzustand der Maschine verlangen, unmittelbar nacheinander auf einer Maschine bearbeitet werden. Die Lose einer Losfamihe werden dazu nach einer terminorientierten Prioritatsregel sortiert. Anschliel3end werden die fiihrenden Lose der Liste zu einem Batch zusammengefasst. Es wird fiir alle Losfamilien der auf diese Art und Weise gebildete Batch mit der hochsten Summe der Losprioritaten als nachster ausgewahlt [150]. Verfahren der dynamischen Programmierung gehen von einer nach einer bestimmten Prioritatsregel sortierten Liste von Losen einer Losfamilie aus. Anschliei3end werden unter Verwendung von dynamischer Optimierung Batches gebildet. Verfahren dieses Typs sind unter anderem in [97] fiir Batchingprobleme aus dem Testbereich von Halbleiterfabriken angewandt worden.
4.3.2.3
P h a s e II: Aufteilung der Schedulingentitaten
Gegenstand der zweiten Phase des Frameworks ist die Aufteilung der in der ersten Phase gebildeten Scheduhngentitaten auf die parallelen Maschinen. Der Aufteilungsschritt wird durch einen genetischen Algorithmus (GA) ausgefiihrt. Genetische Algorithmen sind naturanaloge Verfahren, die eine Population von Losungen erzeugen und durch genetische Variations- und Selektionsoperatoren die Elemente der Population verandern. Dabei wird das Ziel verfolgt, eine beziiglich einer frei zu wahlenden Zielfunktion optimale Losung zu finden. Genetische Algorithmen eignen sich gut fiir Probleme, fiir die (beziiglich einer Zielfunktion) gute Losungen durch Zusammensetzen von guten
4.3. SCHEDULING-FRAMEWORK
FUR PARALLELE MASCHINEN
133
Losungen fiir Teilprobleme erzielt werden konnen [80]. Diese Eigenschaft besitzen Aufteilungs- und Partitionierungsprobleme, so dass der Einsatz eines genetischen Algorithmus fiir die Aufteilung von Schedulingentitaten auf Maschinen geeignet ist. Fiir eine umfassende Darstellung der Theorie genetischer Algorithmen wird auf die Monographien von Michalewicz [145] und Goldberg [80] verwiesen. Die einzelnen Elemente des genetischen Algorithmus fiir den Einsatz im Framework konnen wie folgt zusammengefasst werden: 1. Kodierung: Es wird eine entitatsbasierte Reprasentation gewahlt. Im Fall von k unterschiedlichen Schedulingentitaten (Losen, Batches) wird das Array c := (mi, 7712,..., rrik-i, ruk)
(4.18)
betraxihtet, wobei rrij diejenige Maschine bezeichnet, die zur Bearbeitung von Entitat j verwendet wird. Die Reprasentation kann auf den Fall von Maschinendedizierungen ausgedehnt werden, wenn in der Reprasentation mfc € Mfc := {ruki,... ,mfe„} gewahlt wird, wobei Mk die Menge der Maschinen bezeichnet, auf denen die Schedulingentitat k bearbeitet werden kann. In komplexen Produktionssystemen gilt typischerweise Mk C { 1 , . . . ,m}, d.h., nicht jede ScheduHngentitat kann auf jeder Maschine bearbeitet werden. Zum Beispiel bedeutet die Reprasentation chr := (1,10,4,4,4,4), dass Entitat 1 auf Maschine 1 bearbeitet wird, Entitat 2 auf Maschine 10, wahrend die iibrigen vier Entitaten auf Maschine 4 bearbeitet werden. Jede dieser Reprasentationen wird als Chromosom bezeichnet. Die einzelnen Positionen eines Chromosoms werden als Gen bezeichnet. Im Fall der im Framework gewahlten Kodierung legt ein einzelnes Gen fest, auf welcher Maschine die jeweilige Entitat bearbeitet wird. Der genetische Algorithmus arbeitet auf einer Population von Chromosomen. Durch die gewahlte Reprasentation wird erreicht, dass beziiglich der Dedizierung keine unzulassigen Losungen entstehen. 2. Initialisierung des genetischen Algorithmus: Jedes Chromosom, reprasentiert durch das im Kodierungsabschnitt beschriebene Array, wird initialisiert, indem jedem rrij eine Zahl aus der Menge { 1 , . . . , m} bzw. im Dedizierungsfall aus der Menge Mj zufallig zugewiesen wird. Prinzipiell kann auch Wissen iiber die Losungsmenge verwendet werden, um eine Anfangspopulation zu erzeugen, die lediglich auf einem Unterraum der Menge der zulassigen Losungen die Suche ausfiihrt. 3. Auswahl der Eltern: Als Auswahlmethode wird hier die Rouletteradmethode [80] verwendet. Die Wahrscheinlichkeit der Auswahl eines bestimmten Chromosoms ist proportional zu seiner Fitness. Die Berechnung der Fitnessfunktion z erfolgt durch lineare Skalierung der Zielfunktion z des Scheduhngproblems. Es gilt: z := az-\-b. Die Parameter a und b werden so gewahlt, dass der mittlere Zielfunktionswert der Generation auf sich selber abgebildet wird und der beste Zielfunktionswert ein vorgegebenes Vielfaches des mittleren Zielfunktions-
134 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
wertes ist [80]. Das Framework wurde sowohl mit durchsatz- als auch terminorientierten Zielfunktionen erfolgreich getestet. 4. Crossover: Es wird eine One-Point-Crossover-Operation [80] angewandt. Hierzu werden zwei Elternchromosomen aus der in Schritt 3 gebildeten Menge entsprechend ihrer Fitness zufallig ausgewahlt. Die Wahl des Crossoverpunktes erfolgt ebenfalls zufallig. Das erste Chromosom wird mit ci := (mii,mi2,...
,mik-i,mik)
bezeichnet, das zweite Chromosom mit
C2 := (?B2i,?Ti22,... ,"i2fc-i,m2fc). Nach der Durchfuhrung des Crossovers erhalt man die beiden Chromosomen c^ und C4, gegeben durch C3 := ("^21, "^22, • •., m2s,..., miife-i, mik) und C4 := (mil, "^12, • •., rnu,...,
m2fc_i, m2fc).
Dabei wird angenommen, dass das Crossover an der Position s erfolgt. Es werden also die Reprasentationselemente mit einer Position kleiner als s zwischen ci und C2 ausgetauscht. Unzulassige Ablaufplane sind durch die Reprasentation ausgeschlossen. 5. Mutation: Fiir jedes Chromosom aus der Menge der Nachkommen wird ein AUel, d.h. eine einer Schedulingentitat zugeordnete Maschine, mit Mutationswahrscheinlichkeit Pm zur Mutation ausgewahlt. Angenommen, es wird das AUel an der Position k mutiert. Dann wird die der Position k zugeordnete Maschine durch eine andere aus der Menge gemal3 einer diskreten Gleichverteilung ersetzt. Der verwendete Mutationsoperator wird als Flip-Mutator bezeichnet [80]. Bei der Anwendung dieses Mutationsoperators entstehen durch die gewahlte Reprasentation keine bezuglich der Maschinendedizierung unzulassigen Ablaufplane. 6. Auswahl einer neuen Generation: Es wird ein genetischer Algorithmus mit einer iiberlappenden Population verwendet und somit stets nur ein bestimmter Anteil der Chromosomen einer Population durch Nachkommen ersetzt. Die beziiglich der Fitnessfunktion schlechtesten Elemente der Population werden jeweils durch bessere Nachkommen ausgetauscht. 7. Abbruchkriterium: Der Abbruch des genetischen Algorithmus wird durch eine vorgeschriebene maximale Anzahl von Generationen bzw. ein zu unterschreitendes Diversifikationsmafi gesteuert. Die Diversifikation ist durch die Standardabweichung der Fitness der Chromosomen der Population gegeben. Der genetische Algorithmus wird beendet, wenn eine der beiden Abbruchbedingungen erfiillt ist. Zur Bewertung von Aufteilungsentscheidungen in Phase II ist die Berechnung der Zielfunktion fiir jedes Element der Population notwendig, d.h., die Reihenfolge der Schedulingentitaten muss festgelegt werden. Das geschieht in Phase III, die somit fiir jede Generation innerhalb von Phase II durchlaufen wird.
4.3. SCHEDULING-FRAMEWORK 4.3.2.4
FUR PARALLELE MASCHINEN
135
Phase III: Festlegung der Reihenfolge der Lose auf den Einzelmaschinen
Wahrend das Ausgangsschedulingproblem noch Batching-, Aufteilungs- und Reihenfolgeentscheidungen fiir parallele Maschinen erfordert, sind in Phase III auf Grund des verfolgten Dekompositionsansatzes ledigUch noch Batching- und Reihenfolgeprobleme fiir Einzelmaschinen zu losen. Falls ein Batching erforderlich ist und dieses noch nicht in Phase I durchgefiihrt wurde, sind in Phase III neben den Reihenfolgeentscheidungen noch zusatzlich Batchentscheidungen zu treffen. Die Batches werden im Gegensatz zum Vorgehen in Phase I lediglich aus der Menge der Lose gebildet, die der jeweiligen Einzelmaschine zugeordnet wurden. Zur Batchbildung konnen prinzipiell die gleichen Verfahren wie in Phase I eingesetzt werden. Fiir die Festlegung der Reihenfolge stehen die folgenden Verfahren zur Auswahl: a) Prioritatsregeln, b) Branch&Bound-Verfahren, c) genetische Algorithmen, d) andere lokale Suchverfahren (Tabu-Search, Simulated-Annealing), e) dynamische Programmierung, f) Ansatze der Entscheidungstheorie. Prioritatsregeln konnen zur simultanen Batch- und Reihenfolgefestlegung bzw. zur Festlegung der Reihenfolge von Batches bzw. Losen verwendet werden. Dabei gibt es keine Unterschiede zu der in Phase I erlauterten Vorgehensweise. Prioritatsregelansatze sind beispielsweise in den Arbeiten [15] und [101] verwendet worden. Durch die Anwendung von Prioritatsregeln wird sukzessive ein Ablaufplan aufgebaut. Dieses Vorgehen hat den Vorteil, dass dabei sekundare Ressourcen direkt berucksichtigt werden konnen. Infolge des gewahlten Dekompositionsansatzes verringert sich die zu bewaltigende Problemgrofie fiir die Einzelmaschinen. Zur Losung der Reihenfolgeprobleme fiir die Einzelmaschinen konnen somit unter Rechenzeitgesichtspunkten Branch&Bound-Verfahren eingesetzt werden. Branch&Bound-Ansatze bauen einen Suchbaum fiir das zu losende Reihenfolgeproblem auf. Die Traversierung des Baumes wird durch die Betrachtung von Schranken fiir die Zielfunktion eingeschrankt. Genetische Algorithmen konnen nach Konstruktion problemspezifischer Operatoren fiir die Losung von Reihenfolgeproblemen verwendet werden [145]. Dieses Vorgehen erscheint insbesondere in einem multi-kriteriellen Kontext sinnvoU [84]. Tabu-Search und Simulated-Annealing konnen zur Festlegung der Reihenfolge von Batches und Losen herangezogen werden. Im betrachteten Einzelmaschinenfall ist die Konstruktion von Nachbarschaften einfacher als fiir das urspriingliche Schedulingproblem vor der Dekomposition. Dynamische Programmierung geht wie in Phase I von einer durch Prioritatsregeln ermittelten Lossequenz aus. Es werden durch Vorwarts- oder Riickwartsauflosung der Rekursionsgleichungen
136 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Batches gebildet. In [199] ist die Verwendung von dynamischer Programmierung zur Minimierung der absoluten Verspatung einer gegebenen Losmenge beschrieben. Entscheidungstheoretische Ansatze [107] haben das Ziel, die Auswirkungen von aktuell zu treffenden Schedulingentscheidungen unter Beriicksichtigung spater zu treffender Schedulingentscheidungen auf die Zielfunktion abzuschatzen, Fiir die notwendige Abschatzung wird deterministische Vorwartssimulation angewandt. Entscheidungstheoretische Ansatze fiihren haufig zu signifikanten Verbesserungen gegeniiber Prioritatsregelansatzen [155]. Aus der Beschreibung der Verfahren erkennt man, dass Algorithmen existieren, die simultan Batches bilden und Reihenfolgeentscheidungen treffen.
4.3.2.5
Phase IV: Herstellen bzw. Verbesserung eines zulassigen Ablau^lanes (PostProzessingphase)
Falls sekundare Ressourcen als Nebenbedingungen vorliegen, die bei der Aufteilung und der Festlegung der Reihenfolge der Schedulingentitaten nicht beriicksichtigt werden, kann Phase IV zur Auflosung der Ressourcenkonflikte verwendet werden. Dazu wird eine deterministische Vorwartssimulation durchgefiihrt, bei der die sekundaren Ressourcen betrachtet werden. Als Ergebnis erhalt man einen neuen Ablaufplan, der durch Ressourcenkonflikte verursachte Liicken aufweist, ansonsten aber die Aufteilungs- und Reihenfolgeentscheidungen des Ausgangsablaufplanes enthalt. Das beschriebene Vorgehen ist nur fiir bestimmte Klassen von Zielsetzungen und Nebenbedingungen moglich. Wenn beispielsweise Fristen (Deadlines) eingehalten werden miissen, kann das Scheduhngproblem unter Umstanden keine zulassige Losung besitzen. In Phase IV kann ein zulassiger Ablaufplan durch Austauschverfahren verbessert werden. Es sind die folgenden Auspragungen des Austauschverfahrens moglich:
a) Anderung der Zusammensetzung von Batches, b) Anderung der Reihenfolge von Losen bzw. Batches.
Wahrend der Anderung der Zusammensetzung von Batches werden Lose zwischen den Batches (auf einer oder auf alien parallelen Maschinen) mit dem Ziel getauscht, den Zielfunktionswert zu verbessern. Die Verringerung der absoluten gewichteten Verspatung der Lose durch Anderung der Zusammensetzung von Batches wird in der Arbeit [15] betrachtet. Im zweiten Fall findet die Anderung der Reihenfolge der Schedulingentitaten nur auf einer Maschine statt. Dazu werden typischerweise lokale Suchverfahren verwendet, die Dominanzregeln fiir optimale Ablaufplane ausnutzen [5]. Dieser Ansatz ist in [151] benutzt worden. Die Anderung von sowohl der Reihenfolge als auch der Zusammensetzung der Schedulingentitaten kann auch simultan erfolgen.
4.3. SCHEDULING-FRAMEWORK
4.3.3
FUR PARALLELE
MASCHINEN
137
Softwaretechnische Realisierung des Frameworks
Das Framework folgt der Drei-Schichten-Architektur fiir Anwendungssysteme. Es besteht aus der eigentlichen Anwendungsschicht, einer graphischen Benutzeroberflache und einer Datenhaltungsschicht. Es wird zunachst der Einsatz des objektorientierten Frameworks GaLib [260, 190] zur Realisierung der Anwendungsschicht des Scheduhng-Prameworks beschrieben. Das in der Programmiersprache C + + realisierte Framework GaLib ist ein Gray-BoxFramework (vergleiche Free [205] fiir die Beschreibung von unterschiedUchen Frameworkvarianten). Infolgedessen konnen sowohl durch das Framework vorgegebene Klassen durch den Einsatz von Templates parametrisiert werden als auch eigene Klassen von vorhandenen existierenden abstrakten Klassen abgeleitet werden. Das GaLib-Framework bietet umfangreiche Moglichkeiten, um die fiir die jeweilige Anwendungsdomane notwendige Kodierung der Informationen vorzunehmen. Weiterhin sind genetische Standardoperatoren fiir Standardreprasentationen vorhanden. Es gibt umfangreiche Moglichkeiten fiir statistische Auswertungen. Eine voUstandige Infrastruktur fiir genetische Algorithmen wird zur Verfiigung gestellt. Fiir die Realisierung des Frameworks werden die in Tabelle 4.14 aufgefuhrten Klassen des GaLib-Frameworks [260] verwendet. Tabelle 4.14: GaLib-Datenstrukturen fiir das Framework Klasse
Parametrisierung
Bedeutung
des Templates T G A1 DarrayAlleleGenome< T >
Integer
Array zur Aufnahme der Allele
GAAlleleSet
Integer
legt Genwertebereich fest
GAAUeleSetArray
Integer
Menge der Wertebereiche
Die beschriebenen genetischen Operatoren werden von der GaLib-Klasse GAlDarrayAUeleGenome als Standardmethoden angeboten. Das Anwendungsschicht des Frameworks konnte mit Hilfe des GaLib-Frameworks in sehr kurzer Zeit implementiert werden. Wenn das Framework auf eine neue Aufgabenstellung angewandt werden soil, miissen lediglich eine neue Klasse fiir die Schedulingentitaten, Methoden zur Bildung von Schedulingentitaten (Phase I), Methoden zur Festlegung der Reihenfolge der Scheduhngentitaten (Phase III), Methoden zur Optimierung des Ablaufplanes (Phase IV) und die jeweilige Zielfunktion implementiert werden. Die graphische Benutzeroberflache (GUI) des Frameworks wurde in der Programmiersprache Delphi realisiert. Methoden der in einer Dynamic Link Library (DLL) gekapselten Objekte der Anwendungs- und Datenhaltungsschicht werden durch die GUI aufgerufen. Beim Design der GUI wurden generische Elemente (Menii zur Eingabe von Verfahrensparametern, Menii zur Eingabe von Dateipfaden, Mentis fiir Ausgabe von Ablaufplanen fiir Einzelmaschinen) identifiziert und implementiert. Neben der eigentlichen GUI wurden auch Moglichkeiten zur Ausgabe der Ablaufplane
138 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
in Dateien umgesetzt. Dadurch ist eine automatisierte Weiterverarbeitung der Schedulingergebnisse durch andere betriebliche Informationssysteme gegeben. Die Datenhaltungsschicht ist in der Programmiersprache C + + realisiert. Es wurden Datenstrukturen zur Aufnahme von Schedulingentitaten und Ablaufplanen implementiert. Die Datenhaltungschicht kann die benotigten Informationen entweder aus Dateien oder aus betrieblichen Informationssystemen wie dem MES, dem ERP-System und anderen Datenbanken beziehen. Die Grobarchitektur des Frameworks und seine Schnittstellen zu Premdsystemen (MES, ERF und Spezialdatenbanken) sind in Abbildung 4.11 dargestellt.
Prasentationsschicm (CiUl), Deipm i
ASCIIFiles
i
'r Kern des Frameworks (GaLib), C++ i
k
't Datenaufbereitungsschicht, C++
ASCIIFiles 1
,
i
MES
ERP
Spezialdatenbemken
Abbildung 4.11: Architektur des GA-basierten Scheduling-Prameworks
4.3.4
Beispiel 1: Ablaufplanung fur parallele Batchmaschinen mit dynamischen Losankiinften
4.3.4.1
Vorarbeiten
In diesem Abschnitt wird relevante Literatur fiir das untersuchte Batchproblem diskutiert. Azizoglu und Webster [12] betrachten ein Schedulingproblem fiir eine einzelne Batchmaschine mit inkompatiblen Losfamilien, wobei die Lose beliebige Gib&e und Gewichte besitzen und als Zielfunktion die Summe der gewichteten Fertigstellungstermine verwendet wird. Das Problem lautet in der {a, /3,7)-Notation l\batch, nonidentical, incompatible] X) '^jCj. Ein Branch&Bound-Ansatz wird vorgeschlagen. Dupont und Dhaenens-Flipo entwickeln in [54] einen Branch&Bound-Ansatz fiir das Problem l\batch,nonidentical\Cmax- Als Zielfunktion wird die Zykluszeit verwendet. Dominanzregeln werden benutzt. Wang und Uzsoy betrachten in [262] ein Schedulingproblem fiir
4.3. SCHEDULING-FRAMEWORK
FUR PARALLELE MASCHINEN
139
eine einzelne Batchmaschine mit dynamischen Losankiinften, kompatiblen Familien und der maximalen Verspatung als Zielfunktion {l\batch, rj\Lmax)- Die Autoren beschreiben einen genetischen Algorithmus, den sie mit Ansatzen der dynamischen Programmierung koppeln. Mehta und Uzsoy [140] und Devpura, Fowler, Carlyle und Perez [48] untersuchen das Einmaschinenproblem mit Batchcharakteristik und inkompatiblen Losfamilien. Mehta und Uzsoy betrachten als Zielfunktion die absolute Verspatung {l\batch, incompatible\ X) Tj) und schlagen einen Dekompositionsansatz vor: 1. Phase: Bildung von Batches aus den Losen,
2. Phase: Festlegung der Reihenfolge der Batches. In [195] wild dieser Ansatz auf die absolute gewichtete Verspatung als Zielfunktion ausgedehnt. Das Problem l\batch, incompatible\ ^ WjTj wird untersucht. Ein paarweiser Austauschalgorithmus fiir Lose zwischen Batches wird in [48] vorgeschlagen. Dieser Ansatz wird in [15] auf das Problem Pm\batch, incompatible] X) '^jTj ausgedehnt. In den bisher diskutierten Arbeiten werden iiberwiegend statische Informationen betrachtet, d.h., alle Lose liegen zum Zeitpunkt ^ = 0 vor. In vielen praktischen Situationen ist diese Bedingung allerdings verletzt. Aus diesem Grund werden jetzt Arbeiten beschrieben, die dynamische Losankiinfte beriicksichtigen. Glassey und Weng [77], Fowler, Hogg und Phillips [65, 64], Cigolini, Perona, PortioU, Zambeh [39] sowie Duenyas und Nedele [53] prasentieren Algorithmen, die Informationen iiber zukiinftige Losankiinfte in Produktionssystemen mit Batchfertigung unter stochastischen Prozessbedingungen benutzen. Informationen iiber zukiinftige Losankiinfte an einer Maschinengruppe konnen aus dem MES bezogen werden. Die Verwendung derartiger Informationen fiihrt zu besseren Entscheidungen als bei ausschliefilicher Verwendung des aktuellen Systemzustandes. Aufbauend auf der intuitiven Idee, zukiinftige Losankiinfte in die zu fallenden Scheduhngentscheidungen einzubeziehen, werden fur das zu losende Batch-Schedulingproblem Heuristiken beschrieben, die eine Fenstertechnik roUierend einsetzen und auf diese Art und Weise eine zeitliche Dekomposition des zu losenden Problems durchfiihren. Aus den innerhalb eines einzelnen Fensters zur Bearbeitung anstehenden Losen werden Batches gebildet und deren Reihenfolge festgelegt.
4.3.4.2
Problemformulierung und Notationen
Dem zu losenden Batchproblem werden die folgenden Voraussetzungen zugrunde gelegt: 1. Lose mit identischer Familie besitzen gleiche Bearbeitungszeiten. 2. Die Batchmaschinen sind identisch.
140 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
3. Wenn ein Batch auf einer Batchmaschine gestartet wurde, kann die Arbeit dieser Maschine nicht unterbrochen werden. Es wird die folgende Notation verwendet: 1. Die Lose gehoren zu unterschiedlichen inkompatiblen Familien (vergleiche Abschnitt 3.2 fiir die Definition von inkompatiblen Familien). Es gibt / inkompatible Familien. 2. Ein Ablaufplan, bestehend aus n Losen, ist zu ermitteln. 3. Es liegen m parallele Maschinen vor. 4. Es existieren Uj Lose der Familie j . Es gilt: Ej=i ^j = ^• 5. Los i der Familie j wird mit ij bezeichnet. 6. Das Gewicht von Los i der Familie j wird mit Wij bezeichnet. 7. Der geplante Fertigstellungstermin von Los i der Familie j wird mit dij bezeichnet. 8. Fiir die Bearbeitungszeit von Losen der Familie j wird die Bezeichnung pj verwendet. 9. Die Ankunftszeit von Los i der Familie j wird mit Uj bezeichnet. 10. Die Kapazitat einer Batchmaschine betragt B Lose. 11. Es wird die Bezeichnung Bkj fiir Batch k der Familie j verwendet. 12. Der Fertigstellungstermin von Los i der Familie j wird mit Cij bezeichnet. 13. Die gewichtete Verspatung von Los ij wird mit WijTij := Wij(cij — dij)+ bezeichnet. Unter Verwendung der (a|/?|7)-Notation fiir deterministische Schedulingprobleme kann das zu untersuchende Batchproblem in der Form PrnIO' ^o,ich, incompatible] ^ WjTj geschrieben werden.
4.3.4.3
Konkretisierung der vier Phasen
Zwei unterschiedliche Drei-Phasen-Ansatze werden betrachtet. Die in Abschnitt 4.3.2.5 beschriebene Phase IV als optionaler Optimierungsschritt wird aufier Acht gelassen. Erste Schritte zur Entwicklung entsprechender Dominanzregeln werden von Kurz in [118] beschrieben. Ansatz 1 bildet in Phase I zunachst Batches. Anschliefiend werden die Batches in Phase II auf die parallelen Maschinen aufgeteilt. In Phase III erfolgt dann die Festlegung der Reihenfolge der Batches auf den einzelnen Maschinen. In Ansatz 2 wird auf Phase I verzichtet. In Phase II werden aus diesem
4.3. SCHEDULING-FRAMEWORK
FUR PARALLELE MASCHINEN
141
Grund Lose den einzelnen Maschinen zugeteilt. In Phase III miissen fiir jede einzelne Maschine Batches gebildet und fiir diese dann eine Bearbeitungsreihenfolge festgelegt werden. Anwendung der BATC-Regel als Prioritdtsregel Es wird das Zeitfenster {t,t-\- At) betrachtet. Mit M(j,t,At):={ij\rij
:= {ij\ij € M{j,t,At)
und pos(ij) < thres}
gebildet. Mit lij wird ein Prioritatswert fiir Los ij bezeichnet. Die Grofie pos{ij) gibt die Position von Los ij beziighch /^ an. Die Grofie thres dient zur Bezeichnung der Anzahl von Losen aus M{j,t,At,thres),
die zur Batchbildung betrachtet werden. AUe Batchkombinationen
der Losmenge M{j,t, At, thres) werden untersucht. Angenommen, die Machtigkeit der Menge M(j,t,At,thres) ist c. Falls c> B gilt, sind
iHs'-h-c:} unterschiedliche Batches zu betrachten, um den als nachsten zu bearbeitenden Batch auszuwahlen. Offensichtlich hangt der Rechenaufwand fiir die Bewertung der Batchkombinationen in starkem Mafie von der Wahl der Parameter A^ und thres ab. Als nachstes werden Kriterien zur Festlegung von pos{ij) angegeben. Das erste Kriterium basiert auf der ATC-Prioritatsregel. Der ATC-Wert hj^ATC fiir Los i der Familie j , der zur Zeit t berechnet wird, ist gegeben durch 7,.^^^ := !!^exp (.(^iLZlilSljlzJ))!] . Pj \ f^P J
(4.19)
In Beziehung (4.19) ist /c ein Vorausschauparameter. Mit p wird die mittlere Bearbeitungszeit der noch nicht betrachteten Lose bezeichnet. Die Elemente der Menge M(j, t, At) werden in absteigender Ordnung beziighch hj^ATC sortiert und die ersten thres Lose werden in die Menge M(j, t, At, thres) eingefiigt. Fur die Bewertung von Batchkombinationen werden die folgenden drei Moglichkeiten betrachtet: 4^., ,= ^ Pj
exp f _ K - P . + _ ( ^ ^ . - 0 ) M ! ^ , \
i^P
wobei mit dbj := miiiij^Bbj (dij)' minimaler geplanter Fertigstellungstermin der Lose im Batch, rbj := maxij^Bbj (,Uj)' maximale Ankunftszeit der den Batch bildenden Lose,
(4.20)
142 KAPITEL 4. VERFAHREN ZUR AUTONOMEN UND KOOPERATIVEN STEUERUNG Wbji mittleres Gewicht der Lose, die den Batch bilden,
Ubj'. Anzahl der Lose im Batch
bezeichnet werden. Die Prioritatsregel wurde in leicht veranderter Form in [134] vorgeschlagen. Die zweite Regel zur Bewertung von Batches ist gegeben durch:
;,, ..^ I ( ^ ) exp (^(^iiZliZl^DiZinij
J.
(4.21)
Diese Regel ist durch den Fakt motiviert, dass die Priori tat eines Batches reduziert werden soil, wenn Lose, die zu dem Batch gehoren, zum Zeitpunkt t nicht zur Bearbeitung zur Verfugung stehen. In diesem Fall wird der Schlupf um die Grofie (rbj — t)'^ erhoht. Falls umgekehrt alle Lose des Batches zum Zeitpunkt t zur Verfugung stehen, besteht kein Grund, die Ankunftszeiten der Lose zu beriicksichtigen. Da in (4.21) die Summe iiber alle Lose des Batches gebildet wird, fiihrt die Anwendung dieser Regel dazu, dass die Auslastung der Batches erhoht wird. Die dritte Regel ist eine Erweiterung der X-RM-Prioritatsregel von Morton und Ramnath [171] fiir den Fall von Batchmaschinen. Der Prioritatswert wird wie folgt bestimmt:
!% exp f _ K - P i - 0 ^ ) fi _ ^(,,. _ t)A !^,
. _ yJbj hi3 '— —
Pj
\
K,p
J \
P
'
(4.22)
J B
wobei mit
X: Skalierungsfaktor,
p: mittlere Bearbeitungszeit der Lose, die bearbeitet werden soUen,
bezeichnet werden. Der dritte Term in (4.22) verringert die Prioritat des Batches, falls Lose des Batches zum Zeitpunkt t nicht zur Verfugung stehen. Der vierte Term in (4.22) verkleinert hingegen die Prioritat des Batches, wenn der Batch nicht voU ausgelastet ist. Der X-Faktor spielt eine ahnliche RoUe wie der Ac-Faktor in den Regeln (4.20) und (4.21). X skaliert die Differenz zwischen der fruhesten Verfiigbarkeitszeit des Batches und dem Zeitpunkt t der Entscheidungsfindung. Die drei Regeln werden als BATC-I, BATC-II und BATC-III bezeichnet. Die Schritte einer BATCartigen Prioritatsregelheuristik konnen wie folgt beschrieben werden:
4.3. SCHEDULING-FRAMEWORK
FUR PARALLELE MASCHINEN
143
Prioritatsregelbasierter Algorithmus zur Batchmaschinenbelegung 1.
Wahle zum Zeitpunkt t ein Zeitfenster der Lange At. Wahle hochstens thres Lose der Menge M{j, t, At). Dazu werden die /JJ.ATC-Werte fur alle noch nicht betrachteten Lose der Familie j berechnet. Als Ergebnis erhalt man die Mengen M{j,t, At, thres).
2. 3.
Wahle eine Maschine m mit einem friihesten Verfugbarkeitstermin kleiner gleich t. Berechne den BATC-Wert fiir alle Batchkombinationen in jeder Losfamilie. Wahle den Batch 6 mit dem hochsten BATC-Wert aus.
4. 5.
Fiige den Batch 6 in den Ablaufplan fiir Maschine m ein. Berechne die neue friiheste Verfiigbarkeitszeit rm fiir Maschine m zu r ^ =: max(^, ri,j) + Pb, wobei mit Pb die Bearbeitungszeit der Losfamilie von b bezeichnet wird.
6.
Falls alle Lose in den Ablaufplan eingefiigt wurden, gehe zu Schritt 7. Ansonsten gehe zu Schritt 2.
7.
Stop.
Anwendung der BATC-Regel zur Bildung von Batches Nachdem die Schritte der eben beschriebenen BATC-Heuristik ausgefiihrt worden sind, liegt ein voUstandiger Ablaufplan vor. Offensichtlich kann diese Heuristik auch ausschliefiUch zur Batchbildung herangezogen werden. Die Batches werden in diesem Fall dynamisch, d.h. nicht ausschliefilich zum Zeitpunkt t gebildet. Diese Methode wird in Ansatz 1 zur Batchbildung verwendet. Die Hauptschritte des Verfahrens konnen wie folgt beschrieben werden: Ansatz 1 zur Belegung von parallelen Batchmaschinen 1.
Verwende die BATC-Regel unabhangig von den Drei-Phasen-Algorithmen zur Bildung von
2.
Aufteilung der in Schritt 1 gebildeten Batches unter Verwendung des genetischen Algorith-
Batches. Die Batches sind in diesem Fall die Schedulingentitaten entsprechend Phase L mus (Phase II). 3.
Fiir Phase II ist die Festlegung der Bearbeitungsreihenfolge der Batches auf jeder Einzelmaschine (Phase III) erforderlich. In Ansatz 2 werden zunachst die Lose auf die Maschinen aufgeteilt. Danaxih werden auf jeder
Einzelmaschine unter Verwendung der BATC-Regel Batches gebildet. Die wesentlichen Schritte dieses Ansatzes sind: Ansatz 2 zur Belegung von parallelen Batchmaschinen 1.
Telle die Lose den Maschinen unter Verwendung des genetischen Algorithmus zu (Phase II). In diesem Fall sind die Lose die Schedulingentitaten und Phase I ist somit iiberfliissig.
2.
Batchbildung und Festlegung der Reihenfolge der Batches fiir jede Einzelmaschine (Phase III).
144 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Anwendung der BATC-Regel zur Festlegung der Bearbeitungsreihenfolge von Batches BATC kann als Kegel zur Festlegung der Bearbeitungsreihenfolge der Schedulingentitaten auf einer Einzelmaschine verwendet werden. Zu jedem Zeitpunkt t wird fiir alle Batches, fiir die noch keine Entscheidung iiber die Bearbeitungsreihenfolge getroffen wurde, einer der Werte hji{t),l
= 1,2,3 berechnet. Der Batch mit dem maximalen Wert von Ib.i{t) wird als naxihster
ausgewahlt, die Zeit t wird fortgeschrieben und die /5^.i(^)-Werte werden erneut berechnet. Da die BATC-artigen Regeln sensitiv auf die Wahl des Vorausschauparameters K reagieren, wurden die Werte « := 0.5j,j = 1 , . . . , 10, ahnUch wie von Mehta und Uzsoy [140] als mogUche Werte verwendet. Eine feinere aquidistante Unterteilung des Intervalls [0,5] fiir mogliche Werte von K ist aus Griinden des Rechenaufwandes nicht sinnvoU. Die BATC-Regel wird unabhangig von den Drei-Phasen-Algorithmen angewandt. Der Wert der absoluten gewichteten Verspatung fiir den jeweiligen Ablaufplan wird berechnet. Anschliei3end wird derjenige Wert fiir K, ausgewahlt, der zu einem minimalen Wert fiir die absolute gewichtete Verspatung fiihrt. 4.3.4.4
Methode zur simultanen Batchbildung und Festlegung der Bearbeitungsreihenfolge der Batches
In diesem Abschnitt wird ein Verfahren beschrieben, das zur Losung des Schedulingproblems l\rj, batch, incompatible\J2'^jTj
dient. Das Verfahren kann in Phase III von Ansatz 2 angewandt
werden. Der Ansatz erweitert Ideen von Kanet und Zhou [107] auf Batchmaschinen mit inkompatiblen LosfamiUen. Zur Beschreibung des Verfahrens wird ein fester Zeitpunkt t betrachtet. Fiir jede Losfamilie wird die Menge M(j, t, At, thres) ermittelt. Batches werden in jeder dieser Mengen gebildet. Die Menge der Lose, die im Zeitfenster {t, t + A^) zur Verfiigung stehen, wird mit M bezeichnet. Offensichtlich gilt M := \jl^iM{j,t,
At, thres). Unter der Annahme, dass Batch Bj
als erster zur Bearbeitung ausgewahlt wird, ist es moglich, die absolute gewichtete Verspatung des Ablaufplanes zu berechnen. Es gilt: TWT(Bj)
= J : Wij ( r + pj - dijf + ijeBj
wobei mit t* := max (t,maXij^B.{rij)j
Yl
^ki {t* + Pj +Pi+P*-
dkif,
(4.23)
kieM\Bj
der Zeitpunkt bezeichnet wird, zu dem Batch Bj mit der
Bearbeitung beginnen kann. Die Gr6i3e p* wird wie folgt definiert: 1
V-
P -=26 ^ ^' ^^ kieM\Bj und dient dgizu, Abschatzungen fiir die Fertigstellungstermine der nicht in Bj enthaltenen Lose zu ermitteln. Offensichtlich ist Cki:=t*-^Pj-{-pi+p* eine grobe Abschatzung fiir den Fertigstellungstermin von Los ki. In Beziehung (4.23) reprasentiert der erste Ausdruck die gewichtete Verspatung von Batch Bj, wahrend der zweite Ausdruck
4.3. SCHEDULING-FRAMEWORK
FUR PARALLELE
MASCHINEN
145
die Summe der erwarteten gewichteten Verspatungen der verbleibenden Lose daxstellt. Die Qualitat der Schedulingentscheidungen beim entscheidungstheoretischen Ansatz (Decision-TheoryHeuristic (DTH)) hangt von der Qualitat der Abschatzungen fiir die Fertigstellungszeitpunkte der Lose ab. Der entscheidende Vorteil des entscheidungstheoretischen Ansatzes besteht darin, dass nicht nur Lose des als nachsten zu bearbeitenden Batches in die Entscheidung einbezogen werden, sondern auch die Auswirkungen der aktuellen Entscheidung auf nachfolgende Entscheidungen beriicksichtigt werden.
4.3.4.5
Numerische Experimente
In diesem Abschnitt wird das Design der durchgefiihrten Experimente beschrieben. In Tabelle 4.15 sind die zu testenden Algorithmenkombinationen fiir die einzelnen Phasen des Frameworks fiir Ansatz 1 und Ansatz 2 aufgefuhrt.
Tabelle 4.15: Algorithmenkombinationen fiir die vier Phasen des Frameworks
Kombination Phase I Phase II Phase III Phase IV Ansatz 1 BATC-I BATC-LGA-1_BATC-I GAl BATC-I BATC-ILGA-1_BATC-II BATC-II BATC-II GAl BATC-III BATC-IILGA-1_BATC-III BATC-III GAl Ansatz 2 GA-2_BATC-I GA2 BATC-I GA-2_BATC-II GA2 BATC-II GA-2_BATC-III GA2 BATC-III GA-2JDTH DTH GA2 -
Die Parameter der genetischen Algorithmen wurden durch umfangreiche experimentelle Untersuchungen ermittelt. Die Populationsgrofie und die Mutationswahrscheinhchkeit haben den grofiten Einfluss auf die Leistungsfahigkeit der Algorithmen. Falls die Population zu viele Individuen enthalt oder die Mutationswahrscheinhchkeit zu gering ist, tendieren die Algorithmen dazu, eine lediglich lokal optimale Losung zu linden. Eine hohe Anzahl von Generationen ist fiir Algorithmen, die Ansatz 2 folgen, notwendig, da der Losungsraum auf Grund der hohen Anzahl von Schedulingentitaten grofi ist. Die in Ansatz 1 und Ansatz 2 verwendeten Parameterwerte sind in Tabelle 4.16 angegeben.
146 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Tabelle 4.16: Parameter fiir Phase II (Ansatz 1 und Ansatz 2) Auspragung Ansatz 1 Auspragung Ansatz 2
Parameter Populationsgrofie
300
200
Crossoverwahrscheinlichkeit
0.88
0.88
Replacementwahrscheinlichkeit
0.60
0.60
Mutationswahrscheinlichkeit
0.03
0.01
Anzahl der Generationen
500
1000
Diversifikation
0.01
0.03
Die in [5] beschriebene Anordnung zur Erzeugung von stochastischen Testdaten wird im Folgenden auf parallele Batchmaschinen ausgedehnt. Der Fall von 3, 4 bzw. 5 parallelen Maschinen wird betrachtet. Die Gewichte der Lose folgen einer Gleichverteilung iiber dem Intervall (0,1). Die friihesten Verfiigbarkeitstermine folgen der Gleichverteilung U (0,a/(mB)£"^iPjV Im nachsten Schritt werden Schlupfzeiten zwischen geplanten und friihesten Fertigstellungsterminen entsprechend der Gleichverteilung U (o,P/{mB) Yl]=iPj) erzeugt. Der friiheste Fertigstellungstermin eines Loses ist durch rij-\-pj gegeben. Die Grofien a und P sind aus dem Intervall (0,1) gewahlt. a beeinflusst die Ankunftszeiten, wahrend P die geplanten Fertigstellungstermine kontroUiert. Der Fall von drei inkompatiblen Famihen wird untersucht. Die Bearbeitungszeiten pj der Lose von Famihe j sind in Tabelle 4.17 aufgefiihrt. Durch diese Wahl der Bearbeitungszeiten werden die langen Bearbeitungszeiten fiir Prozess-Schritte auf Batchmaschinen nachgebildet. Es werden zehn stochastisch unabhangige Wiederholungen fiir jede Parameterkombination betrachtet. Insgesamt werden somit 1620 unterschiedHche Testfalle untersucht. Die Ergebnisse wurden auf folgende Art und Weise aufbereitet. Es findet eine Gruppierung entsprechend bestimmter Faktorauspragungen statt. Beispielsweise bedeuten die Ergebnisse fiir P = 0.75 in Tabelle 4.18, dass der Mittelwert der Ergebnisse fiir diejenigen Testfalle gebildet wird, fiir die P = 0.75 gilt. Die Ergebnisse werden in der Form
TWT{Hi)/TWT{BATC - //) dargestellt, wobei Hi die zu bewertende Heuristik ist, d.h., alle Ergebnisse fiir die absolute gewichtete Verspatung werden relativ zur absoluten gewichteten Verspatung der mit der BATC-II-Heuristik ermittelten Ablaufplane angegeben. BATC-II wurde als Referenzverfahren ausgewahlt, weil es in der Klasse der prioritatsregelbasierten Verfahren die kleinsten Werte fiir die absolute gewichtete Verspatung erzielt. Die Ergebnisse fiir die in Tabelle 4.15 aufgehsteten Algorithmen sind in Tabelle 4.18 und 4.19 dargestellt. Aus den Tabellen 4.18 und 4.19 ist ersichtlich, dass die Algorithmen BATC-ILGA-IJBATC-II, GA-2_BATC-II und GA-2_DTH kleinere Werte fur die absolute gewichtete Verspatung erzielen als die BATC-II-Heuristik. Die GA-2_DTH-Heuristik fuhrt zu einer durchschnitthchen Verbesserung von 10%, wahrend die BATC-ILGA-lJBATC-II-Heuristik zu
4.3. SCHEDULING-FRAMEWORK
FUR PARALLELE
147
MASCHINEN
Tabelle 4.17: Parameter der Testdaten Faktoren
Auspragung
Anzahl
Anzahl der Maschinen
3,4,5
3
Anzahl der Lose pro Familie
60,80,100
3
Batchgrofie
4,8
2
Anzahl Familien
3
1
2 mit Wahrscheinlichkeit p = 0.2
1
4 mit Wahrscheinlichkeit p = 0.2 Bearbeitszeiten der Lose einer Familie
10 mit Wahrscheinlichkeit p = 0.3 16 mit WahrscheinUchkeit p = 0.2 20 mit Wahrscheinlichkeit p = 0.1
Gewichte der Lose
Wij - U{0,1)
Friihester
rij^U{0,a/Bm'Zpi)
Verfugbarkeitstermin Geplanter
1 3
a = 0.25,0.50,0.75 dij - Vij -pjr^U
Fertigstellungstermin
(0,P/BmEPi)
3
P = 0.25,0.50,0.75
Anzahl Parameterkombinationen
162
Anzahl der Probleminstanzen
10
Gesamtzahl der Probleme
1620
durchschnittlichen Werten fiir die absolute gewichtete Verspatung fiihrt, die 9% kleiner sind als die entsprechenden Werte der BATC-II-Heuristik. Da die Rechenzeit fiir Ansatz 1 auf Grund der geringeren Anzahl von Schedulingentitaten wesentlich geringer ist als fiir Ansatz 2, ist Ansatz 1 zu verwenden. Insgesamt ist festzustellen, dass mit Hilfe des Frameworks Schedulingalgorithmen fiir Batchmaschinen entworfen werden konnen, die prioritatsregelbasierten Schedulingverfahren iiberlegen sind. Ansatz 1 kann somit als Unterproblemlosungsverfahren fiir die verteilte Shifting-BottleneckHeuristik eingesetzt werden. Weitere numerische Ergebnisse fiir das beschriebene Schedulingproblem, insbesondere auch notwendige Rechenzeiten, sind in der Arbeit [155] zu finden. Der Einsatz von Algorithmen vom Typ Ansatz 1 als Unterproblemlosungsverfahren in einer modifizierten Shifting-Bottleneck-Heuristik ist in [160] untersucht worden.
4.3.5
Beispiel 2: Ablaufplanung fiir Photolithographiestepper
4.3.5.1
Motivation und Problemstellung
In der Halbleiterindustrie beschaftigt man sich mit der Herstellung von integrierten Schaltkreisen auf Siliziumscheiben (Wafern) [7, 226]. Lose bestehen in der Halbleiterfertigung aus einer bestimm-
148 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Tabelle 4.18: Ergebnisse fiir Ansatz 1 1
Algorithmen
BATC-II
BATC-I
BATC-II
BATC-III
-
GAl
GAl
GAl
BATC-I
BATC-II
BATC-III
1.5016
Maschinen m= 3
1.0000
2.6560
0.9087
m=4
1.0000
2.0312
0.9158
1.3980
m= 5
1.0000
1.8336
0.9301
1.4074
5-4
1.0000
2.2383
0.9004
1.5303
B =S
1.0000
2.1089
0.9360
1.3410
a = 0.25
1.0000
1.3995
0.9395
1.2127
a = 0.50
1.0000
2.7057
0.8947
1.5648
a = 0.75
1.0000
2.4157
0.9203
1.5296
1.0000
1.2238
0.9338
1.0899
Batchgrofie
1
Ankunftszeiten
Geplante Fertigstellungszeiten P = 0.25 P = 0.50
1.0000
2.2241
0.9103
1.4678 1
P = 0.75
1.0000
3.0730
0.9105
1.7493
Mittelwert
1.0000
2.1736
0.9182
1.4357 1
ten festen Anzahl von Siliziumscheiben. Auf die Siliziumscheiben werden im Prontendbereich einer Halbleiterfabrik die Strukturinformationen der integrierten Schaltkreise ebenenweise aufgetragen. Dazu werden die Siliziumscheiben mit einer Photolackschicht fiir jede Ebene versehen. Die Ubertragung der Schaltkreisstrukturen auf die Lackschicht erfolgt durch ultraviolette Lichtstrahlung, die durch eine Maske, den Trager der Strukturinformationen, geleitet wird. Masken sind sekundare Ressourcen, die teuer sind. Aus diesem Grund ist im AUgemeinen fiir die Lose eines Produkts genau ein Maskensatz vorhanden. Ein Maskensatz besteht aus Einzelmasken. Jede Einzelmaske wird fiir die Ubertragung der Strukturinformationen einer Ebene benutzt. Die Belichtung der Siliziumscheiben wird auf Step&Repeat-Maschinen, Stepper genannt, durchgefuhrt. Wahrend eines einzelnen Belichtungsschrittes (Step) werden die Strukturen fiir eine Ebene eines Schaltkreises auf die Siliziumscheibe iibertragen. Auf einer Siliziumscheibe ist Platz fiir mehrere tausend integrierte Schaltkreise. Auf Grund der komplizierten Photolithographietechnologie sind Stepper gegenwartig die teuersten Maschinen in Halbleiterfabriken [226]. Die Stepperkapazitaten werden deshalb bewusst knapp kalkuliert. Das fiihrt dazu, dass eine mehrfache Inanspruchnahme der Stepper wahrend der
4.3. SCHEDULING-FRAMEWORK
FUR PARALLELE
149
MASCHINEN
Tabelle 4.19: Ergebnisse fur Ansatz 2 Algorithmen
BATC-II
GA2
GA2
GA2
GA2
-
BATC-I
BATC-II
BATC-III
DTK
Maschinen
1
m=3
1.0000
1.8226
0.9221
1.2541
0.8192
m=4
1.0000
1.5263
0.9620
1.1449
0.8742
m= 5
1.0000
1.5174
1.0396
1.1977
1.0034
5 =4
1.0000
1.9193
0.9725
1.3479
0.8599
B =8
1.0000
1.3249
0.9767
1.0499
0.9379
Batches
Ankunftszeiten a = 0.25
1.0000
1.3399
0.9576
1.1125
0.9342
a = 0.50
1.0000
2.0523
0.9863
1.3640
0.8421
Q = 0.75
1.0000
1.4741
0.9798
1.1203
0.9204
/3 = 0.25
1.0000
1.0637
0.8917
0.8998
0.8902
P = 0.50
1.0000
1.5046
0.9543
1.1248
0.8859
1.5721
0.9207
1.1989
0.8989 1
Geplante Fertigstellungszeiten
y5 = 0.75
1.0000
2.2981
1.0777
Mittel
1.0000
1.6221
0.9746
Bearbeitung eines Loses auftritt. Der Durchlauf der Lose durch die Halbleiterfabrik ist zyklisch. Die Stepper sind haufig geplante Engpassmaschinen, deren Maschinenbelegung grofien Einfluss auf die Leistungsfahigkeit der gesamten Halbleiterfabrik besitzt [111]. Im Frontendbereichen von Halbleiterfabriken konnen bis zu 60 Stepper vorhanden sein, die Belichtungsfunktionalitat anbieten. Typischerweise liegen Stepper unterschiedlichen Technologieniveaus vor. Infolge der Niveauunterschiede sind die Fertigungsgeschwindigkeiten der Maschinen sowohl maschinen- als auch losabhangig. Insbesondere tritt der Fall auf, dass bestimmte Lose nicht auf alien Maschinen bearbeitet werden diirfen, d.h., Maschinendedizierungen liegen vor. Stepper werden demzufolge als heterogene parallele Maschinen modelliert (vergleiche die Ausfiihrungen zur Klassifizierung paralleler Maschinen in Abschnitt 3.2). Jeder Maskenwechsel ist mit einer (reihenfolgeunabhangigen) Umriistzeit verbunden. Die Belichtung von Losen eines Produktes, die in der durch den aktuellen Prozess-Schritt aufzutragenden Ebene iibereinstimmen, kann auf Grund der Maskenrestriktion gleichzeitig nicht auf mehr als einem Stepper ausgefiihrt werden. AUe Lose eines Produkts, die in der als nachste zu belichtenden Ebene iibereinstimmen, bilden im Sinne der in Abschnitt 3.2 vorgenommenen Begriffsbildung eine Losfamilie. Eine sequentielle Abarbeitung der Lose eines Batches mit Los-Verfiigbarkeit liegt
150 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
vor. Prozess-Schritte auf Steppern erfordern QualitatskontroUen. Dazu wird eine einzelne Siliziumscheibe aus dem Los entnommen, separat belichtet, entwickelt und kontroUiert. Dieser Vorgang wird als Vorziehen einer Siliziumscheibe bezeichnet. Wenn die QualitatskontroUe keine Mangel ergibt, konnen die verbleibenden Siliziumscheiben des Loses auf diesem Stepper belichtet werden. Andernfalls miissen Belichtungsparameter am Stepper verandert werden. Nachdem eine Siliziumscheibe einer Losfamilie erfolgreich auf einem Stepper bearbeitet worden ist, ist das Vorziehen von Siliziumscheiben fiir andere Lose dieser Losfamilie innerhalb des charakteristischen Zeitfensters nicht mehr notwendig. Bei der Belegung der Stepper besteht ein Interesse an einer geringen Anzahl von Maskenwechseln, um die knappen Kapazitaten hoch auszulasten. Durch Batchbildung, d.h. sequentieller Abfertigung von Losen einer Losfamilie auf einem Stepper, erreicht man eine Verringerung der notwendigen Umriistzeiten, da fiir die Lose eines Batches keine Maskenwechsel notwendig sind. Gleichzeitig wird durch eine Batchbildung auch die Anzahl vorzuziehender Siliziumscheiben verkleinert, da eine Siliziumscheibe des beziiglich der Abfertigung letzten Loses des Batches als vorgezogene Siliziumscheibe fiir nachfolgende Lose der Losfamilie dienen kann und so das charakteristische Zeitfenster weiter in die Zukunft verschoben wird. Fiir die Maschinenbelegung der Stepper wird die folgende kombinierte Zielfunktion fiir Ablaufplane S betrax^htet: ZiS) := aiTP{S) - a2TWT{S) - a3NSW{S)psr.
(4.24)
mit TP{S)
: durch den Ablaufplan S verursachte Zeit, in der die Stepper innerhalb eines fest
TWT{S)
: durch den Ablaufplan S bewirkte Verspatung der Lose innerhalb von T,
NSW(S)
: in Folge von S benotigte Anzahl vorgezogener Siliziumscheiben in T,
Paw
• durchschnitthche Zeit, die zwischen dem Vorziehen einer Siliziumscheibe und der
gewahlten Zeitintervalls T Lose bearbeiten,
Bearbeitung der verbleibenden Sihziumscheiben des Loses notwendig ist, Qi
: Gewicht von Ziel i, 0 < a i < 1.
Durch Maximierung von Z unter den Nebenbedingungen einer eingeschrankten Maskenverfiigbarkeit, der Notwendigkeit vorgezogener Siliziumscheiben und der Maschinendedizierungen wird erreicht, dass ein hoher Durchsatz (Throughput (TP)), eine niedrige gewichtete Verspatung (Total Weighted Tardiness (TWT)) sowie eine geringe Anzahl vorgezogener Siliziumscheiben (Number of Send-ahead Wafers (NSW)) ausbalanciert werden. Nur diejenigen Lose werden in die Maschinenbelegungsplanung einbezogen, die zum Zeitpunkt der Planung im Warteraum vor den Steppern auf Abfertigung warten. Diese Annahme ist auf Grund des Engpasscharakters der Stepper sinnvoU. Fiir eine Losung dieses Problems miissen unter Beriicksichtigung wesentlicher Restriktionen die folgenden Entscheidungen getroffen werden:
4.3. SCHEDULING-FRAMEWORK
FUR PARALLELE MASCHINEN
151
1. Auf welcher parallelen Maschine soil ein bestimmtes Los bearbeitet werden? (Aufteilungsentscheidungen) 2. Wie soUen Lose einer bestimmten Losfamilie zu Batches zusammengefasst werden, d.h. sequentiell auf einem Stepper abgefertigt werden? (Batchentscheidungen) 3. In welcher Reihenfolge sollen Lose auf einem bestimmten Stepper abgefertigt werden? (Reihenfolgeentscheidungen)
4.3.5.2
Modellierungs- und Entscheidungsuntersttitzung fur das Stepperbelegungsproblem
Das Framework wurde zur Losung des Stepperbelegungsproblems angewandt. Dabei wurde wie folgt vorgegangen: 1. Identifikation der auf die parallelen Maschinen aufzuteilenden
Scheduling-
entitllten. Das Stepperschedulingverfahren bildet in Phase I unter Verwendung der EarliestDue-Date-(EDD)-Regel Batches, d.h. Mengen von Losen eines Produkts, die in der als nachste zu belichtenden Ebene iibereinstimmen. Es wird ein neuer Batch in der nach EDD sortierten Liste gebildet, wenn die Differenz der geplanten Fertigstellungstermine von zwei aufeinanderfolgenden Losen einen Schwellenwert iiberschreitet. Die Lose eines Batches werden sequentiell auf einem festgewahlten Stepper bearbeitet. Durch die Batchbildung wird ein Wechsel der Masken fiir die Lose eines Batches vermieden. Aufierdem wird die ProblemgroBe reduziert, so dass sich die Laufzeit des Verfahrens verringert. 2. Festlegung der Aufteilung der Schedulingentitaten auf die Stepper. In dieser Phase kommt unverandert das in Abschnitt 4.3.2.3 beschriebene Vorgehen zur Anwendung. 3. Festlegung der Verfahren, die zur Losung der Reihenfolgeprobleme fiir die Einzelmaschinen entsprechend Phase III anzuwenden sind. In Phase III wird fiir jeden Stepper ein genetischer Algorithmus zur Festlegung der Reihenfolge der Batches verwendet. Dabei werden vorgezogene Siliziumscheiben zur QualitatskontroUe (vergleiche die Problembeschreibung in Abschnitt 4.3.5.1) beriicksichtigt. Eine Anwendung von genetischen Algorithmen zur Festlegung der Reihenfolge ist auf Grund der verwendeten kombinierten Zielfunktion sinnvoU. 4. Festlegung der Verfahren, die zur Herstellung eines zulassigen Ablaufplanes bzw. zur Optimierung eines Ablaufplanes dienen. Nachdem voUstandige Ablaufplane vorliegen, wird in Phase IV eine deterministische Vorwartssimulation durchgefuhrt, um Maskenkonflikte zu vermeiden. Die Vorwartssimulation ermoglicht es, zu erkennen, ob zu einem bestinunten Zeitpunkt zwei Batches dieselbe (nur einmal vorhandene) Maske benotigen. Durch Verschieben der Startzeitpunkte der Batches werden die Konfiikte aufgelost. Es entstehen
152 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
zulassige Ablaufplane. Auf eine weitere Verbesserung der Ablau^lane wird auf Grund der in Phase III angewandten leistungsfahigen Heuristik sowie Laufzeitgesichtspunkten verzichtet.
Die einzelnen Phasen des Frameworks fiir das Stepperschedulingproblem konnen wie folgt zusammengefasst werden: Algorithmus zum Scheduling von Losen auf Photolithographiesteppern 1. Verwende die EDD-Regel, um Batches aus Losen, die in der als nachste zu behchtenden Ebene iibereinstimmen und zu einem Produkt gehoren, zu bilden. Diese Batches mit sequentieller Abarbeitung sind in diesem Fall die Schedulingentitaten entsprechend Phase I. 2. Aufteilung der in Schritt 1 gebildeten Batches unter Verwendung des genetischen Algorithmus (Phase II). 3.
Festlegung der Bearbeitungsreihenfolge der Batches auf jeder Einzelmaschine durch einen
4.
Verwende eine deterministische Vorwartssimulation, um Maskenkonflikte in den Ablaufpla-
weiteren genetischen Algorithmus (Phase III). nen aus Schritt 3 aufzulosen (Phase IV).
4.3.5.3
Parameterwahl fur Phase II und Phase III
Fiir die Parameterwahl des genetischen Algorithmus in Phase II wird die Response-SurfaceMethode [170] eingesetzt. Die Replacementwahrscheinlichkeit hat nur einen geringen Einfluss auf die Giite der gefundenen Losungen. Aus diesem Grund wurde ein 2^-faktorielles Design mit den Faktoren Populationsgrofie, Crossoverwahrscheinlichkeit sowie Mutationswahrscheinlichkeit gewahlt. Die Niveaus der drei Faktoren sind in Tabelle 4.20 angegeben.
Tabelle 4.20: Niveaus der Faktoren im 2^-faktoriellen Design
Faktor
Niveau niedrig
hoch
50
150
B - Crossoverwahrscheinlichkeit
0.5000
0.9000
C - Mutationswahrscheinlichkeit
0.0001
0.0100
A - Grofie der Population
Nachdem das Regressionsmodell zur Darstellung der Abhangigkeiten der Faktoren ermittelt wurde, kann mit Hilfe von Gradientenverfahren auf der Menge der Parameterwerte (beziiglich der kombinierten Zielfunktion (4.24)) optimiert werden. Fiir die Phase II wurden beispielhaft die in Tabelle 4.21 angegebenen Werte gefunden. Fiir Phase III wird analog vorgegangen.
4.3. SCHEDULING-FRAMEWORK
FUR PARALLELE
153
MASCHINEN
Tabelle 4.21: Parameter fiir Phase II
4.3.5.4
Parameter
Numerischer Wert
Populationsgrofie
140
Crossoverwahrscheinlichkeit
0.6
Replacementwahrscheinlichkeit
0.5
Mutationswahrscheinlichkeit
0.001
Anzahl der Generationen
160
Numerische Experimente
Fiir die Leistungsbewertung wurden 36 Testdatensatze aus dem Photolithographiebereich einer Halbleiterfabrik ausgewahlt. Da sich eine Bewertung der Qualitat der Ablaufplane als schwierig envies, wurde zu Vergleichszwecken in Anlehnung an die Steuerungspraxis in der Halbleiterfabrik eine terminorientierte Prioritatsregel implementiert, die vorgezogene Siliziumscheiben beriicksichtigt. In den Experimenten werden jeweils zehn unabhangige Wiederholungen eines GA-Laufes durchgefiihrt, um stochastisch signifikante Werte zu erhalten. In Tabelle 4.22 sind die Leistungswerte fiir das Framework angegeben. Die Leistungswerte werden als Quotient aus dem Zielfunktionswert fiir den mit dem Framework ermittelten Ablaufplan und dem Zielfunktionswert des mit der Prioritatsregel bestimmten Ablaufplanes angegeben. In den Experimenten wurden T = 8/i, ai = 1.0000, a2 = 0.0025 sowie as = 0.0500 bzw. as = 0.0050 verwendet.
Tabelle 4.22: Leistungswerte fiir das Framework (as = 0.0500) Mittlerer
Bester
Schlechtester
Standardabweichung
Zielfunktionswert
Wert
Wert
Prioritatsregel
1.0000
1.0000
1.0000
0.0000
Schedulingverfaliren
1.0493
1.1323
0.9563
0.0794
In Tabelle 4.23 ist die Anzahl der vorgezogenen Siliziumscheiben angegeben, die bei Benutzung des Frameworks notwendig werden. Die Ergebnisse werden als Quotient aus der durch den Vier-Phasen-Algorithmus ermittelten Anzahl vorgezogener Siliziumscheiben und der beim Einsatz der Prioritatsregel erhaltenen Anzahl dargestellt. Es ist deutlich zu sehen, dass die Anzahl der benotigten vorgezogenen Siliziumscheiben sinkt. Weiterhin ist zu erkennen, dass die Wahl des Gewichtungsparameters sowohl die Anzahl vorgezogener Scheiben als auch die gewichtete Verspatung der Lose beeinfiusst.
154 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Tabelle 4.23: Anzahl der benotigten vorgezogenen Siliziumscheiben Anzahl der vorgezogenen Scheiben
Gewichtete Verspatung
as = 0.0500 Prioritatsregel Schedulingverfahren
1.0000
1.0000
0.2499
1.8100
as = 0.0050 Prioritatsregel
1.0000
1.0000
Schedulingverfahren
0.6488
1.8856
Das in diesem Abschnitt unter Verwendung des Scheduling-Frameworks entwickelte ScheduUngverfahren kann als Unterproblemlosungsverfahren in der verteilten Shifting-Bottleneck-Heuristik aus Abschnitt 4.2.3 zum Einsatz kommen.
4.4 4.4.1
Modifizierter Kontraktnetzansatz Motivation
In diesem Abschnitt wird ein Ressourcenallokationsproblem, das in hierarchisch organisierten Produktionssystemen auf der Maschinengruppenebene auftritt, gelost. In Abschnitt 3.7 sind derartige Probleme innerhalb des Verfahrens DHPCA zu behandeln, wenn die von der Produktionsbereichssteuerungsebene gelieferten Ablaufplane ungiiltig sind. Da eine erneute Berechnung von Ablaufplanen fiir Produktionsbereiche fiir eine anstehende Maschinenbelegungsentscheidung zu zeitaufwendig ist, sind Algorithmen zu entwerfen, die unter Verwendung lokaler Informationen die notwendigen Maschinenbelegungsentscheidungen ermoglichen. Ressourcenallokationsprobleme dieses Typs sind unter anderem von Ottaway und Burns [182], Dewan und Joshi [49] sowie von Okubo, Jiahua und Onari [178] untersucht worden. Kontraktnetzartige Ansatze werden vorgeschlagen. AUerdings wird in diesen Arbeiten nicht die Prage geklart, wie die notwendigen Kosten festzulegen sind, auf deren Basis die Bewertung von Leistungsnachfragen bzw. Leistungsangeboten erfolgt. Aus diesem Grund wird hier eine praktikable Methodik zur Bestimmung von entsprechenden Kosten auf Basis von Maschinenstundensatzen beschrieben. Es wird gezeigt, dass der vorgeschlagene Kontraktnetzansatz herkommlichen Prioritatsregelansatzen tiberlegen ist.
4.4.2
Kontraktnetzartige Ansatze
Die auf Smith [235] zuriickgehenden kontraktnetzaxtigen Ansatze werden seit der Pionierarbeit von Paranuk [192] fur die Losung von Ressourcenallokationsproblemen in der Fertigungsdomane
4.4. MODIFIZIERTER
155
KONTRAKTNETZANSATZ
verwendet. In der einfachsten Form besteht ein Kontraktnetz aus einer Menge von Manageragenten, welche die RoUe von Clients einnehmen und Knoten, die Servern entsprechen. Die wesentliche Idee des Kontraktnetzansatzes besteht darin, dass die Manager nach aufgabenlosenden Einheiten suchen, wahrend die Knoten aufgabenlosende Fahigkeiten anbieten. Die Manageragenten schreiben Aufgaben aus und erhalten und bewerten Angebote von potentiellen Knoten. Die Knoten erhalten Aufgabenausschreibungen der Manageragenten, bewerten ihre Fahigkeit, die Aufgabe zu losen, und geben gegebenenfalls ein Angebot an den ausschreibenden Manageragenten ab. Wenn der Manageragent dieses Angebot akzeptiert, fiihrt der Knoten die Aufgabe aus. Das Standardkontraktnetz ist in Abbildung 4.12 abgebildet.
Ausschreibung
Teilproblem
^ Evaluierung
^ Evaluierung
Bewerbung KontraktA^ertrag
^
Bestatigung
Vertragsabschluss
Wartezeit Problemlfisung Ergebnis Teillcisung
Abbildung 4.12: Standardkontraktnetz
Im Folgenden werden detailliert die Verhandlungsphasen eines Standardkontraktnetzes angegeben: 1. Der Manageragent schreibt eine Aufgabe aus. 2. Der Knoten erhalt die ausgeschriebene Aufgabe. Er bewertet seine Fahigkeiten, die ausgeschriebene Aufgabe auszufiihren. 3. Falls der Knoten zur Ausfuhrung der Aufgabe in der Lage ist, bewirbt er sich fiir die ausgeschriebene Aufgabe. Dazu gibt der Knoten ein Angebot an den Manageragenten ab. Dabei werden dem Manageragenten Kosten mitgeteilt, die bei der Losung der ausgeschriebenen Aufgabe durch den Knoten anfallen. 4. Der Manageragent bewertet die eingegangenen Angebote und wahlt denjenigen Knoten aus, der beziiglich einer fest gewahlten Praferenzfunktion am meisten geeignet erscheint. Der Manageragent verfiigt iiber ein bestimmtes Budget, welches dazu verwendet werden muss, die von den Knoten geforderten Kosten zu bezahlen. 5. Der Manageragent informiert den Knoten, der den Zuschlag zur Ausfuhrung der Aufgabe erhalt.
156 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
6. Der Knoten informiert den Manageragenten, dass er dem Vertrag (Kontrakt) zustimmt und die Realisierung gemafi Vertrag durchfiihrt. 7. Der zur Problemlosung durch den Manageragenten ausgewahlte Knoten zerlegt die zu losende Aufgabe in Teilprobleme und schreibt einzelne Teilaufgaben gegebenenfalls an andere Knoten aus. 8. Nachdem alle Teilaufgaben gelost sind, wird das Ergebnis dem Manageragenten mitgeteilt. Der Kontraktnetzansatz in dieser Form hat den Nachteil, dass die Fahigkeit zur Akzeptanz der Angebote ausschliefilich beim Manageragenten angesiedelt ist. Weitere Nachteile sind: 1. dffentliche Ausschreibung der Kontrakte: Dadurch entsteht ein hoher Kommunikations- und Ressourcenbedarf. Dieses Problem kann dadurch abgeschwacht werden, dass der Manageragent nur eine kleine Anzahl von Knoten informiert. Der Manager muss dazu allerdings die Fahigkeiten der Knoten kennen. Als zweite Losungsmoghchkeit bietet sich an, voUig auf Ausschreibungen zu verzichten und an deren Stelle Erfahrungswerte zu nutzen. Erfahrungswerte liegen in dynamischen Umgebungen allerdings typischerweise nicht vor. Es besteht fiir die Knoten auch die Moglichkeit, von sich aus Bewerbungen abzugeben, ohne iiberhaupt eine Ausschreibung erhalten zu haben. Auf diese auch als Koordinatorvariante des Kontraktnetzansatzes bezeichnete Architektur wird spater genauer eingegangen. 2. Verfahrensweise bei der Vertragsvergabe: Der Manager muss hier die Zusage des jeweiHgen Knotens abwarten. Bis zum Eintreffen der Zusage ist dem Manager nicht bekannt, ob der Knoten bereit ist, die ausgeschriebene Aufgabe anzunehmen, da eine Bewerbung einen unverbindlichen Charakter hat und der Knoten eventuell mehreren Manageragenten eine Zusage geschickt hat. Das beschriebene Problem kann dadurch umgangen werden, dass eine Bewerbung fiir eine ausgeschriebene Aufgabe als feste Zusage aufgefasst wird. D.h., in diesem Fall muss der Knoten dafur sorgen, dass er genau einem Manageragenten eine Zusage erteilt. Als zweite Moglichkeit kann eine maximale Zeitdauer fiir eine Auftragsbestatigung festgelegt werden. Falls die Bestatigung durch den Knotenagenten nicht innerhalb dieser Zeitspanne stattfindet, wird eine Stornierung des Kontrakts durch den Manageragenten vorgenommen. Im Folgenden wird auf die von Zelewski [275] beschriebene Koordinatorarchitektur eingegangen. Diese Architektur schwacht die unter 1. beschriebenen Probleme der oflFentlichen Ausschreibung der Kontrakte ab. Weiterhin wird im Folgenden vorausgesetzt, dass lediglich ein Manageragent vorhanden ist, d.h., das unter 2. beschriebene Problem wird an dieser Stelle ausgeschlossen. Neben der Manager- und KnotenroUe wird zusatzlich die RoUe eines Koordinators eingefiihrt. In dieser Architektur fragen die Knoten nach ausgeschriebenen Aufgaben, wahrend die Manageragenten Aufgaben ausschreiben. Der Koordinator hat die Aufgabe, passende Leistungsangebote von Knotenagenten und Leistungsnachfragen von Manageragenten zusammenzufuhren. Da der Koordinator als zentrale Einheit fungiert, kann der Koordinator zum Engpass in komplexen Systemen
4.4. MODIFIZIERTER
KONTRAKTNETZANSATZ
157
werden. Probleme entstehen auch, falls der Koordinator ausfallt. Die beschriebene Kontraktnetzarchitektur ist in Abbildung 4.13 dargestellt.
Koordinationsagent iiberpriift Leistungsnachfrage = Leistungsangebot
Abbildung 4.13: Kontraktnetz in der Koordinatorvariante [275]
Die Verhandlungsphasen eines Kontraktnetzes der Koordinatorvariante konnen wie folgt angegeben werden: 1. Ein Manageragent schreibt eine Aufgabe aus. Der Koordinatoragent erhalt die ausgeschriebene Aufgabe. 2. Ein Knotenagent informiert den Koordinator, dass er in der Lage ist, eine Aufgabe mit einer bestimmten Charakteristik auszufiihren. 3. Der Koordinatoragent sucht nach Leistungsnachfragen und Leistungsangeboten, die zueinander passen. Dabei wird gepriift, ob zum einen die Fahigkeiten des Knotenagenten fiir die Aufgabe ausreichend sind. Andererseits werden auch Kosten in die Entscheidung einbezogen, d.h., der Knotenagent verlangt Kosten fiir die Ausfiihrung der Aufgabe, wahrend der Manageragent nur ein bestimmtes, beschranktes Budget zur Verfiigung hat. 4. Der Koordinatoragent informiert den Knoten, der den Zuschlag zur Ausfiihrung einer ausgeschriebenen Aufgabe erhalt. 5. Der Koordinatoragent informiert den Manageragenten, dass die von ihm ausgeschriebene Aufgabe durch einen bestimmten Knotenagenten ausgefiihrt wird. 6. Der Knoten, der den Zuschlag erhalten hat, zerlegt die zu losende Aufgabe in Teilprobleme und schreibt einzelne Teilaufgaben gegebenenfalls an andere Knoten aUs.
158 KAPITEL 4. VERFAHREN ZUR AUTONOMEN UND KOOPERATIVEN STEUERUNG Fur Probleme mit niedriger Komplexitat ist die Koordinatorvariante der einfaxihen Kontraktnetzvariante auf Grund des geringeren Kommunikationsaufwandes und der relativ geringen Auswirkungen eines Koordinatoransfalls vorzuziehen. Es bietet sich an, fiir jede einzelne Maschinengruppe einen eigenen Verhandlungsprozess zu etablieren, um die Folgen von Engpass- und Ausfallproblemen zu minimieren. Die RoUe des Koordinators kann durch den Maschinengruppenagenten bzw. einen geeigneten Dienstagenten (vergleiche hierzu die Kapitel 3 und 6 dieser Arbeit) eingenommen werden.
4.4.3
Maschinenstundenbasierte Budget- und Kostenbestimmung
Im nachfolgenden Abschnitt wird ein Ansatz beschrieben, der zur Ermittlung von Kosten fiir zu erbringende Leistungen in Kontraktnetzen fiir Produktionssysteme dient. Die Kernidee des Vorgehens besteht darin, jedem Losagenten (in der RoUe Manageragent) ein geeignet festgelegtes Budget zur Verfiigung zu stellen, das in den Verhandlungen mit dem Maschinenagenten (in der RoUe Knotenagent) verwendet wird. Bei der Leistungserbringung auf den Maschinen entstehen Kosten, die auf der gleichen Berechnungsgrundlage wie das Budget basieren. Losagenten sind bestrebt, ihr Budget kostenefiizient auszunutzen, d.h. in der untersuchten Situation moglichst diejenige parallele Maschine zu benutzen, die minimale Kosten in Rechnung stellt.
4.4.3.1
Bezeichnungen
In diesem Abschnitt werden die nachfolgenden Notationen verwendet: Wji Gewicht von Los j , Cf reahsierter Fertigstellungszeitpunkt von Los j , dji geplanter Fertigstellungszeitpunkt von Los j , Ui'. Anzahl der Prozess-Schritte von Produkt Pi, mi'. Maschine i des Produktionssystems. Fiir das betrachtete Produktionssystem gelten die in Abschnitt 3.2 getroffenen Modellannahmen, d.h. insbesondere, dass 1. die Bearbeitung von Losen auf einer Maschine nicht unterbrochen werden kann, 2. die Bearbeitung der Prozess-Schritte eines Loses in der durch den Arbeitsplan vorgegebenen Reihenfolge zu erfolgen hat, 3. Transportzeiten in den betrachteten Bearbeitungszeiten beinhaltet sind, 4. das Transportsystem stets verfiigbar ist und keinen Engpass darstellt.
4.4. MODIFIZIERTER KONTRAKTNETZANSATZ
159
5. die Bearbeitungszeiten der einzelnen Lose deterministisch sind, 6. reihenfolgeabhangige Umriistzeiten vorliegen, 7. Batchmaschinen existieren, d.h., die Lose werden zu Batches zusammengefasst, die dann zur selben Zeit auf derselben Maschine bearbeitet werden.
4.4.3.2
Definition von MaschinenstundensStzen
Maschinenstundensatze werden in Anlehnung an Warnecke, BuUinger, Hichert und Voegele [263] definiert. Eine feste Periode T liegt den nachfolgenden Betrachtungen zugrunde. Gewohnlich wird ein Jahr als Periode gewahlt. In einem ersten Schritt werden die nachfolgenden zwei Grofien fur jede Maschine des betrachteten Produktionssystems ermittelt: 1- tfaii,i ist eine Abschatzung fiir die Zeit, in der die Maschine rrii in T nicht zur Bearbeitung zur Verfiigung steht. Die fiir Reparaturen, vorbeugende Instandhaltung, Pausen und Werksferien benotigten Zeiten sind in tfau,i beinhaltet. 2. ttech,i ist eine Abschatzung fiir die Zeit, in der die Maschine rrii auf Grund von technologischen Griinden nicht zur Verfiigung steht. Die Grofie wird im WesentUchen bestimmt durch Tests, die zur Einstellung von Parameterkonfigurationen an der Maschine benotigt werden. Der Anteil der Periode T, der zur Bearbeitung von Losen auf Maschine m, benutzt werden kann, ist dann offensichtUch durch tt,i(T)-T-{tfaii,i-^ttech,i)
(4.25)
gegeben. In einem zweiten Schritt ist die Berechnung von Kosten, die an einer einzelnen Maschine anfallen, notwendig. Es wird zwischen variablen und fixen Kosten unterschieden. Variable Kosten Cyar,i fiir die Maschine rrii hangen von der Produktionsauslastung der Maschine ab. Beispiele fiir variable Kosten (pro Periode T) sind: • Kosten fiir spezielle Materialien zur Durchfiihrung eines Prozess-Schrittes auf der Maschine. Dazu zahlen z.B. spezielle Gase in der Halbleiterfertigung. • Kosten fiir die Benutzung der Maschine wahrend des Produktionsprozesses. Beispielsweise fallt die zum Betreiben der Maschine notwendige elektrische Energie in diese Kategorie. • Kosten fiir vorbeugende Instandhaltung, die von der Anzahl durchgefiihrter Prozess-Schritte auf der Maschine abhangig ist. Fixe Kosten Cfix,i sind notwendig, um Ausgaben zu modellieren, die unabhangig von der Nutzung der Maschine m, sind. Beispiele fiir fixe Kosten (pro Periode T) sind:
160 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
• Mietkosten fiir das Werksgelande, • Kosten fiir die Abschreibung der jeweiligen Maschine. Der Maschinenstundensatz mhi fiir Maschine rrii wird dann wie folgt bestimmt:
mhi := ^--^>'^^f'-\
(4.26)
Die Beziehung (4.26) sagt aus, dass der Maschinenstundensatz gegeben ist durch die an der Maschinen anfallenden Kosten bezogen auf eine Nutzungszeiteinheit der Maschine. Maschinenstundensatze haben den Vorteil, dass sie in relativ vielen modernen ERP-Systemen zur Verfiigung stehen. Zur Abschatzung der zur Berechnung der Maschinenstundensatze benotigten GioQen tfaii,i und ttech,i kann diskrete ereignis-orientierte Simulation eingesetzt werden. Aus diesen Grunden werden Maschinenstundensatze zur Modellierung von Kosten im Rahmen des Kontraktnetzansatzes angewandt.
4.4.3.3
Kosten zur Herstellung eines einzelnen Loses fiir ein Produkt
Die Menge der herzustellenden Produkte wird mit P := {Pi,..., Pm} bezeichnet. Produkt Pi hat einen Arbeitsplan Si := (su, 52t,..., s„i), wobei mit Ski Prozess-Schritt k von Produkt Pi bezeichnet wird. Die Bearbeitungszeit von Prozess-Schritt k auf Maschine rris wird mit pks bezeichnet. Die Kosten C{Pi) fiir die Herstellung eines Loses von Produkt Pi werden wie folgt bestimmt: m
C{Pi) := Y^average{mhs)average{pks)-
(4-27)
A;=l
Es wird an dieser Stelle die Bezeichnung averageQ verwendet, um deutlich zu machen, dass Mittelwerte fur Maschinenstundensatze und Bearbeitungszeiten verwendet werden. Die Betrachtung von Mittelwerten ist notwendig, da den einzelnen Prozess-Schritten in den Arbeitsplanen jeweils lediglich eine Gruppe heterogener paralleler Maschinen zugeordnet ist, d.h., zum Zeitpunkt der Berechnung der Kosten fiir die Herstellung eines einzelnen Loses steht noch nicht fest, auf welcher parallelen Maschine der jeweilige Prozess-Schritt tatsachlich ausgefiihrt wird.
4.4.3.4
Maschinenstundenbasierte Festlegung des Budgets fiir Losagenten
Losagenten haben das Ziel, den Kauf von knappen Maschinenkapazitaten zu optimieren. Das Erreichen dieses Ziels wird fiir den Agenten Aj durch die Zielfunktion gj:=wj{cj-djy
(4.28)
gemessen. Es wird angenommen, dass Agent Aj zur Herstellung eines Loses von Produkt Pi vorgesehen ist. Das maschinenstundenbasierte Budget ist dann durch die nachfolgende Grofie gegeben:
4.4. MODIFIZIERTER KONTRAKTNETZANSATZ
B{Aj) := {l-wt-
wm)^
^ r ^ / p x + '^tfj + WmMj.
161
(4.29)
wobei mit Tj : Lieferterminprioritat von Los j , Mji Mafi fiir die Wichtigkeit von Los j aus Sicht des Managements (Managementzuschlag), Wt : Gewicht fiir die Liefertermintreue, Wm'. Gewicht fiir die Bedeutsamkeit des Lose aus Managementsicht, Afc : Haufigkeit von Losen fiir Produkt Pk bezeichnet werden. Dieses Budget wird dem Losagenten bei seiner Erzeugung zur Verfiigung gestellt. Es gilt wt -\- Wm < I, wt,Wm > 0 und T>keP^k = 1 sowie 0 < Afc < 1. Der Nenner im ersten Term von Beziehung (4.29) sorgt dafiir, dass die Kosten C{Pi) normiert werden. Die Lieferterminprioritat von Los j wird wie folgt berechnet: f . := Verbleibende
^J~^ . Restbearbeitungszeit
(4.30)
Mit t wird der Zeitpunkt bezeichnet, an dem die Lieferterminprioritat bestimmt wird. Die Wahl der Lieferterminprioritat wird durch die in der Halbleiterfertigung bedeutsame „Critical Ratio"Prioritatsregel (vergleiche hierzu [7]) motiviert. Die Bedeutsamkeit des Loses j aus Managementsicht wird wie folgt festgelegt: falls Los j unwichtig ist, falls Los j wichtig ist,
Mj =
falls Los j sehr wichtig ist. 4.4.3.5
Maschinenstundenbasierte Festlegung der Kosten fiir Maschinenagenten
Das Ziel der Maschinenagenten Arm besteht darin, die dem Agenten zugeordnete Maschine rui moglichst hoch auszulasten. Zur Erreichung dieses Zieles ist es notwendig, die Riistkosten zu minimieren sowie die Auslastung der Batches zu maximieren, da dadurch die dynamische Kapazitat des Produktionssystems erhoht wird. Diese beiden Ziele sind gegenlaufig. Aus diesem Grund motiviert das Ziel der Maximierung der Auslastung die nachfolgende kombinierte Zielfunktion: G{mi) := min {aiSCk + 0^2 (1 - UMk)),
(4.31)
k£l
mit Q!i + a2 = 1 und ak > 0. Es werden die nachfolgenden Bezeichnungen in Gleichung (4.31) verwendet:
162 KAPITEL 4. VERFAHREN ZUR AUTONOMEN I
UND KOOPERATIVEN
STEUERUNG
: Menge der Indizes von Losen (Batches), die vor der jeweiligen Maschinengruppe auf Bearbeitung warten,
SCk : auf das Intervall [0,1] normierte Riistkosten fiir Batch k, UMk'. auf das Intervall [0,1] normierte Auslastung von Batch k, Oii : Gewicht des Zieles z fiir i = 1,2. Der Maschinenagent bietet dem Losagenten, der fiir die Ausfiihrung von Prozess-Schritt Ski von Produkt Pi verantwortlich ist, eine Bearbeitungsleistung an, die mit den Kosten Co(mi) := (1-w,-
WCH) ^
"^^f')^,
+ w^SCk + W^H (1 ~ UM^)
(4.32)
verbunden ist. Es gilt Wg + Wch < 1 und Ws,Wch > 0. Mit Wa wird das Gewicht der Riistkosten und mit Wch das Gewicht fiir die Auslastung eines Batches bezeichnet. Es wird bemerkt, dass im Fall eines hoch ausgelasteten Batches niedrigere Kosten fur den einzelnen Losagenten anfallen. Kiirzere Bearbeitungszeiten auf einer Maschine fiihren unter der Annahme identischer Maschinenstundensatze ebenfalls zu niedrigeren Kosten fur die Bearbeitung.
4.4.3.6
Algorithmus zur maschinenstundenbasierten Ressourcenallokation
In diesem Abschnitt wird ein maschinenstundenbasierter Ressourcenallokationsmechanismus beschrieben. Es wird ein robuster Verhandlungsmechanismus entworfen, der die Situation an einer bestimmten Maschinengruppe in geeigneter Art und Weise beriicksichtigt. Der Algorithmus wird roUierend angewandt. Als Ergebnis erhalt man einen Ablaufplan fiir jedes Los bzw. fur jede Einzelmaschine. Der Algorithmus wird durch die folgenden Schritte beschrieben: Maschinenstundenbasierter Ressourcenallokationsmechanismus 1. Berechnung der Haufigkeit des Auftretens von Losen eines bestimmten Produktes im Produktionssystem. Als Ergebnis dieses Schrittes erhalt man die Haufigkeiten {Ai,...,An} fiir dieProdukte{Pi,...,P„}. 2.
Berechne fur jeden Losagenten Aj sein Budget entsprechend Beziehung (4.29).
3.
Die Losagenten fragen beim Koordinatoragenten nach einer Bearbeitungsmoghchkeit nach.
4.
Die Maschinenagenten informieren den Koordinatoragenten iiber Bearbeitungsmoghchkeiten innerhalb eines bestimmten Schedulinghorizontes.
5.
Der Koordinatoragent wahlt Losagenten nach einer FIFO-Strategie aus. Weiterhin wird der ausgewahlte Losagent vom Koordinatoragenten mit Informationen uber Maschinenagenten versorgt, deren Maschinen das Los des jeweihgen Losagenten bearbeiten konnen.
4.4. MODIFIZIERTER KONTRAKTNETZANSATZ 6.
163
Der Losagent wahlt denjenigen Maschinenagenten aus, der die niedrigsten Kosten Co verursacht. Dabei ist die Auswahl nur dann zulassig, wenn fiir das vorhandene Budget Boid{Aj) gilt: Co < Boid{Aj). Die Kosten Co werden entsprechen Beziehung (4.32) berechnet. Gleichzeitig wird das neue, dem Losagenten zur Verfiigung stehende Budget Bnewi^j) ^^^ dem alten Budget Boid{Aj) durch Bnewi^j) '-= Boid{Aj) - Co berechnet.
7. Falls das zu Aj zugehorige Los eine bestimmte Zeitdauer Athreshoid nicht bearbeitet wurde, muss eine Anpassung des Budgets vorgenommen werden. Das neu zur Verfiigung gestellte Budget wird dabei auf Basis der noch auszufiihrenden Prozess-Schritte des Loses j durch Bne^{Aj) := max ( -^5-^±i—
y^Tp^
> Boid{Aj)j
(4.33)
festgelegt. Dabei wird vorausgesetzt, dass der nachste auszufiihrende Prozess-Schritt si+u ist. Das entsprechend Beziehung (4.33) angepasste Budget stellt sicher, dass der Losagent in der Lage ist, die Maschinenagenten fiir die Ausfiihrung der verbleibenden Prozess-Schritte des Loses zu bezahlen.
4.4.4
Leistungsbewertung des vorgeschlagenen Ansatzes
In diesem Abschnitt werden Ergebnisse numerischer Experimente mit dem vorgeschlagenen Verfahren zur Ressourcenallokation prasentiert. Die Leistungsfahigkeit des Verfahrens wird in einem dynamischen Umfeld untersucht, d.h., ein diskretes ereignis-orientiertes Simulationstool wird verwendet, um das Verhalten des zu steuernden Produktionssystems zu emulieren. Ein einfaches Multi-Agenten-System wurde unter Verwendung des objektorientierten JAFMAS-Frameworks [37] implementiert. Das Agentensystem enthalt Losagenten, Maschinenagenten und einen Koordinationsagenten. Die Kommunikation zwischen den Agenten basiert auf dem Remote-Method-Invocation (RMI)Mechanismus. Das Multi-Agenten-System wird iiber eine in der Programmiersprache Java implementierte blackboardartige Datenschicht mit dem diskreten ereignis-orientierten Simulator ParSiMONY [206] gekoppelt. Das untersuchte Multi-Agenten-System und die Java-basierte Architektur zur Leistungsbewertung sind detaillierter in [166] beschrieben. Ausfiihrungen zu einer generischen Leistungsbewertungsarchitektur fiir verteilte Steuerungssysteme sind in Kapitel 7 zu finden.
4.4.4.1
Charakterisierung des untersuchten Produktionssystems
Das untersuchte Produktionssystem stellt eine Mischung aus Werkstatt- und Fliefifertigung dar. Optimierungsspielraum besteht fiir das vorgeschlagene Verfahren auf Grund der verwendeten parallelen Maschinen. In Tabelle 4.24 sind die Arbeitsplane fiir vier Produkte Pi, P2, P3, P4 angegeben. Insgesamt sind 16 unterschiedliche Prozess-Schritte auf vier unterschiedlichen Maschinengruppen mit jeweils zwei Maschinen auszufiihren.
164 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Tabelle 4.24: Produktdaten des betrachteten Produktionssystems Produkt
Arbeitsplan
Pi
A-E-I-M
P2
F-N-B-L
Pz
0-J-G-D
PA
K-C-P-H
Die Informationen zu den Maschinen, insbesondere Bearbeitungsszeiten der Prozess-Schritte auf einzelnen Maschinen und Maschinenstundensatze, sind in Tabelle 4.25 angegeben. Tabelle 4.25: Maschinendaten des Beispiels Maschinengruppe
MGi
MG2
MGz
MG4.
4.4.4.2
Maschine 1 P.-Schritt Bearbeitungszeit
Mi;M2
M3; M4
M5; Me
M7; Ms
Maschinenstundensatz
A
365
4
A
365
4
B
450
4
C
350
4
D
380
4
E
350
7
F
420
7
G
400
7
H
480
7
I
420
6
J
470
6
K
300
6
L
340
6
M
420
5
N
360
5
0
380
P
350
5 5
1 1 1
Design der Experimente
Es werden drei Szenarien betrachtet, die sich in den simulierten Maschinenausfallen unterscheiden: 1. Szenario 1: Es liegt ein deterministisches Modell vor, d.h., es werden keine Maschinenausfalle betrachtet.
4.4. MODIFIZIERTER
165
KONTRAKTNETZANSATZ
2. Szenario 2: Ein stochastisches Modell wird betrachtet, in dem haufige, kurze Maschinenausfalle auftreten. Das Multi-Agenten-System wird auf Grund eines Maschinenausfalls nicht extra aktiviert und erhalt keine Informationen iiber einen Maschinenausfall. 3. Szenario 3: Es wird ein stochastisches Modell untersucht, in dem seltene, lang andauernde Maschinenausfalle auftreten. Das Multi-Agenten-System wird bei jedem Maschinenausfall und bei jedem Start einer Maschine nach einem Ausfall aktiviert und berechnet die Belegungsplane aller Maschinen neu. In Tabelle 4.26 sind die unabhangigen Variablen der Simulationsstudie angegeben. Insbesondere ist dort auch das Ausfallverhalten der Maschinen in Szenario 2 und Szenario 3 spezifiziert. AUe anderen Variablen in Tabelle 4.26 werden in den drei Szenarien als fest betrachtet. Tabelle 4.26: Unabhangige Variable der Simulationsstudie Variable
1
Auspragung
Produktmix
1
1 Setzen des geplanten Aussteuertermins
K i ^ : ^ : P4 - 1:1:1:1
Gewichte der Lose
dj:=rj-^AY:kUPkj w;,G {0.25,0.50,0.75}
Loseinsteuerung
Gleichgewicht zwischen ein- und ausgesteuerten 1 Losen
Maschinenausfalle
Szenario 1: keine Maschinenausfalle, Szenario 2: haufige Maschinenausfalle von kurzer Dauer (MTBF - U(60,120); MTTR - U(2,4)) Szenario 3: seltene, lang andauernde Maschinenausfalle (MTBF - U(4000,5000); MTTR U(480,960)) 8h
Haufigkeit der roUierenden Planung mit dem MAS Haufigkeit der Budgetanpassung
Falls ein Los 16 Stunden nicht bearbeitet wird, wird ein Update des Budgets vorgenommen.
Strategic zur Behandlung ungiiltiger
Kombination aus verzugs- und riistzeitminimie-
Ablaufplane
render Prioritatsregel (SLSS aus Tabelle 4.27)
Da in der Literatur mit grofier Ubereinstimmung iiber die besondere Eignung von MultiAgenten-Systemen zur Steuerung von Systemen mit Storungen und Turbulenzen berichtet wird (vergleiche u.a. Brennan und O [28]), wurde durch die hier beschriebene Wahl der Szenarien versucht, diese Aussage zu verifizieren. Zur Leistungsanalyse des kontraktnetzartigen Steuerungsansatzes wurden die folgenden direkten Leistungsmafie verwendet (vergleiche Kapitel 7 fiir eine Unterscheidung in direkte und indirekte Leistungsmafie):
166 KAPITEL 4. VERFAHREN ZUR AUTONOMEN UND KOOPERATIVEN STEUERUNG (1) Mittlere gewichtete Verspatung: AWT := ^ Y^]^^ Wj{cj (2) Mittlere Verspatung: AT := ^ E]=i{cj -
dj^,
dj^,
(3) Mittlere Durchlaufzeit: ACT := ^ E"=i(cj - o ) , (4) Durchsatz: TP := card{j\cj > 0}. Die verwendeten Leistungsmafie bewerten die Verspatung, die Durchlaufzeit und den Durchsatz. In der Praxis ist speziell der fiir einfache ProduktioUssysteme durch das Gesetz von Little (vergleiche Law und Kelton [119]) gegebene Zusammenhang von Durchsatz und Durchlaufzeit von Interesse. In alien Experimenten wurden nach beendeter Einschwingphase Simulationslaufe mit einer Lange von drei Monaten betrachtet. Es wurde somit ein Produktionssystem im stationaren Zustand untersucht. Fiir jeden Simulationslauf wurden fiinf unabhangige Wiederholungen durchgefuhrt, um statistisch signifikante Werte fiir die Leistungsmafie zu erhalten. Die Leistungsmafie wurden als Durchschnitt der Leistungsmafie ftir die Einzellaufe berechnet. In Tabelle 4.27 sind Prioritatsregeln beschrieben, mit denen der maschinenstundenbasierte Allokationsmechanismus verglichen wird. In den benutzten Formeln werden die Bezeichnungen aus Abschnitt 4.4.3 verwendet. Die folgenden zusatzlichen Bezeichnungen werden eingefiihrt: t : Zeitpunkt, zu dem eine Maschinenbelegungsentscheidung getroffen werden muss, Pji
Bearbeitungszeit fiir den aktuellen Prozess-Schritt von Los j ,
Pji'. Bearbeitungszeit fiir Prozess-Schritt i von Los j , p : durchschnittliche Bearbeitungszeit der noch wartenden Lose zum Entscheidungszeitpunkt t, K:
Vorausschauparameter in der ATC-Regel.
Tabelle 4.27: Beschreibung der Vergleichsprioritatsregeln Kegel
Prioritat
Definition
FIFO
First-In-First-Out
min(rj)
ATC
Apparent-Tardiness-Cost
»-(^exp{-i^i^^))
SLSS
Slack-and-Same-Setup
min{dj -t-^pji),
falls der Riistzustand der Maschine
beibehalten werden kann, andernfalls wird diejenige freie Maschine ausgewahlt, die die geringste Zeit zum Umriisten benotigt SPT
Shortest-Processing-Time
i mm{pj)
4.4. MODIFIZIERTER 4.4.4.3
167
KONTRAKTNETZANSATZ
Ergebnisse
In Tabelle 4.28 sind numerische Werte fiir die untersuchten Leistungsmafie fiir den maschinenstundenbasierten Ressourcenallokationsansatz und die vier Vergleichsprioritatsregein zusammengefasst. Ungiiltige Ablaufplane werden nach der SLSS-Strategie aus Tabelle 4.27 behandelt. Im Folgenden wird dieser Ansatz mit MAS abgekiirzt. AUe numerischen Werte in Tabelle 4.28 werden relativ zu dem jeweiligen Ergebnis mit dem MAS angegeben, d.h. sind der Quotient aus dem MAS-Ergebnis und dem Ergebnis mit der entsprechenden Prioritatsregel. Tabelle 4.28: Werte fiir die Leistungsmafie Szenario 1
MAS
FIFO
SLSS
ATC
AWT
1.0000
1.2621 2.9650
2.2490
1.7981
AT
1.0000
1.0060 2.3691
1.7471 1.5890
ACT
1.0000
1.0640
TP
1.0000
1.0481 0.8220
SPT
1.0680
1.1551 1.1390 0.9321
0.9100
Szenario 2 AWT
1.0000
1.1910 2.6351
1.9810
1.1880
AT
1.0000
1.1242 2.1781
1.7422
1.3570
ACT
1.0000
1.1000
TP
1.0000
1.0320 0.8400
0.9602
1.0581
AWT
1.0000
1.5900 2.1441
1.7880
1.7080
AT
1.0000
1.3250
1.9830
1.5750
1.5991
AC
1.0000
1.1071 1.0440
TP
1.0000 0.9251
1.0370
1.1771 1.1340 1
Szenario 3
0.8051
1.1332
1.1500
0.9251
0.9170
Aus Tabelle 4.28 ist zu erkennen, dass MAS fiir das untersuchte Produktionssystem den prioritatsregelbasierten Ansatzen fiir die termin- und durchlaufzeitorientierten Leistungsmafie iiberlegen ist. Bei der Zuteilung des Budgets fliefien globale Informationen iiber das Produktionssystem in die Entscheidungsfindung ein. Bei einer prioritatsregelbasierten Steuerung des Systems ist das nur eingeschrankt moglich. Wahrend fiir das Szenario 1 und 2 mit einem nach FIFO gesteuerten System noch ein gr6i3erer Durchsatz als bei einer Steuerung mit dem maschinenstundenbasierten AUokationsansatz erreicht wird, erzielt fiir Szenario 3 auch der maschinenstundenbasierte AUokationsansatz den grofiten Durchsatz. Ursache dafiir ist die Beriicksichtigung von globalen Informationen bei der Budgetzuteilung. In Abbildung 4.14 werden die ermittelten Werte fiir den Durchsatz TP fur ein Produktionssystem mit haufigen, kurzen Maschinenausfallen (Szenario 2) und ein Produktionssystem mit seltenen, langen Maschinenausfallen (Szenario 3) zusatzHch in Form eines Balkendiagramms veranschaulicht. In Abbildung 4.15 werden Ergebnisse fiir das Leistungsmafi ACT fur ein Produktionssystem mit vielen, kurzen Maschinenausfallen (Szenario 2)
168 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Durchsatz (TP) 00
85,0
90
82.4
80
•^ pi in H^'^'-' •
70 60 ^ 0 40 30 20 10
H75,0
79^
•
69,4
87,2
H 69.2
r
•69,4
•60.4
B n
•68.8
•n •
P: 1 1 1 K:;: 1 1 I 1 Imi 11 11 11 11 Ji i L L .11.
MASmitSLSS
•
SLSS
Szenario2
•-n •
SPT
FIFO
ATC
|~3 Szenario3
Abbildung 4.14: Durchsatz fiir Szenario 2 und Szenario 3
gezeigt. Dabei wird die Durchlaufzeit im zeitlichen Verlauf betrachtet, indem jeweils nach einer bestimmten Anzahl fertiggestellter Lose die mittlere Durchlaufzeit gemessen wird. Offensichtlich erreicht MAS die geringste mittlere Durchlaufzeit, wahrend die mittlere Durchlaufzeit bei den prioritatsregelbasierten Ansatzen teilweise im zeitlichen Verlauf leicht ansteigt. AUe Experimente wurden auf einem PC mit einem Pentium-4-Prozessor mit 2,4 GHz Taktfrequenz und 256 MB Arbeitsspeicher durchgefiihrt. Die Laufzeit fiir einen Simulationslauf betrug fiir das betrachtete Produktionssystem weniger als fiinf Minuten. Zusammenfassend kann auf Basis der durchgefiihrten Experimente festgestellt werden, dass der maschinenstundenbasierte Ressourcenallokationsmechanismus besser als Prioritatsregeln zur Reaktion auf ungiiltige Ablaufplane im verteilten hierarchischen Steuerungsansatz geeignet ist. Durch die Kombination der verteilten Schedulingansatze mit dem maschinenstundenbasierten Ressourcenallokationsmechanismus wird sichergestellt, dass zu jedem Zeitpunkt eine Maschinenbelegungsentscheidung getroffen werden kann.
4.5
Integration in eine betriebliche Anwendungslandschaft
In diesem Abschnitt wird beschrieben, wie die in den Abschnitten 4.1, 4.2, 4.3, 4.4 beschriebenen Algorithmen in eine vorhandene betriebliche Anwendungslandschaft integriert werden konnen. Dazu wird im Wesentlichen dargestellt, in welchen Informationssystemen sich die Informationen
4.5. INTEGRATION
IN EINE BETRIEBLICHE
ANWENDUNGSLANDSCHAFT
169
Mittlere Durchlaufzeit (ACT) 8000 xxxxxxxxxxxx <xxxxx
7500
„j^)(XX^<»O ^ A Q S S S O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O
7000
6500
Tninnr^^ 3D°°XX&AAA^^^
^
6000 5500 40
45
50
55
60
65
70
75
80
Anzahl Lose, die das System verlassen haben I a MASmitSLSS
x SLSS
A SPT
o FIFO
- ATC I
Abbildung 4.15: Entwicklung der Durchlaufzeiten fiir Szenario 2
befinden, welche von den Algorithmen verarbeitet werden. Die in Tabelle 4.29 angegebenen statischen Informationen werden fiir die Verfahren benotigt. Tabelle 4.29: Statische Informationen fiir die Maschinenbelegungsverfahren konkrete Information
Informationssystem
physische Dekomposition des Produktionssystems
MES
Maschinen des jeweiligen Segmentes
MES
Maschinendedizierungen
MES
ausfiihrbare Prozess-Schritte der Maschinen
MES
Zeitmodelle zur Berechnung von Bearbeitungszeiten
MES, Spezialdatenbanken
reihenfolgeabhangige Riistzeiten
MES
prozess-schritt-basierte Arbeitsplane
MES, ERP
operationsbasierte Arbeitsplane
MES, ERP
Maschinenstundensatze
ERP
Verteilungen fiir das Ausfallverhalten der Maschinen
Historiendatenbank
Neben den statischen setzten die Verfahren Informationen voraus, die den Zustand von Losen und Maschinen beschreiben. Diese Informationen werden als dynamisch bezeichnet und in Tabelle 4.30 dargestellt.
170 KAPITEL 4. VERFAHREN ZUR AUTONOMEN
UND KOOPERATIVEN
STEUERUNG
Tabelle 4.30: Dynamische Informationen fiir die Maschinenbelegungsverfahren konkrete Information
Informationssystem
1
zukiinftige Losankiinfte (Forecast)
ERP
1
Verfiigbarkeitstermine der Maschinen
MES
Riistzustand der Maschinen
MES
Gewichte der Lose
MES
als letzter ausgefiihrter Prozess-Schritt fur ein Los
MES
als letzte beendete Operation eines Loses
MES
Lose im Warteraum vor den Maschinengruppen
MES
Fiir das in Abschnitt 4.L5 beschriebene Verfahren zur simulationsbasierten Abschatzung von Wartezeiten sind auf die aktuelle Situation im Produktionssystem zugeschnittene Simulationsmodelle notwendig. Ein Verfahren zur semi-automatischen Erzeugung von Simulationsmodellen aus MES- und ERP-Daten ist in [161] vorgeschlagen worden. Die Zusammenarbeit des in Abschnitt 4.3.5 beschriebenen Verfahrens zur Maschinenbelegung von Steppern mit einem MES ist in [154] beschrieben worden. Im WesentHchen wird die blackbordartige OnUne-Datenschicht aus Kapitel 7 in eine geeignete Client-Server-Architektur eingebunden.
Kapitel 5 Koordination in hierarchischen Steuerungssystemen Unter Koordination wird die direkte Einflussnahme auf unterschiedliche Systembestandteile mit dem Ziel eines integrierten, harmonischen Zusammenwirkens verstanden [143]. Dazu werden zunachst unterschiedliche Formen der Koordination in hierarchischen und dezentralen Systemen erlautert. Koordination setzt im AUgemeinen Kommunikation voraus. Kommunikation verlangt ein gemeinsames Verstandnis der an der Kommunikation beteiUgten Systemeinheiten. Als Vokabular wird eine Ontologie fiir die Steuerung komplexer Produktionssysteme entwickelt. Auf dieser Ontologie aufbauend wird eine geeignete Contentsprache fiir komplexe Produktionssysteme entworfen, die den Inhalt von Nachrichten auf semantischer Ebene festlegt. InteraktionsprotokoUe beschreiben, in welcher zeithchen Reihenfolge zwischen welchen beteihgten Systemeinheiten Nachrichten ausgetauscht werden. Ontologie, Contentsprache und InteraktionsprotokoUe werden zusammen als Koordinationssprache bezeichnet.
5.1
Koordinationsbegriff
5.1.1
Motivation und Begriff
Da verteilte hierarchische Steuerungssysteme als Multi-Agenten-Systeme realisiert werden konnen, ist es sinnvoU, in diesem Kapitel auf die Koordination in Multi-Agenten-Systemen einzugehen. Koordination in Multi-Agenten-Systemen ist als ein Prozess definiert, in dem Agenten ihre eigenen lokalen Handlungen und die antizipierten Handlungen anderer Agenten unter dem Aspekt betrachten und bewerten, dass das Multi-Agenten-System in einer koharenten Art und Weise handelt [106]. Koordination ist in Multi-Agenten-Systemen aus den folgenden Griinden notwendig: • Agenten besitzen eigene Ziele und einen individuellen Informationsstatus. Die Ziele eines bestimmten Agenten konnen in Konflikt zu den Zielen anderer Agenten stehen. Ein veranderter Informationsstatus kann zu anderen Entscheidungen der Agenten fiihren.
172
KAPITEL 5. KOORDINATION IN HIERARCHISCHEN
STEUERUNGSSYSTEMEN
• Es existieren Abhangigkeiten zwischen den Handlungen der Agenten. Die Abhangigkeiten warden durch Entscheidungen einzelner Agenten verursacht, die Einfluss auf Entscheidungen anderer Agenten haben. • Globale Restriktionen des Gesamtsystems miissen eingehalten werden. • Einzelne Agenten besitzen typischerweise nicht die notwendigen Informationen, Ressourcen und Fahigkeiten, um das Gesamtproblem losen zu konnen. In [124] wird ausgefuhrt, dass Koordinationsentscheidungen als komplexe, diskrete Optimierungsprobleme formuliert werden konnen, die darauf basieren, den Beitrag der Koordinationsaktivitaten zur Erfiillung der globalen Systemziele in einer quantifizierbaren Art und Weise zu bewerten.
5.1.2
Formalisierung des KoordinationsbegrifFes
Koordination umfasst als komplexes Entscheidungsproblem zwei Aspekte: 1. Aspekte der Selbstorganisation: Es wird eine Veranderung der Struktur des zu steuernden Systems angestrebt. Das zu losende Entscheidungsproblem kann, wie in Abschnitt 3.1 dargestellt, in der Form {C,A,It)
geschrieben werden. Es konnen folglich die Ziele des zu
steuernden Systems, der Alternativenraum oder der Informationsstatus verandert werden. Dieses Vorgehen entspricht im Wesentlichen der in Abschnitt 2.3 diskutierten Zielmodifikation. In der Koordinationstheorie wird von Zielkoordination bzw. dualer Koordination gesprochen. 2. Aspekte der Steuerung: Es wird eine Steuerungsentscheidung in Form einer Alternative a e A ausgewahlt. Das entspricht der Auswahl einer Koordinationseingangsgrofie fiir eine fest vorgegebene Struktur (C, A, It). In Abschnitt 2.3 wurde dafiir die Bezeichnung Modifikation des internen Modells verwendet. In analoger Weise wird in der Koordinationstheorie von Bildkoordination bzw. primaler Koordination gesprochen. Im Folgenden wird vorausgesetzt, dass der zu steuernde Produktionsprozess PB in zu steuernde Unterprozesse PBi zerfallt, d.h., es gilt PB = PBi x ... x PBn. Diese Unterprozesse werden auf Untersystemen Bi des Basissystems ausgefuhrt. Das zu PBi und Bi zugehorige Steuerungsobjekt wird mit Mj bezeichnet. Eine formale Beschreibung von Koordinationsaktivitaten geschieht auf Ebene der Beeinflussung des Basisprozesses durch eine detailliertere Beschreibung des fiir die Steuerung von PBi verantwortlichen Untersteuerungssystems Q. Es gilt: Ci-.QiX
Zi
{ui, Zi)
-^
Mi
t-^ rrii
5.1. KOORDINATIONSBEGRIFF
173
mit Qj Zi
Koordinationsobjekt, : Menge der Riickkopplungsinformationen von PBi^ Koordinationseingangsgrofie fiir die Steuerung von PBi, Riickkopplungsinformation.
Auf der Basis der Koordinationseingangsgrofien und der Riickkopplungsinformationen trifft das Untersteuerungssystem Steuerungsentscheidungen m^, die direkt den zu steuernden Unterprozess betreffen. Das Koordinationsobjekt Cti wird von einem anderen Untersteuerungssystem Cj mit i ^ j geliefert. Da umgekehrt Ci das Untersteuerungssystem, welches das Koordinationsobjekt bereitstellt, beeinflussen kann, ist es notwendig, Cj in die Betrachtungen einzubeziehen. Eine allgemeinere Diskussion erlaubt die Betrachtung von Untersteuerungssystemen Ci und Cj, die sich moglicherweise wechselseitig aber nicht notwendigerweise direkt den Basisprozess beeinflussen. Die Beziehungen zwischen zwei beliebigen Untersteuerungssystemen Ci und Cj konnen in voUer AUgemeinheit wie folgt beschrieben werden: Oj I ilji X ^ji X ^ j {ujji,Zji,Xi)
—^ itjj X Zjij X Yi ^
{uJij,Zij,yi)
mit von Cj geliefertes Koordinationsobjekt, Menge der Riickkopplungsinformationen von Cj, Xi
Menge der von Cj unabhangigen Eingangsgrofien von Ci,
LJ.
durch Cj gelieferte Koordinationseingangsgrofie,
Zji
Riickkopplungsinformation von Cj an Ci,
Xi
von Cj unabhangige Eingangsgrofie,
%
fiir Cj bestimmtes Koordinationsobjekt,
Zij Yi Uij
Menge der Riickkopplungsinformationen von Ci, Menge der Ausgangsgrofien, die Cj nicht beeinflussen, fiir Cj bestimmte Koordinationsausgangsgrofie, Riickkopplungsinformation von Ci an Cj,
Vi
Ausgangsgrofie, die Cj nicht beeinflusst.
Das Steuerungssystem Cj hat analog zu Ci folgende Gestalt: Oj '. i lij X Z/ij X Ji.j {uJij,Zij,Xj)
^
{ujji,Zji,yj).
Die verwendeten Bezeichnungen fiir Cj ergeben sich sinngemafi aus den entsprechenden Bezeichnungen fiir Ci durch Vertauschung der Rollen fiir die Indizes i und j . Die Entscheidungen der Steuerungssysteme Ci und Cj basieren auf den Entscheidungsmodellen {C\ A\ ID und (C^, A^, lij. Die
174
KAPITEL 5. KOORDINATION IN HIERARCHISCHEN
STEUERUNGSSYSTEMEN
Koordinationseingangsobjekte oj konnen auch zur Modifikation der Entscheidungsmodelle eingesetzt werden. Riickkopplungsinformationen liefern Informationen iiber das Verhalten einer Steuerungseinheit bzw. des Basisprozesses, wahrend Koordinationsobjekte unmittelbar dazu dienen, die Entscheidungen der Steuerungseinheit, die das Koordinationsobjekt empfangt, zu beeinflussen. Entsprechend der Unterteilung von Steuerungsansatzen wird in dieser Arbeit zwischen zentraler, hieraxchischer und dezentraler Koordination unterschieden. Hierarchische Koordinationsformen lassen sich unterscheiden in Koordination auf Basis einseitiger Vorgaben (Feedforwardbeziehungen), in Koordination durch Vorgaben und Riickkopplungen (Feedbackbeziehungen) und in Koordination mit wechselseitiger iterative! Abstimmung. Direkte dezentrale Koordination bedeutet, dass Verhandlungen iiber konkrete Steuerungsentscheidungen stattfinden. Direkte Koordination ist somit primal. Indirekte Koordination ist eine marktorientierte Koordinationsform, die zur Berechnung von Gleichgewichtspreisen zwischen Angebot und Nachfrage verwendet wird [267]. Indirekte Koordination ist eine Form der dualen Koordination. In [60] werden Griinde angegeben, die eine rein dezentrale Koodination fiir Maschinenbelegungsfragestellungen ungeeignet erscheinen lassen. Nachtragliche Koordination, in [144] auch als korrektive Intervention bezeichnet, hat das Ziel, Kopplungen, die nicht durch primale oder duale Vorgaben erreicht werden, nachtraglich durch Modifizierung der Steuerungsentscheidungen untergeordneter Ebenen zu gestalten [268]. Nachtragliche Koordination ist notwendig, wenn die Kopplung zwischen unterschiedlichen Hierarchieebenen nicht effizient abgebildet werden kann, erhoht aber haufig den Verfahrensaufwand betrachtlich [268]. Nachtraghche Koordination kann primal oder dual erfolgen, sie kann einseitig oder mit Riickkopplungen ausgestaltet sein und ahnelt somit der hierarchischen Koordination. Direkte Verfeinerung geht davon aus, dass die Ablaufplane untergeordneter Steuerungsebenen stets ausschliefilich durch Verfeinerung der Plane iibergeordneter Ebenen gewonnen werden. Eine Verfeinerung wird dabei durch die Beriicksichtigung neuer Restriktionen, neuer Ziele und gegebenenfalls neuer Entscheidungsvariablen vorgenommen [268]. Die direkte Verfeinerung kann als Spezialfall einer auf primalen Vorgaben basierenden Koordination aufgefasst werden, indem Vorgaben fiir die untergeordneten Steuerungsebenen aus den Planen der iibergeordneten Steuerungsebenen abgeleitet werden. Koordinationsprinzipien beschreiben die Ausgestaltung des Informationsaustauschs zwischen gleichgeordneten Teilproblemen [143]. Fiir diese Arbeit ist insbesondere das Interaktionsvorhersageprinzip von Bedeutung, bei dem alle Interaktionen zwischen den Teilproblemen der untergeordneten Ebene durch die iibergeordnete Steuerungsebene geschatzt und den Teilproblemen vorgegeben werden.
5.1.3
Gestaltung der Koordination im Steuerungsframework
Dem vorgeschlagenen Steuerungsframework liegt eine Drei-Ebenen-Hierarchie zugrunde. In Abbildung 5.1 ist die vorgenommene Ausgestaltung der Koordination dargestellt. Die oberste Ebene der
5.1.
175
KOORDINATIONSBEGRIFF
Hieraxchie wird durch das Steuerungssystem Co gebildet. Die Steuerungsanweisungen w;oii in Form von Terminen werden an die Steuerungssysteme (Entscheidungseinheiten) Cu der Produktionsbereichssteuerungsebene iibermittelt. Umgekehrt stellen die Steuerungseinheiten Cu die Riickkopplungsinformationen Zioi zur Verfugung. Als Koordinationsprinzip kommt das Interaktionsvorhersageprinzip zur Anwendung, d.h., die Produktionssystemsteuerungsebene schatzt durch die Losterminierung ab, wann Lose als Folge der Bearbeitung in einem bestimmten Produktionsbereich in den anderen Produktionsbereichen eintreffen. Die Produktionsbereichssteuerungsebene fiihrt eine Planverfeinerung durch. Gleichzeitig wird als Koordinationsform die hierarchische Koordination mit Vorgaben und Riickkopplungen verwendet. Riickkopplungen der Produktionsbereichssteuerungsebene werden zur Anpassung des aggregierten Kapazitatsmodells und zur Fortschreibung des Losbearbeitungsstandes benotigt.
Co i
^m^
vvon
^lOly/
^lOi
Cu
J
"
w1121
1^211 1
I,'1 \
C2t
c„
k
\
'
Z
21
''
Cln
J
, Wj
2j
\
f
Vi'21
"1
1^
1^
•4
Cu
^Ok
s X Ww*
r
^2 jli
'
^
J
Ji/
\
\ n2k
C2i
C2J
\
H
2i
,I
\
1
i V
2 2k I,
\ "
^2
J
''
\
w2k
Z
2k
PB
Abbildung 5.1: Ausgestaltung der Koordination im vorgeschlagenen Steuerungsframework
Falls die in Abschnitt 3.4.4.2 beschriebene impUzite reaktive Antizipation zur Anwendung kommt, liegt eine wechselseitige Abstimmung als Koordinationsform vor. Dabei ist zu beriicksichtigen, dass lediglich ein antizipiertes Modell der Produktionsbereichssteuerungsebene Eingang in den Koordinationsmechanismus findet. Fiir die Entscheidungseinheiten der Produktionsbereichssteuerungsebene wird durch das in Abschnitt 3.7 beschriebene Verfahren DHPCA eine nachtragliche Koordination durchgefiihrt. Diese kann, wie fiir die Ausgestaltung durch das Verfahren DSBH-II in Abschnitt 4.2 gezeigt, aufwendig sein. Das gewahlte Vorgehen wird in Abbildung 5.1 durch horizontale Pfeile auf der Produktionsbereichssteuerungsebene angedeutet.
KAPITEL 5. KOORDINATION IN HIERARCHISCHEN
176
Die Koordination der Maschinengruppensteuerungsebene
STEUERUNGSSYSTEMEN
durch die Produktionsbereichs-
steuerungsebene entspricht einer Koordination mit (primalen) Vorgaben und Riickkopplungen. Die Vorgaben werden mit Wii2j bezeichnet. Riickkopplungen Z2jii werden zur Anpassung der Kapazitatsmodelle der Produktionsbereichssteuerungsebene und zur geeigneten Beriicksichtigung des Losbearbeitungsstandes verwendet. Die Vorgaben von Steuerungseinheit 2j der Maschinengruppensteuerungsebene fiir den Produktionsprozess werden mit W2j bezeichnet, die dazugehorigen Riickkopplungsinformationen mit Z2j. Auf Grund der verwendeten Zielfunktionen fiir die einzelnen Steuerungsebenen liegen konsistente Entscheidungsprobleme fiir die Produktionsystemsteuerungs- und die Produktionsbereichssteuerungsebene vor (vergleiche [143] fiir den verwendeten Konsistenzbegriff). Abweichungen von diesem Prinzip werden durch nachtragliche Koordination beseitigt. Die nachtraghche Koordination tragt ebenfalls zur Sicherstellung der Koordinierbarkeit im Sinne der Ausfiihrungen in [143] bei. Die dem vorgeschlagenen Steuerungssystem zugrunde hegenden Koordinationsformen und -prinzipien sind in Tabelle 5.1 zusammengefasst. Tabelle 5.1: Koordination im verteilten hierarchischen Steuerungssystem Ebene
Koordinationsprinzip
Koordinationsform
T
vertikal
horizontal
(primale) hierarchische Koordination
entfallt
mit Vorgaben und Riickkopplung bei
Interaktionsvorhersageprinzip
nicht-reaktiver Antizipation T
wechselseitige Abstimmung bei im-
entfallt
pHziter reaktiver Antizipation M
Interaktionsvorhersageprinzip
(primale) hierarchische Koordination
Planverfeinerung,
mit Vorgaben und Riickkopplung
nachtragliche
nicht benutzt
Koordination B
entfallt
(primale) dezen-
nicht benutzt
trale Koordination
5.1.4
Realisierung von Koordinationsaktivitaten
In verteilten hierarchischen Steuerungssystemen ist Kommunikation in den folgenden Situationen notwendig: • Ubermittlung von Vorgaben an die nachstniedrigere Steuerungsebene, • Ubermittlung von Riickkopplungen an die nachsthohere Steuerungsebene,
5.2. ONTOLOGIE ZUR STEUERUNG KOMPLEXER PRODUKTIONSSYSTEME
177
• Ubertragung von Prozessinformationen an die unterste Steuerungsebene, • Informationsaustausch zwischen den Entscheidungseinheiten einer einzelnen Steuerungsebene, • Austausch von Informationen zwischen Steuerungseinheiten und den entsprechenden Steuerungsalgorithmen. Kommunikation umfasst hier die zwei Aspekte: 1. Welche Informationen werden iibertragen? Wie werden die Informationen reprasentiert? 2. Wie erfolgt die Kommunikation? Der erste Aspekt untersucht die syntaktische und semantische Ausgestaltung der Kommunikation und ist Gegenstand der verbleibenden Abschnitte dieses Kapitels. Der zweite Aspekt beschaftigt sich mit der technischen Realisierung der Kommunikation und wird in Abschnitt 6.4 untersucht.
5.2
Ontologie zur Steuerung komplexer Produktionssysteme
5.2.1
OntologiebegrifF
Eine Ontologie dient der Beschreibung eines Wissensbereiches („Knowledge Domain") unter Verwendung einer standardisierten Teminologie sowie der Beziehungen und Ableitungsregeln zwischen den definierten Begriffen [85]. Ontologien konnen nach ihrem Umfang wie folgt klassifiziert werden [86]: • generische, bereichsiibergreifende Ontologien, • auf bestimmte Anwendungsbereiche bezogene Ontologien (sogenannte Domanenontologien), • bekannte konzeptuelle Daten- und Klassenmodelle, die mit dem Namen Ontologie aufgewertet werden. Eine Ontologie umfasst die folgenden beiden Elemente [176]: 1. Konzeptuahsierung des untersuchten Anwendungsbereichs, d.h., es wird beschrieben, unter welchem Blickwinkel und wie der Bereich modelliert wird, 2. eine Spezifikation der Konzeptuahsierung, d.h. im Wesentlichen eine formale Beschreibung.
178
KAPITEL 5. KOORDINATION IN HIERARCHISCHEN
STEUERUNGSSYSTEMEN
Sowohl die Konzeptualisierung des Bereiches als auch die Spezifikation der Konzeptualisierung werden durch die verwendete Modellierungstechnik beeinflusst. Es wird zwischen slot- bzw. framebasierten Spezifikationen unterschieden. Bei Verwendung einer slot-basierten Ontologiemodellierung werden die Konzepte durch Klassen im objektorientierten Sinn abgebildet. Die Attribute einer Klasse werden als Slots bezeichnet. Facetten dienen zur Beschreibung der Eigenschaften eines Slots. Durch Facetten wird eine Typisierung von Slots vorgenommen und Wertebereiche fur die Slots werden vorgegeben. Ontologien werden von Zelewski, Schiitte und Siedentopf in [276] insbesondere unter dem Blickwinkel der Betriebswirtschaft und der Wirtschaftsinformatik diskutiert. Konkrete Ontologien fiir die Fertigungsdomane sind unter anderem in [248, 235, 176, 70] vorgeschlagen worden. Die Anforderungen an eine Ontologie fiir eine verteilte hierarchische Steuerungsanwendung werden aber nur partiell erfiillt. Insbesondere beriicksichtigt keine der bisherigen Ontologien die hierarchische Struktur von Ressourcen, Arbeitsplanen oder Los- und Ablaufplanen.
5.2.2
Entwurf der Ontologie
Fiir den Entwurf der Ontologie wird als Ausgangspunkt ein konzeptionelles Datenmodell benutzt, das fiir die Beschreibung komplexer Produktionssysteme geeignet ist. Es wird zwischen statischen Daten zur Beschreibung des Basissystems und des Basisprozesses und dynamischen Daten zur Modellierung des Basisprozesses unterschieden. Neben den Daten zur Beschreibung des Basissystems und des Basisprozesses werden Steuerungsinformationen in Form von Ablaufplanen und Informationen uber Ereignisse im Basis- bzw. Steuerungsprozess benotigt. Das Datenmodell muss die in Tabelle 5.2 angegebenen Daten enthalten. Das grundlegende Datenmodell ohne Steuerungsdaten ist in Abbildung 5.2 als UML-Diagramm dargestellt. Die Zusanomenhange zwischen den unterschiedlichen Elementen des Datenmodells werden durch Anwendung von Assoziations-, Aggregations- und Kompositionstechniken fiir UML-Klassendiagramme dargestellt. Ausgangspunkt des Objektmodells ist die Klasse D_Shop_Floor, die das Produktionssystem modelhert. Die Klasse D_Work_Area zur Abbildung von Produktionsbereichen ist mit der Klasse D_Shop_Floor durch Komposition verknupft. Maschinengruppen und Maschinen werden durch die Klassen DJVIachine_Group und D_Machine abgebildet. Die Riistzustande einer einzelnen Maschine und die reihenfolgeabhangige Dauer der Umriistzeit werden durch die Klassen D_Setup und D_Setup_Pair reprasentiert. Bestimmte Riistzustande werden mit Prozess-Schritten, durch die Klasse D_Process_Step abgebildet, assoziiert. Gleichzeitig kann einem Prozess-Schritt eine sekundare Ressource, durch die Klasse D_Auxiliary_Resource modelliert, zugeordnet werden. Prozess-Schritte werden zu Operationen, durch die Klasse D_Process_Operation dargestellt, zusanunengefasst. Bestimmte aufeinanderfolgende Operationen sind Bestandteil von Teilarbeitsplanen, die durch die Klasse D_Sub_Route modelliert werden. Teilarbeitsplane werden zu Arbeitsplanen, die durch D_Route modelliert werden, aggregiert. Arbeitsplane sind wesentliche Bestandteile von Produkten. Produkte werden im Datenmodell durch die Klasse D_Part reprasentiert. Jedem
5.2. ONTOLOGIE ZUR STEUERUNG KOMPLEXER
PRODUKTIONSSYSTEME
179
Tabelle 5.2: Daten fiir komplexe Produktionssysteme Datenart Statische Daten
Beispiele -
Objekte und Struktur des Basissystems (Maschinen, Maschinengruppen, Produktionsbereiche)
Dynamische Daten
Steuerungsdaten
-
Produktinformationen
-
Riistinformationen
-
Arbeitsplane
-
Einsteuerungsinformationen fiir Lose
-
Losstatus
-
Maschinenstatus
-
Riistzustand der Maschinen
-
Plane fiir terminierte Lose
-
detaillierte Ablaufplane zur Belegung von Maschinengruppen mit Losen oder Batches
Ereignisdaten
-
Maschinenausfalle
-
Anderung der Wichtigkeit von Losen aus Kundensicht
Produkt wird die Menge der Lose dieses Produktes zugeordnet. Lose werden durch die Klasse D_Lot dargestellt. Da Auftrage Bestandteile des Produktionssystems sind, wird die Untersetzung von Auftragen durch Lose durch die Komposition von D_Lot zu D_Order abgebildet. Das Datenmodell wird zur Ableitung bedeutender Konzepte fiir die untersuchte Domane benutzt.
1. Aktivitat: Eine Aktivitat (Activity) stellt einen Vorgang dar, der in einem Zeitintervall ausgefiihrt wird. Eine Aktivitat kann Unteraktivitaten (Subactivities) umfassen. Es wird zwischen steuerbaren Aktivitaten (Controllable Activities), nichtsteuerbaren, aber vorhersagbaren (Uncontrollable and Predictable) und nichtsteuerbaren und nichtvorhersagbaren Aktivitaten (Uncontrollable and Unpredictable Activities) unterschieden [238]. Steuerbare Aktivitaten werden von einem Entscheider angestofien und ausgefiihrt. Bedeutende steuerbare Aktivitaten sind Prozess-Schritte (Process Steps) und Operationen (Process Operations). Eine einzelne Operation besteht aus einer Menge von unmittelbar aufeinanderfolgenden Prozess-Schritten. Wichtige nichtsteuerbare, aber vorhersagbare Aktivitaten sind Pausen (Breaks). Maschinenausfalle (Machine Failures) stellen ein Beispiel fiir nichtsteuerbare und nichtvorhersagbare Aktivitaten dar. Das Konzept Aktivitat und verwandte Konzepte der Ontologie sind in Abbildung 5.3 in Form eines UML-Klassendiagramms dargestellt.
180
KAPITEL 5. KOORDINATION IN HIERARCHISCHEN
STEUERUNGSSYSTEMEN
D Lot
D Order 1 1..*
0..*
0..*
(
1 4 D_Part
1
D Shop_Floor
1..* 1
1
*
D_Machine_Group
D_Auxiliary_Resource
D_Setup
D_Process_Step
D_Procesg_OperatioB
D_Setup_Pair
Abbildung 5.2: Datenmodell fiir komplexe Produktionssysteme
2. Ressource: Eine Ressource ist eine Einheit zum Ausfiihren von Aktivitaten. Es wird zwischen Einzelmaschinen (Single Machine) und aggregierten Ressourcen (Aggregated Resource) unterschieden. Auf Grund der in Kapitel 3 beschriebenen hierarchischen Dekomposition werden die aggregierten Ressourcen • Maschinen des Produktionssystem (Manufacturing System Machinery), • Maschinen eines Produktionsbereichs (Work Area Machinery), • Maschinen einer Maschinengruppe (Machine Group Machinery) eingefiihrt. Aui3erdem werden Batchmaschinen (Batch Capacity Single Machine) und Maschinen ohne Batchcharakteristik (Unit Capacity Single Machine) unterschieden. Das UML-Klassendiagramm in Abbildung 5.4 dient zur Veranschaulichung des Konzeptes Ressource und verwandter Konzepte. 3. SekundSre Ressource: Eine sekundare Ressource ist eine Entitat zur Unterstiitzung der Ausfiihrung von Aktivitaten auf Ressourcen. 4. Auftrag: Ein Auftrag ist eine Nachfrage nach einer bestimmten Anzahl von Giitern, die im Produktionssystem hergestellt werden soUen. Ein Auftrag ist charakterisiert durch einen
5.2. ONTOLOGIE ZUR STEUERUNG KOMPLEXER
PRODUKTIONSSYSTEME
181
Liefertermin, eine Auftragsprioritat und eine Mengenangabe. Ein Auftrag wird durch Lose untersetzt. Ein Batch ist, wie in Abschnitt 3.2 definiert, eine temporare Zusammenfassung von Losen mit dem Ziel der gemeinsamen Bearbeitung auf einer Maschine.
Sttbactivity
::::::^^yrfl^%-^^^:^
J:
1
CoatroU«ble_Activtty
|.,,. , Setup 1 1,Unload Production_Step
lfiicontroUable_An
1
•T~
LonI 1 1
1
1
Break 1 1 Special_Time_Schedule
Preveotive_Maintenaiice
Production_Operadoii
UiicoiitroUable_Aiid_Unpredlct»Me_Acttvity
1 Randoin_Absence_of_Human_Resources
1
1
1
1
Machiiie_Failure| 1 Macbine_Repair [Rework 1 Engineeriiig;_HoId_On_Lots
Abbildung 5.3: Konzept Aktivitat und verwandte Konzepte
5. P r o d u k t : Unter einem Produkt versteht man ein Gut als das Endergebnis eines Herstellungsprozesses, das bestimmte, fest vorgebenene Anforderungen erfiillt. Ein Produkt wird durch eine Teilestruktur und einen Arbeitsplan beschrieben (vergleiche dazu auch die Ausfiihrungen in Abschnitt 3.8.3.4). Fiir die hier durchgefuhrten Betrachtungen ist ausschUefihch der Arbeitsplan von Interesse. Den Prozess-Schritten eines Produktes ist unter Umstanden eine Menge von sekundaren Ressourcen zugeordnet. Ein Arbeitsplan besteht aus Teilarbeitsplanen, die zu den Produktionsbereichen im hierarchisch organisierten Produktionssystem korrespondieren. 6. Ereignis: Ein Ereignis ist ein Vorgang, der unmittelbar beginnt und keine Zeit verbraucht. Maschinenausfalle, Maschinenreparatur- und Nachbearbeitungsereignisse werden als spezielle Ereignisse betrachtet. 7. Plan: Ein Plan ist eine Aktivitatsspezifizierung zur Verfolgung eines bestimmten Ziels. Ein Plan kann Aktivitaten von Losen beinhalten, die noch nicht in das komplexe Produktionssystem eingesteuert sind. Ein Losplan ist ein spezieller Plan, der die Start- und Endtermine fiir jede Operation eines Loses festlegt.
182
KAPITEL 5. KOORDINATION IN HIERARCHISCHEN
STEUERUNGSSYSTEMEN
Resource
Single_Machipe
Uiiit_Capacity_Single_Machine
Batch_Capacity_Single_Machine
Aggregated_Resource
Manufacturiiig_Systein_Machinery
Work_Area_Machinery
Machine_Group
Abbildung 5.4: Konzept Ressource und verwandte Konzepte
8. Ablaufplan: Ein Ablaufplan ist eine Aktivitatsspezifizierung zur Verfolgung eines bestimmten Ziels. Ein Ablaufplan umfasst ausschliefilich Aktivitaten von Losen, die bereits in das komplexe Produktionssystem eingesteuert sind. Aus Lossicht ordnet ein Ablaufplan den noch auszufiihrenden Prozess-Schritten (Process Steps) Starttermine (Calendar Date) zu. Aus Maschinensicht besteht ein Ablaufplan aus einer sortierten Liste von Losen (Lots). Man unterscheidet zwischen Ablaufplanen fiir Einzellose (Single Lot Schedule), Ablaufplane fiir Einzelmaschinen (Single Machine Schedule), Ablaufplane fiir Maschinengruppen (Machine Group Schedule) und fiir Produktionsbereiche (Work Area Schedule). Zwischen den unterschiedlichen Ressourcenablaufplanen bestehen Aggregationsbeziehungen. Das UML-Klassendiagramm in Abbildung 5.5 dient zur Veranschaulichung des Konzeptes Ablaufplan und verwandter Konzepte.
Zur Entwicklung der Ontologie wurden die in [272] beschriebenen Techniken zur Ableitung von Unterontologien aus den umfassenderen Ontologien Enterprise Ontology [248] und OZONE [235] angewandt.
5.3. CONTENTSPRACHE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
183
Sekednie
Stegle_Ut_Sclieduie] SingIe_MachiBe^SchedMle
MadhiBC_Group_Schdlttle
Work_Afg«_Sehedttte
it 11. FroceisJStep
Lot
Start Dates
li^i^: Abbildung 5.5: Konzept Ablaufplan und verwandte Konzepte
Nach der Ableitung wichtiger Domanenkonzepte ist es notwendig, Pradikate zu identifizieren. Es wird zwischen domanen- und aufgabenabhangigen Pradikaten unterschieden. Aufgabenabhangige Pradikate beziehen sich auf die Erfiillung der Ziele des Steuerungssystems. Domanenabhangige Pradikate sind Fakten iiber das Basissystem. In Tabelle 5.3 sind Beispiele fiir aufgaben- und domanenabhangige Pradikate angegeben. Agentenaktivitaten sind wichtig zur Erreichung der Designziele des agentenbasierten Steuerungssystems. Ausgewahlte Agentenaktivitaten sind in Tabelle 5.4 dargestellt. In vielen Fallen werden Agentenaktivitaten zur Ubermittlung von Aufforderungen zwischen Entscheider- und Dienstagenten genutzt. Die voUstandige Ontologie zur Steuerung komplexer Produktionssysteme besteht aus iiber 100 Konzepten und Klassen und ist in [152] zu finden.
5.3 5.3.1
Contentsprache fiir komplexe Produktionssysteme Motivation
In der Literatur werden verschiedene allgemeine, generische Contentsprachen vorgeschlagen. Fine aktuelle Ubersicht iiber Contentsprachen ist in [25] zu finden. Die Autoren untersuchen die Eignung von DAML-hOIL, ebXML, FIPA-SL, KIF und Prolog als Contentsprachen in MultiAgenten-Systemen. Die Sprachen FIPA-SL und KIF sind auf Grund ihrer Ausdrucksstarke und
184
KAPITEL 5. KOORDINATION IN HIERARCHISCHEN
STEUERUNGSSYSTEMEN
Tabelle 5.3: Pradikate in der vorgeschlagenen Ontologie Pradikat
Beschreibung
TASK-RELATED
Informationen iiber die Ergebnisse von Agentenaktivitaten
TIME-REACHED
zur Verfiigung stehende Zeit fiir eine Aktivitat wurde iiberschritten
RESULT
liefert das Ergebnis einer Aktivitat
SUCCESSFULLY-DONE
Aktivitat wurde erfolgreich ausgefiihrt
SCHEDULE-VALID
gibt an, ob ein bestimmter Ablaufplan giiltig ist oder nicht
LOT-COMPLETED
gibt an, ob ein bestimmtes Los fertiggestellt wurde
DOMAIN-RELATED
Beschreibung domanenspezifischer Sachverhalte
CRITICAL
gibt an, ob ein bestimmter Produktionsbereich fiir die Maschinen-
VALID-MACHINE
gibt an, ob eine bestimmte Maschine fiir einen Prozess-Schritt
belegung kritisch ist zulassig ist
durch die gewahrleistete Werkzeugunterstiitzung, d.h. die Verfiigbarkeit von geeigneten Parsern, als Contentsprachen geeignet [25]. Neben den generischen werden domanenspezifische Contentsprachen in Multi-Agenten-Systemen betrachtet. In dieser Situation sind Contentsprachen fiir eine sehr speziaHsierte Kommunikation erforderhch. Diese speziahsierte Kommunikation schlagt sich gewohnlich auch in der jeweiligen Contentsprache nieder. Es wird auf die Sprachen von Herrler, Puppe, Kliigl, Kirn und Heine [96] fiir die Krankenhausdomane und von Maturana, Tichy, Slechta und Staron [136] fiir technische Steuerungsanwendungen als Beispiele fiir domanenspezifische Content- bzw. Koordinationssprachen verwiesen. Fiir komplexe Produktionssysteme wurde in Abschnitt 5.2 eine domanenspezifische Ontologie entworfen. Die Ontologie unterstiitzt die Abbildung hierarchischer Strukturen sowohl fiir das Basissystem als auch den Basis- und Steuerungsprozess. Auf Basis dieser Ontologie wird eine entsprechende Contentsprache vorgeschlagen.
5.3.2
Grammatik der Contentsprache
Zur Beschreibung der Grammatik wird die Backus-Naur-Form (BNF) verwendet. Eine Produktionsregel r = {z, v) der Grammatik wird in der Form z ::= v dargestellt. Mit z wird ein Nichtterminal (Symbolfolge) bezeichnet, mit v eine syntaktische Formel, die Terminale (Symbole) und/oder Nichtterminale in das Nichtterminal z uberfiihrt. Falls mehr als eine Produktionsregel fiir ein Nichtterminal vorhegt, wird die Produktionsregel mit z := vi\vi\,..
bezeichnet. Es wird auf die
Literatur zum Compilerbau und zu formalen Sprachen fiir eine weitere Erlauterung der Begriffe verwiesen (vergleiche z.B. Aho, Sethi und UUmann [4]). Die Grammatik kann wie folgt beschrieben werden:
5.3. CONTENTSPRACHE
FUR KOMPLEXE
PRODUKTIONSSYSTEME
185
Tabelle 5.4: Agentenaktivitaten in der Ontologie AgentenaJitivitat
Beschreibung
1 CREATE-LOT
Erzeugen eines Losagenten
DESTROY-LOT
Beenden eines Losagenten
CREATE-PM-LOT
Erzeugen eines Auftrags fiir eine vorbeugende InstandhaltungsmaBnahme
DESTROY-PM-LOT
Beenden eines PM-Agenten
CALCULATE-SCHEDULE
Berechnung eines Ablaufplanes unterschiedlicher Granularitat
CALCULATE-PRODUCTION-
Berechnung eines Losplanes
SYSTEM-SCHEDULE CALCULATE-WORKAREA-
Berechnung eines detaillierten Ablaufplanes fiir einen Pro-
SCHEDULE
duktionsbereich
START-MONITORING
Durchfiihrung einer Monitoringaktivitat
START-NEGOTIATION
Starten eines kontraktnetzbasierten Maschinenbelegungsverfahrens
START-PROCESS-STEP
Ausfiihren eines Prozess-Schrittes auf einer Maschine
START-PM-STEP
Ausfiihren eines Auftrags fiir eine vorbeugende Instandhaltungsmafinahme auf einer Maschine
Content ContentExpr
::=
ContentExpr ContentExpr ContentExpr ContentExprs
ContentExprs Proposition
Proposition | ActionExpr | IdentifyingExpr True False (not Proposition) (and Proposition) (or Proposition) (predicate ident xmLexpression) (=IdentifyingExpr,ObjectExpression)
Propositions
Proposition Proposition, Propositions
ObjectExpression
xmLexpression
186
KAPITEL 5. KOORDINATION IN HIERARCHISCHEN
STEUERUNGSSYSTEMEN
I
xmLexpression, ObjectExpression
ActionExpression
::=
(action ident xmLexpression)
IdentifyingExpr
::=
(iota var (predicate ident xmLexpression var))
I
(all var (predicate ident xmLexpression var)).
Die Grammatik enthalt Propositionen (Pradikatausdrucke) sowie Aktions- und Objektausdriicke. Objektausdriicke werden als XML-Gbjekte dargestellt und werden durch Ontologieausdriicke typisiert. Zur Vermeidung von Problemen mit Identifizierungsausdriicken (iota) werden iota-Ausdriicke nur in Verbindung mit Pradikatausdriicken verwendet (vergleiche die Arbeit von Cranefield und Purvis [43] fiir eine Beschreibung von Problemen mit iota-Ausdriicken).
5.4
Koordinationssprache
5.4.1
BegrifFsbestimmung und Diskussion relevanter Literatur
Unter einer Koordinationssprache wird ein Tripel (0,C(0),/P(C)> mit O
: Ontologie,
C{0)
: auf der Ontologie aufbauende Contentsprache,
IP{C)
: Menge von Interaktionsprotokollen
verstanden. Die Ontologie legt ein Vokabular fest. Die Contentsprache dient dazu, syntaktisch und semantisch korrekte Satze zu bilden, wahrend die InteraktionsprotokoUe die kausale und zeithche Abfolge der Satze im Rahmen von Konversationen beschreiben. Nachdem im Abschnitt 5.2 eine Ontologie und darauf aufbauend eine Contentsprache entwickelt wurde, ist es notwendig, die dazu passenden InteraktionsprotokoUe festzulegen. Koordinationssprachen werden in der Literatur in unterschiedlichem Zusammenhang diskutiert. In [17] wird von Barbuceanu und Fox die Koordinationssprache COOL (Coordination Language) beschrieben. Im Wesentlichen werden unterschiedliche InteraktionsprotokoUe, die auf typisierten Sprechakten (Performativen) beruhen, vorgeschlagen. Ein Markow-Entscheidungsprozess wird integriert, der unter Beriicksichtigung von Eintrittswahrscheinlichkeiten die Auswahl derjenigen Aktion vornimmt, die als nachste auszufiihren ist. COOL wird in [69] auf SupplyChain-Managementprobleme angewandt. In [96] werden InteraktionsprotokoUe fiir die Krankenhausdomane vorgeschlagen. Ahnlich wie in [17] werden auch in [96] InteraktionsprotokoUe
5.4. KOORDINATIONSSPRACHE
187
lediglich auf Basis von Sprachperformativen spezifiziert. Fiir die hier untersuchten verteilten hierarchischen Steuerungssysteme ist bisher in der Literatur noch keine Koordinationssprache beschrieben worden.
5.4.2
Design der Koordinationssprache
Unter einem Interaktionsprotokoll wird hier ahnlich wie in [96] eine Menge von Regeln verstanden, die Interaktionen zwischen den Verhandlungspartnern bestimmen. Das ProtokoU definiert die Konventionen wahrend des Interaktionsablaufs. Es definiert die Zustande, in denen sich die Interaktionsteilnehmer befinden konnen. Das ProtokoU legt weiterhin fest, welche Ereignisse (Sprechakte) eine an der Interaktion beteiligte Systemeinheit von anderen Interaktionspartnern erwarten und umgekehrt selber auslosen kann. An dieser Stelle werden InteraktionsprotokoUe fiir die folgenden Szenarien spezifiziert:
1. Zusammenwirken von Produktionssystem- und Terminierungsagenten,
2. Zusammenwirken von Produktionssystem- und Produktionsbereichsagenten fiir das Verfahren DHPCA,
3. Zusammenwirken von Produktionsbereichs- und Produktionsbereichsschedulingagenten,
4. Zusanmienwirken von Maschinengruppen- und Losagenten fiir den maschinenstundenbasierten Verhandlungsmechanismus.
Eine Beschreibung weiterer Szenarien wurde von Monch in [153] vorgenommen und von Rempel in [209] durch die dazugehorigen Interaktionsdiagramme komplettiert. Zur Veranschaulichung der InteraktionsprotokoUe werden SDL (Specification and Description Language)-Diagramme [148] verwendet. In den Diagrammen sind die Sprechakttypen in Anlehnung an FIPA [131] vermerkt, der Content der Nachrichten wird aus Ubersichtlichkeitsgriinden nicht angegeben. Ein Interaktionsprotokoll fiir das Zusammenwirken von Terminierungs- und Produktionssystemagenten ist in Abildung 5.6 dargestellt.
188
KAPITEL 5. KOORDINATION IN HIERARCHISCHEN STEUERUNGSSYSTEMEN
Start
Yes Failure NoJ ' Request-When >
Not I Understood '
Refuse
Get Terminated / <Timeout> — | — ' Lots
Failure
f Inform i
Failure
•C
Stop
Inform <done>
>
Abbildung 5.6: InteraktionsprotokoU fiir Szenaxio 1
Das InteraktionsprotokoU fiir das Zusammenwirken von Produktionssystem- und Produktionsbereichsagenten aus Sicht des Produktionssystemagenten ist in Abbildung 5.7 veranschaulicht. Das InteraktionsprotokoU fiir den Produktionsbereichsagenten sieht ahnUch aus und wird deshalb hier nicht angegeben. Der Produktionssystemagent fordert den Produktionsbereichsagenten auf, einen Ablaufplan fiir die Lose des Produktionsbereichs zu ermitteln. Falls der Produktionsbereichsagent dazu bereit ist, werden Termine fiir den Durchlauf der Lose durch das Produktionssystem an den Produktionsbereichsagenten geschickt. Der Produktionsbereichsagent ermittelt einen Ablaufplan unter
5.4.
189
KOORDINATIONSSPRACHE
Verwendung des Produktionsbereichsschedulingagentens und schickt diesen Ablaufplan an den Produktionssystemagenten. Dieser Agent legt dann fest, ob der Produktionsbereich im Sinne der Ausfiihrungen in Abschnitt 4.2.3 kritisch ist. Falls der Produktionsbereich kritisch ist, wird der Ablaufplan gegebenenfalls an andere Produktionsbereichsagenten verschickt.
Start
Calculate Work Area Schedule
Yes FaUure
No] f Request-When I <Schedule>
Not i Understood '
Refuse
GetSchedule / <Timeout>
Failure
f Inform [ <Schedule>
Failure
!
J
|
Inform
7
I
<done>
\
Determine CriticaUty
No ^ ^ ^ ^ critical?
•C
Yes
Treatment of critical . work area f 1 (send schedule to the > • remaining work areas) Stop
Abbildung 5.7: Interaktionsprotokoll fiir Szenario 2
j ^
190
KAPITEL 5. KOORDINATION IN HIERARCHISCHEN STEUERUNGSSYSTEMEN
In Abbildung 5.8 wird ein Interaktionsprotokoll fiir das Zusammenwirken von Produktionsbereichsund Produktionsbereichsschedulingagenten aus Sicht des Produktionsbereichsagenten dargestellt.
Start
Yes FaUure
NoJ ' Request-When I <Schedule>
Not i Understood \
Refuse
FaUure
(
GetSchedule( GetSchedule/ <Timeout>-
I Inform i <Schedule>
|
!
Inform
/
I <done>
\
Wait for Information j on Criticality
•C
Stop
Abbildung 5.8: Interaktionsprotokoll fiir Szenario 3
Der Produktionsbereichsagent fragt den Produktionsbereichsschedulingagenten, ob er bereit ist, einen Ablaufplan zu berechnen. Falls das der Fall ist, bestimmt der Produktionsbereichsagent
5.4. KOORDINATIONSSPRACHE
191
im nachsten Schritt die Parameter fiir das Ablaufplanungsverfahren und iibergibt diese an den Produktionsbereichsschedulingagenten. Anschliefiend wird der Ablaufplan berechnet. Der verhandlungsbasierte Mechanismus fiir das Zusammenwirken von Maschinengruppen- und Losagenten ist in Abbildung 5.9 aus Losagentenperspektive daxgestellt.
Abbildung 5.9: InteraktionsprotokoU fiir Szenario 4
Das InteraktionsprotokoU basiert auf dem FIPA-KontraktnetzprotokoU (fiir eine Beschreibung siehe die Monographie von Shen, Norrie und Barthes [230]). Das zugehorige InteraktionsprotokoU fiir Maschinengruppenagenten sieht ahnlich aus, wird hier aber nicht dargestellt.
Kapitel 6 Systemarchitektur zur Produktionssteuerung In diesem Kapitel wird eine Softwareaxchitektur entwickelt, die eine Realisierung des in Kapitel 3 und 4 dargestellten neuartigen Steuerungskonzeptes ermoglicht. Eine roUen- und verhaltensbasierte Agentenmodellierung wird beschrieben. Infrastrukturfragen fiir Multi-Agenten-Systeme werden diskutiert. Auf die Realisierung von Kommunikation zwischen Agenten des Multi-AgentenSystems wird eingegangen. Eine generische Architektur fiir Entscheider- und Dienstagenten zur Steuerung komplexer Produktionssysteme wird entwickelt. Die Gestaltung der Interaktion zwischen Entscheider- und Dienstagenten wird beschrieben.
6.1
Architekturmodelle fiir betriebliche Informationssysteme
In der Wirtschaftsinformatikliteratur besteht weitestgehend Einigkeit iiber die Bedeutung der Informationssystemarchitektur und liber die Zweckmafiigkeit der Verwendung des Architekturbegriffes. Scheer bezeichnet die Komponenten eines Informationssystems und ihre Beziehungen als Architektur [221]. Osterle definiert die Informationssystemarchitektur als Grobstruktur der Organisation, der Geschaftsfunktionen, der Daten, der Anwendungen und der Datenbanken, die den konzeptionellen Rahmen fur die Entwicklung der Organisation, der Anwendungen und der Datenbanken bilden [180]. In dieser Arbeit wird der von Sinz in [231] gegebenen Definition gefolgt und eine Informationssystemarchitektur aufgefasst als • ein Bauplan des Informationssystems im Sinne einer Spezifikation und Dokumentation seiner Komponenten und ihrer Beziehungen unter alien relevanten Blickwinkeln, • als Menge der Konstruktionsregeln zur Erstellung des Bauplans.
194
KAPITEL 6. SYSTEMARCHITEKTUR
ZUR
PRODUKTIONSSTEUERUNG
Der Bauplan entspricht einem Modellsystem mit dem Informationssystem als Objektsystem. Die Konstruktionsregeln sind Vorschriften fiir die Erstellung des Modellsystems. Konstruktionsregeln werden in Form von Metamodellen angegeben. Metamodelle wiederum dienen der Spezifikation der verfiigbaren Bausteintypen (Meta-Objekte), der Beziehungen zwischen den Bausteintypen (MetaBeziehungen) sowie von Konsistenzbedingungen fiir die Verwendung von Bausteinen und Beziehungen [231]. Der von Sinz vorgeschlagene generische Architekturrahmen [231] sieht zur Beschreibung der Modellstruktur verschiedene Modellebenen vor. Jeder Modellebene ist ein entsprechendes Metamodell zugeordnet, das ein Modellierungskonzept fiir die Modellebene definiert. Jede einzelne Modellebene kann mehrere Sichten umfassen. Eine Sicht erfasst einen Teilausschnitt des Modellsystems einer Modellebene. Die Menge aller auf einer Modellebene definierten Sichten beschreibt die Modellebene vollstandig. Jeder Modellebene sind Strukturmuster (Pattern) zugeordnet, die das Zusammenwirken von Objektklassen bzw. Objekten bei der Losung einer spezifischen Problemstellung beschreiben. In dieser Arbeit werden im Sinne einer Spezifikation die Sichten 1. Komponentensicht, 2. Datensicht, 3. Sicht auf Nachbarsysteme, 4. Laufzeitsicht, 5. Funktionsmodellsicht beschrieben. Das zu bauende Softwaresystem besteht aus fachlichen und technischen Komponenten. Zu den technischen Komponenten fiir das zu spezifizierende verteilte Steuerungssystem gehoren die Laufzeitumgebung des Multi-Agenten-Systems und die blackboardartige Datenschicht. Die Datensicht wird bei der Spezifikation des Datenhaushalts des verteilten Steuerungssystems eingenommen. Gleichzeitig wird die Interaktion des Steuerungssystems mit anderen betriebfichen Informationssystemen zur Datenbereitstellung beschrieben. Die Laufzeitsicht wird eingenommen, um das Konununikationsverhalten des Systems zu spezifizieren. Die Funktionssicht wird bei der Beschreibung der generischen Funktionalitat fiir Entscheider- und Dienstagenten sowie von Mustern fiir das Zusammenwirken von Entscheider- und Dienstagenten benutzt. Die zu beschreibende Systemarchitektur fiir ein verteiltes hierarchisches Steuerungssystem wurde im Rahmen des FABMAS-Projektes prototypisch fiir die Produktionssteuerung von Halbleiterfabriken erprobt. Der entwickelte Prototyp [167] wurde in den Programmiersprachen C + + und C # auf Basis der .Net-Middleware implementiert. Die folgenden Ausfiihrungen nehmen lediglich in den Abschnitten iiber die Integration der Ontologie und der Contentspra<;he Bezug auf die konkrete Umsetzung des Prototypen und sind ansonsten generisch. Die Beschreibung des Prototypen erfolgt in Abschnitt 6.9.
6.2. INFRASTRUKTUR
6.2
FUR DAS MULTI-AGENTEN-SYSTEM
195
Infrastruktur fiir das Multi-Agenten-System
Eine Infrastruktur fur Multi-Agenten-Systeme hat die folgenden Aufgaben zu erfiillen: 1. dynamisches Erzeugen von Agenten, 2. dynamisches Zerstoren von Agenten, 3. Sicherstellung der Kommunikationsfahigkeit von Agenten, 4. Bereitstellen eines Adressen- und Dienstverzeichnisses fiir alle Agenten. Diese Dienste sind dem FIPA-Standard fiir agentenbasierte Softwaresysteme (vergleiche [197, 131] fiir eine entsprechende Einordnung) entnommen. Eine Laufzeitumgebung fiir ein Multi-AgentenSystem hat die folgenden Bestandteile: 1. Agent-Communicator, 2. Agent-Service-Directory, 3. Agent-Management-System, 4. Agent-Container. Diese Bestandteile des Multi-Agenten-Systems stellen Dienste zur Verfugung, die von den Agenten zur Ermittlung von Informationen iiber andere Agenten und zur Kommunikation und Interaktion mit anderen Agenten benutzt werden konnen [93]. Der Agent-Communicator kapselt Kommunikationsfahigkeiten der Agenten. Jede Kommunikation zwischen Agenten wird iiber den Agent-Communicator abgewickelt. Das Agent-Service-Directory dient zur Registrierung der Fahigkeiten der Agenten, die sie als Dienste anderen Agenten zur Verfiigung stellen. Ein Agent-Service-Directory ist ein Dienste- und Adressenverzeichnis. Agenten fragen beim Agent-Service-Directory der Laufzeitumgebung nach Informationen iiber Agenten nach, mit denen sie interagieren woUen, Falls die gesuchte Information nicht verfiigbar ist, versucht das Agent-Service-Directory mit anderen Agent-Service-Directories der verbleibenden Laufzeitumgebungen Kontakt aufzunehmen und diese Information zu ermitteln. Auf diese Art und Weise wird der Einsatz eines zentralen Agent-Service-Directories als zentralen Informationspunkt im verteilten System vermieden. Jede Laufzeitumgebung eines Multi-Agenten-Systems benotigt zum Management des Lebenszyklus der Agenten ein Agent-Management-System (AMS). Das Agent-Management-System dient zur Erzeugung und umgekehrt zum Entfernen von Agenten, wenn diese nicht langer benotigt werden. Ein Agent-Container ist der letzte wichtige Bestandteil einer Laufzeitumgebung. Der Container enthalt Informationen iiber alle in der Laufzeitumgebung aktiven Agenten. In Abbildung 6.1 sind die wesentlichen Bestandteile einer Laufzeitumgebung dargestellt.
196
KAPITEL 6. SYSTEMARCHITEKTUR \
ZUR
PRODUKTIONSSTEUERUNG
Agent Runtime Environment Agent Container
Agent Management System AMS
C^
Hierarchy Organization Local Organization
1
Remote Organization
1
UmiAgsiM
7X
...^ C J ^ ^ ^ V ^
Service Directory
Agent Communicator
.jdir •' "'^~mi^
1
Multicast Communicator
1
Gfa^alAg(»rtSiar#:es
1
Direct Communicator
1
1
1
Service Communicator
1
Abbildung 6.1: Multi-Agenten-System-Infrastruktur
6.3 6.3.1
Agent enmodellierung RoUenbasierter Ansatz
Jeder Agent kann eine oder mehrere RoUen einnehmen. Die Rolle determiniert das Verhalten eines Agenten in bestimmten Situationen, indem das normative Verhaltensrepertoire festgelegt wird [177]. RoUen konnen mit anderen RoUen bekannt sein, d.h., Interaktionen zwischen den Instanzen der RoUen sind moglich. Eine Zuordnung von RoUen zu Agenten kann endogen, d.h. wahrend der Laufzeit des Systems erfolgen. Umgekehrt kann eine exogene Zuweisung durch den Systementwickler vorgenommen werden. Fiir die hier betrachtete Situation ist die exogene RoUenzuweisung bedeutsamer. Durch die Anwendung des roUenbasierten Ansatzes wird eine Kapselung der VerhaltensmodelUerung vorgenommen. Jeder AgentenroUe ist eine Verhaltensmenge zugeordnet. Der Zusammenhang zwischen AgentenroUe und Agentenverhalten wird in Form eines UML-Klassendiagramms in Abbildung 6.2 dargesteUt.
6.3.2
Verhaltensmodellierung
Die Aufgabe der VerhaltensmodeUierung besteht darin, festzulegen, wie ein einzelner Agent auf ein bestimmtes Ereignis reagiert. Unter einem Ereignis wird aus Sicht des Agenten eine eingehende Nachricht oder eine Veranderung der Agentenumwelt verstanden. Das Verhalten eines Agenten
6.4. KOMMUNIKATION
1
.ABSnt
+-AgentRuntiine -A^tldentifier -Hienrchyldentifier pAgentMi^nKn
IM
MULTI-AGENTEN-SYSTEM
197 Ai^ilBehaVfour
AgentRoIe o — —
o1
*
1
*
it
* B^ftvioiirState
1
-NextiSeitavkMuState "•BuMikdMeaH^
Abbildung 6.2: Rollenbasierter Ansatz bei der Agentenmodellierung
wird durch eine Zustandsmenge sowie durch Zustandstransitionen beschrieben. Das Verhalten ist den AgentenroUen wie in Abbildung 6.2 gezeigt zugeordnet.
6.3.3
Abbildung der hierarchischen Elemente des Steuerungsverfahrens
Zur Realisierung des verteilten hierarchischen Steuerungsverfahrens mussen die Agenten in eine Hierarchic eingebunden werden. Wie in Abschnitt 3.3 dargestellt, ergibt sich die Hierarchic aus der physischen Dekomposition des Produktionssystems und der damit verbundenen Hierarchisierung der Steuerungsaufgaben. Jeder Agent besitzt aus diesem Grund ein Objekt zur eindeutigen Identifikation des durch den Agenten reprasentierten Hierarchieelementes innerhalb des gesamten Multi-Agenten-Systems. Das Objekt wird als Hierarchie-Identifizierungsobjekt bezeichnet. Hierarchie-Identifizierungsobjekte enthalten den Namen des in der Hierarchic iibergeordneten Agenten und Informationen iiber die in der Hierarchic untergeordneten Agenten [167, 240]. Die hierarchischen Abhangigkeiten zwischen den Agenten, durch die Hierarchie-Identifizierungsobjekte modeUiert, werden wahrend der Initialisierungsphase des Multi-Agenten-Systems aufgebaut. Dieses Vorgehen ist mogUch, da eine weitestgehend statische hierarchische Dekomposition des Steuerungssystems vorgenommen wird.
6.4 6.4.1
Kommunikation im Multi-Agenten-System Technische Realisierung
Agenten kommunizieren untereinander durch das Versenden von Nachrichten. Vor dem Versenden einer Nachricht durch einen Agenten wird diese auf VoUstandigkeit iiberpruft. Der Inhalt der Na^hricht wird in einen String umgewandelt. Danach wird die Nachricht an die Laufzeitumgebung des Agenten zur eindeutigen Identifizierung der Nachricht weitergeleitet. Agenten reagieren
198
KAPITEL 6. SYSTEMARCHITEKTUR
ZUR
PRODUKTIONSSTEUERUNG
auf Nachrichten oder Ereignisse durch Konversationen. Eine Konversation setzt mindestenes zwei Agenten, reprasentiert durch ihre Verhaltensobjekte, voraus. Man unterscheidet zwischen aktivem und passivem Verhalten. Als Folge des Empfangs einer Nachricht oder eines bestimmten Umweltereignisses kann aus einem passiven Verhalten ein aktives werden. Jedes aktive Verhalten wird durch eine eindeutige Konversationsnummer identifiziert. Fiir jedes aktivierte Verhalten wird zeitgleich ein neues passives Verhalten erzeugt. Auf diese Art und Weise ist die simultane Konversation eines Agenten mit mehreren Agenten moghch. Jeder Agent besitzt einen Contenthandler, der die verwendeten Ontologien und Contentsprachen im Multi-Agenten-System verwaltet. Jeder AgentenroUe wird genau eine Ontologie und eine Contentsprache zugeordnet. Ontologie und Contentsprache sind fiir eine Kommunikation zwischen Agenten wesentHch.
6.4.2
Ontologieintegration
Jedem Agenten wird die verwendete Ontologie durch eine Ontologiebeschreibung bekannt gemacht. Die im Ontologiewerkzeug Protege abgebildeten Ontologieklassen werden in C#-Klassen umgewandelt. Dazu wird das Protege-XML-Schema in einen DOM (Document Object Model)-Baum unter Verwendung eines DOM-Parsers umgeformt. Anschliefiend wird der DOM-Baum durchlaufen und ein XML-Schema aufgebaut, das der im .NET-Pramework vorliegenden XML-SchemaDefinition entspricht. Aus dem auf diese Art und Weise erhaltenen XML-Schema werden unter Verwendung von Werkzeugen des .NET-Prameworks C#-Klassen fiir die Ontologie erzeugt.
6.4.3
Implementierung und Integration der Contentsprache
Ausdriicke der Contentsprache miissen auf syntaktische und semantische Korrektheit iiberpriift werden. Falls das erfolgt ist, wird der Content ausgewertet und es erfolgt eine geeignete Reaktion. Fur diese Zwecke ist die Implementierung eines Interpreters erforderlich. Ein Compiliervorgang besteht aus der Analyse- und der Synthesephase [4]. Wahrend der Analysephase zerlegt der Compiler einen gegebenen Ausdruck in Symbole und erzeugt ein Zwischenformat, das fiir eine weitere Verarbeitung geeignet ist. In der sich daran anschliefienden Synthesephase wird das Zwischenformat benutzt, um auf eingehende Nachrichten zu reagieren. Die Reaktion kann aus dem Ausfuhren einer Handlung oder der Beantwortung einer Anfrage bestehen. Die Analysephase besteht aus den folgenden drei Subphasen [4]: 1. lexikalische Analyse, 2. Syntaxanalyse, 3. semantische Analyse.
6.5. DATENHAUSHALT
DES VORGESCHLAGENEN
MULTI-AGENTEN-SYSTEMS
199
Wahrend der lexikalischen Analyse wird ein Ausdruck der Contentsprache gelesen. Die Eingabe wird in Symbole (Tokens) zerlegt. Jedes Symbol ist eine Folge von Zeichen mit einer bestimmten Bedeutung. Die Contentsprache enthalt verschiedene Symbole wie zum Beispiel XMLJ)XPRESSION fur XML-Ausdriicke, VAR fur Variable oder ACTION fiir Agentenhandlungen. Der Prozess der Ermittlung der Symbole beruht auf dem Konzept endlicher Automaten. Zur Erstellung des endlichen Automaten wird eine C#-Implementierung des haufig benutzten Generators Lex [44] verwendet. In der zweiten Phase erfolgt die Erstellung eines Parsers zur Analyse der syntaktischen Korrektheit eines gegebenen Ausdruckes der Contentsprache. Auf Grundlage der formalen Theorie von Stapelmaschinen wird ein entsprechender Parser unter Verwendung des Parsergenerators YACC (Yet Another Compiler Compiler) [44] entwickelt. Fiir eine Benutzung von YACC ist eine Transformation der Contentsprache in eine fiir YACC zugangliche Form notwendig. Ein abstrakter Syntaxbaum ist das Hauptergebnis der Syntaxanalyse. In der dritten Phase erfolgen die Identifizierung von Bezeichnern und die Typpriifung. Dazu wird die Klasse OntoManager (vergleiche [34] fiir einen ahnlichen Ansatz) implementiert, die zur Kapselung von sematischen Aktionen dient. Semantische Aktionen sind Bestandteil des Ubersetzungsschemas und erweitern bestimmte Produktionsregeln der Grammatik [4]. Nach den drei Analysephasen kann entschieden werden, ob ein gegebener Content-Ausdruck giiltig ist. Der Content-Ausdruck wird in Symbole zerlegt, die in einem geeigneten Syntaxbaum gespeichert werden. Der Syntaxbaum wird durchlaufen, um die notwendigen Agentenaktionen zu veranlassen.
6.5
Datenhaushalt des vorgeschlagenen Multi-AgentenSystems
6.5.1
Prinzipien
Die Konzeption des Datenhaushaltes erfolgt unter dem Gesichtspunkt der Online-Fahigkeit des verteilten hierarchischen Steuerungssystems. Es wird das Ziel verfolgt, den zur Ubertragungen von Daten notwendigen Nachrichtenaustausch zwischen einzelnen Agenten zu minimieren. Es werden die Prinzipien • Redundanz, • gemeinsame Nutzung von Daten durch mehrere Agenten, • direkte Referenzierung von Datenobjekten eingesetzt. Die fiir das Multi-Agenten-System notwendigen Daten werden in Datenobjekten abgelegt. Datenobjekte werden im Hauptspeicher des Rechners vorgehalten. Dadurch wird ein sehr
200
KAPITEL 6. SYSTEMARCHITEKTUR
ZUR
PRODUKTIONSSTEUERUNG
schneller Zugriff auf die Datenobjekte ermoglicht und die Online-Fahigkeit des Multi-AgentenSystems sichergestellt. Eine redundante Datenhaltung verringert die Anzahl von Informationen, die zwischen den Agenten ausgetauscht werden, und lasst eine Verteilung des Multi-AgentenSystems auf mehrere Rechner zu. Die gemeinsame Nutzung von Daten durch mehrere Agenten verkleinert die Anzahl der Datenobjekte, die im Hauptspeicher vorgehalten werden miissen. Durch die direkte Referenzierung von Objekten wird vermieden, die in den Objekten enthaltene Information durch Nachrichten zu iibermitteln.
6.5.2
Datenstrukturen fiir Entscheideragenten
Entsprechend der in Kapitel 3 beschriebenen hierarchischen Strukturierung besteht das MultiAgenten-System aus einem Produktionssystemagenten, mehreren Produktionsbereichsagenten und aus mehreren Maschinengruppenagenten. Da sich Produktionsbereiche aus Maschinengruppen zusammensetzen und das Produktionssystem aus Produktionsbereichen besteht, wird in einem Bottom-Up-Ansatz mit der Beschreibung des Datenhaushaltes der jeweiUgen Entscheideragenten begonnen.
6.5.2.1
Maschinengruppenagenten
Maschinengruppenagenten enthalten Referenzen auf Datenobjekte, die zur Speicherung von Maschineninformationen dienen. Weiterhin werden in den Datenobjekten Informationen dariiber vorgehalten, welche Lose bzw. Batches sich gerade auf den Maschinen der durch den Maschinengruppenagenten verwalteten Maschinen in Bearbeitung befinden. Die Maschinenobjekte speichern Informationen iiber den Zustand der jeweiligen Maschinen und Referenzen auf die Datenobjekte der Lose bzw. Batches, die auf den Maschinen bearbeitet werden.
6.5.2.2
Produktionsbereichsagenten
Produktionsbereichsagenten halten Referenzen auf die Datenobjekte der Maschinengruppen vor, die dem Produktionsbereich zugeordnet sind. Es wird davon ausgegangen, dass die Agenten, die die Maschinengruppen eines Produktionsbereichs und den Produktionsbereich selber reprasentieren, sich in genau einer Laufzeitumgebung befinden. Die Algorithmen der Produktionsbereichssteuerungsebene benotigen fiir die Berechnung von Maschinenbelegungsplanen die folgenden Daten: • Maschinengruppen des Produktionsbereichs, • Kapazitaten der Maschinengruppen, • die auf Bearbeitung im Warteraum vor den Maschinengruppen wartenden Lose,
6.5. DATENHAUSHALT
DES VORGESCHLAGENEN
MULTI-AGENTEN-SYSTEMS
201
• Informationen iiber zukiinftige Losankiinfte im Produktionsbereich, • Informationen iiber die terminierten Lose. Die Informationen iiber zukiinftige Losankiinfte werden von anderen Produktionsbereichsagenten bzw. dem Produktionssystemagenten fiir in das Produktionssystem einzusteuernde Lose ermittelt. Die beschriebene Situation ist in Abbildung 6.3 dargestellt. Im Datenobjekt des Produktionsbereichsagenten miissen weiterhin die durch den Produktionsbereichsschedulingagenten berechneten Ablaufplane gespeichert werden. Losinformationen
Laufzeitumgebung 1
Laufzeitumgebung 2
Produktionsbereichsagent1
Produktionsbereichsagent 2 Maschinengruppenagent
Maschinengruppenagent Losdaten
Losdaten
Maschinengruppenagent
1 Maschinen1 gruppenagent H Losdaten
Maschinengruppenagent
Losdaten Maschinengruppenagent
Abbildung 6.3: Datenhaushalt von Produktionsbereichsagenten
6.5.2.3
Produktionssystemagent
Es existiert genau eine Produktionssystemagent im verteilten hierarchischen Steuerungssystem. Der Produktionssystemagent wird genau einer Laufzeitumgebung zugeordnet und enthalt eine Referenz auf ein Datenobjekt, in dem alle fiir die Entscheidungsfindung des Produktionssystemagenten notwendigen Daten enthalten sind. Die zur Entscheidungsfindung eingesetzten Verfahren benotigen die folgenden Daten: • die in Abschnitt 3.4 beschriebenen aggregierten Arbeitsplane, • die fiir jedes der im Produktionssystem befindlichen Lose als nachste auszufiihrende Operation, • Informationen iiber die Dekomposition des Basissystems in Produktionsbereiche und in Maschinengruppen und die aggregierte Kapazitatsauslastung der Maschinengruppen.
202
KAPITEL 6. SYSTEMARCHITEKTUR
ZUR
PRODUKTIONSSTEUERUNG
Die Informationen iiber die aggregierten Arbeitsplane, den Aufbau des Basissystems und die Kapazitatsauslastung werden im Datenobjekt des Produktionssystemagenten abgelegt. Die Kapazitatsauslastung der Maschinengruppen wird vor der Entscheidungsfindung des Produktionssystemagenten durch Anfragen an alle Produktionsbereichsagenten aktualisiert. Der Produktionssystemagent verfiigt somit iiber ein reduziertes Datenmodell des Produktionssystems.
6.5.2.4
Produktagenten
Alle Produktagenten befinden sich in der Laufzeitumgebung, in der sich der Produktionssystemagent aufhalt. Produktagenten besitzen eine Referenz auf ein Datenobjekt, das den Arbeitsplan des Produkts enthalt. Ein Arbeitsplan besteht, wie in Abschnitt 2.2 beschrieben, aus einer geordneten Menge von Prozess-Schritten. Jedem Prozess-Schritt sind diejenigen Maschinen zugeordnet, auf denen der Prozess-Schritt ausgefiihrt werden kann. Weiterhin sind die sekundaren Ressourcen beschrieben, die fiir den jeweihgen Prozess-Schritt notwendig sind. Die Datenobjekte mit den Arbeitsplanen werden in alien Laufzeitumgebungen vorgehalten, da alle Produktionsbereichsagenten auf diese Daten zugreifen. Falls ein Produktagent die Zuordnung eines Prozess-Schrittes zu Maschinen andert, muss das den Produktionsbereichsagenten in alien Laufzeitumgebungen mitgeteilt werden. Die Produktionsbereichsagenten verandern dann das Datenobjekt, das den Arbeitsplan reprasentiert, in ihrer Laufzeitumgebung.
6.5.2.5
Losagenten
Losagenten besitzen Datenobjekte, auf die sie iiber eine Referenz verweisen. Die Datenobjekte enthalten Informationen iiber den Status des Loses, einen Verweis auf den vom Los verwendeten Arbeitsplan sowie andere fiir das Los charakteristische Informationen. Die Datenobjekte der Losagenten werden unter Laufzeitgesichtspunkten redundant in alien Laufzeitumgebungen vorgehalten. Um technische Probleme mit der Mobilitat der Losagenten zu vermeiden, werden Losagenten ebenfalls redundant in alien Laufzeitumgebungen erzeugt. Die Losagenten werden aktiviert, wenn das durch sie reprasentierte Los sich in dem Produktionsbereich befindet, der mit der Laufzeitumgebung assoziiert ist. Wenn ein Los den Produktionsbereich wechselt, wird der zugehorige Losagent im Ausgangsproduktionsbereich deaktiviert und im Zielproduktionsbereich aktiviert. Gleichzeitig findet eine Ubertragung der Informationen, die im Datenobjekt des Loses in der Ausgangslaufzeitumgebung vorgehalten werden, an das Datenobjekt in der Ziellaufzeitumgebung statt.
6.5.2.6
Batchagenten
Ein Batchagent besitzt Referenzen auf die Datenobjekte der ihn bildenden Lose. ZusatzUch wird jedem Batchagenten ein Datenobjekt zugeordnet, das den Batch charakterisierende Grofien enthalt. Dazu gehoren zum Beispiel die Losfamilie oder der friiheste Verfiigbarkeitstermin des Batches.
6.5. DATENHAUSHALT 6.5.2.7
DES VORGESCHLAGENEN
MULTI-AGENTEN-SYSTEMS
203
Agenten fiir vorbeugende Instandhaltungsmafinahmen
Ein Agent fiir vorbeugende Instandhaltungsmafinahmen besitzt eine Referenz auf ein Datenobjekt, das die Daten fiir den vorbeugenden Instandhaltungsauftrag enthalt. Da sich ein vorbeugender Instandhaltungsauftrag stets auf genau eine Maschine einer Maschinengruppe bezieht, wird auf ein redundantes Vorhalten der Datenobjekte in alien Laufzeitumgebungen verzichtet.
6.5.3
Datenstrukturen fiir Dienstagenten
Die Datenstrukturen fiir Dienstagenten sind einfacher als die der entsprechenden Entscheideragenten. Sie sind im WesentUchen fiir eine temporare Speicherung der Ergebnisse der Dienstagenten notwendig. Die in Abschnitt 3.8 dargestellte Unterscheidung in Scheduling- und Monitoringagenten findet beim Entwurf der Datenstrukturen Verwendung.
6.5.3.1
Schedulingagenten
ScheduUngagenten berechnen, wie in Abschnitt 3.8 beschrieben, Ablaufplane fiir Produktionsbereiche bzw. terminieren Lose auf der Produktionssystemebene. Sie werden durch den jeweiligen Entscheideragenten aktiviert und mit den Referenzen auf die entsprechenden Datenobjekte versorgt. Schedulingagenten besitzen Referenzen auf Datenobjekte, die dazu dienen, die berechneten Ablaufplane vorzuhalten. 6.5.3.2
Monitoringagenten
Monitoringagenten berechnen Leistungsmafie fiir das Produktionssystem, fiir einzelne Produktionsbereiche und Lose. Monitoringagenten werden durch den jeweiligen Entscheideragenten aktiviert. Dabei erfolgt eine Versorgung mit den Referenzen der entsprechenden Datenobjekte. Weiterhin besitzt jeder Monitoringagent ein Datenobjekt, das zur Aufnahme von fiir die Berechnung notwendigen Informationen und zur Aufnahme von Monitoringergebnissen dient.
6.5.4
Datenversorgung des Steuerungssystems durch betriebliche Informationssysteme
Betriebliche Informationssysteme (MES, ERP-Systeme oder verschiedene Spezialdatenbanken) stellen die Daten bereit, die vom verteilten hierarchischen Steuerungssystem fiir Steuerungsentscheidungen benutzt werden. Kern der Architektur ist eine blackboardartige Online-Datenschicht (als Blackboard bezeichnet), deren Aufbau in Kapitel 7 detailliert beschrieben wird. Die Datenschicht enthalt die zur Steuerung wesentlichen Daten in Form geeigneter Objekte, die durch die betriebhchen Informationssysteme standig aktualisiert werden. Das Multi-Agenten-System besitzt eine Schnittstelle, die iiber die Online-Datenschicht mit Daten versorgt wird. Die Schnittstelle
204
KAPITEL 6. SYSTEMARCHITEKTUR ZUR PRODUKTIONSSTEUERUNG
versendet Nachrichten an die Agenten. Die Agenten fiihren nach Erhalt einer entsprechenden Nachricht eine Aktualisierung der jeweiligen Datenobjekte durch. Die beschriebene Architektur ist in Abbildung 6.4 dargestellt.
Mm-^mmmmk Laufeeitumgebung
Laufeeitumgebung
Interface
Black-[ , board 1
Laufzeitumgebung
Laufzeitumgebung
Externes System
Abbildung 6.4: Datenversorgung durch Premdsysteme
6.6
Generische Architektur fur Entscheideragenten
In diesem Abschnitt wird eine generische Architektur fiir Entscheideragenten bereitgestellt. Nax^h der Beschreibung der Funktionalitat wird die Architektur von Entscheideragenten spezifiziert.
6.6.1
Funktionalitat von Entscheideragenten
Entscheideragenten stellen die folgende Funktionalitat bereit: 1. Entscheidungsfindung vorbereiten, 2. Entscheidungen treffen, 3. Informieren anderer Entscheideragenten, 4. Starten von Dienstagenten, 5. zeitgetriebene Abfrage der Berechnungsergebnisse von Dienstagenten, 6. Anfordern von Diensten anderer Entscheideragenten,
6.6. GENERISCHE ARCHITEKTUR
FUR ENTSCHEIDERAGENTEN
205
7. Behandlung von Ausnahmen wahrend der Entscheidungsvorbereitung und der eigentlichen Entscheidungsfindung, 8. Uberpriifen der Liste gegenwartiger oder zukiinftiger Agentenaktivitaten auf relevante Ein-
Die Funktionalitat von Entscheideragenten lasst sich in drei Kategorien einteilen: • Funktionalitat zur ErfuUung der Designziele des Agenten: In diese Kategorie fallen die Entscheidungsvorbereitung und die eigentliche Entscheidungsfindung. • Kommunikationsfunktionalitat: Durch die Funktionalitat dieses Typs wird das Informieren anderer Agenten iiber Entscheidungsergebnisse initiiert. Weiterhin wird das Lesen der Entscheidungsergebnisse anderer Agenten sowie das Aktivieren anderer Agenten gestartet. • Interne Funktionalitat: Die durch diese Kategorie bereitgestellte Funktionalitat hat keine unmittelbare Wirkung auf andere Agenten. Die Behandlung von Ausnahmen und das Uberpriifen der Liste zukiinftiger Agentenaktivitaten fallen in diese Punktionalitatsklasse. Fiir eine Darstellung des Agentenverhaltens, das zur Realisierung der Funktionalitat notwendig ist, wird auf Anhang C.l verwiesen.
6.6.1.1
Vorbereitung der Entscheidungsfindung
Entscheidungen basieren auf Informationen. Aus diesem Grund miissen durch Entscheideragenten geeignete Informationen beschafft werden. Das kann zum Beispiel durch die Aktivierung von Monitoringagenten geschehen. Andererseits sind auch Informationen iiber die Entscheidungen anderer Entscheideragenten zur Vorbereitung der Entscheidungsfindung auszuwerten. Schedulingagenten konnen mit der Berechnung von Ablaufplanen auf den einzelnen Steuerungsebenen beauftragt werden.
6.6.1.2
Treffen der Entscheidung
Die endgiiltige Entscheidung wird auf Basis der in der Phase der Entscheidungsfindung ermittelten Informationen getroffen. Beispielsweise wird unter mehreren (zulassigen) Ablaufplanen, die eine moglichst geringe absolute gewichtete Verspatung der Lose anstreben, derjenige ausgewahlt werden, der gleichzeitig zu einem hohen Durchsatz fiihrt. In Abhangigkeit von den Ergebnissen der Dienstagenten kann eine Entscheidung iiber einen erneuten Aufruf eines bestimmten Dienstagenten mit veranderten Paxametern vorgenommen werden.
206 6.6.1.3
KAPITEL 6. SYSTEMARCHITEKTUR
ZUR
PRODUKTIONSSTEUERUNG
Informieren anderer Entscheideragenten
Andere Entscheideragenten werden in der Phase der Vorbereitung der Entscheidungsfindung iiber die Ergebnisse der Entscheidungsfindung des jeweiUgen Entscheideragenten informiert. Weiterhin ist auch eine Information iiber zukiinftige Agentenaktionen auf Basis der Eintrage in der Liste zukiinftiger AgentenaJctivitaten mogfich.
6.6.1.4
Starten von Dienstagenten
Dienstagenten sind in der Phase der Entscheidungsvorbereitung und der Entscheidungsfindung durch Entscheideragenten zu aktivieren. Dabei sind durch den Entscheideragenten geeignete Parameter fiir die durch den Dienstagenten zur Verfiigung gestellten Algorithmen festzulegen.
6.6.1.5
Abfrage der Berechnungsergebnisse von Dienstagenten
Dienstagenten stellen Scheduhng- und Monitoringalgorithmen fiir die Entscheideragenten zur Verfiigung. Die Ubermittlung der Ergebnisse kann auf zweierlei Arten geschehen. Im ersten Fall informiert der Dienstagent den Entscheideragenten iiber den Abschluss von Berechnungen. Im zweiten Fall beendet der Entscheideragent nach Ablauf einer bestimmten Zeitspanne die Berechnungen des Dienstagenten. 6.6.1.6
Anfordern von Diensten anderer Entscheideragenten
Die Entscheidungsfindung eines Entscheideragenten erfordert unter Umstanden Entscheidungen anderer Entscheideragenten. Aus diesem Grund ist es notwendig, dass ein Entscheideragent andere Entscheideragenten aktivieren kann. Beispielsweise konnen Entscheideragenten aufgefordert werden, Ablaufplane fiir die Ressourcen, die sie reprasentieren, bereitzustellen. 6.6.1.7
Behandlung von Ausnahmen
Ausnahmesituationen konnen wahrend der Entscheidungsvorbereitung, der Entscheidungsfindung sowie bei der Realisierung der Kommunikationsfunktionalitat auftreten. Ausnahmesituationen werden entweder durch die Bereitstellung von Defaultparametern oder durch das Versenden von Nachrichten, die besagen, dass eine bestimmte Aktion fehlgeschlagen ist, behandelt. 6.6.1.8
Uberprtifen der Liste gegenwSrtiger oder zuktinftiger AgentenaktivitSten auf EintrSge
Die Liste zukiinftiger Agentenaktivitaten ahnelt der Liste zukiinftiger Ereignisse in der diskreten ereignis-orientierten Simulation [119]. Die Liste wird periodisch durchlaufen, um diejenigen Aktivitaten zu erkennen, die innerhalb eines bestimmten Zeitfensters zu aktivieren sind.
6.6. GENERISCHE ARCHITEKTUR FUR ENTSCHEIDERAGENTEN
6.6.2
207
Architektur von Entscheideragenten
In der Literatur werden unterschiedliche Agentenarchitekturen fiir Anwendungsprobleme diskutiert. Eine grobe Unterteilung in reaktive, deliberative und Schichtenarchitekturen wird vorgenommen [266]. Realctive Agentenarchitekturen zeichnen sich dadurch aus, dass • kein symbolisches Modell der Umwelt durch den Agenten gepflegt wird, • keine Entscheidungsfindung auf Basis einer symbolischen Reprasentation der Umwelt vorgenommen wird, • Entscheidungsfahigkeit im Wesentlichen durch Regeln implementiert wird, die Situationen in Handlungen (Aktionen) uberfiihren, • zielgerichtetes Verhalten durch die Interaktionen der (unter Architekturgesichtspunkten einfachen) Agenten erreicht wird. Deliberative Agenten axbeiten im Gegensatz zu reaktiven Agenten planbasiert. Sie werden durch Belief-Desire-Intention (BDI)-Architekturen realisiert. Uberzeugungen (Beliefs) werden durch Beobachtung der Agentenumwelt gewonnen. Intentionen sind langfristigere Ziele, aus denen unter Beriicksichtigung der Uberzeugung der Agenten Optionen abgeleitet werden. Schichtenarchitekturen streben eine Verbindung der Vorteile von ereignis-getriebenem (reaktivem) und zielorientiertem (deliberativem) Agentenverhalten an. Agenten, denen eine Schichtenarchitektur zugrunde liegt, bestehen aus mehreren hierarchisch angeordneten Softwaremodulen, zwischen denen entweder ein unidirektionaler oder ein bidirektionaler Informations- bzw. KontroUfluss stattfindet. Ein einzelnes Softwaremodul, als Schicht bezeichnet, realisiert entweder reaktives oder planbasiertes Verhalten. Falls eine Schicht nicht in der Lage ist, eine bestimmte Entscheidung zu treffen, wird die KontroUe an eine iibergeordnete Schicht iibergeben, die unter Verwendung ihres Umweltmodells versucht, das Entscheidungsproblem zu losen. Zur Realisierung des verteilten hierarchischen Steuerungsverfahrens wird eine hybride Architektur vorgeschlagen. Jeder Entscheideragent enthalt eine reaktive Schicht, die unmittelbar auf eintreffende Nachrichten reagiert und keine Entscheidungsunterstiitzung durch Dienstagenten benotigt. Deliberatives Verhalten wird durch das Zusammenspiel von ScheduUngagenten und einer planbasierten Ablaufsteuerung innerhalb der Entscheideragenten ermoglicht. Zur Realisierung einer planbasierten Ablaufsteuerung wird jeder Entscheideragent mit einer Liste gegenwartiger und zukiinftiger Agentenaktivitaten (Action-Item-List (AIL)) versehen. In der Liste werden zu behandelnde Ereignisse und die eigentUche Ereignisbehandlung in Form von Verhalten vorgehalten. In der vorgeschlagenen Architektur fiir Entscheideragenten wird zwischen drei Ereignistypen unterschieden: 1. Ereignisse, die zu bestimmten Zeitpunkten der Echtzeit falHg werden (AILRealTime). Ereignisse diesen Typs dienen beispielsweise zur Begrenzung der maximalen Rechenzeit von Schedulingalgorithmen.
208
KAPITEL 6. SYSTEMARCHITEKTUR
ZUR
PRODUKTIONSSTEUERUNG
2. Ereignisse, die zu bestimmten Zeitpunkten der Simulationszeit anstehen (AILSimTime). Ereignisse dieser Klasse werden zum zeitgetriebenen Aufruf von Scheduling- und Monitoringalgorithmen verwendet. 3. andere, nicht zeitgetriebene Ereignisse, z.B. Maschinenausfalle oder die Anderung der Bedeutung eines Kundenauftrags (AILSimEvent). Die softwaretechnische Realisierung der AIL baut auf dem Observerpattern [222] auf und ist in Abbildung 6.5 als UML-Klassendiagramm dargestellt. [HioSimTitiieAlarai: event O n S i i n T i m e A l a n n k d o R e a l T t n ^ A l a r m : event OnSimTimeAlaxm p-doSimEventAlanti: event O n S i m T i m e A l a n n kFireSimTimeAlarmCin alarmTime : DateTime) kFtreRealTimeAlann(iii a l a n n T i m e : DateTime) >t-FircSiaiEventAlarm(m s i m B v e n t : string) h-AILQ
«(delegate» OnSimTimeAtorm
«delegate» OnRealTimeAlanm
k-sourceO: object hHJateTiaaeQ ; DateTime
H-source() : object l+dateTimeQ : DateTime|
H-SimTinaeAlarm(in source : obj
I, in dateTime : DateTime)
<«Jelegate» OnSimEventAlarm l+sourceO : object l+simEventQ: string
AIJ^SimEventTask •m_simEvent: string [•t-SimEventAlarm(in source : object, in s i m E v e n t : string)
AILRealTimeTask |4-RealTimeAtarm(in source : object, in dateTime : DateTime)
t-m_stBehaviour: string [-m_oBehaviourArgs[] : object . A g e n t : AgentRole H-AILTai^in A g e n t : A ^ n t R o I e , in pBehaviour : string, in p A r ^ Q : object) nfDeactivateTask(in s o u r c e : object)
Abbildung 6.5: Liste der gegenwartigen oder zukiinftigen Agentenaktivitaten (AIL)
6.7
Generische Architektur fur Dienstagenten
Dienstagenten unterstiitzen Entscheideragenten bei der Entscheidungsfindung. Dienstagenten kapseln Scheduling- und Monitoringfunktionalitat, die in Form geeigneter Algorithmen zur Verfugung gestellt wird. Diese Algorithmen werden auBerhalb der Dienstagenten implementiert und konnen auf diese Art und Weise von mehreren Dienstagenten gleicher Funktionalitat benutzt werden. Gleichzeitig stellt dieses Vorgehen sicher, dass Legacy-Software fiir Algorithmen verwendet werden kann. Scheduling- und Monitoringfunktionalitat konnen weitestgehend analog behandelt werden. Es wird beschrieben, wie Daten in Dienstagenten verwaltet werden und welche Funktionalitat erforderlich ist. Fiir die Verwendung von Dienstagenten muss festgelegt werden, welche Daten
67. GENERISCHE ARCHITEKTUR
FUR DIENSTAGENTEN
209
und welche Parameter fiir den jeweiligen Losungsalgorithmus benotigt werden. Es wird zwischen externen, vom Entscheideragenten gelieferten Parametern und internen, in Abhangigkeit von der jeweiligen Datenkonstellation gewahlten Paxametern unterschieden.
6.7.1
Funktionalitat von Dienstagenten
Dienstagenten stellen die folgende Funktionalitat zur Verfiigung: 1. Problemlosung vorbereiten, 2. Berechnung interner Parameter des Losungsverfahrens, 3. Versorgung des Losungsverfahrens mit Daten und Parametern, 4. Losung des Problems, 5. Abbruch einer Losungsvorganges zu bestimmten Zeitpunkten oder in Folge bestimmter Ereignisse, 6. Information anderer Agenten iiber das Ergebnis der Berechnung, 7. Behandlung von Ausnahmesituationen wahrend der Problemlosungsvorbereitung, der Bereitstellung von Parametern oder der eigenthchen Problemlosung. Die Methoden, die diese Funktionalitat realisieren, miissen in dieser Reihenfolge durchlaufen werden. Fiir eine Darstellung der Verhaltensauspragungen zur Realisierung der Funktionalitat wird auf Anhang C.2 verwiesen.
6.7.1.1
Vorbereitung der Problemlosung
Die Losung des Entscheidungsproblems wird in zwei Schritten vorbereitet. Erstens sind die relevanten Daten fiir den jeweihgen Algorithmus zu lesen. Fiir Schedulingprobleme sind beispielsweise die notwendigen Arbeitsplane, die Lose, fiir die ein Ablaufplan berechnet werden soil, sowie die entsprechenden Maschinenstatus zu ermitteln. Im zweiten Schritt sind externe Parameter, die der jeweilige Entscheideragent gesendet hat, in den internen Datenstrukturen des Dienstagenten zu speichern. Beispielsweise legt der Entscheideragent das zu verwendende Leistungsmafi und die Lange des ScheduUnghorizontes fest.
6.7.1.2
Berechnung interner Parameter des Losungsverfahrens
Aufbauend auf den in Schritt 1 gelesenen Daten ist es moghch, datenabhangige Parameter des jeweiligen Losungsverfahrens festzulegen. Beispielsweise ist es notwendig, bei Verwendung der
210
KAPITEL 6. SYSTEMARCHITEKTUR
ZUR
PRODUKTIONSSTEUERUNG
ATC-Prioritatsregel den Vorausschauparameter K ZU wahlen. Bei der Verwendung der ShiftingBottleneck-Heuristik ist es erforderlich, in jeder Iterationsschleife eine kritische Maschine festzulegen. Das kann auf Basis geplanter Engpasse erfolgen, die dem Losungsverfahren bekannt gegeben werden miissen.
6.7.1.3
Versorgung des Losungsverfahrens mit Parametern
Die Algorithmen zur Problemlosung sind aufierhalb des jeweiligen Dienstagenten implementiert, damit die Algorithmenfunktionalitat von unterschiedlichen Dienstagenten benutzt werden kann. Aus diesem Grund muss zunachst eine Instanz des jeweiligen Losungsalgorithmus erzeugt werden. Diese Instanz wird mit fiir den Problemlosungsvorgang notwendigen Daten und mit externen und internen Verfahrensparametem versorgt. Es ist moglich, unterschiedliche Losungsalgorithmen zu verwenden und die beziiglich eines fest gewahlten Leistungsmafies besten Ergebnisse dem Entscheideragenten zur Verfugung zu stellen.
6.7.1.4
L5sung des Problems
Nachdem der Algorithmus mit Daten und Parametern versorgt wurde, kann mit der eigentlichen Berechnung begonnen werden. Falls unterschiedliche Algorithmen verwendet werden, muss fiir den Ergebnisvergleich so lange gewartet werden, bis alle Algorithmen die Berechnung beendet haben.
6.7.1.5
Abbruch eines L5sungsvorganges zu bestimmten Zeitpunkten oder in Folge bestimmter Ereignisse
Haufig steht fiir eine zu treffende Entscheidung nur eine bestimmte Zeit zur Verfugung. Fiir Dienstagenten bedeutet das, dass Berechnungen innerhalb dieser Zeitspanne durchgefiihrt werden miissen. Falls die Zeit iiberschritten wird, muss die Berechnung abgebrochen und die bis dahin gefundene beste Losung verwendet werden. Dieses Vorgehen setzt voraus, dass "any-time"-Algorithmen zur Losung benutzt werden. Umgekehrt kann auch der Fall eintreten, dass auf Grund einer veranderten Situation (z.B. dem Ausfall einer fiihrenden Engpassmaschine) die Losung des Problems durch den Dienstagenten iiberfliissig wird. In diesem Fall kann die Berechnung des Dienstagenten beendet werden.
6.7.1.6
Informieren anderer Agenten iiber das Ergebnis der Berechnung
Nach Abschluss der Berechnungen ist es notwendig, den Entscheideragenten iiber die Beendigung zu informieren. Das Informieren erfolgt durch Versenden einer Nachricht, die entweder direkt das Ergebnis oder eine Referenz auf Datenstrukturen enthalt, in denen das Ergebnis abgelegt ist.
6.8. INTERAKTION 6.7.1.7
ZWISCHEN ENTSCHEIDER-
UND DIENSTAGENTEN
211
Behandlung von Ausnahmesituationen
Ausnahmesituationen treten wahrend der Problemlosungsvorbereitung, der Parametrisierung der Losungsalgorithmen und wahrend der eigentlichen Problemlosung auf. Ausnahmesituationen werden entweder durch die Bereitstellung von Defaultparametern oder durch das Versenden von Nachrichten, die beschreiben, dass eine bestimmte Aktion fehlgeschlagen ist, behandelt.
6.7.2
Datenverwaltung in Dienstagenten
Der Datenhaushalt eines Dienstagenten setzt Datenstrukturen • zur Verwaltung von Daten, die zur Problemlosung notwendig sind, • zur Verwaltung von Ergebnisdaten voraus. Datenstrukturen zur Verwaltung von Ablaufplanen sind so gestaltet, dass Ablaufplane sowohl aus Maschinen- als auch aus Lossicht bereitgestellt werden konnen.
6.8
Interaktion zwischen Entscheider- und Dienstagenten
In diesem Abschnitt werden Interaktionen zwischen Entscheider- und Dienstagenten dargestellt. Die nachfolgenden Szenarien werden beschrieben: 1. Aktivierung eines Dienstagenten durch einen Entscheideragenten, 2. Informieren eines Entscheideragenten iiber das Ergebnis der Berechnungen eines Dienstagenten, 3. Aktivierung eines Entscheideragenten durch einen anderen Entscheideragenten. Zur Beschreibung der Interaktionen werden modifizierte UML-Sequenz-Diagramme verwendet. Verhaltensauspragungen werden als Objekte mit eigener LebensUnie dargestellt. Einzelne Status werden jeweils durch einen Abschnitt dieser Lebenslinie reprasentiert. Selbstaufrufe der Verhaltensobjekte symbolisieren die Statusiibergange. Fiir die Darstellung wird auf die Ergebnisse der Verhaltensmodellierung aus Abschnitt 6.6.1, 6.7.1 und Anhang C zuriickgegriffen. In Abbildung 6.6 sind die Interaktionen zwischen Entscheider- und Dienstagenten bis zur Ubergabe der Ergebnisse des Dienstagenten an den Entscheideragenten dargestellt. Verhaltensauspragungen zur Entscheidungsvorbereitung und zur eigentlichen Entscheidungsfindung werden betrachtet. Die Entscheidungsfindungsphase wird durch den Aufruf eines Dienstagenten abgeschlossen. Die Interaktion zwischen Entscheider- und Dienstagenten besteht beim Aufruf des Dienstagenten darin, dass der Entscheideragent zunachst anfragt, ob der Dienstagent prinzipiell in der
212
KAPITEL 6. SYSTEMARCHITEKTUR
ZUR
PRODUKTIONSSTEUERUNG
Lage ist, Dienste auszufiihren. Wenn das der Fall ist, wartet der Entscheideragent bis der Dienstagent die Durchfuhrung von Diensten vorbereitet hat. AnschlieBend fordert der Entscheideragent den gewiinschten Dienst an. Der Dienstagent bestatigt, dass er in der Lage ist, den gewiinschten Dienst auszufiihren. Der Entscheideragent startet anschliefiend den Dienst und wartet darauf, dass der Dienstagent das Ergebnis (im AUgemeinen einen Ablaufplan oder Monitoringergebnisse) zuruckhefert.
X
Stei1J}toff.A8CTl
Staff Agent I>o_Prepare_Decision After_Prepare_Decision Do_Make_Decision After_Decision_Making
x
" ^ t"*-"
Iiiitiate_Start_Stafr_Agent [Request-When ] Wait_For_Agree_Start
^
" ^ I-*
Walt_For_Done_Prq)are [Inform ] Request_Service [Request ] >Wait_For_Request_Service_Result [Infoime-Done] Start_Service [Request] Wait_For_Agree_Start_Service [Agree] Walt_For_Done [Inform] Request_Stafr_Agent_Result
0^ Abbildung 6.6: Interaktionen zwischen Entscheider- und Dienstagenten: I
In Abbildung 6.7 werden die notwendigen Interaktionen nach der Ergebnisiibergabe aus Sicht eines Entscheideragenten gezeigt. Abbildung 6.7 setzt somit die Darstellung aus Abbildung 6.6 fort. Der Entscheideragent fordert zunachst das Ergebnis vom Dienstagenten und wartet anschliei3end. Der Dienstagent liefert das gewiinschte Ergebnis. Danach verarbeitet der Entscheideragent das Ergebnis und reagiert entsprechend. Abbildung 6.8 dient der Darstellung der Interaktionen zwischen Entscheider- und Dienstagenten aus Sicht eines Dienstagenten. Naxih der Vorbereitung der Problemlosung durch den Dienstagenten fiihrt der Dienstagent eine situationsabhangige Parametrisierung des entsprechenden Verfahrens durch. Nachdem der Entscheideragent den Dienst gestartet wartet, wartet der Dienstagent
6.9. BESCHREIBUNG DES
213
FABMAS-PROTOTYPS
Qet ^taff Agent ^ftesiqt
Reaction on Results
I
StafT Agent I
Request_SAResult [Request] Wait_For_SAResult_Request [Inform] > Response_Action_SAResult I
React_On_Result After React On Result
Abbildung 6.7: Interaktionen zwischen Entscheider- und Dienstagenten: II
das Ende der Berechnungen oder ein vorzeitiges Beenden des Losungsvorgangs durch den Entscheideragenten ab. Anschliefiend wartet der Dienstagent auf die Aufforderung, das Ergebnis der Berechnungen dem jeweiligen Entscheideragenten zur Verfiigung zu stellen. Die Interaktionen zwischen zwei Entscheideragenten sind in Abbildung 6.9 dargestellt. Ein Entscheideragent kann einen zweiten Entscheideragenten um eine bestimmte Entscheidung bitten. Der zweite Entscheideragent wird dabei typischerweise wie in Abbildung 6.6 und 6.7 gezeigt auf Dienste von geeigneten Dienstagenten zuriickgreifen. Der zweite Entscheideragent bereitet die Entscheidungsfindung vor, trifft die Entscheidung und iibermittelt das Ergebnis an den die Entscheidung auslosenden Entscheideragenten.
6.9
Beschreibung des FABMAS-Prototyps
Im Rahmen des FABMAS-Projektes wurde ein Prototyp fiir ein verteiltes hierarchisches Steuerungssystem fiir die Halbleiterfertigung als Multi-Agenten-System implementiert. Halbleiterfertigungssysteme sind ein Beispiel fiir komplexe Produktionssysteme. Der in C + + und C # implementierte Prototyp umfasst die in [167] beschriebenen Bestandteile:
• Laufzeitumgebungen entsprechend der Darstellung in Abschnitt 6.2, • eine auf der .NET-Middleware basierende Kommunikationsinfrastruktur,
214
KAPITEL 6. SYSTEMARCHITEKTUR ZUR PRODUKTIONSSTEUERUNG
Prypar? S^iMtfpn
\f^rm^t^r^^ MwntW
i
Solve or Interrupt
Decision-MaklDg Agent >Wait_For_Start_Prepare
[Request]
Do_Prepare_Solution i After_Prepare_Solution
[[Inform] Wait_For Start Parameterize
X
Do_Paraineterize I
^
[Request]
i
After_Parameterize [
[Inform] ;>Wait For_Start_SoIve [Request]
)!< Walt_For_lnternipt After_SoIve_Or_Interrupt [Inform] Wait_For_Start_ Communicate [Request]
^
Do.
[Inform]
)K Abbildung 6.8: Interaktionen zwischen Dienst- und Entscheideragenten
• hierarchisch organisierte Entscheideragenten entsprechend der Architektur aus Abschnitt 6.6, • Dienstagenten, die zur Realisierung der in Abschnitt 6.7 beschriebenen Funktionahtat dienen, • einen in C + + unter Verwendung der ILOG-BibHothek implementierten Dienstagenten, der als DLL zur Verfiigung gestellt wird und die prinzipielle Einbindbarkeit von Legacy-Software demonstriert, • die auf die Domane Halbleiterfertigung zugeschnittene FABMAS-Ontologie [164] sowie die Contentsprache FABtalk [165], • eine in C + + implementierte blackboardartige Datenschicht, die im Rahmen einer Kopplungsarchitektur als Bindeghed zwischen dem Steuerungssystem und dem diskreten ereignisorientierten Simulator AutoSched AP 7.1 dient, • eine graphische Benutzeroberflache, welche die Aktivierung des Steuerungssystems und die Visualisierung der Objekte in der blackboardartigen Datenschicht erlaubt.
6.9. BESCHREIBUNG DES
215
FABMAS-PROTOTYPS Make Decision
[akiny Ayent Service
) Request_DMA_Service
\ Wait_For_Start _Prepare
Prepare L>^_De< .Decision \ After_Prepare_ y/DecisFon
Inforn^ DM ^gent
I Wait_For_Make. i Decision
I Wait_For_Start Inform DMA
b
Do_Make_ Decision
Wait_For_DMA_Service_Answer \After_Decision_l
y Making
^ [Inform]
t>
Do Inform DMA
X.
Response_Action_DMA_Service After_Inform_DMA
^ Abbildung 6.9: Interaktionen zwischen zwei Entscheideragenten
In Tabelle 6.1 sind die entwickelten Dienstagenten aufgefiihrt. Die bereitgestellten Dienstagenten kapseln dabei sowohl Legacy-Software in unterschiedlichen Programmiersprachen (fiir den Prototypen wurde die kommerzielle ILOG-Bibliothek herangezogen) als auch hinreichend komplexe Ablaufplanungsverfahren. Weiterhin wird gezeigt, wie produktionsbereichsiibergreifend Ablaufplane erstellt werden konnen. Tabelle 6.1: Implementierungsdetails der Dienstagenten im FABMAS-System Dienstagent
Implementierung
Terminierungsagent
unter Benutzung der ILOG-Bibliotheken in C-\-+ entwickelte Komponente
Produktionsbereichsschedulingagent
in C # implementierte
Shifting-Bottleneck-Heuristik,
die verwendeten Unterproblemlosungsverfahren basieren auf Prioritatsregeln Maschinengruppenagent
verwendet den in C # implementierten maschinenstundenbasierten
Ressourcenallokationsmechanismus
zur
Behandlung ungiiltiger Ablaufplane
Die Grobarchitektur des FABMAS-Prototyps ist in Abbildung 6.10 dargestellt. Dabei ist zu beachten, dass die in der Programmiersprache C+-1- entwickelte blackboardartige Datenschicht,
216
KAPITEL 6. SYSTEMARCHITEKTUR
ZUR
PRODUKTIONSSTEUERUNG
die unter Laborbedingungen durch entsprechende Ereignisse in der Simulation mit Daten versorgt wild, ereignisgetrieben durch operative Informationssysteme aktualisiert werden kann. Eine entsprechende Umsetzung dieser Kopplungsaxchitektur in einer mittelstandischen Halbleiterfabrik ist in [154] skizziert. Produktionssysteinstetterungsebene (C++) (Beam-Search-Teminienmgsverfahren, Infinitc-Capacity-Algorithm)
1—^
t
' Produktionsbereichssteuerungsebene (C#) (Distributed-Shifting-Bottleneck-Heuristic (DSBH))
.
' Maschinengruppensteuerttngi^ene (C#) (Maschinenstundenbasieiter Ressourcenallokationsmechanismus)
,i
1 f Blackboard (C++)
— •
1
1
'
AutoSched-AP-Simulationsmodell (C++)
Abbildung 6.10: Grobarchitektur des FABMAS-Prototyps
Eine Leistungsbewertung des Prototyps beziighch fachlicher und technischer Kriterien wird in Kapitel 7 durchgefiihrt. Dabei zeigt sich, dass der FABMAS-Prototyp, insbesondere fiir enge Kundenendtermine und hohe Systemlast, zu einer gegeniiber Prioritatsregeln verbesserten Steuerung fiihrt. Durch die verteilte Berechnung der Ablaufplane konnen weiterhin Zeitersparnisse beobachtet werden. Fiir eine detaiUiertere Beschreibung des Prototyps wird auf [168] verwiesen.
Kapitel 7 Leistungsbewertung von Steuerungsansatzen Eine generische Architektur zur Leistungsbewertung von Systemen zur Produktionssteuerung ist Gegenstand dieses Kapitels. Die Architektur erlaubt insbesondere die Leistungsbewertung von verteilten Steuerungssystemen. Eine blackboardartige Datenschicht wird vorgeschlagen, deren Objekte die fiir die Produktionssteuerung notwendigen Informationen enthalten. Diskrete ereignisorientierte Simulation wird zur Emulation des zu steuernden komplexen Produktionssystems eingesetzt. Es werden Leistungsmafie zur Bewertung von Produktionssystemen vorgeschlagen. Die beschriebene Methode wird anschliefiend zur Leistungsbewertung eines hierarchisch-organisierten Multi-Agenten-Systems angewandt.
7.1
Motivation
Die Prage der Leistungsbewertung neuartiger Planungs- und Steuerungsalgorithmen stellt sich haufig schon vor der eigenthchen praktischen Implementierung der Verfahren im Produktionssystem. In der Literatur wird iiber Probleme der Leistungsbewertung neuer Planungs- und Steuerungsalgorithmen berichtet (Choung, Jun, Han, Jang, Lee und Leachman [38]). Eine Ursache ist in der Dynamik der zu steuernden Produktionssysteme zu suchen. Steuerungsalgorithmen werden haufig lediglich fiir einzelne Bereiche des Produktionssystems auf Grund der Komplexitat entworfen, von Interesse ist aber ihre Wirkung unter dem Aspekt der zu realisierenden globalen Leistungsparameter des Systems. Diskrete ereignis-orientierte Simulation wird zur Losung der dargestellten Probleme bei der Leistungsbewertung benutzt. In [159] wird ein (technisches) Framework fiir die Leistungsbewertung von herkommlichen Planungs- und Steuerungssystemen beschrieben. In [163] und der vorliegenden Arbeit werden diese Ansatze auf Multi-Agenten-Systeme als Steuerungssysteme ausgedehnt. Die entwickelte Softwarearchitektur ermoglicht eine Leistungsbewertung sowohl von herkommlichen als auch verteilten
218
KAPITEL 7. LEISTUNGSBEWERTUNG
VON
STEUERUNGSANSATZEN
Steuerungssystemen. Damit erweitert und konkretisiert die Softwarearchitektur die Benchmarkingansatze aus [24, 35].
7.2
Anforderungen an die Leistungsbewertung
Es wird zwischen Anforderungen aus Modellierungssicht und Anforderungen aus Softwaxearchitektursicht unterschieden.
7.2.1
Modellierungsgesichtspunkte
In Abschnitt 2.2 wurde dargestellt, dass Produktionssysteme dynamisch und stochastisch sind. Aus diesem Grund sind statische Testfalle wie sie zur Leistungsbewertung von OR-Algorithmen verwendet werden (vergleiche z.B. die OR-Library [179]) nur bedingt geeignet. Zur Beschreibung des dynamischen und stochastischen Systemverhaltens eignet sich besonders gut diskrete ereignisorientierte Simulation (vergleiche hierzu auch die Ausfuhrungen in Abschnitt 2.5.3). Die statischen Elemente eines Simulationsmodell dienen zur Darstellung des Basissystems, wahrend die dynamischen Elemente den Basisprozess beschreiben. Da der Aufbau und die Pflege von Simulationsmodellen fiir Produktionsprozesse einen grofien Aufwand erfordert, ist es sinnvoU, auf Referenz- bzw. Benchmarkmodelle zuriickzugreifen. Derartige Modelle werden fiir die Domane Halbleiterfertigung beispielsweise in Form des MASM-TestData-Sets [132] zur Verfiigung gestellt. Der MASM-Test-Data-Set umfasst Simulationsmodelle von zehn Halbleiterfabriken unterschiedlicher Komplexitat. Eine andere wichtige Anforderung ist die Beschreibung der Behandlung von Ausnahmesituationen. Falls beispielsweise ein Produktionssteuerungsansatz Ablaufplane zur Steuerung eines Produktionssystems ermittelt, ist es notwendig, die Situation des Vorliegens ungiiltiger Ablaufplane geeignet zu behandeln. Es muss beschrieben werden, unter welchen Bedingungen ein Ablaufplan ungiiltig ist. Weiterhin ist es erforderlich, Ad-hoc-Verfahren zur Maschinenbelegung und moghche Reschedulingstrategien anzugegeben. Steuerungsansatze fiir Produktionssysteme sind durch die Haufigkeit ihrer Anwendung und durch zahlreiche Verfahrensparameter gekennzeichnet. Diese Grofien miissen dokumentiert werden, um eine Vergleichbarkeit und NachvoUziehbarkeit der durchgefiihrten Experimente sicherzustellen.
7.2.2
Architekturgesichtspunkte
Zwei prinzipielle Moglichkeiten zur Leistungsbewertung von Steuerungsalgorithmen durch diskrete ereignis-orientierte Simulation existieren. 1. Der zu bewertende Steuerungsalgorithmus nutzt entsprechende Informationen und Daten direkt auf Ebene des Simulationstools. Ergebnis dieses Ansatzes ist proprietare Software, die
7.3. ARCHITEKTUR
ZUR LEISTUNGSBEWERTUNG
219
schwierig zu verstehen und zu warten ist. Die Implementierung verschiedener Steuerungsansatze ist bei diesem Vorgehen schwierig durchzufiihren. Beispiele fiir diesen Integrationsansatz sind in [245, 246, 100] beschrieben. 2. Die zweite Moglichkeit beinhaltet eine blackboardartige Datenschicht, die die Situation im Produktionssystem, das durch ein Simulationsmodell reprasentiert wird, widerspiegelt. Das dem Blackboard zugrunde liegende Objektmodell ist wesentlich einfacher zu verstehen und zu warten als die proprietaren Datenstrukturen von Simulationstools. Der Austausch von zur Leistungsbewertung vorgesehenen Steuerungsalgorithmen ist so wesentUch leichter zu voUziehen. Ansatze dieses Typs sind unter anderem zur Kopplung von Systemen der kiinsthchen Intelhgenz verwendet worden [95, 241]. Die Architektur zur Leistungsbewertung muss Persistenzmechanismen beinhalten, die zur Speicherung von bestimmten Objektzustanden und Leistungsmafien verwendet werden konnen. Fiir die Sicherstellung von Persistenz sind besonders objektorientierte Datenbanken geeignet, da diese eine Auflosung der Beziehungen zwischen den Objekten der blackboardartigen Datenschicht weitestgehend vermeiden. Steuerungsanwendungen basieren heute haufig auf ausgereiften kommerziellen und akademischen Optimierungs- und ScheduUngbibhotheken und -frameworks. Beispiele fiir derartige SoftwarebibUotheken sind die Solver- und Schedulerklassenbibliotheken von ILOG [122] und Klassenbibliotheken fiir genetische Algorithmen [190]. Eine generische Architektur zur Leistungsbewertung muss diesen Fakt beriicksichtigen und eine leichte Integrierbarkeit von Klassenbibhotheken ermoglichen. Da wesentliche Klassenbibliotheken in der Programmiersprache C-l—I- entwickelt wurden, soUte eine Softwarearchitektur zur Leistungsbewertung insbesondere diese Programmiersprache unterstiitzen.
7.3
Architektur zur Leistungsbewertung
In diesem Abschnitt werden die Arbeit [159] fiir die Domane Halbleiterfertigung und die Arbeit [166] fiir Multi-Agenten-Systeme verallgemeinert und erweitert. Der vorgeschlagene Ansatz hat den Vorteil, dass eine aufwendige Implementierung der verteilten Ansatze direkt im Simulator (vergleiche unter anderem die Arbeiten von Ottaway und Burns [182] und Pesenti, CasteUi, Santin [196]) entfallt. Weiterhin wird der Einsatz zentraler Verfahren fiir die Planung und Steuerung zu Vergleichszwecken in einer dynamischen Umgebung durch die vorgeschlagene Architektur iiberhaupt erst ermoglicht. Kern der Architektur zur Leistungsbewertung ist ein diskreter ereignis-orientierter Simulator zur Emulation des zu steuernden Produktionssystems. Es wird eine (gegebenenfalls) aus mehreren Blackboards bestehende Datenschicht benutzt, die durch Ereignisse des Simulators aktualisiert wird. Auf der obersten Ebene der Architektur befinden sich die steuernden Systeme. Abbildung
220
KAPITEL 7. LEISTUNGSBEWERTUNG
VON
STEUERUNGSANSATZEN
7.1 dient zur Veranschaulichung der beschriebenen Architektur fiir n verteilte Steuerungssysteme. Der Einsatz von mehreren Blackboards und Steuerungssystemen ist auf Grund einer natiirlichen Segmentierung von Produktionssystemen (vergleiche hierzu zum Beispiel [149] fiir die Domane Halbleiterfertigung) sinnvoU.
i
^
i
•
i
i
Loopi] 1 ^
'r ^OD^"^"^ Blackboard 1 ii
^ ^ ^
i
\'
^.-'Segi»eiitl i
i
^p ^1 i
^1
A
ii
f
^ ^
i
Blackboard n • A
j
•^"^"^^fl
Segment n
i
]Prod ulrtionssystem (Siinula ticmsmo de11)
^ ^ ^
Abbildung 7.1: Architektur zur Leistungsbewertung
Den Blackboards liegt das in Abbildung 7.2 dargestellte Objektmodell zugrunde, das die im Produktionssystem existierenden und damit im Simulationsmodell vorhandenen Entitaten abbildet. Durch die Ablage der Objekte im Hauptspeicher wird ein sehr schneller Zugriff der verteilten Steuerungssysteme auf die in den Blackboards befindlichen Daten ermoglicht. Es werden die folgenden Daten (jeweils fiir ein separat zu steuerndes Segment des Produktionssystems) abgelegt: Bewegungsdaten: • Einsteuerinformationen fur neue Kundenauftrage (es wird im Folgenden vereinfacht vorausgesetzt, dass ein Kundenauftrag aus genau einem Los besteht) (BB_Lot), • Statusinformationen fiir die einzelnen Maschinen (BB_StationState), • Statusinformationen fiir einzelne Kundenauftrage (BB_Lotstate), • Informationen iiber den Riistizustand der einzelnen Maschinen (BB_Station), Stammdaten: • Arbeitsplane (BB_Route),
7.3. ARCHITEKTUR
ZUR LEISTUNGSBEWERTUNG
221
• Prozess-Schritt-bezogene Betriebsmittellisten (BB_Route), • Riistzeiten (BB_Setup), • Informationen zur Berechnung von Bearbeitungszeiten fiir die einzelnen auszufiihrenden Prozess-Schritte (BB_Route). Statistikdaten: • realisierte Startzeitpunkte fiir einen auszufiilirendeii Prozess-Schritt, • tatsachlich verwendete Maschinen fiir einen auszufiihrenden Prozess-Schritt, • Fertigstellungstermine fiir Lose, • Auslastungsinformationen fiir alle Maschinen. Steuerinformationen (Losplane, Ablaufplane) fiir das Produktionssystem: • geplanter Startzeitpunkt fiir einen auszufiihrenden Prozess-Schritt (BB_ProcessStep), • geplante Maschine fiir einen Prozess-Schritt (BB_ProcessStep), • Belegungsplane fiir die einzelnen Maschinen (BB_Schedule). Fiir jedes Blackboard kommt zusatzlich eine objektorientierte Datenbank zum Einsatz, um Informationen persistent zu speichern. Dadurch wird ein relativ einfaches Herstellen des Blackboardinhaltes nach einem Systemausfall und ein Vorhalten von Daten fiir Historien ermoglicht. Das Blackboard reagiert auf die in Tabelle 7.1 genannten Ereignisse im Simulationsmodell bzw. im zu simulierenden Basisprozess. Mogliche Zustande der statischen und dynamischen Entitaten des Produktionssystem sind in Tabelle 7.2 zusammengefasst. Eine Kommunikation zwischen den Blackboards kann auf Basis des asynchronen MessageQueuings realisiert werden. Die Maschinendaten sind dabei so auf die Blackboards zu verteilen, dass sich logisch zusammengehorige Maschinen (z.B. parallele Maschinen oder die Maschinen eines Produktionsbereichs) auf einem Blackboard befinden. Die Stammdaten werden auf den Blackboards redundant gehalten, um die notwendige Kommunikation zwischen den Blackboards zu verringern. Eine Kommunikation erfolgt zwischen den einzelnen Blackboards und den verteilten Steuerungssystemen wahrend der Initialisierungsphase, wahrend der Terminierung bzw. Ablaufplanung der Lose und bei Maschinenausfallen bzw. beim Wiederaufnehmen der Arbeit von Maschinen nach einem Maschinenausfall.
222
KAPITEL 7. LEISTUNGSBEWERTUNG
VON
STEUERUNGSANSATZEN
Tabelle 7.1: Simulationsereignisse, die Objekte des Blaxikboards verandern Ereignis
Beschreibung
LotEntersFab
Los wird in das Produktionssystem eingelastet.
LotLeavesFab
Los verlasst das Produktionssystem.
LosEntersShop
Los wird in ein bestimmtes Segment des Produktionssystems eingelastet.
LosLeavesShop
Los verlasst ein bestimmtes Segment des Produktionssystems.
LosEntersQueue
Los betritt einen bestimmten Warteraum.
LosLeavesQueue
Los verlasst einen bestimmten Warteraum.
LosEntersStation
Los beginnt Bearbeitung auf einer bestimmten Maschine.
LosLeavesStation
Los beendet Bearbeitung auf einer bestimmten Maschine.
MachineFailure
Maschine fallt aus.
MachineSetup
Maschine beginnt eine Umriistoperation.
Tabelle 7.2: Mogliche Zustande fiir Entitaten des Produktionssystems Zustand
Beschreibung
STATION_DOWN
Ausfall einer Maschine.
STATION_PROCESSING
Maschine bearbeitet Los.
STATION.WAITING
Maschine wartet auf Bearbeitung.
STATION_SETUP
Maschine wird umgeriistet.
LOT_WAITING
Los wartet auf Bearbeitung.
LOT_PROCESSING
Los wird bearbeitet.
LOT_COMPLETED
Los wurde im Produktionssystem fertiggestellt.
Eine blackboardiibergreifende Kommunikation ist zur Ubertragung von Bewegungsdaten (beispielsweise von zukiinftigen Losankiinften in einem anderen Segment) notwendig. Beim Berechnen der Ablau^lane durch die Steuerungssysteme wird der aufrufende Thread (d.h. der Simulator) solange blockiert, bis die Berechnung der Ablaufplane durch die Steuerungssysteme abgeschlossen ist. Wahrend dieser Zeit kann zusatzhch eine Kommunikation auf der Planungs- und Steuerungsebene, d.h. zwischen den Steuerungssystemen vorgenommen werden, wenn dies fiir den Problemlosungsprozess vorteilhaft ist. Beispielsweise konnen auf diese Art und Weise Vorausschaudaten als spezielle Steuerdaten zwischen deii Unternehmen innerhalb einer Lieferkette ausgetauscht werden. Die beschriebene Architektur ist dahingehend generisch, dass fiir jedes Produktionssystem, welches durch die in Abbildung 7.2 beschriebenen Entitaten in einem Simulationsmodell abgebildet werden kann, eine Leistungsb6wertung von Planungs- und Steuerungssystemen durchgefiihrt
7.4. LEISTUNGSKENNZAHLEN
FUR KOMPLEXE
PRODUKTIONSSYSTEME
223
werden kann. Anpassungsaufwand fiir eine konkrete Anwendung entsteht lediglich durch die Erstellung des Simulationsmodells und durch die Implementierung einer entsprechenden Schnittstelle zwischen den Steuerungssystemen und den Blackboards.
^ has
BB RouteT
BB_StationFamilyT
BBLotT has 4
4* allowed on
BB LotStateT
BB_RouteStepT
ff 4" scheduled on BB Station!
BB StationStateT
BB_ProcessStepT ^ processed 0
s4
BB_SetupT
I has 4
BB_ScheduleT
<>
BB_OperationT
Abbildung 7.2: Objektmodell fiir ein einzelnes Blaxikboard
7.4
Leistungskennzahlen fiir komplexe Produktionssysteme
Bei der Leistungsbewertung von Produktionssystemen ist dem folgenden Vorgehensmodell zu folgen: 1. Festlegung von vergleichenden Verfahren zur Planung und Steuerung des Produktionssy stems, 2. Festlegung der relevanten Leistungsmafie, 3. Spezifikation des verwendeten Ansatzes zur Leistungsmessung, 4. Beschreibung der Hard- und Softwareumgebung fiir die Planungs- und Steuerungsalgorithmen. Es ist notwendig, die Art der Durchfiihrung der Messung festzulegen. Da die Aussagekraft absoluter Werte fiir die Leistungsmai3e nicht ausreichend ist, miissen Bezugsverfahren (Vergleichsver-
224
KAPITEL 7. LEISTUNGSBEWERTUNG
VON
STEUERUNGSANSATZEN
fahren) betrachtet werden. Auf diese Art und Weise erhalt man relative Werte fiir die einzelnen Leistungsmafie. Die Methode zur Leistungsbewertung besteht aus den folgenden Schritten: 1. Abbildung des Produktionssystems in einem Simulationsmodell. 2. Anwendung dieses Simulationsmodells zur Emulation des Produktionssystems. 3. Kopplung des zu bewertenden Steuerungsverfahrens und der Vergleichsverfahren mit dem Simulationsmodell des Produktionssystems iiber die Blackboards entsprechend der in Abschnitt 7.3 beschriebenen Architektur. 4. Durchfiihrung von Simulationsstudien entsprechend dem vorgeschlagenen Vorgehensmodell zur Leistungsbewertung.
7.4.1
Vergleichsverfahren fiir einen zu bewertenden verteilten Steuerungsansatz
In diesem Abschnitt werden Planungs- und Steuerungsverfahren, die zum Leistungsvergleich mit neuartigen, zu bewertenden verteilten Steuerungsansatzen herangezogen werden konnen, beschrieben. Es kommen die folgenden Verfahrensgruppen in Prage: 1. zentrale Verfahren, 2. einfache dezentrale Verfahren, 3. hybride Ansatze aus 1. und 2., 4. andere (bereits vorhandene) verteilte Verfahren. Zentrale Verfahren haben den Vorteil, dass sie eine globale Optimierung des Produktionssystems ermoglichen. NachteiUg wirkt sich aus, dass die Rechenzeiten derartiger Verfahren oft zu grofi sind. Die Leistungsfahigkeit der Algorithmen hangt von der konkreten Verfahrensauslegung ab. Beispielsweise beeinflussen die Lange des Planungshorizontes und die Reschedulingstrategie die Giite des verwendeten Algorithmus. Bei der Entwicklung der Algorithmen muss stets auch angegeben werden, wie Ausnahmesituationen (z.B. ungiiltige Ablaufplane) behandelt werden. Beispiele fiir zentrale Verfahren sind in Abschnitt 2.5 beschrieben. Einfache dezentrale Verfahren (wie beispielsweise Prioritatsregeln) sind weit verbreitet und vor alien Dingen unter dem Gesichtspunkt der erforderlichen Rechenzeiten zur Entscheidungsfindung vorteilhaft. Prioritatsregelansatze wurden ausfiihrlich in Abschnitt 2.5 dieser Arbeit diskutiert. Hybride Steuerungsverfahren sind bestrebt, die Vorteile von zentralen und dezentralen Verfahren zu kombinieren. Hybride Verfahren sind in Abschnitt 2.7 untersucht worden. Das zu bewertende verteilte Steuerungsverfahren kann mit vorhandenen verteilten Verfahren verglichen werden. Beispielsweise ist es bei der Bewertung eines neuen Kontraktnetzansatzes sinnvoU, bestehende Ansatze in die Bewertung einzubeziehen (vergleiche die Arbeiten [28, 27]).
7.4. LEISTUNGSKENNZAHLEN FUR KOMPLEXE PRODUKTIONSSYSTEME
7.4.2
225
Mafie zur Leistungsbewertung
In dieser Arbeit wird zwischen den folgenden Arten von Leistungsmafien fiir Produktionssysteme unterschieden: 1. terminorientierte Leistungsmafie, 2. durchsatzorientierte Leistungsmafie, 3. durchlaufzeitorientierte Leistungsmafie, 4. auslastungsorientierte Leistungsmafie, 5. Leistungsmal3e, die Aussagen zur Qualitat von Ablaufplanen ermoglichen, 6. rechenzeitorientierte Leistungsmafie. Leistungsmafie des Typs 1 bis 4 werden als direkte Leistungsmafie bezeichnet, da charakteristische Grofien des Produktionssystems ermittelt werden. Im Gegensatz dazu liefern die Leistungsmafie 5 und 6 keine charakteristischen Grofien des Produktionssystems. Sie werden folglich als indirekte Leistungsmafie bezeichnet. Indirekte Leistungsmafie dienen zur Bewertung von Eigenschaften der Planungs- bzw. Steuerungsverfahren. Es werden im Folgenden Beispiele fiir die unterschiedlichen Klassen von Leistungsmafien angegeben. Fiir eine Diskussion weiterer Leistungsmafie wird auf [6] verwiesen. Die nachfolgenden Bezeichnungen werden fiir die Beschreibung der Beispielleistungsmafie eingefiihrt: T : vorgegebener Planungszeitraum, j : Index von Los j , wf Gewicht von Los j , cf realisierter Fertigstellungstermin von Los j , c^: (geplanter) Fertigstellungstermin fiir Los j entsprechend einem festen Referenzplan, df geplanter Fertigstellungstermin von Los j , n : Anzahl der Lose, die in T fertiggestellt werden, rf Einsteuertermin von Los j in das Produktionssystem. In Tabelle 7.3 sind wichtige direkte Leistungsmafie mit den dazugehorigen Berechnungsvorschriften angegeben.
226
KAPITEL 7. LEISTUNGSBEWERTUNG
VON
STEUERUNGSANSATZEN
Tabelle 7.3: Direkte Leistungsmafie Leistungsmafi
Charakterisierung
Berechnungsvorschrift Terminorientierte Leistungsmafie
Mittlere gewichtete
AWT:^^Ewj{cj-djy
Vorliegen von Kundenendterminen fiir
Verspatung
unterschiedlich
klassifizierte
Kunden Absolute
Verfrii-
ET:=E\cj-dj\
Vorhegen von Kundenendterminen, Verfruhung soil auf Grund fehlender
hung und Verspatung
Lagerkapazitat und -fahigkeit vermieden werden
Absolute gewichtete
TWT:=Z'u^j{cj-dj)+
Vorhegen von Kundenendterminen
Verspatung Anzahl
verspateter
Ntardy : = COrc({j|rfj < Cj < T}
Vorliegen von Kundenendterminen
Lose Durchlaufizeitorientierte Leistungsmafie Mittlere Durchlauf-
ACT:=^E{cj-rj)
zeit X-Faktor
im Pro-
XF :=
^
misst die Wartezeit
duktionssystem Durchsatzorientierte Leistungsmafie Anzahl fertiggestell-
TP :== card{3\cj < T)
ter Lose im Gesamtsystem oder in einem Segment Auslastungsorientierte Leistungsmafie Work
in
Process
(WIP) Mittlere Grofie der Batches bei Batchmaschinen
Indirekte Leistungsmafie mit deii dazugehorigen Berechnungsvorschriften zur Qualitat von Ablaufplanen sind in Tabelle 7.4 zu finden. Mafie dieses Typs sind unter anderem in [100, 88] verwendet worden. Eine Charakterisierung der Nervositat eines komplexen Produktionssystems ist unter Verwendung von Leistungsmafien dieser Klasse moglich.
7.4. LEISTUNGSKENNZAHLEN FUR KOMPLEXE
227
PRODUKTIONSSYSTEME
Tabelle 7.4: Indirekte Leistungsmafie Bezeichnung des Leis-
Charakterisierung
Berechnungsvorschrift
tungsmafies Leistungsmafie zur Bewertung von Planungsverfahren Positive
Abweichung
Dt:=(cj-cf,y
von einem festen Referenzplan
fiir
Ein moglicher fester Referenzplan ist der erste im zeitlichen Verlauf erstellte Plan.
ein
bestimmtes Los Negative
Abweichung
D-:=(4-c,)+
von einem festen Referenzplan
fiir
Aussagen iiber die Stabilitat der Plane sind moglich.
ein
bestimmtes Los Indirekte Leistungsmafie zur Bewertung der Laufzeit von Planungs- und Schedulingalgorithmen sind insbesondere unter dem Gesichtspunkt der Online-Anforderung an neuartige Planungs- und Steuerungsverfahren wichtig. Die Laufzeit der zu bewertenden Verfahren ist in einem exakt zu beschreibenden Kontext zu messen. Der Kontext wird wie folgt festgelegt: • Hardwarebedingungen, • Problemgrofie (z.B. Anzahl der Lose im Produktionssystem, Lange des Schedulinghorizonts), • Verfahrensparameter (z.B. Lange des Planungshorizonts, Haufigkeit des Reschedulings), • Grad der Storung des Produktionssystems (z.B. gemessen als erste und zweite Momente der Verteilungen der Dauer von Maschinenausfallen), • Zeit zum Lesen der fiir das Verfahren notwendigen Informationen aus den betrieblichen Informationssystemen, • Beschreibung des verwendeten Computernetzwerkes (Ubertragungsgeschwindigkeit, UbertragungsprotokoU, Middleware) bei verteilten Steuerungsansatzen.
7.4.3
Ansatze zur Leistungsmessung
In diesem Abschnitt wird die Frage diskutiert, wie und wann gemessen werden soil. Aus der Simulationstechnik sind zwei grundsatzhche Zustande eines zu simulierenden Systems bekannt. Ein System kann entweder im Gleichgewichtszustand (stationarer Zustand) untersucht werden Oder das System wird in der transienten Ubergangsphase betrachtet (Law und Kelton [119]). Im ersten Fall wird die Grofie 1
^X,{t)^E{X{t))
(7.1)
228
KAPITEL 7. LEISTUNGSBEWERTUNG
VON
STEUERUNGSANSATZEN
als Schatzer fiir den Erwartungswert der zu messenden (zeitabhangigen) Grofie X verwendet. Mit r wird die Anzahl der (unabhangigen) Simulationslaufe bezeichnet. Da fiir den Gleichgewichtsfall lange Simulationslaufe vorausgesetzt werden, gilt fiir die Zeitvariable naherungsweise ^ -» oo. Unter gewissen Unabhangigkeitsannahmen fiir die Simulationslaufe ist das Gesetz der grofien Zahlen giiltig, so dass E{X{t)) « E{X) gilt. Da man im transienten Fall am Verhalten des Systems in der Ubergangsphase interessiert ist, werden die Leistungsmafie fiir einzelne Zeitintervalle der Lange At betrachtet, d.h., es wird die Folge {Xi^,
Xi{t-^At),...,
Xi{t + kAt),...}
(7.2)
untersucht. Um statistisch signifikante Werte zu erhalten, wird der Schatzer (7.1) fiir das Leistungsmafi Xi{t + kAt) im Zeitintervall k verwendet: -TXiit-^
kAt) « E(X{t + kAt)).
(7.3)
Die Gr613e r muss hier wesentlich grofier als fur stationare Systeme gewahlt werden. Der transiente Fall ist bedeutsam, wenn statische Parameter des Produktionssystems verandert werden (zum Beispiel die Anzahl von Maschinen) und das Studium des Systemverhaltens in der Ubergangsphase zu einem (moglicherweise) stabilen Systemzustand von Interesse ist.
7.4.4
Festlegung und Planung der durchzufuhrenden Experimente
Die aus der Simulationstechnik bekannte Szenariotechnik und statistische Versuchsplanungstechniken werden verwendet. In Simulationsstudien werden die drei, in Tabelle 7.5 dargestellten Typen von Variablen betrachtet [170]. Unabhangige Variable, die wahrend der Experimente verandert werden, werden als Faktoren bezeichnet. Damit die Experimente nachvoUziehbar sind, miissen auch diejenigen unabhangigen Variablen beriicksichtigt werden, die keine Faktoren sind. Im betrachteten Fall sind insbesondere die zu bewertenden Planungs- und Steuerungsverfahren Faktoren. Es sind alle abgeleiteten Variablen zu ermitteln, damit diese nicht irrtiimlich als unabhangige Variable angesehen werden. Um die Abhangigkeiten zwischen den Faktoren zu erkennen, sind gegebenenfalls Methoden der Regressions- und Varianzanalyse [170] einzusetzen. Unter einem Szenario wird eine Menge von Simulationslaufen verstanden, in denen die unabhangigen Variablen in einer kontroUierten Art und Weise verandert werden.
7.5
Numerische Experimente
In diesem Abschnitt wird zusatzlich zu den in Kapitel 4 beschriebenen numerischen Experimenten eine Leistungsbewertung des konzipierten und implementierten Steuerungssystems fiir komplexe Produktionssysteme vorgenommen.
7.5. NUMERISCHE
229
EXPERIMENTE Tabelle 7.5: Variablentypen fiir Simulationsstudien
Variablentyp
Bedeutung
unabhangig
stellt Parameter des Produk-
Steuerungsverfahren,
tionssystems dar, denen ein be-
Instandhaltungsstrategie, Produktmix
Beispiel Einlastungsstrategie,
stimmter Wert zugewiesen werden kann abhangig
reprasentiert die in Abschnitt
Durchsatz, gewichtete Verspatung, Anzahl
7.4 beschriebenen Leistungsma-
verspateter Lose
6e, hangt von den konkreten Werten der unabhangigen Variablen ab abgeleitet
wild von den konkreten Auspra-
Anzahl der Lose, die vor einer Eng-
gungen der unabhangigen Va-
passmaschine warten, Anzahl der Instand-
riablen beeinflusst, ist nicht von
haltungsmafinahmen, die von der Anzahl
direktem Interesse
ausgefiihrter Bearbeitungsschritte auf einer Maschine abhangig sind
J
Neben der Betrachtung von direkten Leistungsmafien werden zusatzlich indirekte Leistungsmafie in die Leistungsbewertung einbezogen. Im Unterschied zu den Untersuchungen in Kapitel 4 interessiert an dieser Stelle neben der Leistungsfahigkeit der Steuerungsverfahren auch die Leistungsfahigkeit der technischen Umsetzung der Verfahren. Im Folgenden wird dem im Abschnitt 7.4 beschriebenen Vorgehensmodell gefolgt.
7.5.1
Vorgehen bei der Leistungsbewertung
7.5.1.1
Vergleichsverfahren
Als einfache dezentrale Vergleichsverfahren bieten sich Prioritatsregelansatze an. In den Experimenten wird die FIFO-Prioritatsregel eingesetzt. Um auch einen Vergleich mit zentralen Verfahren durchfiihren zu konnen, kommt eine effiziente Implementierung einer zentralen ShiftingBottleneck-Heuristik [158] zur Anwendung. 7.5.1.2
Festlegung der Leistungsmafie
In der experimentellen Untersuchung werden die direkten Leistungsmafie 1. totale gewichtete Verspatung (TWT), 2. Durchlaufzeit (CT),
230
KAPITEL 7. LEISTUNGSBEWERTUNG
VON
STEUERUNGSANSATZEN
3. Durchsatz (Anzahl fertiggestellter Lose) (TP) verwendet. Diese Leistungsmafie kamen bereits bei der in Kapitel 4 beschriebenen Leistungsbewertung zum Einsatz. Um eine Bewertung des verfolgten Steuerungsansatzes unter dem Gesichtspunkt einer OnlineBenutzung durchzufiihren, wird zusatzlich die Laufzeit der Programme als indirektes Leistungsmafi betrachtet. Die Laufzeit wird in Abhangigkeit von den gewahlten Verfahrensparametern und der angewandten Verteilungsstrategie gemessen.
7.5.1.3
Spezifikation des verwendeten Ansatzes zur Leistungsmessung
Das Verhalten der Produktionssysteme wird in der stationaren Situation untersucht. Aus diesem Grund werden, ausgehend von einem eingeschwungenen System, Simulationsuntersuchungen fiir die nachsten 50 Tage durchgefiihrt. Nach Ablauf der Simulationszeit werden die Werte der untersucht en Leistungsmafie gemessen.
7.5.1.4
Beschreibung der verwendeten Hard- u n d Softwareumgebung
Die Experimente wurden auf einem Cluster von 2.4 GHz-Pentium-IV-Rechnern mit 256 MB Hauptspeicher durchgefiihrt. Die verteilten Varianten des untersuchten Verfahrens wurden in einem Ethernet-Netzwerk mit einer Datenrate von 100 MBit/s getestet. Die .Net-Remoting-Middleware kam zum Einsatz.
7.5.1.5
Festlegung der durchzufiihrenden Experimente
Fiir die Untersuchungen werden die in Abschnitt 4.2 beschriebenen Simulationsmodelle Produktionssystem A, B und C verwendet. Diese Modelle beschreiben mittelgrofie Halbleiterfabriken. Die Abhangigkeit der erzielten Ergebnisse von den nachfolgenden Parametern des Produktionssystems wird untersucht: • Gestaltung der geplanten Fertigstellungstermine, • Last des Produktionssystems, • Verteilung der Gewichte fiir die Lose (Di und D2 aus Abschnitt 4.1 werden verwendet). Die nachfolgenden Verfahrensparameter werden in die Untersuchungen einbezogen: • verwendetes Terminierungsverfahren fiir die Produktionssystemsteuerungsebene, • Haufigkeit der Aufrufe des Terminierungsverfahrens, • Haufigkeit der Scheduleraufrufe auf der Produktionsbereichssteuerungsebene,
7.5. NUMERISCHE
231
EXPERIMENTE
• Uberlappungshorizont, • verwendete Verteilungsvariante, reprasentiert durch die Anzalil der Rechner, auf denen DHPCA lauft. Die den Experimenten zugrunde gelegte Versuchsplanung ist in Tabelle 7.6 zusammengefasst. Tabelle 7.6: Faktorielles Design fiir die Leistungsbewertung von DHPCA
1
Faktor
Auspragung
Terminierungsverfahren
ICA, Vorwartsterminierung,
Anzahl
Beam-Search
3
Aufrufhaufigkeit des Terminierungsyerfahrens
2h,4h,8h
3
Haufigkeit des Scheduleraufrufes
2h,4h,5h,6h
4
Uberlappungshorizont
Oh, 2h, 4h
3
Verwendete Unterproblemlosungsverfahren
BATCS
1
Wahl der Endtermine fiir die Lose
FF = 1.6, FF = 2.0
2
Verteilung der Gewichte der Lose
DuD2
2
Systemlast
moderat, hoch
2
Verteilungsvarianten
ein Rechner pro Produktions-
2
bereich, nicht verteilt Anzahl der Experimente
7.5.2
Numerische Ergebnisse
7.5.2.1
Experimente zur Bewertung der Steuerungsverfahren
1728
In Tabelle 7.7 sind Experimente fiir unterschiedlich haufige Scheduleraufrufe r^ dargestellt. Der Uberlappungshorizont wird vereinfachend als Tah = 0 gewahlt. Das Terminierungsverfahren der oberen Steuerungsebene (ICA) wird alle vier Stunden aufgerufen. Die Modelle A und B werden untersucht. Alle Ergebnisse werden relativ zu den jeweiligen Ergebnissen fiir ein nach FIFO gesteuertes Produktionssystem angegeben. ATC- bzw. BATC-artige Unterproblemlosungsverfahren werden innerhalb der Shifting-Bottleneck-Heuristik verwendet. Die betrachtete Systemlast ist hoch. Die geplanten Fertigstellungstermine sind eng gewahlt. Es ist in Tabelle 7.7 deutlich zu erkennen, dass sowohl NDSBH als auch DSBH-II zu 30% bis 70% TWT-Verbesserungen fiihren, wahrend Durchlaufzeiten und Durchsatz sich nur geringfiigig verandern. Langere Schedulinghorizonte ergeben keine TWT-Verbesserungen. Tabelle 7.8 enthalt Ergebnisse fiir Modell B bei unterschiedlichen Systembedingungen. Es werden relative Werte angegeben. Es ist deutlich zu erkennen, dass eine hohe Systemlast und eng gewahlte geplante Fertigstellungstermine zu besseren Ergebnissen fiihren. Falls weite Kundenendtermine oder eine niedrige Systemlast vorliegen, ist die Anwendung
232
KAPITEL 7. LEISTUNGSBEWERTUNG
VON
STEUERUNGSANSATZEN
Tabelle 7.7: Leistungswerte fiir NDSBH und DSBH-II fiir unterschiedliche Horizonte Leistungsmafi Modell TA
Verfahren
B J
A
TP
CT
TWT A
B
B
A
+ Tah
1.0131 0.9428
2+0
NDSBH
0.3326
0.7352
1.0079
2+0
DSBH-II
0.3634
0.6597
1.0379 0.9974
0.9737
1.0102 1.0102
4+0
NDSBH
0.3802
0.9396
1.0577
1.0382 0.9413
0.9911
4+0
DSBH-II
0.3612
0.7553
1.0750
1.0039 0.9815
0.9936
der Schedulingverfahren nicht sinnvoU. Die teilweise hohen relativen TWT-Werte werden dadurch verursacht, dass in dem nach FIFO gesteuerten Produktionssystem eine absolute gewichtete Verspatung erzielt wird, die nahe bei Null liegt. Tabelle 7.8: TWT-Werte fiir Modell B bei unterschiedlichen Systembedingungen
FF = m
d, Di
Wj
Last
FF- = 2.0 Di
D2
h
m
h
2+0
0.7352
2.4733
2.4639
4+0
0.9410
1.8980 2.2422
2+0
0.6187
0.8796
1.3054
1.3497 47.4678
4+0
0.6480
0.7859
1.4780
1.295
D2
h
m
m
m
h
9.4251
134.584
2451.650
89.119
13505.800
8.7617 482.387
13588.400
136.721
17295.900
139.106
4.930
87.408
1.000
3.562
1.582
NDSBH + Tah
TA
DSBH-I '^A + Tah
7.5.2.2
20.168
Experimente zur LeistungsfKhigkeit der technischen Realisierung des Steuerungssystems
Auf Grund der Ergebnisse aus Tabelle 7.8 ist es ausreichend, sich mit Produktionssystemen zu beschaftigen, in denen eine hohe Systemlast bei eng gewahlten Kundenendterminen vorliegt. Da besondere Rechenzeitersparnisse fiir die Modelle B und C erwartet werden, gleichzeitig aber auch Skalierungseffekte untersucht werden soUen, finden alle drei betrachteten Modelle in den Untersuchungen Verwendung. Die nachfolgenden zwei Szenarien werden untersucht:
7.5. NUMERISCHE EXPEBIMENTE
233
Szenario 1: • Aufrufhaufigkeit des Terminierungsverfahrens: PmaxTA = 2/1,
• Aufrufhaufigkeit des Schedulers: TA = 2/i, • Uberlappungshorizont: Tah = Oh, • Systemlast: hoch, • geplante Fertigstellungstermine: FF = 1.6, • Unterproblemlosungsverfahren: BATC. Szenario 2: • Aufrufhaufigkeit des Terminierungsverfahrens: Pmax'^A = 4/1,
• Aufrufhaufigkeit des Schedulers: TA = 4/i, • Uberlappungshorizont: Tah = Oh, • Systemlast: hoch, • geplante Fertigstellungstermine: FF = 1.6, • Unterproblemlosungsverfahren: BATC. In Tabelle 7.9 sind die Ergebnisse von Verteilungsexperimenten dargestellt. Jeder Produktionsbereich wird durch eine Laufzeitumgebung reprasentiert, die auf einem eigenen Rechner ausgefiihrt wird. Modell A wird somit auf drei Rechner verteilt, wahrend die Experimente zu Modell B und C auf jeweils vier bzw. fiinf Rechnern stattfinden. Es ist deutlich zu erkennen, dass die Verteilung die notwendige Rechenzeit (als relativer Wert angegeben) verringert. Tabelle 7.9: Laufzeit von NDSBH unverteilt und verteilt Modell
A
B
C
Laufzeit
Szenario Szenario 1: unverteilt
1.0000
1.0000
1.0000
Szenario 1: verteilt auf drei, vier bzw. fiinf Rechner
0.7951
0.6438
0.6534
Szenario 2: unverteilt
1.0000
1.0000
1.0000
Szenario 2: verteilt auf drei, vier bzw. fiinf Rechner
0.5468
0.5299
0.5970
Die erwaxteten grofien Rechnenzeitersparnisse treten tatsachlich bei den Modellen B und C auf. Bei Szenario 1 verdoppelt sich die Anzahl der Scheduleraufrufe in Vergleich zu Szenario 2. Aus
234
KAPITEL 7. LEISTUNGSBEWERTUNG
VON
STEUERUNGSANSATZEN
diesem Grund ist der Rechenzeitgewinn bei Szenario 1 geringfiigig geringer. Offensichtlich spielen die grofieren Schedulinggraphen bei Szenario 2 eine geringere RoUe als erwartet. Die Verfahrensvarianten DSBH-I und DSBH-II fuhren auf Grund der iterativen Ausfuhrung von NDSBH-artigen Algorithmen zu langeren Recheiizeiten. Die notwendige Kommunikation zwischen den Laufzeitumgebungen, welche die Produktionsbereiche reprasentieren, fallt nicht ins Gewicht und kann vernachlassigt werden. Aus diesem Grund werden auch keine zusatzlichen Experimente mit DSBH-I und DSBH-II beschrieben. Insgesamt ist festzustellen, dass es unter Rechenzeitgesichtspunkten sinnvoll ist, mit den verteilten Varianten der Steuerungsverfahren zu arbeiten. Die Rechenzeit betragt fiir die nichtverteilten Verfahrensvarianten fiir Model! C zwei bis sechs Minuten pro Aufruf des Schedulingverfahrens, durch die Verteilung werden im Mittel diese Zeiten noch einmal halbiert. Die Ergebnisse weiterer numerischer Experimente, die insbesondere auch belegen, dass die L6sungsqualitat von DHPCA nicht schlechter als die der zentralen Shifting-Bottleneck-Heuristik ist, sind in [156, 168] zu finden.
Kapitel 8 Ausblick auf weitere Forschungsarbeiten Mit der vorliegenden Arbeit werden Steuerungsverfahren fiir komplexe Produktionssysteme entwickelt und Informationssysteme beschrieben, in die die Steuerungsverfahren integriert werden konnen. Aufbauend auf einer Untersuchung gegenwartig existierender Steuerungsverfahren werden Anforderungen an einen Steuerungsansatz fiir komplexe Produktionssysteme herausgearbeitet. Es wird dargestellt, wie die Theorie der verteilten hierarchischen Entscheidungsfindung fiir die Steuerung komplexer Produktionsprozesse angewandt werden kann. Es wird ein Framework fiir eine verteilte hierarchische Steuerung komplexer Produktionssysteme entwickelt. Gleichzeitig wird gezeigt, dass das vorgeschlagene hierarchische Steuerungssystem in naturHcher Art und Weise als Multi-Agenten-System implementiert werden kann. OR- und Kl-Verfahren werden vorgeschlagen, die optimierende und koordinierende Eigenschaften des vorgeschlagenen Steuerungsansatzes sicherstellen und als Dienstagenten im Multi-Agenten-System fungieren. Eine simulationsbasierte Leistungsbewertung der in der Arbeit untersuchten Steuerungsverfahren wird durchgefiihrt. Die Ergebnisse numerischer Experimente werden diskutiert und interpretiert. Die beschriebenen Forschungsarbeiten konnen in die nachfolgenden Richtungen ausgedehnt werden: 1. In die in Kapitel 3 beschriebenen Entscheidungsmodelle konnen fiir die Produktionssystemund die Produktionsbereichssteuerungsebene multi-kriterielle Zielsetzungen aufgenommen werden. Beispielsweise erscheint es mogUch, auf der Produktionsbereichssteuerungsebene neben der gewichteten Verspatung der Lose auch den Durchsatz als Steuerungsziel einzubeziehen. 2. Es sind Modelle zu entwickeln, die in starkerem MaBe als bisher das Verhalten der anderen Steuerungsebenen antizipieren. Ebenso besteht weiterer Forschungsbedarf beziiglich der Entwicklung von Reschedulingalgorithmen. 3. In dieser Arbeit wird davon ausgegangen, dass Transportzeiten pauschal in den Bearbeitungszeiten einbezogen werden und dass das Transportsystem unbeschrankte Kapazitat besitzt. Diese Annahmen sind in modernen Produktionssystemen nicht notwendigerweise erfiillt. Aus
236
KAPITEL 8. AUSBLICK AUF WEITERE
FORSCHUNGSARBEITEN
diesem Grund miissen in zukiinftigen Forschungsarbeiten neben den Schedulingentscheidungen Entscheidungen, die durch das Transportsystem initiiert werden, modelliert werden. Erste Schritte zur Erreichung dieses Ziels sind in [13] beschrieben. 4. Es erscheint notwendig, auch die Ergebnisse der prozess- und produktbezogenen Qualitatsanalyse in die Schedulingentscheidungen einfiiefien zu lassen. Derartige Pragestellungen werden in der Literatur bisher kaum diskutiert. 5. Die in Kapitel 4 beschriebenen Verfahren beriicksichtigen bisher nur in unzureichender Art und Weise Veranderungen des Produktionssystems im zeitlichen Verlauf. Im Beam-SearchAlgorithmus zur Losterminierung auf der Produktionssystemsteuerungsebene kann die Festlegung der Losreihenfolge in der aufieren Schleife in einer situationsabhangigen Art und Weise geschehen. Dazu sind in Simulationsexperimenten Regeln aufzustellen, die beschreiben, in welchen Situationen Lose nach welcher Strategie zu terminieren sind. Aufbauend auf den ermittelten Regeln ist eine Fuzzy-Regelbasis zu erstellen und zur Auswahl der Terminierungsstrategie heranzuziehen. Die verteilte Shifting-Bottleneck-Heuristik zur Steuerung der Produktionsbereiche kann wie folgt adaptiv gestaltet werden. Auf Ebene der Unterproblemlosungsverfahren konnen mit Hilfe von Simulationsexperimenten Kriterien festgelegt werden, die situationsabhangig die Reihenfolge der Maschinengruppen in der verteilten Shifting-Bottleneck-Heuristik festlegen. Unter Verwendung dieser Regeln ist eine entsprechende Fuzzy-Regelbasis aufzubauen. Die Reihenfolge, in der die Maschinengruppen innerhalb der Shifting-Bottleneck-Heuristik betrachtet werden, ist wesentlich fiir die Leistungsfahigkeit dieser Heuristik. Auf diese Tatsache wird beispielsweise in [47] hingewiesen. In [46] wurde gezeigt, dass die Leistungsfahigkeit der Shifting-Bottleneck-Heuristik in statischen Umgebungen in starkem Mafie von den verwendeten Unterproblemlosungsverfahren beeinflusst wird. Auf der Ebene eines einzelnen Unterproblems kann situationsabhangig ein Verfahren zur Maschinenbelegungsplanung ausgewahlt werden. Dazu ist ebenfalls wieder eine Fuzzy-Regelbasis aufzustellen. Nachdem ein konkretes Verfahren ausgewahlt wird, ist dieses haufig noch in einer situationsabhangigen Art und Weise zu parametrisieren. Dazu konnen wie in [157] vorgeschlagen, neuronale Netze und induktive Entscheidungsbaume benutzt werden. Bisher liegen aber nur partielle Erkenntnisse dariiber vor, wie sich maschinelle Lernverfahren in Online-Situationen verhalten. Reinforcement-Learning als spezielles nichtiiberwachtes Lernverfahren scheint besonders gut geeignet zu sein, mit der Dynamik komplexer Produktionssysteme umzugehen. Entsprechende Reinforcement-Learning-Modelle fiir die einzelnen Steuerunggsebenen sind zu entwickeln und ihre Leistungsfahigkeit ist zu untersuchen. 6. Es sind weitere Unterproblemlosungsverfahren fiir die verteilte Shifting-Bottleneck-Heuristik zu entwickeln. In Analogic zu [9] sind auf komplexe Produktionssysteme zugeschnittene Verfahren zu entwerfen, um festzUlegen, wie kritisch einzelne Maschinengruppen in der verteilten Shifting-Bottleneck-Heuristik sind.
8. AUSBLICK AUF WEITERE FORSCHUNGSARBEITEN
237
7. Die in Kapitel 5 dargestellten Koordinationsfragestellungen enthalten eine Reihe ungeloster Probleme: • In welchen Situation ist welcher Koordinationsmechanismus einzusetzen? In Analogie zu Lesser [124] werden an dieser Stelle unter einer Situation eine Beschreibung der verfolgten Ziele, die Vorgabe einer Ordnung fiir die Wichtigkeit der Ziele, die zur Verfiigung stehenden Ressourcen zur Problemlosung sowie Leistungscharakteristiken ftir die zur Problemlosung moglichen Verfahren verstanden. • Wahrend in dieser Arbeit iiberwiegend Leistungsbewertungsfragen fur Koordinationsmechanismen in komplexen Produktionssystemen untersucht wurden, ist sowohl unter wissenschaftlichen als auch praktischen Gesichtspunkten die dazu inverse Pragestellung von Interesse. Wie muss Koordination im zeitlichen Verlauf ausgestaltet werden, um vorgegebene Zielwerte fiir Leistungsmafie zu erreichen? • Wie konnen Koordinationsmechanismen adaptiv gestaltet werden? 8. Die in Kapitel 7 beschriebene Leistungsbewertung des vorgestellten verteilten hierarchischen Steuerungssystems ist auf Reschedulingsituationen auszudehnen. Erste Untersuchungen zu Reschedulingverfahren im Kontext der Shifting-Bottleneck-Heuristik sind von Mason, Jin und Wessels vorgenommen worden [135]. 9. Das in dieser Arbeit entwickelte Framework und dessen softwaretechnische Umsetzung dient zur Steuerung eines einzelnen Unternehmens. In zukiinftigen Forschungsarbeiten ist das Verfahren auf Lieferketten auszudehnen. Auf Grund des agentenbasierten und verteilten Implementierungsansatzes erscheint eine Erweiterung des Systems um weitere Elemente einer Lieferkette in natiirlicher Art und Weise moglich. 10. Die beschriebene Systemarchitektur kann als Ausgangspunkt fiir die Weiterentwicklung der Hard- und Softwarearchitektur von CIM-Anwendungen auf Basis von Multi-AgentenSystemen angesehen werden. 11. In weiteren Forschungsarbeiten ist zu untersuchen, ob es moglich ist, die Methoden- und Modellbank-Philosophie (vergleiche z.B. [142]) mit dem in dieser Arbeit verfolgten Frameworkansatz zu vereinigen.
Literaturverzeichnis [1] Aarts, E.H.L., Lenstra, J.K. (Hrsg.) 1997. Local Search in Combinatorial Optimization. Wiley, Chichester. [2] Adams, J., Balas, E., Zawack, D. 1988. The Shifting Bottleneck Procedure for Job-Shop Scheduling. Management Science, 34(3), 391-401. [3] ADEXA. 2003. http://www.adexa.com/. [4] Aho, A.v., Sethi, R., UUmann, J.D. 1998. Compilerbau. Addison-Wesley, Reading, Mass. [5] Akturk, M.S., Ozdemir, D. 2001. A New Dominance Rule to Minimize Total Weighted Tardiness with Unequal Release Dates. European Journal of Operational Research, 135, 394-412. [6] Altiok, T. 1997. Performance Analysis of Manufacturing Systems. Springer, New York, Heidelberg, Berhn. [7] Atherton, L.F., Atherton, R.W. 1995. Wafer Fabrication: Factory Performance and Analysis. Kluwer Academic Publishers, Boston, Dordrecht, London. [8] Aytuk, H., Bhattacharyya, S., Koehler, G., Snowdon, J.L. 1994. A Review of Machine Learning in Scheduling. IEEE Transactions of Engineering Management, 41(2), 165-171. [9] Aytuk, H., Kempf, K., Uzsoy, R. 2003. Measures of Subproblem Criticality in Decomposition Algorithms for Shop Scheduling. International Journal of Production Research, 41(5), 865882. [10] Aytuk, H., Khouja, M., Vergara, F.E. 2003. Use of Genetic Algorithms to Solve Production and Operations Management Problems. International Journal of Production Research, 41(17), 3955-4009. [11] Azizoglu, M., Kirca, O. 1999. Scheduhng Jobs on Unrelated Parallel Machines to Minimize Regular Total Cost Functions. HE Transactions, 31(2), 153-159. [12] Azizoglu, M., Webster, S. 2001. Scheduhng a Batch Processing Machine with Incompatible Job Families. Computers and Industrial Engineering, 39(3-4), 325-335.
240
LITERATURVERZEICHNIS
[13] Babiceanu, R., Chen, F.F., Sturges, R.H. 2004. Internal Agent Architecture for Agent-Based Material Handling Systems. Proceedings 12^ Industrial Engineering Research Conference^ Houston. [14] Baker, D.A. 1998. A Survey of Factory Control Algorithms which Can be Implemented in a Multi-Agent Heterarchy: Dispatching, Scheduling, and Pull. Journal of Manufacturing Systems, 17(4), 297-320. [15] Balasubramanian, H., Monch, L., Fowler, J.W., Pfund, M.E. 2004. Genetic Algorithm-Based Scheduling of Jobs with Incompatible Families on Parallel Batch Machines. International Journal of Production Research, 42(8), 1621-1638. [16] Baptiste, P., Le Pape, C , Nuijten, W. 1995. Incorporating Efficient Operations Research Algorithms in Constrained-Based Scheduhng. First International Joint Workshop on Artificial Intelligence and Operations Research, Timberline Lodge, Oregon. [17] Barbuceanu, M., Fox, M.S. 1995. COOL: A Language for Describing Coordination in MultiAgent-Systems. Proceedings of the First International Conference on Multi-Agent-Systems (ICMAS-95), kkkl
Press, 1^24.
[18] Bauer, B., Miiller, J.P., Odell, J. 2000. Agent UML: A Fbrmalism for Specifying Multiagent Software Systems. Agent-Oriented Software Engineering, P. Ciancarini, M. Wooldridge (Hrsg.), Springer, 91-103. [19] Bergamaschi, D., Cigolini, R., Perona, M., Portioh, A. 1997. Order Review and Release Strategies in a Job-Shop Environment: A Review and Classification. International Journal of Production Research, 35(2), 399-420. [20] Bierwirth, C. 2000. Adaptive Search and the Management of Logistic Systems. Base Models for Learning Agents. Kluwer Academic Publishers, Dordrecht. [21] BiUings, R. 2003. A Heuristic Method for Scheduling and Dispatching of Factory Production Using Multiclass Fluid Networks. Ph.D. Thesis, University of Texas at Austin. [22] Blackstone, J.H., Phillips, D.TL, Hogg, G.L. 1982. A State-of^the-Art Survey of Dispatching Rules for Manufacturing Job Shop Operations. International Journal of Production Research, 20(1), 27-45. [23] Bongaerts, L. 1998. Integration of Scheduling and Control in Holonic Manufacturing Systems. Ph.D. Thesis, Katholieke Universiteit Leuven. [24] Bongaerts, L., Wyns, J., Cavaheri, S., Taisch, M., Macchi, M. 1999. The IMS-WG Benchmark Webside. ULR: http//www.mech.kuleu-ven.ac.be/pma/project/imswg/cluster34/cl34f.-html.
LITERATURVERZEICHNIS
241
[25] Botelho, L., Willmott, S., Zhang, T., Dale, J. 2002. Review of Content Languages Suitable for Agent-Agent Communication. Technical Report, Agent.Cities-Project. [26] Brauer, W., Weifi, G. 1998. Multi-Machine Scheduling - a Multi-Agent Learning Approach. Proceedings of the Third International Conference on Multi-Agent Systems (ICMAS), IEEE Computer Society, 42-48. [27] Brennan, R.W., Norrie, D.H. 2001. Evaluating the Performance of Reactive Control Architectures for Manufacturing Production Control. Computers in Industry, 46(3), 235-245. [28] Brennan, R.W., 0 , W. 2000. A Simulation Test-Bed to Evaluate Multi-Agent Control of Manufacturing Systems. Proceedings of the 2000 Winter Simulation Conference, J. A. Joines, R. R. Barton, K. Rang, P. A. Fishwick (Hrsg.), 1747-1756. [29] Brucker, P., Drexl, A., Mohring, R., Neumann, K., Pesch, E. 1999. Resource-Constrained Project Scheduhng: Notation, Classification, Models, and Methods. European Journal of Operational Research, 112, 3-41. [30] Bruckner, S., Wyns, J., Peeters, P., KoUingbaum, M. 1998. Designing Agents for Manufacturing Control. Proceedings of the 2nd AI k Manufacturing Research Planning Workshop. Albuquerque, NM. [31] Bussmann, S. 2003. An Agent-Oriented Design Methodology for Production Control. Ph.D. Thesis, University of Southampton. [32] Bussmann, S., Jennings, N.R., Wooldridge, M. 2001. On the Identification of Agents in the Design of Production Control Systems. Agent-Oriented Software Engineering, P. Ciancarini, M. Wooldridge (Hrsg.), Springer, 141-162. [33] Bussmann, S., Jennings, N.R., Wooldridge, M. 2002. Re-use of Interaction Protocols for Agent-based Control Appfications. Agent-Oriented Software Engineering, P. Ciancarini, M. Wooldridge (Hrsg.), Springer, 51-62. [34] Caire, G. 2002. Jade Tutorial: Application-Defined Content Languages and Ontologies. TULab S.p.A. [35] Cavalieri, S., Bongaerts, L., Macchi, M., Taisch, M., Wyns, J. 1999. A Benchmark Framework for Manufacturing Control. Proceedings Second International Workshop on Intelligent Manufacturing Systems. [36] Chand, S., Traub, R., Uzsoy, R. 1997. RoUing Horizon Procedures for the Single Machine Deterministic Total Completion Time ScheduUng Problem with Release Dates. Annals of Operations Research, 70, 115-125. [37] Chauhan, C. 1997. JAFMAS: A Java-Based Agent Framework for Multiagent Systems Development and Implementation. Ph.D. Thesis, University of Cincinnati.
242
LITERATURVERZEICHNIS
[38] Choung, Y.-L, Jun, K.-S., Han, D.-S., Jang, Y.-C, Lee, T.-E., Leachman, R.C. 2001. Design of a Scheduling System for the Diffusion Process. Proceedings Semiconductor Manufacturing Operational Modeling and Simulation Symposium, J. K. Cochran, J. Bonal (Hrsg.), 69-73. [39] CigoHni, R., Perona, M., PortioH, A., Zambelli, T. 2002. A New Dynamic Look-Ahead ScheduHng Procedure for Batching Machines. Journal of Scheduling, 5(2), 185-204. [40] CoUinot, A., Drogoul, A., Benhamou, P. 1996. Agent Oriented Design of a Soccer Robot Team. Proceedings of the Second International Conference on Multi-Agent Systems (ICMAS96), Kyoto, Japan, 41-47. [41] Corsten, H. 1990. Produktionswirtschaft: Einfiihrung in das industrielle Produktionsmanagement R. Oldenbourg Verlag, Miinchen, Wien. [42] Craig, I. 1995. Blackboard Systems. Ablex PubUshing Corporation, Norwood, New Jersey. [43] Cranefield, S., Purvis, M. 2003. Referencing Objects in FIPA-SL: An Analysis and Proposal. Proceedings Second International Workshop on Challenges in Open Agent Environments at AAMAS 2003. [44] Crowe, M.K. 2003. Compiler Writing Tools Using C # . http://cis.paisley.ac.uk/crowciO/. [45] Csaji, B.C., Kadar, B., Monostori, L. 2003. Improving Multi-Agent Based Scheduhng by Neurodynamic Programming. Proceedings First International Conference on Industrial Application of Holonic and Multi-Agent Systems (HoloMas 2003), LNAI 2744, Springer, Prague, Czech Republic, 111-123. [46] Demirkol, E., Mehta, S., Uzsoy, R. 1997. A Computational Study of Shifting Bottleneck Procedures for Shop Scheduling Problems. Journal of Heuristics, 3(2), 111-137. [47] Demirkol, E., Uzsoy, R. 2000. Decomposition Methods for Reentrant Flow Shops with Sequence Dependent Setup-Times. Journal of Scheduling, 3, 155-177. [48] Devpura, A., Fowler, J.W., Carlyle, W.M., Perez, I. 2000. Minimizing Total Weighted Tardiness on a Single Batch Processing Machine with Incompatible Job FamiUes. Proceedings Symposium on Operations Research, 366-371. [49] Dewan, P., Joshi, S. 2001. Implementation of an Auction-Based Distributed Scheduling Model for a Dynamic Job Shop Environment. International Journal of Computer Integrated Manufacturing, 14(5), 446-456. [50] Dimopoulos, C , Zalzala, A.M.S. 2000. Recent Development in Evolutionary Computation for Manufacturing Optimization; Problems, Solutions, and Comparisions. IEEE Transactions on Evolutionary Computation, 4(2), 93-113.
LITERATURVERZEICHNIS
243
[51] Domschke, W., SchoU, A., Vo6, S. 1997. Produktionsplanung - Ablauforganisatorische Aspekte. 2. Auflage, Springer, Berlin. [52] Drexl, A., Fleischmann, B., Giinther, H.-O., Stadler, H., Tempelmeier, H. 1994. Konzeptionelle Grundlagen kapazitatsorientierter PPS-Systeme. Zeitschrift Jiir hetriebswirtschaftliche Forschung, 46, 1022-1045. [53] Duenyas, I., Neale, J.J. 1997. Stochastic Scheduling of a Batch Processing Machine with Incompatible Job Famihes. Annals of Operations Research, 70(1), 191-220. [54] Dupont, L., Dhaenens-FHpo, C. 2002. Minimizing the Makespan on a Batch Machine with Non-Identical Job Sizes: An Exact Procedure. Computers and Operations Research, 29(7), 807-819. [55] El Adl, M.K., Rodriguez, A.A., Tsakalis, K.S. 1996. Hierarchical Modeling and Control of Re-entrant Semiconductor Manufacturing Facilities. Proceedings of the 35^ Conference on Decision and Control, Kobe, Japan. [56] Engelien, M., Stahn, H. 1989. Software-Engineering: CAMARS-Technologie. AkademieVerlag, Berlin. [57] Fargher, H.E., Kilgore, M.A., Kline, P.J., Smith, R.A. 1994. A Planner and Scheduler for Semiconductor Manufacturing. IEEE Transactions on Semiconductor Manufacturing, 7(12), 117-126. [58] Fargher, H.E., Smith, R.A. 1994. Planning in a Flexible Semiconductor Manufacturing Enviroment. Intelligent Scheduling, M. Zweben, M. Fox (Hrsg.), Morgan Kaufmann, San Francisco, CA, 545-580. [59] Findeisen, W., Bailey, F.N., Brdys, M., Malinowski, K., Tatjewski, P., Wozniak, A. 1980. Control and Coordination in Hierarchical Systems. Wiley, Chichester, New York, Brisbane, Toronto. [60] Fink, A. 2002. Grenzen des Einsatzes einer agentenbasierten Produktionsplanung mit marktorientierten Koordinationsmechanismen. PPS Management, 7, 47-50. [61] Fischer, K. 1999. Agent-Based Design of Holonic Manufacturing Systems. Journal of Robotics and Autonomous Systems, 27, 3-13. [62] Fischer, K., Schillo, M., Siekmann, J. 2003. Holonic Multiagent Systems: A Foundation for the Organisation of Multiagent Systems. Proceedings First International Conference on Industrial Application of Holonic and Multi-Agent Systems (HoloMas 2003), LNAI 2744, Springer, Prague, Czech Repubhc, 71-80. [63] Fowler, J.W., Hogg, G.L., Mason, S.J. 2002. Workload Control in the Semiconductor Industry. Production Planning and Control, 13(7), 568-578.
244
LITERATURVERZEICHNIS
[64] Fowler, J.W., Hogg, G.L., Phillips, D.T. 2000. Control of Multiproduct Bulk Server Diffusion/Oxidation Processes, Part Two: Multiple Servers. HE Transactions on Scheduling and Logistics, 32(2), 16M76. [65] Fowler, J.W., Phillips, D.T., Hogg, G.L. 1992. Real-time Control of Multiproduct Bulk-Service Semiconductor Manufacturing Processes. IEEE Transactions on Semiconductor Manufactunng, 5(2), 158-163. [66] Fowler, J.W., Robinson, J. 1995. Measurement and Improvement of Manufacturing Capacity (MIMAC): Final RepoH. Technical Report 95062861A-TR, SEMATECH, Austin, TX. [67] Fowler, M., Scott, K. 2000. UML konzentriert - Eine strukturierte Einfiihrung in die StandardObjektmodellierungssprache. 2. Auflage, Addison-Wesley, Miinchen. [68] Fox, M.S. 1994. ISIS: A Retrospective. Intelligent Scheduling, M. Zweben, M. Fbx (Hrsg.), Morgan Kaufmann, San Francisco, CA, 3-28. [69] Fox, M.S., Barbuceanu, M., Teigen, R. 2000. Agent-Oriented Supply Chain Management. International Journal of Flexible Manufacturing Systems, 12, 165-188. [70] Fox, M.S., Griininger, M. 1997. On Ontologies and Enterprise Modelling. Proceedings of the International Conference on Enterprise Integration Modelling Technology 97, Springer-Verlag. [71] Franca, P.M., Gendreau, M., Laporte, G., Miiller, F.M. 1996. A Tabu Search Heuristic for the Multiprocessor Scheduling Problem with Sequence Dependent Setup Times. International Journal of Production Economics, 43, 79-89. [72] Franklin, S., Graesser, A. 1997. Is it an Agent or Just a Program?: A Taxonomy for Autonomous Agents. Intelligent Agents III. Proceedings of the ECAI '96 Workshop on Agent Theories, Architectures and Languages (ATAL '96), J. P. Miiller, M. J. Wooldridge, N. R. Jennings (Hrsg.), Budapest, 21-35. [73] Fu, M.C., Antradottir, S., Carson, J.S., Glover, F., Harrell, C.R., Ho, Y.-C, Kelly, J.P., Robinson, S.M. 2000. Integrating Optimization and Simulation: Research and Practice. Proceedings of the 2000 Winter Simulation Conference, J. A. Joines, R. R. Barton, K. Kang, P. A. Fishwick (Hrsg.), 610-616. [74] Gershwin, S.B. 1994. Manufacturing Systems Engineering. Prentice Hall, Englewood CUffs, New Jersey. [75] Glassey, C.R., Resende, M.GJC. 1988. Closed-Loop Job Release Control for VLSI Circuit Manufacturing. IEEE Transactions on Semiconductor Manufacturing, 1(1), 36-46. [76] Glassey, C.R., Shanthikumar, J.G., Seshadri, S. 1996. Linear Control Rules for Production Control of Semiconductor Fabs. IEEE Transactions on Semiconductor Manufacturing, 9(4), 536-549.
LITERATURVERZEICHNIS
245
[77] Glassey, C.R., Weng, W.W. 1991. Dynamic Batching Heuristics for Simultaneous Processing. IEEE Transactions on Semiconductor Manufacturing, 4(2), 77-82. [78] Glassey, P.O. 1990. A Comparison of Release Rules Using Blocs/m Simulation. Engineering Systems Resource Centre Report 90-15, M.S. Thesis. U.C. Berkeley. [79] Glover, F., Laguna, M. 1997. Tabu Search. Kluwer Academic Publishers, Norwell, MA. [80] Goldberg, D.E. 1989. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, Reading. [81] Goldratt, E.M., Cox, J. 1992. The Goal. North River Press, Croton-on-Hudson, NY. [82] Gong, L., Matsuo, H. 1997. Control PoUcy for a Manufacturing System with Random Yield and Rework. Journal of Optimization Theory and Applications, 95(1), 149-175. [83] Graham, R.L., Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G. 1979. Optimization and Approximation in Deterministic Sequencing and Scheduling: A Survey. Annals of Discrete Mathematics, 5, 287-326. [84] Gravel, M., Price, W.L., Gagne, C. 2000. ScheduHng Jobs in an Alcan Aluminium Foundry Using a Genetic Algorithm. International Journal of Production Research, 38(13), 3031-3041. [85] Gruber, T.R. 1995. Towards Principles for the Design of Ontologies Used for Knowledge Sharing. International Journal Human-Computer Studies, 43(5/6), 907-928. [86] Guarino, N. 1998. Formal Ontology and Information Systems. Proceedings FOIS'98, Trento, 3-15. [87] Habenicht, I. 2002. Losterminierung in der Waferfertigung. Arbeitsbericht, Institut fiir Wirtschaftsinformatik, Technische Universitat Ilmenau. [88] Habenicht, I., Monch, L. 2002. A Finite-Capacity Beam-Search Algorithm for Production Scheduling in Semiconductor Manufacturing. Proceedings of the 2002 Winter Simulation Conference, E. Yiicesan, C.-H. Chen, J. L. Snowdon, J. M. Charnes (Hrsg.), 1406-1413. [89] Hadavi, K.C. 1994. ReDS: A Real Time Production Scheduling System from Conception to Practice. Intelligent Scheduling, M. Zweben, M. Fox (Hrsg.), Morgan Kaufmann, San Francisco, CA, 581-604. [90] Hannebauer, M. 2002. Autonomous Dynamic Reconfiguration in Multi-Agent-Systems.
Im-
proving the Quality and Efficiency of Collaborative Problem Solving. LNAI 2427, Springer, Heidelberg. [91] Hartmann, S. 2004. A General Framework for Scheduling Equipment and Manpower at Container Terminals. OR Spectrum, 26, 51-74.
246
LITERATURVERZEICHNIS
[92] Haupt, R. 1989. A Survey of Priority Rule-Based Scheduling. OR Spektrum, 11, 3-16. [93] Heikkila, T., KoUingbaum, M., Valckenaers, P., Bluemink, G.-J. 2001. An Agent Architecture for Manufacturing Control: ManAge. Computers in Industry, 46(3), 315-331. [94] Heinzl, A. 2001. Zum Aktivitdtsniveau empirischer Forschung in der Wirtschaftsinformatik Erkldrungsansatz und Handlungsoptionen. Arbeitspapier 7/2001. Universitat Bayreuth, Lehrstuhl fiir Betriebswirtschaftslehre VII, Wirtschaftsinformatik. [95] Henoch, J., Ulrich, H. 2000. HIDES: Towards an Agent-Based Simulator. Proceedings Agent Based Simulation, Passau, C. Urban (Hrsg.), 259-263. [96] Herrler, R., Puppe, F., Kliigl, F., Kirn, S., Heine, C. 2001. Terminverhandlungen unter Agenten - von der BeispielanalySe zum ProtokoU. Proceedings Verbundtagung „Verteilte Informationssysteme auf der Grwridlage von Objekten, Komponenten und Agenten (vertIS 2001)", 159-174. [97] Hochbaum, D.S., Landy, D. 1997. Scheduling Semiconductor Burn-In Operations to Minimize Total Flowtime. Operations Research, 45, 874-885. [98] Hoitomt, D.J., Luh, P.B., Max, E., Pattipati, K.R. 1990. Scheduhng Jobs with Simple Precedence Constraints on Parallel Machines. IEEE Control Systems Magazine, 10, 34-40. [99] Holtsclaw, H.H., Uzsoy, R. 1996. Machine Criticality Measures and Sub-Solution Procedures in Shifting Bottleneck Methods: A Computational Study. Journal of the Operational Research Society, 47(5), 666-677. [100] Horiguchi, K., Raghavani, N., Uzsoy, R., Venkateswaran, V. 2001. Finite Capacity Production Planning Algoi-ithms for a Semiconductor Wafer Fabrication Facility. International Journal of Production Research, 39(5), 825-842. [101] Horng, S.-M., Fowler, J.W., Cochran, J.K. 2000. A Genetic Algorithm Approach to Manage Ion Implantgition Processes in Wafer Fabrication. International Journal of Manufacturing Technology and Management, 1(2/3), 156-172. [102] Hung, Y.-F., Leachman, R.C. 1996. A Production Planning Methodology for Semiconductor Manufacturing Based on Iterative Simulation and Linear Programming Calculations. IEEE Transactions on Semiconductor Manufacturing, 9(2), 257-269. [103] Iglesias, C.A., Garijo, M., Gonzalez, J.C. 1999. A Survey of Agent-Oriented Methodologies. Intelligent Agents V, LNAI1555, J. P. Miiller, M. P. Singh, A. S. Rao (Hrsg.), Springer. [104] Iglesias, C.A., Garijo, M., Gonzalez, J . C , Velasco, J.R. 1998. Analysis and Design of Multiagent Systems Using MAS^CommonKADS. Intelligent Agents IV, LNAI 1365, M. P. Singh, A. S. Rao, M. J. Wboldridge (Hrsg.), Springer, 313-326.
LITERATURVERZEICHNIS
247
[105] Jain, A.S., Meeran, S. 1998. Job-Shop Scheduling Using Neural Networks. International Journal of Production Research, 36(5), 1249-1272. [106] Jennings, N.R. 1996. Coordination Techniques for Distributed Artificial InteUigence. Foundations of DAI, G. M. P. O'Hare, N. R. Jennings (Hrsg.), Wiley, New York, 187-210. [107] Kanet, J.J., Zhou, Z. 1993. A Decision Theory Approach to Priority Dispatching for Job Shop Scheduling. Production and Operations Management, 2(1), 2-14. [108] Kempf, K.G. 1994. InteUigently Scheduling Semiconductor Wafer Fabrication. Intelligent Scheduling, M. Zweben, M. Fox (Hrsg.), Morgan Kaufmann, San Fransisco, CA, 517-544. [109] Khoo, L.P., Lee, S.G., Yin, X.F. 2001. Agent-based Multiple Shop Floor Manufacturing Scheduler. International Journal of Production Research, 39(14), 3023-3040. [110] Kim, D.-W., Kim, K.-H., Jang, W., Chen, F.F. 2002. Unrelated Parallel Machine Scheduling with Setup Times Using Simulated AnneaHng. Journal of Robotics and Computer Integrated Manufacturing, 18, 223-231. [Ill] Kim, S., Yea, S.-H., Kim, B. 2002. Shift Scheduling for Steppers in the Semiconductor Wafer Fabrication Process. HE Transactions, 34(2), 167-177. [112] Kinny, D., Georgeff, M., Rao, A. 1996. A Methodology and ModeUing Technique for Systems of BDI Agents. Agents Breaking Away: Proceedings of the Seventh European Workshop on Modelling Autonomous Agents in a Multi-Agent World, LNAI1038, W. Van der Velde, J. W. Perram (Hrsg.), Springer, 56-71. [113] Kirn, S. 2002. Kooperierende intelligente Softwareagenten.
WIRTSCHAFTSINFORMATIK,
44(1), 53-63. [114] Kochenberger, G.A., Glover, F., Alidaee, B., Rego, C. 2004. A Unified Modeling and Solution Framework for Combinatorical Optimization Problems. OR Spectrum, 26, 237-250. [115] Kraus, S. 2001. Strategic Negotiation in Multiagent Environments. MIT Press, Cambridge, MA. [116] Krothapalh, N.K.C., Deshmukh, A.V. 1999. Design of Negotiation Protocols for Multi-Agent Manufaxituring Systems. International Journal of Production Research, 37(7), 1601-1624. [117] Kumar, P.R. 1993. Re-entrant Lines. Queueing Systems: Theory and Applications, Special Issue on Queueing Networks, 13, 87-110. [118] Kurz, M.E. 2003. On the Structure of Optimal Schedules for Minimizing Total Weighted Tardiness on Parallel, Batch-Processing Machines. Proceedings if^ Research Conference, Portland, Oregon.
Industrial Engineering
248
LITEBATURVERZEICHNIS
[119] Law, A.W., Kelton, W.D. 1991. Simulation Modeling and Analysis. 2. Auflage, McGraw-Hill, New York. [120] Lee, Y.H., Bhaskaran, K., Pinedo, M. 1997. A Heuristic to Minimize the Total Weighted Tardiness with Sequence Dependent Setups. HE Transactions, 29, 45-52. [121] Lee, Y.H., Pinedo, M. 1997. Scheduhng Jobs on Parallel Machines with Sequence-Dependent Setup Times. European Journal of Operational Research, 100, 464-474. [122] Le Pape, C. 1994. Implementation of Resource Constraints in ILOG SCHEDULE: A Library for the Development of Constraint-Based Scheduling Systems. Intelligent Systems Engineering, 3(2), 55-66. [123] Le Pape, C. 1994. Scheduling as Intelligent Control of Decision-Making and Constraint Propagation. Intelligent Scheduling, M. Zweben, M. Fox (Hrsg.), Morgan Kaufmann, San Pransisco, CA, 67-98. [124] Lesser, V.R. 1998. Reflections on the Nature of Multi-Agent Coordination and Its Implications for an Agent Architecture. Journal of Autonomous Agents and Multi-Agent Systems, 1(1), 89-111. [125] Liao, D.-Y., Chang, S.-C, Pei, K.-W., Chang, C.-M. 1996. Daily Scheduling for R&D Semiconductor Fabrication. IEEE Transactions on Semiconductor Manufacturing, 9(4), 550-561. [126] Liaw, C.-F., Lin, Y.-K., Cheng, C.-Y., Chen, M. 2003. Scheduling Unrelated Parallel Machines to Minimize Total Weighted Tardiness. Computers and Operations Research, 30(12), 177M789. [127] Lou, S.X.C, Kager, P.W. 1989. A Robust Production Control Pohcy for VLSI Wafer Fabrication. IEEE Transactions on Semiconductor Manufacturing, 2(4), 159-164. [128] Macchiaroh, R., Riemma, S. 2002. A Negotiation Scheme for Autonomous Agents in Job Shop Scheduling. International Journal of Computer Integrated Manufacturing, 15(3), 222232. [129] Maione, B., Naso, D. 2001. Evolutionary Adaption of Dispatching Agents in Heterarchical Manufacturing Systems. International Journal of Production Research, 39(7), 1481-1503. [130] Marik, V., Fletcher, M., Pechoucek, M. 2002. Holons & Agents: Recent Developments and Mutual Impacts. MulU-AgentrSystems and Applications II (MASA 2001), LNAI 2322, V. Marik, O. Stepankova, H. Krautwurmova, M. Luck (Hrsg.), 233-267. [131] Marik, V., Pechoucek, M., Vbra, P., Hrdonka, V. 2003. FIPA Standards and Holonic Manufacturing. Agent-Based Manufacturing - Advances in the Holonic Approach, M. S. Deen (Hrsg.), Springer-Verlag, Heidelberg, 89-119.
LITERATURVERZEICHNIS
249
[132] MASM Test Data Set 2003. http://www.eas.asu.edu/-^masmlab. [133] Mason, S. 2000. Minimizing Total Weighted Tardiness in Complex Job Shops. Ph.D. Thesis, Arizona State University. [134] Mason, S.J., Fowler, J.W., Carlyle, W.M. 2002. A Modified Shifting Bottleneck Heuristic for Minimizing Total Weighted Tardiness in Complex Job Shops. Journal of Scheduling, 5(3), 247-262. [135] Mason, S.J., Jin, S., Wessels, CM. 2004. Reschedufing Strategies for Minimizing Total Weighted Tardiness in Complex Job Shops. International Journal of Production Research, 42(3), 613-628. [136] Maturana, F., Tichy, P., Slechta, P., Staron, R. 2002. Using Dynamically Created DecisionMaking-Organizations (Holarchies) to Plan, Commit, and Execute Control Tasks in a Chilled Water System. Proceedings of the 3rd International Workshop on Industrial Applications of Holonic and Multi-Agent-Systems. [137] McClellan, M. 1997. Applying Manufacturing Execution Systems. St. Lucie Press, Boca Raton. [138] McFarlane, D.C., Bussmann S. 2000. Developments in Holonic Production Planning and Control. Production Planning and Control, 11(6), 522-536. [139] McFarlane, D.C., Bussmann S. 2003. Holonic Manufacturing Control: Rationales, Developments and Open Issues. Agent-Based Manufacturing - Advances in the Holonic Approach, M. S. Deen (Hrsg.), Springer-Verlag, Heidelberg, 303-326. [140] Mehta, S.V., Uzsoy, R. 1998. Minimizing Total Tardiness on a Batch Processing Machine with Incompatible Job FamiHes. HE Transactions, 30, 165-178. [141] Mertens, P. 1998. Geschichte und ausgewahlte Gegenwartsprobleme der Wirtschaftsinformatik. Wirtschaftswissenschaftliches Studium (WiSt), 27, 170-175. [142] Mertens, P., Griese, J. 2002. Integrierte Informationsverarheitung 2: Planungs- und Kontrollsysteme in der Industrie. 9. Auflage, Gabler, Wiesbaden. [143] Mesarovic, M.D., Macko, D., Takahara, Y. 1970. Theory of Hierarchical, Multilevel, Systems. Academic Press, New York, London. [144] Mesarovic, M.D., Takahara, Y. 1989. Abstract Systems Theory. Lecture Notes in Control and Information Sciences, Springer-Verlag, BerUn, Heidelberg, New York, London, Paris, Tokyo. [145] Michgdewicz, Z. 1996. Genetic Algorithms -h Data Structures = Evolution Programs. 3. Auflage, Springer, Berlin.
250
LITERATURVERZEICHNIS
[146] Mitchell, T.M. 1997. Machine Learning. McGraw-Hill, New York. [147] Mitra, D., Mitrani, I. 1990. Analysis of a Kanban Discipline for Cell Coordination in Production Lines. Ma/nagement Science, 36(12), 1548-1566. [148] Mitschele-Thiel, A. 2001. System-Engineering with SDL - Developing Performance-Critical Communication Systems. Wiley, Chicester. [149] Monch, L. 2001. Analyse tind Design fiir ein agentenbasiertes System zur Steuerung von Produktionsprozessen in der Halbleiterindustrie. Proceedings Verhundtagung „Verteilte Informationssysteme auf der Grundlage von Objekten, Komponenten und Agenten (vertIS 2001)", 99-112. [150] Monch, L. 2002. A Genetic Algorithm Heuristic Applied to Stepper Scheduling. Proceedings of the International Conference on Modeling and Analysis of Semiconductor Manufacturing (MASM 2002), 276'2Sl. [151] Monch, L. 2003. Minimizing Total Weighted Tardiness on Parallel Machines with Unequal Release Dates of the Jobs. Proceedings 11^ Industrial Engineering Research Conference, Portland, Oregon. [152] Monch, L. 2003. Ontologie zur Steuerung komplexer Produktionssysteme. Arbeitsbericht, Institut fur Wirtschaftsinformatik, Technische Universitat Ilmenau. [153] Monch, L. 2003. Hierarchisches Steuerungskonzept fiir den Frontendbereich von Halbleiterfabriken. Arbeitsbericht, Institut fiir Wirtschaftsinformatik, Technische Universitat Ilmenau. [154] Monch, L. 2004. Scheduhngframework fiir Jobs auf parallelen Maschinen in komplexen Produktionssystemen. WIRTSCHAFTSINFORMATIK,
46(6), 470-480.
[155] Monch, L., Balasubramanian, H., Fowler, J.W., Pfund, M.E. 2005. Heuristic ScheduHng of Jobs on Parallel Batch Machines with Incompatible Job Families and Unequal Ready Times. Computers and Operations Research, 32, 2731-2750. [156] Monch, L., Driefiel, R. 2005. A Distributed Shifting Bottleneck Heuristic for Conplex Job Shops. Computers and Industrial Engineering, 49, 363-380. [157] Monch, L., Otto, P. 2002. Scheduhng Jobs on Parallel Batch Processing Machines Using Dispatching Rules and Machine Learning Techniques. Proceedings 4 ^ Middle East Symposium on Simulation and Modelling (MESM 2002), Sharjah, M. Al-Akaidi (Hrsg.), 192-196. [158] Monch, L., Rose, O. 2004. Shifting-Bottleneck-Heuristik fiir komplexe Produktionssysteme: softwaretechnische Realisierung und Leistungsbewertung. Quantitative Methoden in ERP und SCM, DSOR Beitrage zur Wirtschaftsinformatik 2, L. Suhl, S. Vofi (Hrsg.), 145-159.
LITERATURVERZEICHNIS
251
[159] Monch, L., Rose, 0., Sturm, R. 2003. A Simulation Framework for the Performance Assessment of Shop-Floor Control Systems. SIMULATION: Transactions of the Society of Modeling and Simulation International, 79(3), 163-170. [160] Monch, L., Schabacker, R., Pabst, D., Fowler, J.W. 2005. Genetic Algorithm-Based Subproblem Solution Procedures for a Modified Shifting Bottleneck Heuristic for Complex Job Shops. Erscheint in European Journal of Operational Research. [161] Monch, L., Schmalfufi, V. 2000. Entwicklung von Simulationsmodellen zur Unterstiitzung der Produktionsplanung und -steuerung einer Halbleiterfabrik. Zeitschrift fiir wirtschaftlichen Fabrikbetrieb, 95, 10, 502-509. [162] Monch, L., StehU. M. 2002. Agent-Based ModeUng and Implementation of Resource Allocation Scenarios in Manufacturing. Proceedings Third International Workshop on Agent-Based Simulation, Passau, C. Urban (Hrsg.), 149-154. [163] Monch, L., Stehfi, M. 2003. Ein simulationsbasierter Ansatz zur Leistungsbewertung von Systemen der verteilten kiinstlichen Intelligenz zur Produktionssteuerung. Kunstliche Intelligenz, 4, 43-49. [164] Monch, L., Stehh, M. 2003. An Ontology for Production Control of Semiconductor Manufacturing Processes. Proceedings First German Conference on Multi Agent Technologies (MATES 2003), LNAI 2831, Springer, Erfurt, 156-167. [165] Monch, L., StehU, M. 2004. A Content Language for a Hierarchically Organized MultiAgent-System for Production Control. Proceedings Multi-Konferenz
Wirtschaftsinformatik,
Teilkonferenz "Coordination and Agent Technology in Value Networks", 197-212. [166] Monch, L., Stehh, M., Schulz, R. 2002. An Agent-based Architecture for Solving Dynamic Resource Allocation Problems in Manufacturing. Proceedings 14 ^ European Simulation Symposium (ESS 2002), Dresden, 331-337. [167] Monch, L., Stehh, M., Zimmermann, J. 2003. FABMAS - An Agent Based System for Semiconductor Manufacturing Processes. Proceedings First International Conference on Industrial Application of Holonic and Multi-Agent Systems (HoloMas 2003), LNAI 2744, Springer, Prague, Czech Repubhc, 258-267. [168] Monch, L., Stehh, M., Zimmermann, J., Habenicht, I. 2005. The FABMAS-Prototype for Production Control of Wafer Fabs: Design, Implementation, and Performance Assessment. Eingereicht zur Veroffentlichung bei Production Planning and Control. [169] Monch, L., Zimmermann, J. 2004. Improving the Performance of Dispatching Rules in Semiconductor Manufacturing by Iterative Simulation. Proceedings of the 2004 Winter Simulation Conference, R. G. Ingalls, M. D. Rossetti, J. S. Smith, B. A. Peters (Hrsg.), 1881-1987.
252
LITERATURVERZEICHNIS
[170] Montgomery, D.C. 2001. Design and Analysis of Experiments. 5. Auflage, Wiley, New York. [171] Morton, T.E., Ramnath, P. 1995. Guided Forward Search in Tardiness Scheduling of Large One Machine Problems. Intelligent Scheduling Systems, D. E. Brown, W. T. Scherer (Hrsg.), Kluwer Academic Publishers; Hingham, MA. [172] Na, D.G., Kim, D.-W., Chen, F.F. 2002. Batch Scheduling of Unrelated Parallel Machines with Setup Times Using Search Heuristics. Proceedings 12^^ International Conference on Flexible Automation and Intelligent Manufacturing, Dresden, 634-644. [173] Nuijten, W., Le Pape, C. 1998. Constraint-Based Job Shop Scheduhng with ILOG Scheduler. Journal of Heuristics, 3, 271-286. [174] Nwana, H.S., Lee, L., Jennings, N.R. 1998. Coordination in Multi-Agent Systems. Proceedings "Software Agents arid Soft Computing - Towards Enhancing Machine Intelligence", LNCS 1198, H. S. Nwana, N. Azarmi (Hrsg.), Springer, 42-58. [175] Nyhuis, P., Wiendahl, H.-P.|1999. Logistische Kennlinien: Grundlagen, Werkzeuge und Anwendungen. Springer, Berhn-Heidelberg. [176] Obitko, M., Marik, V. 2002. Ontologies for Multi-Agent Systems in Manufacturing Domain. Proceedings of the 3rd International Workshop on Industrial Applications of Holonic and Multi-Agent-Systems. [177] Odell, J., Parunak, H.V.D., Fleischer, M. 2003. Modeling Agent Organizations Using Roles. Software and Systems Modeling, 2, 76-81. [178] Okubo, H., Jiahua, W., Onari, H. 2000. Characteristics of Distributed Autonomous Production Control. International Journal of Production Research, 38(17), 4205-4215. [179] OR-Library 2004. http://www.brunel.ac.uk/depts/ma/research/jeb/info.html. [180] Osterle, H., Brenner, W., Hilbers, K. 1992. Untemehmensfiihrung und Informationssystem: der Ansatz des St. Caller Infdrmationssystem-Managements.
2. Auflage, Teubner, Stuttgart.
[181] Osterloh, M., Grand, S. 1995. Modellbildung versus Frameworking: Die Positionen von Wilhamson und Porter. Selbstverstdndnis betriebswirtschaftlicher Forschung und Lehre. H. Wachter (Hrsg.), Wiesbaden, 1-26. [182] Ottaway, T.A., Burns, J.R. 2000. An Adaptive Production Control System Utihzing Agent Technology. International Journal of Production Research, 38(4), 721-737. [183] Otto, P. 1995. Identifikation nichthnearer Systeme mit Kiinsthchen Neuronalen Netzen. at - Automatisierungstechnik, 43(2), 62-68.
LITERATURVERZEICHNIS
253
[184] Otto, P. 1995. Fuzzy-Modelling of Nonlinear Dynamic Systems by Inductive Learned Rules. Proceedings of the Third European Congress on Intelligent Techniques and Soft Computing, Vol. 2, EUFIT 95, Aachen, 858-864. [185] Otto, P., Wernstedt, J. 2002. Fuzzy Methods for the Optimal Emulation of Expert Decision Behaviour and for the Optimal Controller Design. Proceedings East West Fuzzy Colloquium 2002, 10^^ Zittau Fuzzy Colloquium, Zittau, Germany, 351-367. [186] Ou-Yang, C , Lin, J.S. 1998. The Development of a Hybrid Hierarchical/Heterarchical Shop Floor Control System Applying Bidding Methods in Job Dispatching. Journal of Robotics and Computer-Integrated Manufacturing, 14(3), 199-217. [187] Ovacik, I.M., Uzsoy, R. 1992. A Shifting Bottleneck Algorithm for Scheduling Semiconductor Testing Operations. Journal of Electronics Manufacturing, 2, 119-134. [188] Ovacik, I.M., Uzsoy, R. 1997. Decomposition Methods for Complex Factory Scheduling Problems. Kluwer Academic Publishers, Boston, Dordrecht, London. [189] Pabst, D. 2003. Behandlung von Vorgangerheziehungen in der Shifting-Bottleneck-Heuristik angewendet in einem dynamischen Halbleiterfertigungsumfeld. Diplomarbeit. Institut fiir Informatik, Universitat Wiirzburg. [190] Pain, A.R., Reeves, C.R. 2002. Genetic Algorithm Optimization Software Class Libraries. Optimization Software Class Libraries. S. Voss, D, L. Woodruff (Hrsg.), Kluwer, Boston, 295-329. [191] Park, Y., Kim, S., Lee, Y.-H. 2000. Scheduhng Jobs on Parallel Machines Applying Neural Network and Heuristic Rules. Computers and Industrial Engineering, 38, 189-202. [192] Parunak, H.V.D. 1987. Manufacturing Experience with the Contract Net. Distributed Artificial Intelligence. M. N. Huhns (Hrsg.), Pitman, London, 285-310. [193] Parunak, H.V.D. 1994. Apphcations of Distributed Artificial InteUigence in Industry. Foundations of Distributed Artificial Intelligence, G. M. P. O'Hare, N. R. Jennings, Wiley, New York. [194] Parunak, H.V.D. 2000. A Practitioner's Review of Industrial Agent Apphcations. Journal of Autonomous Agents and Multi-Agent Systems, 3(4), 389-407. [195] Perez, T.I. 1999. Minimizing Total Weighted Tardiness on a Single Batch Process Machine with Incompatible Job Families. M.S. Thesis, Arizona State University, Tempe. [196] Pesenti, R., CasteUi, L., Santin, P. 2001. Scheduhng in a Reahstic Environment Using Autonomous Agents: A Simulation Study. Proceedings Agent Based Simulation: International Workshop 2001, Passau, C. Urban (Hrsg.), 149-154.
254
LITERATURVERZEICHNIS
[197] Pichler, J., Plosch, R., Weinreich, R. 2002. MASIV und FIPA: Standards fur Agenten Ubersicht und Anwendung. Informatik Spektrum, 25(2), 91-100. [198] Picot, A., Reichwald, R. 1994. Auflosung der Unternehmung? - Vom Einflufi der luKTechnik auf Organisationsstrukturen und Kooperationsformen. Zeitschrift fur Betriebswirtschaft, 64(5), 547-570. [199] Pinedo, M. 2002. Scheduling: Theory, Algorithms, and Systems. 2. Auflage, Prentice Hall, N.J. [200] Pinedo, M., Singer, M. 1999. A Shifting Bottleneck Heuristic for Minimizing the Total Weighted Tardiness in a Job Shop. Naval Research Logistics, 46, 1-17. [201] Poensgen, O.H. 1980. Koordination. Handworterbuch der Organisation. E. Grochla (Hrsg.), C.E. Poeschel Verlag, Stuttgart, 1130-1141. [202] Porter, M.E. 1991. Towards a Dynamic Theory of Strategy. Strategic Management Journal, 12, 95-117. [203] Potoradi, J., Boon, O.S., Mason, S.J., Fbwler, J.W., Pfund, M.E. 2002. Using SimulationBased Scheduling to Maximize Demand FuUfiUment in a Semiconductor Assembly Facility. Proceedings of the 2002 Winter Simulation Conference, E. Yiicesan, C.-H. Chen, J. L. Snowdon, J. M. Charnes (Hrsg.), 185M861. [204] Potts, C.N., Kovalyov, M.Y- 2000. Scheduhng with Batching: A Review. European Journal of Operational Research, 120, 228-249. [205] Pree, W. 1996. Framework PaUems. SIGS Books, New York. [206] Preiss, B.R., Wan, K.W.C. 1999. The Parsimony Project: A Distributed Simulation Testbed in Java. Proceedings of the 1999 International Conference on Web-Based Modelling and Simulation, 89-94. [207] Quinland, J.R. 1993. C4-5: Programs for Machine Learning. Morgan Kaufinann Publishers, San Fransisco. [208] Reinisch, K. 1974. Kybemetische Grundlagen und Beschreibung kontinuierlicher Systeme. VEB Verlag Ibchnik, Berhn. [209] Rempel, P. 2003. Konzeption und prototypische Implementierung einer Koordinationssprache fiir die Domdne Waferfertigung. Diplomarbeit, Institut fiir Wirtschaftsinformatik, Technische Universitat Ilmenau. [210] Robinson, J.K., Fowler, J.W., Bard, J.F. 1995. The Use of Upstream and Downstream Information in Scheduling Semiconductor Batch Operations. International Journal of Production Research, 33(7), 1849-1869.
LITERATURVERZEICHNIS
255
[211] Roeder, T.M., Fischbein, S.A., Janakiram, M., Schruben, L.W. 2002. Resource-Driven and Job-Driven Simulations. Proceedings of the International Conference on Modeling and Analysis of Semiconductor Manufacturing (MASM 2002), Tempe, USA, 78-83. [212] Roderick, L.M., Phillips, D.T., Hogg, G.L. 1992. A Comparison of Order Release Strategies in Production Control Systems. International Journal of Production Research, 30(3), 611-626. [213] Rose, O. 1998. WIP Evolution of a Semiconductor Factory After a Bottleneck Workcenter Breakdown. Proceedings of the 1998 Winter Simulation Conference, D. J. Medeiros, E. F. Watson, J. S. Carson, M. S. Manivannan (Hrsg.), 997-1003. [214] Rose, O. 1999. CONLOAD - A New Lot Release Rule for Semiconductor Wafer Fabs. Proceedings of the 1999 Winter Simulation Conference, P. A. Farrington, H. B. Nemhard, D. T. Sturrock, G. W. Evans (Hrsg.), 850-855. [215] Rose, O. 2001. The Shortest Processing Time First (SPTF) Dispatch Rule and Some Variants in Semiconductor Manufacturing. Proceedings of the 2001 Winter Simulation Conference, B. A. Peters, J. S. Smith, D. J. Medeiros, M. W. Rohrer (Hrsg.), 1220-1224. [216] Rose, 0 . 2002. Some Issues of the Critical Ratio Dispatch Rule in Semiconductor Manufacturing. Proceedings of the 2002 Winter Simulation Conference, E. Yiicesan, C.-H. Chen, J. L. Snowdon, J. M. Charnes (Hrsg.), 1401-1405. [217] Rose, O. 2003. Comparison of Due-Date Oriented Dispatch Rules in Semiconductor Manufacturing, Proceedings 11^ Industrial Engineering Research Conference, Portland, Oregon. [218] Roy, D., Anciaux, D. 2001. Shop-Floor Control: A Multi-Agent Approach. International Journal of Computer Integrated Manufacturing, 14(6), 535-544. [219] Russel, S.J., Norvig, P. 2003. Artificial Intelligence - A Modem Approach. 2. Auflage, Prentice Hall, New Jersey. [220] Savell, D.V., Perez, R.A., Koh, S.W. 1989. Scheduling Semiconductor Wafer Production: An Expert System Implementation. IEEE Expert, 4(3), 9-15. [221] Scheer, A.-W. 1995. Wirtschaftsinformatik - Referenzmodelle fiir industrielle Geschdftsprozesse. 6. Auflage, Springer-Verlag, Berhn, Heidelberg, New York. [222] Schmidt, D., Stal, M., Rohnert, H., Buschmann, F. 2002. Pattemorientierte
Softwarearchi-
tektur: Muster fiir nebenldufige und vernetzte Objekte. dpunkt.verlag, Heidelberg. [223] Schneeweiss, C. 1999. Hierarchies in Distributed Decision Making. Springer, Berlin, Heidelberg, New York. [224] Schneeweiss, C. 2003. Distributed Decision Making. Springer, BerUn, Heidelberg, New York.
256
LITERATURVERZEICHNIS
[225] Schneider, D. 2001. Betriebswirtschaftslehre. Band 4- Geschichte und Methoden der Wirtschaftswissenschaft. Oldenbourg, Miinchen, Wien. [226] Schomig, A., Fowler, J.W. 2000. Modelling Semiconductor Manufacturing Operations. Proceedings of the 9^ A SIM Dedicated Conference Simulation in Production and Logistics, K. Mertins, M. Rabe (Hrsg.), 55-64. [227] Schultz, J., Mertens, P. 2000. Untersuchungen wissensbasierter und weiterer ausgewahlter Ansatze zur Unterstiitzung der Produktionsfeinplanung - ein Methodenvergleich. WIRTSCHAFTSINFORMATIK,
42(1), 56-65.
[228] Schwindt, C , Trautmann, N. 2000. Batch Scheduling in Process Industries: An Application of Resource-Constrained Project Scheduling. OR Spektrum, 22, 501-524. [229] Shen, W., Norrie, D.H. 1999. Agent-Based Systems for the Intelligent Manufacturing: A State-of-the-Art Survey. Knowledge and Information Systems, 1(2), 129-156. [230] Shen, W., Norrie, D.H., Barthes, J.-P.A. 2001. Multi-Agent Systems for Concurrent Intelligent Design and Manufacturing. Taylor k Francis, London. [231] Sinz, E.J. 2002. Architektur von Informationssystemen. Handbuch der Informatik, P. Rechenberg, G. Pomberger (HrSg.), 3. Auflage, Hanser, Miinchen, 1055-1068. [232] Sivakumar, A.I. 2001. Multiobjective Dynamic Scheduhng Using Discrete Event Simulation. International Journal of Computer Integrated Manufacturing, 14(2), 154-167. [233] Smith, R.G. 1980. The Coiitract Net Protocol: High Level Communication and Control in a Distributed Problem Solver. IEEE Transactions on Computers, 29(12), 1104-1113. [234] Smith, S.F. 1994. OPIS: A Methodology and Architecture for Reactive Scheduling. Intelligent Scheduling, M. Zweben, M. Fox (Hrsg.), Morgan Kaufmann, San Fransisco, CA, 29-66. [235] Smith, S., Becker, M. 1997i An Ontology for Constructing Scheduling Systems. Working Notes of the 1997 Symposiurn on Ontological Engineering, AAAI Press. [236] Somekh, S. 1999. Increasing Overall Equipment Effectiveness (OEE) in Fab Manufacturing, Semiconductor Fabtech, 10, 39-43. [237] Spearman, M.L., Woodruff, D.L., Hopp, W.J. 1990. CONWIP: A Pull Alternative to Kanban. International Journal of Production Research, 28(5), 879-894. [238] Srivatsan, N., Bai, S.X., Gershwin, S.B. 1994. Hierarchical Real-Time Integrated Scheduling of a Semiconductor Fabrication Facility. Control and Dynamic Systems, 61, 197-241. [239] Stadler, H. 1988. Hierarchische Produktionsplanung bei losweiser Fertigung. (PhysicaSchriften zur Betriebswirtschaft, Bd. 23), Physica, Heidelberg.
LITERATURVERZEICHNIS
257
[240] Stehli, M. 2003. ManufAg-Entwicklerhandbuch. Institut fiir Wirtschaftsinformatik, Technische Universitat Ilmenau. [241] Sullivan, G., Fordyce, K. 1990. IBM Burlington's Logistics Management System. Interfaces, 20(1), 43-64. [242] Sundermeyer, K., Bussmann, S. 2001. Einfiihrung der Agententechnologie in einem produzierenden Unternehmen - ein Erfahrungsbericht. WIRTSCHAFTSINFORMATIK,
43(2),
135-142. [243] Sutton, R.S., Barto, A.G. 1998. Reinforcement Learning: An Introduction. MIT Press, Cambridge, Massachusetts. [244] Tempelmeier, H. 2003. Material-Logistik: Modelle und Algorithmen fiir die Produktionsplanung und -steuerung und das Supply Chain Management. 5. Auflage, Springer, Berlin. [245] Thiel, M., Schulz, R., Gmilkowsky, P. 1998. Simulation-based Production Control in the Semiconductor Industry. Proceedings of the 1998 Winter Simulation Conference, D. J. Medeiros, E. F. Watson, J. S. Carson, M. S. Manivannan (Hrsg.), 1029-1033. [246] Toba, H. 2000. Segment-Based Approach for Real-Time Reactive RescheduUng for Automatic Manufacturing Control. IEEE Transactions on Semiconductor Manufacturing, 13(3), 264-272. [247] Unver, H.O., Anlagan, O. 2002. Design and Implementation of an Agent-Based Shop Floor Control System Using Windows-DNA. International Journal of Computer Integrated Manufacturing, 15(5), 427-439. [248] Uschold, M., King, M., Moralee, S., Zorgios, Y. 1998. The Enterprise Ontology. The Knowledge Engineering Review, 13(1), 31-89. [249] Uzsoy, R., Lee, C.Y., Martin-Vega, L.A. 1992. A Review of Production Planning and Scheduling Models in the Semiconductor Industry, Part I: System Characteristics, Performance Evaluation and Production Planning. HE Transactions on Scheduling and Logistics, 24,47-61. [250] Uzsoy, R., Lee, C.Y., Martin-Vega, L.A. 1994. A Review of Production Planning and ScheduUng Models in the Semiconductor Industry, Part II: Shop -Floor Control. HE Transactions on Scheduling and Logistics, 26(5), 44-55. [251] Van Brussel, H., Wyns, J., Valckenaers, P., Bongaerts, L., Peeters, P. 1998. Reference Architecture for Holonic Manufacturing Systems: PROSA. Computers in Industry, Special Issue on InteUigent Manufacturing Systems, 37(3), 255-274. [252] Van de Vegte, J. 1990. Feedback Control Systems. Prentice Hall, Englewood Chffs.
258
LITERATURVERZEICHNIS
[253] Van Laaxhoven, P.J.M., Aarts, E.H.L., Lenstra, J.K. 1992. Job Shop Scheduling by Simulated Annealing. Operations Research, 40, 113-125. [254] Vargas-Villamil, F.D., Rivera, D.E. 2001. A Model Predictive Control Approach for RealTime Optimization of Reentrant Manufacturing Lines. Computers in Industry, 45(1), 45-57. [255] Vargas-Villamil, F.D., Rivera, D.E., Kempf, K.G. 2003. A Hierarchical Approach to Production Control of Reentraint Semiconductor Manufacturing Lines. IEEE Transactions on Control Systems Technology, 11(4), 578-587. [256] Vepsalainen, A., Morton, T.E. 1987. Priority Rules for Job Shops with Weighted Tardiness Costs. Management Science, 33(8), 1035-1047. [257] Vepsalainen, A., Morton, T.E. 1988. Improving Local Priority Rules with Global Lead-Time Estimates: A Simulation Study. Journal of Manufacturing and Operations Management, 1, 102-118. [258] Volker, S., Gmilkowsky, P. 2003. Reduced Discrete-Event Simulation Models for MediumTerm Production Scheduling. System Analysis Modelling Simulation, 43(7), 867-883. [259] Vo6, S., Witt, A. 2003. Batching in der Produktionsplanung - Projektplanung mit reihenfolgeabhangigen Riistkosten. Zeitschrift fiir Planung k Untemehmenssteuerung, 14(1), 75-89. [260] Wall,
M.
1999. GaLib:
A
C-h+
Library
of
Genetic
Algorithm
Components.
http://lancet.mit.edu/ga/. [261] Wallace, M. 1996. Practical Applications of Constraint Programming. Constraints, 1, 139168. [262] Wang, C , Uzsoy, R. 2002. A Genetic Algorithm to Minimize Maximum Lateness on a Batch Processing Machine. Computers and Operations Research, 29(12), 1621-1640. [263] Warnecke, H.J., BuUinger, H.-J., Hichert, R., Voegele, A. 1990. Kostenrechnung fiir Ingenieure. 3. Auflage, Carl Hanser Verlag, Miinchen, Wien. [264] Weigelt, M. 1994. Dezentrale Produktionssteuerung mit Agenten-Systemen: Entwicklung neuer Verfahren und Vergleich mit zentraler Lenkung. Gabler, Wiesbaden. [265] Wein, L.M. 1988. ScheduUng Semiconductor Wafer Fabrication. IEEE Transactions on Semiconductor Manufacturing, 1(3), 115-129. [266] Weiss, G. (Hrsg.) 1999. Mtiltiagent Systems: A Modem Approach to Distributed Artificial Intelligence. MIT Press, Canibridge, Massachusetts. [267] Wellmann, M.P. 1996. Market-Oriented Programming: Some Early Lessons. Market-Based Control: A Paradigm for Distributed Resource Allocation. S. H. Clearwater (Hrsg.), World Scientific.
LITERATURVERZEICHNIS
259
[268] Winter, R. 1991. Mehrstufige Produktionsplanung in Abstraktionshierarchien auf der Basis relationaler Informationsstrukturen. Springer-Verlag, Berlin, Heidelberg, New York. [269] Wood, M.F., DeLoach, S.A. 2000. An Overview of the Multiagent Systems Engineering Methodology. Agent-Oriented Software Engineering, P. Ciancarini, M. Wooldridge (Hrsg.), Springer, 207-221. [270] Wooldridge, M., Ciancarini, P. 2000. Agent-Oriented Software Engineering: The State of the Art. Agent-Oriented Software Engineering, P. Ciancarini, M. Wooldridge (Hrsg.), Springer, 1-28. [271] Wooldridge, M., Jennings, N.R., Kinny, D. 2000. The Gaia Methodology for Agent-Oriented Analysis and Design. Journal of Autonomous Agents and Multi-Agent Systems, 3(3), 285-312. [272] Wouters, C , Dillon, T., Rahayu, W., Chang, E. 2002. A Practical Walkthrough of the Ontology Derivation Rules. Proceedings DEXA 2002, LNCS 2453, A. Hameurlain, R. Cicchetti, R. Traunmiiller (Hrsg.), Springer Verlag, Berlin, Heidelberg, 259-268. [273] Wyns, J. 1999. Reference Architecture for Holonic Manufacturing Systems - The Key to Support Evolution and Reconfiguration. Ph.D. Thesis, Katholieke Universiteit Leuven. [274] Yokoo, M., Hiarayama, K. 2000. Algorithms for Distributed Constraint Satisfaction: A Review. Journal of Autonomous Agents and Multi-Agent Systems, 3(2), 185-207. [275] Zelewski, S. 1997. Elektronische Markte zur Prozefikoordination in Produktionsnetzwerken. WIRTSCHAFTSINFORMATIK,
39(3), 231-243.
[276] Zelewski, S., Schiitte, R., Siedentopf, J. 2001. Ontologien zur Reprasentation von Domanen. Wissen im Untemehmen - Konzepte, Mafinahmen, Methoden. G. Schreyogg (Hrsg.), Erich Schmidt Verlag, BerUn, 183-221. [277] Zell, A. 1998. Einfiihrung in Kiinstliche Neuronale Netze. Betriebswirtschaftliche Anwendungen des Softcomputings. J. Biethahn, A. Honerloh, J. Kuhl, M.-C. Leisewitz, V. Nissen, M. Tietze (Hrsg.), Vieweg, Wiesbaden, 3-34. [278] Zhang, W. 1996. Reinforcement Learning for Job-Shop Scheduling. Ph.D. Dissertation, Oregon State University. [279] Zweben, M., Fox, M. (Hrsg.) 1994. Intelligent Scheduling. Morgan Kaufmann, San Francisco, CA.
Anhang A Modellierung komplexer Produktionssysteme Der in Kapitel 2 entwickelte Formalismus zur Beschreibung komplexer Systeme wird exemplarisch auf ein Modell einer diskreten Produktion mit zyklischen Losdurchlaufen angewandt.
A.l
Formale Beschreibung: Basissystem
Das betrachtete Modell wird in [55] beschrieben. In Abbildung A.l ist das Modell dargestellt. Es besteht aus drei Maschinengruppen. Maschinengruppe 1 enthalt die Maschinen A und B, Maschinengruppe 2 besteht aus den Maschinen C und D, wahrend zur Maschinengruppe 3 lediglich die Maschine E gehort. Lose der Produkte Fi und P2 werden eingesteuert. Die Lose beider Produkte durchlaufen in identischer Reihenfolge die drei Maschinengruppen. Dieser Sachverhalt wird durch die nummerierten Pfeile in Abbildung A.l angedeutet. Jedes Los besucht jede Maschinengruppe zweimal, d.h., es liegt ein zyklischer Durchlauf der Lose durch das Produktionssystem vor. Die Beschreibung des Basissystems erfolgt durch die Angabe der Elemente der Relation AP. Es gilt: AP
C X f ^ i { O i i , . . . , O16, O21, • . • , 026}
und O'Pl '= ( O l l ) O l 2 , O i 3 , O i 4 , O i 5 , O i 6 ) €
AP
ap2 : = (O21, O22, 023, 024, 025, 026) €
AP.
sowie
Dabei werden mit oij,j = 1,...,6 bzw. 02j,j = 1,...,6 die Prozess-Schritte von Produkt Pi bzw. P2 bezeichnet. Durch api und ap2 sind die Arbeitsplane von Produkt Pi und Produkt P2 beschrieben. Offensichthch gilt: O := {on,...,
O26}.
Die Systemeinheiten sind durch OP := {A,B,C,D,E} Ml := {A, B}, M2 := {C, D} sowie M3 := {E} werden gebildet.
gegeben. Die Maschinengruppen
262
ANHANG A. MODELLIERUNG KOMPLEXER
PRODUKTIONSSYSTEME
Einsteuerung
^
Maschinengruppe 1 -MaschineA - Maschine B
Maschinengruppe 2 - Maschine C - Maschine D
Maschinengruppe 3 - Maschine E
Aussteuerung
Abbildung A.l: Mini-Fab-Modell als komplexes Produktionssystem
Die Maschinengruppe Mi besteht aus Batchmaschinen, d.h., mehrere Bearbeitungsobjekte (Lose) konnen gleichzeitig auf einer iMaschine von Mi bearbeitet werden. Die Prozess-Schritte und die dazugehorigen Bearbeitungszeiten (in Minuten) sowie die maximale Anzahl von Losen in einem Batch sind in Tabelle A.l gegeben. Tabelle A.l: Bearbeiliungszeiten und Batchgrofien fiir das Mini-Fab-Modell Prozess-Schritt
Maschinengruppe
Bearbeitungszeit
Maximale Batchgrofie 3
1
Ml
225
2
M2
30
1
3
Ms
55
1
4
\
M2
50
1
5
1 Ml
255
3
6
Ms
10
1
Die Beschreibung des Basisprozesses erfblgt durch eine Beschreibung des dynamischen Verhaltens der Basissystemeinheiten. Dazu wird an dieser Stelle die in Abschnitt 2.2 definierte Abbildung PQ fiir Elementarprozesse konkretisiert. Im Mini-Fab-Modell gilt unter Verwendung der Bezeichnungen aus Abschnitt 2.2:
{Oik,Po)^ifo,Oik), {OikJo)^{Wo,Oik+l). Auf eine weitere formale Beschreibung des Basisprozesses wird an dieser Stelle verzichtet. Es wird lediglich bemerkt, dass durch die Batchbildung eine weitere Verfeinerung der in Abschnitt
A.2. FORMALE BESCHREIBUNG: STEUERUNGSSYSTEM
263
2.2 gegebenen Zustandsbeschreibungen fiir die Elementarprozesse erfolgen muss. Eine formale Beschreibung des Steuerungsprozesses erfolgt in Abschnitt A.2.
A.2
Formale Beschreibung: Steuerungssystem
In diesem Abschnitt wird das Steuerungssystem, das zu dem im Abschnitt A.l beschriebenen Basissystem gehort, entwickelt. Die globale Gesamtaufgabe der zu realisierenden Steuerung besteht darin, eine vorgegebene Menge von Losen mit einem durch die Eigenschaften des Basissystems vorgegebenen Zeitaufwand durch das System derart zu steuern, dass beispielsweise die absolute gewichtete Verspatung der Lose minimiert wird. Daraus ergeben sich prinzipiell zwei zu losende Steuerungsaufgaben: 1. Festlegung von geeigneten Einsteuerterminen fiir die Lose, 2. Festlegung des als nachstes zu fertigenden Loses/Batches fiir eine bestinamte Maschine. Die Beschreibung des Steuerungssystems erfolgt durch Angabe der Rechner, auf denen die Steuerungsalgorithmen implementiert sind. Im betrachteten Beispiel wird angenommen, dass jeder Maschinengruppe des betrachteten einfachen Produktionssystems ein einzelner Steuerungsrechner zugeordnet wird, auf dem die Steuerungsalgorithmen fur die jeweilige Maschinengruppe implementiert sind. Die Systemeinheiten des Steuerungssystems sind somit durch ^:={5i(Mi),52(M2),53(M3)} gegeben. In Analogic zu der in Abschnitt A.l beschriebenen Relation AP ist es moglich, Informationsfliisse zwischen den Steuerungsrechnern zu spezifizieren. Es wird vereinfachend angenommen, dass die fur die Steuerungsentscheidungen notwendigen Informationen direkt vom Basisprozess an die jeweihgen Steuerungsrechner iibertragen werden. Fiir die Realisierung komplizierterer Steuerungsalgorithmen ist es notwendig, dass Informationen zwischen den Steuerrechnern ausgetauscht werden. Auf die Beriicksichtigung dieses Sachverhaltes wird an dieser Stelle aus Griinden der Einfachheit verzichtet. Es erfolgt zunak^hst eine Beschreibung der Steuerungsaufgabe fiir das Gesamtsystem. Die zu realisierende Steuerung umfasst die folgenden Aufgaben: • Erfassen der Lose, die in das Produktionssystem eingesteuert werden konnen, • Entscheidung iiber den Zeitpunkt der Einsteuerung eines bestimmten Loses in das System entsprechend vorhandener Zielvorgaben, welche die Menge an zu produzierenden Losen von Produkt Pi und P2 sowie SoUdurchlaufzeiten festlegen, • Riickmeldung iiber die absolute gewichtete Verspatung der Lose sowie iiber die Anzahl von Losen, die fertiggestellt wurden.
264
ANHANG A. MODELLIERUNG KOMPLEXER
PRODUKTIONSSYSTEME
Der Steuerungsprozess kann durch die nachfolgende IVansformation beschrieben werden: PS:RixR2xTixT2xBixB2-^BixB2X
TWTi x TWT2 x Ci x C2,
mit Rii Anzahl der Lose von ProdUkt Pi, die in das Produktionssystem eingesteuert werden soUen, Ti'. Zielanzahl von Losen von Produkt Pi, die in einer bestimmten SoUdurchlaufzeit das Produktionssystem durchlaufen sbllen, Bi'. Anzahl der Lose von Produkt Pi, die zur Einsteuerung in das Produktionssystem zur Verfiigung stehen, TWTi'. absolute gewichtete Verspatung der fertiggestellten Lose von Produkt Pi, Ci'. Anzahl der fertiggestellten Lose von Produkt Pi. Die Entscheidung iiber einzustebernde Lose erfolgt taglich. Ausgehend vom gewiinschten Kundenendtermin werden mittels einer Riickwartsterminierung diejenigen Lose festgelegt, die in das Produktionssystem eingesteuert werden. Die Steuerung fiir das Gesamtsystem wird realisiert, indem eine geeignete Maschinenbelegungsplanung fiir die Maschinengrupp^n {Mi, M2, M3} durchgefiihrt wird. Fiir die Maschinengruppe Mj sind somit die nachfolgend aufgdlisteten Steuerungsaufgaben zu erfiillen: • Erfassen von Losen, die zur Bearbeitung auf Maschinen der Maschinengruppe Mj zur Verfugung stehen. • Zielvorgaben in Form von internen geplanten Fertigstellungsterminen fiir die Lose an der Maschinengruppe Mj, • Entscheidung iiber Auswahl des als nachstes zu bearbeitenden Loses/Batches auf einer freien Maschine der Maschinengr^ppe Mj, • Riickmeldung iiber die Anzahl verfriihter bzw. verspateter Lose an der Maschinengruppe
Der Steuerungsprozess fiir die Mbschinengruppe Mj wird durch die nachfolgende Transformation beschrieben: PS{Mj)
: Ai X A2 x\ri
X T2 X Ri X R2 -^ Ri X R2 X Li X L2 X Ci X C2,
mit Ai'. als nachstes auf einer freien Maschine der Maschinengruppe Mj zu fertigendes Los/Batch von Produkt Pi,
A.2. FORMALE BESCHREIBUNG: STEUERUNGSSYSTEM
265
Ti'. Plananzahl von Losen von Produkt P^, die in einer bestimmten SoUdurchlaufzeit auf den Maschinen der Maschinengruppe Mj bearbeitet werden sollen, Ri'. Anzahl der Lose von Produkt Pi, die zur Bearbeitung auf den Maschinen der Maschinengruppe Mj zur Verfugung stehen, Lji absolute gewichtete Verspatung bzw. Verfriihung der fertiggestellten Lose von Produkt Pj, Q: Anzahl der fertiggestellten Lose von Produkt Pi auf Maschinen der Maschinengruppe Mj. Die Entscheidung iiber die Auswahl des als nachstes zu fertigenden Loses/Batches auf einer Maschine erfolgt unter Verwendung geeigneter Prioritatsregeln (vergleiche hierzu die Ausfiihrungen in Abschnitt 2.5.1.1).
Anhang B Agenten fur den Steuerungsansatz B. 1
Ressour cenagent en
Produktionssystemagenten sind spezielle Ressourcenagenten, die fiir die Terminierung der Lose des Produktionssystems verantwortlich sind. Dazu miissen Produktionssystemagenten mit dem ERP-System und den Produktionsbereichsagenten interagieren. Produktionssystemagenten liegen in der Kardinalitat 1 vor.
Agententyp:
Produktionssystemagent
Beschreibung:
Ein Produktionssystemagent entscheidet, wann und wie die Lose im Produktionssystem terminiert werden.
Aktivitaten:
-
Entscheidung iiber die verwendete Terminierungsstrategie Aktivierung des entsprechenden Terminierungsagenten zu einem bestimmten Zeitpunkt
-
Aktivierung des entsprechenden Produktionssystemmonitoringagenten zu einem bestimmten Zeitpunkt
-
Ubermittlung der Losplane an die Produktionsbereichsagenten
-
Entscheidung iiber die Ausgestaltung der produktionsbereichsiibergreifenden Koordination der Maschinenbelegung fiir die Produktionsbereiche
-
produktionsbereichsiibergreifende Koordination der detaiUierten Maschinenbelegungsplanung fiir die Produktionsbereiche
Rechte:
-
Ermittlung zukiinftiger Losankiinfte durch das ERP-System
-
Aktivierung des Terminierungsagenten
-
Aktivierung des Produktionssystemmonitoringagenten
-
Anfragen an das ERP-System
-
Anfragen und Informieren der Produktionsbereichsagenten
268
ANHANG B. AGENTEN FUR DEN
STEUERUNGSANSATZ
Produktionsbereichsagenten sind fiir eine detaillierte Maschinenbelegungsplanung fiir die (aktuell vorhandenen bzw. in Zukunft eintreffenden) Lose des ihnen zugeordneten Produktionsbereichs verantwortlich.
Agententyp:
Produktionsbereichsagent
Beschreibung:
Produktionsbereichsagenten haben die Aufgabe, eine produktionsbereichsiibergreifende Maschinenbelegung fiir Lose, die sich in den ihnen zugeordneten Produktionsbereichen befinden, durchzufiihren.
Aktivitaten:
-
Entscheidung iiber das verwendete Verfahren zur Maschinenbelegung
-
geeignete Parametrisierung des verwendeten Maschinenbelegungsverfahrens
-
Aktivierung des Produktionsbereichsschedulingagenten zu einem bestimmten Zeitpunkt fiir Scheduling- bzw. Reschedulingtatigkeiten
-
Aktivierung des Produktionsbereichsmonitoringagenten zu einem bestimmten Zeitpunkt
-
Ubermittlung der zur Ausfuhrung vorgesehenen Ablaufplane an die Maschinengruppenagenten
-
Ubermittlung von Ablaufplanen, die nicht unmittelbar zur Ausfiihrung vorgesehen sind, an andere Produktionsbereichsagenten bzw. an den Produktionssystemagenten
Rechte:
-
Aktivierung des Produktionsbereichsschedulingagenten
-
Aktivierung des Produktionsbereichsmonitoringagenten
-
Informieren von Produktionssystem-, Maschinengruppen- und Produktionsbereichsagenten
Maschinengruppenagenten
implementieren
die
Ablaufplane
der
Produktionsbereichs-
steuerungsebene auf der ihnen zugeordneten Maschinengruppe. Im Falle ungiiltiger Ablaufplane im Sinne des in Abschnitt 3.6 beschriebenen Ungiiltigkeitskriteriums wird ein verhandlungsbasiertes Verfahren angewandt, in dem der Maschinengruppenagent als Koordinator wirkt.
Agententyp:
Maschinengruppenagent
Beschreibung:
Maschinengruppenagenten dienen der Implementierung von Ablaufplanen im Produktionssystem sowie der Erkennung von Situationen, in denen es nicht mehr sinnvoU ist, den Ablaufplanen zu folgen. Falls der Ablaufplan ungiiltig ist, ist der Maschinengruppenagent als Koordinator tatig.
Aktivitaten:
-
Aktivierung von Maschinengruppenmonitoringagenten zu bestimmten Zeitpunkten
-
Ubermittlung der Ablaufplane an die (physischen) Maschinen zur unmittelbaren Maschinenbelegung
B.2. AUFTRAGSAGENTEN -
269
Entscheidung iiber Ausnahmesituationen, die eine Benutzung des Ablaufplanes nicht mehr ermoglichen
Rechte:
-
Maschinenbelegung auf Basis eines verhandlungsbasierten Verfahrens
-
Aktivierung von Maschinengruppenmonitoringagenten
-
Entscheidungsunterstiitzung bei der Maschinenbelegung auf physischer Ebene
B.2
-
Bewertung von Ausnahmesituationen
-
Informieren der (physischen) Maschinen
Auftragsagenten
Losagenten haben ZugrifF auf die durch die Produktagenten verwalteten Arbeitsplane. Die Maschinenbelegungsentscheidungen der Losagenten werden unter Beriicksichtigung der Ablaufplane der Produktionsbereichsagenten durchgefuhrt. Falls der Ablaufplan ungiiltig ist, verhandelt der Losagent mit dem Maschinengruppenagenten iiber Bearbeitungsmoghchkeiten fiir das Los auf den Maschinen, die durch den Maschinengruppenagenten verwaltet werden.
Agententyp: Beschreibung:
Ein Losagent unterstiitzt das Los bei der Entscheidung, auf welcher Maschine und wann der nachste Prozess-Schritt des Loses auszufiihren ist.
Aktivitaten:
-
Bestimmung des als nachsten auszufiihrenden Prozess-Schrittes unter Verwendung der Informationen des Arbeitsplanes
Rechte:
-
Nachfrage nach Bearbeitungsmoghchkeiten auf den Maschinen
-
Anfordern von Produktinformationen vom Produktagenten
-
Verhandeln mit dem Maschinengruppenagenten
-
Anfragen an andere Entscheideragenten zur Bereitstellung von Statusinformationen
Batches entstehen durch die temporare Zusammenfassung von Losen. Die Lose eines Batches werden gleichzeitig auf einer Maschine bearbeitet. Nach erfolgter Bearbeitung wird der Batch aufgelost und die den Batch bildenden Lose werden weiter im Produktionssystem bearbeitet. Jeder Batch wird durch einen Batchagenten reprasentiert. Die typische Entscheidungsaufgabe eines Batchagenten besteht darin, zu untersuchen, ob der durch Scheduhngentscheidungen gebildete Batch auch in dieser Form auf der Maschine bearbeitet werden kann. Diese Entscheidung ist notwendig, well in bestimmten Fallen nicht alle batchbildenden Lose entsprechend der durch den Ablaufplan vorgegebenen Zeit zur Bearbeitung zur Verfiigung stehen.
270
ANHANGB.
Agententyp:
AGENTEN FUR DEN
STEUERUNGSANSATZ
Batch-Agent
Beschreibung:
Batchagenten verwalten und steuern den ihnen zugeordneten Batch. Sie treffen Entscheidungen in Zusammenhang mit der Bearbeitung des Batches auf einer Maschine.
Aktivitaten:
-
Nachfrage nach Bearbeitungsmoglichkeiten auf den Maschinen Entscheidung iiber die Bearbeitung von partiell vollstandigen Batches auf einer Maschine
Rechte:
-
Anfrage nach Ankunftszeiten von Losen bei den entsprechenden Losagenten
-
Verhandeln mit dem Maschinengruppenagenten
-
Anfragen an andere Entscheideragenten zur Bereitstellung von Statusinformationen
In Produktionssystemen werden in Abhangigkeit von der Laufzeit und dem Verschleifi der Maschinen vorbeugende Instandhaltungsmafinahmen durchgefiihrt, um Maschinenausfallraten zu minimieren. Jeder vorbeugende Instandhaltungsauftrag wird durch einen eigenen Instandhaltungsagenten reprasentiert. Da vorbeugende Instandhaltungsauftrage genauso wie Lose Maschinenkapazitaten allokieren, konnen sie als spezielle Auftragsagenten behandelt werden.
Agententyp:
Instandhaltungsagent
Beschreibung:
Instandhaltungsagenten dienen zur Verwaltung von vorbeugenden Instandhaltungsauftragen.
Aktivitaten:
-
Festlegung eines geeigneten Zeitfensters, in dem die vorbeugende Instandhaltungsmafinahme durchgefiihrt werden muss
-
Nachfrage nach Moglichkeiten zur Durchfiihrung der vorbeugenden Instandhaltungsmafinahme auf den Maschinen
Rechte:
-
Verhandeln mit dem Maschinengruppenagenten Anfragen an andere Entscheideragenten zur Bereitstellung von Statusinformationen
B.3
Dienst agent en
Der Produktionssystemterminierungsagent hat die Aufgabe, wie in Abschnitt 3.4 beschrieben, Vorgaben fiir den Durchlauf der Lose durch die Produktionsbereiche zu ermitteln. Es existiert genau ein Produktionssystemterminierungsagent fiir das agentenbasierte Steuerungssystem. Der Produktionssystemterminierungsagent verwendet das in 3.4 beschriebene Entscheidungsmodell auf Basis aggregierter Kapazitaten, um Start- und Endtermine fiir Operationen der Lose zu bestimmen.
B.3.
DIENSTAGENTEN
271
Agententyp:
Produktionssystemterminierungsagent
Beschreibung:
Ein Produktionssystemterminierungsagent legt auf Basis von aggregierten Kapazitaten und Operationen Start- und Endtermine fiir den Durchlauf der Lose durch die einzelnen Produktionsbereiche fest.
Aktivitaten:
-
Berechnung von Terminen fiir die Lose auf Produktionssystemebene
-
Informieren des Produktionssystemagenten iiber die ermittelten Termine
Rechte:
-
Lesen der zur Terminierung der Lose notwendigen Informationen
-
Informationsrecht gegeniiber dem Produktionssystemagenten
Der Produktionssystemmonitoringagent ist ein Agent, der vom Produktionssystemagenten zu bestimmten festen Zeitpunkten oder in Folge bestimmter Ereignisse aufgerufen wird. Der Produktionssystemmonitoringagent berechnet LeistungsmaBe fiir einen bestimmten Zeithorizont.
Agententyp:
Produktionssystemmonitoringagent
Beschreibung:
Der Produktionssystemmonitoringagent berechnet Leistungsmafie fiir das gesamte Produktionssystem fiir einen bestimmten Zeithorizont.
Aktivitaten: Rechte:
-
Berechnung des Leistungsmafies
-
Informieren des Produktionssystemagenten
-
Lesen der zum Monitoring des Produktionssystems notwendigen Informationen
-
Informationsrecht gegeniiber dem Produktionssystemagenten
Der Produktionsbereichsscheduhngagent ist ein Agent, der entsprechend der Beschreibung in Abschnitt 3.5 detailherte Ablaufplane fiir Lose ermittelt.
Agententyp:
Produktionsbereichsscheduhngagent
Beschreibung:
Der ProduktionsbereichsscheduHngagent berechnet detaillierte Ablaufplane fiir die Lose, die innerhalb eines bestimmten Zeithorizontes im jeweiligen Produktionsbereich eintreffen.
Aktivitaten: Rechte:
-
Berechnung der detaillierten Ablaufplane
-
Ubergabe der Ablaufplane an den Produktionsbereichsagenten
-
Lesen der zum Berechnen der Ablaufplane notwendigen Informationen
-
Informationsrecht gegeniiber dem Produktionsbereichsagenten
Der Produktionsbereichsmonitoringagent ist ein Agent, der vom Produktionsbereichsagenten zu bestimmten festen Zeitpunkten oder in Folge bestimmter Ereignisse aufgerufen wird. Der
272
ANHANG B. AGENTEN FUR DEN
STEUERUNGSANSATZ
Produktionsbereichsmonitoringagent berechnet ein fest vorgegebenes Leistungsinai3 fiir einen bestimmten Zeithorizont.
Agententyp:
Produktionsbereichsmonitoringagent
Beschreibung:
Der Produktionsbereichsmonitoringagent berechnet Leistungsmafie eines Produktionsbereichs fiir einen bestimmten Zeithorizont.
Aktivitaten: Rechte:
-
Berechnung des Leistungsmafies
-
Informieren des Produktionsbereichsagenten
-
Lesen der zum Monitoring des Produktionsbereichs notwendigen Informationen
-
Informationsrecht gegeniiber dem Produktionsbereichsagenten
Maschinengruppenmonitoringagenten berechnen Leistungsmafie fiir die ihnen zugeordneten Maschinengruppen. Aufierdem werden Maschinenausfalle erkannt und zur Aktualisierung der Kapazitatsmodelle der Produktionssystem- und der Produktionsbereichssteuerungsebene verwendet.
Agententyp:
Maschinengruppenmonitoringagent
Beschreibung:
Der Maschinengruppenmonitoringagent berechnet Leistungsmafie fiir eine bestimmte Maschinengruppe innerhalb eines bestimmten Zeithorizonts. Informationen iiber Maschinenausfalle der Maschinengruppe werden gesammelt.
Aktivitaten: Rechte:
-
Berechnung des Leistungsmafies
-
Informieren des Maschinengruppenagenten
-
Lesen der zum Monitoring der Maschinengruppe notwendigen Informationen
-
Informationsrecht gegeniiber dem Maschinengruppenagenten
Anhang C Verhaltensmodellierung C.l
Verhalten von Entscheideragenten
Die in Abschnitt 6.6.1 beschriebene Funktionalitat von Entscheideragenten wird an dieser Stelle zur Ableitung des entsprechenden Agentenverhaltens verwendet. Ein Entscheideragent bietet die in Tabelle C.l aufgezahlten Verhaltensauspragungen an: Tabelle C.l: Verhalten von Entscheideragenten Verhaltensauspragung
Beschreibung
Prepaje_Decision_Making
Diese Verhaltensauspragung dient zur ModeUierung der Vorbe-
Make_Decision
Durch diese Agentenverhaltensauspragung wird die Entschei-
reitungsphase fur eine Entscheidung. dungsbildungsphase abgebildet. Inform_DM_Agent
Es wird sichergestellt, dass andere Entscheideragenten iiber die Entscheidungen des Agenten informiert werden.
Start_Staff_Agent
Diese Verhaltensauspragung dient zur Abbildung der Aktivierung eines Dienstagenten durch einen Entscheideragenten.
Get_StaflLAgent_Result
Die Ubermittlung von Ergebnissen eines Dienstagenten an einen Entscheideragenten wird erreicht.
Request_DM_Agent_Service
Die Dienste anderer Entscheideragenten konnen durch diese Verhaltensauspragung nachgefragt werden.
Check_AIL
Die Behandlung der Liste gegenwartiger oder zukiinftiger Agentenaktivitaten wird ermoglicht.
Ein beUebiges Agentenverhalten befindet sich, wie in Abschnitt 6.3.2 beschrieben, zu jedem Zeitpunkt in einem wohldefinierten Status. Im Folgenden werden fiir die in Tabelle C.l beschriebenen Verhaltensauspragungen die moglichen Status aufgezahlt. In Tabelle C.2 wird die Verhaltensauspragung Prepare_Decision_Making unter Statusgesichtspunkten detalHert beschrieben.
ANHANG a
274
VERHALTENSMODELLIERUNG
Tabelle C.2: Verhaltensauspragung Prepare_Decisioii_Making Bedeutung
Status Wait_for_Start_Prepare
Die Verhaltensauspragung wartet in diesem Zustand auf die Aktivierung durch den Entscheideragenten.
Do_Prepare_Decision
Der Agent bereitet seine Entscheidung vor, indem entscheidungsrelevante Informationen gesammelt werden.
After_Prepaj:e_Decision
Die Verhaltensauspragung Make_Decision wird aktiviert.
In Tabelle C.3 werden die Status der Verhaltensauspragung Make_Decision beschrieben. Im Gegensatz zu Dienstagenten kann der Entscheidungsfindungsprozess eines Entscheideragenten durch andere Agenten nicht unterbrochen werden. Tabelle C.3: Verhaltensauspragung Make_Decision Status
Bedeutung
Wait_for_Make_Decision
Die Verhaltensauspragung wartet in diesem Zustand auf die Aktivierung durch den Entscheideragenten.
Do_Make_Decision After_Decision_Making
Der Agent trifFt seine Entscheidung. Die Verhaltensauspragung wird beendet und eine Folgeverhaltensauspragung aktiviert.
Die Status der Verhaltensauspragung Inforni_DM_Agent werden in Tabelle C.4 beschrieben. Tabelle C.4: Verhaltensauspragung Inforni_DM_Agent 1
Status
Wait_for_Start_Inform_DMA
Bedeutung Die Verhaltensauspragung wartet in diesem Zustand auf die Aktivierung durch den Entscheideragenten.
Do_Inform_DMA
Der Agent informiert einen anderen Entscheideragenten durch Erzeugung einer entsprechenden Nachricht.
After_DMA_Inform
Die Verhaltensauspragung wird beendet und die im Status Do_Inform_DMA bereitgestellte Nachricht wird an den anderen Entscheideragenten verschickt.
C.l. VERHALTEN VON
275
ENTSCHEIDERAGENTEN
Tabelle C.5 spezifiziert die Verhaltensauspragung Start_Staff_Agent. Tabelle C.5: Verhaltensauspragung Start_StafLAgent Bedeutung
Status 1
Initiate Start StafLAgent
Der Dienstagent wird vom Entscheideragenten gestartet. Der Entscheideragent wartet auf die Zustimmung des je-
Wait_For_Agree_Start
weiligen Dienstagenten. Falls die gewiinschte Aktion nicht durchgefiihrt werden
Alternative-Processing
kann, wird ein alternatives Vorgehen ausgewahlt. Der Entscheideragent wartet auf die Mitteilung der Be-
Wait_For_Done_Prepare
reitschaft zur Problemlosung. Der Entscheideragent iibermittelt die von ihm durch die
Request-Service
Verhaltensauspragung Make_Decision ermittelten Parameter an den Dienstagenten. Wait_For_Request_Service_Result
Der Entscheideragent wartet auf die Bestatigung einer erfolgreichen Parametrisierung.
Start_Service
Der Dienstagent startet den Problemlosungsvorgang.
Wait_For_Agree_Start_Service
Der Entscheideragent wartet auf eine Bestatigung des
Wait_For_Done
Der Entscheideragent wartet auf die Ergebnisse des
|
Dienstagenten. Dienstagenten. Response_Action_Start_StafLAgent
Der Entscheideragent veranlasst weitere Aktionen.
Die Status der Verhaltensauspragung Get_Staff_Agent_Result werden in Tabelle C.6 beschrieben. Tabelle C.6: Verhaltensauspragung Get_Staff_Agent_Result
Status Request-SAResult
Bedeutung Der Entscheideragent fordert einen Dienstagenten auf, ein bestimmtes Ergebnis zu iibermitteln.
Wait_For_SAResult_Request
Der Entscheideragent wartet auf das Ergebnis des Dienstagenten
Response_Action_SAResult
Der Entscheideragent veranlasst weitere Aktionen.
Die Status der Verhaltensauspragung Request_Decision_Making_Agent_Service werden in Tabelle C.7 dargestellt.
276
ANHANG a
VERHALTENSMODELLIERUNG
Tabelle C.7: Verhaltensauspragung Request_Decisioii_Making_Agent_Service Status
Bedeutung
Request_DMA_Service
Der Entscheideragent fordert einen anderen Entscheideragenten auf, eine bestimmte Entscheidung zu treflFen.
Wait_For_DMA_Service_Answer
Der Entscheideragent wartet auf das Ergebnis der Entscheidung des anderen Agenten.
Response_Action_DMA_Service
Der Entscheideragent veranlasst weitere Aktionen.
Die Status der Verhaltensauspragung Check_AIL werden in Tabelle C.8 dargestellt. Tabelle C.8: Verhaltensauspragung Check_AIL Status
Bedeutung
Do_AIL_Check
Die Liste gegenwartiger oder zukiinftiger Aktionen wird nach auszufiihrenden Aktionen durchsucht.
Find_Next_Check_Time
Berechnung des nachsten Zeitpunkts, zu dem die Liste gegenwartiger oder zukiinftiger Aktionen durchsucht werden muss.
C.2
Verhalten von Dienstagenten
Aus der in Abschnitt 6.7.1 genannten Punktionalitat von Dienstagenten wird zunachst das zu realisierende Verhalten abgeleitet. Ein Dienstagent bietet die in Tabelle C.9 aufgezahlten Verhaltensauspragungen an: Tabelle C.9: Verhaltensauspragungen von Dienstagenten Verhalten
Beschreibung
Prepare-Solution
Diese Verhaltensauspragung dient zur Modellierung der Phase der
Parameterize-Algorithm
Es findet eine Parameterversorgung des Losungsalgorithmus statt.
Solve_or_Interrupt
Es werden zulassige Losungen des Problems bestimmt. Der Pro-
Problemlosungsvorbereitung.
blemlosungsvorgang kann durch den Entscheideragenten unterbrochen werden. Communicate_Solution
Diese Verhaltensauspragung dient dazu, den zum Dienstagenten gehorigen Entscheideragenten iiber das Ergebnis des Problemlosungsvorganges zu benachrichtigen.
0.2. VERHALTEN VON
277
DIENSTAGENTEN
Eine konkrete Verhaltensauspragung befindet sich zu jedem Zeitpunkt in einem bestimmten Verhaltensstatus. In Tabelle C.IO wird die Verhaltensauspragung Prepare_Solution aus Statussicht detailliert beschrieben. Tabelle C.IO: Verhaltensauspragung Prepare_Solution Bedeutung
Status
Die Verhaltensauspragung wartet in diesem Zustand auf die Ak-
Wait_for_Start_Prepare
tivierung durch einen Entscheideragenten. Der Agent bereitet die Problemlosung vor, indem das Losungs-
Do_Prepare_Solution
verfahren mit Daten versorgt wird. Die Verhaltensauspragung Parameterize_Algorithm wird akti-
After_PrepaTe_Solution
viert.
Die Verhaltensauspragung Parameterize_Algorithm wird unter Statusgesichtspunkten in Tabelle C.ll beschrieben. Tabelle C.ll: Auspragung Parameterize_A.lgorithm Status
Bedeutung
Wait_for_Start_Parameterize
In diesem Zustand wird auf die Aktivierung durch einen Entscheideragenten gewartet.
Do_Parameterize
Der Agent berechnet interne Parameter unter Verwendung der externen Parameter und der durch Prepare_Solution erzeugten Daten. Objekte von Klassen, die das Losungsverfahren kapseln, werden erzeugt.
After_Parameterize
Solve_or_Interrupt wird aktiviert.
Die Verhaltensauspragung Solve_or_Interrupt wird in Tabelle C.12 dargestellt. Tabelle C.12: Verhaltensauspragung Solve_orJnterrupt Status Wait_for_Start_Solve
Bedeutung In diesem Zustand wird auf die Aktivierung durch einen Entscheideragenten gewartet.
Do_Solve
Der Agent startet das Losungsverfahren. Die Verhaltensauspragung geht in den Zustand Wait_for_Interrupt iiber.
Wait_for_Interrupt
Der Agent wartet in diesem Status auf die Unterbrechung des Losungsvorganges zum nachstmoglichen Zeitpunkt.
Do_Interrupt After_Solve_or_Interrupt
Der Losungsvorgang wird unterbrochen. Communicate_Solution wird aktiviert.
278
ANHANG a VERHALTENSMODELLIERUNG
Eine Beschreibung der Dienstagentenverhaltensauspragung Communicate_Solution erfolgt in Tabelle C.13. Tabelle C.13: Auspragung Communicate_Solution Status Wait_for_Start_Coinmunicate
Bedeutung Die Verhaltensauspragung wartet in diesem Zustand auf die Aktivierung durch einen Entscheideragenten.
Do_Communicate
Der Agent versendet eine Nachricht mit der durch Solve_or_Interrupt ermittelten Problemlosung.
De£ictivate_Agent
Die Verhaltensauspragung CommunicateJSolution wird deaktiviert.