330 likes | 362 Views
Geoinfo Vertiefung Multimodale Routenplanung. Bahn Fußgänger Bus . Inhalt. Motivation ÖPNV-Netz Problematik der multimodalen Routenplanung Berücksichtigung der Fahrzeiten Algorithmus Kurze Vorstellung von „Hafas“ Berechnung des Gewichts kombinierter Kanten
E N D
Geoinfo VertiefungMultimodale Routenplanung Bahn Fußgänger Bus
Inhalt • Motivation • ÖPNV-Netz • Problematik der multimodalen Routenplanung • Berücksichtigung der Fahrzeiten • Algorithmus • Kurze Vorstellung von „Hafas“ • Berechnung des Gewichts kombinierter Kanten • Fazit
Motivation • Student aus Bonn schnellstmöglichst von A nach B • Bsp.: von Duisdorf zur Bonner Talweg • VRS-Info.de
ÖPNV-Netz • Haltestellen untergliedert in Masten • Mast: tatsächliche Ankunfts-, Abfahrtsort zeigt die Richtung der Route an • Haltestelle: Gruppierung von Masten durch Namensgebung wird in unterschiedlichen Richtungen angefahren • Haltestellennamen zur Erleichterung der Wegbeschreibungen verwendet.
ÖPNV-Netz • Busse und Bahnen verkehren auf festen Routen. • Speicherung des ÖPNV-Netzes routenbasiert • Ein Fahrweg in Kanten-Knoten-Modell abbilden, so dass eine Kante eine ganze Route mit besuchten Masten repräsentiert. • Bei dieser Struktur Routen weitestgehend redundanzfrei abgebildet • Kante, Knoten einmal gespeichert
Nachteil dieser Struktur • Teilrouten also Kanten von Mast zu Mast nur implizit der Zuordnungstabelle zu entnehmen. • Netz für die Routenplanung als Distanzgraph aufgebaut Einlesetool müsste diese Kanten explizit berechnen. • Solche Berechnungen lassen sich umgehen, indem Kanten Verbindungen von Mast zu Mast.
Probleme • Vermischung mehrerer Graphen • Kantengewichte dürfen sich nicht nur auf Strecke sondern auch auf Zeit beziehen • Aufgabe der Routenplanung des Moduls Minimierung der Zeit • Fokus der Optimierung Modellierung der Suche in kombinierten Graphen
Beschreibung der Route vom Anfangsknoten A zum Zielpunkt Z • Zu Fuß zur nächsten ÖPNV-Haltestelle • Optimale Route innerhalb des ÖPNV-Netzes in die Zielregion • Zu Fuß von der Haltestelle zum Zielpunkt • Trennung der Graphen in eigenständige Strukturen
Problemstellung: Fahrzeiten von Bus/Bahn • Nächste Haltestelle ≠ immer optimale Abfahrtsort Wahl der bestmöglichen ÖPNV-Haltestelle bekommt auch noch eine Zeitkomponente, weil nicht immer passender Bus/Zug zur Verfügung wegen passender Fahrpläne steht. • Das zu modellierende Problem zu zeitabhängig
Berücksichtigung der Fahrzeiten • Tag beginnt um 4:00 Uhr • Wochenzyklus: • Mont.-Freitag Samstag Sonntag/Feiertag • Bonn 65000 Datensätze zur Speicherung der Routenstartzeiten
Berücksichtigung der Fahrzeiten • Eine Verbindung wird durch die Klasse ÖPNV gespeichert. • Abfahrtszeit, Linienbezeichnung, Fahrzeit auf der speziellen Kante und Bezeichnung der Endstation = Attribute der aktuellen Linie. • Jedes ÖPNV-Objekt Zeiger auf das jeweilige Kanten-Vaterobjekt, in dem Informationen über Anfangs- und Endknoten vorgehalten werden.
Vorteile dieser Klasse • Zahl der Kanten im Graphen reduziert, • Zeiger auf Anfangs- und Endknoten ≠ redundant erzeugt werden. • Rolle der Routenplanung, schnellstmöglich herauszufinden, wie eine kombinierte Kante in optimaler Zeit bewältigt werden kann. • Deswegen ist eine möglichst effiziente Struktur zur Suche der nächsten ÖPNV- Verbindung vonnöten.
Forderungen an den Algorithmus: • Berechnung der Kantengewichten dynamisch unter Berücksichtigung der Fahrpläne und des gewählten Verkehrsmittel erfolgen. • Geometr. Beziehungen in dem Graphen berücksichtigt werden • Aus der Charakteristik des Graphen, dass unterschiedlich schnell zu überwindende Kanten existieren sollte der Alg. Nutzen ziehen, indem er möglichst zielstrebig auf die Suche nach Bahnverbindungen geht, die in der Regel viel schneller zu überwinden sind .
Welcher Algorithmus? • Alg. von Dantzig und Dijkstra erfüllt nur die ersten Anforderungen • A*-Algor. Christian Siemes • Erweiterung von Routenplanungs- algorithmen
Do Do 80 20 Du 20 Ha Ha 30 20 15 W 15 W D D 30 Du 20 15 80 D 15 K K K K Wiederholung von Diskreter Mathematik
Kürzeste Wege: Idee • Gegeben: Gerichteter Graph, dessen Kanten mit Zahlen (Kosten, z.B. km oder min.) beschriftet sind • Aufgabe: Berechnung des kürzesten Weges x z von einem Startknoten x zu einem Zielknoten z • erste Idee:Berechne alle Wege und wähle den kürzesten • Beobachtung: wenn der kürzeste Weg von x nach z über y führt, sind die Teilwege x y und y z ebenfalls kürzeste Wege • effizienteLösung: berechne alle kürzesten Wege und wähle den von x nach z aus • Algorithmus von Dijkstra: jeder Schritt sitzt („Greedy“-Algorithmus)
Algorithmus von Dijkstra algorithm Dijkstra (S) //berechne alle kürzesten Wege von S aus} BLAU = ; GRÜN = {S}; dist(S) = 0; while( GRÜN ) { wähle K GRÜN, so daß K‘ GRÜN: dist(K) dist(K‘); färbe K blau; for( Ki succ(K) ) { if (Ki (GRÜN BLAU) //noch nicht besuchter Knoten färbe die Kante (K,Ki) rot; färbe Ki grün; dist(Ki) = dist(K) + dist(K,Ki); }
Algorithmus von Dijkstra • Dieser Algorithmus erfüllt nur die ersten Anforderungen der Routenplanung. • Wieso? • Jedes Mal berechnet er die Kantengewichte komplett neu. • D.h. die beschränkte Verfügbarkeit von Busverbindungen kann bei der Kantengewichtsberechnung berücksichtigt werden, in dem ein zusätzliches Modul nach der nächsten Verbindung sucht und an Dijkstra das berechnete Gewicht liefert, da dieser mit anderen Kanten vergleicht.
Lösung • Berücksichtigung der Zielkosten bei jedem einzelnen Wegknoten • Bei Dijkstra: nicht die Summe der Kantengewichte wird bis zu den Neukosten minimiert, sondern dieses Gewicht vermehrt sich um die Kantengewichte um zum Zielknoten zu gelangen. • Der Algorithmus soll den besten Weg fehlerfrei ermitteln, sofern die Zielkosten den tatsächlichen minimal zu erwarteten Aufwand, um von dem Zwischenknoten zum Zielknoten gelangen, nicht überschreiten.
Überführung zum A*-Alg. • Ergebnisse werden suboptimal, wenn zur Beschleunigung des Algorithmus ein Verfahren der Zieldistanz, das dazu führt, dass die tatsächlich in dem Graphen zu findende Route ein geringeres Gesamtgewicht hat als die zuvor berechnete Summe aus Zwischenknoten- und Zielkosten. • Der A*-Alg. zeigt diesbezüglich herausragende Eigenschaften Vortrag von Christian
Thema der Routenplanung • Thema: • Zeit spielt die wesentliche Rolle und nicht die Distanz. • Kanten, die schnell bewältigt werden können • geringeres Zielgewicht • Bevorzugung • Kanten, die schnell „befahren“ werden können kurzen Fußwegen wegen gleichem Zeitgewicht
Erweiterung von Routenplanungsalgorithmen • A*-Algorithmus • HISPA Heuristik( Hierarchical shortest path ) • sucht kürzeste Wege von zwei Endknoten zu Knoten der obersten Hierarchieebene ( benutzerabhängig ) in einem Kreis mit gegebenen Radius.Diese Wege werden als Kanten entspr. Länge zur obersten Hierarchieebene hinzugefügt • auf dieser Ebene wird kürzester Weg bestimmt
12 9 8 5 3 S S 4 2 1 10 7 Ziel Start HISPA Heuristik
Berechnung des Gewichts kombinierter Kanten • Ermittlung des Gewichts einer Kante: Quotient aus Länge und Fahrgeschwindigkeit • Kombinierte Kante, bestehend aus einem Straßen- und ÖPNV-Objekt Berechnung des minimalen Gewichts viel aufwändiger. • Startzeit = Gewicht des aktiven Knotens, von dem die beste Verbindung über die aktuelle Kante ermittelt wird. • Endlosberechnungen vermieden, indem Straßenkante = Summe von Knoten und 1 Tag festgesetzt wird.
Berechnung des Gewichts kombinierter Kanten • Gesucht wird eine ÖPNV-Verbindung, deren Ankunftszeit minimal ist, unter der Bedingung, dass die Abfahrtzeit größer oder gleich der Startzeit, also dem Gewicht des Knotens ist. • Ist das 1. Element gefunden ≠ zwangsläufig die gesuchte Verbindung. • Berücksichtigung des Umsteigens der Linie Zeit in Anspruch • Hinzufügen eines Strafgewichts von 5 min zu der Ankunftszeit
Fazit • Multimodale Routenplanung ist Gegenstand unserer Zeit und wird täglich angewandt. • Sie ist bspw. für Besucher einer fremden Stadt sehr praktisch. • Ein französischer Autor hat mal gesagt: • „Rien ne sert de courir, il faut partir à temps“ d.h. Es nützt nichts, zu laufen; man muß nur zur Zeit von zuhause weggehen. • Da kann die beste Routenplanung nichts machen, wenn man zu spät kommt.