PSE Verkehrssimulation Einführung in die Thematik Michael Moltenbrey, Dirk Pflüger 16. Oktober 2007-1-
Gliederung Motivation Ablauf des Praktikums Aufgabenstellungen Scheinkriterien Gruppeneinteilung Einführung in die Thematik -2-
Motivation Verkehr von immer größerer Bedeutung im täglichen Leben Simulation als geeignetes Planungsmittel und zur Erlangung eines tieferen Systemverständnisses Ziele des PSE sind u.a.: Verstehen der zugrundeliegenden Modelle Erstellung einer größeren Software Spezifizieren, Entwerfen, Implementieren Teamarbeitstechniken -3-
Aufgabenstellung Entwicklung eines mikroskopischen Verkehrssimulators Simulation realistischer Szenarien Erkennen und Lösen von Effizienzproblemen Objekt-orientierter Ansatz Einsatz verschiedener Technologien Java XML... -4-
Scheinkriterien Teilnahme an allen Terminen und Bearbeitung aller Blätter Präsentation der Teilergebnisse Aktive Mitarbeit bei den Terminen Korrekte Bearbeitung der Aufgaben -5-
Gruppeneinteilung Bearbeitung der Aufgaben erfolgt in Teams Zwei Personen pro Team Teams bleiben während des gesamten Praktikums bestehen Abgaben erfolgen stets gruppenweise via email Einzelabgaben u. verspätete Abgaben werden nicht angenommen und dementsprechend nicht gewertet Ziele: Erlernen einfacher Teamarbeitstechniken Größeres Projekt in kürzerer Zeit -6-
Gruppeneinteilung (2) Einteilung erfolgt jetzt! -7-
Die Aufgaben Blatt 1 Einspurige Straße mit periodischen Randbedingungen Grundmodell von Nagel-Schreckenberg Textuelle Ausgabe der Ergebnisse Testfallentwicklung Blatt 2 Basisfunktionalität der Simulatorlogik Ringstraße mit einspurigem Verkehr Einfache Visualisierung -8-
Die Aufgaben (2) Blatt 3 Aufbau eines XML-Parsers für Netzdateien Erweiterung der Visualisierung und Simulatorlogik Blatt 4 Modellierung und Implementierung von Kreuzungen 4-Phasen-Modell Ampeln Rechts-vor-Links Fertigstellen der Visualisierung -9-
Die Aufgaben (3) Blatt 5 Blatt 6 Nachfragedaten aus XML-Datei einlesen und Fahrzeuge generieren und positionieren Activity Manager entwerfen und implementieren Ausführung einer größeren Simulation Simulation eines großen Netzes! Leistungsmessungen Evaluierungen -10-
Einführung in die Verkehrssimulation mit zelluläre Automaten -11-
Zelluläre Automaten Modellierung räumlich diskreter dynamischer Systeme Ein zellulärer Automat ist definiert durch Zellraum R Endliche Nachbarschaft N Zustandsmenge Q lokale Übergangsfunktion Zellraum i.d.r. 1-dimensional oder 2-dimensional :Q N Q -12-
Zelluläre Automaten (2) Jeder Zelle des Automaten wird Zustand der gegebenen Zustandsmenge Q zugeordnet Zustandsübergang einer Zelle wird über lokale Zustandsübergangsfunktion definiert Einfaches, aber mächtiges Konzept um komplexe Vorgänge zu modellieren Anwendung bspw. in der Verkehrssimulation vgl. Nagel-Schreckenberg-Modell -13-
Das Nagel-Schreckenberg-Modell Einsatz zellulärer Automaten in der Verkehrssimulation Im einfachsten Fall wird Straße als ein 1-dim zellulärer Automat aufgefasst Wir betrachten erst einmal den einfachen Fall einspurige Straße periodische Randbedingungen -14-
Nagel-Schreckenberg-Modell (2) Gegeben sei ein Straße der Länge L Eine Zelle des Automaten hat die Länge l c Anzahl der Zellen des Automaten für diese Straße n = L / l c l c L -15-
Phasen Die Simulation läuft in vier Phasen ab, die für jedes Fahrzeug parallel durchgeführt werden Beschleunigung: falls Geschwindigkeit v eines Fahrzeugs kleiner ist als v_max und die Entfernung zum nächsten Fahrzeug vor ihm größer als v+1 ist, dann erhöhe die Geschwindigkeit auf v+1-16-
Abbremsen: Phasen (2) falls Fahrzeug in Zelle i das nächste Fahrzeug in Zelle i+j sieht, wobei j <= v, dann ist die neue Geschwindigkeit j-1 Randomisierung (Trödelfaktor): mit einer Wahrscheinlichkeit p wird die Geschwindigkeit eines Fahrzeugs um 1 reduziert (falls v > 0) Bewegung: Jedes Fahrzeug wird um v Zellen vorwärts bewegt -17-
Beispiele Was passiert in den folgenden Fällen? v max =3 v = 3 v = 2 v max =3 v = 1 v = 3-18-
Verkehrsnetze Verkehrsnetze beschreiben Struktur und Zusammenspiel der Verkehrswege ergeben in unserem Fall ein Straßennetz Aus verschiedenen Komponenten zusammengesetzt Knoten (bzw. Nodes) Strecken (bzw. Links) Abbiegebeziehungen (bzw. Turns) -19-
Verkehrsnetze (2) -20-
Implementierungshinweise Verwendung effizienter Datenstrukturen ist notwendig Zugriff auf einzelne Netzelemente soll so schnell wie möglich sein je nach Realisierung sehr viele Zugriffe auf die einzelnen Elemente während eines Simulationsschritt notwendig Speicherplatzbedarf soll minimiert werden Ziel: Simulation auf normalen Arbeitsplatzrechner mit normaler Ausstattung lauffähig -21-
Implementierungshinweise (2) Tipps für Datenstrukturen Knoten, Strecken und Fahrzeuge als Klasse auf Erweiterbarkeit achten! Wie bildet man Fahrzeuge auf Zellen ab? Welche Informationen sind für diese Abbildung notwendig? -22-
Noch Fragen?? -23-