26.01.2013 Aufrufe

Supply Chain Scheduling mit Teams von Agenten

Supply Chain Scheduling mit Teams von Agenten

Supply Chain Scheduling mit Teams von Agenten

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Diplomarbeit<br />

<strong>Supply</strong> <strong>Chain</strong> <strong>Scheduling</strong> <strong>mit</strong> <strong>Teams</strong><br />

<strong>von</strong> <strong>Agenten</strong><br />

Klaas Hambörger<br />

16. April 2002 – 14. Oktober 2002<br />

Erstgutachter: Prof. Dr. Hans-Jürgen Appelrath<br />

Zweitgutachter und Betreuer: Priv.-Doz. Dr. Jürgen Sauer


Inhaltsverzeichnis<br />

Inhaltsverzeichnis iii<br />

1 Einleitung 1<br />

1.1 Motivation und Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . 1<br />

1.2 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />

2 Grundlagen 5<br />

2.1 Ablaufplanung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

2.1.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

2.1.2 Modellierung eines Ablaufplanungsproblems . . . . . . . . . . . 9<br />

2.1.3 Multi Site <strong>Scheduling</strong> . . . . . . . . . . . . . . . . . . . . . . . 14<br />

2.1.4 Benutzerinteraktion . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

2.2 <strong>Supply</strong> <strong>Chain</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

2.2.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

2.2.2 <strong>Supply</strong> <strong>Chain</strong> Management . . . . . . . . . . . . . . . . . . . . . 19<br />

2.3 <strong>Agenten</strong>systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />

2.3.1 <strong>Agenten</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />

2.3.2 Multiagenten-Systeme . . . . . . . . . . . . . . . . . . . . . . . 29<br />

2.3.3 Kooperation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

2.3.4 AMPA-Projekt . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

3 Problemstellung 37<br />

3.1 Anforderungen an das Szenario . . . . . . . . . . . . . . . . . . . . . . . 37<br />

3.2 Szenario: Produktion und Auslieferung <strong>von</strong> Euro-Münzen . . . . . . . . 38<br />

3.2.1 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />

3.2.2 Geldmengensteuerung . . . . . . . . . . . . . . . . . . . . . . . 38<br />

3.2.3 Euro als Produkt . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />

3.2.4 Rondenproduktion . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

3.2.5 Münzprägung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />

iii


Inhaltsverzeichnis<br />

3.2.6 Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

3.2.7 Lagerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

3.3 Anmerkungen und Anpassungen . . . . . . . . . . . . . . . . . . . . . . 45<br />

4 Entwurf 47<br />

4.1 <strong>Teams</strong> <strong>von</strong> <strong>Agenten</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />

4.2 Vorgehensmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

4.2.1 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

4.2.2 Phasen des Vorgehensmodells . . . . . . . . . . . . . . . . . . . 50<br />

4.3 Umsetzung für das Beispiel Euro-Münzen . . . . . . . . . . . . . . . . . 58<br />

4.3.1 Analyse des Realwelt-Szenarios . . . . . . . . . . . . . . . . . . 58<br />

4.3.2 Mapping der relevanten Stellen auf <strong>Agenten</strong> . . . . . . . . . . . . 59<br />

4.3.3 Hinzufügen der Beziehungen und <strong>Teams</strong> . . . . . . . . . . . . . 63<br />

4.3.4 Präzisierung der <strong>Agenten</strong> . . . . . . . . . . . . . . . . . . . . . . 65<br />

4.3.5 Entwurf / Auswahl der <strong>Agenten</strong>plattform . . . . . . . . . . . . . 69<br />

4.3.6 Ausgestaltung der Anforderungen . . . . . . . . . . . . . . . . . 77<br />

4.3.7 Integration des Systems . . . . . . . . . . . . . . . . . . . . . . 95<br />

4.3.8 Test und Verifikation . . . . . . . . . . . . . . . . . . . . . . . . 96<br />

5 Implementierung 97<br />

5.1 Stamm- und Testdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br />

5.1.1 Stammdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br />

5.1.2 Testdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106<br />

5.2 Klassenstruktur des Multiagenten-Systems . . . . . . . . . . . . . . . . . 106<br />

5.2.1 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106<br />

5.2.2 Änderungen an den Frozen Spots . . . . . . . . . . . . . . . . . 106<br />

5.2.3 Änderungen an den Hot Spots . . . . . . . . . . . . . . . . . . . 108<br />

5.3 Dateien und Startumgebung . . . . . . . . . . . . . . . . . . . . . . . . 109<br />

5.3.1 Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109<br />

5.3.2 Sourcecode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110<br />

5.3.3 Startumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . . 110<br />

5.4 Beispielablauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111<br />

6 Zusammenfassung und Ausblick 115<br />

6.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115<br />

6.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116<br />

Abbildungsverzeichnis 120<br />

iv


Inhaltsverzeichnis<br />

Tabellenverzeichnis 122<br />

Literaturverzeichnis 126<br />

Danksagung 127<br />

v


Inhaltsverzeichnis<br />

vi


1 Einleitung<br />

1.1 Motivation und Aufgabenstellung<br />

Betriebliche Produktionsprozesse sind häufig nicht mehr auf einen isolierten Standort be-<br />

schränkt. Vielmehr findet ein umfangreicher Austausch <strong>von</strong> Rohstoffen, Teil- und Fertig-<br />

produkten zwischen verschiedenen Herstellungs- und Lagerorten statt. Im Gegensatz zum<br />

Einzelbetrieb müssen Schedules für mehrere kooperierende Unternehmen erstellt und für<br />

globale Ziele optimiert werden. <strong>Supply</strong> <strong>Chain</strong> Szenarien erweitern das Problemspektrum<br />

der Ablaufplanung daher durch neue, spezifische Probleme:<br />

• Der Informationsfluss muss unternehmensübergreifend stattfinden und ist daher<br />

schwieriger und oft fehlerbehaftet, z.B. durch unterschiedliche (interne) Darstel-<br />

lung <strong>von</strong> Objekten.<br />

• Optimierung aus Sicht eines Einzelbetriebes kollidiert <strong>mit</strong> den für einen erfolgrei-<br />

chen Betrieb der Gesamtkette erforderlichen Parametern.<br />

• Reaktive Planung als Antwort auf aktuelle Veränderungen und Probleme findet<br />

nicht statt.<br />

• Unterschiedliche Prozessarten (Produktion, Transport, Lagerung) müssen in einen<br />

Gesamtablauf integriert werden.<br />

Ziel dieser Diplomarbeit ist es, einen Lösungsansatz für ein hinreichend komplexes Sup-<br />

ply <strong>Chain</strong> Szenario zu entwerfen, <strong>mit</strong> dem es möglich ist, die charakteristischen Aufgaben<br />

des Themenfeldes zu verdeutlichen.<br />

Zentrales Element sind dabei „<strong>Teams</strong> Of Agents“, verschiedene Gruppen <strong>von</strong> <strong>Agenten</strong>,<br />

die beteiligte Einheiten der <strong>Supply</strong> <strong>Chain</strong> modellieren und in Abhängigkeit <strong>von</strong> ihrer Posi-<br />

tion im System Teilpläne des Gesamtplans erstellen. Um den unterschiedlichen Prozessen<br />

gerecht werden zu können, müssen für einzelne <strong>Teams</strong> verschiedene Planungsverfahren<br />

bereitgestellt werden, welche z.B. auf Produktions-, Transport- oder Lagerraumplanung<br />

1


1 Einleitung<br />

optimiert sind. Ebenfalls <strong>von</strong> Bedeutung ist die Konzeption einer effizienten Kommuni-<br />

kationsstruktur, die im Gegensatz zu bestehenden Systemen in der Lage ist, auch auf dy-<br />

namische Veränderungen selbsttätig zu reagieren, ohne dabei einen „lähmenden“ Nach-<br />

richtenüberfluss zu erzeugen.<br />

Da<strong>mit</strong> ein geeignetes Beispielszenario zur Verfügung steht, wird zunächst untersucht,<br />

welche Abläufe erforderlich sind, um Münzen der neuen Euro-Währung zu fertigen und<br />

sicher zu den Kunden (Landeszentralbanken, Geschäftsbanken) zu transportieren.<br />

In der Arbeitsgruppe Planungssysteme bereits vorliegende Ergebnisse – etwa ein Fra-<br />

mework für Planungsagenten – sollen <strong>mit</strong> in den Lösungsansatz integriert werden, um<br />

redundanten Entwicklungsaufwand zu vermeiden und die Eignung für das betrachtete<br />

Problemfeld zu überprüfen.<br />

Zur Veranschaulichung der erarbeiteten Lösungsstrategie erfolgt abschließend eine proto-<br />

typische Implementierung des Systems, wobei auf zukünftige Erweiterbarkeit, z.B. durch<br />

eine graphische Benutzungsschnittstelle, Wert zu legen ist. Als Zielsprache wird Java �<br />

verwendet, da Java � durch die Verfügbarkeit leistungsfähiger Entwicklungswerkzeuge,<br />

Plattformunabhängigkeit und das Vorhandensein benötigter Technologien (Netzwerkkom-<br />

munikation, Datenbankzugriff, Multithreading) gekennzeichnet ist.<br />

1.2 Aufbau der Arbeit<br />

Diese Diplomarbeit ist in sechs Kapitel untergliedert.<br />

Das Grundlagenkapitel ver<strong>mit</strong>telt zunächst wichtige theoretische Kenntnisse für das Ver-<br />

ständnis der betrachteten Domäne. Dazu gehören Informationen über Ablaufplanung all-<br />

gemein, sowie über die Verfeinerungen des Multi Site <strong>Scheduling</strong> und der <strong>Supply</strong> <strong>Chain</strong>s.<br />

<strong>Agenten</strong> als angestrebtes Realisierungsparadigma werden ebenfalls thematisiert.<br />

Es folgt ein konkretes Beispiel einer realistischen <strong>Supply</strong> <strong>Chain</strong>, konkret die Prägung der<br />

Euro-Münzen, welches die Grundlage für die Veranschaulichung der involvierten Kom-<br />

plexität und die Entwicklung der weiteren Vorgehensweise ist.<br />

Die Kapitel Entwurf und Implementierung beschäftigen sich zunächst <strong>mit</strong> der Erarbeitung<br />

eines Vorgehensmodells zur Umsetzung des aus der Realwelt stammenden Szenarios auf<br />

ein Multiagentensystem, welches im weiteren Verlauf dann ausgestaltet wird. Dabei wer-<br />

2


1.2 Aufbau der Arbeit<br />

den die Anforderungen an Algorithmen, Datenstrukturen und Kommunikationsstrukturen<br />

<strong>mit</strong> Inhalten gefüllt. Ausgewählte und wichtige Aspekte der prototypischen Implementie-<br />

rung werden erläutert.<br />

Eine Zusammenstellung und abschließende Einordnung der erzielten Ergebnisse erfolgen<br />

schließlich im Kapitel Zusammenfassung und Ausblick.<br />

3


1 Einleitung<br />

4


2 Grundlagen<br />

In diesem Abschnitt werden die Grundlagen eingeführt, die für das Verständnis der im<br />

späteren Verlauf der Arbeit entwickelten Konzepte benötigt werden.<br />

Dazu erfolgt eine Einführung in die Thematik der Ablaufplanung, wobei einige wichti-<br />

ge Vertiefungen, wie etwa verteilte Ablaufplanung (Multi Site <strong>Scheduling</strong>) und <strong>Supply</strong><br />

<strong>Chain</strong> Management, berücksichtigt werden. Da eine Realisierung <strong>mit</strong>tels <strong>Agenten</strong> vorge-<br />

sehen ist, wird auch dieses Konzept vorgestellt.<br />

2.1 Ablaufplanung<br />

Die Ablaufplanung umfasst einen Teilbereich der Aufgaben, die im Rahmen der Pro-<br />

duktionsplanung und -steuerung (PPS) zu bewältigen sind. PPS beschäftigt sich <strong>mit</strong> der<br />

Koordination aller dispositiven Vorgänge eines produzierenden Unternehmens, <strong>von</strong> der<br />

Auftragsannahme bis zur Produktlieferung. Dabei unterliegen die Planungsvorgänge ge-<br />

wissen Rahmenbedingungen (Constraints), die temporaler, kapazitiver oder technischer<br />

Art sein können. Außerdem gilt es, unterschiedliche betriebswirtschaftliche Zielvorstel-<br />

lungen zu erfüllen.<br />

Die hier gegebene Einführung und die vorgestellte Modellierung der Ablaufplanung ba-<br />

sieren auf Arbeiten <strong>von</strong> Sauer ([Sau93], [Sau01d]).<br />

2.1.1 Grundbegriffe<br />

Ablaufplanung bezeichnet den Vorgang, eine Menge <strong>von</strong> Aufträgen auf eine Menge zur<br />

Verfügung stehender Ressourcen (z.B. Maschinen, Personal, Rohmaterialien) kapazitäts-<br />

gerecht zuzuordnen, wobei vorgegebene Bedingungen (Constraints) zu erfüllen sind. Da-<br />

bei integriert die Ablaufplanung verschiedene Teilbereiche der PPS. Es handelt sich dabei<br />

um Aufgaben aus der Primärbedarfsplanung, Materialwirtschaft, Kapazitätsterminierung,<br />

5


2 Grundlagen<br />

Kapazitätsabgleich und Produktionssteuerung. Abbildung 2.1 zeigt das Zusammenwirken<br />

der verschiedenen Stufen der Planung im betriebswirtschaftlichen Kontext. Ergebnis der<br />

Ablaufplanung ist der Ablaufplan.<br />

Ebenen der Ablaufplanung Ergebnis<br />

Abbildung 2.1: Ebenen der Ablaufplanung<br />

Aufgabe der Primärbedarfsplanung ist es, in Abstimmung <strong>mit</strong> Auftragssteuerung und<br />

Kalkulation festzulegen, welche Produkte <strong>mit</strong>tel- und langfristig hergestellt werden sol-<br />

len. Grundlage dafür bilden Heuristiken, die sich Erfahrungswerten, früheren Absatzzah-<br />

len und Marktprognosen bedienen. Bereits vorhandene Aufträge und aktuell vorhandene<br />

Lagerbestände fließen <strong>mit</strong> in die Betrachtung ein. Resultat dieser Planung ist ein Grob-<br />

plan, der erste, wenn auch noch relativ ungenaue Endtermine für die Produktion enthält.<br />

Im nächsten Planungsschritt, der Materialwirtschaft, wird dieser Grobplan konkretisiert.<br />

Dazu werden aus dem Primärbedarf entsprechende Sekundärbedarfe, Rohstoffe und Zwi-<br />

schenprodukte <strong>mit</strong> ihrer termingerechten Bereitstellung abgeleitet. Die dazu benötigten<br />

Informationen werden Stücklisten entnommen. Es entsteht ein verfeinerter Grobplan, der<br />

bereits konkrete End- und späteste Starttermine enthält, bei deren Berechnung aber noch<br />

keine kapazitiven Beschränkungen berücksichtigt werden.<br />

6


2.1 Ablaufplanung<br />

Die Lokale Planung umfasst die Bereiche Kapazitätsterminierung, Kapazitätsabgleich<br />

und die Produktionssteuerung. In diesem Schritt der Planung erfolgt die Erstellung <strong>von</strong><br />

Feinplänen. Ein Feinplan berücksichtigt auch zur Verfügung stehende Ressourcen, de-<br />

ren Kapazitäten und bereits verplante Aktivitäten. Die Lokale Planung wird durch die<br />

Betriebsdatenerfassung (BDE) unterstützt, deren Informationen Kontrolle über den Pro-<br />

duktionsverlauf und gegebenenfalls Plankorrekturen ermöglichen.<br />

Nach Sauer ([Sau93]) sind für die Domäne der Ablaufplanung folgende Komponenten<br />

wesentlich:<br />

• Aufträge: Vorgaben für die Herstellung eines bestimmten Produkts. Sie enthalten<br />

Informationen über Menge, Start und Ende der Produktion.<br />

• Produkte: Ergebnisse des Produktionsprozesses, herzustellende Erzeugnisse.<br />

• Varianten: Als Varianten bezeichnet man alternative Herstellungsvorschriften für<br />

ein Produkt.<br />

• Operationen: Operationen sind die einzelnen Herstellungschritte im Produktions-<br />

prozess. Jede Variante eines Prozesses besteht aus einer Menge unterschiedlicher<br />

Operationen, die in einer bestimmten Reihenfolge ausgeführt werden müssen.<br />

• Maschinen: Ressourcen, auf denen die Operationen während der Produktion durch-<br />

geführt werden. Üblich ist eine redundante Auslegung, d.h., für eine Operation ste-<br />

hen alternativ verwendbare Maschinen zur Verfügung.<br />

• Zeiten: Zeiten sind neben Maschinen der eigentliche Planungsfaktor. Operationen<br />

werden auf Maschinen zu bestimmten Zeiten – typischerweise in Intervallen – ein-<br />

geplant. Für die rechnergestützte Planung finden meist keine Realzeitangaben, son-<br />

dern diskrete Zeitschritte Verwendung.<br />

Auch diese Arbeit stützt sich auf diskrete Zeitschritte. Ausgangspunkt der Darstel-<br />

lung ist ein frei zu wählendes, festes Datum in der Vergangenheit. Die Kardinalität<br />

der Schritte ist konstant, kann jedoch frei eingestellt werden, um ein geeignetes<br />

Mass für die Planung zu wählen.<br />

• Ereignisse: Ereignisse sind ein weiteres Merkmal der Ablaufplanung. Hierunter<br />

werden alle Einflüsse zusammengefasst, die eine Änderung des Plans erforderlich<br />

machen. Ereignisse können wiederum Folgeereignisse auslösen.<br />

Bereits angesprochen wurde ein weiterer elementarer Bestandteil der Ablaufplanung, die<br />

Rahmenbedingungen (Constraints). Diese werden unterschieden in Hard Constraints (Re-<br />

striktionen), welche unbedingt zu erfüllen sind, und Soft Constraints (Präferenzen), deren<br />

7


2 Grundlagen<br />

Erfüllung wünschenswert ist. Bei Interesse findet sich bei Henseler ([Hen98]) eine for-<br />

malere Beschreibung, die über das hier Eingeführte hinausgeht.<br />

Hard Constraints bestehen u.a. aus den Produktionsvorschriften. Diese beschreiben die<br />

zur Herstellung eines Produktes notwendigen Operationen und legen deren Ausführungs-<br />

reihenfolge, sowie die zu verwendenden Ressourcen fest. Für den Fall, dass in der Produk-<br />

tionsvorschrift unterschiedliche Varianten vorgesehen sind, muss eine da<strong>von</strong> ausgewählt<br />

werden.<br />

Soft Constraints finden für die Operationalisierung <strong>von</strong> betriebswirtschaftlichen Planungs-<br />

zielen Verwendung. Mögliche Ziele sind z.B. gute Maschinenauslastung, Minimierung<br />

<strong>von</strong> Lagerkosten, Einhaltung <strong>von</strong> vorgegebenen Fertigungsterminen oder Minimierung<br />

<strong>von</strong> Rüstkosten bei Universalmaschinen durch eine möglichst homogene Einplanung un-<br />

terschiedlicher Produkte. In der Realität ergibt sich das Problem, dass Ziele gegensätzlich<br />

sein können und da<strong>mit</strong> nicht gleichzeitig erfüllbar sind.<br />

Werden im Verlauf der Planerstellung Constraints verletzt, wird dies als Konflikt bezeich-<br />

net. Bei Planerstellung oder -änderung, egal, ob durch das Ablaufplanungssystem oder<br />

einen Benutzereingriff, sind Konflikte zu vermeiden. Für Hard Contraints ist dies zwin-<br />

gend erforderlich.<br />

Ein Ablaufplan, der sämtliche Hard Constraints erfüllt, heisst gültig. Aufgrund des „Di-<br />

lemmas der Ablaufplanung“, das eine gleichzeitige Erfüllung sämtlicher Soft Constraints<br />

ausschließt, ist das Ziel der Ablaufplanung ein Plan, der sämtliche Hard Constraints erfüllt<br />

und ein Optimum bei der Erfüllung der Soft Constraints erreicht. Um dieses zu gewähr-<br />

leisten, wird eine Bewertungsfunktion eingesetzt, deren Ergebnis Aufschluss über den<br />

besten unter verschiedenen Plänen gibt.<br />

Im Allgemeinen ist die Suche nach der optimalen Lösung jedoch NP-vollständig und da-<br />

<strong>mit</strong> nur <strong>mit</strong> exponentiell steigendem Berechnungsaufwand möglich. Für die Praxis ist dies<br />

nicht geeignet, weshalb heuristische Näherungsverfahren eingesetzt werden, die ein zu-<br />

frieden stellendes Ergebnis liefern.<br />

Ablaufpläne können entweder komplett neu erstellt oder modifiziert werden, falls dies als<br />

Reaktion auf Veränderungen im betrieblichen Ablauf erforderlich sein sollte. Planende<br />

Instanzen können das System oder der Benutzer sein. Diese Möglichkeiten werden wie<br />

folgt klassifiziert:<br />

8


2.1 Ablaufplanung<br />

• Prädiktive Planung (predictive scheduling): Ein Plan für eine zukünftige Planungs-<br />

periode wird erstellt, der den Ablauf der Produktion im Voraus festlegt. Grundlage<br />

bilden Erfahrungs- und Schätzwerte (Soll-Daten).<br />

• Reaktive Planung (reactive scheduling): Ein bestehender Plan wird an veränderte<br />

Bedingungen der Umgebung angepasst. Gründe für die Anpassung sind typischer-<br />

weise Ereignisse, wie etwa der Ausfall einer Maschine oder die Änderung eines<br />

Auftrags. Um zur Lösung der resultierenden Konflikte nicht den kompletten Plan<br />

neu berechnen zu müssen, erfolgt eine Umplanung, die folgendes zu berücksichigen<br />

hat:<br />

– Die Antwortzeit des Systems sollte kurz sein und schnell einen konfliktfreien<br />

Plan liefern.<br />

– Die Gesamtqualität des bestehenden Plans bezügl. der operationalisierten Zie-<br />

le sollte erhalten bleiben.<br />

– Die Veränderungen sollten möglichst lokal durchgeführt werden, ohne kon-<br />

fliktfreie Abschnitte des Plans zu berühren.<br />

Bei bestehender Anbindung einer BDE, welche die in der Produktion aufgetretenen<br />

Ereignisse an das Planungssystem zurückmeldet, kann ein Regelkreis zwischen Pla-<br />

nung und Durchführung etabliert werden ([Hen98]).<br />

• Interaktive Planung (interactive scheduling): Der Benutzer des Ablaufplanungssys-<br />

tems führt eine manuelle Veränderung am Ablaufplan durch. Ermöglicht wird dies<br />

typischerweise durch eine graphische Benutzungsschnittstelle. Die Motivation für<br />

einen solchen Eingriff liegt entweder in einer reaktiven Veränderung oder dient der<br />

Realisierung einer Präferenz, die das automatische System so nicht leistet. Wichtig<br />

ist, dass manuell durchgeführte Veränderungen durch eine automatische Konsis-<br />

tenzprüfung auf eventuelle Konflikte getestet werden.<br />

2.1.2 Modellierung eines Ablaufplanungsproblems<br />

Für den weiteren Verlauf der Arbeit ist die Definition einiger Begriffe unumgänglich.<br />

Diese beruhen auf Sauer ([Sau01d]), allerdings wird hier weitestgehend auf strenge For-<br />

malismen verzichtet und das Wichtigste informell dargestellt.<br />

9


2 Grundlagen<br />

Definition 2.1: Ablaufplanungsproblem<br />

Ein Ablaufplanungsproblem wird durch ein 7-Tupel (R, P, A, HC, SC, E, Z)<br />

beschrieben.<br />

Dabei bezeichnet<br />

R eine Menge <strong>von</strong> Ressourcen,<br />

P eine Menge <strong>von</strong> Produkten,<br />

A eine Menge <strong>von</strong> Produktionsaufträgen,<br />

HC eine Menge <strong>von</strong> Hard Constraints,<br />

SC eine Menge <strong>von</strong> Soft Constraints,<br />

E eine Menge <strong>von</strong> Ereignissen und<br />

Z eine Bewertungsfunktion.<br />

10<br />

• R={r1, ..., rm}, R ist endlich und nicht leer. Jede Ressource ri steht zu jedem Zeit-<br />

punkt nur <strong>mit</strong> einer beschränkten Kapazität zur Verfügung.<br />

• P={p1, ..., pn}, P ist endlich und nicht leer. Jedes Produkt pj enthält eine Pro-<br />

duktionsvorschrift, die Informationen über Varianten <strong>mit</strong> ihren notwendigen Ferti-<br />

gungsoperationen, deren Vorrangrelation, sowie über verwendbare Ressourcen <strong>mit</strong><br />

Produktions- und Rüstzeiten enthält. Zur Beschreibung <strong>von</strong> pj ergibt sich daher ein<br />

6-Tupel der Form (pname, v, o, r, d, rz). Dabei ist<br />

pname die Produktbezeichnung,<br />

v die Variantennummer,<br />

o die Operationsnummer,<br />

r eine alternativ einsetzbare Ressource,<br />

d die Dauer der Operation und<br />

rz die Rüstzeit der Ressource, auf der die Operation ausführbar ist.<br />

Zur Festlegung der Bearbeitungsreihenfolge der Operationen existiert eine Vorrang-<br />

relation.<br />

• A ist endlich und nicht leer. Jeder Produktionsauftrag a ∈ A kann durch ein 6-Tupel<br />

beschrieben werden: a = (aname, p, s, e, m, pri). Dabei ist<br />

aname der Auftragsname,<br />

p das zu fertigende Produkt,<br />

s der früheste mögliche Startzeitpunkt für die Produktion,<br />

e der späteste mögliche Endzeitpunkt für die Produktion,<br />

m die zu produzierende Menge und<br />

pri die Priorität des Auftrags.


2.1 Ablaufplanung<br />

• HC ist endlich und nicht leer. Zu den wichtigsten Hard Constraints zählen:<br />

hc1: Alle Aufträge müssen eingeplant werden.<br />

hc2: Zu jedem Auftrag ist genau eine Variante des Produkts einzuplanen.<br />

hc3: Alle Operationen der gewählten Variante müssen eingeplant werden.<br />

hc4: Die Vorrangrelation zwischen einzelnen Operationen einer gewählten Va-<br />

riante muss eingehalten werden.<br />

hc5: Jede Operation kann nur auf einer dafür bestimmten Ressource eingeplant<br />

werden.<br />

hc6: Auf jeder Ressource kann zu einem bestimmten Zeitpunkt nur eine Ope-<br />

ration ausgeführt werden.<br />

hc7: Für die Berechnung der Produktionsdauer ist die gewünschte Menge zu<br />

berücksichtigen.<br />

hc8: Das Ende einer Operation ergibt sich aus Startzeitpunkt plus Dauer der<br />

Operation.<br />

hc9: Die Startzeit einer Operation darf nicht vor der Startzeit des zugehörigen<br />

Auftrags liegen.<br />

hc10: Nicht verfügbare Zeitschritte bleiben bei der Planung unberücksichtigt.<br />

hc11: Einplanungen in der Vergangenheit dürfen nicht verändert werden.<br />

Gemäß Sauer ([Sau01d]) stellen die hier aufgezählten Hard Constraints nur eine<br />

Auswahl dar, im jeweiligen Anwendungsfall können weitere hinzukommen.<br />

• SC ist endlich und (im realen Anwendungsfall) nicht leer. Zu den wichtigsten Soft<br />

Constraints zählen:<br />

sc1: Vorgegebene Start- und Endtermine sind einzuhalten.<br />

sc2: Ressourcen sollten möglichst gut ausgelastet werden.<br />

sc3: Durchlaufzeiten sind zu minimieren, um Kapitalbindung durch hohe La-<br />

gerhaltung zu vermeiden.<br />

sc4: Rüstkosten sind zu minimieren.<br />

sc5: Engpassressourcen sind zu entlasten.<br />

sc6: Personal- und Lagerbeschränkungen sollten eingehalten werden.<br />

sc7: Die Planung ist hinsichtlich der Zielfunktion zu optimieren.<br />

11


2 Grundlagen<br />

12<br />

Auch für die vorgestellten Soft Constraints gilt, dass sich im konkreten Anwen-<br />

dungsfall sicherlich weitere finden lassen.<br />

• E ist endlich und nicht leer. Jedes Ereignis e ∈ E stellt eine Änderung in der Pla-<br />

nungsumgebung dar, die in der Regel zu einem Konflikt führt. Bei einem Ereignis e<br />

handelt es sich entweder um einen konkreten Vorfall aus der Realwelt oder um ein<br />

Folgeereignis, das aus einer Bearbeitung eines externen Ereignisses resultiert.<br />

Mögliche Ereignisse sind u.a.:<br />

e1: Neuer Auftrag,<br />

e2: Stornierung eines Auftrags,<br />

e3: Änderung des Starttermins eines Auftrags,<br />

e4: Änderung des Endtermins eines Auftrags,<br />

e5: Änderung der Auftragsmenge,<br />

e6: Änderung der Auftragspriorität,<br />

e7: Ändern des Produktes oder der Produktvariante für einen Auftrag,<br />

e8: Splitten eines Auftrags,<br />

e9: Störung/Reparatur einer Maschine,<br />

e10: Wartungsperiode einfügen,<br />

e11: Maschinenintensität ändern,<br />

e12: Schichtzahl ändern,<br />

e13: Ressource ändern,<br />

e14: Rückmeldung <strong>von</strong> Maschinendaten/Fertigungsdaten,<br />

e15: Auswärtige Fertigung.<br />

Für konkrete Anwendungen müssen u.U. weitere Ereignisse definiert werden.<br />

• Z bezeichnet die Menge der Bewertungsfunktionen (Zielfunktionen). Eine Ziel-<br />

funktion zf ∈ Z ordnet einem zulässigen Plan eine reelle Zahl als Bewertung für die<br />

Güte des Plans zu. Da nicht alle für einen Plan wünschenswerten Kriterien <strong>mit</strong>tels<br />

einer Funktion modellierbar sind, beschränken sich Zielfunktionen häufig auf die<br />

Erfassung <strong>von</strong> Durchlauf- oder Fertigstellungszeiten.<br />

Jaudszim ([Jau98]) nennt Beispiele für Bewertungsfunktionen:<br />

zf1: Summe der Verspätungen (lateness),<br />

zf2: Mittlere Verspätung (mean lateness),


zf3: Summe der Terminüberschreitungen/Verzüge (tardiness),<br />

zf4: Anzahl der Aufträge <strong>mit</strong> Verzug (tardy orders),<br />

zf5: Mittlerer Verzug (mean tardiness),<br />

2.1 Ablaufplanung<br />

zf6: Summe der gewichteten Terminüberschreitungen (weighted tardiness),<br />

zf7: Summe der quadrierten Verzüge.<br />

Verspätungen pro Auftrag können negativ sein, der Verzug eines Auftrags ist mini-<br />

mal null.<br />

Als Ergebnis der Ablaufplanung wurde bereits der Ablaufplan genannt.<br />

Definition 2.2: Ablaufplan<br />

Ein Plan (Ablaufplan) ist eine Menge <strong>von</strong> Belegungen. PL sei die endliche, nicht leere<br />

Menge der Pläne.<br />

Zu der Belegung eines Plans gehören die verplante Operation eines Auftrags, die da<strong>mit</strong><br />

belegte Ressource, sowie Start- und Endzeitpunkt der Operation.<br />

Ein Plan kann unterschiedliche, für seine Qualität maßgebende Eigenschaften aufweisen,<br />

die im Folgenden definiert werden.<br />

Definition 2.3: Zulässiger oder gültiger Plan<br />

Ein Plan pl ∈ PL heißt genau dann zulässig oder gültig, wenn er alle Hard Constraints<br />

aus HC erfüllt. Die Menge der zulässigen Pläne heißt ZPL.<br />

Definition 2.4: Konsistenter, inkonsistenter Plan<br />

Ein Plan pl ∈ PL heißt genau dann konsistent, wenn er zulässig oder gültig ist und<br />

zusätzlich alle Soft Constraints aus SC erfüllt.<br />

Die Menge der konsistenten Pläne heißt KPL.<br />

Ein Plan pl ∈ PL heißt genau dann inkonsistent, wenn er nicht alle Constraints aus<br />

(HC ∪ SC) erfüllt.<br />

Definition 2.5: Optimaler Plan<br />

Ein konsistenter Plan pl ∈ KPL heißt optimal, wenn er optimal bezüglich der gewählten<br />

Bewertungsfunktion ist.<br />

13


2 Grundlagen<br />

2.1.3 Multi Site <strong>Scheduling</strong><br />

2.1.3.1 Überblick<br />

In der Literatur und auch im vorangegangenen Abschnitt werden Probleme der Ablauf-<br />

planung häufig primär aus Sicht einer einzelnen, isolierten Produktionsstätte betrachtet.<br />

Dabei bleibt eine Vielzahl <strong>von</strong> Fragestellungen unberücksichtigt, die sich dann ergeben,<br />

wenn unterschiedliche Betriebe <strong>von</strong> einer zentralen Stelle aus koordiniert werden sollen<br />

und Abstimmungs- und Lieferprozesse zwischen verschiedenen Orten der Leistungser-<br />

stellung erforderlich werden.<br />

Ziel des Multi Site <strong>Scheduling</strong> ist es daher, die Betrachtung <strong>von</strong> Ablaufplanungsproble-<br />

men auf eine Darstellung <strong>von</strong> verteilten Produktionsstandorten zu erweitern. Die Notwen-<br />

digkeit dafür ergibt sich aus der zunehmenden Bedeutung <strong>von</strong> derartigen Szenarien, wie<br />

es die aktuelle Diskussion über Begriffe wie etwa „Dezentralisierung“, „<strong>Supply</strong> <strong>Chain</strong><br />

Management“ oder „Virtuelle Unternehmen“ zeigt.<br />

Sauer ([Sau01d]) nennt dazu Eigenschaften, die eine verteilte Ablaufplanung charakteri-<br />

sieren:<br />

• Zwischen Produktionsprozessen an verschiedenen Standorten bestehen komplexe<br />

Beziehungen.<br />

• Auf höheren Ebenen der Planung werden generalisierte Daten verwendet.<br />

• Um globale Vorgaben und Ziele erreichen zu können, ist eine Koordination der<br />

dezentralen Planung erforderlich.<br />

• Die aktuelle Situation der Produktionsstätten ist höheren Planungsebenen nicht be-<br />

kannt.<br />

• Auf den verschiedenen Ebenen der Planung existieren unterschiedliche Planungs-<br />

ziele.<br />

Zur Integration der neuen Anforderungen wird das bestehende Modell der Ablaufplanung<br />

um eine globale Ebene erweitert (Abbildung 2.2). Auf dieser Ebene wird ein für alle un-<br />

tergeordneten lokalen Ablaufplanungssysteme geltender Grobplan erstellt, welcher auf<br />

kumulierten Daten basiert. Nach Sauer ([Sau01d] hat die globale Ebene folgende Aufga-<br />

ben:<br />

14<br />

• Erstellung <strong>von</strong> Vorgaben für nachgelagerte Planungseinheiten. Der hier erzeugte<br />

Plan genügt den globalen Zielen (Termine, Kosten), beschränkt sich aus Komplexi-<br />

tätsgründen aber auf grobe Zeitvorgaben für die lokalen Systeme.


Globale<br />

Ebene<br />

Lokale<br />

Ebene<br />

Globale Ablaufplanung<br />

2.1 Ablaufplanung<br />

Kunden, Auftraggeber<br />

Lokale Ablaufplanung Lokale Ablaufplanung Lokale Ablaufplanung<br />

BDE<br />

BDE<br />

Aufträge, Ereignisse<br />

Pläne, Ereignisse Pläne, Ereignisse<br />

Pläne, Ereignisse<br />

Pläne, Ereignisse Pläne, Ereignisse Pläne, Ereignisse<br />

Abbildung 2.2: Ebenen der verteilten Ablaufplanung<br />

BDE<br />

• Aufgabenverteilung: Eingehende Aufträge werden in Teilaufträge für Zwischenpro-<br />

dukte zerlegt und an lokale Betriebe verteilt.<br />

• Koordination der Planungsaktivitäten. Für den Fall, dass in den Produktionsbetrie-<br />

ben Ereignisse auftreten, die zu Konflikten im aktuellen Plan führen, obliegt es der<br />

globalen Ebene, eine reaktive Planung zu veranlassen, um die Plankonsistenz wie-<br />

derherzustellen.<br />

2.1.3.2 Modellierung<br />

Aufgrund der erweiterten Architektur bei der verteilten Ablaufplanung ergeben sich Än-<br />

derungen für die Modellierung. Das bekannte 7-Tupel (R, P, A, HC, SC, E, Z) bleibt<br />

zwar erhalten, die Bedeutung einzelner Elemente wird allerdings erweitert.<br />

15


2 Grundlagen<br />

Jaudszim ([Jau98]) und Sauer ([Sau02]) nennen wichtige Änderungen, die in Tabelle 2.1<br />

zusammengefasst sind.<br />

Element global lokal<br />

Ressource r ∈ R Maschinengruppe Maschine<br />

Produkt p ∈ P Endprodukt Zwischenprodukt<br />

Variante eines Produkts Variante eines Endprodukts Variante eines Zwischenprodukts<br />

Eine Variante bezeichnet eine Menge<br />

<strong>von</strong> Zwischenprodukten <strong>mit</strong> jeweils<br />

zugehörigen, alternativ verwendbaren<br />

Maschinengruppen.<br />

Auftrag a ∈ A externer Auftrag, bezieht sich auf<br />

ein Endprodukt<br />

Eine Variante bezeichnet eine Menge<br />

<strong>von</strong> Operationen <strong>mit</strong> jeweils zugehörigen,<br />

alternativ verwendbaren<br />

Maschinen.<br />

interner Auftrag, bezieht sich auf<br />

ein Zwischenprodukt<br />

Hard Constraint globales Hard Constraint lokales Hard Constraint<br />

hc ∈ HC<br />

Soft Constraint globales Soft Constraint lokales Soft Constraint<br />

sc ∈ SC<br />

Planziel zf ∈ Z globales Planziel, z.B.: Termineinhaltung<br />

bei externen Aufträgen<br />

lokales Planziel, z.B.: Optimierung<br />

der Maschinenauslastung<br />

Ereignis e ∈ E Ereignis auf globaler Ebene Ereignis auf lokaler Ebene<br />

Plan pl ∈ PL globaler Plan lokaler Plan<br />

Belegungen enthalten Zuordnungen<br />

<strong>von</strong> Zwischenprodukten auf Maschinengruppen.<br />

Belegungen enthalten Zuordnungen<br />

<strong>von</strong> Operationen auf Maschinen.<br />

Tabelle 2.1: Verteilte Ablaufplanung, Unterschiede der globalen<br />

und lokalen Ebene<br />

2.1.3.3 Durchführung der Planung<br />

Analog zur herkömmlichen Ablaufplanung sind auch bei der verteilten Ablaufplanung<br />

prädiktive und reaktive Ablaufplanung gleichermaßen <strong>von</strong> Bedeutung. Der wesentliche<br />

Unterschied liegt darin, dass aufgrund der hierarchischen Abhängigkeiten zwischen der<br />

Planung der globalen Ebene und den angeschlossenen Planungssystemen der lokalen Be-<br />

triebe ständig Ereignisse unterschiedlichster Art auftreten.<br />

Nicht nur, dass die prädiktive Planung auf lokaler Ebene den Vorgaben der globalen Ebe-<br />

ne nachkommen und diese in verfeinerte Pläne umsetzen muss, auch die reaktive Planung<br />

auf beiden Ebenen ist ständig gefordert. Auf lokaler Ebene können Betriebsstörungen<br />

Umplanungen zur Wiederherstellung der Plankonsistenz bedingen. Global werden mög-<br />

licherweise Aufträge hinzugefügt, geändert oder storniert und Auswirkungen lokaler Er-<br />

16


2.1 Ablaufplanung<br />

eignisse auf den globalen Plan umgesetzt, wodurch sich evtl. neue Vorgaben für andere<br />

Betriebe ergeben, da Aufträge für Zwischenprodukte <strong>von</strong> einem auf einen anderen Stand-<br />

ort verlagert werden.<br />

Die prädiktive Planung der globalen Ebene ist daher gut beraten, möglichst robuste Pläne<br />

zu erstellen, in denen Kapazitätsengpässe frühzeitig vermieden werden. Auf diese Weise<br />

besteht überhaupt erst die Möglichkeit, den Raum für Umplanungen aufgrund zahlreicher<br />

Ereignisse zu erhalten.<br />

2.1.4 Benutzerinteraktion<br />

In den vorangegangen Abschnitten wurden hauptsächlich die informationstechnischen<br />

Gesichtspunkte <strong>von</strong> Ablaufplanungsproblemen und der sie realisierenden Systeme the-<br />

matisiert. In der Praxis hat sich allerdings gezeigt, dass der „Faktor Mensch“ erheblichen<br />

Einfluss auf die erfolgreiche Etablierung entsprechender Systeme in Unternehmen hat.<br />

Hambörger und Würdemann ([HW01]) nennen einige Gesichtspunkte, die den Einsatz<br />

selbst eines leistungsfähigen und auf die spezifischen Gegebenheiten eines Betriebes zu-<br />

geschnittenen Ablaufplanungssystems gefährden können:<br />

• Vom System erstellte Pläne – inbesondere bei reaktiver Planung aufgrund <strong>von</strong> In-<br />

konsistenz infolge <strong>von</strong> Ereignissen – sind ohne weitere Unterstützung für den Be-<br />

nutzer nur schwer nachvollziehbar. Viele Systeme liefern keine Antwort auf die<br />

Fragen:<br />

– „Warum ist eine Änderung erfolgt?“<br />

– „Was ist geändert worden?“<br />

– „Wie ist die Änderung erfolgt?“<br />

• Umfangreiche Ablaufpläne sind nur schwer in einer überschaubaren Form darstell-<br />

bar. Eine leicht verständliche Form der Darstellung ist jedoch inbesondere für in-<br />

teraktive Planung Voraussetzung, wobei z.B. eine explizite Abgrenzung zwischen<br />

manuell und vom System angeordneten Aufträgen sinnvoll ist.<br />

• Inhärent vorhandenes Spezialwissen des <strong>mit</strong> dem Ablaufplanungssystem arbeiten-<br />

den Experten (z.B. „Fertigung großer Scheiben nicht am Montag, da erhöhte Bruch-<br />

gefahr durch reduzierte Leistungsfähigkeit der Mitarbeiter nach einem Wochenen-<br />

de“) ist nicht nur schwer modellierbar, sondern auch schlecht visualisierbar.<br />

17


2 Grundlagen<br />

Konsequenz dieser Anforderungen ist, dass auf die Konzeption der Benutzungsschnitt-<br />

stelle eines Ablaufplanungssystems besonderes Augenmerk zu richten ist, was <strong>mit</strong> hohem<br />

Entwicklungsaufwand verbunden ist. Eine Vernachlässigung der genannten Anforderun-<br />

gen resultiert schnell in mangelnder Akzeptanz durch den Benutzer, wodurch die Investi-<br />

tionsbereitschaft der verantwortlichen Entscheidungsträger und da<strong>mit</strong> die Marktchancen<br />

eines kommerziell zu vertreibenden Ablaufplanungssystems ebenfalls gefährdet werden.<br />

Ein bisher verfolgter Ansatz, Änderungen nachvollziehbar zu gestalten, besteht in vom<br />

System erzeugten Veränderungsprotokollen. Komfortablere Lösungen, auf Ebene einer<br />

graphischen Benutzungsschnittstelle realisiert, sind Gegenstand aktueller Forschung.<br />

2.2 <strong>Supply</strong> <strong>Chain</strong>s<br />

2.2.1 Einführung<br />

<strong>Supply</strong> <strong>Chain</strong>s gewinnen unter dem Eindruck <strong>von</strong> globalisierten Wirtschaftsprozessen<br />

mehr und mehr an Bedeutung. Für viele Unternehmen ist es nicht mehr profitabel, alle<br />

Produktionsschritte innerhalb der Wertschöpfungskette in eigenen Betrieben auszufüh-<br />

ren. Zur Kostenminimierung wird die Produktion <strong>von</strong> Zwischenprodukten daher an kos-<br />

tengünstigere Standorte verlagert oder an andere Unternehmen vergeben (Outsourcing).<br />

Abbildung 2.3 1 zeigt eine einfache <strong>Supply</strong> <strong>Chain</strong> am Beispiel der Textilindustrie.<br />

raw<br />

materials<br />

1 Entnommen aus [Sch01]<br />

18<br />

textile<br />

production<br />

material flows<br />

textile<br />

finishing<br />

information flows<br />

apparel<br />

industry<br />

Abbildung 2.3: Einfache <strong>Supply</strong> <strong>Chain</strong> in der Textilindustrie<br />

retailer


Es entsteht eine Logistikkette <strong>mit</strong> folgenden Stufen:<br />

2.2 <strong>Supply</strong> <strong>Chain</strong>s<br />

• Raw Materials: Aufbereitung bzw. Bereitstellung <strong>von</strong> Rohmaterialen, wie etwa<br />

Baumwolle oder Schafwolle.<br />

• Textile Production: Produktion <strong>von</strong> Bekleidungsstoffen.<br />

• Textile Finishing: Veredelung der Stoffe, etwa durch Färben oder Imprägnieren.<br />

• Apparel Industry: Herstellung <strong>von</strong> Kleidungsstücken, z.B. Pullover, Hosen, Hem-<br />

den, etc.<br />

• Retailer: Wiederverkäufer der Endprodukte, u.a. Mode- und Warenhäuser.<br />

Der Materialfluss durchläuft die <strong>Supply</strong> <strong>Chain</strong> nur in einer Richtung, umfangreicher Aus-<br />

tausch <strong>von</strong> Informationen zur Koordination der Aktivitäten ist in beide Richtungen erfor-<br />

derlich.<br />

2.2.2 <strong>Supply</strong> <strong>Chain</strong> Management<br />

Das <strong>Supply</strong> <strong>Chain</strong> Management (SCM) beschäftigt sich <strong>mit</strong> der Etablierung und dem Be-<br />

trieb <strong>von</strong> <strong>Supply</strong> <strong>Chain</strong>s. Schönsleben ([Sch98]) liefert zunächst folgende Begriffsbestim-<br />

mung:<br />

Definition 2.6: <strong>Supply</strong> <strong>Chain</strong> Management (SCM)<br />

<strong>Supply</strong> <strong>Chain</strong> Management ist die Koordination einer strategischen, längerfristigen<br />

Zusammenarbeit <strong>von</strong> Unternehmen im gesamten Logistiknetzwerk zur Entwicklung<br />

und Herstellung <strong>von</strong> Produkten.<br />

Das <strong>Supply</strong> <strong>Chain</strong> Management verfolgt dabei eine Reihe <strong>von</strong> Zielen, die allerdings nicht<br />

frei <strong>von</strong> Konflikten sind (nach Sauer, Schönsleben [Sch98]):<br />

• Schnellere Auftragsabwicklung,<br />

• geringere Lagerhaltungskosten,<br />

• geringere Transferkosten,<br />

• hohe Auslastung der Ressourcen,<br />

• höhere Produktqualität,<br />

• verbesserte Termintreue,<br />

19


2 Grundlagen<br />

• höhere Kundenzufriedenheit,<br />

• schnellere Reaktion auf Marktveränderungen,<br />

• verbesserter ROI 2 .<br />

Aus Sicht der Informatik gehört <strong>Supply</strong> <strong>Chain</strong> Management in die Domäne der verteilten<br />

Ablaufplanung. Die dort vorhandenen Beziehungen zwischen der leitenden globalen Ebe-<br />

ne und den untergeordneten lokalen Produktionsbetrieben werden allerdings um weitere<br />

Entitäten und komplexe Beziehungen ergänzt.<br />

Dazu gehört inbesondere die explizite Berücksichtung <strong>von</strong> Transporten zwischen Produk-<br />

tionsstandorten und der Lagerung <strong>von</strong> End- oder Zwischenprodukten. Für die Ablaufpla-<br />

nung bedeutet das viele neue Herausforderungen, da Transporte u.U. deutlich unzuverläs-<br />

siger zu kalkulieren sind als Maschinen. Ein Totalverlust oder eine kurzfristig auftretende<br />

Verzögerung sollten nicht dazu führen, dass der Gesamtablauf zusammenbricht.<br />

Sauer ([Sau02]) nennt noch weitere Aspekte, die den reibungslosen Ablauf einer <strong>Supply</strong><br />

<strong>Chain</strong> gefährden:<br />

• Da unterschiedliche Unternehmen am Wertschöpfungsprozess beteiligt sind, exis-<br />

tiert kein Gesamtplan für die Produktion bestimmter Endprodukte, sondern eine<br />

Anzahl <strong>von</strong> zunächst unabhängigen Einzelplänen.<br />

• Die beteiligten Unternehmen verfolgen eigene, individuelle Ziele, die möglicher-<br />

weise kollidieren.<br />

• Es ist nicht nur ein effizienter Materialfluss zu etablieren, sondern insbesondere eine<br />

reibungslose Koordination der involvierten Abteilungen der beteiligten Unterneh-<br />

men zu erreichen. Dazu ist ein umfangreicher Informationsaustausch notwendig.<br />

• Die Zusammenarbeit im Rahmen der <strong>Supply</strong> <strong>Chain</strong> erfordert ein gewisses Maß an<br />

Vertrauen aller Beteiligten, da sonst Korrektheit, Vollständigkeit und Aktualität der<br />

ausgetauschten Informationen in Frage gestellt sind.<br />

Durch Beteiligung einzelner Unternehmen an verschiedenen <strong>Supply</strong> <strong>Chain</strong>s und komple-<br />

xen Abhängigkeiten einzelner Zwischenprodukte ergibt sich gegenüber der „einfachen“<br />

Baumstruktur des Multi Site <strong>Scheduling</strong> schnell eine netzwerkartige Struktur des Gesamt-<br />

systems.<br />

2 ROI = Return on Investment<br />

20


2.2 <strong>Supply</strong> <strong>Chain</strong>s<br />

Bevor beschrieben wird, wie Planungsprozesse im Rahmen des SCM zu (re-)organisieren<br />

sind, sollen zunächst einige Anforderungen genannt werden, die es zu erfüllen gilt, um<br />

wirklich eine Win-Win-Situation für die beteiligten Unternehmen erreichen zu können<br />

(vergl. Zäpfel [Zae01]):<br />

• Eine Kooperation der Unternehmen ist Voraussetzung, ohne die Bereitschaft dazu<br />

ist eine <strong>Supply</strong> <strong>Chain</strong> nicht denkbar.<br />

• Hinsichtlich der Steuerungsaspekte muss Einigkeit über ein Kooperationsmodell<br />

erzielt werden (hierarchisch, heterarchisch). Dazu müssen evtl. Kompetenzen zwi-<br />

schen den Unternehmen neu aufgeteilt werden.<br />

• Eine unternehmensübergreifende Planung ist aufzubauen, um Aktivitäten koordi-<br />

nieren zu können.<br />

• Die Orientierung am Gesamtoptimum für alle Teilnehmer sollte die Grundlage der<br />

Planungsaktivitäten sein.<br />

• Die Informationstechnologie als Basis für Ablaufplanungssysteme ermöglicht über-<br />

haupt erst einen schnellen Daten- und Planaustausch über große Entfernungen.<br />

• Die Bereitschaft zum umfangreichen Austausch <strong>von</strong> Informationen muss gegeben<br />

sein, nur dann kann eine für den langfristigen Erfolg wichtige Vertrauensbasis ent-<br />

stehen.<br />

Die Darstellung der für das SCM wichtigen Planungsaufgaben erfolgt anhand der <strong>Supply</strong><br />

<strong>Chain</strong> Planning Matrix, Abbildung 2.4 3 und orientiert sich an [MRW00].<br />

Grundlage für die Gestaltung einer <strong>Supply</strong> <strong>Chain</strong> ist die Strategische Netzwerkplanung<br />

(SNP), deren Ergebnis die gewünschte Konfiguration eines Netzwerkes aus Zulieferern,<br />

Produktionsstandorten, Distributionszentren und Endkunden darstellt. SNP beinhaltet u.a.<br />

folgende Aufgaben:<br />

• Auf-/Abbau <strong>von</strong> Lager- und Produktionskapazitäten,<br />

• Planung und Auswahl neuer Standorte,<br />

• Auswahl der Beschaffungs- und Distributionskanäle,<br />

• Entscheidungen über die Fertigungstiefe,<br />

3 Angelehnt an [MRW00]<br />

21


2 Grundlagen<br />

langfristig<br />

kurzfristig<br />

Beschaffung Produktion Distribution Absatz<br />

Strategische Netzwerkplanung<br />

Hauptproduktionsprogrammplanung<br />

Materialbedarfsplanung<br />

Produktionsgrobplanung<br />

Feinplanung<br />

Distributionsplanung<br />

Transportplanung<br />

Abbildung 2.4: Die <strong>Supply</strong> <strong>Chain</strong> Planning Matrix<br />

Absatzplanung<br />

Available<br />

to<br />

Promise<br />

• strategische Auswahl und Bewertung der wichtigsten Kunden und Zulieferer,<br />

• Gestaltung <strong>von</strong> Partnerschaften.<br />

Aufgabe der Absatzplanung ist es, die zukünftigen Absatzmengen der <strong>Supply</strong> <strong>Chain</strong> zu<br />

prognostizieren. Dazu werden statistische Verfahren, Lebenszykluskonzepte und What-<br />

if-Analysen verwendet. Über Aggregation und Disaggregation werden daraus Zahlen für<br />

Endprodukte und Endproduktgruppen abgeleitet. Bestandteil der Absatzplanung ist das<br />

Available to Promise (ATP). Diese Funktion ermöglicht es, aus dem das SCM unterstüt-<br />

zenden bzw. realisierenden Softwaresystem, direkt eine Verfügbarkeitsanfrage zu stellen<br />

oder sogar Planaufträge zu erzeugen, indem aufgrund vorhandener Daten eine Abfrage<br />

entlang der vollständigen <strong>Supply</strong> <strong>Chain</strong> erfolgt.<br />

Ausgehend <strong>von</strong> den er<strong>mit</strong>telten Absatzzahlen und vorliegenden Kundenaufträgen werden<br />

<strong>mit</strong>tels der Hauptproduktionsprogrammplanung Geld- und Informationsflüsse synchroni-<br />

22


2.2 <strong>Supply</strong> <strong>Chain</strong>s<br />

siert. Dazu ist eine kostenoptimale Nutzung aller Ressourcen der an der <strong>Supply</strong> <strong>Chain</strong><br />

beteiligten Unternehmen anzustreben. Aufgrund des hohen Datenvolumens ist eine Kon-<br />

zentration auf Endprodukte und kritische Komponenten, wie etwa Engpassressourcen,<br />

sinnvoll.<br />

Hauptaufgabe der Hauptproduktionsprogrammplanung ist der kostenoptimale Abgleich<br />

<strong>von</strong> Produktionsmengen und zur Verfügung stehender Kapazität über die gesamte Sup-<br />

ply <strong>Chain</strong> hinweg. Die Planung auf dieser Ebene wird in der Regel für ein Jahr vorge-<br />

nommen, wobei eine Orientierung an durchschnittlich zu erwartenden Durchlaufzeiten<br />

erfolgen muss. Ergebnisse sind u.a.:<br />

• Personaleinsatz, Überstunden, Zusatzschichten,<br />

• Produktionsmengen pro Zeitintervall für einzelne Werke,<br />

• Transportmengen und -kapazitäten in den Intervallen,<br />

• Maßnahmen zur Kapazitätsanpassung,<br />

• Lagerbestände am Intervallende,<br />

• Beschaffungsmengen an den Grenzen / Schnittstellen der <strong>Supply</strong> <strong>Chain</strong>.<br />

Diese Ergebnisse stellen Grundlage und Vorgaben für die weiteren, lokalen Planungsebe-<br />

nen dar.<br />

Bei der Produktionsgrob- und -feinplanung handelt es sich um die bereits eingeführten<br />

Planungsaufgaben auf lokaler und evtl. globaler Ebene. Aufgrund der Eigenverantwort-<br />

lichkeit im Rahmen der Vorgaben durch die Hauptproduktionsprogrammplanung behalten<br />

die einzelnen Unternehmen die Möglichkeit, Pläne zu erstellen, die auf die spezifischen<br />

Besonderheiten der eigenen Produktionsstandorte zugeschnitten und optimiert sind.<br />

Eine effiziente Distributions- und Transportplanung kann erheblich dazu beitragen, die<br />

Gesamtkosten eines Endproduktes zu senken. In einigen Branchen, z.B. der Konsumgü-<br />

terindustrie, können die Distributionskosten sogar den größten Kostenfaktor darstellen.<br />

Der Distributionsplanung obliegt es dabei, längerfristige Vorgaben für Transporte und Be-<br />

stände innerhalb des Distributionsnetzwerkes zu liefern. Zur Berechnung werden vorhan-<br />

dene Kundenbedarfe, gegebene Produktionsmengen und hoffentlich auch die tatsächlich<br />

23


2 Grundlagen<br />

verfügbaren Kapazitäten herangezogen. Der Planungshorizont ist dabei in der Regel kür-<br />

zer als bei der Hauptproduktionsprogrammplanung.<br />

Die Transportplanung erstellt aus den periodengenauen (meistens tagesgenauen) Distri-<br />

butionsplänen konkrete Tourenpläne und Ladepläne für einzelne Transport<strong>mit</strong>tel. Diese<br />

Aufgaben sind vor allem dann relevant, wenn auf einem LKW viele Sendungen <strong>mit</strong> unter-<br />

schiedlichen Produkten transportiert werden. Das Ergebnis der Tourenplanung ist die Zu-<br />

ordnung <strong>von</strong> Kundenaufträgen zu den verfügbaren Fahrzeugen und der genaue zeitliche<br />

Ablauf der einzelnen Touren. Die Ladeplanung verfolgt das Ziel, unter Berücksichtigung<br />

der Be- und Entladevorgänge eine möglichst gute Nutzung des vorhandenen Stauraumes<br />

zu erreichen.<br />

Schließlich bleibt noch die Materialbedarfsplanung, die Bestellaufträge für Materialien<br />

(Rohstoffe, Vorprodukte, Betriebs<strong>mit</strong>tel, ...) an Lieferanten generiert. Eine weitere ge-<br />

wünschte Funktionalität besteht in der Beauskunftung <strong>von</strong> Materialverfügbarkeiten, etwa<br />

zur Freigabe eines Auftrags. Dazu können evtl. auch Bestandsinformationen der Liefe-<br />

ranten <strong>mit</strong> herangezogen werden.<br />

Zu berücksichtigen sind dabei die je nach Branche unterschiedlich ausfallenden Größen<br />

für Bestellmengen und Häufigkeiten, wobei allerdings ein Zielkonflikt zwischen Lager-<br />

und Lieferkostenminimierung besteht. Um Unsicherheiten in der Materialzulieferung zu<br />

kompensieren, kann die Beachtung eines Sicherheitsbestands sinnvoll sein.<br />

Die für das SCM wichtigen Planungstätigkeiten lassen sich grob in folgende Kategorien<br />

einordnen:<br />

• Planung einer <strong>Supply</strong> <strong>Chain</strong>: Strategische Netzwerkplanung.<br />

• Konfiguration einer <strong>Supply</strong> <strong>Chain</strong>: Hauptproduktionsprogrammplanung, Absatz-<br />

planung.<br />

• Steuerung einer <strong>Supply</strong> <strong>Chain</strong>: Absatzplanung und Available to Promise, Produk-<br />

tionsgrob- und feinplanung, Distributions- und transportplanung, Materialbedarfs-<br />

planung.<br />

Nach Corsten und Gössinger ([CG01]) ist eine klare Trennung zwischen diesen Ebenen<br />

allerdings nicht möglich.<br />

24


2.3 <strong>Agenten</strong>systeme<br />

2.3.1 <strong>Agenten</strong><br />

2.3.1.1 Einführung<br />

2.3 <strong>Agenten</strong>systeme<br />

Computersysteme sind nicht ohne weiteres in der Lage, an sie gestellte Aufgaben zu er-<br />

füllen. Jeder auszuführende Arbeitsschritt muss explizit geplant und <strong>von</strong> Entwicklern in<br />

Form eines Programms realisiert werden. Bleibt eine Situation, die eine Reaktion des Sys-<br />

tems erfordert, unberücksichtigt, erfolgt im besten anzunehmenden Fall „nur“ ein Absturz<br />

der Software. Werden Computer in kritischen Bereichen eingesetzt, können Menschenle-<br />

ben un<strong>mit</strong>telbar bedroht sein.<br />

Immer mehr Anwendungen erfordern daher Systeme, die selbsttätig kritische Entschei-<br />

dungen im Rahmen der Entwicklungsziele treffen können. Solche Systeme werden als<br />

<strong>Agenten</strong> bezeichnet. <strong>Agenten</strong>, die in sich verändernden, unbestimmten und offenen Um-<br />

gebungen eingesetzt werden, und trotzdem auch im Fall unerwarteter Daten ein robustes<br />

Verhalten zeigen, werden als Intelligente <strong>Agenten</strong> bezeichnet.<br />

Ausgehend <strong>von</strong> diesen Anforderungen stellt Wooldridge ([Woo99]) eine Definition vor,<br />

wobei er allerdings betont, dass darüber kein allgemeiner Konsens in der Fachwelt be-<br />

steht.<br />

Definition 2.7: Agent<br />

Ein Agent ist ein Computersystem, das in eine Umgebung eingebettet und in der Lage<br />

ist, innerhalb dieser Umgebung Aktionen autonom auszuführen, um die gewünschten<br />

Zielvorgaben zu erreichen.<br />

Eine besondere Bedeutung hat dabei die Autonomie, d.h. die Fähigkeit des <strong>Agenten</strong>, oh-<br />

ne den Eingriff durch Benutzer oder andere Systeme Aktionen auszuführen. Neben dieser<br />

Eigenschaft zeichnet sich ein intelligenter Agent durch eine Befähigung zu flexiblem Han-<br />

deln aus, die wie folgt charakterisiert wird:<br />

• Reaktivität: Intelligente <strong>Agenten</strong> nehmen ihre Umgebung war und reagieren in an-<br />

gemessener Zeit auf sich ergebende Veränderungen, um den Zielvorgaben gerecht<br />

zu werden.<br />

• Proaktivität: Intelligente <strong>Agenten</strong> entwickeln ein zielgerichtetes Verhalten, indem<br />

sie selbst im Rahmen der Zielvorgaben die Initiative übernehmen. Ein für Ablauf-<br />

25


2 Grundlagen<br />

planungsaufgaben eingesetzter Agent könnte z.B. selbsttätig an der Planverbesse-<br />

rung arbeiten, wenn er gerade keine anderen Tätigkeiten auszuführen hat.<br />

• Soziale Fähigkeiten: Intelligente <strong>Agenten</strong> können <strong>mit</strong> anderen <strong>Agenten</strong> – mögli-<br />

cherweise auch <strong>mit</strong> Benutzern – interagieren, um die gewünschten Zielvorgaben zu<br />

erreichen.<br />

Für den praktischen Einsatz <strong>von</strong> <strong>Agenten</strong> sind weitere Anforderungen sinnvoll. Wool-<br />

dridge und Jennings ([WJ95]) nennen einige:<br />

• Vernunft: Die <strong>Agenten</strong> weisen ein rationales Verhalten auf und verstoßen nicht wis-<br />

sentlich gegen die gesetzten Ziele.<br />

• Ehrlichkeit: Ein ehrlicher Agent gibt grundsätzlich nur korrekte Informationen wei-<br />

ter und versucht nicht, sich durch Desinformation einen Vorteil zu verschaffen.<br />

• Mobilität: Die Fähigkeit eines <strong>Agenten</strong>, sich innerhalb eines elektronischen Netz-<br />

werks zu bewegen.<br />

• Wohlwollen: Wohlwollende <strong>Agenten</strong> haben widerspruchsfreie Ziele und versuchen,<br />

ihr Handeln auf die gegebenen Ziele abzustimmen.<br />

2.3.1.2 Architekturen<br />

Zur Realisierung eines <strong>Agenten</strong> ist die Erarbeitung <strong>von</strong> möglichen Architekturen notwen-<br />

dig. Dazu werden zunächst bisher abstrakt beschriebene Begriffe etwas formaler einge-<br />

führt (Wooldridge, [Woo99]). Hier sollen <strong>Agenten</strong> betrachtet werden, die über interne<br />

Zustände – ähnlich einem Automaten – verfügen. Der Agent interagiert <strong>mit</strong> seiner Um-<br />

gebung, indem er externe Beobachtungen (see) auf interne Wahrnehmungen (perception)<br />

abbildet, und darauf in Form einer geeigneten Handlung (action) reagiert. Ein proaktiver<br />

Agent kann darüber hinaus ohne äußeren Einfluss aktiv werden.<br />

Abbildung 2.5 4 zeigt den schematischen Aufbau, Definition 2.8 erläutert das Zusammen-<br />

wirken der Komponenten.<br />

Da ein Agent sowohl reaktive, als auch proaktive Verhaltensweisen zeigen soll, muss er<br />

über verschiedene Teilsysteme verfügen, um diesen unterschiedlichen Anforderungen ge-<br />

recht zu werden. Zur Modellierung bietet sich eine aus Schichten bestehende Architektur<br />

an.<br />

4 Angelehnt an [Woo99]<br />

26


Abbildung 2.5: Schematische Darstellung eines <strong>Agenten</strong><br />

Definition 2.8: Arbeitsweise eines <strong>Agenten</strong><br />

A: Menge der möglichen Aktionen des <strong>Agenten</strong>,<br />

I: Menge der internen Zustände eines <strong>Agenten</strong>,<br />

S: Menge der beobachtbaren Zustände der Umgebung,<br />

P: Menge der Wahrnehmungen des <strong>Agenten</strong>.<br />

see : S → P<br />

action : I → A<br />

next : I × (P ∪ ε) → I<br />

2.3 <strong>Agenten</strong>systeme<br />

Wooldridge ([Woo99]) beschreibt für Schichtenarchitekturen zwei grundsätzliche Arten<br />

des Datenflusses (Abbildung 2.6 5 ):<br />

• Horizontale Anordnung: In einer horizontalen Architektur (Abbildung 2.6(a)) sind<br />

alle Schichten direkt <strong>mit</strong> Wahrnehmungs- und Aktionseinheit verbunden. Jede ein-<br />

zelne Schicht arbeitet quasi als eigenständiger Agent.<br />

• Vertikale Anordnung: In einer vertikalen Architektur (Abbildung 2.6(b) und 2.6(c))<br />

sind Wahrnehmungs- und Aktionseinheit nur <strong>mit</strong> maximal einer Schicht verbunden.<br />

5 Entnommen aus [Bro01]<br />

27


2 Grundlagen<br />

a)<br />

Wahrnehmung<br />

Schicht n<br />

...<br />

Schicht 2<br />

Schicht 1<br />

Aktionen<br />

b) c)<br />

Aktionen<br />

Schicht n<br />

...<br />

Schicht 2<br />

Schicht 1<br />

Wahrnehmung<br />

Abbildung 2.6: Architekturen für <strong>Agenten</strong><br />

Wahrnehmung<br />

Schicht n<br />

...<br />

Schicht 2<br />

Schicht 1<br />

Aktionen<br />

Der große Vorteil <strong>von</strong> Architekturen <strong>mit</strong> horizontaler Anordnung besteht in der konzep-<br />

tionellen Einfachheit: Für die Realisierung eines <strong>Agenten</strong> <strong>mit</strong> n unterschiedlichen Verhal-<br />

tensweisen reicht es, n verschiedene Schichten zu implementieren. Es besteht allerdings<br />

die Gefahr, dass eine Art „Wettstreit“ der einzelnen Schichten entsteht, da jede unab-<br />

hängig Aktionen auslösen kann. Das Gesamtverhalten des <strong>Agenten</strong> ist dann nicht mehr<br />

kohärent.<br />

Um ein kohärentes Verhalten des <strong>Agenten</strong> zu gewährleisten, wird üblichweise eine spezi-<br />

elle Schlichtungsfunktion integriert, die entscheidet, welche Schicht zum aktuellen Zeit-<br />

punkt die Kontrolle ausüben darf. Das Design einer solchen Funktion gestaltet sich jedoch<br />

sehr aufwändig, da sehr viele Interaktionen zwischen den Schichten denkbar sind. Außer-<br />

dem kann sich eine solche zentrale Überwachungsinstanz schnell als Flaschenhals für das<br />

Gesamtsystem erweisen.<br />

Vertikale Architekturen werden in One-Pass-Architekturen (Abbildung 2.6(b)) und Two-<br />

Pass-Architekturen (Abbildung 2.6(c)) unterschieden.<br />

Bei einer One-Pass-Architektur durchläuft der Kontrollfluss sequentiell jede Schicht, be-<br />

vor in der letzten Schicht eine Aktion ausgelöst wird. Eine Two-Pass-Architektur leitet die<br />

Informationen der Wahrnehmungseinheit zunächst durch alle Schichten bis nach oben,<br />

bevor dann der Kontrollfluss in umgekehrter Richtung abläuft.<br />

28


2.3 <strong>Agenten</strong>systeme<br />

Die Two-Pass-Architektur weist Ähnlichkeiten <strong>mit</strong> der Arbeitsweise großer Organisatio-<br />

nen auf, auch dort werden wichtige Informationen bis in die höchste Instanz geleitet,<br />

bevor dort eine nach unten laufende Handlungskette angestoßen wird.<br />

2.3.2 Multiagenten-Systeme<br />

Henseler definiert ein Multiagenten-System als „[...] eine endliche Menge nebenläufiger<br />

<strong>Agenten</strong>, die über Nachrichten oder gemeinsame Variablen <strong>mit</strong>einander kommunizieren<br />

können.“ ([Hen98]). Das Multiagenten-System soll dabei <strong>von</strong> Synergieeffekten profitie-<br />

ren und über weitere Fähigkeiten, wie z.B. Selbstorganisation oder Reaktionsfähigkeit auf<br />

unvorhergesehene Ereignisse, verfügen. Nach außen stellt sich ein solches System als ein<br />

einziges System dar.<br />

Ein sinnvoller Einsatz <strong>von</strong> Multiagenten-Systemen ist nur dann möglich, wenn die ein-<br />

zelnen <strong>Agenten</strong> koordiniert und kooperierend zusammenarbeiten. Um diese Eigenschaf-<br />

ten zu gewährleisten, sind unterschiedliche Organisationsformen denkbar. Laut Henseler<br />

([Hen98]) sind folgende für Planungssysteme interessant:<br />

• Zentralistische und hierarchische Organisation: Die <strong>Agenten</strong> sind in einer vorge-<br />

gebenen Master-Slave-Beziehung angeordnet. Diese Struktur wird verwendet, um<br />

Ressourcen zu verwalten oder Arbeit auf verschiedene <strong>Agenten</strong> zu verteilen. Im<br />

Konfliktfall existiert eine klare Weisungsbefugnis.<br />

• Marktorientierte Organisationsformen: Alle <strong>Agenten</strong> sind gleichberechtigt an der<br />

Kommunikation beteiligt und kämpfen auf einem <strong>von</strong> Angebot und Nachfrage ge-<br />

regelten Markt um Ressourcen.<br />

• Kooperierende Experten: Jeder Agent ist auf ein bestimmtes Gebiet spezialisiert.<br />

Im Bedarfsfall kann er den Expertenrat eines anderen <strong>Agenten</strong> einholen.<br />

• <strong>Teams</strong>: <strong>Agenten</strong> schließen sich (dynamisch) zu <strong>Teams</strong> zusammen, um gemeinsam<br />

ein Problem zu lösen.<br />

Zwingende Voraussetzung für Kooperation ist die Möglichkeit der Kommunikation. Zwei<br />

unterschiedliche Verfahren werden bei Multiagenten-Systemen eingesetzt:<br />

• Shared Memory: Hier läuft die Kommunikation über gemeinsame, allen <strong>Agenten</strong><br />

zugängliche Datenstrukturen ab. Nachrichten sind ungerichtet, d.h., sie haben kei-<br />

nen bestimmten Empfänger und können <strong>von</strong> allen eingesehen werden.<br />

29


2 Grundlagen<br />

• Message Passing: Zwischen den <strong>Agenten</strong> werden vordefinierte, gerichtete und pa-<br />

rametrisierte Nachrichten ausgetauscht. Empfänger der Nachricht sind ein einzel-<br />

ner Agent, eine Gruppe <strong>von</strong> <strong>Agenten</strong> (Multicast), oder alle <strong>Agenten</strong> des Systems<br />

(Broadcast).<br />

2.3.2.1 Hierarchisches Modellieren<br />

Zur Abbildung (Mapping) einer Unternehmensstruktur aus der Realwelt auf ein zu ent-<br />

werfendes Multiagenten-System wird häufig die Technik Hierarchisches Modellieren ver-<br />

wendet. Nach Henseler ([Hen98] werden die <strong>Agenten</strong> dabei in einer vorgegebenen und<br />

unveränderlichen Hierarchie angeordnet.<br />

Bei der Bildung der einzelnen Hierarchieebenen erfolgt eine Orientierung an Kompetenz-<br />

bereichen oder Abstraktionsebenen, für die Abbildung <strong>von</strong> Unternehmen sind die vorhan-<br />

denen Strukturen und Hierarchien eine geeignete Grundlage.<br />

Ein in der Hierarchie höher gestellter Agent besitzt einen größeren Überblick und arbei-<br />

tet auf kumulierten Daten, die er aus den <strong>von</strong> untergeordneten <strong>Agenten</strong> erhaltenen Daten<br />

er<strong>mit</strong>telt. In der Hierarchie tiefer stehende <strong>Agenten</strong> verfügen über höheres Detailwissen,<br />

welches sie zur Erstellung <strong>von</strong> Feinplänen für die Fertigung benötigen. Für die Weiterga-<br />

be an übergeordnete <strong>Agenten</strong> wird das Wissen in geeigneter Form aufbereitet.<br />

2.3.3 Kooperation<br />

Für die Kommunikation innerhalb eines Multiagenten-Systems wird einfaches Delegie-<br />

ren oder eine Variante des Contract Net Protokolls verwendet. Beide Verfahren werden in<br />

den folgenden Abschnitten beschrieben.<br />

2.3.3.1 Einfaches Delegieren<br />

Ein übergeordneter Agent erteilt einem Agent einen Auftrag (Abbildung 2.7(1)). Diesem<br />

ist es nicht erlaubt, Aufträge abzulehnen. Die Rückgabe eines Auftrags ist nur für den Fall<br />

einer Störung zulässig (Abbildung 2.7(2)). Eine Konfliktbereinigung innerhalb der Hier-<br />

archieebene, z.B. durch Kommunikation <strong>mit</strong> <strong>Agenten</strong>, die mögliche Alternativmaschinen<br />

repräsentieren, ist hier nicht vorgesehen.<br />

30


Agent 1<br />

2.3.3.2 Contract Net Protokoll<br />

1<br />

2<br />

Agent 2<br />

Abbildung 2.7: Einfaches Delegieren bei <strong>Agenten</strong><br />

2.3 <strong>Agenten</strong>systeme<br />

Huhns und Stephens ([HS99] nennen das Contract Net Protokoll als besonders geeignet<br />

für den Einsatz bei kooperierenden <strong>Agenten</strong>. Es handelt sich dabei um einen Versteige-<br />

rungsmechanismus, der eingesetzt wird, um Aufgaben auf mehrere <strong>Agenten</strong> zu verteilen.<br />

Bei einem Ablaufplanungssystem handelt es sich dabei um neu zu verplanende Aufträge.<br />

Bieter 1<br />

Versteigerer<br />

1 2 1 2 3 1<br />

Bieter 2<br />

Bieter 3<br />

Abbildung 2.8: Versteigerung im Contract Net<br />

Bei einer Versteigerung im Contract Net nimmt der Agent, der eine Aufgabe zu vergeben<br />

hat, die Rolle des Versteigerers (Manager) ein, die beteiligten untergeordneten <strong>Agenten</strong><br />

übernehmen die Aufgabe der Bieter (Contractor). Die Rollenverteilung kann variieren,<br />

d.h. ein Agent, der bei einer Verhandlung noch Manager ist, nimmt an der nächsten mög-<br />

licherweise als Contractor teil.<br />

Abbildung 2.8 zeigt den Ablauf, der immer aus drei Phasen besteht:<br />

1. Ausschreibung: Der Versteigerer schreibt eine neue Aufgabe an alle Bieter aus.<br />

2. Bieten: Alle <strong>Agenten</strong>, die temporal und materiell in der Lage sind, die Aufgabe zu<br />

übernehmen, geben innerhalb einer festgelegten Zeitspanne ein Gebot ab. Außer-<br />

31


2 Grundlagen<br />

dem über<strong>mit</strong>telt jeder bietende Agent eine heuristische Wertung, die ausdrückt, wie<br />

gut er die Aufgabe ausführen kann.<br />

3. Zuschlag: Der Versteigerer erteilt dem nach seiner Meinung am geeignetsten er-<br />

scheinenden <strong>Agenten</strong> den Zuschlag.<br />

Zur Reduktion des Kommunikationsaufwands kann der Manager nur die <strong>Agenten</strong> in die<br />

Versteigerung einbeziehen, <strong>von</strong> denen ihm bekannt ist, dass sie die Aufgabe ausführen<br />

könnten. Ein evtl. unzureichender Informationsstand des Managers kann bei diesem Ver-<br />

fahren allerdings zur Nichtberücksichtigung geeigneter <strong>Agenten</strong> führen.<br />

Andere Verfahren ermöglichen es den Bietern, an mehreren Versteigerungen gleichzeitig<br />

teilzunehmen. Dabei kann sich die Situation des <strong>Agenten</strong> zwischen Abgabe eines Gebots<br />

und des möglicherweise erfolgenden Zuschlags ändern, was es sinnvoll erscheinen lässt,<br />

einen Mechanismus zur Rücknahme eines Gebots einzuführen.<br />

Davis und S<strong>mit</strong>h ([DS83]) beschreiben drei Arten <strong>von</strong> Anomalien, die beim Contract Net<br />

entstehen können:<br />

32<br />

• Temporal Ignorance: Bei einer Versteigerung zum aktuellen Zeitpunkt bleiben zu-<br />

künftige Entwicklungen unberücksichtigt. Es könnte z.B. vorteilhaft für den Ver-<br />

steigerer sein, einem suboptimalen Angebot den Zuschlag zu erteilen, um dadurch<br />

Verbesserungen für spätere Verhandlungen zu erreichen.<br />

Ein Ansatz zur Lösung dieses Problems besteht darin, die Auftragszusage an einen<br />

<strong>Agenten</strong> differenzierter auszuführen, indem unterschiedliche Ebenen der Zusage<br />

eingeführt werden (Levels of Com<strong>mit</strong>ment) und es erlaubt wird, Gebote und Zusa-<br />

gen nachträglich zu verändern (Counterpropose) ([SL95]).<br />

• Spatial Ignorance: <strong>Agenten</strong> nehmen nur an Versteigerungen teil, <strong>von</strong> denen sie auch<br />

erfahren haben. Der Manager sollte daher alle für den Auftrag geeigneten <strong>Agenten</strong><br />

kennen und diese in die Ausschreibung einbeziehen.<br />

Bei Systemen <strong>mit</strong> strikter Hierarchie sind dem versteigernden <strong>Agenten</strong> alle poten-<br />

ziellen Bieter bekannt. In anderen Fällen kann die Einrichtung eines Verzeichnisses<br />

helfen, in dem alle <strong>Agenten</strong> ihre Fähigkeiten eintragen.<br />

• Loading ignorance: Ein Agent hat keine Kenntnisse über die Belastung anderer<br />

<strong>Agenten</strong>, die evtl. Maschinen gleichen Typs repräsentieren. Dadurch können sich<br />

stark unterschiedliche Auslastungen ergeben.


2.3 <strong>Agenten</strong>systeme<br />

Neimann et. al. ([NH+94]) schlagen als Lösung die Einführung <strong>von</strong> Texturen (textu-<br />

res) vor, die für jede Auftragssituation eine Bewertung der vorhandenen und nach-<br />

gefragten Ressourcen erlauben.<br />

2.3.3.3 Nachrichtenüber<strong>mit</strong>tlung<br />

Um <strong>mit</strong>einander Informationen und Wissen austauschen zu können, verwenden <strong>Agenten</strong><br />

<strong>Agenten</strong>kommunikationssprachen (ACL: Agent Communication Languages), nach La-<br />

brou et al. ([LFP99]).<br />

Die Möglichkeiten dieser Sprachen sind sehr vielfältig. Im Gegensatz zu anderen Kom-<br />

munikationsverfahren der verteilten Programmierung (RMI 6 oder CORBA 7 ) werden an-<br />

stelle <strong>von</strong> einfachen Methodenaufrufen komplexe Nachrichten <strong>mit</strong> Vorschlägen, Regeln<br />

oder Aktionen versendet. Die Basis bilden übliche Netzwerkprotokolle, z.B. SMTP 8 ,<br />

TCP/IP 9 oder HTTP 10 .<br />

KQML (Knowledge Query and Manipulation Language) ist eine der bekanntesten ACLs.<br />

Sie basiert auf der Sprechakt-Theorie und ist eine hohe, nachrichtenorientierte Kommu-<br />

nikationssprache, sowie ein Protokoll zum Austausch <strong>von</strong> Informationen.<br />

Für KQML sind diverse Transportmedien (TCP/IP, etc.) geeignet, außerdem ist der In-<br />

halt der Nachrichten variabel (z.B. strukturierter Text, SQL, Prolog). Die Struktur einer<br />

KQML-Nachricht ist gemäß Huhns und Stephens ([HS99]) wie folgt aufgebaut:<br />

Definition 2.9: Aufbau einer KQML-Nachricht<br />

(KQML-performative<br />

)<br />

6 RMI = Remote Method Invocation<br />

7 CORBA = Common Object Request Broker Architecture<br />

8 SMTP = Simple Message Transfer Protocol<br />

9 TCP/IP = Transfer Control Protocol / Internet Protocol<br />

10 HTTP = Hypertext Transfer Protocol<br />

:sender <br />

:receiver <br />

:identification <br />

:language <br />

:ontology <br />

:content <br />

33


2 Grundlagen<br />

KQML-Nachrichten lassen sich in drei Ebenen unterteilen:<br />

• Inhalt (content): Der eigentliche Inhalt der Nachricht. Dieser wird <strong>von</strong> KQML le-<br />

diglich transportiert und nicht beachtet. Er umfasst die Felder language, ontology<br />

und content. Verwendung finden dabei einfache Informationen, komplexe Sprachen<br />

oder strukturierter Text.<br />

• Kommunikation (communication): Informationen für den Nachrichtenversand, ins-<br />

besondere Sender (sender), Empfänger (receiver) und eine Identifikation (identifi-<br />

cation).<br />

• Nachrichtentyp (message): Der auf der Sprechakt-Theorie basierende Performativ<br />

(performative) der Nachricht typisiert diese in verschiedene Kategorien. Huhns und<br />

Stephens ([HS99]) nennen folgende:<br />

– Einfache Anfragen (basic query): evaluate, ask-one, ask-all, ...,<br />

– komplexe Anfragen (multiresponse query): stream-in, stream-all, ...,<br />

– Antworten (response): reply, sorry, ...,<br />

– Information (generic informational): tell, achieve, cancel, untell, unachieve,<br />

...,<br />

– Leistungsdefinition (capability-definition): advertise, subscribe, broadcast, ...<br />

Die Menge der Nachrichtentypen ist nicht minimal oder abgeschlossen. Eine reale<br />

Anwendung orientiert sich daher an ihrem konkreten Bedarf.<br />

Eine Kommunikation bei KQML funktioniert nach dem Client-Server-Prinzip und kann<br />

sowohl synchron, als auch asynchron ablaufen.<br />

Für die in dieser Arbeit betrachteten Multiagenten-Systeme und KQML-Nachrichten be-<br />

steht der Content immer aus strukturiertem Text. Pro Inhaltszeile ist genau eine Informa-<br />

tion enthalten, welche durch ein Schlüsselwort gekennzeichnet ist. Sämtliche Informatio-<br />

nen (Aufträge, Produktionsdaten, Ereignisse, etc.) werden auf diese Weise zwischen den<br />

<strong>Agenten</strong> ausgetauscht.<br />

Bröske ([Bro01]) beschreibt den beispielhaften Ablauf einer Versteigerung <strong>mit</strong> Contract<br />

Net und KQML.<br />

34


nces etc. are<br />

only agreed<br />

in different<br />

in electronic<br />

rovide other<br />

nment or its<br />

licting goals,<br />

als. They do<br />

goals.<br />

w to achieve<br />

ing problem<br />

al agent.<br />

ENTS<br />

e posts and<br />

of business<br />

tion and the<br />

ncerned with<br />

zational units<br />

sion of work<br />

f its entailed<br />

f hierarchies.<br />

to instruct,<br />

perordinated<br />

ncerning the<br />

typical basic<br />

rests on the<br />

sts in a tree<br />

the principle<br />

roblems and<br />

m, a post can<br />

rarchy. This,<br />

sk of unclear<br />

es the multitwo<br />

respects:<br />

cheduling is<br />

chical, intrak-like,<br />

inter-<br />

2.3 <strong>Agenten</strong>systeme<br />

2.3.4 AMPA-Projekt<br />

Bei dem OFFIS-Projekt AMPA (Agent Based Multi Site Planning and <strong>Scheduling</strong> Application<br />

Framework) ([FST99]) wird die Absicht verfolgt, Probleme der verteilten Ablaufplanung<br />

<strong>mit</strong> einem Multiagenten-System zu lösen.<br />

Abbildung 2.911 Complex organization structures, however, are not exclusively<br />

organised hierarchically. This applies especially to legally and<br />

economically independent enterprises, for relationships between<br />

them do neither define powers of decision nor authorities to<br />

instruct; they only represent the aspect of coordination between<br />

their directional systems. In addition to the hierarchical, static<br />

dimension of the intra-company directional system in AMPA the<br />

network-like, dynamic dimension of the coordinating, logistical<br />

relationships on all levels of hierarchy is considered by a special<br />

type of relationship. Within AMPA organizations are accordingly<br />

represented by an overlay of hierarchical and network-like<br />

zeigt das Organisationsmodell des Systems. Zu erkennen ist, dass das<br />

structures, thus achieving both vertical and horizontal integration.<br />

Modell des Multi Site <strong>Scheduling</strong> zu einer netzwerkartigen, unterschiedliche Tiefen der<br />

The resulting organization model is illustrated by Figure 2, where<br />

Hierarchie zulassenden Struktur erweitert wurde. Die Beziehungsverhältnisse zwischen<br />

the enterprise under consideration is represented by dark nodes.<br />

den <strong>Agenten</strong> werden dabei in disziplinarische (Aufträge) und funktionale (Lieferung <strong>von</strong><br />

These nodes also represent the problem area of multi-site<br />

Zwischenprodukten) unterschieden.<br />

scheduling. External organizational units are depicted using pale<br />

nodes.<br />

Company<br />

Site<br />

Shop<br />

Resource Group<br />

Resource<br />

<strong>Supply</strong> <strong>Chain</strong><br />

Supplier Consumer<br />

Figure 2. Organization Model<br />

On a more formal level the approach pursued within AMPA<br />

can be regarded as a combination of the single-line system and<br />

the multiple-line system. This combination aims at clear<br />

responsibilities on the one hand and improved ways of<br />

coordination by shorter communication paths on the other. In<br />

order to achieve these goals while avoiding the disadvantages<br />

pointed out before two different types of relationships are<br />

considered. Both are directed and define a potential usage of a<br />

11 Entnommen aus [FST99]<br />

Abbildung 2.9: Architektur des AMPA-Systems<br />

Global Schedule,<br />

Long-Term<br />

<strong>Scheduling</strong> Hierarchy<br />

Local Schedule,<br />

Short-Term<br />

35


2 Grundlagen<br />

AMPA verfolgt das Ziel, universelle <strong>Agenten</strong> zu entwickeln, die durch ihre modulare Ar-<br />

chitektur für alle Arten der Planung (Produktion, Transporte, Lagerung) und auf allen<br />

Ebenen beteiligter Unternehmen eingesetzt werden können.<br />

Dieser Anspruch ist <strong>mit</strong> einem hoch komplexen Aufbau eines einzelnen <strong>Agenten</strong> verbun-<br />

den (Abbildung 2.10 12 ). Durch Austausch einzelner Module kann eine Adaption an die<br />

gewünschten Funktionalitäten erreicht werden.<br />

Aktivität<br />

Auftrag<br />

Produkt<br />

Ressource<br />

temporale<br />

Constraint<br />

Java Virtual Machine<br />

Aktueller Plan<br />

Persistenz<br />

ODBC-<br />

Treiber<br />

Gantt-<br />

Chart<br />

Präsentation<br />

DBMS<br />

(z.B.<br />

mSQL)<br />

Aktivitäten<br />

Produkte<br />

Ressourcen<br />

temporale<br />

Constraints<br />

Filesystem<br />

Aufträge<br />

Exemplarische<br />

Komponenten<br />

Auftragsfenster<br />

ERP-<br />

Wrapper<br />

R/3<br />

. . .<br />

. . .<br />

. . .<br />

. . .<br />

Fähigkeiten<br />

Java<br />

RMI<br />

<strong>Agenten</strong>fenster<br />

prädiktives Planen<br />

reaktives<br />

Planen<br />

Strategien<br />

Kommunikation<br />

Java<br />

IDL<br />

Exemplarische<br />

Komponenten<br />

. . .<br />

Prädikt.<br />

Algoritmus<br />

Reaktiver<br />

Algoritmus<br />

. . .<br />

Lagerhaltung<br />

. . .<br />

Auftragsvergabe<br />

IIOP / JRMP<br />

Abbildung 2.10: Architekturskizze eines AMPA-<strong>Agenten</strong><br />

Exemplarische<br />

Ko mponenten<br />

weitere<br />

Planungsagenten<br />

Eine Anbindung an bestehende ERP-Systeme 13 erfolgt dabei durch unterschiedliche Wrap-<br />

per, deren Aufgabe darin besteht, vorhandene Planungsinformationen in geeigneter Form<br />

für den Planungsagenten aufzubereiten.<br />

12 Entnommen aus [FST99]<br />

13 ERP = Enterprise Ressource Planning<br />

36


3 Problemstellung<br />

Die Problemstellung dieser Diplomarbeit besteht darin, einen Lösungsansatz zu erarbei-<br />

ten, der <strong>Teams</strong> <strong>von</strong> <strong>Agenten</strong> verwendet, um Planungsaufgaben des <strong>Supply</strong> <strong>Chain</strong> Sche-<br />

duling zu lösen. Dieses Kapitel beschäftigt sich <strong>mit</strong> der Beschreibung eines geeigneten<br />

Szenarios, für das im weiteren Verlauf der Arbeit ein Ablaufplanungssystem entwickelt<br />

wird. Auch wenn das gewünschte Beispiel – der Logistik-Ablauf bei der Produktion <strong>von</strong><br />

Euro-Münzen – bereits feststeht, ist es trotzdem erforderlich, zunächst ein paar Rahmen-<br />

bedingungen zu setzen. Anschließend wird in mehreren Schritten das Szenario vorgestellt<br />

und auf die Existenz der vorauszusetzenden Eigenschaften überprüft.<br />

3.1 Anforderungen an das Szenario<br />

Die Anforderungen, die an das betrachtete Szenario zu stellen sind, ergeben sich un<strong>mit</strong>-<br />

telbar aus den in den Grundlagen (Abschnitt 2.2) erarbeiteten Eigenschaften einer <strong>Supply</strong><br />

<strong>Chain</strong>.<br />

Nachfolgend eine Liste der wichtigsten Gesichtspunkte:<br />

• Die Produktion findet an verschiedenen Standorten statt,<br />

• Produkte eines Standorts sind Vorprodukte für einen anderen,<br />

• es sind Transporte zwischen unterschiedlichen Betrieben erforderlich,<br />

• Produkte müssen gelagert werden,<br />

• eine unternehmensübergreifende Koordination ist notwendig,<br />

• nur eine koordinierte Ausführung aller Teilschritte ermöglicht das Erreichen <strong>von</strong><br />

gemeinsamen Zielen (Kostensenkung, Auslastung, etc.).<br />

37


3 Problemstellung<br />

3.2 Szenario: Produktion und Auslieferung <strong>von</strong><br />

Euro-Münzen<br />

3.2.1 Übersicht<br />

In dieser Diplomarbeit werden die komplexen Aufgaben, die für das <strong>Scheduling</strong> einer<br />

<strong>Supply</strong> <strong>Chain</strong> erforderlich sind, am Beispiel der Prägung <strong>von</strong> Euro-Münzen veranschau-<br />

licht. Dieses Beispiel wurde gewählt, um einerseits nicht erneut „klassische“ Szenarien<br />

aus der Produktion, wie etwa den Automobilbau, zu bemühen und andererseits evtl. neue<br />

Aspekte, die diesem Problemfeld vorbehalten sind, entdecken zu können.<br />

Um die Abläufe darzustellen, müssen die Organisationseinheiten identifiziert werden, die<br />

an der <strong>Supply</strong> <strong>Chain</strong> als Auftraggeber oder -nehmer beteiligt sind, und in Zusammenhang<br />

gebracht werden. Da es sich bei der Produktion <strong>von</strong> Münzen um eine Tätigkeit handelt,<br />

die staatlich reglementiert ist, werden die dafür verantwortlichen Institutionen und Geset-<br />

ze ebenfalls <strong>mit</strong> einbezogen.<br />

3.2.2 Geldmengensteuerung<br />

Für das Funktionieren einer modernen Volkswirtschaft ist eine stabile Währung unab-<br />

dingbar. In Deutschland galt die Deutsche Mark jahrelang als Grundlage für Wohlstand<br />

und wirtschaftliches Wachstum. Dieses hohe Ansehen verdankt die unlängst endgültig ab-<br />

gelöste Währung der konsequenten Geldmarktpolitik seitens der Deutschen Bundesbank,<br />

die im Zweifelsfall auch gegen politische Widerstände agiert hat.<br />

Zu den wichtigsten Instrumenten der kraft Gesetz unabhängig <strong>von</strong> der Regierung zu be-<br />

treibenden Geldmarktpolitik gehören u.a. die Steuerung der Leitzinssätze in Abhängigkeit<br />

<strong>von</strong> Konjunktur und Inflation, sowie die Regulierung der in Umlauf befindlichen Bargeld-<br />

menge.<br />

Mit Beginn der Europäischen Währungsunion und der schrittweisen Einführung des Euro<br />

musste eine neue, staatenübergreifende Regulierungsinstitution geschaffen werden, die in<br />

der Lage ist, europaweit die Währungsstabilität zu gewährleisten, um die neue Währung<br />

nicht durch einen Vertrauensverlust zu gefährden. Zu diesem Zweck wurde die Europäi-<br />

sche Zentralbank (EZB) <strong>mit</strong> Sitz in Frankfurt gegründet.<br />

Die EZB bildet zusammen <strong>mit</strong> den Nationalen Zentralbanken (NZB) der Länder, u.a. der<br />

Deutschen Bundesbank, das neue Europäische System der Zentralbanken (ESZB). Die<br />

38


3.2 Szenario: Produktion und Auslieferung <strong>von</strong> Euro-Münzen<br />

bisher national ausgeführten Regulierungen obliegen nun der EZB, die sich für die lokale<br />

Umsetzung der europaweit gültigen Entscheidungen der Zentralbanken der Mitgliedsstaa-<br />

ten bedient.<br />

Die Kompetenz über die in einzelnen Mitgliedsstaaten des Euro-Verbundes in Umlauf<br />

befindlichen Bargeldbestände befindet sich jetzt ebenfalls bei der EZB. Da<strong>mit</strong> lokale Un-<br />

terschiede der Mitgliedsstaaten besser berücksichtigt werden, erfolgt dabei zunächst eine<br />

Evaluierung der voraussichtlich benötigten Bargeldmengen durch die nationalen Zentral-<br />

banken, die ihre Erkenntnisse gegenüber der EZB fundiert begründen und <strong>von</strong> dieser vor<br />

der Umsetzung genehmigen lassen müssen.<br />

NZB<br />

Landeszentralbank<br />

(LZB)<br />

Zweiganstalt<br />

Europäische<br />

Zentralbank (EZB)<br />

Deutsche<br />

Bundesbank<br />

(NZB)<br />

Landeszentralbank<br />

(LZB)<br />

NZB<br />

Landeszentralbank<br />

(LZB)<br />

Zweiganstalt Zweiganstalt<br />

Hauptstelle Haupstelle Zweigstelle Zweigstelle<br />

Zweigstelle Betriebsstelle<br />

Abbildung 3.1: Das Europäische System der Zentralbanken<br />

Bei der nationalen Umsetzung der Bargeldmengenregulierung wird die Deutsche Bun-<br />

desbank durch ihre Landesorgane, die Landeszentralbanken (LZBs) sowie deren Zweigan-<br />

stalten, unterstützt. Durch diese werden die operativen Aufgaben, etwa Ausgabe und Pfle-<br />

ge des Bargeldes, wahrgenommen. Geschäftsbanken versorgen sich hier <strong>mit</strong> „frischem“<br />

Bargeld und liefern vereinnahmte Bestände an Scheinen und Münzen zur Echtheits- und<br />

Zustandsüberprüfung an diese zurück. Entsprechende Wertstellungen erfolgen auf den<br />

Konten, welche die Geschäftsbanken bei den LZBs unterhalten.<br />

39


3 Problemstellung<br />

3.2.3 Euro als Produkt<br />

Für die weitere Beschreibung des Szenarios interessiert hier der Anteil des Bargeldes, der<br />

aus Münzen besteht. In den Mitgliedsstaaten der Europäischen Währungsunion handelt es<br />

sich dabei um Euro- und Euro-Cent-Münzen. Die Nennwerte der Münzen (2, 1 Euro; 50,<br />

20, 10, 5, 2, 1 Euro-Cent) und die Abbildungen des jeweiligen Wertes auf der Vorderseite<br />

sind dabei in allen Ländern einheitlich. Die Gestaltung der Rückseiten ist den einzelnen<br />

Staaten selbst überlassen.<br />

In Deutschland finden sich insgesamt drei unterschiedliche Abbildungen auf der Rück-<br />

seite, <strong>von</strong> denen der Bundesadler und das Eichenlaub an vorherige Mark- und Pfennig-<br />

Münzen erinnern. Andere Staaten haben sich z.T. für eine komplett einheitliche oder auch<br />

komplett unterschiedliche Ausgestaltung entschieden. Bei einigen nationalen Ausgaben<br />

(Vatikan, Monaco, San Marino), ist aufgrund der geringen Stückzahlen bereits jetzt eine<br />

den Nennbetrag überschreitende Wertsteigerung eingetreten. Durch die Reglementierun-<br />

gen der Gestaltungsfreiheit werden sowohl ein hoher Wiedererkennungswert, als auch die<br />

gewünschte nationale Differenzierung erreicht. Eine vollständige Fotoserie aller Münz-<br />

rückseiten findet sich unter [BB02].<br />

Um ein europaweit zuverlässiges Funktionieren <strong>von</strong> münzbetriebenen Automaten zu ge-<br />

währleisten, wurden die dafür erforderlichen Parameter, wie etwa Masse, Gewichte, Metallbeschaffenheit<br />

und Ausformung des Randes, einheitlich festgeschrieben. Tabelle 3.1 1<br />

bietet einen Überblick.<br />

Da Euro- und Cent-Münzen in dieser Diplomarbeit nicht als Zahlungs<strong>mit</strong>tel, sondern als<br />

zu fertigendes Produkt betrachtet werden, liefert Tabelle 3.1 gleichzeitig eine Übersicht<br />

der einzelnen Produkte <strong>mit</strong> ihrer individuellen Beschaffenheit. Es ist offensichtlich, dass<br />

viele unterschiedliche Abläufe zu betrachten sind.<br />

So bestehen die Euro-Münzen aus einem Kern und einem äußeren Ring, die erst bei der<br />

Prägung <strong>mit</strong>einander verbunden und zunächst separat gefertigt werden. Auch bei den<br />

verwendeten Metallen und der Randgestaltung bestehen erhebliche Unterschiede. Die-<br />

se Unterschiede werden zunächst bei der Produktion <strong>von</strong> Ronden (siehe Abschnitt 3.2.4)<br />

gewürdigt.<br />

1 Quelle: Deutsche Bundesbank<br />

40


3.2 Szenario: Produktion und Auslieferung <strong>von</strong> Euro-Münzen<br />

Nennwert 1 Cent 2 Cent 5 Cent 10 Cent 20 Cent 50 Cent 1 Euro 2 Euro<br />

Durchmesser in mm 16,25 18,75 21,25 19,75 22,25 24,25 23,25 25,75<br />

Dicke in mm 1,67 1,67 1,67 1,93 2,14 2,38 2,33 2,20<br />

Gewicht in g 2,30 3,06 3,92 4,10 5,74 7,80 7,50 8,50<br />

Form Rund Rund Rund Rund Rund Rund Rund Rund<br />

Farbe Rot Rot Rot Gelb Gelb Gelb weiß/gelb gelb/weiß<br />

Zusammensetzung (1a)* (1a)* (1a)* (1b)* (1b)* (1b)* (1c)* (1d)*<br />

Rändlung Glatt (2a)* Glatt (2b)* (2c)* (2b)* (2d)* (2e)*<br />

(1a) Stahl <strong>mit</strong> Kupferauflage<br />

(1b) Nordisches Gold (Kupfer-Aluminium-Zink-Zinn-Legierung)<br />

(1c) Ring: Nickel-Messing, Mittelteil: Kupfer-Nickel, Nickel, Kupfer-Nickel (dreischichtig)<br />

(1d) Ring: Kupfer-Nickel, Mittelteil: Nickel-Messing, Nickel, Nickel-Messing (dreischichtig)<br />

(2a) glatt <strong>mit</strong> umlaufender Rille<br />

(2b) grob geriffelt (Wellenstruktur)<br />

(2c) glatt <strong>mit</strong> Einbuchtungen<br />

(2d) gebrochen geriffelt<br />

(2e) Schriftprägung fein geriffelt<br />

3.2.4 Rondenproduktion<br />

Tabelle 3.1: Technische Merkmale der Euro-Münzen<br />

Als Ronden oder Rohlinge werden flache Metallscheiben bezeichnet, die als Vorprodukt<br />

in die Prägeanstalten geliefert oder dort selbst hergestellt werden. In dem hier betrachteten<br />

Szenario erfolgt eine separate Fertigung bei Rondenherstellern. Die Produktion der Ron-<br />

den erfordert beträchtlichen technischen Aufwand und besteht aus folgenden Schritten:<br />

1. Angeliefertes Münzmetall wird in Stangen gegossen. Die Beschaffung ist Aufgabe<br />

des Rondenherstellers.<br />

2. Die Stangen werden zu Metallbändern ausgewalzt.<br />

3. Aus den Metallbändern werden die Rohlinge ausgestanzt.<br />

4. Die Rohlinge werden randriert, d.h., der Rand wird verdickt, wobei gleichzeitig<br />

eine Glättung erreicht und die gewünschte Ausformung aufgebracht wird.<br />

5. Es erfolgt ein Glühen der Rohlinge, was die Prägung im späteren Produktionsablauf<br />

erleichtert.<br />

6. Die 1, 2 und 5 Euro-Cent-Stahlrohlinge werden durch Elektrolyse <strong>mit</strong> einer Kup-<br />

ferschicht überzogen.<br />

7. Die Rohlinge werden poliert, gewaschen und getrocknet.<br />

8. Abschließend werden die Rohlinge auf ihre Qualität überprüft und gezählt.<br />

9. Einwandfreie Stücke werden gelagert oder zu den Prägeanstalten geliefert.<br />

41


3 Problemstellung<br />

Für die insgesamt acht vorhandenen Euro- und Euro-Cent-Münzen sind individuelle Roh-<br />

linge zu erstellen. Bei Euro-Münzen müssen Kern und Ring separat gefertigt werden,<br />

außerdem ist zu berücksichtigen, dass der Kern aus insgesamt drei Schichten besteht,<br />

die <strong>mit</strong>einander verbunden werden müssen. Euro-Cent-Münzen sind etwas weniger an-<br />

spruchsvoll konzeptioniert, allerdings erfordert die Verkupferung der Stahl-Ronden einen<br />

getrennten Produktionsschritt.<br />

Den nach diesem Verfahren hergestellten Rohlingen fehlt nur noch die Prägung <strong>von</strong> Vor-<br />

der- und Rückseite. Die erforderlichen Maße und Gewichte werden aber bereits eingehal-<br />

ten. Für münzbetriebene Automaten sind Rohlinge daher uneingeschränkt verwendbar.<br />

Durch diese Eigenschaft und den aufwändigen Wertschöpfungsprozess stellt dieses Zwi-<br />

schenprodukt bereits einen erheblichen Wert dar.<br />

3.2.5 Münzprägung<br />

Die Prägeanstalten oder Münzen haben die Aufgabe, den Rohlingen ihr endgültiges „Ge-<br />

sicht“ zu verleihen. Obwohl für die Zukunft eine zumindest europäische Öffnung dieses<br />

Tätigkeitsbereiches geplant ist, arbeiten die fünf Deutschen Münzen in Berlin, München,<br />

Stuttgart, Karlsruhe und Hamburg bislang unter rein staatlicher (deutscher) Aufsicht.<br />

Neben den Euro- und Cent-Münzen werden auch andere Produkte, wie etwa Sonder-<br />

oder Gedenkmünzen, geprägt. Die Auftragsvergabe an die einzelnen Münzen erfolgt da-<br />

bei durch das Bundesministerium der Finanzen, was in §6 des Deutschen Münzgesetzes<br />

(MünzG) [Bun99] festgelegt wird. Das MünzG schreibt ebenfalls vor, dass das erforder-<br />

liche Münzmetall den Prägeanstalten durch das Bundesministerium der Finanzen bereit-<br />

zustellen ist. In dem hier beschriebenen Szenario erfolgt die Bereitstellung in Form der<br />

angelieferten Münzrohlinge, deren Produktion durch den Bund bzw. durch das Bundes-<br />

ministerium der Finanzen beauftragt wird.<br />

Bevor die Deutschen Münzen ihrem eigentlichen Produktionsauftrag nachkommen kön-<br />

nen, müssen zunächst die dafür erforderlichen Prägestempel erstellt werden. Die Herstel-<br />

lung umfasst wiederum aufwändige und teils <strong>von</strong> Hand auszuführende Arbeitsschritte,<br />

wie etwa Werkzeugbau und Gravurarbeiten. Für dieses Szenario wird das Vorhandensein<br />

der erforderlichen Prägemaschinen und -stempel vorausgesetzt, eine weitere Betrachtung<br />

der Vorstufen soll hier nicht erfolgen. Nähere Informationen zu diesem Themengebiet<br />

sind unter [Swi02] zu finden.<br />

42


3.2 Szenario: Produktion und Auslieferung <strong>von</strong> Euro-Münzen<br />

Die Verarbeitung der angelieferten Rohlinge in der Münze umfasst folgende Schritte:<br />

1. Prägung der Rohlinge <strong>mit</strong> passendem Stempel-Paar für beide Seiten,<br />

2. manuelle Qualitätskontrolle und ggf. Aussonderung schlecht ausgeprägter Stücke,<br />

3. Verpackung der Münzen; zunächst in Rollen, anschließend in Säcke oder Kisten,<br />

4. Lagerung oder Transport zu den Landeszentralbanken.<br />

3.2.6 Transport<br />

Aus den bisher beschriebenen Schritten zur Fertigung <strong>von</strong> Euro-Münzen ergibt sich be-<br />

reits, dass unterschiedliche Stationen an möglicherweise verschiedenen Standorten durch-<br />

laufen werden müssen. Die Integration aller Schritte zu einem Gesamtablauf erfordert<br />

Transporte <strong>von</strong> Rohstoffen sowie Zwischen- und Endprodukten, und es ergibt sich die<br />

gewünschte <strong>Supply</strong> <strong>Chain</strong>.<br />

Metall 1<br />

Metall 2<br />

Rohmetall<br />

Ronden 1<br />

Ronden 2<br />

Rondenproduktion<br />

Normaler Transport<br />

Sicherheitstransport<br />

BUND<br />

HH<br />

M<br />

B<br />

Münzprägung<br />

S<br />

KA<br />

Gemeinsamer Pool <strong>von</strong><br />

Unternehmen<br />

Abbildung 3.2: Transporte bei der Produktion der Euro-Münzen<br />

LZB 1<br />

LZB 2<br />

Lagerung<br />

Abbildung 3.2 zeigt das Zusammenwirken der beteiligten Stufen. Transportiert werden<br />

zunächst die <strong>von</strong> den Ronden-Herstellern benötigten Metalle, im späteren Verlauf dann<br />

die Münzrohlinge und schließlich die fertigen Münzen. Rohmetalllieferanten, Rondenher-<br />

steller und Landeszentralbanken sind exemplarisch dargestellt, die fünf Deutschen Mün-<br />

zen in Stuttgart (S), Hamburg (HH), Berlin (B), Karlsruhe (KA) und München (M) sind<br />

komplett abgebildet.<br />

43


3 Problemstellung<br />

Aus der Abbildung werden einige zu beachtende Besonderheiten ersichtlich. Während<br />

die Transporte des Rohmetalls ohne besondere Vorkehrungen erfolgen können und <strong>von</strong><br />

den Metalllieferanten initiiert werden, besteht bei Transporten <strong>von</strong> Münzrohlingen und<br />

fertigen Münzen erhöhter Sicherheitsbedarf. Vom Bund werden daher geeignete Sicher-<br />

heitstransportunternehmen beauftragt. Die Instanz „Bund“ ist hier stellvertretend für die<br />

Deutsche Bundesbank bzw. das Bundesministerium der Finanzen zu verstehen. Beiden<br />

obliegen unterschiedliche Aufgaben im Rahmen der Münzfertigung, ein sinnvoller Ab-<br />

lauf kann aber nur durch Koordination beider Stellen erreicht werden.<br />

Er<strong>mit</strong>telt aus den Aufträgen die<br />

benötigten Transporte in Rohform:<br />

n Transportaufträge (Produkt, Anzahl,<br />

früheste Abfahrt, späteste Ankunft,<br />

Quelle, Ziel)<br />

Umgruppierung in konkrete Mengen<br />

an Gewicht und Ausmaß<br />

Transportunternehmen<br />

Abbildung 3.3: Beauftragung <strong>von</strong> Transporten durch den Bund<br />

Der Bund selbst beschränkt sich bei der Planung der Transporte auf eine Sammlung der<br />

sich aus den Aufträgen ergebenden Notwendigkeiten. Abbildung 3.3 zeigt, dass erst die<br />

Transportunternehmen selbst, bzw. deren Kopf in Form eines fokalen Unternehmens, eine<br />

Optimierung und konkrete Verplanung auf einzelne Transporteure vornehmen.<br />

3.2.7 Lagerung<br />

Die vorliegende <strong>Supply</strong> <strong>Chain</strong> erfordert an unterschiedlichen Stellen eine Berücksichti-<br />

gung <strong>von</strong> Lagerkapazitäten. In Abbildung 3.2 werden nur die „Endlagerung“ der Münzen<br />

44


3.3 Anmerkungen und Anpassungen<br />

bei den Landeszentralbanken und die Rohmetalllieferanten als ebenfalls lagernde Instan-<br />

zen dargestellt.<br />

Weitere Lagerkapazitäten sind bei Rondenherstellern und den Münzen zu finden. Durch<br />

Ein- und Ausgangslager soll hier eine Entkopplung <strong>von</strong> Transporten und da<strong>mit</strong> eine rei-<br />

bungslose Produktion erreicht werden. Im weiteren Verlauf dieser Arbeit wird allerdings<br />

zunächst eine reine Just-In-Time-Produktion betrachtet, weshalb Ein- und Ausgangslager<br />

keine weitere Berücksichtigung finden.<br />

3.3 Anmerkungen und Anpassungen<br />

Das in diesem Kapitel beschriebene Szenario versucht, ein Modell für die bei der Produk-<br />

tion <strong>von</strong> Euro-Münzen involvierten Wirtschaftsprozesse zu bilden. Dazu wurden authen-<br />

tische Quellen, wie etwa die Deutsche Bundesbank, gesetzliche Vorschriften, Medienbe-<br />

richte und Informationen <strong>von</strong> Produzenten im In- und Ausland herangezogen.<br />

Für einige Aspekte war eine detaillierte Informationsbeschaffung <strong>mit</strong> vertretbarem Auf-<br />

wand allerdings nicht möglich, weshalb einige Erkenntnisse aus vorliegenden Fakten de-<br />

duziert werden mussten. Dies gilt insbesondere für den Bereich Transport, über den auf-<br />

grund der Sicherheitsrelevanz dieses Themas wenig Konkretes zu erfahren war.<br />

45


3 Problemstellung<br />

46


4 Entwurf<br />

Nachdem im vorigen Kapitel das ausgewählte Beispiel-Szenario beschrieben wurde, folgt<br />

jetzt die Aufgabe, ein System zur Lösung der dort beteiligten Ablaufplanungsprobleme<br />

zu entwickeln. Dazu wird zunächst ein Vorgehensmodell erarbeitet, das eine schrittweise<br />

Abbildung des Szenarios auf ein Multiagenten-System ermöglicht.<br />

Anhand des Modells erfolgt dann ein Mapping der vorhandenen Planungseinheiten auf<br />

<strong>Agenten</strong>. Im Weiteren können die spezifischen Eigenschaften, die diese <strong>Agenten</strong> aufwei-<br />

sen müssen, identifiziert werden. Zu klären sind insbesondere die Anforderungen an die<br />

jeweils benötigten Planungsalgorithmen und das Kommunikationsverhalten. Beide wei-<br />

sen aufgrund der unterschiedlichen Positionierung im Gesamtsystem beträchtliche Unter-<br />

schiede auf.<br />

4.1 <strong>Teams</strong> <strong>von</strong> <strong>Agenten</strong><br />

Diese Diplomarbeit verfolgt das Ziel, Probleme des <strong>Supply</strong> <strong>Chain</strong> <strong>Scheduling</strong> <strong>mit</strong> einem<br />

Multiagenten-System zu realisieren, dessen <strong>Agenten</strong> in <strong>Teams</strong> organisiert sind.<br />

Ein Aspekt der auf Sauer ([Sau02]) basierenden Idee ist es, ein Kooperationsmodell<br />

für die <strong>Agenten</strong> zu finden, das geeignet ist, den bei früheren Realisierungen enstande-<br />

nen Kommunikations-Overhead zu minimieren. Eine Organisation der <strong>Agenten</strong> in <strong>Teams</strong><br />

scheint dazu verwendbar, da sich so Kontrollflussschleifen (Control Loops) auf verschie-<br />

denen Ebenen der <strong>Supply</strong> <strong>Chain</strong> herausbilden können.<br />

In jeder dieser Schleifen ist nur eine begrenzte Ablaufplanungsaufgabe zu lösen, wozu nur<br />

begrenztes Planungswissen erforderlich ist. Außerdem führt der eingeschränkte Betrach-<br />

tungshorizont dazu, dass weniger Ereignisse auftreten, die eine Kommunikation zwischen<br />

den <strong>Agenten</strong> erfordern.<br />

Ein Control Loop könnte z.B. die obere Ebene der <strong>Supply</strong> <strong>Chain</strong> abdecken, in der sich<br />

der fokale Kopf und die obersten Repräsentanten der beteiligten Unternehmen befinden.<br />

47


4 Entwurf<br />

Weitere Schleifen umfassen Objekte der <strong>mit</strong>tleren Ebene. Auf unterer Ebene sind z.B. nur<br />

noch Maschinenagenten und der für deren direkte Koordination zuständige Agent enthal-<br />

ten.<br />

Es gibt allerdings noch weitere Gesichtspunkte, die für den Einsatz <strong>von</strong> <strong>Teams</strong> <strong>von</strong> Agen-<br />

ten bei Ablaufplanungsproblemen sprechen:<br />

48<br />

• Parallelen zur Realwelt: Bei auf Multiagenten-Systemen abzubildenden Betriebss-<br />

trukturen ist häufig eine hierarchische, in Gruppen und Abteilungen gegliederte Or-<br />

ganisation zu finden. Für unternehmensübergreifende Kooperationen ist ebenfalls<br />

eine Koordination zwischen den Disponenten der Beteiligten erforderlich, auch die-<br />

se Zusammenarbeit kann als Team verstanden werden.<br />

• Strukturierung für die Konfiguration: Um komplexe Projekte auf Multiagenten-<br />

Basis in späteren Phasen schnell an unterschiedliche Umgebungen anpassen und da-<br />

<strong>mit</strong> kommerziell einfacher nutzen zu können, sind ein komponentenbasierter Auf-<br />

bau und Unterstützung durch ein grafikbasiertes Konfigurationssystem wünschens-<br />

wert. <strong>Teams</strong> bieten sich hier als Strukturierungsmöglichkeit an, um dem Benutzer<br />

die Umsetzung unterschiedlicher Ebenen auf das System zu erleichtern.<br />

• Abgrenzung <strong>von</strong> Bereichen: <strong>Agenten</strong> auf einer <strong>mit</strong>tleren Stufe sind typischerwei-<br />

se in mehrere <strong>Teams</strong> eingebunden. Einerseits sind sie „Befehlsempfänger“ eines<br />

übergeordneten <strong>Agenten</strong>, andererseits leiten sie selbst ein untergeordnetes Team.<br />

Diesen <strong>Agenten</strong> kommt daher die Aufgabe zu, zwischen beiden Ebenen zu ver-<br />

<strong>mit</strong>teln. Dazu verfügen sie über das erforderliche Planungswissen und setzen <strong>von</strong><br />

oben erhaltene Grobpläne in Feinpläne um, deren Aufträge sie unter den in der Hie-<br />

rarchie tiefer stehenden <strong>Agenten</strong> verteilen. Hier liegen Risiken und Chancen dicht<br />

beieinander. Die konkrete Realisierung und Abgrenzung der Bereiche entscheiden<br />

un<strong>mit</strong>telbar über die erreichbare Reduktion der Komplexität.<br />

• Unterschiedliche Kommunikationsmodelle: Durch die bereits hervorgehobene Un-<br />

terteilung, die in einem Multiagenten-System durch Teambildung erreicht werden<br />

kann, ergeben sich neue Möglichkeiten für die Kooperation der <strong>Agenten</strong>. Heterar-<br />

chische Verhandlungen z.B., bei denen ein Team selbsttätig nach Vorgaben eines in<br />

der Hierarchie höher stehenden <strong>Agenten</strong> die Aufgabenverteilung übernimmt, ohne<br />

diesen dabei in die Verhandlung einbeziehen zu müssen, sind ohne Aufteilung in<br />

Bereiche nicht vorstellbar.


4.2 Vorgehensmodell<br />

4.2.1 Übersicht<br />

4.2 Vorgehensmodell<br />

Das hier vorgestellte Vorgehensmodell zur Abbildung eines <strong>Supply</strong> <strong>Chain</strong> Szenarios der<br />

Realwelt auf ein Multiagenten-System besteht aus ingesamt acht Phasen (Abbildung 4.1).<br />

Abbildung 4.1: Phasen des Vorgehensmodells<br />

Die Phase Analyse des Realwelt-Szenarios beschäftigt sich <strong>mit</strong> der gründlichen Betrach-<br />

tung der Wirtschaftsprozesse, für die eine Planungsunterstützung realisiert werden soll.<br />

49


4 Entwurf<br />

Den dabei identifizierten Stellen der Realwelt werden in den beiden folgenden Phasen<br />

<strong>Agenten</strong> zugeordnet, die in <strong>Teams</strong> strukturiert und <strong>mit</strong> Beziehungen versehen werden.<br />

Anschließend ist eine Präzisierung der <strong>Agenten</strong> möglich. Diese liefert Erkenntnisse über<br />

die für einzelne <strong>Agenten</strong> zu realisierenden Eigenschaften. Betrachtet werden u.a. Pla-<br />

nungsaufgaben, Verantwortungsbereich und Kooperationsverhalten.<br />

Der Entwurf bzw. die Auswahl der <strong>Agenten</strong>plattform, die für eine Realisierung geeig-<br />

net erscheint, ist Voraussetzung, um in der nächsten Phase die er<strong>mit</strong>telten Anforderungen<br />

ausgestalten und z.B. Datenschema, Algorithmen und Kommunikationsverfahren entwi-<br />

ckeln zu können. Abschließend erfolgt die eigentliche Implementierung des Systems und<br />

die Durchführung <strong>von</strong> Tests.<br />

Einige Tätigkeiten weisen Ähnlichkeiten <strong>mit</strong> einem <strong>von</strong> Appelrath et al. im Rahmen des<br />

Projekts AMPA beschriebenen Ansatzes ([AFST00]) auf. An anderen Stellen weicht das<br />

hier eingeführte Modell jedoch da<strong>von</strong> ab oder liefert eine detailliertere Darstellung.<br />

Die für die einzelnen Phasen des Abbildungsprozesses relevanten Handlungen werden im<br />

Folgenden näher beschrieben.<br />

4.2.2 Phasen des Vorgehensmodells<br />

4.2.2.1 Analyse des Realwelt-Szenarios<br />

Zu Beginn ist eine gründliche Analyse des Szenarios erforderlich, für das ein Ablauf-<br />

planungssystem realisiert werden soll. Hierbei werden die Informationen gesammelt, die<br />

später für die Ausgestaltung des Softwaresystems <strong>von</strong> Bedeutung sind.<br />

Ergebnis der Untersuchung sollten detaillierte Erkenntnisse über folgende Aspekte sein:<br />

50<br />

• Produkte und Ziele: Da<strong>mit</strong> eine geeignete <strong>Supply</strong> <strong>Chain</strong> etabliert werden kann, ist<br />

zu betrachten, was Ergebnis dieser <strong>Supply</strong> <strong>Chain</strong> sein soll. Dazu gehören die zu<br />

fertigenden Produkte bzw. anzubietenden Dienstleistungen und angstrebte Optimie-<br />

rungen in Form <strong>von</strong> Zielen. Näheres findet sich in Abschnitt 2.2.2.<br />

• Prozesse: Für den Ablauf der <strong>Supply</strong> <strong>Chain</strong> sind unterschiedliche Prozesse rele-<br />

vant, u.a. Produktions-, Liefer- und Bereitstellungsprozesse, für deren Koordination<br />

Planungs- und Steuerungsprozesse benötigt werden.<br />

• Beteiligte Unternehmen und Stellen: Realisiert wird die <strong>Supply</strong> <strong>Chain</strong> durch eine<br />

Kooperation <strong>von</strong> Unternehmen, die einzelne Prozesse untereinander aufteilen. Es ist


4.2 Vorgehensmodell<br />

zu klären, welches Unternehmen, bzw. welche Stelle eines Unternehmens einzelne<br />

Teilaufgaben zu übernehmen hat und wo Redundanzen durch Zusammenführen <strong>von</strong><br />

Prozessen abgebaut werden können, z.B. durch eine gemeinsame Instanz für die<br />

Beschaffung <strong>von</strong> Rohmaterial.<br />

• Beziehungen: Durch die Zuordnung bestimmter Prozesse zu Unternehmen erge-<br />

ben sich disziplinarische Unterstellungsverhältnisse (z.B. Handlungsanweisungen<br />

an untergeordnete Unternehmen oder Abteilungen) und funktionale Beziehungen<br />

(z.B. Lieferung <strong>von</strong> Teilprodukten).<br />

Zur Verbesserung der Koordinationsfähigkeit ist die Vermeidung <strong>von</strong> Multi-Hie-<br />

rarchien sinnvoll, d.h., jede Stelle der <strong>Supply</strong> <strong>Chain</strong> sollte nur einer anderen In-<br />

stanz disziplinarisch unterstellt sein. Aus dieser Anforderung ergibt sich, dass eine<br />

baumartige Anordnung der Unterstellungsverhältnisse entsteht.<br />

• Technische Voraussetzungen: Um für eine <strong>Supply</strong> <strong>Chain</strong> geeignete Unterstützung<br />

durch ein Softwaresystem leisten zu können, ist zu beachten, welche Teile der<br />

IT-Infrastruktur möglicherweise schon vorhanden sind, etwa in Form bestehender<br />

ERP-Systeme. Denkbar ist auch, dass in einzelnen beteiligten Unternehmen erst die<br />

benötigten Strukturen geschaffen werden müssen.<br />

Für die Aufbereitung der gesammelten Fakten sind Grafiken, Tabellen und beschreiben-<br />

de Texte sinnvoll. Etablierte Referenzmodelle, wie das SCOR-Modell des <strong>Supply</strong> <strong>Chain</strong><br />

Council (beschrieben in [SK01]), helfen bei der Strukturierung und der Vereinheitlichung<br />

der Terminologie.<br />

4.2.2.2 Mapping der relevanten Stellen auf <strong>Agenten</strong><br />

Nachdem ein klares Bild der <strong>Supply</strong> <strong>Chain</strong> und der (Management-)Prozesse vorhanden<br />

ist, erfolgt ein Mapping der relevanten Stellen auf <strong>Agenten</strong>.<br />

Dazu wird den Stellen der Realwelt, für die eine Planung vorgenommen werden soll, ein<br />

Planungsagent zugeordnet. Abbildung 4.2 zeigt, wie <strong>Agenten</strong> in bereits vorhandene Dia-<br />

gramme der <strong>Supply</strong> <strong>Chain</strong> integriert werden.<br />

Vorhandene Systeme zur Ablaufplanung, die durch Einführung der neuen Multiagenten-<br />

Plattform nicht abgelöst werden sollen, sind durch einen <strong>Agenten</strong> zu kapseln, der als<br />

Wrapper arbeitet und so eine Schnittstelle darstellt.<br />

51


4 Entwurf<br />

Beschaffung<br />

Leitung PA 1<br />

Produktion<br />

Auslieferung<br />

PA 1.1 PA 1.2 PA 1.3<br />

Abbildung 4.2: Zuordnung <strong>von</strong> <strong>Agenten</strong> zu Stellen<br />

Disziplinarisches<br />

Unterstellungsverhältnis<br />

Zuordnung eines <strong>Agenten</strong><br />

zu einer Stelle<br />

Wichtig ist, dass die <strong>Agenten</strong> bereits zum jetzigen Zeitpunkt konsistente Bezeichnungen<br />

erhalten (Abbildung 4.3). Dazu erfolgt eine Numerierung, die bei dem einzelnen <strong>Agenten</strong><br />

auf oberster Hierarchieebene <strong>mit</strong> „1“ beginnt. Untergeordnete <strong>Agenten</strong> erben den Namen<br />

ihres Vaters und erweitern diesen um eine Zahl, abhängig <strong>von</strong> ihrer horizontalen Anord-<br />

nung. Als Trennzeichen zwischen den Zahlen wird ein Punkt verwendet.<br />

1.1 1.2<br />

1<br />

1.1.1 1.1.2 1.1.3 1.2.1 1.2.2 1.3.1<br />

Abbildung 4.3: Benennung der <strong>Agenten</strong><br />

Für eine übersichtlichere Darstellung komplexer Szenarien ist es sinnvoll, Virtuelle Orga-<br />

nisationseinheiten einzuführen, die eine Gruppe gleichartiger Einheiten, etwa verschie-<br />

dene Münzprägen, repräsentieren. Bei der späteren Verfeinerung des Modells kann dann<br />

entschieden werden, ob diese als konkrete <strong>Agenten</strong> zu realisieren sind oder die Kommuni-<br />

kation direkt vom übergeordneten <strong>Agenten</strong> zu den untergeordneten durchgereicht werden<br />

kann.<br />

52<br />

1.3


4.2 Vorgehensmodell<br />

Die Einführung der virtuellen und neuen <strong>Agenten</strong> ist darüber hinaus ein geeignetes Werk-<br />

zeug für die Verbesserung der innerhalb oder zwischen den involvierten Unternehmen<br />

ablaufenden Geschäftsprozesse (Business Process Optimization).<br />

Durch die hier vorgestellte Benennung der <strong>Agenten</strong> ergeben sich systemweit eindeutige<br />

Namen, die gleichzeitig Rückschlüsse über die Hierarchie erlauben. In dieser Arbeit wird<br />

den <strong>Agenten</strong>namen noch das Kürzel „PA“ für „Planungsagent“ vorangestellt.<br />

4.2.2.3 Hinzufügen der Beziehungen und <strong>Teams</strong><br />

In der ersten Phase des Vorgehensmodells wurden bereits Erkenntnisse über disziplina-<br />

rische Unterstellungsverhältnisse und funktionale Beziehungen zwischen den Stellen der<br />

Unternehmen gesammelt. Von besonderem Interesse sind die disziplinarischen Beziehun-<br />

gen, da diese auch für Kommunikation und Verhandlungen zwischen den <strong>Agenten</strong> benö-<br />

tigt werden.<br />

Funktionale Beziehungen, wie etwa die Lieferung <strong>von</strong> Gütern <strong>von</strong> einer Stelle zu einer<br />

anderen, werden zunächst nur implizit durch Planungswissen der <strong>Agenten</strong> modelliert. Da<br />

laut Appelrath et al. ([AFST00]) funktionale Beziehungen nicht <strong>mit</strong> einem Anspruch auf<br />

Auskunft oder direkte Abstimmung verbunden sind, soll diese Betrachtung zunächst aus-<br />

reichen.<br />

Die <strong>Agenten</strong> sind bereits Stellen der Unternehmen zugeordnet worden, zwischen denen<br />

disziplinarische Unterstellungsverhältnisse bestehen. Soweit möglich, können diese für<br />

die <strong>Agenten</strong> übernommen werden, falls nicht z.B. mehrfache Abhängigkeiten eine Auflö-<br />

sung erforderlich machen. Diese kann erreicht werden, indem weitere <strong>Agenten</strong> hinzuge-<br />

fügt oder einzelne <strong>Agenten</strong> in eine andere Hierarchiestufe verlagert werden.<br />

In bestimmten Fällen, z.B., wenn ein Agent Aufträge <strong>von</strong> mehreren höhergestellten Agen-<br />

ten bekommen kann, ist dieser Konflikt auch auf Ebene des Planungsalgorithmus lösbar.<br />

Dazu könnte der Agent seine Kapazitäten entweder strikt nach Auftragseingang vergeben<br />

oder in Form <strong>von</strong> auf einmal zu verteilenden Kontingenten verwalten.<br />

Für die Bildung der <strong>Teams</strong> <strong>von</strong> <strong>Agenten</strong> können einige der Aspekte verwendet werden,<br />

die bereits in Abschnitt 4.1 genannt wurden, bzw. aus diesen abgeleitet werden:<br />

• Gemeinsame Planungsaufgabe: <strong>Agenten</strong>, die an einer gemeinsamen Planungsauf-<br />

gabe arbeiten, z.B. an der Planung für eine Montageabteilung, können sinnvoll zu<br />

einem Team zusammengefasst werden.<br />

53


4 Entwurf<br />

• Control Loops / Hierarchische Position: Um den Kommunikationsaufwand gering<br />

zu halten und das Ablaufplanungsproblem auf einen definiert begrenzten Raum zu<br />

reduzieren, erfolgt eine Gruppierung geeigneter <strong>Agenten</strong>. Typischerweise befinden<br />

sich <strong>Agenten</strong> eines Control Loops an benachbarten Positionen innerhalb des Ge-<br />

samtsystems.<br />

• Parallelen: Bei der Gruppierung helfen kann eine Betrachtung der Realwelt, die<br />

Informationen über organisatorisch zusammenwirkende Stellen und da<strong>mit</strong> <strong>Agenten</strong><br />

liefert.<br />

• Gemeinsame Kommunikationsform: Neben einer benachbarten Position kann auch<br />

die Verwendung der gleichen Kommunikationsform bzw. eine Kommunikation un-<br />

tereinander geeignet sein, um <strong>Agenten</strong> eines <strong>Teams</strong> zu identifizieren.<br />

• Schnittstellen: Durch die Gruppierung werden automatisch Schnittstellen zwischen<br />

unterschiedlichen Bereichen gebildet, zwischen denen z.B. ein leitender Agent <strong>von</strong><br />

oben erhaltene Grobpläne in Feinpläne für die Tagesproduktion umsetzt. Bei „Aus-<br />

tausch eines Bereichs“, möglicherweise bedingt durch den Einsatz eines separaten<br />

ERP-Systems, ist lediglich eine Anpassung des Schnittstellen-<strong>Agenten</strong> erforderlich.<br />

Aufgrund der genannten Gesichtspunkte ist es offensichtlich, dass an Teamgrenzen ein-<br />

gesetzte <strong>Agenten</strong> über deutlich komplexeres Planungswissen und komplexere Planungs-<br />

algorithmen verfügen müssen, als ein untergeordneter Maschinenagent.<br />

Für die Anwendung der Klassifizierungsmerkmale empfiehlt es sich, diese zu gewichten<br />

und im Zweifelsfall gegeneinander abzuwägen. Eine hohe Bedeutung sollte der Bear-<br />

beitung einer gemeinsamen Planungsaufgabe und der Bildung <strong>von</strong> Control Loops bei-<br />

gemessen werden. Die Verwendung gleicher Kommunikations<strong>mit</strong>tel ist nicht unbedingt<br />

Voraussetzung für <strong>Agenten</strong> innerhalb eines <strong>Teams</strong>, wie im weiteren Verlauf der Arbeit<br />

noch deutlich werden wird.<br />

4.2.2.4 Präzisierung der <strong>Agenten</strong><br />

Die vorangegangenen Phasen haben gezeigt, wie individuell die Anforderungen an Agen-<br />

ten für verschiedene Positionen des Systems gestellt sind. Diese müssen jetzt präzisiert<br />

und in geeigneter Form aufbereitet werden.<br />

Für die Darstellung der Informationen wird ein Template verwendet, das für jeden Agen-<br />

ten <strong>mit</strong> seinen individuellen Daten zu füllen ist:<br />

54


4.2 Vorgehensmodell<br />

• Name des <strong>Agenten</strong>: Der Name des <strong>Agenten</strong>, der bereits festgelegt wurde. Bei der<br />

Benennung der <strong>Agenten</strong> ist auf Eindeutigkeit zu achten. Ein geeignetes Verfahren<br />

wird in Abschnitt 4.2.2.2 vorgestellt.<br />

• Repräsentierte Stelle der Realwelt: Das Objekt der Realwelt, für die der Agent die<br />

Planungsaufgaben übernommen hat. Es kann sich dabei um ein fokales Unterneh-<br />

men handeln, das den Kopf der <strong>Supply</strong> <strong>Chain</strong> verkörpert, aber auch um eine Gruppe<br />

<strong>von</strong> Maschinen, die zu einer Abteilung zusammengefasst sind, oder um eine einzel-<br />

ne Maschine.<br />

• Verantwortungsbereich: Beschreibt den Wirkungsbereich des <strong>Agenten</strong>. Der fokale<br />

Kopf der <strong>Supply</strong> <strong>Chain</strong> ist z.B. für die gesamte Vorgabeplanung und eine Weiterlei-<br />

tung <strong>von</strong> Teilaufträgen verantwortlich.<br />

• Teamzugehörigkeit: Beschreibt, welchen <strong>Teams</strong> der Agent angehört. An Schnitt-<br />

stellen eingesetzte <strong>Agenten</strong> können Mitglied mehrerer <strong>Teams</strong> sein. Die benötigten<br />

Erkenntnisse wurden bereits in der Phase Hinzufügen der Beziehungen und <strong>Teams</strong><br />

(Abschnitt 4.2.2.3) gesammelt.<br />

• Planungsaufgaben: Der Agent kann unterschiedliche Planungsaufgaben haben, ins-<br />

besondere dann, wenn er als leitender Agent oder im Schnittstellenbereich ein-<br />

gesetzt ist. Die Aufgabe kann z.B. darin bestehen, Produkte in Zwischenproduk-<br />

te aufzuteilen und Teilaufträge <strong>mit</strong> konkreten Zeitvorgaben weiterzuleiten. Für die<br />

beschriebenen Planungsaufgaben werden im späteren Verlauf der Entwicklung ge-<br />

eignete Algorithmen realisiert.<br />

• Planungswissen: Hier wird festgelegt, welcher Anteil der Datenbasis für den Agen-<br />

ten relevant ist und über welche Spezialinformationen, möglicherweise in den Al-<br />

gorithmus integriert, er verfügen muss.<br />

• Planungsstrategie: Für einige Planungsaufgaben bietet sich die Festlegung einer<br />

Strategie an. Diese könnte z.B. darin bestehen, Aufträge zum frühest möglichen<br />

Zeitpunkt einzuplanen, um Spielraum für nachfolgend vorgesehene Transporte zu<br />

gewinnen. In vielen Fällen ist eine „einfache“ Strategie nicht zu formulieren, da<br />

sich aus den Planungsaufgaben möglicherweise ergibt, dass eine differenzierte Be-<br />

trachtung notwendig ist. Inbesondere der Toplevel-Agent muss die Zeitfenster, die<br />

er seinen untergeordneten <strong>Agenten</strong> in Form <strong>von</strong> Aufträgen über<strong>mit</strong>telt, <strong>von</strong> deren<br />

Position innerhalb der <strong>Supply</strong> <strong>Chain</strong> abhängig machen.<br />

• Kooperation: Jeder Agent kommuniziert nur <strong>mit</strong> einigen <strong>Agenten</strong> des Gesamtsys-<br />

tems. Diese werden hier genannt, außerdem erfolgt eine Zuordnung der jeweils<br />

55


4 Entwurf<br />

verwendeten Kommunikationsmethode, also direkte Kommunikation, für die einfa-<br />

ches Delegieren (Abschnitt 2.3.3.1) verwendet wird, oder Contract Net Versteige-<br />

rung (Abschnitt 2.3.3.2).<br />

4.2.2.5 Entwurf / Auswahl der <strong>Agenten</strong>plattform<br />

Die bisher nur in Beziehungen und Aufbau bekannten <strong>Agenten</strong> benötigen für eine Imple-<br />

mentierung eine Laufzeitumgebung, in die sie möglichst ohne großen Adaptionsaufwand<br />

integriert werden können. Dazu erscheint der Entwurf bzw. die Verwendung einer bereits<br />

vorhandenen <strong>Agenten</strong>plattform sinnvoll. Um eine bestmögliche Abstimmung auf die er-<br />

forderlichen Leistungsmerkmale zu erhalten, bietet sich ein komplett eigenes Design an.<br />

Allerdings kann durch Veränderung bestehender Systeme evtl. eine deutliche Reduktion<br />

des Implementierungsaufwands erreicht werden.<br />

Beide Ansätze müssen eine Plattform entwickeln, die folgende Eigenschaften hat:<br />

56<br />

• Einheitliche Datenbankanbindung: Dem Programmierer muss ermöglicht werden,<br />

ohne großen Aufwand auf die benötigten Daten zuzugreifen. Typischerweise wer-<br />

den diese zur Laufzeit des Systems in dynamischen Objekten im Speicher bereitge-<br />

halten und über Operationen <strong>mit</strong> dem Datenbank-System abgeglichen.<br />

• Unterstützung <strong>von</strong> mehreren, unterschiedlichen <strong>Agenten</strong> zur Laufzeit: Für eine ver-<br />

teilte Ablaufplanung wird eine Vielzahl <strong>von</strong> <strong>Agenten</strong> benötigt. Die Plattform muss<br />

daher so ausgelegt sein, dass sie dieser Anforderung ohne Einbruch in der Leistung<br />

gerecht wird und das System skalierbar ist.<br />

• Bereitstellung der geforderten Kommunikations<strong>mit</strong>tel: Es muss ein Konzept für den<br />

Austausch <strong>von</strong> Nachrichten angeboten werden, das im besten Fall erweiterbar ist.<br />

Außerdem wird eine Realisierung des Contract Net Protokolls benötigt.<br />

• Konfiguration der <strong>Agenten</strong>: Wünschenswert sind Konfigurationsmöglichkeiten, um<br />

nicht für jeden Agent die erforderliche Funktionalität manuell implementieren zu<br />

müssen. Ein Ansatz könnte darin bestehen, dem <strong>Agenten</strong> über Stammdaten vorzu-<br />

geben, welche der vorhandenen Algorithmen für ihn bestimmt sind.<br />

• Ausreichende Flexibilität: Diese ist für die Umsetzung stark unterschiedlich arbei-<br />

tender <strong>Agenten</strong> erforderlich. In Abhängigkeit <strong>von</strong> dem umzusetzenden Szenario der<br />

Realwelt werden unterschiedliche Datenschemata, diverse Algorithmen und wech-<br />

selnde <strong>Teams</strong>trukturen <strong>mit</strong> verschiedenen Ansprüchen an die Kommunikations<strong>mit</strong>-<br />

tel benötigt.


4.2 Vorgehensmodell<br />

Die weitere Entwurfsmethodik sollte den aktuellen Regeln der Softwaretechnik folgen<br />

und wird hier nicht näher beschrieben. Bei Nutzung einer vorhandenen <strong>Agenten</strong>platt-<br />

form ist diese auf das Vorhandensein der gewünschten Anforderungen zu prüfen. Ggfs.<br />

ist festzustellen, ob notwendige Erweiterungen technisch durchführbar und wirtschaftlich<br />

sinnvoll sind. Eine derart offene Architektur, wie sie hier benötigt wird, ist prädestiniert<br />

für den Einsatz eines Frameworks (siehe Abschnitt 4.3.5).<br />

4.2.2.6 Ausgestaltung der Anforderungen<br />

Bevor die <strong>Agenten</strong> in die Laufzeitumgebung eingefügt werden, müssen die während der<br />

Klassifikation er<strong>mit</strong>telten Eigenschaften in einer für die Plattform geeigneten Weise auf-<br />

bereitet werden. Zu diesen Tätigkeiten gehören z.B.:<br />

• Datenschema: Es ist ein Datenschema zu erstellen, das umfassend genug ist, um die<br />

in der Realwelt vorgefundenen Produktions-, Transport- und Lagerprozesse darauf<br />

abbilden zu können. Dabei ist darauf zu achten, die Entitäten so zu wählen, dass<br />

das Schema auf unterschiedlichen Ebenen innerhalb der Hierarchie gleichermaßen<br />

einsetzbar ist.<br />

• Nachrichten und Kommunikation: Die verwendete <strong>Agenten</strong>plattform stellt evtl. nicht<br />

alle benötigten Nachrichten und Kommunikations<strong>mit</strong>tel zur Verfügung. Diese müs-<br />

sen dann ergänzt werden.<br />

• Algorithmen: Für die bei der Präzisierung der <strong>Agenten</strong> identifizierten Planungsauf-<br />

gaben sind geeignete Algorithmen zu erstellen. Es handelt sich dabei sowohl um<br />

prädiktive, als auch um reaktive Algorithmen, da jeder Agent unterschiedliche Pla-<br />

nungssituationen zu bearbeiten hat. Manchmal ist nur ein einzelner Auftrag in einen<br />

bestehenden Plan zu integrieren, in anderen Fällen ist ein komplett neuer Plan für<br />

alle vorliegenden Aufträge zu erstellen.<br />

• Stammdaten: Das fertige System soll Ablaufplanungsprobleme für reale Wirtschafts-<br />

prozesse lösen und muss daher <strong>mit</strong> Informationen über Produkte, Ressourcen usw.<br />

versorgt werden. Diese bilden die Stammdaten des Systems und sind sowohl <strong>von</strong><br />

dem zugrunde liegenden Datenschema, als auch <strong>von</strong> der Ausgestaltung der Al-<br />

gorithmen abhängig. Bei vielen Planungssituationen kann im Vorfeld entschieden<br />

werden, ob Besonderheiten durch einen Algorithmus umgesetzt, oder ob die Daten<br />

entsprechend aufbereitet werden. Ein Beispiel dafür ist die Aufteilung eines Pro-<br />

dukts in Zwischenprodukte.<br />

• <strong>Agenten</strong>konfiguration: Im Rahmen der Möglichkeiten der <strong>Agenten</strong>plattform ist eine<br />

Konfiguration der <strong>Agenten</strong> zu erstellen. Dabei wird zumindest eine Festlegung der<br />

57


4 Entwurf<br />

hierarchischen Position für jeden <strong>Agenten</strong> erfolgen. Weitere Vorgaben, etwa der zu<br />

verwendende Algorithmus, werden ebenfalls ausgewählt.<br />

• Startumgebung: Der Start des Ablaufplanungssystems sollte alle benötigten Agen-<br />

ten aufrufen und <strong>mit</strong> den initial notwendigen Parametern versorgen. In Abhängig-<br />

keit <strong>von</strong> der <strong>Agenten</strong>plattform ist eine Startumgebung bereitzustellen, die dieses<br />

leisten kann.<br />

4.2.2.7 Integration des Systems<br />

Das Ergebnis der Integration des Systems ist ein ablauffähiges, evtl. aus mehreren Kom-<br />

ponenten bestehendes Ablaufplanungssystem, das <strong>mit</strong>tels der gemäß den Anforderungen<br />

konfigurierten <strong>Agenten</strong> die Planungsaufgaben der <strong>Supply</strong> <strong>Chain</strong> bewältigt. Hierfür wer-<br />

den die bisherigen Ergebnisse zusammengefügt bzw. in Form <strong>von</strong> Sourcecode realisiert.<br />

4.2.2.8 Test und Verifikation<br />

Eine relative sichere Eigenschaft komplexer Systeme ist ihre Sensibilität für Fehler, die<br />

zu Abstürzen oder schwerwiegenden Fehlberechnungen führen können. Das System ist<br />

daher <strong>mit</strong> geeigneten Testdaten für das definierte Szenario auf Übereinstimmung <strong>mit</strong> den<br />

Anforderungen zu überprüfen. Diese Daten werden im Rahmen der Entwicklung erstellt.<br />

Weitere Test- und Verifikationsverfahren sollten wieder den Regeln der Softwaretechnik<br />

folgen und sind nicht Teil des Vorgehensmodells.<br />

4.3 Umsetzung für das Beispiel Euro-Münzen<br />

Gestützt auf das Vorgehensmodell werden im Folgenden die vorgestellten Arbeitsschritte<br />

für das Beispiel der Euro-Münzen umgesetzt.<br />

4.3.1 Analyse des Realwelt-Szenarios<br />

Die Analyse des Realwelt-Szenarios ist Thema <strong>von</strong> Kapitel 3 und da<strong>mit</strong> bereits abge-<br />

schlossen. Ein Ablaufplanungssystem für den Einsatz im konkreten Unternehmensumfeld<br />

benötigt natürlich weitaus umfangreichere und genauere Informationen. Für dieses Bei-<br />

spiel sollte der gewählte Betrachtungshorizont allerdings ausreichen. Bei tatsächlicher<br />

Unternehmensbeteiligung ist aber auch <strong>mit</strong> einer deutlichen Erleichterung der Informati-<br />

onsgewinnung zu rechnen.<br />

58


4.3 Umsetzung für das Beispiel Euro-Münzen<br />

4.3.2 Mapping der relevanten Stellen auf <strong>Agenten</strong><br />

Zur Abbildung der in der für die Euro-Produktion bestehenden <strong>Supply</strong> <strong>Chain</strong> enthaltenen<br />

Organisationseinheiten auf <strong>Agenten</strong> wird zunächst die in Abbildung 3.2 implizit enthal-<br />

tene Auftragshierarchie weiter verfeinert.<br />

BUND<br />

PA 1<br />

Ronden S-Transport<br />

Münzen LZB<br />

PA 1.1 PA 1.2 PA 1.3 PA 1.4<br />

Abbildung 4.4: Globale Sicht der <strong>Supply</strong> <strong>Chain</strong><br />

Abbildung 4.4 zeigt, dass für die globale Steuerung der <strong>Supply</strong> <strong>Chain</strong> der Bund zuständig<br />

ist. Aus den Mengenplanungen für die benötigten Münzen generiert er Aufträge für Ron-<br />

denproduzenten, Münzen, Landeszentralbanken und Sicherheitstransporte. Den Ronden-<br />

produzenten obliegt es, sich die benötigten Rohmetallmengen zu beschaffen. Die dafür<br />

notwendigen Transporte werden <strong>von</strong> den Metalllieferanten beauftragt.<br />

Wie im Vorgehensmodell beschrieben, werden für alle dem Bund untergeordneten Entitä-<br />

ten zunächst Virtuelle Organisationseinheiten eingeführt, wodurch sich der Toplevel der<br />

<strong>Supply</strong> <strong>Chain</strong> zunächst sehr übersichtlich darstellen lässt.<br />

Da Abbildung 4.4 die Auftragsvergabe und nicht den Materialfluss zeigt, sind die Si-<br />

cherheitstransportunternehmen nur an einer Position dargestellt. Wie bereits beschrieben,<br />

handelt es sich um einen Pool <strong>von</strong> Unternehmen, die wiederum durch einen fokalen Kopf<br />

gegenüber dem Bund repräsentiert werden.<br />

Abbildung 4.5 zeigt die nächste Verfeinerungsstufe der <strong>Supply</strong> <strong>Chain</strong>. Bis auf die Si-<br />

cherheitstransporte werden alle Organisationseinheiten hier in einer aufgefalteten Struk-<br />

tur dargestellt.<br />

59


4 Entwurf<br />

BUND<br />

Ronden PA S-Transport PA Münzen PA LZB<br />

PA 1.1 1.2 1.3 1.4<br />

Ronden 1<br />

PA 1.1.1<br />

Ronden 2 PA 1.1.2<br />

PA 1<br />

Münze HH<br />

Münze M<br />

Münze B<br />

Münze S<br />

Münze KA<br />

PA 1.3.1<br />

PA 1.3.2<br />

PA 1.3.3<br />

PA 1.3.4<br />

PA 1.3.5<br />

Abbildung 4.5: Globale Sicht der <strong>Supply</strong> <strong>Chain</strong> <strong>mit</strong> aufgefalteten<br />

Virtuellen Organisationseinheiten<br />

Analog zu Abbildung 3.2 sind auch in dieser Abbildung für die Bereiche Metall (Rohstof-<br />

fe), Rondenproduktion und Landeszentralbanken (Lagerung, „Endkunde“) jeweils zwei<br />

Einheiten abgebildet, was die Übersicht vereinfacht und zur Illustration der Anforderun-<br />

gen ausreicht.<br />

Abbildung 4.6 zeigt die interne Struktur eines Rondenherstellers. Die für Beschaffung<br />

verantwortliche Abteilung kommuniziert <strong>mit</strong> den Metalllieferanten und sorgt für termin-<br />

gerechte Anlieferung des Rohmaterials. Für die eigentliche Produktion sind sieben wei-<br />

tere Abteilungen vorgesehen.<br />

Eine Betrachtung <strong>von</strong> Ein- und Ausgangslagern unterbleibt. Es ist anzumerken, dass auf-<br />

grund des Fertigungsablaufs auch die Rondenproduktion bereits als <strong>Supply</strong> <strong>Chain</strong> ange-<br />

sehen werden kann. Für das hier zu entwerfende System werden die vom Bund erhaltenen<br />

Produktionsaufträge in Teilaufträge zerlegt und direkt an die Abteilungen weitergeleitet.<br />

Jede Abteilung wird durch einen <strong>Agenten</strong> verkörpert, der aus den vom übergeordne-<br />

ten <strong>Agenten</strong> erhaltenen Aufträgen Arbeitspläne für angeschlossene Maschinenagenten<br />

erstellt, bzw. über einen Wrapper bestehende Planungssysteme <strong>mit</strong> Plandaten versorgt.<br />

Ausgehend <strong>von</strong> globalen Vorgaben über Rondenmengen und deren Bereitstellungszeit-<br />

punkte realisieren die <strong>Agenten</strong> die konkrete Erfüllung der einzelnen Schritte. Der oder<br />

die weiteren Rondenhersteller im System sind analog aufgebaut.<br />

60<br />

LZB 1<br />

LZB 2<br />

PA 1.4.1<br />

PA 1.4.2


Beschaffung<br />

Giessen<br />

Walzen<br />

Ronden 1 PA 1.1.1<br />

Stanzen<br />

4.3 Umsetzung für das Beispiel Euro-Münzen<br />

Randrieren<br />

Glühen<br />

Polieren<br />

PA 1.1.1.1 PA 1.1.1.3 PA 1.1.1.5 PA 1.1.1.7<br />

Metall 1 Metall 2<br />

PA 1.1.1.1.1<br />

Prüfung<br />

PA 1.1.1.2 PA 1.1.1.4 PA 1.1.1.6 PA 1.1.1.8<br />

PA 1.1.1.1.2<br />

Ronden PA 1.1<br />

Abbildung 4.6: Produktion der Ronden<br />

Verglichen <strong>mit</strong> den Rondenherstellern ist die interne Struktur einer Münze deutlich we-<br />

niger komplex. Es wird deutlich, dass <strong>mit</strong> der Rondenproduktion bereits ein wesentlicher<br />

Anteil für das Gesamtprodukt erbracht worden ist. Abbildung 4.7 zeigt die Abteilungen<br />

einer Münze. Hier findet keine Kommunikation <strong>mit</strong> vorgelagerten Stufen statt, da durch<br />

die globale Steuerung eine Anlieferung der benötigten Vorprodukte erreicht wird.<br />

Das Planungsproblem reduziert sich daher auf eine korrekte Vergabe der Aufträge an<br />

die Abteilungen Prägen, Prüfen und Verpacken. Diese Abteilungen werden jeweils durch<br />

einen <strong>Agenten</strong> repräsentiert.<br />

Für die Realisierung der Sicherheitstransporte ist ein Pool <strong>von</strong> Unternehmen vorgesehen,<br />

der gegenüber dem Bund durch ein fokales Unternehmen vertreten wird. In Abbildung<br />

4.8 ist die weitere Untergliederung des Transportwesens dargestellt.<br />

Im Gegensatz zu den produzierenden Einheiten für Ronden und Münzen hat der Agent,<br />

der die Rolle des fokalen Unternehmens im System übernimmt, die Aufgabe, vom Bund<br />

61


4 Entwurf<br />

S-Trans 1<br />

1.3.1<br />

1.3.1.1 1.3.1.2 1.3.1.3<br />

Abbildung 4.7: Prägung der Münzen<br />

S-Transport PA 1.2<br />

S-Trans 2<br />

S-Trans 3<br />

PA 1.2.1 PA 1.2.2 PA 1.2.3<br />

Abbildung 4.8: Verteilung der Sicherheitstransporte<br />

1.3<br />

S-Trans 4<br />

PA 1.2.4<br />

erhaltene Transportaufträge geeignet umzugruppieren, um sie dann an die weiteren Agen-<br />

ten im Team zu verteilen. Da die an zwei verschiedenen Stellen der <strong>Supply</strong> <strong>Chain</strong> benö-<br />

tigten Sicherheitstransporte durch ein Team <strong>von</strong> <strong>Agenten</strong> gesteuert werden, ergeben sich<br />

Potenziale für eine Optimierung, bevor eine Versteigerung an angeschlossene Unterneh-<br />

men erfolgt.<br />

62


4.3 Umsetzung für das Beispiel Euro-Münzen<br />

4.3.3 Hinzufügen der Beziehungen und <strong>Teams</strong><br />

Alle disziplinarischen Beziehungen, die für das hier zu realisierende System benötigt wer-<br />

den, können direkt aus den bereits vorhandenen Diagrammen übernommen werden. Eine<br />

Ergänzung bzw. Entfernung einzelner Kanten des Beziehungssystems scheint zum jetzi-<br />

gen Zeitpunkt nicht notwendig.<br />

Da vorgesehen ist, den Bund über die an Rondenhersteller, Münzprägen und Landeszen-<br />

tralbanken zu vergebenden Produktions- und Lageraufträge selbst entscheiden zu lassen,<br />

können die virtuellen Knoten Ronden, Münzen und LZB aus dem System entfernt werden.<br />

Die benötigten Contract Net Versteigerungen werden vom Bund durchgeführt und direkt<br />

<strong>mit</strong> den konkreten <strong>Agenten</strong> der Produzenten bzw. Landeszentralbanken ausgehandelt.<br />

Anhand des Vorgehensmodells soll jetzt eine Gruppierung der <strong>Agenten</strong> in <strong>Teams</strong> erfol-<br />

gen. Dazu werden zunächst die Kriterien Gemeinsame Planungsaufgabe, Control Loops<br />

und Parallelen zur Realwelt herangezogen und in der genannten Reihenfolge gewichtet.<br />

Sollten diese nicht ausreichen, werden evtl. weitere gewählt.<br />

Ein Blick auf die bisher erstellten Grafiken und an die einzelnen Organisationseinheiten<br />

gestellten Anforderungen ergibt <strong>mit</strong>tels der Gruppierungsaspekte eine geeignete Eintei-<br />

lung der <strong>Agenten</strong> in <strong>Teams</strong>:<br />

• Toplevel: Das oberste Team des Systems besteht aus dem Bund und den leitenden<br />

<strong>Agenten</strong> <strong>von</strong> Rondenherstellern, Sicherheitstransporten, Münzen und Landeszen-<br />

tralbanken. Der Bund er<strong>mit</strong>telt aus den benötigten Münzmengen Aufträge für die<br />

ihm unterstehenden Abteilungen und versteigert diese (Ronden und Münzen) bzw.<br />

übergibt komplette Auftragspakete (Sicherheitstransporte). Die Verteilung der fer-<br />

tigen Münzen auf LZBs erfolgt nach einem festgelegten Aufteilungsschlüssel, um<br />

den Bedarfen der einzelnen Bundesländer gerecht zu werden.<br />

• Ronden: Jeder Rondenhersteller bildet ein Team <strong>von</strong> <strong>Agenten</strong>. Der leitende Agent<br />

generiert aus den vom Bund erhaltenen Aufträgen Teilaufträge zur Steuerung der<br />

einzelnen Abteilungsagenten. Eine genauere Betrachtung der Metalllieferanten soll<br />

zunächst nicht erfolgen. Daher werden die diese verkörpernden <strong>Agenten</strong> <strong>mit</strong> in die<br />

Ronden-<strong>Teams</strong> aufgenommen und als disjunkt betrachtet. Für eine spätere Erwei-<br />

terung ist eine Aufteilung denkbar.<br />

• Münzen: Die <strong>Teams</strong> der Münzhersteller ähneln denen der Rondenproduktion und<br />

sind deutlich weniger komplex aufgebaut.<br />

63


4 Entwurf<br />

• Sicherheitstransporte: Das Team der Sicherheitstransporte besteht aus dem fokalen<br />

Unternehmen zur Repräsentation des <strong>Teams</strong> gegenüber dem Bund, sowie aus den<br />

beteiligten Sicherheitsunternehmen. Wie bereits beschrieben, ist es Aufgabe des<br />

fokalen Unternehmens, die vom Bund erhaltenen Auftragspakete umzugruppieren<br />

und an die Unternehmen zu versteigern.<br />

• Landeszentralbanken: Die einzelnen Landeszentralbanken stellen jeweils ein eige-<br />

nes Team dar, das lediglich aus einem einzelnen <strong>Agenten</strong> besteht. Für spätere Ent-<br />

wicklungen ist auch hier eine Ergänzung denkbar, z.B. durch eine weitere Auftei-<br />

lung der LZB-<strong>Teams</strong> in Zweiganstalten. So wäre eine automatisierte, verfeinerte<br />

Disposition der Münzmengen realisierbar.<br />

Teamname Beteiligte Organisationseinheiten Zugehörige <strong>Agenten</strong><br />

Toplevel Bund, Leitende Stellen <strong>von</strong> Rondenherstellern,<br />

Münzen, Sicherheitstransporten,<br />

LZBs<br />

Ronden 1 Ronden 1, Beschaffung, Walzen, Giessen,<br />

Stanzen, Randrieren, Glühen, Polieren,<br />

Prüfung, Metall 1, Metall 2<br />

Ronden 2 Ronden 2, Beschaffung, Walzen, Giessen,<br />

Stanzen, Randrieren, Glühen, Polieren,<br />

Prüfung, Metall 3, Metall 4<br />

PA1, PA1.1, PA1.2, PA1.3, PA1.4<br />

PA1.1.1, PA1.1.1.1, PA1.1.1.2, PA1.1.1.3,<br />

PA1.1.1.4, PA1.1.1.5, PA1.1.1.6, PA1.1.1.7,<br />

PA1.1.1.8, PA1.1.1.1.1, PA1.1.1.1.2<br />

PA1.1.2, PA1.1.2.1, PA1.1.2.2, PA1.1.2.3,<br />

PA1.1.2.4, PA1.1.2.5, PA1.1.2.6, PA1.1.2.7,<br />

PA1.1.2.8, PA1.1.2.1.1, PA1.1.2.1.2<br />

Münze HH Münze HH, Prägung, Prüfung, Verpacken PA1.3.1, PA1.3.1.1, PA1.3.1.2, PA1.3.1.3<br />

Münze M Münze M, Prägung, Prüfung, Verpacken PA1.3.2, PA1.3.2.1, PA1.3.2.2, PA1.3.2.3<br />

Münze B Münze B, Prägung, Prüfung, Verpacken PA1.3.3, PA1.3.3.1, PA1.3.3.2, PA1.3.3.3<br />

Münze S Münze S, Prägung, Prüfung, Verpacken PA1.3.4, PA1.3.4.1, PA1.3.4.2, PA1.3.4.3<br />

Münze KA Münze KA, Prägung, Prüfung, Verpacken PA1.3.5, PA1.3.5.1, PA1.3.5.2, PA1.3.5.3<br />

S-Transport S-Transport, S-Trans 1, S-Trans 2, S-Trans<br />

3, S-Trans 4<br />

LZB 1 LZB 1 PA1.4.1<br />

LZB 2 LZB 2 PA1.4.2<br />

Tabelle 4.1: Zugehörigkeit der <strong>Agenten</strong> zu <strong>Teams</strong><br />

PA1.2, PA1.2.1, PA1.2.2, PA1.2.3, PA1.2.4<br />

Die vorgestellte Einteilung der <strong>Agenten</strong> in <strong>Teams</strong> entspricht den genannten Kriterien. Die<br />

gewünschten Schnittstellen zwischen verschiedenen Bereichen sind durch die notwendi-<br />

gen Umgruppierungen <strong>von</strong> Aufträgen ebenfalls gegeben. Das Toplevel-Team zeigt, dass<br />

es u.U. sinnvoll ist, das Kriterium der gemeinsamen Kommunikationsform zu verletzen,<br />

wenn andere Aspekte höher zu gewichten sind. Tabelle 4.1 liefert einen Überblick über<br />

die genaue Zugehörigkeit der <strong>Agenten</strong> zu den <strong>Teams</strong>.<br />

64


4.3 Umsetzung für das Beispiel Euro-Münzen<br />

Obwohl bei Rondenherstellern und Landeszentralbanken nur eine eingeschränkte Anzahl<br />

<strong>von</strong> Entitäten verwendet wird, ist eine spätere Erweiterung leicht möglich, da die entspre-<br />

chenden <strong>Agenten</strong> identisch aufzubauen sind und sich lediglich bezüglich ihrer Benennung<br />

und der Stammdaten (Verfügbarkeiten, etc.) unterscheiden.<br />

4.3.4 Präzisierung der <strong>Agenten</strong><br />

In der Übersicht wurde gezeigt, welche Entitäten der <strong>Supply</strong> <strong>Chain</strong> auf <strong>Agenten</strong> abgebil-<br />

det werden und wie sich einzelne <strong>Teams</strong> <strong>von</strong> <strong>Agenten</strong> im System zusammensetzen. Für<br />

die weitere Entwicklung müssen jetzt die Aufgaben und Unterschiede der <strong>Agenten</strong> be-<br />

trachtet werden. Dazu wird das im Vorgehensmodell eingeführte Template für die Agen-<br />

teneigenschaften <strong>mit</strong> konkreten Inhalten gefüllt. Sofern <strong>Agenten</strong> identische Eigenschaften<br />

aufweisen, werden diese gemeinsam beschrieben.<br />

Agent PA1:<br />

• Repräsentierte Stelle der Realwelt: Repräsentiert den Bund und da<strong>mit</strong> den fokalen<br />

Kopf der gesamten <strong>Supply</strong> <strong>Chain</strong>.<br />

• Verantwortungsbereich: Globaler Ablauf der Produktion, vergibt Aufträge für Zwi-<br />

schenprodukte und Transporte.<br />

• Teamzugehörigkeit: Toplevel.<br />

• Planungsaufgaben: Aufteilung der Produkte in Produktions- und Transportschritte.<br />

• Planungswissen: Informationen über Produkte und deren Aufteilung in Schritte,<br />

grobes Wissen über Kapazitäten der in der Hierarchie tiefer stehenden Organisati-<br />

onseinheiten.<br />

• Planungsstrategie: Differenziert, d.h., die zu vergebenden Aufträge werden je nach<br />

Position der Empfänger innerhalb der <strong>Supply</strong> <strong>Chain</strong> vorgeplant.<br />

• Kooperation: Manager in verschiedenen Contract Net Verhandlungen (Rondenher-<br />

steller, Münzen, <strong>Agenten</strong> PA1.1.1, PA1.1.2, PA1.3.1, PA1.3.2, PA1.3.3, PA1.3.4, PA1.3.5);<br />

direkte Kommunikation <strong>mit</strong> dem fokalen <strong>Agenten</strong> der Sicherheitstransporte (Agent<br />

PA1.2) und dem der LZBs (<strong>Agenten</strong> PA1.4.1, PA1.4.2).<br />

<strong>Agenten</strong> PA1.1, PA1.3, PA1.4:<br />

• Wie bereits beschrieben, werden diese Virtuellen <strong>Agenten</strong> bei der Realisierung des<br />

Systems nicht berücksichtigt und die Kommunikation direkt an die tiefer stehenden<br />

<strong>Agenten</strong> weitergereicht.<br />

65


4 Entwurf<br />

<strong>Agenten</strong> PA1.1.1, PA1.1.2:<br />

• Repräsentierte Stelle der Realwelt: Rondenhersteller.<br />

• Verantwortungsbereich: Lokale Planung der Rondenproduktion am jeweiligen Stand-<br />

ort.<br />

• Teamzugehörigkeit: Toplevel und Ronden 1 bzw. Ronden 2.<br />

• Planungsaufgaben: Aufteilung der Produkte (Ronden) in Zwischenprodukte.<br />

• Planungswissen: Informationen über Produkte und deren Aufteilung in Produkti-<br />

onsschritte.<br />

• Planungsstrategie: Frühestmögliche Startzeit.<br />

• Kooperation: Contractor in Contract Net Verhandlung <strong>mit</strong> dem Bund (Agent PA1);<br />

direkte Kommunikation <strong>mit</strong> den eigenen Abteilungsagenten (<strong>Agenten</strong> PA1.1.1.x bzw<br />

PA1.1.2.x, x ∈ {1,...,8}).<br />

Agent PA2.1:<br />

• Repräsentierte Stelle der Realwelt: Fokaler Kopf der Sicherheitstransportunterneh-<br />

men.<br />

• Verantwortungsbereich: Lokale Planung der Sicherheitstransporte.<br />

• Teamzugehörigkeit: Toplevel und S-Transport.<br />

• Planungsaufgaben: Umgruppierung der Transporte in technisch sinnvolle Größen,<br />

Weiterverteilung.<br />

• Planungswissen: Informationen über Transportgrößen und Kapazitäten.<br />

• Planungsstrategie: Frühestmögliche Anlieferung.<br />

• Kooperation: Direkte Kommunikation <strong>mit</strong> dem Bund (Agent PA1); Manager in<br />

Contract Net Verhandlungen <strong>mit</strong> den Sicherheitstransportunternehmen (<strong>Agenten</strong><br />

PA1.2.1, PA1.2.2, PA1.2.3, PA1.2.4).<br />

<strong>Agenten</strong> PA1.3.1, PA1.3.2, PA1.3.3, PA1.3.4, PA1.3.5:<br />

66<br />

• Repräsentierte Stelle der Realwelt: Münzen in HH, M, B, S, KA.<br />

• Verantwortungsbereich: Lokale Planung der Münzprägung am jeweiligen Standort.


4.3 Umsetzung für das Beispiel Euro-Münzen<br />

• Teamzugehörigkeit: Toplevel und je nach Standort Münze HH, Münze M, Münze<br />

B, Münze S oder Münze KA.<br />

• Planungsaufgaben: Aufteilung der Produkte (Münzen) in Zwischenprodukte.<br />

• Planungswissen: Informationen über Produkte und deren Aufteilung.<br />

• Planungsstrategie: Spätestmögliche Fertigstellung.<br />

• Kooperation: Contractor in Contract Net Verhandlung <strong>mit</strong> dem Bund (Agent PA1);<br />

direkte Kommunikation <strong>mit</strong> den <strong>Agenten</strong> der einzelnen Abteilungen am eigenen<br />

Standort (<strong>Agenten</strong> PA1.3.1.x, PA1.3.2.x, PA1.3.3.x, PA1.3.4.x bzw. PA1.3.5.x, x ∈ {1,...,3}).<br />

<strong>Agenten</strong> PA1.4.1, PA1.4.2:<br />

• Repräsentierte Stelle der Realwelt: Landeszentralbanken.<br />

• Verantwortungsbereich: Lokale Lagerraumplanung / Verwaltung.<br />

• Teamzugehörigkeit: Toplevel und LZB 1 bzw. LZB 2.<br />

• Planungsaufgaben: Einlagerung <strong>von</strong> Münzen, Kapazitätsauskunft.<br />

• Planungswissen: Informationen über Kapazitätsbedarf und Verfügbarkeit.<br />

• Planungsstrategie: Maximale Auslastung.<br />

• Kooperation: Contractor in Contract Net Verhandlung <strong>mit</strong> dem Bund (Agent PA1).<br />

<strong>Agenten</strong> PA1.1.1.1, PA1.1.2.1:<br />

• Repräsentierte Stelle der Realwelt: Beschaffungsabteilung der Rondenhersteller.<br />

• Verantwortungsbereich: Lokale Beschaffungsplanung des jeweiligen Standortes.<br />

• Teamzugehörigkeit: Ronden 1 bzw. Ronden 2.<br />

• Planungsaufgaben: Verteilung der benötigten Metallmengen auf Lieferanten.<br />

• Planungswissen: Informationen über Kapazitäten der Lieferanten.<br />

• Planungsstrategie: Frühestmögliche Beschaffung.<br />

• Kooperation: Manager in Contract Net Verhandlungen <strong>mit</strong> den Rohmetalllieferan-<br />

ten (<strong>Agenten</strong> PA1.1.1.1.1, PA1.1.1.1.2 bzw. PA1.1.2.1.1, PA1.1.2.1.2).<br />

67


4 Entwurf<br />

<strong>Agenten</strong> PA1.1.1.x, PA1.1.2.x, x ∈ {2,...,8}:<br />

• Repräsentierte Stelle der Realwelt: Einzelne Produktionsabteilungen der jeweiligen<br />

Standorte der Rondenhersteller.<br />

• Verantwortungsbereich: Lokale Planung der jeweiligen Abteilung.<br />

• Teamzugehörigkeit: Ronden 1 bzw. Ronden 2.<br />

• Planungsaufgaben: Lokale Ablaufplanung der betrachteten Abteilung.<br />

• Planungswissen: Informationen über die gefertigten Produkte, Kapazitäten.<br />

• Planungsstrategie: Frühestmögliche Startzeit.<br />

• Kooperation: Direkte Kommunikation <strong>mit</strong> dem leitenden <strong>Agenten</strong> des jeweiligen<br />

Rondenherstellers (Agent PA1.1.1 bzw. PA1.1.2).<br />

<strong>Agenten</strong> PA1.3.1.x, PA1.3.2.x, PA1.3.3.x, PA1.3.4.x, PA1.3.5.x, x ∈ {1,2,3}:<br />

• Repräsentierte Stelle der Realwelt: Einzelne Produktionsabteilungen der jeweiligen<br />

Standorte der Münzen.<br />

• Verantwortungsbereich: Lokale Planung der jeweiligen Abteilung.<br />

• Teamzugehörigkeit: Abhängig vom Standort Münze HH, Münze M, Münze B, Mün-<br />

ze S oder Münze KA.<br />

• Planungsaufgaben: Lokale Ablaufplanung der betrachteten Abteilung.<br />

• Planungswissen: Informationen über die gefertigten Produkte, Kapazitäten.<br />

• Planungsstrategie: Spätestmögliche Startzeit.<br />

• Kooperation: Direkte Kommunikation <strong>mit</strong> dem leitenden <strong>Agenten</strong> der Münze (Agent<br />

PA1.3.1, PA1.3.2, PA1.3.3, PA1.3.4 oder PA1.3.5).<br />

<strong>Agenten</strong> PA1.2.1, PA1.2.2, PA1.2.3, PA1.2.4:<br />

68<br />

• Repräsentierte Stelle der Realwelt: Verschiedene Sicherheitstransportunternehmen.<br />

• Verantwortungsbereich: Lokale Planung <strong>von</strong> Sicherheitstransporten im jeweiligen<br />

Unternehmen.<br />

• Teamzugehörigkeit: S-Transport.<br />

• Planungsaufgaben: Verteilung / Bündelung der Transporte auf Fahrzeuge.


4.3 Umsetzung für das Beispiel Euro-Münzen<br />

• Planungswissen: Informationen über Kapazitäten und Transporteinheiten.<br />

• Planungsstrategie: Frühestmögliche Anlieferung.<br />

• Kooperation: Contractor in Contract Net Verhandlung <strong>mit</strong> dem Fokalen Unterneh-<br />

men der Sicherheitstransporte (Agent PA1.2).<br />

<strong>Agenten</strong> PA1.1.1.1.1, PA1.1.1.1.2, PA1.1.2.1.1, PA1.1.2.1.2:<br />

• Repräsentierte Stelle der Realwelt: Rohmetalllieferanten.<br />

• Verantwortungsbereich: Verwaltung verfügbarer Ressourcenmengen an Metall.<br />

• Teamzugehörigkeit: Ronden 1 bzw. Ronden 2, näheres in Abschnitt 4.3.3.<br />

• Planungsaufgaben: Bereitstellung <strong>von</strong> Metall, Kapazitätsauskunft.<br />

• Planungswissen: Informationen über Mengenverfügbarkeit.<br />

• Planungsstrategie: Maximale Auslastung.<br />

• Kooperation: Contractor in Contract Net Verhandlung <strong>mit</strong> der Beschaffungsabtei-<br />

lung des jeweiligen Rondenherstellers (Agent PA1.1.1.1 bzw. PA1.1.2.1).<br />

4.3.5 Entwurf / Auswahl der <strong>Agenten</strong>plattform<br />

4.3.5.1 Übersicht<br />

Für die softwaretechnische Umsetzung dieser Arbeit soll kein komplett eigenständiger<br />

Entwurf eines Multiagenten-Systems erfolgen, sondern eine bereits bestehende Agen-<br />

tenplattform Verwendung finden. Es handelt sich dabei um ein <strong>von</strong> Bröske im Rahmen<br />

einer Diplomarbeit konzeptioniertes Framework 1 für Planungsagenten ([Bro01]). Dieses<br />

Framework soll im Folgenden vorgestellt und auf das Vorhandensein der gewünschten<br />

Anforderungen überprüft werden. Notwendige Anpassungsarbeiten werden ebenfalls be-<br />

schrieben.<br />

Abbildung 4.9 2 zeigt den schematischen Aufbau eines Planungsagenten, der <strong>mit</strong> dem Fra-<br />

mework realisiert werden kann. Die in Form <strong>von</strong> Frozen Spots 3 realisierten Komponenten<br />

1 Gemäß [JF88] ist ein Framework eine Menge <strong>von</strong> Klassen, die ein abstraktes Design für Lösungen zu<br />

einer Familie bekannter Probleme bieten, und so Wiederverwertung auf höherer Ebene als einfache<br />

Klassenbibliotheken erlauben.<br />

2 Angelehnt an [Bro01]<br />

3 Frozen Spots stellen die den Anwendungen einer Domäne gemeinsamen Funktionen dar und werden<br />

durch das Framework implementiert.<br />

69


4 Entwurf<br />

- externe Nachrichten<br />

- interne Anfragen<br />

Datenbank-<br />

Schnittstelle<br />

Contract<br />

Net<br />

Kommunikations-<br />

Schnittstelle<br />

Datenbank Kommunikation<br />

- Plan<br />

- Stammdaten<br />

Planungskomponente(n)<br />

Planung<br />

Contract Net<br />

Planverbesserung<br />

Abbildung 4.9: Schematischer Aufbau eines Planungsagenten<br />

des Frameworks <strong>von</strong> Bröske<br />

sind in der Darstellung grau unterlegt, die Schnittstellen für die Hot Spots 4 sind durch Ver-<br />

bindungspunkte hervorgehoben. Hier ist die Anbindung <strong>von</strong> eigenen, auf den spezifischen<br />

Anwendungsfall abgestimmten Algorithmen vorgesehen.<br />

Die einzelnen Komponenten des <strong>Agenten</strong> sind in einer Schichtenarchitektur angeordnet,<br />

welche in Abbildung 4.10 5 dargestellt ist. Zentrale Elemente, wie der <strong>Agenten</strong>-Kern, Un-<br />

terstützung für das Contract Net Protokoll, Datenbank und Kommunikation sind erkenn-<br />

bar und sollen jetzt näher beschrieben werden.<br />

4.3.5.2 Erläuterung der Komponenten<br />

<strong>Agenten</strong>-Kern (Frozen Spot)<br />

Dem <strong>Agenten</strong>-Kern obliegen die zentralen Aufgaben des <strong>Agenten</strong>. Insbesondere erfolgt<br />

hier die Ereignisverarbeitung, d.h., eingehende Nachrichten werden an die zuständigen<br />

4 Hot Spots repräsentieren die variablen Teile einer Domäne, die durch den Anwendungsprogrammierer<br />

angepasst werden.<br />

5 Angelehnt an [Bro01]<br />

70


Planverbesserung<br />

Datenbank-<br />

Schnittstelle<br />

Datenbank<br />

4.3 Umsetzung für das Beispiel Euro-Münzen<br />

Planungskomponente(n)<br />

Planung<br />

Contract Net<br />

Contract Net<br />

Kommunikations-<br />

Schnittstelle<br />

Netzwerk<br />

Abbildung 4.10: Schichtenarchitektur eines Planungsagenten<br />

des Frameworks <strong>von</strong> Bröske<br />

Komponenten weitergeleitet. Die Nachrichten selbst bestehen aus KQML-Statements <strong>mit</strong><br />

strukturiertem Text als Inhalt. Vorgesehen ist die Bearbeitung der in Abschnitt 2.1.2 ge-<br />

nannten Ereignisse, erweitert um Funktionen für die Contract Net Versteigerung. Sofern<br />

keine aktuellen Ereignisse zu behandeln sind, übergibt der <strong>Agenten</strong>-Kern die Kontrolle<br />

an die Komponente Planverbesserung.<br />

Neben dieser Tätigkeit ist der <strong>Agenten</strong>-Kern Ver<strong>mit</strong>tler und Dienstleister der Komponen-<br />

ten und führt z.B. Datenbankabfragen aus. Weitere Aufgaben bestehen in der Speicherung<br />

<strong>von</strong> Informationen über den Status, den eindeutigen Namen des <strong>Agenten</strong> und die Bezie-<br />

hungen zu anderen <strong>Agenten</strong> des Systems. Technisch ist der <strong>Agenten</strong>-Kern als Automat<br />

realisiert.<br />

Planung (Hot Spot)<br />

Durch individuelle Ausgestaltung dieser Komponente kann das Framework an unter-<br />

schiedliche Planungssituationen angepasst werden. Dabei können auch mehrere Kom-<br />

ponenten dieser Art existieren, die <strong>mit</strong>tels separater Hooks beschrieben werden. So be-<br />

steht die Möglichkeit, für neue Konstellationen neue Ereignisse und neue Algorithmen<br />

zu entwickeln und diese in separaten, leichter wartbaren Blöcken unterzubringen. Um ei-<br />

71


4 Entwurf<br />

ne Reduzierung der Laufzeit zu erreichen, werden zunächst nur Hard Constraints bei der<br />

Planung berücksichtigt.<br />

Fehlerbehandlung (Frozen Spot)<br />

Sollte es dazu kommen, dass ein Agent die Anforderung eines anderen <strong>Agenten</strong> hinsicht-<br />

lich der vorhandenen Planungs-Komponenten nicht erfüllen kann, liefert diese Kompo-<br />

nente eine Fehlermeldung zurück. Um eine standardisierte Bearbeitung zu gewährleisten,<br />

ist diese Funktion als Frozen Spot implementiert.<br />

Planverbesserung (Hot Spot)<br />

In den Zeitabschnitten, in denen der Agent keine Ereignisse verarbeiten oder anderen Ak-<br />

tivitäten nachkommen muss, wird die Kontrolle an diese Komponente übergeben. Ihr Ziel<br />

ist es, den bestehenden Plan des <strong>Agenten</strong> anhand einer Bewertungsfunktion zu optimieren.<br />

Dabei sind die üblichen Restriktionen zu beachten, d.h., Änderungen am Plan sollten nur<br />

dann durchgeführt werden, wenn der dazu notwendige Aufwand durch das Ergebnis auch<br />

gerechtfertigt wird. Zu vermeiden ist, dass auch Pläne <strong>von</strong> <strong>Agenten</strong>, die in der Hierarchie<br />

höher gestellt sind, beeinflusst werden. Änderungen an Teilen des Plans, die un<strong>mit</strong>telbar<br />

vor der Ausführung stehen, sollten unterbleiben, um Unruhe in der Produktion zu vermei-<br />

den.<br />

Contract Net (Frozen Spot)<br />

Das Contract Net als wesentliches Element der Verhandlungen zwischen den <strong>Agenten</strong><br />

ist als Frozen Spot realisiert und arbeitet nach den in Abschnitt 2.3.3.2 beschriebenen<br />

Modalitäten. Um einzelnen <strong>Agenten</strong> in Abhängigkeit <strong>von</strong> ihrer Planungssituation unter-<br />

schiedliche Verhaltensweisen zu ermöglichen, sind die Hot Spot Komponenten Manager<br />

und Contractor vorgesehen.<br />

Manager (Hot Spot)<br />

In dieser Komponente sind die Phasen Ausschreiben und Zuschlag erteilen des Contract<br />

Net Protokolls definiert. Durch diese Auslagerung ergibt sich die Möglichkeit, das Verhal-<br />

ten des <strong>Agenten</strong> bei der Versteigerung zu beeinflussen. Z.B. kann ein zu versteigernder<br />

Auftrag, für den keine Gebote abgegeben wurden, in kleinere Teilaufträge zerlegt und<br />

erneut ausgeschrieben werden.<br />

Contractor (Hot Spot)<br />

Analog zu der Komponente Manager wird hier die Phase Bieten des Contract Net Pro-<br />

tokolls definiert. Die Art und Weise, in der ein Agent handeln soll, kann hier adaptiert<br />

72


4.3 Umsetzung für das Beispiel Euro-Münzen<br />

werden. Typischerweise wird ein Agent bei einer neuen Versteigerung seine eigenen Fä-<br />

higkeiten prüfen und, wenn er dazu in der Lage ist, auch ein Gebot abgeben.<br />

Kommunikation (Frozen Spot)<br />

Die für die Kommunikation der <strong>Agenten</strong> benötigten Queues für eingehende und aus-<br />

gehende Nachrichten werden <strong>von</strong> dieser Komponente bereitgestellt. Nachrichten in der<br />

Eingangs-Queue werden an die Ereignisverarbeitung des <strong>Agenten</strong>-Kerns weitergeleitet,<br />

wobei eine Priorisierung zur bevorzugten Weiterleitung vorgesehen ist.<br />

Nachrichtenübertragung (Hot Spot)<br />

Diese Komponente kapselt die technische Realisierung der Kommunikation und ist dafür<br />

verantwortlich, die Übertragung der Nachrichten zwischen den unterschiedlichen Queues<br />

<strong>mit</strong>tels eines geeigneten Mediums zu ermöglichen.<br />

Datenbankschnittstelle (Frozen Spot)<br />

Die Datenbankschnittstelle sorgt für die Umsetzung der Anfragen des <strong>Agenten</strong>-Kerns in<br />

für eine relationale Datenbank verständliche SQL-Ausdrücke. Das Design der Datenbank,<br />

bzw. das Datenschema, ist hier ebenfalls festgeschrieben.<br />

Anbindung an das DBMS (Hot Spot)<br />

Analog zur Komponente Nachrichtenübertragung erfolgt auch hier eine Kapselung der<br />

technischen Realisierung für die Anbindung der Datenbankschnittstelle an eine konkrete<br />

Datenbank. Besonderheiten in den Schnittstellen unterschiedlicher relationaler Datenban-<br />

ken kann so begegnet werden.<br />

4.3.5.3 Ablauf der Verarbeitung<br />

Der <strong>Agenten</strong>-Kern ist als Endlicher Automat realisiert, dessen Zustände in Abbildung<br />

4.11 6 dargestellt sind. In Zustand 1 prüft der <strong>Agenten</strong>-Kern, ob neue Nachrichten in der<br />

Eingangs-Queue vorhanden sind. Ist dies der Fall, wechselt er in Zustand 2 und übergibt<br />

die Kontrolle an die zuständige Einheit, die er anhand der Nachrichtenkennung identi-<br />

fiziert. Bei Datenbankanfragen oder zu versendenden Nachrichten erhält der Kern den<br />

Kontrollfluss zurück (Zustand 4).<br />

Sind keine Nachrichten vorhanden, wird dies vom <strong>Agenten</strong> über ein Flag in der Kom-<br />

munikationsschnittstelle vermerkt und der Kontrollfluss an die Komponente Planverbes-<br />

serung übergeben (Zustand 3). Diese kann ebenfalls Dienstleistungen des Kerns in An-<br />

spruch nehmen (Zustand 4) oder beim Eintreffen neuer Nachrichten unterbrochen werden.<br />

6 Entnommen aus [Bro01]<br />

73


Kapitel 3: Konzept 4 Entwurf eines Frameworks für Planungsagenten 55<br />

Datenbankschnittstelle<br />

Kommunikationschnittstelle<br />

-Eingangs-Queue<br />

-Ausgangs-Queue<br />

1<br />

<strong>Agenten</strong><br />

Initialisierung<br />

Interrupt<br />

4<br />

2<br />

3<br />

Interrupt<br />

<strong>Agenten</strong>-Kern<br />

Legende<br />

ABBILDUNG 18: AGENTEN-KERN: ENDLICHER AUTOMAT<br />

Abbildung 4.11: <strong>Agenten</strong>-Kern: Endlicher Automat<br />

Planungskomponente(n)<br />

Planverbesserung<br />

Zustand 1: <strong>Agenten</strong>-Kern fragt Nachricht ab<br />

Zustand 2: Neue Nachricht vorhanden:<br />

Planungskomponente aktiv<br />

Zustand 3: Keine neue Nachricht:<br />

Planverbesserung aktiv<br />

Zustand 4: "Dienstleistungszustand"<br />

Ein Agent prüft zunächst, ob eine neue Nachricht in der Eingangs-Queue der<br />

Kommunikationsschnittstelle<br />

Bei Zustand 4 handelt<br />

vorhanden<br />

es sich um<br />

ist<br />

den<br />

(Zustand<br />

Dienstleistungszustand<br />

1). Ist dies der<br />

des<br />

Fall,<br />

<strong>Agenten</strong>.<br />

übergibt<br />

Hier wer-<br />

der <strong>Agenten</strong>den<br />

ggfs. Datenbankanfragen bearbeitet oder Nachrichten an die Kommunikationskom-<br />

Kern diese Nachricht an die entsprechende Einheit, die er anhand der Kennung identifiziert<br />

ponente zum Versand übergeben. Eine detailliertere Beschreibung der involvierten Ge-<br />

(Zustand<br />

schäftsprozesse<br />

2). Die planende<br />

findet<br />

Einheit<br />

sich bei<br />

hat<br />

Bröske<br />

jetzt<br />

([Bro01]).<br />

auch die Kontrolle über den Kontrollfluss, allerdings<br />

geht diese bei Datenbankanfragen oder neu zu versendenden Nachrichten wieder auf den Kern<br />

über, da<strong>mit</strong> Der dieser <strong>Agenten</strong>-Kern die entsprechenden ist in drei Bereiche Leistungen unterteilt: erbringen kann (Zustand 4).<br />

Falls keine Nachricht im Eingangs-Queue vorhanden ist, setzt der <strong>Agenten</strong>-Kern ein spezielles<br />

• <strong>Agenten</strong>-Kern Control: Initialisiert den <strong>Agenten</strong> und steuert anschließend den Kon-<br />

Flag in der trollfluss Kommunikations-Komponente in der beschriebenen Weise. und ruft anschließend die Planverbesserungs-<br />

Komponente auf (Zustand 3). Der Kontrollfluss geht nun ebenfalls auf diese Einheit über. Diese<br />

• <strong>Agenten</strong>-Kern Dienstleistung: Dient als Mittler zwischen den Planungskomponen-<br />

kann ebenso wie die anderen Planungskomponenten Leistungen des <strong>Agenten</strong>-Kerns in Anspruch<br />

ten und der Datenbank bzw. der Kommunikation. Durch diese Kapselung wird ein<br />

nehmen (Zustand direkter 4). Allerdings Zugriff durch kann die Planungskomponenten der <strong>Agenten</strong>-Kern die verhindert Arbeit dieser und derKomponente Kontrollfluss jederzeit<br />

unterbrechen, wenn eindeutig eine gehalten. neue Nachricht im Eingangs-Queue eingetroffen ist.<br />

Im „Dienstleistungs-“ Zustand 4 sorgt der <strong>Agenten</strong>-Kern für das Versenden neuer Nachrichten,<br />

durch Weiterleiten der Nachricht an die Kommunikations-Komponente. Oder er befriedigt die<br />

74<br />

Anfragen der Planungs-Komponenten bzgl. Informationen zu Plänen, Produkten, Maschinen,<br />

Kapazitäten oder Aufträgen. Hierzu übergibt er die notwendigen Informationen an die<br />

Datenbankschnittstelle. Diese sorgt für die Umsetzung der Anfragen an die konkrete Datenbank,


4.3 Umsetzung für das Beispiel Euro-Münzen<br />

• <strong>Agenten</strong>-Kern Information: Speichert die für den <strong>Agenten</strong> primär relevanten Infor-<br />

mationen in einer statischen Klasse, z.B. den Namen des <strong>Agenten</strong> und Referenzen<br />

auf Kommunikations-Objekte und Datenbank.<br />

Eine Beschreibung der genauen Nachrichtenformate und Datenbankobjekte soll zu einem<br />

späteren Zeitpunkt erfolgen, da hier umfangreiche Änderungen und Erweiterungen erfor-<br />

derlich sind.<br />

4.3.5.4 Notwendige Änderungen<br />

Das <strong>von</strong> Bröske vorgestellte Konzept eines Frameworks für Planungsagenten wurde zwar<br />

<strong>mit</strong> dem Ziel entwickelt, <strong>Agenten</strong> für verteilte Ablaufplanung zu realisieren, allerdings<br />

gehen die Anforderungen des <strong>Supply</strong> <strong>Chain</strong> <strong>Scheduling</strong> über diese hinaus. Außerdem<br />

ist durch den beschränkten Zeitrahmen sicherlich eine Fokussierung auf ausgewählte<br />

Schwerpunkte erfolgt.<br />

Es ergibt sich daher Änderungs- und Erweiterungsbedarf. In diesem Abschnitt sollen zu-<br />

nächst die Aspekte genannt und dann in Abschnitt 4.3.6 beschrieben werden:<br />

• Datenschema: Das dem Framework zugrunde liegende Datenschema ist auf die An-<br />

forderungen der „klassischen“ verteilten Ablaufplanung zugeschnitten und beinhal-<br />

tet die dabei involvierten Entitäten, wie etwa Aufträge, Maschinen und Produkte<br />

<strong>mit</strong> ihrer Aufteilung in Zwischenprodukte. Für das <strong>Scheduling</strong> einer <strong>Supply</strong> <strong>Chain</strong><br />

ist eine weitere Differenzierung notwendig. Produkte z.B. sollten nicht nur aus<br />

Produktionsschritten bestehen, sondern sich in Produktions-, Transport- und La-<br />

gerschritte aufteilen lassen. Dafür sind zusätzliche Entitäten erforderlich, etwa zur<br />

Abbildung <strong>von</strong> Transporteinheiten oder Lagern.<br />

• Nachrichten / Kommunikation: Die <strong>Agenten</strong> des Frameworks verwenden grund-<br />

sätzlich das Contract Net, um Aufträge an in der Hierarchie tiefer stehende Organi-<br />

sationseinheiten zu vergeben. Die benötigte Kommunikationsstruktur wird implizit<br />

aus der Produktionsstruktur er<strong>mit</strong>telt. Um für <strong>Teams</strong> <strong>von</strong> <strong>Agenten</strong> unterschiedliche<br />

Kommunikationsformen realisieren zu können, ist jedoch eine explizite Festlegung<br />

notwendig.<br />

Aus den notwendigen Änderungen am Datenschema ergibt sich ein erweiterter Um-<br />

fang der ausgetauschten Nachrichten. Für Transport- und Lagerschritte werden ent-<br />

sprechende Nachrichten benötigt, um anderen <strong>Agenten</strong> Statusänderungen, z.B. den<br />

Totalverlust eines Transports, <strong>mit</strong>teilen zu können.<br />

75


4 Entwurf<br />

• Konfigurierbarkeit: Das Framework ist dafür ausgelegt, einen individuellen Agen-<br />

ten zu erstellen. Werden mehrere <strong>Agenten</strong> benötigt, ist für jeden <strong>Agenten</strong> eine ge-<br />

sonderte Programmierung erforderlich. Im bisherigen Verlauf des Entwurfs hat sich<br />

gezeigt, dass für die Umsetzung der vollständigen <strong>Supply</strong> <strong>Chain</strong> über 40 <strong>Agenten</strong><br />

benötigt werden, die z.T. stark unterschiedliche Eigenschaften aufweisen. Es er-<br />

scheint daher sinnvoll, das Framework um Möglichkeiten zur Konfigurierbarkeit zu<br />

erweitern.<br />

• Startumgebung: Jeder Agent des Frameworks arbeitet in einer eigenen, unabhän-<br />

gigen Laufzeitumgebung und muss separat gestartet werden. Für eine große Zahl<br />

<strong>von</strong> <strong>Agenten</strong> ist das wenig praktikabel, weshalb eine Startumgebung zur Verfügung<br />

gestellt werden sollte, die alle <strong>Agenten</strong> des Systems durch einen einzigen Aufruf<br />

initialisiert.<br />

In einer ersten Umsetzung könnte dies durch ein Skript auf Betriebssystem-Ebene<br />

geschehen. Eine optimale Lösung wäre es, die <strong>Agenten</strong> in einer gemeinsamen Lauf-<br />

zeitumgebung zu starten. Das könnte <strong>von</strong> einer übergeordneten Klasse realisiert<br />

werden, die für jeden <strong>Agenten</strong> die erforderlichen Parameter aus den in der Daten-<br />

bank enthaltenen Stammdaten einliest und anschließend einen individuellen Thread<br />

startet.<br />

Vorteil dieser Lösung wäre, dass der Ressourcenbedarf erheblich reduziert werden<br />

könnte, da ein Agent ca. 11 MB Arbeitsspeicher benötigt. Die Fähigkeit zur Vertei-<br />

lung der <strong>Agenten</strong> auf unterschiedliche Systeme sollte dabei erhalten bleiben.<br />

• Implementierung: Für das Framework liegt eine prototypische Implementierung<br />

vor. Daraus ergibt sich, dass nicht alles, was im Konzept vorgesehen ist, bereits<br />

umgesetzt ist. Einige Aspekte können vernachlässigt werden, z.B., dass die Kom-<br />

munikation nicht über RMI ausgeführt wird, sondern über die Datenbank erfolgt.<br />

An anderen Stellen ist jedoch eine Vervollständigung notwendig.<br />

Die genannten Gesichtspunkte zeigen, dass sich die erforderlichen Anpassungsarbeiten<br />

nicht auf die Hot Spots des Frameworks beschränken. Insbesondere die Änderungen des<br />

Datenschemas resultieren in der Notwendigkeit, auch die Frozen Spots des Frameworks<br />

entsprechend anzupassen. Da<strong>von</strong> sind nahezu alle Klassen des Systems betroffen. Weitere<br />

Erläuterungen sind in Abschnitt 5.2 zu finden.<br />

76


4.3.6 Ausgestaltung der Anforderungen<br />

4.3 Umsetzung für das Beispiel Euro-Münzen<br />

Für die Ausgestaltung der Anforderungen müssen die in Abschnitt 4.2.2.6 genannten<br />

Punkte konkretisiert werden. Es handelt sich dabei um:<br />

• Datenschema,<br />

• Kommunikation und Nachrichten,<br />

• Algorithmen,<br />

• Stammdaten und <strong>Agenten</strong>konfiguration,<br />

• Startumgebung.<br />

Die beiden zuletzt aufgeführten Punkte werden erst in Abschnitt 5.1.1 und Abschnitt 5.3.3<br />

betrachtet.<br />

4.3.6.1 Datenschema<br />

Grundlage des Gesamtsystems ist ein Datenschema, das über alle notwendigen Entitäten<br />

verfügt, um das <strong>Scheduling</strong> einer <strong>Supply</strong> <strong>Chain</strong> darauf abbilden zu können. Außerdem<br />

müssen Objekte für die Konfigurationsinformationen, z.B. über die Eigenschaften der<br />

<strong>Agenten</strong>, vorgesehen werden. Bei der Konzeption des Datenschemas wurde versucht, im<br />

Framework bereits vorhandene Bestandteile möglichst zu übernehmen, um den Ände-<br />

rungsaufwand zu minimieren. Priorisiert wurde allerdings der Anspruch, ein möglichst<br />

universelles Schema zu erstellen und aktuelle Entwicklungen der Arbeitsgruppe Pla-<br />

nungssysteme zu berücksichtigen.<br />

Abbildung 4.12 zeigt zunächst eine Übersicht aller Entitäten in einem ER-Diagramm 7 .<br />

Dabei werden die optionalen Datenfelder, deren Verwendung für das erweiterte Frame-<br />

work zunächst nicht vorgesehen ist, weggelassen.<br />

Die gezeigten Objekte sind in verschiedenen Gruppen zusammengefasst. Die Gruppe<br />

Agent wird ausschließlich für die <strong>Agenten</strong>konfiguration benötigt. Die anderen Gruppen<br />

enthalten die Stammdaten des Systems, die später für die Planung verwendet werden.<br />

Diese werden <strong>von</strong> allen <strong>Agenten</strong> genutzt. Für die Anzeige eines Gantt-Charts ohne wei-<br />

tere Details wäre ein Zugriff auf die Gruppen Auftrag / Plan und Ressource ausreichend.<br />

7 ER = Entity Relationship<br />

77


4 Entwurf<br />

78<br />

Plan<br />

PK Plan<br />

PK Auftrag<br />

Ressource<br />

Status<br />

Startzeitpunkt<br />

Endzeitpunkt<br />

Belegung<br />

Startort<br />

Zielort<br />

Maschine<br />

PK Maschine<br />

Produkt<br />

PK Produkt<br />

Ressource<br />

PK Ressource<br />

Beschreibung<br />

Losgroesse<br />

Maschinentyp<br />

Intensitaet<br />

Naechster_Schritt<br />

PK Produkt<br />

PK Schritt<br />

PK Naechster_Schritt<br />

Ressourcentyp<br />

defekt_bis<br />

Standort<br />

Route<br />

PK Startort<br />

PK Zielort<br />

Dauer<br />

PK<br />

Schritt<br />

Produkt<br />

PK Schritt<br />

PK Schritttyp<br />

PK Ressource<br />

Transporter<br />

PK Transporter<br />

Transportertyp<br />

Zuladung<br />

Auftrag<br />

PK Auftrag<br />

PK Produkt<br />

Benoetigte_Kapazitaet<br />

Rohstoff<br />

Anzahl_Rohstoff<br />

Transportschritt<br />

PK Produkt<br />

PK Schritt<br />

Anzahl_TE<br />

Ressourcen_Verfuegbarkeit<br />

PK Ressource<br />

PK Beginn<br />

PK Ende<br />

Verfuegbarkeit<br />

Lager<br />

PK Lager<br />

Vater<br />

Auftragnehmer<br />

Menge<br />

Startzeitpunkt<br />

Endzeitpunkt<br />

bisher_produziert<br />

Startort<br />

Zielort<br />

Lagertyp<br />

Agent<br />

PK Agent<br />

Vater<br />

Team<br />

Algo<br />

Ressource<br />

Agent zu Kinder<br />

PK Vater<br />

PK Kind<br />

Auftrag / Plan<br />

Produkt<br />

Kommunikation<br />

Ressource Agent<br />

Abbildung 4.12: Datenschema des Multiagenten-Systems


4.3 Umsetzung für das Beispiel Euro-Münzen<br />

Die Darstellung erfolgt aus der Sicht <strong>von</strong> Datenbanktabellen. Das Laufzeitsystem lädt<br />

benötigte Informationen zum Teil in dynamisch erzeugte Objekte, deren Aufbau sich ge-<br />

ringfügig unterscheiden kann. Auf signifikante Unterschiede wird hingewiesen.<br />

Jedes Datenobjekt wird <strong>mit</strong> einer Tabelle beschrieben. Neben den Daten selbst gibt diese<br />

auch Aufschluss über den jeweils zu verwendenden Datentyp, liefert eine kurze Beschrei-<br />

bung für jede Zeile und enthält Informationen darüber, welche Zeilen als optional zu<br />

betrachten sind. Bei Primärschlüsseln ist der Bezeichner kursiv dargestellt.<br />

Agent<br />

Agent CHAR 30 Name des <strong>Agenten</strong><br />

Vater CHAR 30 Referenz auf den Vater-<strong>Agenten</strong> Opt.<br />

Team CHAR 30 Teamleiter <strong>von</strong> Opt.<br />

Algo CHAR 30 Planungsalgorithmus Opt.<br />

Ressource CHAR 30 Ressource, für die der Agent plant Opt.<br />

Tabelle 4.2: Daten eines <strong>Agenten</strong><br />

Agent_zu_Kinder<br />

Vater CHAR 30 Name des Vater-<strong>Agenten</strong><br />

Kind CHAR 30 Name des Kind-<strong>Agenten</strong><br />

Kommunikation CHAR 30 Verwendete Kommunikationsform,<br />

entweder „ContractNet“ oder „Direkt“<br />

Tabelle 4.3: Daten der Agent_zu_Kinder-Relation<br />

Die beiden Datensätze Agent und Agent_zu_Kinder (Tabellen 4.2, 4.3) enthalten alle In-<br />

formationen über die <strong>Agenten</strong> des Systems und ihre hierarchische Position. Durch die<br />

Möglichkeit, jedem <strong>Agenten</strong> einen Algorithmus <strong>mit</strong>zuteilen, den er zu verwenden hat,<br />

und die explizite Nennung der Kommunikationsform wird eine Konfigurierbarkeit des<br />

Systems erreicht.<br />

Durch Nutzung der beiden Parameter können unterschiedliche Planungssituationen auf<br />

mehrere Arten gelöst werden. Denkbar ist z.B., einen spezialisierten Algorithmus ein-<br />

zusetzen, dem Kommunikationspartner und -form bekannt sind, so dass auf den Eintrag<br />

Kommunikation verzichtet werden kann. Eine andere Variante wäre, einen universellen<br />

Algorithmus an mehreren Stellen des Planungssystems einsetzbar zu machen, indem die-<br />

ser die Information über seine Kommunikationspartner aus der Datenbank lädt.<br />

Opt.<br />

79


4 Entwurf<br />

Das Datenschema des Frameworks sah die Möglichkeit vor, einem <strong>Agenten</strong> mehrere Ma-<br />

schinen zuzuordnen, indem der Name des <strong>Agenten</strong> bei der Entität Maschine gespeichert<br />

wurde. Im Interesse der Normalisierung der Darstellung und im Hinblick auf die vor-<br />

gestellte Vorgehensweise für die Zuordnung <strong>von</strong> <strong>Agenten</strong> zu Organisationseinheiten soll<br />

dieser Ansatz allerdings nicht weiter verfolgt werden.<br />

Während der Laufzeit des Systems werden für die Vater-Kind-Beziehungen Listen er-<br />

zeugt, die leichter zu handhaben sind.<br />

Der Plan (Tabelle 4.4) speichert alle geplanten Aktivitäten. Start- und Endzeitpunkt müs-<br />

sen sich dabei innerhalb der Grenzen der für den zugehörigen Auftrag vorgesehenen frü-<br />

hesten Start- und spätesten Endzeit bewegen. Die Belegung drückt aus, wieviel der Ka-<br />

pazität der eingeplanten Ressource durch die Aktivität belegt wird. Ggfs. können, sofern<br />

die Ressource nicht exklusiv ist, weitere Aufträge auf dieser eingeplant werden.<br />

Plan<br />

Plan CHAR 30 Name des Plans<br />

Auftrag CHAR 30 Referenz auf den Auftrag<br />

Ressource CHAR 30 Referenz auf verwendete Ressource Opt.<br />

Status CHAR 10 Statusbeschreibung Opt.<br />

Startzeitpunkt NUMBER Beginn des Planschritts Opt.<br />

Endzeitpunkt NUMBER Ende des Planschritts Opt.<br />

Belegung NUMBER Prozentuale Belegung Opt.<br />

Produkt CHAR 30 Referenz auf Produkt Opt.<br />

Schritt CHAR 30 Referenz auf Schritt Opt.<br />

Startort CHAR 30 Startort bei Transporten Opt.<br />

Zielort CHAR 30 Zielort bei Transporten Opt.<br />

Tabelle 4.4: Daten eines Planschritts<br />

Das Statusfeld beschreibt analog zu Bröske und einer Idee <strong>von</strong> Freese ([Fre98]), in wel-<br />

chem seiner möglichen Zustände sich ein Auftrag gerade befindet:<br />

80<br />

• Reserviert: Der Bieter hat im Rahmen einer Contract Net Versteigerung die Res-<br />

sourcen reserviert. Bei tatsächlicher Auftragserteilung wechselt der Status in Ein-<br />

zuplanen, ansonsten wird der Auftrag wieder gelöscht. Reservierte Ressourcen wer-<br />

den bei Planänderungen genauso behandelt wie einzuplanende oder eingeplante<br />

Ressourcen. Dadurch wird gewährleistet, dass der Agent nach Abschluss einer Ver-<br />

steigerung auch zur Ausführung des Auftrags in der Lage ist.


4.3 Umsetzung für das Beispiel Euro-Münzen<br />

• Einzuplanen: Der Auftrag wurde nur in den Plan eingetragen, allerdings sind noch<br />

keine Folgeaufträge an untergeordnete <strong>Agenten</strong> vergeben worden.<br />

• Eingeplant: Der Auftrag und alle Folgeaufträge sind eingeplant, d.h., alle Contract<br />

Net Versteigerungen für die Teilaufträge sind erfolgreich abgeschlossen.<br />

• Laufend: Die Produktion des Auftrags hat bereits begonnen, Änderungen sind daher<br />

nur schwerlich möglich.<br />

• Fest eingeplant: Aufträge <strong>mit</strong> diesem Status wurden manuell vom Benutzer einge-<br />

plant und sollten vom System nicht ohne Rückfrage verändert werden.<br />

• Abgeschlossen: Nach Produktion aller zugehörigen Teilaufträge wird ein Auftrag<br />

als abgeschlossen markiert.<br />

Ein Plan wird im Laufzeit-System durch zwei Klassen repräsentiert. Das Objekt Plan hat<br />

dabei die Aufgabe, die Planschritt-Objekte zu verwalten. Eine beliebige Anzahl dieser<br />

Planschritt-Objekte speichert die Informationen zu den einzelnen Planabschnitten.<br />

Beim Auftrag (Tabelle 4.5) wird das Feld Auftragnehmer für den <strong>Agenten</strong> verwendet, der<br />

den Auftrag erhalten hat. Ein frühestmöglicher Auftragsbeginn, der auf null gesetzt ist,<br />

symbolisiert, dass die Planung hier keinen Restriktionen unterliegt. Viele der optionalen<br />

Felder bleiben zunächst unberücksichtigt, sind aus Gründen der Erweiterbarkeit aber be-<br />

reits vorgesehen.<br />

Die Entitäten Produkt, Schritt, Transportschritt und Naechster_Schritt (Tabellen 4.6, 4.7,<br />

4.8, 4.9) bilden die Produktionsvorschrift für die einzelnen Produkte. In der Tabelle Pro-<br />

dukt selbst findet sich lediglich eine Beschreibung und eine optional zu nennende optimale<br />

Losgröße.<br />

Entgegen dem ursprünglichen Framework wurde hier eine Differenzierung der Schritte<br />

in Produktions-, Transport- und Lagerschritte vorgenommen. Die Tabelle Schritt liefert<br />

Detailsinformationen, die bei Transportschritten noch um die aus der Tabelle Transport-<br />

schritt zu ergänzen sind. Analog zum Framework muss der erste Schritt einer Produkti-<br />

onsvorschrift immer <strong>mit</strong> der Zahl „1“ beginnen, die weitere Reihenfolge kann dann belie-<br />

big gewählt werden und wird durch die Verkettung <strong>mit</strong>tels der Tabelle Naechster_Schritt<br />

eindeutig festgelegt. Im System wird die Produktionsvorschrift durch ein Produkt-Objekt,<br />

sowie eine verkettete Liste <strong>von</strong> Schritt-Objekten repräsentiert.<br />

81


4 Entwurf<br />

Auftrag<br />

Auftrag CHAR 30 Names des Auftrags<br />

Produkt CHAR 30 zugehöriges Produkt<br />

Vater CHAR 30 übergeordneter Auftrag Opt.<br />

Auftragspool CHAR 10 zugehörige Auftragsmenge Opt.<br />

Prioritaet NUMBER Priorität des Auftrags Opt.<br />

Auftraggeber CHAR 30 Name des Auftraggebers Opt.<br />

Auftragnehmer CHAR 30 Name des Auftragnehmers Opt.<br />

Menge NUMBER Menge des Auftrags<br />

Startort CHAR 30 Starort bei Transportaufträgen Opt.<br />

Zielort CHAR 30 Zielort bei Transportaufträgen Opt.<br />

Startzeitpunkt NUMBER Frühestmöglicher Beginn<br />

Endzeitpunkt NUMBER Spätestmögliches Produktions-<br />

ende / Lieferung<br />

Vorgeplante_Ressource CHAR 30 Referenz auf eine vorgeplante<br />

Ressource<br />

Verspaetung NUMBER Gesamt-Verspätung des Auf-<br />

trags<br />

Opt.<br />

Opt.<br />

Verzug NUMBER Gesamt-Verzug des Auftrags Opt.<br />

bisher_gefertigt NUMBER Bisher produzierte / gelieferte /<br />

Tabelle 4.5: Daten eines Auftrags<br />

Produkt<br />

Produkt CHAR 30 Name des Produktes<br />

gelagerte Menge des Auftrags<br />

Opt.<br />

Beschreibung CHAR 30 Bescheibung Opt.<br />

Losgroesse NUMBER Menge pro Durchlauf Opt.<br />

Tabelle 4.6: Daten eines Produkts<br />

Ressource und Ressourcen_Verfuegbarkeit (Tabellen 4.10, 4.11) definieren ganz allge-<br />

mein die für Produktion, Transporte und Lagerung benötigten Ressourcen, sowie deren<br />

Verfügbarkeiten. Eine Differenzierung im Datenschema kann so<strong>mit</strong> wie gewünscht er-<br />

reicht werden.<br />

Die Tabellen Maschine, Transporter und Lager (Tabelle 4.12, 4.13, 4.14) beschreiben die<br />

individuellen Eigenschaften der jeweiligen Ressourcen.<br />

82


4.3 Umsetzung für das Beispiel Euro-Münzen<br />

Schritt<br />

Produkt CHAR 30 Name des Produkts, zu dem der<br />

Schritt gehört<br />

Schritt CHAR 30 Name des Schritts<br />

Schritttyp CHAR 30 Typ-Beschreibung, entweder<br />

Transportschritt, Lagerschritt<br />

oder Produktionsschritt<br />

Ressource CHAR 30 Referenz auf die Ressource,<br />

wird benötigt, um mehrere Res-<br />

sourcen als Alternativen aus-<br />

wählen zu können<br />

Relativer_Beginn NUMBER Relativer Startzeitpunkt Opt.<br />

Dauer NUMBER Länge des Schrittes Opt.<br />

Benoetigte_Kapazitaet NUMBER prozentuale Angabe über die be-<br />

nötigte Auslastung der Ressour-<br />

ce (100% �= exklusiv)<br />

Opt.<br />

Rohstoff CHAR 30 Benötigter Rohstoff Opt.<br />

Anzahl_Rohstoff NUMBER Anzahl Rohstoff Opt.<br />

Tabelle 4.7: Daten eines Schrittes<br />

Transportschritt<br />

Produkt CHAR 30 Name des Produkts, zu dem der Schritt<br />

gehört<br />

Schritt CHAR 30 Name des zugehörigen Schrittes<br />

Anzahl_TE NUMBER Anzahl der zu transportierenden<br />

Transporteinheiten (TE)<br />

Tabelle 4.8: Daten eines Transportschrittes<br />

Naechster_Schritt<br />

Produkt CHAR 30 Name des Produkts, zu dem der Schritt<br />

gehört<br />

Schritt CHAR 30 Name des zugehörigen Schrittes<br />

Naechster_Schritt CHAR 30 Name des nächsten Schrittes<br />

Tabelle 4.9: Daten für die Nachfolgerbeziehung zwischen den<br />

Schritten<br />

Opt.<br />

83


4 Entwurf<br />

Ressource<br />

Ressource CHAR 30 Name der Ressource<br />

Ressourcentyp CHAR 30 Typ-Beschreibung der Ressource, ein-<br />

deutige Namenszuweisung zu Maschi-<br />

ne, Transporter oder Lager<br />

Kapazitaet NUMBER Ressourcenkapazität<br />

defekt_bis NUMBER Defektinformation Opt.<br />

Standort CHAR 30 Standort der Ressource Opt.<br />

Tabelle 4.10: Daten einer Ressource<br />

Ressourcen_Verfuegbarkeit<br />

Ressource CHAR 30 Referenz auf die Ressource<br />

Beginn NUMBER Startzeitpunkt<br />

Ende NUMBER Endzeitpunkt<br />

Verfuegbarkeit NUMBER Anteil in Prozent, zu wieviel die Res-<br />

source ausgelastet werden kann<br />

Tabelle 4.11: Daten der Ressourcenverfügbarkeit<br />

Maschine<br />

Maschine CHAR 30 Name der Maschine, muss <strong>mit</strong> dem<br />

Ressourcennamen übereinstimmen<br />

Opt.<br />

Maschinentyp CHAR 30 Typ der Maschine Opt.<br />

Intensitaet NUMBER Auslastung der Maschine Opt.<br />

Tabelle 4.12: Daten einer Maschine<br />

Eine Maschine kann dabei nicht nur eine einzelne, konkret vorhandene Maschine abbil-<br />

den, sondern für eine Maschinengruppe stehen. Die benötigte Größe der maximalen Ka-<br />

pazität wird nicht direkt als Feld abgelegt, da diese laufzeitabhängig ist. Sie kann jedoch<br />

wie folgt berechnet werden:<br />

MaxKapazitaet = Intensitaet ∗ Lau f zeit<br />

Die Transporteinheiten (TE) eines Transporters korrespondieren <strong>mit</strong> denen, die bereits<br />

bei den Transportschritten genannt wurden. Für eine erste Näherung sollte diese Dar-<br />

stellung ausreichen, für eine universelle Transportplanung wird allerdings eine weitere<br />

Differenzierung benötigt.<br />

84


4.3 Umsetzung für das Beispiel Euro-Münzen<br />

Transporter<br />

Transporter CHAR 30 Name des Transporters, muss<br />

<strong>mit</strong> dem Ressourcennamen über-<br />

einstimmen<br />

Transportertyp CHAR 30 Typ-Beschreibung Opt.<br />

Zuladung NUMBER Maximale Ladekapazität in<br />

Transporteinheiten (TE)<br />

Kosten_pro_km NUMBER Kosten pro km (Kraftstoff, Steu-<br />

ern, Wartung)<br />

Opt.<br />

Opt.<br />

Startort CHAR 30 Referenz auf den Startort Opt.<br />

Laufzeit_Beginn NUMBER Laufzeitbeginn des Transporters Opt.<br />

Laufzeit_Ende NUMBER Laufzeitende des Transporters Opt.<br />

Tabelle 4.13: Daten eines Transporters<br />

Lager<br />

Lager CHAR 30 Name des Lagers, muss <strong>mit</strong> dem Res-<br />

sourcennamen übereinstimmen<br />

Lagertyp CHAR 30 Lagertyp Opt.<br />

Tabelle 4.14: Daten eines Lagers<br />

Es könnte beispielsweise in Maße, Gewichte und Stoffklassen unterschieden werden und<br />

eine Zuordnung verschiedenartiger Container sowohl zu Fahrzeugen bzw. Transportern<br />

als auch zu Produkten erfolgen. In diesem Schema ist für einen Transportschritt vorab zu<br />

berechnen, wieviele Transporteinheiten er benötigt.<br />

Route<br />

Route CHAR 30 Name der Route<br />

Startort CHAR 30 Refenrenz auf den Startort<br />

Zielort CHAR 30 Referenz auf den Zielort<br />

Entfernung NUMBER Länge der Route in km Opt.<br />

Dauer NUMBER Fahrtdauer Opt.<br />

Tabelle 4.15: Daten einer Route<br />

Die Route (Tabelle 4.15) ist ein weiteres Konstrukt für die Planung der Transporte. Je<br />

nach Zweckmäßigkeit kann entweder eine Streckenlänge oder eine Zeitdauer angegeben<br />

werden.<br />

85


4 Entwurf<br />

4.3.6.2 Kommunikation und Nachrichten<br />

Die für <strong>Teams</strong> <strong>von</strong> <strong>Agenten</strong> relevante Unterscheidung in eine Auftragsvergabe durch das<br />

Contract Net Protokoll und eine direkte Kommunikation ist durch die explizite Berück-<br />

sichtigung im Datenschema bereits erleichtert worden. Planungsalgorithmen haben die<br />

Möglichkeit, beide Verfahren einzusetzen und so die Planungssituationen der Realwelt<br />

besser abzubilden.<br />

Eine Erweiterung der im Framework bereits vorgesehenen Nachrichtentypen ist ebenfalls<br />

<strong>von</strong> Bedeutung. Bei Nachrichten handelt es sich zunächst um einfache Datenobjekte, de-<br />

ren Aufbau sich an KQML (siehe Abschnitt 2.3.3.3) orientiert. Tabelle 4.16 beschreibt<br />

die vorgesehenen Nachrichten. Die Ontologie wird in der erweiterten Version des Frame-<br />

works dazu verwendet, den Typ zu identifizieren.<br />

86<br />

Tabelle 4.16: Ontologie und Inhalt der KQML-Nachrichten<br />

Nachrichtentyp & Ontologie KQML Inhaltsfeld (content)<br />

Neuer Auftrag Auftrag: [String]<br />

(NeuerAuftrag) Produkt: [String]<br />

Anzahl: [Integer]<br />

Start: [Integer]<br />

Ende: [Integer]<br />

Stornierung eines Auftrags Auftrag: [String]<br />

(Stornierung)<br />

Terminänderung für einen Auftrag Auftrag: [String]<br />

(Terminaenderung) Produkt: [String]<br />

Start: [Integer]<br />

Ende: [Integer]<br />

Änderung der Auftragsmenge Auftrag: [String]<br />

(Mengenaenderung) Produkt: [String]<br />

Anzahl: [Integer]<br />

Fortsetzung auf der nächsten Seite


4.3 Umsetzung für das Beispiel Euro-Münzen<br />

Tabelle 4.16: Ontologie und Inhalt der KQML-Nachrichten<br />

Fortsetzung <strong>von</strong> vorheriger Seite<br />

Nachrichtentyp & Ontologie KQML Inhaltsfeld (content)<br />

Neue Contract Net Versteigerung Versteigerung: [Integer]<br />

(NeueContractNetVersteigerung) Auftrag: [String]<br />

Produkt: [String]<br />

Anzahl: [Integer]<br />

Start: [Integer]<br />

Ende: [Integer]<br />

Contract Net initiieren Auftrag: [String]<br />

(ContractNetInit) Versteigerung: [Integer]<br />

Anzahl_Auftraege:<br />

[Integer]<br />

Auftrag ausschreiben Versteigerung: [Integer]<br />

(AuftragAusschreiben) Auftrag: [String]<br />

Produkt: [String]<br />

Anzahl: [Integer]<br />

Start: [Integer]<br />

Ende: [Integer]<br />

Gebot abgeben Versteigerung: [Integer]<br />

(GebotAbgeben) Auftrag: [String]<br />

Gebot: [Integer]<br />

Gebot ablehnen Versteigerung: [Integer]<br />

(GebotAblehnen) Auftrag: [String]<br />

Störung einer Maschine Maschine: [String]<br />

(MaschineStoerung) <strong>von</strong>: [String]<br />

bis: [String]<br />

Reparatur einer Maschine Maschine: [String]<br />

(MaschineReparatur)<br />

Wartungsperiode einfügen Start: [Integer]<br />

(NeueWartung) Ende: [Integer]<br />

Maschinenintensität ändern Maschine: [String]<br />

(NeueIntensitaet) Intensitaet: [Integer]<br />

Fortsetzung auf der nächsten Seite<br />

87


4 Entwurf<br />

88<br />

Tabelle 4.16: Ontologie und Inhalt der KQML-Nachrichten<br />

Fortsetzung <strong>von</strong> vorheriger Seite<br />

Nachrichtentyp & Ontologie KQML Inhaltsfeld (content)<br />

Schichtzahl ändern, d.h. Änderung Maschine: [String]<br />

der Laufzeit Laufzeit: [Integer]<br />

(NeueLaufzeit)<br />

Rückmeldung <strong>von</strong> Maschinen- Maschine: [String]<br />

bzw. Fertigungsdaten Zeitraum_Start: [Integer]<br />

(MaschineRueckmeldung) Zeitraum_Ende: [Integer]<br />

produziert: [Integer]<br />

Kapazitätsanfrage Start: [Integer]<br />

(Kapazitaetsanfrage) Ende: [Integer]<br />

Rückmeldung <strong>von</strong> Plandaten Für jeden Planeintrag wird ein String<br />

<strong>mit</strong> den nachfolgend genannten Infor-<br />

mationen zurückgeliefert. Die einzel-<br />

nen Einträge sind durch Tabs (Java Ho-<br />

rizontal Tab: \t) getrennt.<br />

(Rueckmeldung) Auftrag: [String]<br />

Maschine: [String]<br />

Status: [String]<br />

Start: [Integer]<br />

Ende: [Integer]<br />

Belegung: [Integer]<br />

Störung Auftrag: [String]}<br />

(Stoerung) Maschine: [String]<br />

Agent herunterfahren<br />

(AgentShutDown)<br />

Agent: Prädiktiv neu planen Zeitraum_Start: [Integer]<br />

(AgentPredSched) Zeitraum_Ende: [Integer]<br />

Totalverlust eines Transports Transporter: [String]<br />

(TransportVerlust) Auftrag: [String]<br />

Verzögerung eines Transports Transporter: [String]<br />

(TransportVerzoegerung) Auftrag: [String]<br />

bis: [Integer]<br />

Fortsetzung auf der nächsten Seite


4.3 Umsetzung für das Beispiel Euro-Münzen<br />

Tabelle 4.16: Ontologie und Inhalt der KQML-Nachrichten<br />

Fortsetzung <strong>von</strong> vorheriger Seite<br />

Nachrichtentyp & Ontologie KQML Inhaltsfeld (content)<br />

Verfügbarkeitsanfrage im Lager Produkt: [String]<br />

(LagerVerfuegbarkeit) Anzahl: [Integer]<br />

Lager: [String]<br />

Zeitraum_Start: [Integer]<br />

Zeitraum_Ende: [Integer]<br />

Platzanfrage im Lager Lager: [String]<br />

(LagerPlatzanfrage) Produkt: [String]<br />

Anzahl: [Integer]<br />

Zeitraum_Start: [Integer]<br />

Zeitraum_Ende: [Integer]<br />

Verfügbarkeitsrückmeldung vom Lager Produkt: [String]<br />

(LagerMeldVerfuegbarkeit) Anzahl: [Integer]<br />

Lager: [String]<br />

Zeitraum_Start: [Integer]<br />

Zeitraum_Ende: [Integer]<br />

Platzmeldung vom Lager Lager: [String]<br />

(LagerMeldPlatz) Produkt: [String]<br />

4.3.6.3 Algorithmen<br />

Anzahl: [Integer]<br />

Zeitraum_Start: [Integer]<br />

Zeitraum_Ende: [Integer]<br />

Ein zentrales Element für die Arbeit der <strong>Agenten</strong> sind Algorithmen, deren Aufgabe es<br />

ist, die Ablaufplanungsprobleme zu bearbeiten. Aus der Klassifizierung der <strong>Agenten</strong> ist<br />

ersichtlich, dass sich diese Probleme höchst unterschiedlich gestalten und daher individu-<br />

elle Planungsalgorithmen an den einzelnen Stellen des Systems benötigt werden.<br />

Darüber hinaus wird jeder der <strong>Agenten</strong> <strong>mit</strong> unterschiedlichen Planungssituationen kon-<br />

frontiert. Im „einfachsten“ Fall ist nur ein prädiktiver Plan für eine Menge <strong>von</strong> Aufträgen<br />

zu erstellen. Andere Situationen erfordern dagegen Algorithmen, die in der Lage sind,<br />

einzelne neue Aufträge in bestehende Pläne zu integrieren. Um an einer Contract Net<br />

Versteigerung teilnehmen zu können, benötigt der Agent einen Algorithmus, der prüft, ob<br />

eine Teilnahme sinnvoll möglich ist, und daraufhin ein geeignetes Angebot erstellt.<br />

89


4 Entwurf<br />

Eine Integration der Algorithmen in das Framework erfolgt durch die Erstellung <strong>von</strong><br />

Planungskomponenten für spezifische Situationen. Beim Auftreten <strong>von</strong> Ereignissen, z.B.<br />

durch das Eintreffen der Nachricht Störung einer Maschine, wird vom <strong>Agenten</strong>-Kern die<br />

zuständige Komponente aktiviert und der dafür vorgesehene Algorithmus gestartet. Das<br />

Framework wird dahingehend erweitert, dass in den Daten der <strong>Agenten</strong>konfiguration ein<br />

Feld Algo vorgesehen wird, welches eine Differenzierung ermöglicht, die nicht mehr nur<br />

<strong>von</strong> empfangenen Nachrichten abhängt.<br />

Für die Realisierung der Algorithmen werden heuristische Verfahren benötigt, da die<br />

Komplexität naiver Lösungsansätze zu hoch (NP-vollständig) ist. In Abhängigkeit <strong>von</strong><br />

der Strategie, die der Agent zu verfolgen hat, sind unterschiedliche Heuristiken verwend-<br />

bar. Sauer ([Sau01d]) beschreibt diverse. Teile der Kommunikations- und <strong>Teams</strong>truktur<br />

sind ebenfalls in den Algorithmen enthalten, da eine Auflösung allein durch ein geeigne-<br />

tes Datenschema nicht immer möglich bzw. sinnvoll ist. Insbesondere der Algorithmus<br />

für den Toplevel-<strong>Agenten</strong> muss „wissen“, dass er Transportaufträge gebündelt an einen<br />

untergeordneten <strong>Agenten</strong> zu übergeben hat. Einige der benötigten Algorithmen werden<br />

exemplarisch in Form <strong>von</strong> Pseudo-Code vorgestellt.<br />

Agent PA1, der den Bund repräsentiert und den fokalen Kopf der <strong>Supply</strong> <strong>Chain</strong> bildet,<br />

hat die umfangreichsten Aufgaben zu übernehmen. Daher soll zuerst ein Algorithmus be-<br />

schrieben werden, der diesem <strong>Agenten</strong> die Einplanung vorhandener Aufträge ermöglicht<br />

(Abbildung 4.13). Ergebnis ist ein prädiktiver Grobplan für in der Hierarchie tiefer ste-<br />

hende <strong>Agenten</strong>.<br />

Der Algorithmus bearbeitet alle aktuell noch nicht eingeplanten Aufträge. Dazu er<strong>mit</strong>-<br />

telt er zunächst für jeden Auftrag das zu fertigende Produkt <strong>mit</strong> seinen Produktions-,<br />

Transport- und Lagerschritten.<br />

Die Produktionsschritte enthalten Angaben über Zwischenprodukte, für die in der Daten-<br />

bank vermerkt ist, welche Maschinengruppen (Rondenhersteller, Prägeanstalten) zu deren<br />

Fertigung in der Lage sind. Für jeden Produktionsschritt kann so die benötigte Menge an<br />

Zwischenprodukten berechnet und unter den zuständigen <strong>Agenten</strong> versteigert werden.<br />

Durch die Konfliktbearbeitung wird erreicht, dass Auftragsmengen, die aufgrund ihrer<br />

Größe keinen Abnehmer bei der Versteigerung gefunden haben, in kleineren Tranchen<br />

erneut angeboten werden.<br />

90


while A u f t r a e g e zu p l a n e n do<br />

Waehle A u f t r a g ;<br />

4.3 Umsetzung für das Beispiel Euro-Münzen<br />

E r m i t t l e h e r z u s t e l l e n d e _ M u e n z e f u e r A u f t r a g ;<br />

E r m i t t l e P r o d u k t i o n s S c h r i t t e<br />

f u e r h e r z u s t e l l e n d e _ M u e n z e ;<br />

E r m i t t l e T r a n s p o r t S c h r i t t e<br />

f u e r h e r z u s t e l l e n d e _ M u e n z e ;<br />

E r m i t t l e L a g e r S c h r i t t e<br />

f u e r h e r z u s t e l l e n d e _ M u e n z e ;<br />

while P r o d u k t i o n s S c h r i t t e zu p l a n e n do<br />

Waehle P r o d u k t i o n s S c h r i t t ;<br />

Berechne e r f o r d e r l i c h e _ M e n g e ;<br />

E r m i t t l e g e e i g n e t e R e s s o u r c e n und<br />

d a f u e r v e r a n t w o r t l i c h e <strong>Agenten</strong> ;<br />

Fuehre V e r s t e i g e r u n g durch<br />

o der l o e s e K o n f l i k t ;<br />

end while ;<br />

Berechne T r a n s p o r t A u f t r a e g e<br />

aus T a n s p o r t S c h r i t t e n und<br />

Auftragsmenge ;<br />

Sende T r a n s p o r t A u f t r a e g e an<br />

v e r a n t w o r t l i c h e n <strong>Agenten</strong> ;<br />

B e a r b e i t e e v t l . K o n f l i k t ;<br />

Berechne zu l a g e r n d e Gesamtmenge<br />

an Muenzen aus L a g e r S c h r i t t e n und<br />

Auftragsmenge ;<br />

Erzeuge nach f e s t e m V e r t e i l s c h l u e s s e l<br />

L a g e r A u f t r a e g e aus L a g e r S c h r i t t e n ;<br />

Sende L a g e r A u f t r a e g e an v e r a n t w o r t l i c h e<br />

<strong>Agenten</strong> ;<br />

B e a r b e i t e e v t l . K o n f l i k t ;<br />

end while ;<br />

Abbildung 4.13: Pseudocode für den prädiktiven Toplevel-<br />

Algorithmus<br />

91


4 Entwurf<br />

Eine alternative Variante des Algorithmus könnte vorsehen, die Aufträge für die Prägean-<br />

stalten nicht zu versteigern, sondern nach einem festen Schlüssel zu verteilen. Hierdurch<br />

könnten in der Realwelt möglicherweise vorhandene und evtl. historisch begründete Ka-<br />

pazitätszuweisungen umgesetzt werden.<br />

Für alle in der jeweiligen Produktbeschreibung enthaltenen Transportschritte ist in der<br />

Datenbank nur eine geeignete Ressource eingetragen: Der fokale Kopf der Sicherheits-<br />

transportunternehmen, Agent PA1.2. Daher werden die aus Transportschritten und Auf-<br />

tragsmenge er<strong>mit</strong>telten Transportaufträge komplett an diesen <strong>Agenten</strong> weitergeleitet.<br />

Dabei wird über geeignete Stammdaten gewährleistet, dass die Kapazitäten für Sicher-<br />

heitstransporte mindestens genauso groß sind wie die Produktionskapazitäten. Eine Kon-<br />

fliktbearbeitung bei Auftragsablehnung durch den fokalen Kopf der Sicherheitstransport-<br />

unternehmen wird daher nur bei Störungen auf Seiten der einzelnen Transportunterneh-<br />

men erforderlich.<br />

Analog zu den Transporten werden die Lageraufträge berechnet. Da eine bedarfsorientier-<br />

te Verteilung der fertigen Münzen auf einzelne Bundesländer gewünscht ist, erfolgt keine<br />

Versteigerung unter den verantwortlichen <strong>Agenten</strong>, sondern eine Zuteilung nach einem<br />

festen Verteilschlüssel. Eine Konfliktbehandlung fängt evtl. auftretende Lagerplatzpro-<br />

bleme ab, z.B., wenn Kapazitäten durch Brand o.ä. nicht verfügbar oder länger belegt<br />

sind, als dies ursprünglich vorgesehen war. Alternativ ist vorgesehen, den Auftrag <strong>mit</strong> ei-<br />

nem Zielort zu versehen.<br />

Der Algorithmus zeigt, dass der Toplevel-Agent zwar unterschiedliche Aufgaben bearbei-<br />

ten muss, aufgrund der hierarchischen Organisation in <strong>Teams</strong> aber deutlich entlastet wird.<br />

Die Planung der Transporte wird komplett an ein anderes Team delegiert, die Produkti-<br />

onsplanung erfolgt lediglich in grober Form und wird erst durch die für die Feinplanung<br />

verantwortlichen <strong>Teams</strong> genauer aufgelöst.<br />

Abbildung 4.14 beschreibt einen prädiktiven Algorithmus, der für die <strong>Teams</strong> bei der Pro-<br />

duktion <strong>von</strong> Ronden oder der Prägung <strong>von</strong> Münzen eingesetzt werden kann. Dazu werden<br />

die in den erhaltenen Aufträgen genannten Produkte in Zwischenprodukte zerlegt und an-<br />

schließend unter jenen <strong>Agenten</strong> versteigert, welche einzelne Produktionsabteilungen und<br />

da<strong>mit</strong> Maschinengruppen repräsentieren. Im Konfliktfall erfolgt wieder eine Zerlegung in<br />

kleinere Auftragsmengen, um Gebote bei der Versteigerung zu erhalten.<br />

92


while A u f t r a e g e zu p l a n e n do<br />

4.3 Umsetzung für das Beispiel Euro-Münzen<br />

E r m i t t l e h e r z u s t e l l e n d e s _ P r o d u k t f u e r A u f t r a g ;<br />

E r m i t t l e P r o d u k t i o n s S c h r i t t e<br />

f u e r h e r z u s t e l l e n d e s _ P r o d u k t ;<br />

while P r o d u k t i o n s S c h r i t t e zu p l a n e n do<br />

Waehle P r o d u k t i o n s S c h r i t t ;<br />

Berechne e r f o r d e r l i c h e _ M e n g e ;<br />

E r m i t t l e g e e i g n e t e R e s s o u r c e n und<br />

d a f u e r v e r a n t w o r t l i c h e <strong>Agenten</strong> ;<br />

Fuehre V e r s t e i g e r u n g durch<br />

o der l o e s e K o n f l i k t ;<br />

end while ;<br />

end while ;<br />

Abbildung 4.14: Pseudocode für die prädiktive Planung der<br />

<strong>Teams</strong> bei Rondenproduktion und Münzprägung<br />

In dem hier betrachteten Szenario sind für die einzelnen Stationen der Ronden- und Münz-<br />

produktion keine alternativen Maschinengruppen vorgesehen, die Kommunikation könnte<br />

sich daher auf eine direkte Auftragszuteilung beschränken und ohne Versteigerung – <strong>mit</strong><br />

nur einem potenziellen Bieter – auskommen. Im Interesse der universellen Einsetzbarkeit<br />

des Algorithmus für leitende <strong>Agenten</strong>, deren Aufgabe es ist, Produkte in Zwischenpro-<br />

dukte zu zerlegen und an <strong>Agenten</strong> für Maschinengruppen zu verteilen, erfolgte allerdings<br />

die variablere Form der Konzeptionierung.<br />

Ein weiterer, interessanter Algorithmus wird für die Umsetzung der Transportplanung<br />

benötigt (Abbildung 4.15). Er bearbeitet für Agent PA1.2 die vom Bund erhaltenen Trans-<br />

portaufträge und nimmt dabei einige Optimierungen vor, um die anderen Mitglieder des<br />

<strong>Teams</strong> <strong>mit</strong> möglichst gut aufgeteilten Transportaufträgen zu versorgen.<br />

Zunächst wird für jeden erhaltenen Transportauftrag anhand der Auftrags- und Produkt-<br />

daten er<strong>mit</strong>telt, welche Menge es auf welcher Route zu transportieren gilt, und wie die<br />

zeitlichen Vorgaben dafür aussehen. Die Ergebnisse werden in eine Gesamtliste eingetra-<br />

gen, die alle noch nicht an einzelne Transportunternehmen versteigerten Aufträge enthält.<br />

93


4 Entwurf<br />

T r a n s p o r t e : = {} ;<br />

while A u f t r a e g e zu p l a n e n do<br />

Waehle A u f t r a g ;<br />

E r m i t t l e z u _ t r a n s p o r t i e r e n d e s _ P r o d u k t f u e r A u f t r a g ;<br />

E r m i t t l e T r a n s p o r t S c h r i t t<br />

f u e r z u _ t r a n s p o r t i e r e n d e s _ P r o d u k t<br />

und a k t u e l l e n A u f t r a g ;<br />

T r a n s p o r t e : = T r a n s p o r t e ∪ T r a n s p o r t S c h r i t t ;<br />

end while ;<br />

S o r t i e r e T r a n s p o r t e nach Route ;<br />

S o r t i e r e T r a n s p o r t e nach Z e i t i n t e r v a l l ;<br />

G r u p p i e r e T r a n s p o r t e nach TE−Zahlen um ;<br />

Erzeuge T r a n s p o r t A u f t r a e g e<br />

aus T a n s p o r t e ;<br />

V e r s t e i g e r e T r a n s p o r t A u f t r a e g e an<br />

v e r a n t w o r t l i c h e <strong>Agenten</strong> oder<br />

l o e s e K o n f l i k t ;<br />

Abbildung 4.15: Pseudocode für die Optimierung und prädiktive<br />

Planung der Sicherheitstransporte<br />

Anschließend wird diese Liste nach Routen und Zeitintervallen sortiert, wobei nach Be-<br />

darf eine Anpassung der Intervallgrenzen erfolgen kann, sofern dabei keine Verletzung<br />

der Vorgaben erfolgt. Die so bearbeitete Liste ermöglicht es, <strong>mit</strong>tels der Kapazitätsinfor-<br />

mationen der im Team arbeitenden Sicherheitstransportunternehmen eine Umgruppierung<br />

bzw. Zusammenfassung <strong>von</strong> Einzeltransporten vorzunehmen.<br />

Dafür wird eine bestimmte Kapazität an Transporteinheiten (TE) pro Fahrzeug und Route<br />

vorausgesetzt und versucht, einzelne Transporter möglichst voll auszulasten und so eine<br />

Beschränkung der erforderlichen Fahrten zu erreichen. Weiteres Optimierungspotenzial<br />

besteht in einer intelligenten Berücksichtigung der erforderlichen Rückfahrten der Fahr-<br />

zeuge. Auch eine Sammlung der vom Bund hoffentlich frühzeitig erhaltenen Aufträge zur<br />

Bildung eines größeren Pools erscheint sinnvoll.<br />

94


4.3 Umsetzung für das Beispiel Euro-Münzen<br />

Neben den vorgestellten Beispielen werden für die Realisierung des Systems noch weitere<br />

Algorithmen benötigt. Dazu gehören auch reaktive Algorithmen, etwa für die Anpassung<br />

des Plans nach dem Ausfall einer Maschine. Eine interaktive Planung erfordert Algorith-<br />

men für eine Überprüfung der vom Benutzer durchgeführten Änderungen auf Konsistenz.<br />

4.3.6.4 Umsetzung der <strong>Agenten</strong><br />

Das Ziel bei der Ausgestaltung der Anforderungen ist es, alle wichtigen Konzepte und<br />

Methoden bereitzustellen, die benötigt werden, um den er<strong>mit</strong>telten Anforderungen des<br />

Szenarios gerecht werden zu können. Um zu gewährleisten, dass dieses auch geschehen<br />

ist, soll abschließend am Beispiel des den Bund repräsentierenden <strong>Agenten</strong> (PA 1) gezeigt<br />

werden, wie dieser umgesetzt werden kann.<br />

Die Einordnung des <strong>Agenten</strong> in die Gesamthierarchie des Systems und die Abbildung der<br />

dafür notwendigen Beziehungen zu anderen <strong>Agenten</strong> kann <strong>mit</strong> dem vorgestellten Daten-<br />

schema erreicht werden. Dort können auch die Verantwortung für einzelne Ressourcen<br />

und gewünschte Kommunikationsformen festgelegt werden.<br />

Die unterschiedlichen Kommunikationsformen sind <strong>mit</strong> dem Contract Net Protokoll und<br />

der Nachrichtenverarbeitung des Frameworks realisierbar, der erweiterte Umfang der un-<br />

terstützten Nachrichten berücksichtigt die neuen Anforderungen im Bereich Transport<br />

und Lager.<br />

Für die Realisierung <strong>von</strong> Planungsaufgaben und -strategie wurde ein geeigneter Algorith-<br />

mus entwickelt, der sein erforderliches Planungswissen zum Teil inhärent selbst bereit-<br />

stellt und für Produkt-, Ressourcen- und Auftragsdaten auf die entsprechenden Entitäten<br />

des Datenschemas zugrückgreifen kann.<br />

Andere <strong>Agenten</strong> können analog umgesetzt werden.<br />

4.3.7 Integration des Systems<br />

Nachdem die konzeptionellen Entscheidungen getroffen worden sind und die zu verwen-<br />

dende <strong>Agenten</strong>plattform <strong>mit</strong> den notwendigen Änderungen beschrieben worden ist, kann<br />

jetzt die Integration des Systems erfolgen. Dazu werden folgende Arbeiten durchgeführt:<br />

• Datenbank: Die Skripte zum Erzeugen der benötigten Datentabellen werden gene-<br />

riert und die Datenbank erzeugt.<br />

95


4 Entwurf<br />

• Anpassung des Frameworks: Das Framework wird an die neuen Anforderungen<br />

angepasst, z.B. wird die Datenbank für das neue Datenschema adaptiert.<br />

• Restliche Implementierung: Die Planungsalgorithmen werden umgesetzt und in das<br />

Framework integriert. Die Startumgebung wird erstellt.<br />

Besonderheiten und Details der Integration werden in Kapitel 5 beschrieben.<br />

4.3.8 Test und Verifikation<br />

Da<strong>mit</strong> gewährleistet ist, dass sich das erstellte Planungssystem erwartungskonform ver-<br />

hält, werden im Rahmen der Implementierung geeignete Testdaten erstellt (Abschnitt<br />

5.1). Eine über dieses „naive“ Verfahren hinausgehende Verifikation soll zunächst nicht<br />

erfolgen.<br />

96


5 Implementierung<br />

Ziel dieser Diplomarbeit ist es, Konzepte für Ablaufplanung <strong>mit</strong> <strong>Teams</strong> <strong>von</strong> <strong>Agenten</strong><br />

zu entwickeln, und dabei die notwendigen Tätigkeiten bis hin zu einer prototypischen<br />

Umsetzung zu beschreiben. Dieses Kapitel beschäftigt sich <strong>mit</strong> der Implementierung<br />

des Multiagenten-Systems, die sich auf das Framework für Planungsagenten <strong>von</strong> Brös-<br />

ke gründet ([Bro01]), das in Abschnitt 4.3.5 vorgestellt wurde.<br />

Dort wurde deutlich, dass umfangreiche Änderungen und Erweiterungen vorzunehmen<br />

sind, um das Framework für den erweiterten Aufgabenbereich einsetzen zu können. Im<br />

direkten Vergleich zu einem komplett eigenständigen Design erscheint dieser Aufwand<br />

allerdings gerechtfertigt.<br />

Die abgeschlossene Entwurfsphase hat bereits umfangreiche und detaillierte Beschrei-<br />

bungen dafür geliefert, wie das zu implementierende System umzusetzen ist. Die Erläu-<br />

terungen in diesem Kapitel beschränken sich daher auf exemplarische Ausschnitte und<br />

Besonderheiten, z.B. die Startumgebung für die unterschiedlichen <strong>Agenten</strong>.<br />

5.1 Stamm- und Testdaten<br />

5.1.1 Stammdaten<br />

Grundlage für ein konkretes Ablaufplanungssystem bilden die Stammdaten, die inner-<br />

halb des entwickelten Datenschemas die Realwelt <strong>mit</strong> ihren Produkten, Ressourcen und<br />

Constraints modellieren. Das Datenschema selbst wurde in Abschnitt 4.3.6.1 eingeführt.<br />

Mittels einiger Tabellen soll gezeigt werden, wie Entitäten des Szenarios in der realisier-<br />

ten SQL-Datenbank einzuordnen sind. Als Relationales Datenbankmanagementsystem<br />

(RDBMS) wird für diese Arbeit MySQL verwendet, das für alle relevanten Betriebssys-<br />

tem-Plattformen verfügbar ist.<br />

Abbildung 5.1 zeigt die Produktionsvorschrift für die Herstellung einer Euro-Münze, die<br />

als Grundlage für die Beschreibung nachfolgender Tabellen dienen soll. Erkennbar ist,<br />

97


5 Implementierung<br />

dass eine Euro-Münze zunächst aus zwei Produktions-, zwei Transport- und einem La-<br />

gerschritt besteht. Der erste Produktionsschritt sieht dabei die Bereitstellung eines Zwi-<br />

schenprodukts, einer Euro-Ronde, vor.<br />

Münze 1 Euro<br />

Ronde 1 Euro Transport 1 Euro Prägung 1 Euro Transport 1 Euro Lagerung 1 Euro<br />

Produktionsschritt Transportschritt Produktionsschritt Transportschritt Lagerschritt<br />

Ronde fertigen Ronden -> Münze Münze ausprägen Münze -> LZB Münze einlagern<br />

Beschaffung<br />

Ronde 1 Euro<br />

Produktionsschritt<br />

Material für Ronde<br />

1 Euro beschaffen<br />

Nickel-Messing Kupfer-Nickel Nickel<br />

Produktionsschritt Produktionsschritt Produktionsschritt<br />

Material für 1 Euro<br />

bereitstellen<br />

Giessen<br />

Ronde 1 Euro<br />

Produktionsschritt<br />

Metall für Ronde<br />

1 Euro giessen<br />

Material für 1 Euro<br />

bereitstellen<br />

Walzen<br />

Ronde 1 Euro<br />

Produktionsschritt<br />

Metall für Ronde<br />

1 Euro walzen<br />

Material für 1 Euro<br />

bereitstellen<br />

Abbildung 5.1: Produktionsvorschrift Euro-Münze<br />

Prüfen<br />

Ronde 1 Euro<br />

Produktionsschritt<br />

Ronde für 1 Euro<br />

prüfen<br />

Für dieses Zwischenprodukt wurde aus Gründen der Übersichtlichkeit in der Darstellung<br />

eine Vereinfachung vorgenommen. Im Gegensatz zu dem eigentlichen Szenario bleibt zu-<br />

nächst unberücksichtigt, dass die Ronden für Ein-Euro-Münzen und Zwei-Euro-Münzen<br />

aus zwei Teilen bestehen, Krone und Kern, die erst bei der Ausprägung zu einem Stück<br />

verbunden werden. Eine entsprechende Erweiterung des Systems ist allerdings leicht<br />

möglich, es ist nur ein weiteres Zwischenprodukt hinzuzufügen.<br />

Die Produktion der Ronde besteht in der vorliegenden Darstellung nur aus Produktions-<br />

schritten, <strong>von</strong> denen der erste die Beschaffung der notwendigen Vor- bzw. Zwischenpro-<br />

98


5.1 Stamm- und Testdaten<br />

dukte vorsieht. In diesem Fall sind drei unterschiedliche Metalllegierungen erforderlich.<br />

Die anschließenden Produktionsstufen der Rondenherstellung sind nur exemplarisch ab-<br />

gebildet. Gleiches gilt für die Darstellung des zweiten Produktionsschritts für die Herstel-<br />

lung der Euro-Münze, der Ausprägung. Diese entspricht <strong>von</strong> der Struktur her der Ron-<br />

denproduktion.<br />

Produkt Beschreibung<br />

1 Euro Münze 1 Euro (500 Stück)<br />

2 Euro Münze 2 Euro (500 Stück)<br />

50 Cent Münze 50 Cent (500 Stück)<br />

20 Cent Münze 20 Cent (500 Stück)<br />

10 Cent Münze 10 Cent (500 Stück)<br />

5 Cent Münze 5 Cent (500 Stück)<br />

2 Cent Münze 2 Cent (500 Stück)<br />

1 Cent Münze 1 Cent (500 Stück)<br />

1 Euro Ronde Ronde 1 Euro (500 Stück)<br />

2 Euro Ronde Ronde 2 Euro (500 Stück)<br />

50 Cent Ronde Ronde 50 Cent (500 Stück)<br />

20 Cent Ronde Ronde 20 Cent (500 Stück)<br />

10 Cent Ronde Ronde 10 Cent (500 Stück)<br />

5 Cent Ronde Ronde 5 Cent (500 Stück)<br />

2 Cent Ronde Ronde 2 Cent (500 Stück)<br />

1 Cent Ronde Ronde 1 Cent (500 Stück)<br />

Stahl Stahl, 0,01 g<br />

Nordisches Gold Kupfer-Aluminium-Zink-Zinn-Legierung, 0,01 g<br />

Nickel-Messing Nickel-Messing-Legierung, 0,01 g<br />

Kupfer-Nickel Kupfer-Nickel-Legierung, 0,01 g<br />

Nickel Nickel, 0,01 g<br />

Tabelle 5.1: Daten der Tabelle Produkt<br />

Tabelle 5.1 enthält eine Liste der dem System bekannten Produkte, die für die Ronden<br />

benötigten Metalle sind dort ebenfalls aufgeführt. Münzen und Ronden sind nicht als ein-<br />

zelne Exemplare abrufbar, sondern in Paketen zu jeweils 500 Stück.<br />

Obwohl eine Modellierung möglich ist, indem die benötigten Metallmengen für jede ein-<br />

zelne Münze in normierter Form aufgeführt werden, sollte ein für die Realwelt tauglicher<br />

99


5 Implementierung<br />

Algorithmus eine Beschaffung in größeren Dimensionen veranlassen, wozu ein ausrei-<br />

chender Planungshorizont erforderlich ist.<br />

Produkt Schritt Schritttyp Ressource Benoetigte_ Rohstoff Anzahl_<br />

Kapazitaet Rohstoff<br />

1 Euro 1 Produktion Ronden 1 100 Ronde 1 Euro 1<br />

1 Euro 1 Produktion Ronden 2 100 Ronde 1 Euro 1<br />

1 Euro 2 Transport S-Transport 100 Ronde 1 Euro 1<br />

1 Euro 3 Produktion Muenze HH 100 Praegung 1 Euro 1<br />

1 Euro 3 Produktion Muenze M 100 Praegung 1 Euro 1<br />

1 Euro 3 Produktion Muenze B 100 Praegung 1 Euro 1<br />

1 Euro 3 Produktion Muenze S 100 Praegung 1 Euro 1<br />

1 Euro 3 Produktion Muenze KA 100 Praegung 1 Euro 1<br />

1 Euro 4 Transport S-Transport 100 1 Euro 1<br />

1 Euro 5 Lager LZB 1 100 1 Euro 1<br />

1 Euro 5 Lager LZB 2 100 1 Euro 1<br />

Ronde 1 Euro 1 Produktion Beschaffung 100 Metall 1 Euro 1<br />

Ronde 1 Euro 2 Produktion Giessen 100 Metall 1 Euro 1<br />

Ronde 1 Euro 3 Produktion Walzen 100 Metall 1 Euro 1<br />

Ronde 1 Euro 4 Produktion Stanzen 100 Metall 1 Euro 1<br />

Ronde 1 Euro 5 Produktion Randrieren 100 Metall 1 Euro 1<br />

Ronde 1 Euro 6 Produktion Gluehen 100 Metall 1 Euro 1<br />

Ronde 1 Euro 7 Produktion Polieren 100 Metall 1 Euro 1<br />

Ronde 1 Euro 8 Produktion Pruefung 100 Metall 1 Euro 1<br />

Praegung 1 Euro 1 Produktion Praegung 100 Ronde 1 Euro 1<br />

Praegung 1 Euro 2 Produktion Pruefung 100 Ronde 1 Euro 1<br />

Praegung 1 Euro 3 Produktion Verpacken 100 Ronde 1 Euro 1<br />

Tabelle 5.2: Daten der Tabelle Schritt<br />

Für die Abbildung der Produktionsvorschrift werden Informationen über Schritte benö-<br />

tigt, die in Tabelle 5.2 dargestellt sind. Es ist ersichtlich, dass alle Schritte die jeweils<br />

benötigte Ressource exklusiv belegen, die benötigte Kapazität beträgt 100 %. Für einige<br />

Schritte, z.B. die Prägung, sind unterschiedliche Ressourcen vorgesehen, die Beschrei-<br />

bung erstreckt sich dann über mehrere Zeilen.<br />

Die Transportschritte benötigen zusätzliche Informationen über die zu transportierende<br />

Menge, enthalten in Tabelle 5.3. Start- und Zielort für einen Transport werden aus den<br />

Produktionsschritten er<strong>mit</strong>telt, die un<strong>mit</strong>telbar vor und nach dem Transportschritt erfol-<br />

gen. Die Reihenfolge der Schritte wird durch Tabelle 5.4 beschrieben. Aufgrund der ge-<br />

wählten Form der Darstellung sind auch nebenläufige Aktionen realisierbar. Da für jedes<br />

100


5.1 Stamm- und Testdaten<br />

Produkt Schritt Anzahl_TE<br />

1 Euro 2 4<br />

Ronde 1 Euro 4 4<br />

2 Euro 2 5<br />

Ronde 2 Euro 4 5<br />

Tabelle 5.3: Daten der Tabelle Transportschritt<br />

Produkt eigenständige Bezeichnungen für die Schritte verwendet werden können, bieten<br />

sich „sprechende“ Bezeichner an, die z.B. bereits Rückschlüsse auf die Reihenfolge zu-<br />

lassen.<br />

Produkt Schritt Naechster_Schritt<br />

1 Euro 1 2<br />

1 Euro 2 3<br />

1 Euro 3 4<br />

1 Euro 4 5<br />

Ronde 1 Euro 1 2<br />

Ronde 1 Euro 2 3<br />

Ronde 1 Euro 3 4<br />

Ronde 1 Euro 4 5<br />

Ronde 1 Euro 5 6<br />

Ronde 1 Euro 6 7<br />

Ronde 1 Euro 7 8<br />

Praegung 1 Euro 1 2<br />

Praegung 1 Euro 2 3<br />

Tabelle 5.4: Daten der Tabelle Naechster_Schritt<br />

Jeder Schritt benötigt eine Ressource, auf der er ausgeführt werden kann. Tabelle 5.5<br />

zeigt eine Auswahl der Ressourcen, die dem System bekannt sind. Die Abteilungen der<br />

Rondenhersteller und Münzprägen sind nur exemplarisch für Ronden 1 und Münze HH<br />

aufgeführt. Bestandteil der Ressourcenbeschreibung ist ein Standort, der im Verlauf der<br />

algorithmischen Planung für die Bestimmung der Transportroute benötigt wird.<br />

Der Ressourcentyp gibt Auskunft über die Art der Ressource und stellt gleichzeitig eine<br />

Verknüpfung zu der für jeden Eintrag benötigten Tabelle <strong>mit</strong> Zusatzinformationen her.<br />

101


5 Implementierung<br />

Ressource Ressourcentyp defekt_bis Standort<br />

Ronden 1 Maschinengruppe 0 Frankfurt<br />

Ronden 2 Maschinengruppe 0 Frankfurt<br />

Muenze HH Maschinengruppe 0 Hamburg<br />

Muenze M Maschinengruppe 0 Muenchen<br />

Muenze B Maschinengruppe 0 Berlin<br />

Muenze S Maschinengruppe 0 Stuttgart<br />

Muenze KA Maschinengruppe 0 Karlsruhe<br />

S-Transport Transportgruppe 0 bundesweit<br />

LZB 1 Lager 0 Hamburg<br />

LZB 2 Lager 0 Muenchen<br />

Beschaffung F1 Maschinengruppe 0 Frankfurt<br />

Giessen F1 Maschinengruppe 0 Frankfurt<br />

Walzen F1 Maschinengruppe 0 Frankfurt<br />

Stanzen F1 Maschinengruppe 0 Frankfurt<br />

Randrieren F1 Maschinengruppe 0 Frankfurt<br />

Gluehen F1 Maschinengruppe 0 Frankfurt<br />

Polieren F1 Maschinengruppe 0 Frankfurt<br />

Pruefung F1 Maschinengruppe 0 Frankfurt<br />

Praegung HH Maschinengruppe 0 Hamburg<br />

Pruefen HH Maschinengruppe 0 Hamburg<br />

Verpacken HH Maschinengruppe 0 Hamburg<br />

S-Trans 1 Transportgruppe 0 bundesweit<br />

S-Trans 2 Transportgruppe 0 bundesweit<br />

S-Trans 3 Transportgruppe 0 bundesweit<br />

S-Trans 4 Transportgruppe 0 bundesweit<br />

Folgende Einträge sind vorgesehen:<br />

102<br />

Tabelle 5.5: Daten der Tabelle Ressource<br />

• Maschine: Es handelt sich um eine Maschine, weitere Informationen finden sich in<br />

der Tabelle Maschine.<br />

• Maschinengruppe: Die Ressource stellt eine Gruppe <strong>von</strong> Maschinen dar, weitere<br />

Daten sind in der Tabelle Maschine abgelegt.<br />

• Transporter: Die Ressource stellt einen Transporter dar, dessen weitere Eigenschaf-<br />

ten in der Tabelle Transporter beschrieben werden.


5.1 Stamm- und Testdaten<br />

• Transportgruppe: Analog zu Maschinengruppen können auch verschiedene Trans-<br />

porter zu einer Gruppe zusammengefasst werden. Nähere Angaben sind in der Ta-<br />

belle Transporter enthalten.<br />

• Lager: Die Eigenschaften des Lagers werden durch den korrespondierenden Eintrag<br />

in der Tabelle Lager präzisiert.<br />

• Lagergruppe: Auch für Lager ist eine Gruppierung vorgesehen, weiteres findet sich<br />

in Tabelle Lager.<br />

Maschine Maschinentyp Intensitaet<br />

Ronden 1 Maschinengruppe 240<br />

Ronden 2 Maschinengruppe 240<br />

Muenze HH Maschinengruppe 120<br />

Muenze M Maschinengruppe 60<br />

Muenze B Maschinengruppe 60<br />

Muenze S Maschinengruppe 120<br />

Muenze KA Maschinengruppe 120<br />

Beschaffung F1 Maschinengruppe 120<br />

Giessen F1 Maschinengruppe 120<br />

Walzen F1 Maschinengruppe 120<br />

Stanzen F1 Maschinengruppe 120<br />

Randrieren F1 Maschinengruppe 120<br />

Gluehen F1 Maschinengruppe 120<br />

Polieren F1 Maschinengruppe 120<br />

Pruefung F1 Maschinengruppe 120<br />

Praegung HH Maschinengruppe 120<br />

Pruefen HH Maschinengruppe 120<br />

Verpacken HH Maschinengruppe 120<br />

Tabelle 5.6: Daten der Tabelle Maschine<br />

Die Tabellen 5.6 und 5.7 konkretisieren die Eigenschaften der Ressourcen Maschine und<br />

Transporter. Für Lager sind zunächst keine weiteren Informationen vorgesehen, die ent-<br />

sprechende Tabelle entfällt daher. Der Maschinen- bzw. Transportertyp erlaubt eine Klas-<br />

sifizierung der jeweiligen Ressourcen. Handelt es sich nicht um ein Gruppe, so kann dort<br />

z.B. Praegemaschine oder LKW 5t vermerkt sein.<br />

103


5 Implementierung<br />

Transporter Transportertyp Zuladung<br />

S-Transport Transportgruppe 100000<br />

S-Trans 1 Transportgruppe 40000<br />

S-Trans 2 Transportgruppe 10000<br />

S-Trans 3 Transportgruppe 20000<br />

S-Trans 4 Transportgruppe 30000<br />

Tabelle 5.7: Daten der Tabelle Transporter<br />

Die Intensität beschreibt, wie viele der auf der Maschine ausführbaren Produktionsschritte<br />

innerhalb einer Stunde ablaufen können. Die Zuladung enthält eine Angabe darüber, wel-<br />

che Anzahl Transporteinheiten (TE) der Transporter gleichzeitig laden kann. In diesem<br />

Beispiel wird da<strong>von</strong> ausgegangen, dass ein einzelner Transporter 10000 TE <strong>mit</strong> jeweils<br />

500 g Gewicht laden kann. Die Transportgruppe S-Trans 1 hat demnach 4 Fahrzeuge<br />

gleichzeitig im Einsatz.<br />

Startort Zielort Dauer<br />

Frankfurt Hamburg 7<br />

Frankfurt Muenchen 6<br />

Hamburg Muenchen 12<br />

Stuttgart Muenchen 4<br />

Berlin Muenchen 9<br />

Tabelle 5.8: Daten der Tabelle Route<br />

Der für die Transportplanung zuständige Algorithmus benötigt, nachdem die konkreten<br />

Routen aus der Vergabe <strong>von</strong> Produktionsaufträgen an unterschiedliche Standorte er<strong>mit</strong>telt<br />

worden sind, Informationen über zu kalkulierende Fahrtzeiten. Diese sind in Tabelle 5.8<br />

abgelegt.<br />

Zu den Stammdaten des Systems gehören Informationen über die beteiligten <strong>Agenten</strong>.<br />

Eine Auswahl zeigt Tabelle 5.9. Aufgrund <strong>von</strong> zum Teil ähnlichen Planungsaufgaben<br />

können <strong>Agenten</strong>, die eigentlich für verschiedene Ressourcen zuständig sind, identische<br />

Algorithmen verwenden, so z.B. die Toplevel-<strong>Agenten</strong> der einzelnen Münzprägen.<br />

Im Gegensatz zu den Produktionsstufen benötigen die für die Abteilung Beschaffung der<br />

Rondenhersteller verantwortlichen <strong>Agenten</strong> einen speziellen Algorithmus, der in der Lage<br />

104


5.1 Stamm- und Testdaten<br />

Agent Vater Team Algo Ressource<br />

PA 1 Toplevel toplevel<br />

PA 1.2 PA 1 S-Transport 1 transporttop S-Transport<br />

PA 1.1.1 PA 1 Ronden 1 rondentop Ronden 1<br />

PA 1.1.2 PA 1 Ronden 2 rondentop Ronden 2<br />

PA 1.3.1 PA 1 Muenze HH muenzetop Muenze HH<br />

PA 1.3.2 PA 1 Muenze M muenzetop Muenze M<br />

PA 1.3.3 PA 1 Muenze B muenzetop Muenze B<br />

PA 1.3.4 PA 1 Muenze S muenzetop Muenze S<br />

PA 1.3.5 PA 1 Muenze KA muenzetop Muenze KA<br />

PA 1.4.1 PA 1 LZB 1 lzbtop LZB 1<br />

PA 1.4.2 PA 1 LZB 2 lzbtop LZB 2<br />

PA 1.1.1.1 PA 1.1.1 rondenbeschaffung Beschaffung F1<br />

PA 1.1.1.2 PA 1.1.1 rondendurchlauf Giessen F1<br />

Tabelle 5.9: Daten der Tabelle Agent<br />

Vater Kind Kommunikation<br />

PA 1 PA 1.1.1 Contract Net<br />

PA 1 PA 1.1.2 Contract Net<br />

PA 1 PA 1.2 direkt<br />

PA 1 PA 1.3.1 Contract Net<br />

PA 1 PA 1.3.2 Contract Net<br />

PA 1 PA 1.3.3 Contract Net<br />

PA 1 PA 1.3.4 Contract Net<br />

PA 1 PA 1.3.5 Contract Net<br />

PA 1 PA 1.4.1 direkt<br />

PA 1 PA 1.4.2 direkt<br />

PA 1.1.1 PA 1.1.1.1 direkt<br />

PA 1.1.1 PA 1.1.1.2 direkt<br />

PA 1.2 PA 1.2.1 Contract Net<br />

PA 1.3.1 PA 1.3.1.1 direkt<br />

PA 1.3.1 PA 1.3.1.2 direkt<br />

PA 1.1.1.1 PA 1.1.1.1.1 Contract Net<br />

Tabelle 5.10: Daten der Tabelle Agent_zu_Kinder<br />

105


5 Implementierung<br />

ist, für jede Ronde die benötigten Mengen unterschiedlicher Metalle zu kalkulieren. Die<br />

anderen Stationen (Giessen, Walzen, etc.) können <strong>mit</strong> dem gleichen Algorithmus arbeiten.<br />

Tabelle 5.10 legt das Kommunikationsverhalten der <strong>Agenten</strong> fest. Für alle Paare <strong>von</strong><br />

<strong>Agenten</strong>, die in einer hierarchischen Beziehung zueinander stehen, ist hier vermerkt, ob<br />

sie Aufträge via Contract Net oder direkter Kommunikation, die einfaches Delegieren<br />

verwendet, erteilen sollen.<br />

5.1.2 Testdaten<br />

Geeignete Daten für einen Test des Systems bestehen aus Aufträgen. Diese können dem<br />

obersten <strong>Agenten</strong> PA1 entweder über eine Nachricht zugestellt oder direkt in die Daten-<br />

bank geschrieben werden. Die Prädiktive Planung für in der Tabelle Auftrag enhaltene<br />

Aufträge kann anschließend <strong>mit</strong> der Nachricht AgentPredSched ausgelöst werden. Tabel-<br />

le 5.11 zeigt mögliche Aufträge.<br />

Auftrag Produkt Auftragnehmer Menge Startzeitpunkt Endzeitpunkt<br />

1 1 Euro PA 1 1200 0 60<br />

2 50 Cent PA 1 2400 0 60<br />

3 2 Euro PA 1 2400 0 60<br />

4 1 Euro PA 1 960 0 60<br />

Tabelle 5.11: Daten der Tabelle Auftrag<br />

5.2 Klassenstruktur des Multiagenten-Systems<br />

5.2.1 Übersicht<br />

Abbildung 5.2 zeigt das Klassendiagramm des Multiagenten-Systems. Datenobjekte sind<br />

in der Grafik nicht dargestellt, Operationen werden exemplarisch gezeigt. Die Auftei-<br />

lung in Frozen Spots und Hot Spots ist erhalten geblieben, Frozen Spots sind analog zu<br />

Abbildung 4.9 dunkel hervorgehoben. Von den benötigten Planungskomponenten ist die<br />

Komponente Neuer Auftrag enthalten.<br />

5.2.2 Änderungen an den Frozen Spots<br />

Das dem Framework ursprünglich zugrunde liegende Datenschema wurde radikal verän-<br />

dert. Daher war es erforderlich, auch die Frozen Spots an die neuen Erfordernisse anzu-<br />

passen.<br />

106


PNeuerAuftrag<br />

NeueNachricht()<br />

weitereOperationen()<br />

1<br />

1<br />

<strong>Agenten</strong>Kern<br />

Datenbank : Datenbank<br />

Kommunikation : Kommunikation<br />

Status : short<br />

Planverbesserung : Planverbesserung<br />

NeueNachrichtEingetroffen()<br />

NachrichtWeiterleiten()<br />

KernStarten()<br />

<strong>Agenten</strong>Schleife()<br />

ContractNetInit()<br />

ContractNetVersteigerung()<br />

1<br />

1<br />

1<br />

1<br />

Datenbank<br />

Datenbank : Datenbankschnittstelle<br />

PlanOperationen()<br />

AuftragOperationen()<br />

RouteOperationen()<br />

ProduktOperationen()<br />

RessourceOperationen()<br />

AgentOperationen()<br />

1<br />

1<br />

Datenbankschnittstelle<br />

con : Connection<br />

stmt : Statement<br />

rs : ResultSet<br />

Connect()<br />

Update()<br />

Query()<br />

Close()<br />

1<br />

Planungskomponente<br />

NeueNachricht()<br />

1<br />

NeueNachricht()<br />

weitereOperationen()<br />

5.2 Klassenstruktur des Multiagenten-Systems<br />

weitere Planungskomponenten<br />

<strong>Agenten</strong>Information<br />

<strong>Agenten</strong>KernDienstleistung<br />

<strong>Agenten</strong>ID : string<br />

Datenbank : Datenbank<br />

Datenbank : Datenbank<br />

Kommunikation : Kommunikation<br />

Kommunikation : string<br />

Algo : string<br />

1 1 Team : string<br />

PlanOperationen()<br />

AuftragOperationen()<br />

1 1<br />

RouteOperationen()<br />

ProduktOperationen()<br />

RessourceOperationen()<br />

1<br />

1<br />

AgentOperationen()<br />

NachrichtVerschicken()<br />

1<br />

1<br />

1<br />

Kommunikation<br />

EingangsQueue : NachrichtenQueue<br />

AusgangsQueue : NachrichtenQueue<br />

FlagPlanverbesserung : boolean<br />

Kommunikationsschnittstelle : Kommunikationsschnittstelle<br />

NeueNachricht()<br />

NeueNachrichtVorhanden()<br />

NeueNachrichtAbholen()<br />

NachrichtSenden()<br />

NachrichtSendenVorhanden()<br />

NachrichtSendenAbholen()<br />

FlagPlanverbesserungSetzen()<br />

1<br />

1<br />

Kommunikationsschnittstelle<br />

kom : Kommunikation<br />

NachrichtVerschicken()<br />

NachrichtAbrufen()<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

Planverbesserung<br />

PlanverbesserungAktivieren()<br />

PlanverbesserungUnterbrechen()<br />

NachrichtenQueue<br />

AddNachricht()<br />

NaechsteNachricht()<br />

1 2<br />

IstLeer()<br />

Abbildung 5.2: Vereinfachtes Klassendiagramm des Multiagenten-Systems<br />

Nachricht<br />

Performative : string<br />

Sender : string<br />

Receiver : string<br />

Language : string<br />

Ontology : string<br />

Content : string<br />

Grundlage der weiteren Veränderungen ist eine Überarbeitung der Klasse Datenbank.<br />

Analog zu der Ausgangsversion werden die Inhalte der Datenbank zur Laufzeit in dy-<br />

namischen Objekten bereitgestellt. Da<strong>mit</strong> ein Abgleich <strong>mit</strong> den Tabellen erfolgen kann,<br />

werden Operationen zum Anzeigen und zum Speichern bzw. Ändern angeboten.<br />

Die eigentliche Kontrollfluss-Steuerung <strong>mit</strong>tels der <strong>Agenten</strong>schleife in der Klasse Agen-<br />

tenKern bleibt im Wesentlichen unverändert (Abschnitt 4.3.5.3). Da für die Aktivierung<br />

der Planungskomponenten zusätzliche Parameter erforderlich sind und neue Komponen-<br />

1<br />

1<br />

0..*<br />

107


5 Implementierung<br />

ten hinzugefügt wurden, ist die situationsabhängige Weiterleitung der Nachrichten ent-<br />

sprechend modifiziert worden.<br />

Die Klasse <strong>Agenten</strong>KernDienstleistung hat u.a. die Aufgabe, den Planungskomponenten<br />

einen Zugriff auf die Datenobjekte zu ermöglichen. Dazu stellt sie eigene Operationen<br />

zur Verfügung, die auf die Datenbank zurückgreifen und eine Kapselung bewirken. Durch<br />

diese Maßnahme wird erreicht, dass der Kontrollfluss immer dem <strong>Agenten</strong>-Kern vorbe-<br />

halten bleibt. Die bereitgestellten Operationen wurden entsprechend denen der Datenbank<br />

verändert.<br />

In der Klasse <strong>Agenten</strong>Information sind jetzt ein paar zusätzliche Informationen enthalten,<br />

die der erweiterten <strong>Agenten</strong>beschreibung im Datenschema Rechnung tragen.<br />

Die Kommunikation wurde um die benötigten zusätzlichen Nachrichten erweitert. Im Zu-<br />

sammenspiel <strong>mit</strong> den Planungskomponenten ist es nun möglich, den Aufruf einer Kom-<br />

ponente nicht nur durch den Nachrichteninhalt zu steuern, sondern zusätzlich auch <strong>von</strong><br />

dem in den Stammdaten für den <strong>Agenten</strong> eingetragenen Algorithmus abhängig zu ma-<br />

chen.<br />

5.2.3 Änderungen an den Hot Spots<br />

Mit einer Änderung der Hot Spots des Frameworks kann eine Adaption für ein bestimm-<br />

tes Ablaufplanungsszenario erreicht werden. Die benötigten Algorithmen werden dabei<br />

in unterschiedlichen Planungskomponenten untergebracht und in Abhängigkeit <strong>von</strong> auf-<br />

tretenden Ereignissen angesteuert.<br />

Für das vorliegende Szenario war eine Modifikation der Planungskomponenten erforder-<br />

lich. Neben der Erstellung eigenständiger Algorithmen musste auch hier eine Anpassung<br />

an die tiefgreifenden Veränderungen des Datenschemas erfolgen. Künftige Erweiterungen<br />

können sich auf eine Neugestaltung der Hot Spots beschränken, sofern das vorhandene<br />

Datenschema und die unterstützten Nachrichtentypen ausreichend erscheinen.<br />

Wie in der originalen Version des Frameworks vorgesehen, wird ein auf SQL basierendes<br />

RDBMS für die Datenhaltung und als Kommunikationsmedium verwendet. Eine Ände-<br />

rung der Schnittstellen ist daher nicht erfolgt.<br />

108


5.3 Dateien und Startumgebung<br />

5.3 Dateien und Startumgebung<br />

Die prototypische Implementierung des Multiagenten-Systems greift auf eine Vielzahl<br />

<strong>von</strong> Dateien zurück. Neben den Dateien, die den Sourcecode bzw. die vom Compiler<br />

erzeugte Ausgabe enthalten, gibt es noch einige Skript-Dateien für die Einrichtung und<br />

Pflege der Datenbank.<br />

Der Start des kompletten Systems <strong>mit</strong> allen erforderlichen <strong>Agenten</strong> wird ebenfalls durch<br />

ein Skript unterstützt. Dieses ist abhängig vom verwendeten Betriebssystem und wird<br />

hier in einer für Microsoft Windows � in den Versionen NT/2000/XP geeigneten Variante<br />

vorgestellt.<br />

5.3.1 Datenbank<br />

Die SQL-Skript-Dateien für die Erzeugung und Wartung der Datenbank müssen zur Aus-<br />

führung dem Befehlsinterpreter des zugrunde liegenden RDBMS (MySQL) übergeben<br />

werden. Der Aufruf lautet: mysql < {SKRIPTDATEI}.<br />

Folgende Skripte stehen bereit:<br />

• \maplan\sql\DBCreate.sql: Erzeugt alle für das Planungssystem benötig-<br />

ten Tabellen in der vorhandenen, aber vollständig leeren Datenbank maplan.<br />

• \maplan\sql\DBDrop.sql: Entfernt alle Tabellen samt Inhalt aus der Daten-<br />

bank maplan.<br />

• \maplan\sql\DBInit.sql: Löscht alle Bewegungsdaten (Aufträge, Pläne, La-<br />

gerdaten) aus der Datenbank maplan.<br />

• \maplan\sql\DBLoad.sql: Dient dazu, den Inhalt der nachfolgenden Daten-<br />

Dateien in die Tabellen der Datenbank maplan zu laden:<br />

– \maplan\sql\DataPlan.sql,<br />

– \maplan\sql\DataAuftrag.sql,<br />

– \maplan\sql\DataProdukt.sql,<br />

– \maplan\sql\DataSchritt.sql,<br />

– \maplan\sql\DataNaechster_Schritt.sql,<br />

– \maplan\sql\DataTransportSchritt.sql,<br />

– \maplan\sql\DataRoute.sql,<br />

109


5 Implementierung<br />

– \maplan\sql\DataRessource.sql,<br />

– \maplan\sql\DataRessourcen_Verfuegbarkeit.sql,<br />

– \maplan\sql\DataAgent.sql,<br />

– \maplan\sql\DataAgent_zu_Kinder.sql,<br />

– \maplan\sql\DataMaschine.sql,<br />

– \maplan\sql\DataTransport.sql,<br />

– \maplan\sql\DataLager.sql.<br />

• \maplan\sql\DBTest.sql: Initialisiert die Tabellen der Datenbank maplan<br />

<strong>mit</strong> den für den Beispielablauf benötigten Daten.<br />

5.3.2 Sourcecode<br />

Für die Java � -Source-Dateien wird der Package-Name maplan verwendet, die Dateien<br />

sind in dem Verzeichnis \maplan\java\maplan abgelegt. Jede Klasse steht in einer<br />

eigenen Datei, was auch für die Planungskomponenten gilt. Da <strong>mit</strong> dem erweiterten Fra-<br />

mework unterschiedliche <strong>Agenten</strong> realisiert werden sollen, sind in einigen Dateien für<br />

Planungskomponenten mehrere Varianten eines Algorithmus vorhanden, <strong>von</strong> denen zur<br />

Laufzeit die für den aktuellen Agent gültige gewählt wird.<br />

5.3.3 Startumgebung<br />

Alle <strong>Agenten</strong> des Planungssystem werden durch ein Start-Skript nacheinander in separa-<br />

ten Prozessen des Betriebssystems gestartet und präsentieren sich <strong>mit</strong> einzelnen Fenstern<br />

auf dem Bildschirm.<br />

Die Skript-Datei hat den Namen \maplan\java\maplan\maplan.cmd und enthält<br />

Befehlszeilen gemäß folgendem Aufbau:<br />

start "Agent {AGENTNAME}" /i java maplan.Planungsagent "{AGENTNAME}"<br />

Folgende Befehlszeile in der Datei bewirkt z.B., dass Agent PA1.3.1 gestartet wird:<br />

start "Agent PA 1.3.1" /i java maplan.Planungsagent "PA 1.3.1"<br />

Jeder Agent, der gestartet wird, bekommt außer seinem Namen keine zusätzlichen Para-<br />

meter. Die weiteren Informationen, etwa über ihm untergeordnete <strong>Agenten</strong> oder den zu<br />

verwendenden Planungsalgorithmus, bezieht der Agent aus der Datenbank.<br />

110


5.4 Beispielablauf<br />

5.4 Beispielablauf<br />

Die für das Planungssystem verwendeten Algorithmen beinhalten einige Besonderheiten,<br />

die an zwei beispielhaften Abläufen des Systems illustriert werden sollen. Die dazu benö-<br />

tigten Stamm- und Testdaten sind in Abschnitt 5.1 erläutert. Abbildung 5.3 zeigt in einem<br />

Gantt-Diagramm, wie ein möglicher Ablaufplan aussehen kann, wenn er <strong>von</strong> der prädik-<br />

tiven Komponente des Algorithmus toplevel erstellt wird.<br />

Ronden 1<br />

Ronden 2<br />

S-Transport<br />

S-Transport<br />

Münze HH<br />

Münze M<br />

Münze B<br />

Münze S<br />

Münze KA<br />

LZB 1 (HH)<br />

1200<br />

2400<br />

Auftrag 1<br />

10 20 30 40 50 60<br />

2400<br />

F-HH<br />

960<br />

F-S<br />

1200<br />

F-KA<br />

F-HH<br />

2400<br />

HH-M<br />

S-HH<br />

10 20 30 40 50 60<br />

Auftrag 2<br />

HH-HH<br />

960<br />

2400<br />

LZB 1 (M) 1200<br />

Auftrag 3<br />

Abbildung 5.3: Prädiktive Planung des Algorithmus toplevel<br />

(Agent PA1, BUND)<br />

960<br />

KA-M<br />

2400<br />

Auftrag 4<br />

In der Grafik sind die vier Aufträge dargestellt, deren einzelne Schritte auf die unter-<br />

schiedlichen Ressourcen verplant worden sind. Für jede Ressourcenbelegung sind zwei<br />

Balken dargestellt. Der untere zeigt die minimale Zeit, wie sie aufgrund der Angaben aus<br />

den Stammdaten zu erwarten wäre, der obere enthält einen durch den Algorithmus hin-<br />

zugefügten Sicherheitszuschlag. Dieser beträgt bei Produktionsschritten 20 % und wird<br />

2400<br />

111


5 Implementierung<br />

auf volle Zeitschritte auf- oder abgerundet. Für jeden Zeitschritt wird die Dauer <strong>von</strong> einer<br />

Stunde angenommen.<br />

Bei Transportschritten wird der Sicherheitszuschlag in Abhängigkeit <strong>von</strong> der in der Tabel-<br />

le Route eingetragenen Fahrtzeit erhoben. Bei Zeiten <strong>von</strong> bis zu fünf Stunden wird eine,<br />

bei sechs bis zehn Stunden werden zwei Stunden Aufschlag addiert. Dauert die Fahrt län-<br />

ger als zehn Stunden, wird für alle weiteren, angefangenen Intervalle <strong>mit</strong> einer Länge <strong>von</strong><br />

fünf Stunden eine zusätzliche Stunde addiert.<br />

Latenzzeiten, die bei der Fertigung <strong>von</strong> Ronden und Münzen eigentlich zu berücksich-<br />

tigen wären, können vernachlässigt werden, da ohnehin ein Sicherheitszuschlag erhoben<br />

wird und sich die Latenzzeiten außerdem im Bereich weniger Minuten (n - 1 Produkti-<br />

onsstufen) bewegen. Für innerstädtische Fahrten wird eine Fahrtdauer <strong>von</strong> einer Stunde<br />

angenommen, die durch den Sicherheitszuschlag automatisch auf zwei Stunden erhöht<br />

wird. Unter dem Eindruck zunehmender Verkehrsdichte in den Ballungsräumen erscheint<br />

diese Größe angemessen.<br />

Die Produktionsschritte enthalten eine Angabe über die zu produzierenden Mengen, die,<br />

wie in den Stammdaten definiert, aus Paketen zu je 500 Stück bestehen. Bei Transport-<br />

schritten ist eine Angabe über die zu fahrende Route vermerkt. Lagerschritte werden<br />

durch gestrichelt gezeichnete Quadrate angedeutet. Da die Ressource S-Transport über<br />

große Kapazitäten verfügt, wurden zwei Zeilen für die Darstellung vorgesehen.<br />

Der für die Versteigerung zuständige Algorithmus erteilt grundsätzlich dem besten Gebot<br />

den Zuschlag. So ist zu erklären, dass die Münze Hamburg zwei der Fertigungsaufträge<br />

erhält, während die Münzen in München und Berlin bei der dargestellten Auftragssituati-<br />

on unberücksichtigt bleiben. Es wird allerdings darauf geachtet, dass Produktionssaufträ-<br />

ge innerhalb <strong>von</strong> drei Stunden nach Anlieferung beginnen können. So ist gewährleistet,<br />

dass keine Zwischenlagerung großer Produktmengen erforderlich ist.<br />

Falls mehrere <strong>Agenten</strong>, die an einer Versteigerung teilnehmen, gleichwertige Gebote ab-<br />

geben, wird der Zuschlag nach dem Zufallsprinzip erteilt. Hierdurch soll ein gewisses<br />

Maß an Fairness gewährleistet bleiben. Es ist allerdings anzumerken, dass die Münzen in<br />

München und Berlin bei der vorgestellten Konfiguration benachteiligt werden. Gemäß ih-<br />

ren Stammdaten verfügen sie nur über die halbe Produktionskapazität im Vergleich zu den<br />

anderen drei Münzen. Für jeden Produktionsauftrag benötigen sie daher die doppelte Zeit.<br />

112


5.4 Beispielablauf<br />

Die Verteilung der produzierten Münzen auf die Landeszentralbanken ist in diesem Bei-<br />

spiel nicht durch Aufteilung <strong>von</strong> Mengen erfolgt. In den Aufträgen für Agent PA1 ist der<br />

Zielort entsprechend gesetzt, wodurch der Planungsalgorithmus gezwungen wird, die ge-<br />

wünschte Einlagerung zu veranlassen.<br />

S-Transport<br />

S-Transport<br />

S-Trans 1<br />

S-Trans 2<br />

S-Trans 3<br />

S-Trans 4<br />

Auftrag 1<br />

10 20 30 40<br />

F-HH<br />

(4800 TE)<br />

F-S<br />

(9600 TE)<br />

F-HH<br />

(4800 TE)<br />

F-S<br />

(9600 TE)<br />

HH-M<br />

(4800 TE)<br />

HH-HH<br />

(3840 TE)<br />

HH-M<br />

(4800 TE)<br />

HH-HH<br />

(3840 TE)<br />

S-HH<br />

(9600 TE)<br />

10 20 30 40 50<br />

Auftrag 2<br />

F-KA<br />

(12000 TE)<br />

F-HH<br />

(3840 TE)<br />

F-KA<br />

(12000 TE)<br />

F-HH<br />

(3840 TE)<br />

Auftrag 3 Auftrag 4<br />

S-HH<br />

(9600 TE)<br />

Abbildung 5.4: Prädiktive Planung des Algorithmus transporttop<br />

(Agent PA1.2, S-Transport)<br />

50<br />

KA-M<br />

(12000 TE)<br />

KA-M<br />

(12000 TE)<br />

Agent PA1.2 erhält alle auszuführenden Transportaufträge und hat die Aufgabe, diese an<br />

die Transportunternehmen zu verteilen. In Abbildung 5.4 ist das Ergebnis des prädiktiven<br />

transporttop Algorithmus dargestellt. Die Balken enthalten Angaben über die Fahrtroute<br />

und die zu transportierende Menge <strong>von</strong> Transporteinheiten (TE).<br />

In seinem eigenen Plan berücksichtigt der Agent die über<strong>mit</strong>telteten Sicherheitszuschlä-<br />

ge. Für die Vorgaben an die untergeordneten <strong>Agenten</strong> wird dieser allerdings entfernt. Bei<br />

der Versteigerung ist aufgrund der großzügig zur Verfügung stehenden Transportkapa-<br />

zitäten da<strong>mit</strong> zu rechnen, dass die <strong>Agenten</strong> sehr oft gleichwertige Gebote abgeben. Im<br />

Gegensatz zu dem Algorithmus des Toplevel-<strong>Agenten</strong> erfolgt bei der Transportplanung<br />

keine zufällige Vergabe. Stattdessen wird versucht, jedem Unternehmen nach und nach<br />

einen Auftrag zu erteilen, um eine gleichmäßige Auslastung zu erreichen (Round Robin<br />

Prinzip). So bleiben auch für den Fall einer höheren Auslastung Räume, in denen notwen-<br />

dige Rück- bzw. Leerfahrten stattfinden können.<br />

Betriebswirtschaftlich gesehen wäre eine Transportplanung sinnvoller, die versucht, auf<br />

möglichst wenig Transportunternehmen angewiesen zu sein. Durch diese Strategie könnte<br />

eine Reduktion der notwendigen Geschäftsbeziehungen und gleichzeitig eine Belebung<br />

des Wettbewerbs erreicht werden.<br />

113


5 Implementierung<br />

114


6 Zusammenfassung und Ausblick<br />

6.1 Zusammenfassung<br />

In dieser Diplomarbeit wird ein Ansatz beschrieben, der <strong>Teams</strong> <strong>von</strong> <strong>Agenten</strong> verwen-<br />

det, um Ablaufplanungsprobleme über mehrere Ebenen hinweg, z.B. beim <strong>Supply</strong> <strong>Chain</strong><br />

<strong>Scheduling</strong>, zu lösen. Dieser Ansatz besteht aus einem Vorgehensmodell, das detailliert<br />

beschreibt, wie ein <strong>Supply</strong> <strong>Chain</strong> Szenario der Realwelt auf ein Team-basiertes Multi-<br />

agenten-System abgebildet werden kann. Eine exemplarische Umsetzung für ein Beispiel-<br />

Szenario liefert wichtige Erkenntnisse über die konkrete Ausgestaltung <strong>von</strong> Algorithmen,<br />

sowie Daten- und Kommunikationsstrukturen.<br />

Das Modell besteht aus mehreren Phasen und beginnt <strong>mit</strong> einer gründlichen Analyse des<br />

zu betrachtenden Szenarios. Anschließend wird gezeigt, wie einzelnen Organisationsein-<br />

heiten <strong>Agenten</strong> zugeordnet werden und diese <strong>mit</strong> einer hinsichtlich Planungskomplexität<br />

und Kommunikationseffizienz sinnvollen Team- bzw. Beziehungsstruktur versehen wer-<br />

den können. Es folgt eine Betrachtung der Tätigkeiten, die für eine Präzisierung der Agen-<br />

ten notwendig sind. Dabei wird ein allgemeines Template für die <strong>Agenten</strong> vorgestellt, das<br />

vorgibt, welche Eigenschaften erforderlich und <strong>mit</strong> Inhalten zu füllen sind. Gegenstand<br />

weiterer Betrachtungen sind die Auswahl bzw. Konzeption einer geeigneten <strong>Agenten</strong>-<br />

Plattform und Strategien, wie konkrete Anforderungen bezüglich Datenstrukturen und<br />

Algorithmen in diese integriert werden.<br />

Auf Basis des Vorgehensmodells erfolgt die Entwicklung eines Ablaufplanungssystems<br />

für ein konkretes Beispielszenario. Fundament des Systems ist ein umfassendes Daten-<br />

schema, das spezifische Besonderheiten des <strong>Supply</strong> <strong>Chain</strong> <strong>Scheduling</strong> und der <strong>Teams</strong> <strong>von</strong><br />

<strong>Agenten</strong> berücksichtigt. Insbesondere die gegenüber der „klassischen“ verteilten Ablauf-<br />

planung explizit zu berücksichtigenden Transporte benötigen neue Entitäten, um Prozesse<br />

der Realwelt <strong>mit</strong> dem System realisieren zu können.<br />

Die einzelnen <strong>Agenten</strong> des Planungssystems haben sehr unterschiedliche Aufgaben zu<br />

erfüllen und benötigen diverse Algorithmen. Einige der interessantesten da<strong>von</strong> sind in<br />

115


6 Zusammenfassung und Ausblick<br />

Pseudo-Code dargestellt und <strong>mit</strong> einer näheren Beschreibung versehen. Es handelt sich<br />

dabei u.a. um den Planungsalgorithmus für den Toplevel-<strong>Agenten</strong> und den Algorithmus<br />

für die Optimierung der Transporte.<br />

Im Bereich Kommunikation werden verschiedene Möglichkeiten der Auftragsvergabe<br />

vorgestellt. Die dazu erforderlichen Nachrichten werden definiert, wobei die Berücksich-<br />

tigung <strong>von</strong> Transporten und Lagern auch hier die Erweiterung üblicher Konzepte bedeu-<br />

tet.<br />

Hinsichtlich der benötigten <strong>Agenten</strong>-Plattform erfolgt die Evaluierung eines vorhandenen<br />

Frameworks für die Realisierung einzelner Planungsagenten. Diese ergibt zwar umfas-<br />

senden Änderungsbedarf, im Vergleich zu einem komplett neuen Design erscheint dieser<br />

allerdings gerechtfertigt. Notwendige Änderungen, z.B. das neu gestaltete Datenschema<br />

und ein erweitertes Nachrichtenkonzept, werden integriert und das Framework <strong>mit</strong> Me-<br />

chanismen zur Konfiguration ausgestattet. Mit einer standardisierten Startumgebung ist<br />

es nun möglich, mehrere <strong>Agenten</strong> gleichzeitig auf einfache Weise ablaufen zu lassen.<br />

Als Beispielszenario dient dieser Diplomarbeit die bei der Prägung <strong>von</strong> Euro-Münzen be-<br />

stehende <strong>Supply</strong> <strong>Chain</strong>. Die dabei beteiligten Organisationseinheiten werden vorgestellt<br />

und die für die Ablaufplanung relevanten Vorgänge beschrieben.<br />

6.2 Ausblick<br />

Der in dieser Diplomarbeit behandelte Bereich der Ablaufplanungsprobleme benötigt eine<br />

Vielzahl <strong>von</strong> Lösungen für unterschiedliche Ebenen der Betrachtung. Das hier vorgestell-<br />

te Modell für die Umsetzung eines Szenarios der Realwelt auf ein auf <strong>Teams</strong> <strong>von</strong> <strong>Agenten</strong><br />

basierendes Multiagenten-System und die erfolgte Realisierung bieten einige Möglichkei-<br />

ten für Erweiterungen:<br />

116<br />

• Das in dieser Arbeit eingeführte Datenschema könnte um weitere Entitäten ergänzt<br />

werden. Insbesondere im Bereich Transportplanung wäre eine präzisere Abbildung<br />

sinnvoll, die z.B. nicht nur einheitlich große Transporteinheiten berücksichtigt, son-<br />

dern variable Container einführt. Diese könnten dann sowohl den Produkten, als<br />

auch den Transportern zugeordnet werden, um die Mengenbeziehungen herzustel-<br />

len.


6.2 Ausblick<br />

Eine Beachtung <strong>von</strong> Gewichten und Stoffeigenschaften für Transporte sollte eben-<br />

falls ermöglicht und auch die Lagerraum-Planung in dieses erweiterte Schema ein-<br />

bezogen werden. Für die Abbildung <strong>von</strong> Produkten ist eine bessere Unterstützung<br />

<strong>von</strong> unterschiedlichen Fertigungsarten, z.B. der Fließfertigung, wünschenswert.<br />

• Eine genauere Abbildung der Transportproblematik <strong>mit</strong> komplexeren Datenmen-<br />

gen erfordert neue Algorithmen, die dann z.B. in der Lage wären, Fahrzeuge unter-<br />

schiedlicher Größe <strong>mit</strong> verschiedensten Produkten optimal zu beladen.<br />

• Im Bereich Konfigurierbarkeit wurde zwar ein Grundstein gelegt, allerdings ist<br />

auch eine automatische Konfigurationsumgebung für die menügesteuerte Einrich-<br />

tung des Multiagenten-Systems denkbar. Grundlage dafür ist die Erarbeitung eines<br />

abstrakten Modells für die Beschreibung der Konfigurationsdaten und der erforder-<br />

lichen Schnittstellen der <strong>Agenten</strong> zu Algorithmen und Daten.<br />

• Eine Anbindung einer grafischen Benutzungsschnittstelle ist zwar durch die Ver-<br />

wendung einer SQL-Datenbank und eines Nachrichtenkonzepts ohne weiteres mög-<br />

lich, bisher aber nicht realisiert.<br />

• Die prototypische Implementierung lässt Raum für Verbesserungen im Bereich<br />

Speicherplatzbedarf und Variabilität.<br />

• Für den Einsatz eines Multiagenten-Systems in der Realwelt und über Unterneh-<br />

mensgrenzen hinweg ist eine Erweiterung des Nachrichtenmodells notwendig, die<br />

neben einer Verschlüsselung der Daten auch die Authentizität und die Berechtigun-<br />

gen der Kommunikationspartner berücksichtigt.<br />

• Die Benutzerinteraktion bekommt durch die erweiterte Komplexität des <strong>Supply</strong><br />

<strong>Chain</strong> <strong>Scheduling</strong> ebenfalls eine neue Dimension. Neben den bereits in Abschnitt<br />

2.1.4 genannten Problemen und den erweiterten Datenmengen und Planungsop-<br />

tionen, insbesondere durch den Transport, müssen evtl. unterschiedliche Views für<br />

verschiedene Benutzer erzeugt werden. So wäre es möglich, kooperierenden Unter-<br />

nehmen zwar Daten der eigenen Produktion zu über<strong>mit</strong>teln, gleichzeitig aber eine<br />

Zugriffsbeschränkung und, falls notwendig, auch eine Informationsausblendung zu<br />

erreichen.<br />

117


6 Zusammenfassung und Ausblick<br />

118


Abbildungsverzeichnis<br />

2.1 Ebenen der Ablaufplanung . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

2.2 Ebenen der verteilten Ablaufplanung . . . . . . . . . . . . . . . . . . . . 15<br />

2.3 Einfache <strong>Supply</strong> <strong>Chain</strong> in der Textilindustrie . . . . . . . . . . . . . . . . 18<br />

2.4 Die <strong>Supply</strong> <strong>Chain</strong> Planning Matrix . . . . . . . . . . . . . . . . . . . . . 22<br />

2.5 Schematische Darstellung eines <strong>Agenten</strong> . . . . . . . . . . . . . . . . . . 27<br />

2.6 Architekturen für <strong>Agenten</strong> . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

2.7 Einfaches Delegieren bei <strong>Agenten</strong> . . . . . . . . . . . . . . . . . . . . . 31<br />

2.8 Versteigerung im Contract Net . . . . . . . . . . . . . . . . . . . . . . . 31<br />

2.9 Architektur des AMPA-Systems . . . . . . . . . . . . . . . . . . . . . . 35<br />

2.10 Architekturskizze eines AMPA-<strong>Agenten</strong> . . . . . . . . . . . . . . . . . . 36<br />

3.1 Das Europäische System der Zentralbanken . . . . . . . . . . . . . . . . 39<br />

3.2 Transporte bei der Produktion der Euro-Münzen . . . . . . . . . . . . . . 43<br />

3.3 Beauftragung <strong>von</strong> Transporten durch den Bund . . . . . . . . . . . . . . 44<br />

4.1 Phasen des Vorgehensmodells . . . . . . . . . . . . . . . . . . . . . . . 49<br />

4.2 Zuordnung <strong>von</strong> <strong>Agenten</strong> zu Stellen . . . . . . . . . . . . . . . . . . . . . 52<br />

4.3 Benennung der <strong>Agenten</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . 52<br />

4.4 Globale Sicht der <strong>Supply</strong> <strong>Chain</strong> . . . . . . . . . . . . . . . . . . . . . . 59<br />

4.5 Globale Sicht der <strong>Supply</strong> <strong>Chain</strong> <strong>mit</strong> aufgefalteten Virtuellen Organisati-<br />

onseinheiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />

4.6 Produktion der Ronden . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

4.7 Prägung der Münzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

4.8 Verteilung der Sicherheitstransporte . . . . . . . . . . . . . . . . . . . . 62<br />

4.9 Schematischer Aufbau eines Planungsagenten des Frameworks <strong>von</strong> Bröske 70<br />

4.10 Schichtenarchitektur eines Planungsagenten des Frameworks <strong>von</strong> Bröske 71<br />

4.11 <strong>Agenten</strong>-Kern: Endlicher Automat . . . . . . . . . . . . . . . . . . . . . 74<br />

4.12 Datenschema des Multiagenten-Systems . . . . . . . . . . . . . . . . . . 78<br />

4.13 Pseudocode für den prädiktiven Toplevel-Algorithmus . . . . . . . . . . 91<br />

119


Abbildungsverzeichnis<br />

120<br />

4.14 Pseudocode für die prädiktive Planung der <strong>Teams</strong> bei Rondenproduktion<br />

und Münzprägung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />

4.15 Pseudocode für die Optimierung und prädiktive Planung der Sicherheits-<br />

transporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94<br />

5.1 Produktionsvorschrift Euro-Münze . . . . . . . . . . . . . . . . . . . . . 98<br />

5.2 Vereinfachtes Klassendiagramm des Multiagenten-Systems . . . . . . . . 107<br />

5.3 Prädiktive Planung des Algorithmus toplevel (Agent PA1, BUND) . . . . 111<br />

5.4 Prädiktive Planung des Algorithmus transporttop (Agent PA1.2, S-Transport)113


Tabellenverzeichnis<br />

2.1 Verteilte Ablaufplanung, Unterschiede der globalen und lokalen Ebene . . 16<br />

3.1 Technische Merkmale der Euro-Münzen . . . . . . . . . . . . . . . . . . 41<br />

4.1 Zugehörigkeit der <strong>Agenten</strong> zu <strong>Teams</strong> . . . . . . . . . . . . . . . . . . . . 64<br />

4.2 Daten eines <strong>Agenten</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

4.3 Daten der Agent_zu_Kinder-Relation . . . . . . . . . . . . . . . . . . . 79<br />

4.4 Daten eines Planschritts . . . . . . . . . . . . . . . . . . . . . . . . . . . 80<br />

4.5 Daten eines Auftrags . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />

4.6 Daten eines Produkts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />

4.7 Daten eines Schrittes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83<br />

4.8 Daten eines Transportschrittes . . . . . . . . . . . . . . . . . . . . . . . 83<br />

4.9 Daten für die Nachfolgerbeziehung zwischen den Schritten . . . . . . . . 83<br />

4.10 Daten einer Ressource . . . . . . . . . . . . . . . . . . . . . . . . . . . 84<br />

4.11 Daten der Ressourcenverfügbarkeit . . . . . . . . . . . . . . . . . . . . . 84<br />

4.12 Daten einer Maschine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84<br />

4.13 Daten eines Transporters . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />

4.14 Daten eines Lagers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />

4.15 Daten einer Route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />

4.16 Ontologie und Inhalt der KQML-Nachrichten . . . . . . . . . . . . . . . 86<br />

5.1 Daten der Tabelle Produkt . . . . . . . . . . . . . . . . . . . . . . . . . 99<br />

5.2 Daten der Tabelle Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . 100<br />

5.3 Daten der Tabelle Transportschritt . . . . . . . . . . . . . . . . . . . . . 101<br />

5.4 Daten der Tabelle Naechster_Schritt . . . . . . . . . . . . . . . . . . . . 101<br />

5.5 Daten der Tabelle Ressource . . . . . . . . . . . . . . . . . . . . . . . . 102<br />

5.6 Daten der Tabelle Maschine . . . . . . . . . . . . . . . . . . . . . . . . 103<br />

5.7 Daten der Tabelle Transporter . . . . . . . . . . . . . . . . . . . . . . . 104<br />

5.8 Daten der Tabelle Route . . . . . . . . . . . . . . . . . . . . . . . . . . 104<br />

121


Tabellenverzeichnis<br />

122<br />

5.9 Daten der Tabelle Agent . . . . . . . . . . . . . . . . . . . . . . . . . . 105<br />

5.10 Daten der Tabelle Agent_zu_Kinder . . . . . . . . . . . . . . . . . . . . 105<br />

5.11 Daten der Tabelle Auftrag . . . . . . . . . . . . . . . . . . . . . . . . . . 106


Literaturverzeichnis<br />

[AFST00] Appelrath, H.-J., Freese, T., Sauer, J., Teschke, T.: Strukturelle Abbildung<br />

<strong>von</strong> Produktionsnetzwerken auf Multiagentensysteme, erschienen in: KI,<br />

Künstliche Intelligenz, Heft 3/00, S. 64, arenDTaP Verlag Bremen, ISSN<br />

0933-1875, 2001. 50, 53<br />

[BB02] Webseite der Deutschen Bundesbank, http://www.bundesbank.de/<br />

bargeld/euro_muenzen.php, Juli 2002. 40<br />

[Bro01] Bröske, S.: Ein Framework für Planungsagenten, Diplomarbeit, Fachbe-<br />

reich Informatik, Universität Oldenburg, 2001. 27, 34, 69, 70, 73, 74,<br />

97<br />

[Bun99] Deutsches Münzgesetz, vom 16. Dezember 1999 (BGBl. I S. 2402) 42<br />

[CG01] Corsten, H., Gössinger, R.: Advanced Planning Systems – Anspruch und<br />

Wirklichkeit, erschienen in PPS Mangament, Heft 2/01, S. 32, GITO-<br />

Verlag, Berlin, 2001. 24<br />

[Fre98] Freese, T.: Ein generisches Ablaufplanungssystem auf Basis <strong>von</strong> Cons-<br />

traints. Diplomarbeit, Fachbereich Informatik, Universität Oldenburg, Ol-<br />

denburg, 1998 80<br />

[FST99] Freese, T., Sauer, J., Teschke, T.: AMPA Zwischenbericht. Zwischenbe-<br />

richt, OFFIS, Oldenburg, 1999. 35, 36<br />

[DS83] Davis, R, S<strong>mit</strong>h, R.G.: Negotiation as a Metaphor for Distributed Problem<br />

Solving. Artificial Intelligence, Vol. 20, 1983. 32<br />

[Hen98] Henseler, H.: Aktive Ablaufplanung <strong>mit</strong> Multi- <strong>Agenten</strong>. DISKI Band 180,<br />

Infix Verlag, Sankt Augustin, 1998. 8, 9, 29, 30<br />

[HR00] Horn, E., Reinke, T.: Musterarchitekturen und Entwicklungsmethoden<br />

für Multiagentensysteme. In Künstliche Intelligenz, Heft 4/00, S. 48-54,<br />

arenDTaP Verlag, Bremen, 2000.<br />

123


Literaturverzeichnis<br />

[HS99] Huhns, M., Stephens, L.: Multiagent Systems and Societies of Agents, er-<br />

schienen in [Wei99], 1999. 31, 33, 34<br />

[HW01] Hambörger, K., Würdemann, T.: Produktionsplanungssysteme – Konzep-<br />

te und Methoden. Seminarvortrag, Fachbereich BWL, Universität Olden-<br />

burg, Oldenburg, 2001. 17<br />

[Jau98] Jaudszim, I.: Mobilitätsaspekte bei Ablaufplanungssystemen, Diplomar-<br />

beit, Fachbereich Informatik, Universität Oldenburg, Oldenburg, 1998.<br />

12, 16<br />

[JF88] Johnson, R., Foote, B.: Designing Reusable Classes, erschienen in Journal<br />

of Object-Oriented Programming 1, no. 2 (1988): S. 22-35, 1988. 69<br />

[KS99] Kirn, S., Petsch, M. (Hrsg.): Workshop: „Intelligente Softwareagenten<br />

und betriebswirtschaftliche Anwendungsszenarien“. Arbeitsbericht, Tech-<br />

nische Universität Ilmenau, Ilmenau, 1999.<br />

[LFP99] Labrou, Y., Finin, T., Peng, Y.: Agent Communication Languages: The<br />

Current Landscape. In IEEE Intelligent Systems, March/April 1999,<br />

1999. 33<br />

[MRW00] Meyr, H., Rohde, J., Wagner, M.: Die <strong>Supply</strong> <strong>Chain</strong> Planning Matrix, er-<br />

schienen in: PPS Management, Heft 5/00, GITO Verlag, Berlin, 2000. 21<br />

[NH+94] Neimann, D., Hildum, D., Lesser, V., Sandholm, T.: Exploiting Meta-<br />

Level Information in a Distributed <strong>Scheduling</strong> System. Technical Report,<br />

University of Massachusetts at Armherst, Computer Science Department,<br />

Armherst, 1994. 33<br />

[Pru00] Prusch, T.: Eine Benutzungsoberfläche für integrierte interaktive Ablauf-<br />

planungssysteme im PPS-Bereich, Diplomarbeit, Fachbereich Informatik,<br />

Universität Oldenburg, 2000.<br />

[Sau93] Sauer, J.: Wissensbasiertes Lösen <strong>von</strong> Ablaufplanungsproblemen durch ex-<br />

plizite Heuristiken. DISKI Band 37, infix Verlag, Sankt Augustin, 1993.<br />

5, 7<br />

[Sau01a] Sauer, J: AI in planning, scheduling, configuration and design, Procee-<br />

124<br />

dings of the KI-2001 Workshop W1 ; zugleich 15. Workshop ,Planen,<br />

<strong>Scheduling</strong>, Konfigurieren und Entwerfen’, PuK 2001, Wien 18. 9. 2001,<br />

Wien, 2001


Literaturverzeichnis<br />

[Sau01b] Sauer, J: Modelling and solving multi-site scheduling problems, to appear<br />

in: Jorna, R.: Planning and Intelligence, Wiley, 2001<br />

[Sau01c] Sauer, J: Koordinierte Ablaufplanung auf mehreren Ebenen, in: KI, Künst-<br />

liche Intelligenz, Heft 2/01, S. 18-24, arenDTaP Verlag Bremen, ISSN<br />

0933-1875, 2001.<br />

[Sau01d] Sauer, J.: Multi-Site <strong>Scheduling</strong>. Arbeitstitel, Habilitationsvorhaben, Fach-<br />

bereich Informatik, Universität Oldenburg, Oldenburg, 2001. 5, 9, 11, 14,<br />

90<br />

[Sau02] Sauer, J., Appelrath, H.-J.: <strong>Scheduling</strong> the <strong>Supply</strong> <strong>Chain</strong> by <strong>Teams</strong> Of<br />

Agents. Projektvorhaben, Universtität Oldenburg, Oldenburg, 2002. 16,<br />

20, 47<br />

[Sch95] Schierenbeck, H.: Grundzüge der Betriebswirtschaftslehre. R. Olden-<br />

bourg Verlag, München, 1995.<br />

[Sch98] Schönsleben, P.: Integrales Logistikmanagement: Planung und Steuerung<br />

<strong>von</strong> umfassenden Geschäftsprozessen. Springer Verlag, Berlin, Heidel-<br />

berg, 1998. 19<br />

[Sch01] Schneidewind, U.: Folien zur Vorlesung Produktionsmanagement I. Fach-<br />

bereich BWL, Universität Oldenburg, Oldenburg, 2001. 18<br />

[SK01] Stadtler, H., Kilger, C. (Editors): <strong>Supply</strong> <strong>Chain</strong> Management and Advan-<br />

ced Planning. Springer Verlag, Berlin, Heidelberg 2001. 51<br />

[SL95] Sandholm, T., Lesser, V.: Issues in Automated Negotiation and Electro-<br />

nic Commerce: Extending the Contract Net Framework. Technical Report,<br />

University of Massachusetts at Armherst, Computer Science Department,<br />

Armherst, 1995. 32<br />

[Swi02] Webseite der Swissmint AG, http://www.swissmint.ch/d/<br />

numismatik/fliessbild.shtml, Juli 2002. 42<br />

[Wei99] Weiss, G. (Hrsg.): Multiagent Systems. Massachusetts Institute of Techno-<br />

logy, Massachusetts (USA), 1999. 124, 126<br />

[WJ95] Wooldridge, M., Jennings, N. R.: Intelligent Agents: Theory and Practice.<br />

Knowledge Engineering Review, 10 (2), 1995. 26<br />

125


Literaturverzeichnis<br />

[Woo99] Wooldridge, M: Intelligent Agents, erschienen in [Wei99], 1999. 25, 26,<br />

27<br />

[Zae01] Zäpfel, G.: Bausteine und Architekturen <strong>von</strong> <strong>Supply</strong> <strong>Chain</strong> Management-<br />

126<br />

Systemen, erschienen in: PPS Management, Heft 6/01, S. 9, GITO-Verlag,<br />

Berlin, 2001. 21


Danksagung<br />

An dieser Stelle möchte ich mich bei allen bedanken, die mich bei der Verfassung dieser<br />

Diplomarbeit unterstützt haben.<br />

Insbesondere danke ich meinen Eltern und meinem Bruder, die mich während des gesam-<br />

ten Studiums über begleitet haben. Ohne die mir entgegen gebrachte Toleranz sowie die<br />

moralischen und finanziellen Hilfen wäre diese Arbeit nicht entstanden.<br />

Priv.-Doz. Dr. Jürgen Sauer danke ich für seine sympathische und kompetente Betreuung.<br />

Durch seine Anregungen und viele konstruktive Diskussionen hat er erheblich zum Ge-<br />

lingen dieser Arbeit beigetragen.<br />

Ralf BeXXX Beckers, Frank Bodmann, Bernd Kuper, Martin Sparenberg und Thorsten<br />

Würdemann danke ich für das Korrekturlesen und zahlreiche kritische und produktive<br />

Vorschläge. Franks umfassende Java � -Kenntnisse haben mir bei die Implementierung<br />

betreffenden Fragen die Recherche erheblich erleichtert. BeXXX hat ein gutes Werk ge-<br />

tan, indem er mich da<strong>von</strong> überzeugt hat, diese Arbeit <strong>mit</strong> LATEX zu erstellen.<br />

Meiner Verlobten Sita Unbehaun danke ich dafür, dass sie während der Diplomarbeit mich<br />

und meine häufige Abwesenheit geduldvoll ertragen hat. Ihre moralische Unterstützung<br />

war eine große Hilfe.<br />

Allen meinen Freunden (Buero & Co) danke ich für die nette Abwechslung und Ablen-<br />

kung während des gesamten Studiums.<br />

127


Danksagung<br />

128


Erklärung<br />

Ich versichere, dass ich diese Diplomarbeit selbstständig verfasst und keine anderen als<br />

die angegebenen Hilfs<strong>mit</strong>tel verwendet habe.<br />

Oldenburg, 11. Oktober 2002

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!