Anwendung: Simulation des Straßenverkehrs
- Modellierung von Verkehrflüssen:
- große Breite an interessierenden Systemen
- eine Ampelkreuzung
- Haupt-Verkehrwege in einer Stadt
- Autobahnnetz in Europa
- vielfältige Problemstellungen
- Ampel oder Kreisel?
- geschickte Wahl von Ampelschaltungen
- Verkehrsleitsysteme
- Planung neuer Autobahn
- sehr verschiedene Modellierungsverfahren
- kontinuierlich (Flüsse = Fahrzeuge pro Stunde
o.ä.)
- diskret (bis zu Einzelfahrzeugen)
- hybrid
- Ansatz hier (nach [6],[7])
- diskrete Modellierung mit Petrinetzen
- ein Token = 1 Fahrzeug
- Submodelle als komplexe Transitionen oder
komplexe Stellen
- Beispiel Durchgangsstraße mit Abzweigung:
- Straßenplan
- aus allen drei Richtungen können Fahrzeuge kommen
- Fahrzeuge fahren geradeaus oder biegen ab
- Grundmodell
- Modell enthält Platz für je ein ankommendes und
auslaufendes Fahrzeug pro Spur
- Bereiche A, B, C, D, enthalten jeweils höchstens
ein Fahrzeug
- Aufbau des Modells
- Eingangstransition und -stelle für jede
einfahrende Fahrbahn (tWi/pWi, tEi/pEi, tNi/pNi)
- Ausgangstransition und -stelle für jede
ausfahrende Fahrbahn (tWo/pWo, tEo/pEo, tNo/pNo)
- Stellen pA, pB, pC, pD für die Plätze auf der
Kreuzung
- Transitionen tWi1, tEi1, tNi1 zur Einfahrt auf
die Kreuzung
- Transitionen tWo1, tEo1, tNo1 zur Ausfahrt aus
der Kreuzung
- Transitionen tIab, tIbc, tIcd, tIda für
Bewegungen auf der Kreuzung
- Tests des Grundverhaltens:
- einfache Stellen als Quellen/Senken für
einfahrende/ausfahrende Fahrzeuge
- einzelnes Fahrzeug kommt von W und will links
abbiegen
-
- klappt, ist aber Zufall (globalSeed
= 0)!
- Auswahl der Transitionen ist stochastisch →
Fahrzeug könnte auch geradeaus fahren oder sogar auf ABCD im
Kreis fahren
- Setze Settings.globalSeed
= 2 → Fahrzeug wendet
- ein Fahrzeug kommt von E, eins von N
- globalSeed = 0: beide
Wagen biegen rechts ab
- globalSeed = 1: Wagen
von E biegt rechts ab, Wagen von N biegt links ab
- Achtung: Wagen von E biegt immer rechts
ab, da Geradeausfahrt blockiert ist
- globalSeed = 4: Wagen
von N wendet
- globalSeed = 15: Wagen
von N fährt einmal im Kreis und biegt dann links ab
- viele weitergehende Fragestellungen, etwa
- Untersuchung größerer Anzahlen (Ströme =
Fahrzeuge/Zeit),
- wie "rechts vor links" implementieren
- wie bekommt man Wegvorgaben der Fahrzeuge
- Fahrzeugquellen und -senken:
- Submodelle, die Fahrzeuge erzeugen bzw. vernichten
- nötig für vollständiges Modell
- einfache Quelle
- hat Reservoir von N Fahrzeugen
- alle t Sekunden kommt ein Fahrzeug heraus
- alternativ stochastisch (z.B. exponentiell
verteilt)
- einfache Senke
- alle ankommenden Fahrzeugen landen sofort in
riesigem Reservoir
- Abzweigung mit Ampelsteuerung:
- Ampelschaltung hat drei Phasen
- Phase 1: W und E grün, N rot (freie Fahrt
Hauptstraße)
- Phase 2: W grün, N und E rot (ermöglicht
Linksabbiegen von W)
- Phase 3: N grün, W und E rot (freie Fahrt
Abzweigung)
- Implementierung der Ampel
- drei Stellen pA1/pA2/pA3 für die drei Phasen
- zyklisch Transitionen dazwischen
- Transitionen definieren Länge der Phasen
- → schaltet mit vorgegebenen Zeiten zyklisch
zwischen den Transitionen
- Implementierung der Steuerung
- Transition tEi1 schaltet nur in Phase 1
- braucht also Token in pA1
- jedes durchlaufende Fahrzeug muss das Token an
pA1 zurückgeben
- damit das klappt, muss maxToken
von pA1 > 1 sein
- Problem bei Einfahrt von W
- grün in Phasen 1 und 2
- zwei Ampel-Eingänge an tWi1 → UND-Verknüpfung
- ODER-Verknüpfung durch zwei parallele
Transitionen
- Gesamtmodell Abzweigung2A
- unübersichtlich, Farbgebung hilft
- Ergebnis
- Gesamtergebnis sieht qualitativ gut aus
- Bewegung der Einzelfahrzeug wie üblich (incl.
Kreisfahrten)
- durch zusätzliche Steuerung während der
Ampelphasen kontrollierbar (vgl. Aufgabe
10)
- z.B.: Transition tIbc in Phase 3 sperren → Wagen
von Norden können nur direkt nach W oder E fahren
- Modellierung einer Straße:
- Submodell für komplexe Stelle
- viele Einzelschritte nötig bei Modellierung der
räumlichen Fahrzeugverteilung
- hier vereinfacht
- ein Platz mit großer Kapazität nS
(komplette Straße)
- Durchlaufen der Straße braucht Übergangszeit tS
- tS folgt aus Länge der Straße
und mittlerer Geschwindigkeit
- einfache Transition mit tS ungeeignet,
erzeugt Abstand tS zwischen je zwei Wagen!
- besseres Modell (vgl. [8])
- erstes Token in p1 startet Transition der Zeit tS
in t2
- weitere bis zu nS Token in p1
gesammelt
- nach Zeit tS schaltet t2 → t1 wird
frei und schaltet ein Token pro Zeitschritt
- t3 hat Inhibitor-Kante
→ schaltet nur, wenn p1 leer ist
- also: p1 leer → t3 schaltet → p4 ist wieder
besetzt → Wartezeit beginnt erneut
- Testmodell mit zwei Kolonnen:
- Aufbau
- Komponente road mit nS
= 6, tS = 20
- 1. Kolonne aus pIn1 wandert durch die Straße
- tIn2 hat delay = 40, arcWeight = 8 (in und out)
- → bei t = 40 wandern alle 8 Tokens von pIn2 nach
pIn (2. Kolonne)
- Ergebnis
- nur realistisch bei getrennten Kolonnen
- Überlapp bei delay = 30
in tIn2
- 2. Kolonne sollte frühestens nach 50 s aus der
Straße kommen
- Untersuchung von Verkehrsflüssen:
- Beispiel Hauptstraße mit zwei Seitenstraßen
- Gesamtmodell Strassennetz
- Parameter
- Eingangsflüsse [Fahrzeuge/min] QW =
10, QE = 8, QNW = 6, QNE = 3
- unterschiedliche Ausgangs-Wahrscheinlichkeiten in
den Kreuzungen (vgl. Aufgabe 9)
- Ampelzeiten jeweils 150s/30s/60s für die drei
Phasen
- Straßen: jeweils Kapazität von 30 und Delay von 2
min
- Ergebnisse
- Gesamtströme
- Straßen knapp an der Kapazitätsgrenze (vor allem
Richtung E)
- Übersicht der Fahrzeugströme
-
Richtung |
Vorgabe
in |
Anzahl
in |
Fahrzeuge/min
in |
Anzahl
out |
Fahrzeuge/min
out |
W |
10 |
862 |
10.34 |
786 |
9.43 |
E |
8 |
644 |
7.73 |
736 |
8.83 |
NW |
6 |
489 |
5.87 |
353 |
4.24 |
NE |
3 |
251 |
3.01 |
325 |
3.90 |
- Problemstelle: Schlangen vor den Ampeln
- Schlange aus Richtung NW besonders lang, wird
nicht immer abgebaut
- Lösungsidee: Ampelphase 3 (links) von 60 s auf 80 s
verlängern
- Ergebnisse
- Schlange aus NW im Schnitt kürzer, wird immer
abgebaut
- Schlangen aus W länger
- Schlange aus W an rechter Ampel deutlich länger
- zur genaueren Analyse mehr Kennzahlen nötig, z. B.
- mittlere Längen der einzelnen Schlangen
- mittlere Wartezeiten der Fahrzeuge
- Aufgaben: