Integration einer Multiagentensimulation in ein...

12
Integration einer Multiagentensimulation in ein Geoinformationssystem Michael Schüle, Thomas Bieser, Paul Karänke, Stefan Kirn Wirtschaftsinformatik II Universität Hohenheim Schwerzstr. 35 70599 Stuttgart [email protected] [email protected] [email protected] [email protected] Abstract: Georeferenzierung und damit Geographische Informationssysteme (GIS) finden in vielen Disziplinen außerhalb der Geographie weite Einsatzmöglichkeiten. So sind heute bereits häufig weit mehr als 50% der IT- Anwendungen großer Kommunen auf Geodaten angewiesen. Häufig geht es dabei um Simulationen. Um diese zu realisieren müssen die Analysewerkzeuge eines GIS um eine Simulationskomponente erweitert werden. Dabei muss das im Raum beobachtbare, individuelle und kollektive Verhalten (teil-)autonomer Akteure geeignet abgebildet werden können. Dafür geeignete Konzepte stellt die Multiagententechnologie zur Verfügung. In diesem Beitrag werden die Möglichkeiten der Einbindung von Multiagentensimulationen (MAS) in ein GIS untersucht. Der Lösungsansatz wird aus einer Softwarearchitektur-Perspektive entwickelt und am Beispiel der Simulationen zur Standortplanung umgesetzt sowie validiert. 1 Einführung Geographische Informationssysteme (GIS) bieten Funktionen, die geographische Daten aus der realen Umwelt erfassen, speichern, analysieren und visualisieren. Speziell die Erweiterung der Analysefunktionen verschafft einem GIS Anwendungsmöglichkeiten in den verschiedensten Einsatzgebieten. Die Erweiterung der Analysefunktionen eines GIS um eine Simulationskomponente ermöglicht es Simulationen mit explizitem räumlichem Bezug durchzuführen. Da dabei meist das individuelle und / oder kollektive Verhalten (teil-)autonomer Akteure abgebildet werden muss, wird die Simulationskomponente auf Basis der Multiagententechnologie entworfen [Ki06]. Das Konzept kooperierender intelligenter Agenten erleichtert die Formalisierung komplexer Modelle. Der Vorteil liegt darin, dass das zu modellierende Originalsystem relativ gut im Modell abgebildet werden kann. Insbesondere können die einzelnen Agenten dort auch sehr gut individualisiert werden. Damit kann der Simulationsmodellierer sehr realistische Experimente durchführen, die in der Realität so nicht durchgeführt werden könnten, bspw. aus Ressourcenmangel [Kl01]. 1443

Transcript of Integration einer Multiagentensimulation in ein...

Integration einer Multiagentensimulation in ein Geoinformationssystem

Michael Schüle, Thomas Bieser, Paul Karänke, Stefan Kirn

Wirtschaftsinformatik II Universität Hohenheim

Schwerzstr. 35 70599 Stuttgart

[email protected] [email protected] [email protected]

[email protected]

Abstract: Georeferenzierung und damit Geographische Informationssysteme (GIS) finden in vielen Disziplinen außerhalb der Geographie weite Einsatzmöglichkeiten. So sind heute bereits häufig weit mehr als 50% der IT-Anwendungen großer Kommunen auf Geodaten angewiesen. Häufig geht es dabei um Simulationen. Um diese zu realisieren müssen die Analysewerkzeuge eines GIS um eine Simulationskomponente erweitert werden. Dabei muss das im Raum beobachtbare, individuelle und kollektive Verhalten (teil-)autonomer Akteure geeignet abgebildet werden können. Dafür geeignete Konzepte stellt die Multiagententechnologie zur Verfügung. In diesem Beitrag werden die Möglichkeiten der Einbindung von Multiagentensimulationen (MAS) in ein GIS untersucht. Der Lösungsansatz wird aus einer Softwarearchitektur-Perspektive entwickelt und am Beispiel der Simulationen zur Standortplanung umgesetzt sowie validiert.

1 Einführung

Geographische Informationssysteme (GIS) bieten Funktionen, die geographische Daten aus der realen Umwelt erfassen, speichern, analysieren und visualisieren. Speziell die Erweiterung der Analysefunktionen verschafft einem GIS Anwendungsmöglichkeiten in den verschiedensten Einsatzgebieten. Die Erweiterung der Analysefunktionen eines GIS um eine Simulationskomponente ermöglicht es Simulationen mit explizitem räumlichem Bezug durchzuführen. Da dabei meist das individuelle und / oder kollektive Verhalten (teil-)autonomer Akteure abgebildet werden muss, wird die Simulationskomponente auf Basis der Multiagententechnologie entworfen [Ki06]. Das Konzept kooperierender intelligenter Agenten erleichtert die Formalisierung komplexer Modelle. Der Vorteil liegt darin, dass das zu modellierende Originalsystem relativ gut im Modell abgebildet werden kann. Insbesondere können die einzelnen Agenten dort auch sehr gut individualisiert werden. Damit kann der Simulationsmodellierer sehr realistische Experimente durchführen, die in der Realität so nicht durchgeführt werden könnten, bspw. aus Ressourcenmangel [Kl01].

1443

Die Problemstellung, die sich hieraus ergibt, ist die Integration einer Multiagentensimulation (MAS) in ein GIS, d. h. eine Kopplung beider Systeme, wobei das GIS die Steuerungsfunktion für beide Systeme übernimmt. In einer vorherigen Arbeit [SHK04] wurden verschiedene Möglichkeiten der Integration vorgestellt und eine andere Art der Integration näher betrachtet, so dass sich die ausführliche Betrachtung der anderen Möglichkeiten der Integration aufzwingt. Die Lösung dieses Problems wird aus einer Softwarearchitektur-Perspektive angegangen, im Zentrum steht die Entwicklung einer Kopplungsarchitektur [We02, SHK04]. Eine Möglichkeit der Integration, die enge Kopplung, wird vorgestellt und ausgearbeitet. Hier in diesem Fall wird eine Integration der MAS in ein GIS stattfinden.

Kapitel 2 gibt einen kurzen Überblick über die beiden eingesetzten Komponenten GIS und MAS sowie ähnliche Lösungen im Bereich der Kopplung von GIS und MAS. Kapitel 3 beschreibt die vorgeschlagene Kopplungsarchitektur. In Kapitel 4 wird die Implementierung der in Kapitel 3 gezeigten Architektur vorgestellt. Kapitel 5 validiert die Umsetzung am Beispiel der Standortplanung. Kapitel 6 bewertet diese Lösung und gibt einen Ausblick auf die weiterführenden Aspekte dieser Arbeit.

2 Verwendete Technologien – GIS und MAS

2.1 Geoinformationssysteme

„Ein Geoinformationssystem dient der Erfassung, Speicherung, Analyse und Darstellung aller Daten, die einen Teil der Erdoberfläche und die darauf befindlichen technischen und administrativen Einrichtungen sowie geowissenschaftliche, ökonomische und ökologische Gegebenheiten beschreiben“ [Ba05]. Als Systeme zur Bereitstellung geographischer Information werden GIS in vielen Bereichen eingesetzt. Immer öfter haben Entscheidungen in Politik, Wirtschaft und Verwaltung Geo-Bezug und benötigen dann GIS Software. Der Aufbau eines GIS wird in vier Bereiche eingeteilt: Daten, Software, Hardware und Anwender. Die Daten eines GIS können sowohl geographische Daten als auch Sachdaten sein. Geographische Daten werden nach ihrer Thematik geordnet auf einer Datenschicht gespeichert. Sachdaten können zu den einzelnen geographischen Objekten zugeordnet werden. Eine wichtige Überlegung ist die Wahl des Datenformats für die geographischen Daten. Bei Rasterdatenmodellen werden die geometrischen Daten durch eine Gitterdatenstruktur in Zellen unterteilt. Vektordaten basieren auf den Grundelementen Punkt, Linie und Fläche. Der Bereich der Software eines GIS bietet dem Benutzer Funktionalitäten zur Analyse, Manipulation und Visualisierung der verfügbaren Daten. Analysefunktionen können beispielsweise eine einfache Entfernungsmessung bis hin zu einer aufwendigen Dataminingkomponente, welche aus vorhandenem Wissen neues Wissen generiert, durchführen. Manipulationsfunktionen dienen dem Anwender zur Veränderung oder dem Hinzufügen von geographischen Daten bzw. Sachdaten [Bi99].

1444

2.2 Multiagentensimulationen

Die Konstruktion von Modellen, also die Modellbildung und das Experimentieren mit diesen, also die Simulation, bilden schon lange bekannte und oft benutzte Vorgehensweisen um die Wirklichkeit zu verstehen und besser steuern zu können. Unter Simulation versteht man die Durchführung von Experimenten anhand eines entwickelten Modells sowie das Beobachten des Verhaltens dieser Experimente im Zeitverlauf [Po89]. Simulationen bieten sich als Umgebung für Experimente an, die in der Realität nicht oder nur schwer durchgeführt werden können. Die Modelle von Simulationen sind normalerweise einfacher als das Originalsystem. Ein Simulationsmodell besteht typischerweise aus Simulationseinheiten und Überleitungsregeln [HF06]. MAS sind ein Spezialfall von Simulationen. Eine MAS nutzt die Technologie der Multiagentensysteme und wendet es auf die Struktur von Simulationsmodellen an. Multiagentensystemen können folgende Eigenschaften zugeordnet werden. Ein Agent besitzt aufgrund von unvollständiger Information und beschränkter Problemlösungsfähigkeit eine beschränkte Sicht auf das Gesamtsystem und nur lokale Manipulationsmöglichkeiten. Jeder Agent verwaltet seine Attribute lokal. Alle Operationen der Agenten sollten im Idealfall asynchron geschehen. Im Idealfall verfügt das ganze Multiagentensystem über keine zentrale Kontrolle [Kl01]. MAS bestehen aus simulierten Agenten, die in einer simulierten Umwelt leben. Die Umwelt spielt eine wichtige Rolle für das Verhalten und die Interaktionen der Agenten. Simulierte Agenten agieren in Relation zu ihrer Umwelt, verändern sich selbst und ihre Umwelt und bleiben in dieser persistent. Aktive und passive Umwelteinflüsse sind möglich. Simulierte Agenten besitzen einen beschränkten Wahrnehmungs- und Aktionsradius. Sie verfügen über ein nichttriviales Verhaltensrepertoire, welches auf einer höheren Ebene beschreibbar ist [Kl01].

2.3 Ähnliche Lösungsansätze

Es gibt mehrere Ansätze, die versuchen MAS und GIS zu koppeln. Verschiedene Möglichkeiten der Integration von GIS und MAS werden in einer Arbeit auf Basis der MAS SeSAm vorgestellt [SHK04]. Hier hat die Umsetzung der Integration eines GIS in SeSAm in Form einer losen Kopplung über ein Datenformat stattgefunden. Als Evaluierungsbeispiel diente hier ein Simulationsmodell aus dem Bereich der Verkehrssimulation. Eine andere Arbeit zeigt die Schritte zum Aufbau eines intelligenten GIS [LPZ04]. Das hierzu verwendete GIS ist ArcGis. Die MAS zwischen GIS und MAS erfolgt über eine Schnittstelle. Es ist möglich das Simulationsmodell und das Verhalten der Agenten im laufenden Simulationsbetrieb zu ändern. Alle Outputdaten der Agenten werden in einer Datenbank gespeichert. Diese Daten werden über das Interface aus der Datenbank ausgelesen und an das GIS z. B. zum Zwecke der Visualisierung übermittelt. Das Anwendungsbeispiel, das beschrieben wird, zielt auf die Simulation eines Standortplanungsszenarios im städtischen Umfeld ab.

Westervelt [We02] kategorisiert die Kopplung von GIS und agentenbasierten Modellen bzw. zwei Softwarekomponeten im Allgemeinen folgendermaßen.

1445

Bei der losen Kopplung erfolgt der Datenaustausch zwischen dem GIS und der externen Prozedur über ein ASCII-Datenfile. Der Kopplungstyp der moderaten Kopplung erweitert dieses Konzept und spezifiziert das Datenaustauschfile auf ein gemeinsam einheitliches Datenformat, das über eine standardisierte Bibliothek verarbeitet werden kann. Die enge Kopplung bindet die andere Prozedur in das GIS bzw. die GIS-Funktionalitäten in die andere Softwarekomponente direkt ein. Die verteilte Kopplung entspricht im Wesentlichen der engen Kopplung, mit dem Unterschied, dass die einzelnen Komponenten sich auf verschiedene Rechenknoten verteilen.

Ein Beispiel für eine gelungene Umsetzung und Anwendung eines Simulationssystems, basierend auf Techniken aus der verteilten künstlichen Intelligenz, Geoinformatik und Statistik, ist der Grand Canyon River Trip Simulator [Gi02]. Dieser Ansatz simuliert die Planung der Bootstouren auf dem Colorado River durch den Grand Canyon National Park, um Erkenntnisse über den Einfluss der Menschen auf das Ökosystem zu erforschen und damit die Umwelt so schonend wie möglich zu behandeln. Die Umwelt wird durch eine Rasterdatenkarte repräsentiert, der Bewegungspfad der Agenten wurde vorher im GIS definiert. Die Agenten verwenden Methoden der Statistik und Fuzzylogik um Planungsentscheidungen zu treffen. Ein weiterer Ansatz simuliert die Veränderung der Landnutzung im Amazonasgebiet [Li02]. Geographische Rasterdaten, versehen mit verschiedenen Bodendaten, werden aus ARC/INFO in die in Swarm implementierte agentenbasierte Simulation geladen. Die Kopplung erfolgt über den Datenaustausch in Form einer Textdatei. Die Arbeit aus Quelle [Bo02] zeigt einen ebenfalls in Swarm implementierten Ansatz. Es wurde ein GIS-basierter zellulärer Automat, basierend auf Rasterdaten, welcher mit einem agentenbasierten Modell gekoppelt werden kann, entwickelt. Das Anwendungsbeispiel ist die Ausbreitung von Waldbränden und deren Löschung durch menschliche Akteure.

Die vorgestellten Ansätze beschränken sich im Wesentlichen darauf geographische Daten aus einem GIS über eine Datei in das Agentenmodell zu importieren. Das gewählte Datenformat war größtenteils das Rasterdatenformat. Das Umweltmodell der Simulationen, basierend auf den GIS-Daten, ist meistens statisch. Es existieren keine Möglichkeiten der Dynamisierung der geographischen Objekte. Die vorgestellten Implementierungen sind fast alle Speziallösung für eine bestimmte Anwendung und können nicht auf andere Szenarien angewendet werden. In der im folgenden Kapitel vorgestellten Architektur werden diese Erkenntnisse aufgegriffen und umgesetzt.

3 Kopplungsarchitektur Eine notwendige Vorüberlegung für die Kopplung von GIS und MAS ist, eine semantische Kopplung der beiden Systeme zu schaffen. Da Geodaten meistens in thematischen Dimensionen auf einer Schicht abgespeichert werden, soll auch das Wissen über die Bedeutung der Schicht z. B. Strasse erhalten bleiben. Zusätzlich besitzen die geographischen Daten, besonders Vektordaten, Sachdaten bzw. Attribute. Dieses Wissen sollte im Idealfall in Form von Variablen oder Attributen ein Teil des agentenbasierten Simulationsmodells sein. Die Lösung dafür ist das Einführen einer Ontologie. In der Informatik ist eine Ontologie eine explizite Spezifikation von Konzepten und Relationen zwischen den Konzepten [Gr05].

1446

Im Falle der Kopplung von GIS und MAS kann eine Ontologie als einfache Klasse-Attribut-Struktur realisiert werden. Die einzelnen Objekte einer Schicht gehören einer Objektklasse an, z. B. eine thematische Schicht, die aus Linien besteht, wird als Straße definiert, eine andere als Fluss. Die Attributdeklarationen der geographischen Objekte sollten dann als Attribute der zugehörigen Objektklasse eingesetzt werden. Für die Integration von GIS und MAS ist eine Ontologie besonderes wichtig, weil beide Systeme mit der gleichen Semantik arbeiten müssen.

Abbildung 1: UML-Komponentendiagramm der Architektur

Die hier vorgeschlagene Architektur für die Kopplung von GIS und MAS ist eine enge Kopplung [We02]. Die Kontrolle des Gesamtsystems liegt hier bei der GIS Komponente. Das MAS ist wie eine Analysefunktion direkt in das System eingebunden. Die Steuerung der MAS erfolgt über das User Interface des GIS. Eine semantische Kopplung entsteht über eine gemeinsame Ontologie. Die Hauptaufgabe des GIS im Bezug auf die Integration von GIS und MAS ist es die Objekte aus der MAS räumlich zu repräsentieren. Abbildung 1 zeigt die Architektur in einem Komponentendiagramm.

Die Funktionsweise des Gesamtsystems sieht folgendermaßen aus: das GIS beinhaltet die geographischen Daten in thematischen Schichten. Die Sachdaten zu den einzelnen geographischen Objekten werden in einer datenbankähnlichen Struktur nach thematischen Schichten getrennt gehalten. Diese Trennung nach thematischen Schichten ist auch für die MAS Komponente zu übernehmen. Analog dazu ist für jede Agentenklasse eine eigene thematische Schicht bzw. in diesem Fall eine Agentenschicht anzulegen, auf der sich dann beliebig viele Instanzen dieses Agenten aufhalten können. Allen Agenten, die eine räumliche Repräsentation benötigen, wird diese Eigenschaft hinzugefügt. Diese Eigenschaft ermöglicht es den Agenten ihre geographischen Daten über ein Interface in einem Informationsobjekt bzw. Artefakt für das GIS bereit zustellen.

1447

Um eine Interaktion der Agenten mit ihrer Umwelt zu gewährleisten, müssen die thematischen Schichten des GIS, die nicht explizit als Agentenschichten ausgewiesen sind, als Umweltagent zusammengefasst werden. Hier kommt die semantische Kopplung der Ontologie zum Tragen, die Agenten erlangen Wissen über ihre Umwelt. Dem Umweltagenten kann auch proaktives und dynamisches Verhalten zugeordnet werden. Als Datenformat für das GIS im Bezug auf die Kopplung mit einer MAS ist ein Vektordatenformat zu wählen. So kann ein höherer Individualisierungsgrad der Agenten und der Umwelt entstehen. Bewegungspfade für Agenten müssen nicht aufwändig definiert werden, sondern können durch Linien direkt aus den Ursprungsdaten des GIS übernommen werden. Die Visualisierung der geographischen Daten erfolgt gegliedert nach den thematischen Schichten, wobei alle Schichten gleichzeitig übereinander angezeigt werden können. Die Visualisierung der Sachdaten erfolgt in tabellarischer Darstellungsweise. Die Darstellung der Agenten im GIS erfolgt dann auf Basis der im Informationsobjekt vorhandenen geographischen Daten als eigene Agentenschicht. Um die Aktualisierung der geographischen Daten der Agenten abzufangen, werden die visualisierten Elemente neu gezeichnet. Für die Darstellung der Aktualisierung der Attribute bzw. Sachdaten der Agenten ist ein analoges Modell denkbar.

Da die MAS über das User Interface des GIS gesteuert wird, findet die Modellierung des Simulationsmodells auch über dieses statt. In der MAS können durch den Benutzer Agentenklassen und Verhaltensfunktionen für die Agenten bzw. den Umweltagenten definiert werden. Neue Agentenschichten können auf Basis der definierten Agentenklassen angelegt werden. Innerhalb einer Agentenschicht können neue Instanzen dieser Agentenklasse in das System eingeführt werden, d. h. eine Agenteninstanz ist über das User Interface anzulegen und die Attributwerte sind zuzuweisen. Sobald eine Instanz eines Agenten angelegt wurde, ist er aktiv und geht seinem Verhalten nach. Die Simulation hat begonnen, sobald eine Instanz eines Agenten im System vorhanden ist. Wenn ein Agent aktiv ist, kann er nicht mehr durch einen Eingriff des Benutzers manipuliert werden. Es ist möglich Agenten aus der Simulation zu löschen. Sobald die erste Agentenschicht angelegt wird, wird automatisch der Umweltagent angelegt. Die im GIS angelegten thematischen Schichten stellen das Umweltmodell einer Simulation dar und werden über eine Ontologie der MAS semantisch zugänglich gemacht. Es ist möglich dem Umweltagenten Verhaltensfunktionen zuzuordnen.

Folgender Prozess ist nun für die Durchführung von Simulationen mit dieser Integration von GIS und MAS zu durchlaufen:

1. Modellierung einer Ontologie: Die Konzepte der thematischen Schichten der Umwelt werden durch den Anwender in einer Klassen-Attribut-Struktur bereitgestellt.

2. Modellierung der Umwelt: Alle Daten für die Umwelt der Agenten werden in das GIS geladen und visualisiert.

3. Modellierung der Agentenklassen und Verhaltensfunktionen: Die Agentenklassen und Verhaltensfunktionen werden durch den Anwender definiert. Den Agentenklassen werden Verhaltensfunktionen und Attribute zugewiesen.

1448

4. Anlegen der Agentenschichten: Für jede Agentenklasse ist eine neue Agentenschicht anzulegen.

5. Modellierung des Umweltagenten: Dem Umweltagenten können Verhaltensfunktionen zugewiesen werden.

6. Instanzierung der Agentenklassen: Auf einer Schicht können beliebig viele Agenten derselben Klasse angelegt werden. Ist ein Agent instanziert, ist er aktiv. Die Simulation läuft. Es ist möglich weitere Agenten während der laufenden Simulation im System anzulegen.

4 Implementierung der Kopplung Die prototypische Implementierung der in Kapitel 3 vorgeschlagenen Architektur einer Kopplung von GIS und MAS basiert auf einem eigenen in JAVA implementierten GIS und einer auf dem JADE (Java Agent Development Framework) [Ja07] aufbauenden MAS. Die Simulationskomponente ist vollständig in das GIS eingebunden und wird auch durch diese gesteuert. Als Datenformat für das GIS wurde das Shapefileformat von ESRI [Es98] gewählt. Es ist ein offenes Vektordatenformat und nahezu alle anderen Formate können in dieses Format umgewandelt werden. Es besteht aus drei zusammengehörenden Dateien: einem main file, einem index file und einer dBase table. Im main file sind die Datensätze der einzelnen geographischen Objekte gespeichert. Das index file speichert die Datensatzorganisations des zugehörigen main file und in der dBase table werden die beigeordneten Sachdaten gehalten.

Abbildung 2: Screenshot der Implementierung

In dieser Phase der prototypischen Implementierung wurde die semantische Verknüpfung direkt in das Verhalten der Agenten implementiert. Die Agentenklassen und Verhaltensfunktionen sind direkt über den Quellcode zu modellieren.

Folgende Auflistung gibt einen Überblick über die Pakete des GIS:

• GUI: Innerhalb des GUI-Paketes gibt es eine zentrale Komponente, die für die Steuerung der gesamten Applikation zuständig ist. Der Hauptframe ist in drei Teilbereiche aufgeteilt: die LayerList, die Map und die Table. In der LayerList

1449

werden die einzelnen Schichten aufgelistet. Die Map visualisiert die einzelnen Schichten aus der LayerList und bietet noch eine Menüleiste mit Funktionen zur Darstellungsveränderung. In der Table werden die Sachdaten zu der in der LayerList aktiven Schicht angezeigt. Abbildung 2 zeigt einen Screenshot der Implementierung.

• DBF: Das DBF-Paket implementiert die Funktionalität die dbase table aus dem Shapefileformat in das System einzulesen.

• SHP: Das SHP-Paket implementiert die Funktionalität die geographischen Informationen aus dem main file und index file des Shapefileformats in das System einzulesen. Dieses Paket definiert noch zusätzlich die geometrischen Grundformen wie z. B. Punkt, Linie und Polygon.

• XML: Dieses Paket implementiert die Funktionalität komplette Szenarien als Projekte zu laden und zu speichern. Hierzu wird XML als Datenformat verwendet.

• LAYER: Das LAYER-Paket implementiert Containerklassen bzw. Informationsobjekte für die einzelnen Typen an thematischen Schichten wie z. B. ein Punktethema, Linienthema oder Polygonthema.

Die MAS verwendet aus dem JADE Framework die komplette Laufzeitumgebung. Lediglich die Agenten, das Verhalten der Agenten und Steuerungsfunktionen wurden neu implementiert.

Folgende Auflistung gibt einen Überblick über die Pakete der MAS:

• AGENT: Das AGENT-Paket beinhaltet alle dem System zur Verfügung stehenden Agententypen.

• BEHAVIOUR: Das BEHAVIOUR-Paket beinhaltet alle dem System zur Verfügung stehenden Agentenverhaltensfunktionen.

• CONTROL: Das CONTROL-Paket stellt Funktionalitäten zur Verfügung die zur Initialisierung und Steuerung der MAS dienen.

Die Schnittstellen zwischen GIS und MAS befinden sich an den in der Architektur vorgeschlagenen Stellen. Zur Modellierung bzw. dem Anlegen neuer Agentenschichten und Agenteninstanzen wird die Steuerkomponente des User Interface (GUI) verwendet. Die explizite Initialisierung dieser Schichten bzw. Agenten wird durch das CONTROL-Paket durchgeführt.

Für Agentenschichten steht im LAYER-Paket ein Agententhema und im GUI-Paket eine Agentenvisualisierungschicht zur räumlichen Repräsentation der Agenten zur Verfügung. Während der Laufzeit einer Simulation verändern die Agenten selbst über eine Agentenverhaltensfunktion ihre geographischen Daten im Agententhema. Eine Steuerungskomponente aus dem GUI-Paket führt das wiederholte Zeichnen der veränderten Daten durch.

1450

5 Validierungszenario: Standortplanung Die Problemstellung der Standortplanung dient zur Validierung der in Kapitel 3 vorgestellten Architektur bzw. der in Kapitel 4 vorgestellten Umsetzung. Es soll an diesem simplen Beispiel gezeigt werden, dass die vorgestellte Architektur funktionsfähig ist. Im einem späteren Schritt wären anspruchvollere Aufgaben z. B. aus dem Bereich der Logistik denkbar. Dieses Szenario widmet sich der Aufgabe den optimalen Standort für ein einzelnes Lager zu finden, von dem aus J Kunden beliefert werden. Dabei ist Kunde j am Standort (aj,bj) mit der Nachfrage wj.. (x,y) ist die Koordinate des gesuchten Standorts. Das Optimierungsproblem im Falle der euklidischen Entfernung lautet:

!

minx,y

Z(x,y) =minx,y jw

j=1

J

"2

ja #x( ) +2

jb #y( ) (1)

Folgender Algorithmus ist für die Lösung des Optimierungsproblems zu verwenden [Tho06]:

1. Auswahl einer Anfangslösung für x0 und y0, je besser die Anfangslösung gewählt wurde, desto schneller wird die optimale Lösung gefunden.

2. Auf Basis der aktuellen Werte xt und yt wird xt+1 und yt+1 berechnet, wobei t der Iterationsindex ist.

!

t+1x =ja jg tx t

,y( )j=1

J

"

jg tx t

,y( )j=1

J

" (2),

!

t+1y =

jb jg tx t

,y( )j=1

J

"

jg tx t

,y( )j=1

J

" (3)

wobei

!

jg tx t

,y( ) =jw

2

ja " tx( ) +2

jb " ty( )

(4)

3. Wiederholung des 2. Schritts. Für dieses Optimierungsproblem der Standortplanung sind in der Implementierung drei Agentenklassen notwendig. Alle Verhaltensfunktionen der Agenten finden iterativ statt.

• CustomerAgent: Diese Agenten repräsentieren die Kunden. Er besitzt drei Agentenverhaltensfunktionen. UpdateWeightBehaviour berechnet gj (xt, yt) aus Formel (4) für diesen Agenten neu. SendCurrentWeightBehaviour sendet mittels FIPA-ACL einer Agentenkommunikationssprache den aktuellen Wert von gj (xt, yt) an alle Agenten der Klasse PlannedLocationAgent. Die Verhaltensfunktion UpdatePositionInAgentLayerBehaviour verändert die geographischen Daten dieses Agenten in der Agentenschicht dieses Agenten.

• PlannedLocationAgent: Dieser Agent repräsentiert das Lager dessen optimaler Standort gesucht wird. Er besitzt vier Agentverhaltensfunktionen. SendCurrentPositionBehaviour sendet mittels FIPA-ACL den aktuellen Wert der eigenen Position an alle Agenten von Typ CustomerAgent.

1451

UpdateLocationBehaviour berechnet xt+1 und yt+1 aus Formel (2) und (3). UpdatePositionIfConstraintBehaviour verändert die Position des Agenten auf die nächstgelegene erlaubte Position falls die aktuelle Position nicht erlaubt ist. In diesem Szenario darf sich der gesuchte Standort nur auf einer Landposition befinden. Standorte im Meer sind nicht erlaubt. UpdatePositionInAgentLayerBehaviour agiert analog zum CustomerAgent.

• WorldAgent: Dieser Agent repräsentiert die Umwelt der Agenten. Dies betrifft alle thematischen Schichten, die nicht explizit als Agentenschicht definiert sind. In einer Simulation kann nur eine Instanz des WorldAgent existieren. Alle thematischen Schichten werden zu einer Umwelt zusammengefasst. Der WorldAgent besitzt eine Verhaltensfunktion. SendCurrentWorldInformation sendet alle geographische Information und alle zugehörigen Sachdaten an alle Agenten.

Abbildung 3: Einige Simulationsmomente während einer laufenden Simulation

(CA=CustomerAgent, PLA=PlannedLocationAgent)

Das in Abbildung 3 dargestellte Szenario sucht einen Lagerstandort für 7 Kunden. Die mit CA markierten Punkte repräsentieren die Kunden, der mit PLA markierte Punkt repräsentiert den gesuchten Lagerstandort. Es werden drei Simulationsmomente der Simulation dargestellt. Teilabbildung 1 zeigt den Ausgangszustand. In Teilabbildung 2 ist eine Veränderung des Ausgangspunktes des Lagerstandortes zu beobachten. Teilabbildung 3 zeigt den gefundenen Lagerstandort.

1452

6 Fazit Diese Arbeit zeigt einen Ansatz für die Architektur und Implementierung von Simulationen mit explizitem räumlichem Bezug. Das Optimierungsproblem der Standortplanung konnte erfolgreich angewendet werden. Die ermittelten Simulationsergebnisse glichen den rechnerisch ermittelten Ergebnissen. Der Vorteil das Standortproblem mit Hilfe einer MAS zu lösen besteht darin, dass hier die Möglichkeit besteht das Modell der Standortermittlung beliebig zu erweitern. Beispielsweise wurde die einfache Umsetzung des Algorithmus in Kapitel 5 durch die Bedingung erweitert, dass sich der gesuchte Standort nicht im Meer befinden darf. Des Weiteren kann eine Standortentscheidung von weiteren quantitativen Entscheidungsfaktoren wie Energiekosten und Transportkosten sowie qualitativen Entscheidungsfaktoren wie Kultur und politisches Klima beeinflusst werden. Die Einbettung der MAS in ein GIS hat den Vorteil, dass die Objekte im System eine echte räumliche Repräsentation haben. Im Gegensatz zu Lösungen, in denen der Agent einfach eine geographische Koordinate enthält, kann eine direkte Interaktion mit einer dynamischen Umwelt, basierend auf geographischen Gegebenheiten, stattfinden. Die Ergebnisse der Simulation können zur Laufzeit visualisiert werden. Durch ein gemeinsames semantisches Konzept werden die thematischen Schichten zu einem realistischen Umweltmodell, in dem die Agenten leben.

Schon bestehende Analysefunktionen des GIS können auch durch die Agenten der MAS verwendet werden. Beispielsweise kann für das Standortplanungsszenario eine andere, dem realen ähnlichere, Entfernungsberechnung als die euklidische Entfernungsberechnung verwendet werden. In einem weiteren Schritt wäre die Berechnung der wirklichen Entfernung auf Verkehrwegen denkbar. Als weiterführende Arbeiten steht die Systematisierung der Implementierung an, d. h. die Anbindung des semantischen Konzeptes einer Ontologie, das Entwickeln einer Umgebung für die Erstellung von Agentenklassen und Agentenverhaltensfunktionen über das User Interface und das Überarbeiten des WorldAgent-Konzeptes, so dass die Eigenschaft der beschränkten Umweltwahrnehmung der Agenten wirklich erfüllt ist. Auf der Seite des selbstentwickelten GIS ist zu überprüfen, ob das GIS den Standards des Open GIS Consortiums (OGC) [Op07] entspricht. Das Gesamtsystem muss soweit generalisiert werden, dass alle Simulationsentwürfe im System durchführbar sind. Ein weiteres Ziel ist es bestehende und neue Modelle aus dem betriebswirtschaftlichen Umfeld zu erfassen und mit einer geographischen Komponente zu bereichern, so dass neue Anwendungen für die Integration von GIS und MAS entstehen.

Acknowledgement This work has been supported by the BREIN project (http://www.gridsforbusiness.eu) and has been partly funded by the European Commission’s IST activity of the 6th Framework Programme under contract number 034556. This paper expresses the opinions of the authors and not necessarily those of the European Commission. The European Commission is not liable for any use that may be made of the information contained in this paper.

1453

Literaturverzeichnis

[Ba05] Bartelme, N.: Geoinformatik – Modelle, Strukturen, Funktionen. Springer, 2005. [Bi99] Bill, R.: Grundlagen der Geo-Informationssysteme – Band 1 Hardware, Software und

Daten. Wiechmann, Heidelberg, 1999. [Bo02] Box, P.: Spatial Units as Agents: Making the Landscape an Equal Player in Agent-Based

Simulations. In: (Gimblett, H. R., Hrsg.) Integrating Geographic Information Systems and Agent-Based Modeling Techniques for Simulating Social and Ecological Processes. Oxford University Press, 2002; S. 59-82.

[DK97] Domschke, W.; Krispin, G.: Location and layout planning – A survey. In OR Spektrum 19. Springer-Verlag, 1997; S. 181-194.

[Es98] ESRI Shapefile Technical Description – An ESRI White Paper. [Gi02] Gimblett, H. R. et. al.: An Intelligent Agent-Based Model for Simulating and Evaluating

River Trip Sceanrios along the colorado River in Grand Canyon National Park. In: (Gimblett, H. R., Hrsg.) Integrating Geographic Information Systems and Agent-Based Modeling Techniques for Simulating Social and Ecological Processes. Oxford University Press, 2002; S. 245-275.

[Gr95] Gruber, T. R.: Toward principles for the design of ontologies used for knowledge sharing. In: International Journal of Human-Computer Studies, Vol. 43, Issues 4-5. Elsevier, 1995; S. 907-928.

[HF06] Herrler, R.; Klügl, F.: Simulation. In: (Kirn, S.; Herzog, O.; Lockemann, P.; Spaniol, O., Hrsg.) Multiagent Engineering – Theory and Applications in Enterprises. Springer, Berlin, 2006; S. 575-596.

[Ja07] Java Agent Development Framework API. http://jade.tilab.com/doc/api. Letzter Aufruf: 30.08.2007.

[Ki06] Kirn, S. et.al., Hrsg.: Multiagent Engineering – Theory and Applications in Enterprises. Springer, Berlin, 2006.

[Kl01] Klügl, F.: Multiagentensimulationen – Konzepte, Werkzeuge, Anwendungen, Addison Wesley, 2001.

[Li02] Lim, K. et. al.: Agent-Based Simulations of Household Decision Making and Land Use Change near Altamira Brazil. In: (Gimblett, H. R., Hrsg.) Integrating Geographic Information Systems and Agent-Based Modeling Techniques for Simulating Social and Ecological Processes. Oxford University Press, 2002; S. 277-310.

[LPZ04] Lombardo, S.; Petri, M.; Zotta, D.: Intelligent Gis and Retail Location Dynamics: A Multi Agent System Integrated with ArcGis. In: Lecture Notes in Computer Science, Computational Science and Ist Applications – ICCSA 2004. Springer, Berlin, 2004; S. 1046-1056.

[Op07] Open GIS Consortium. http://www.opengeospatial.org. Letzter Aufruf: 05.09.2007. [Po89] Pollacia, L. F.: A survey of discrete event simulation and state-of-the-art discrete event

languages. In: ACM SIGSIM Simulation Digest. ACM Press, New York; S. 8-25. [SHK04] Schüle, M.; Herrler, R.; Klügl, F.: Coupling GIS and Multi-Agent Simulation – Towards

Infrastructure for Realistic Simulation. In: (Lindemann, G.; Denzinger, J.; Timm, I.; Unland, J., Hrsg.) Multiagent System Technologies, Proc. Of the 2nd MATES 2004. Springer, Berlin, 2004; S. 228-242.

[Th06] Thonemann, U.: Operations Management. Konzepte, Methoden und Anwendungen. Pearson Studium, München, 2006.

[We02] Westervelt, J.D.: Geographic Information Systems and Agent-Based Modeling. In: (Gimblett, H. R., Hrsg.) Integrating Geographic Information Systems and Agent-Based Modeling Techniques for Simulating Social and Ecological Processes. Oxford University Press, 2002; S. 83-103.

1454