-
Die Erfindung betrifft ein Verfahren und eine entsprechende Vorrichtung zur Ermittlung einer Route durch ein Netzwerk von Straßen.
-
Der Verkehr auf den Straßen nimmt insbesondere in Städten stetig zu, was dazu führt, dass es für einen Verkehrsteilnehmer immer schwieriger wird, in verlässlicher Weise die Ankunftszeit an einem bestimmten Zielort zu bestimmen. Navigationssysteme sind heute in der Lage anhand von Algorithmen wie dem Dijkstra-Algorithmus oder dem A*-Algorithmus eine kürzeste Route durch ein Straßennetz von einem Startpunkt zu einem Endpunkt zu ermitteln. Dabei ist jedoch nicht gewährleistet, dass der Endpunkt über die ermittelte Route am schnellsten erreicht werden kann.
-
Das vorliegende Dokument befasst sich mit der technischen Aufgabe, ein Verfahren zur Ermittlung einer Route bereitzustellen, welches es einem Nutzer ermöglicht, einen bestimmten Zielpunkt in möglichst kurzer Zeit zu erreichen. Insbesondere befasst sich das vorliegende Dokument mit der technischen Aufgabe, in effizienter Weise eine Route zu ermitteln, durch die die Wahrscheinlichkeit dafür, dass der bestimmte Zielpunkt an einem bestimmten Ziel-Zeitpunkt nicht erreicht wird, reduziert (ggf. minimiert) wird.
-
Die Aufgabe wird durch die unabhängigen Ansprüche gelöst. Vorteilhafte Ausführungsformen werden u. a. in den abhängigen Ansprüchen beschrieben.
-
Gemäß einem Aspekt wird ein Verfahren zur Ermittlung einer Route durch einen Graphen beschrieben. Der Graph umfasst n Knoten, mit n > 2, welche durch K Kanten, mit K > 2, zumindest teilweise miteinander verbunden sind. Die zu ermittelnde Route verläuft dabei von einem Anfangs-Knoten zu einem End-Knoten der n Knoten des Graphen. Der Graph kann ein Straßennetz repräsentieren, die Knoten können Knotenpunkte (z. B. Kreuzungen oder Kreisverkehre) des Straßennetzes repräsentieren und die Kanten können Straßen des Straßennetzes repräsentieren. Das Verfahren kann z. B. dazu verwendet werden, auf Basis von digitalen Kartendaten eine Route für ein Fahrzeug zu ermitteln. Insbesondere kann eine Route ermittelt werden, die die Wahrscheinlichkeit dafür, dass der End-Knoten der Route erst nach einem Ziel-Zeitpunkt bzw. nach einer Ziel-Reisezeit T erreicht wird, reduziert, insbesondere minimiert, wird.
-
Das Verfahren umfasst das Ermitteln von S stochastischen Reisezeit-Datensätzen w →i für die K Kanten, mit i = 1, ..., S und S > 1. Die S stochastischen Reisezeit-Datensätze w →i zeigen für zumindest eine erste Kante der K Kanten eine statistische Verteilung von Reisezeiten entlang der ersten Kante an. Insbesondere können die S stochastischen Reisezeit-Datensätze w →i für die erste Kante unterschiedliche Reisezeiten entlang der ersten Kante anzeigen. Beispielsweise kann ein stochastischer Reisezeit-Datensatz w →i für jeden der K Kanten eine Reisezeit angeben (z. B. eine gemessene Reisezeit). Durch eine Vielzahl bzw. durch einen Satz von stochastischen Reisezeit-Datensätzen w →i können somit statistische Verteilungen der Reisezeiten entlang der einzelnen Kanten bereitgestellt werden. Aus diesen Verteilungen ergeben sich typischerweise auch Wahrscheinlichkeiten für unterschiedliche Reisezeiten entlang der einzelnen Kanten.
-
Das Verfahren umfasst weiter das Ermitteln von S Multiplikatoren λ (k) / i für die S stochastischen Reisezeit-Datensätze w →i. Außerdem umfasst das Verfahren das Ermitteln einer Route x →(k) derart, dass die ermittelte Route x →(k) mittlere Reisekosten von dem Anfangs-Konten zu dem End-Knoten in Anbetracht der mit den Multiplikatoren λ (k) / i gewichteten stochastischen Reisezeit-Datensätzen w →i reduziert, insbesondere minimiert. Die Reisekosten können dabei eine (ggf. gewichtete) kumulierte Reisezeit der Route x →(k) umfassen, welche sich aus der Summe der Reisezeiten der Kanten der Route x →(k) ergibt. Dabei ergeben sich die (statistischen) Reisezeiten der einzelnen Kanten aus den Reisezeit-Datensätzen w →i.
-
Außerdem umfasst das Verfahren das Ermitteln von S Penalitäts-Variablen ξ (k) / i, die jeweils anzeigen, ob die ermittelte Route x →(k) bei Verwendung eines entsprechenden Reisezeit-Datensatzes w →i eine Ziel-Reisezeit T überschreitet. Beispielsweise kann eine Penalitäts-Variable ξ (k) / i einen umso kleineren Wert aufweisen, desto weniger die ermittelte Route x →(k) bei Verwendung eines entsprechenden Reisezeit-Datensatzes w →i die Ziel-Reisezeit T überschreitet. So kann in effizienter Weise ein „Zu-Spät”-Ankommen berücksichtigt werden.
-
Das Verfahren umfasst weiter das Ermitteln von aktualisierten Multiplikatoren λ (k+1) / i auf Basis der Reisezeit-Datensätze w →i, auf Basis der ermittelten Route x →(k) und auf Basis der Penalitäts-Variablen ξ (k) / i. Typischerweise wird ein Multiplikator λ (k) / i mit einem Gradienten aktualisiert, der von dem Reisezeit-Datensatz w →i, von der ermittelten Route x →(k) und von der Penalitäts-Variablen ξ (k) / i abhängt. So können in iterativer Weise verbesserte (ggf. optimale) Werte für die Multiplikatoren λ (k) / i ermittelt werden. Aus diesen Werten ergibt sich dann eine verbesserte (ggf. optimale) Route x →(k). Das Verfahren umfasst daher das erneute Ermitteln einer aktualisierten Route x →(k+1) unter Verwendung der aktualisierten Multiplikatoren λ (k+1) / i.
-
Das in diesem Dokument beschriebene Verfahren ermöglicht es, durch die Aufteilung eines stochastischen Routen-Bestimmungs-Problems in einzelne Teilprobleme, den Rechenaufwand für die Ermittlung einer optimalen Route zu reduzieren. So wird die effiziente Bestimmung einer Route ermöglicht, durch die die Wahrscheinlichkeit eines „Zu-Spät” Ankommens reduziert, ggf. minimiert, wird.
-
Die S stochastischen Reisezeit-Datensätze w →i können von ein oder mehreren Faktoren abhängen. Die ein oder mehreren Faktoren können z. B. eine Uhrzeit, ein Datum und/oder einen Wochentag umfassen, für die die Route ermittelt werden soll. Alternativ oder ergänzend können die ein oder mehreren Faktoren eine klimatische Bedingung (z. B. Regen, Schneefall) umfassen. Alternativ oder ergänzend können die ein oder mehreren Faktoren einen Zustand einer durch eine Kante repräsentierten Straße und/oder eine Baustellensituation in einem durch den Graphen repräsentierten Straßennetz und/oder Informationen betreffend einer Veranstaltung, die einen Einfluss auf Verkehr in dem repräsentierten Straßennetz haben kann und/oder Informationen über Ferien-, Feier- oder sonstiger besonderer Tage umfassen.
-
Mit anderen Worten, es können unterschiedliche Sätze von stochastischen Reisezeit-Datensätzen w →i für unterschiedliche Bedingungen bzw. Faktoren erstellt und bereitgestellt werden. Es kann dann zum Zeitpunkt der Routenberechnung ermittelt werden, welche Bedingungen bzw. Faktoren aktuell vorliegen, und die Route kann dann mit dem Satz von stochastischen Reisezeit-Datensätzen w →i für die aktuell vorliegenden Bedingungen bzw. Faktoren ermittelt werden. So kann die Qualität der ermittelten Route weiter erhöht werden.
-
Das Verfahren kann weiter das Ermitteln von deterministischen Reisekosten c → für die K Kanten umfassen. Die deterministischen Reisekosten können z. B. die durchschnittlichen Reisezeiten und/oder die geometrische Länge der Kanten umfassen. Die Route x →(k) kann dann auch in Anbetracht der deterministischen Reisekosten c → reduziert, ggf. minimiert, werden. So kann eine Route ermittelt werden, welche einen Kompromiss zwischen Optimierung der typischen Reisezeit und Optimierung der Wahrscheinlichkeit des „Zu spät” Ankommens darstellt.
-
Die Route x →
(k) (bzw. die Route x →
(k+1)) kann derart ermittelt werden, dass der Ausdruck
reduziert, insbesondere minimiert, wird. Dieser Ausdruck umfasst die kumulierte Reisezeit
w → T / ix →(k) für die Route x →
(k) bei Vorliegen der Reisezeiten gemäß dem Reisezeit-Datensatz
w → T / i. Diese kumulierte Reisezeit wird mit dem Multiplikator
λ (k) / i gewichtet. Es wird dann die Summe (bzw. der Mittelwert) über die kumulierten Reisezeiten
w → T / ix →(k) für alle Reisezeit-Datensätze
w → T / i ermittelt. Da der Satz von S Reisezeit-Datensätze
w → T / i i = 1, ..., S typischerweise eine Wahrscheinlichkeits-Verteilung für die Reisezeiten der einzelnen Kanten des Graphen anzeigt, kann durch den o. g. Ausdruck eine Route x →
(k) ermittelt werden, die im statistischen Mittel (bei gegebenen Multiplikatoren
λ (k) / i ) die kürzeste kumulierte Reisezeit aufweist.
-
Insbesondere bei der Verwendung des o. g. Ausdrucks kann die Route x →(k) in effizienter Weise anhand von einem Shortest Path Algorithmus (z. B. mit einem Dijkstra Algorithmus oder mit einem A* Algorithmus) ermittelt werden. Die mit den Multiplikatoren λ (k) / i gewichteten stochastischen Reisezeit-Datensätzen w →i können dabei als Kosten, insbesondere als Reisekosten, der K Kanten betrachtet werden. So kann der Rechenaufwand zur Ermittlung einer stochastischen Route weiter reduziert werden.
-
Die Penalitäts-Variablen
ξ (k) / i können derart ermittelt werden, dass der Ausdruck
reduziert, insbesondere minimiert, wird, mit
ξ (k) / i = max{0, (w → T / ix →(k) – T)}. Wie bereits oben dargelegt, kann durch die Penalitäts-Variablen
ξ (k) / i in effizienter Weise ein „Zu spät” Ankommen penalisiert werden.
-
Die aktualisierten Multiplikatoren λ (k+1) / i können in iterativer Weise auf Basis von den Multiplikatoren λ (k) / i und auf Basis von Gradienten ∇i = w → T / ix →(k) – T – ξ (k) / i ermittelt werden. Insbesondere können die Multiplikatoren durch λ (k+1) / i = λ (k) / i + α∇i aktualisiert werden, wobei α eine Schrittweite ist, die mit steigender Zahl k von Iterationen reduziert werden kann.
-
Die o. g. Schritte des Ermittelns von S Penalitäts-Variablen ξ (k) / i, des Ermittelns von aktualisierten Multiplikatoren λ (k+1) / i und des erneuten Ermittelns einer aktualisierten Route x →(k+1) können iterativ bis zu einem Abbruchkriterium wiederholt werden. So kann nach und nach eine Route ermittelt werden, durch die die Wahrscheinlichkeit dafür, dass der Ziel-Knoten nach Ablauf der Ziel-Reisezeit T erreicht wird, reduziert, ggf. minimiert, werden.
-
Gemäß einem weiteren Aspekt wird eine Steuereinheit (z. B. für ein Navigationsgerät) bzw. eine Vorrichtung beschrieben, die eingerichtet sind, das in diesem Dokument beschriebene Verfahren auszuführen. Die Steuereinheit bzw. die Vorrichtung können in einem Fahrzeug, insbesondere in einem Straßenfahrzeug, verbaut sein.
-
Gemäß einem weiteren Aspekt wird ein Fahrzeug (z. B. ein Personenkraftwagen, ein Lastkraftwagen oder ein Motorrad) beschrieben, das eine o. g. Steuereinheit bzw. Vorrichtung umfasst.
-
Gemäß einem weiteren Aspekt wird ein Software (SW) Programm beschrieben. Das SW Programm kann eingerichtet werden, um auf einem Prozessor ausgeführt zu werden, und um dadurch das in diesem Dokument beschriebene Verfahren auszuführen.
-
Gemäß einem weiteren Aspekt wird ein Speichermedium beschrieben. Das Speichermedium kann ein SW Programm umfassen, welches eingerichtet ist, um auf einem Prozessor ausgeführt zu werden, und um dadurch das in diesem Dokument beschriebene Verfahren auszuführen.
-
Es ist zu beachten, dass die in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systeme sowohl alleine, als auch in Kombination mit anderen in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systemen verwendet werden können. Desweiteren können jegliche Aspekte der in diesem Dokument beschriebenen Verfahren, Vorrichtung und Systemen in vielfältiger Weise miteinander kombiniert werden. Insbesondere können die Merkmale der Ansprüche in vielfältiger Weise miteinander kombiniert werden.
-
Im Weiteren wird die Erfindung anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigen
-
1 einen beispielhaften Graphen;
-
2 beispielhafte Verteilungen von Reisezeiten; und
-
3 ein Ablaufdiagramm eines beispielhaften Verfahrens zur Ermittlung einer Route.
-
Wie eingangs dargelegt, befasst sich das vorliegende Dokument mit der technischen Aufgabe, eine Route durch ein Straßennetzwerk zu ermitteln, mit der die Wahrscheinlichkeit dafür, dass ein Zielort zu einem bestimmten Ziel-Zeitpunkt erreicht wird, erhöht (ggf. maximiert) wird. Mit anderen Worten, es soll die Wahrscheinlichkeit dafür, dass der Zielort erst nach dem bestimmten Ziel-Zeitpunkt erreicht wird, reduziert (ggf. minimiert) werden.
-
1 zeigt einen beispielhaften Graphen 100, der z. B. ein Straßen-Netzwerk repräsentiert. Die einzelnen Knoten 102 repräsentieren z. B. Kreuzungen und die Kanten 104 zwischen den einzelnen Knoten 102 repräsentieren z. B. Straßen. Eine Kante 104 kann mit Reisezeit-Daten verknüpft sein, wobei die Reisezeit-Daten für eine Kante 104 eine statistische Verteilung von Reisezeiten entlang der Kante 104 anzeigen können.
-
2 zeigt beispielhafte Verteilungen 203, 204 für unterschiedliche Kanten 104. Eine Verteilung 203, 204 zeigt die Wahrscheinlichkeiten 201 dafür an, dass die jeweilige Kante 104 mit einer bestimmten Reisezeit 202 durchlaufen werden kann. In dem dargestellten Beispiel weist eine erste Kante 104 mit der Verteilung 203 eine höhere mittlere Reisezeit 202 auf als eine zweite Kante 104 mit der Verteilung 204. Andererseits ist die Wahrscheinlichkeit 201 dafür, dass die erste Kante 104 in einer Reisezeit von 80 Zeiteinheiten (z. B. Sekunden) durchlaufen werden kann, signifikant höher als für die zweite Kante 104. Es kann daher in Anbetracht des o. g. Ziels, die Wahrscheinlichkeit für ein „Zu-spät” Ankommen zu reduzieren, sinnvoll sein, die erste Kante 104 (bzw. den ersten Pfad) der zweiten Kante 104 (bzw. dem zweiten Pfad) vorzuziehen.
-
Es ist nun eine Route
105 durch den Graph
100 von einem Start-Knoten
101 zu einem End-Knoten
103 zu ermitteln. Die Route
105 soll dabei die Wahrscheinlichkeit Prob() dafür maximieren, dass der End-Knoten
103 spätestens nach einer Ziel-Reisezeit T erreicht wird. Die Menge der Knoten
102 des Graphs
100 kann als V = {1, 2, ..., n} bezeichnet werden, und die einzelnen Kanten
104 können durch die Menge A
r ⊆ {(v, w): v, w ∈ V, v ≠ w} wiedergegeben werden. Dabei bezeichnet (v, w) eine Kante zwischen den Knoten v und w. Es kann nun weiter ein Vektor w → definiert werden, welcher für jede Kante (v, w) ∈ A
r die Reisezeit
202 spezifiziert. Außerdem kann ein Vektor
definiert werden, der für alle Kanten (v, w) ∈ A
r anzeigt, ob die Kante (v, w) auf der Route
105 liegt (x(v, w) = 1) oder nicht (x(v, w) = 0).
-
Das zu lösende Optimierungsproblem kann dann wie folgt formuliert werden:
mit
wobei v = o den Anfangs-Knoten
101 und v = d den Endknoten identifiziert. Dieses Problem kann umgeschrieben werden als:
wobei
die sogenannte Knoten-Kanten-Inzidenz-Matrix oder kurz Inzidenz-Matrix des Graphen
100 ist, welche für jeden der n Knoten v ∈ V anzeigt, ob eine Kante (v, w) ∈ A
r zu dem Knoten v hinführt (M(v, (v, w)) = –1) oder von dem Knoten v wegführt (M(v, (v, w)) = 1) oder gar nicht in Kontakt mit dem Konten v steht (M(v, (v, w)) = 0). Dabei beziehen sich die Richtungen der Kanten auf die zu ermittelnde Route
105 von einem Anfangs-Knoten
101 zu einem End-Knoten
103 im Graphen
100. Der Vektor b → ∈
kann dazu verwendet werden den Anfangs-Knoten o (b →(o) = 1) und den End-Knoten d (b →(d) = –1) zu spezifizieren. Alle anderen Einträge von b → können null sein (b →(v) = 0).
-
Das o. g. Optimierungsproblem ist typischerweise nicht konvex und kann daher in seiner allgemeinen Form typischerweise nicht in effizienter Weise gelöst werden. Das o. g. Optimierungsproblem kann jedoch in ein Problem umformuliert werden, welches darauf abzielt, die Kardinalität bzw. die Mächtigkeit einer Menge zu reduzieren. Das Optimierungsproblem „Minimiere die Wahrscheinlichkeit dafür, dass der Ziel-Knoten nach Ablauf der Ziel-Reisezeit T erreicht wird” ist äquivalent zu dem Optimierungsproblem „Minimiere die Anzahl von Fahrten, bei denen der Ziel-Knoten nach Ablauf der Ziel-Reisezeit T erreicht wird”.
-
Es kann auf Basis von unterschiedlichen Reisezeit-Datensätzen w →i, mit i = 1, ..., S das Maximum der Differenz aus der kumulierten Reisezeit w → T / ix → einer Route x → und der Ziel-Reisezeit T ermittelt werden, d. h. [w → T / ix → – T]+ = max{0, w → T / ix → – T}. [w → T / ix → – T]+ zeigt an, ob bei Vorliegen der in dem Reisezeit-Datensatz w →i festgelegten Reisezeiten für die einzelnen Kanten durch die ermittelte Route x → der Ziel-Knoten rechtzeitig erreicht wird ([w → T / ix → – T]+ = 0) oder nicht ([w → T / ix → – T]+ > 0). Für eine Vielzahl von unterschiedlichen Reisezeit-Datensätzen w →i, mit i = 1, ..., S kann dann die Kardinalität Card() des folgenden Vektors C(.) ermittelt und minimiert werden: C(x →) = (c1, c2, ..., cS)
= ([w → T / 1x → – T]+, [w → T / 2x → – T]+, ..., [w → T / Sx → – T]+)
-
Das Optimierungsproblem kann dann wie folgt formuliert werden:
-
In Anlehnung an eine l
1-Norm, kann das o. g. Optimierungsproblem umformuliert werden:
wobei ξ
i eine Zwischenvariable ist, welche sich auf den Ausdruck
[w → T / ix → – T]+ bezieht bzw. welche dem Ausdruck
[w → T / ix → – T]+ entspricht. Durch dieses Optimierungsproblem kann die Kardinalität für den Fall, dass der Ziel-Knoten
103 erst nach Ablauf der Ziel-Reisezeit T erreicht wird, approximiert werden.
-
Das o. g. Optimierungsproblem kann auch als PT (Probability Tail) Modell bezeichnet werden, da durch die o. g. Kostenfunktion typischerweise eine Route x → ermittelt wird, bei der Kanten 104 mit Reisezeit-Wahrscheinlichkeits-Verteilungen 204 (siehe 2), welche signifikante Anteile von langen Reisezeiten 202 aufweisen, vermieden werden. Andererseits werden Kanten 104 mit Reisezeit-Wahrscheinlichkeits-Verteilungen 203 (siehe 2), welche keine signifikanten Anteile von langen Reisezeiten 202 aufweisen, begünstigt. In den o. g. Formeln werden die Reisezeit-Wahrscheinlichkeits-Verteilungen 203 durch die Vielzahl von Reisezeit-Datensätzen w →i, mit i = 1, ..., S wiedergegeben.
-
Ein weiteres Optimierungsproblem, welches ebenfalls für die Ermittlung von stochastischen Routen
105 verwendet werden kann, kann als stochastisch kürzester Pfad Problem mit Verzugsstrafe (auf Englisch stochastic shortest path problem with delay excess, SSPD) bezeichnet werden. Dieses Optimierungsproblem umfasst eine erste Komponente, welche auf die Reduzierung von deterministischen Kosten ausgerichtet ist, und eine zweite Komponente, welche auf die Reduzierung von stochastischen Kosten ausgerichtet ist. Ein beispielhaftes SSPD Optimierungsproblem ist gegeben durch:
wobei c → deterministische Kosten für die einzelnen Kanten
104 anzeigt (z. B. die durchschnittliche Reisezeit entlang einer Kante), und wobei d ein Gewichtungsfaktor ist, mit dem die Kosten einer Überschreitung der Ziel-Reisezeit T gewichtet werden kann.
-
Bei der Inzidenz-Matrix M handelt es sich um eine ganzzahlige unimodulare Matrix. Dies ermöglicht es, das o. g. Optimierungsproblem weiter zu vereinfachen:
-
Dieses Optimierungsproblem kann durch Berücksichtigung von partiellen Lagrange-Multiplikatoren umformuliert werden. Dazu werden die S Ungleichungen über S Langrange-Multiplikatoren λ
i in das Minimierungsproblem aufgenommen:
-
Dieses Minimierungsproblem kann wiederum umformuliert werden, wobei ξ → ein S-dimensionaler Vektor mit den Zwischenvariablen ξ
i ist, wobei λ → ein S-dimensionaler Vektor mit den Lagrange-Multiplikatoren λ
i ist, wobei I → ein S-dimensionaler Vektor ist, bei dem alle Komponenten den Wert „1” haben, wobei T → ein S-dimensionaler Vektor ist, bei dem alle Komponenten den Wert T haben, und wobei W eine Reisezeit-Daten-Matrix ist, welche die Dimensionen [S, |A
r|] aufweist und welche in den Zeilen die Reisezeit-Datensätze bzw. Reisezeit-Vektoren w →
i aufweist:
-
Dieses Gesamtproblem kann in zwei Teilprobleme zerlegt werden, die iterativ gelöst werden können. Das erste Teilproblem ist:
bzw. für den Fall des PT Modells und in Summen-Darstellung:
-
Das zweite Teilproblem ist:
bzw. in Summen-Darstellung:
-
Diese beiden Teilprobleme sind über die gemeinsamen partiellen Lagrange-Multiplikatoren λ → miteinander verknüpft. In jeder Iteration zur numerischen Lösung des Optimierungsproblems werden die Lagrange-Multiplikatoren λ → gemäß einem Gradientenverfahren angepasst, mit
λ →(k+1) = λ →(k) + αk·∇g(λ →(k)) wobei k die aktuelle Iteration anzeigt und (k + 1) die folgende Iteration anzeigt, wobei α
k eine Schrittweite ist und wobei ∇g(λ →
k) der Teilgradient der aktuellen Iteration ist. Die Schrittweite α
k kann mit steigender Anzahl von Iterationen k reduziert werden, z. B.
Der Teilgradient ergibt sich aus dem nach λ → abgeleiteten Optimierungsproblem als
∇g(λ →(k)) = (Wx →(k) – T → – ξ →(k)), wobei x →
(k) sich als optimale Lösung der aktuellen Iteration k aus dem ersten Teilproblem ergibt, und wobei sich ξ →
(k) als optimale Lösung der aktuellen Iteration k aus dem zweiten Teilproblem ergibt.
-
Bei den beiden Teilproblemen handelt es sich um lineare Teilprobleme, die jeweils mit einem polynomialen Rechenaufwand gelöst werden können. Insbesondere handelt es sich bei dem ersten Teilproblem um ein Problem, welches mit Linearer Programmierung und insbesondere mit dem Innere-Punkt Verfahren effizient gelöst werden kann. Folglich ist auch der Rechenaufwand für die Lösung des gesamten Optimierungsproblems auf einen polynomialen Rechenaufwand begrenzt. Diese substantielle Reduzierung des Rechenaufwands, im Vergleich zu einem exponentiellen Rechenaufwand bei Verwendung von konventionellen Lösungsverfahren, ermöglicht die zeitnahe Ermittlung von stochastischen Routen 105 (z. B. in einem Navigationssystem eines Fahrzeugs).
-
Eine weitere Reduzierung des Rechenaufwands ergibt sich aus der Erkenntnis, dass aufgrund der Unimodularität der Matrix M ein Lineares Programmierungsverfahren eine Lösung mit ganzen Zahlen für das erste Teilproblem liefert. Insbesondere kann die Lösung x →(k) des ersten Teilproblems als kürzester Pfad mit den Kosten betrachtet werden. Folglich kann das erste Teilproblem in sehr effizienter Weise mit einem Shortest Path Algorithmus, wie z. B. dem Dijkstra-Algorithmus oder den A*-Algorithmus, gelöst werden.
-
3 zeigt ein Ablaufdiagramm eines beispielhaften Verfahrens 300 zur Ermittlung einer Route 105 in einem Graphen 100. Der Graph 100 umfasst n Knoten 102, mit n > 2 (typischerweise n > 10 oder n > 100). Die n Knoten 102 sind durch K Kanten 104, mit K > 2 (typischerweise K > 10 oder K > 100) zumindest teilweise miteinander verbunden. Die zu ermittelnde Route 105 soll von einem Anfangs-Knoten 101 zu einem End-Knoten 103 der n Knoten 102 verlaufen. Der Graph 100 und die Anfangs-Knoten 101 und End-Knoten 103, sowie die Tatsache, dass die Route 105 in dem Graph 100 liegen soll, können durch die o. g. Matrixgleichung Mx → = b → wiedergegeben werden.
-
Das Verfahren 300 umfasst das Ermitteln 301 von S stochastischen Reisezeit-Datensätzen w →i für die K Kanten 104, mit i = 1, ..., S und S > 1 (typischerweise S > 10 oder S > 100 oder S > 1000). Die S stochastischen Reisezeit-Datensätze w →i zeigen für zumindest eine erste Kante der K Kanten 104 eine statistische Verteilung 203, 204 von Reisezeiten 202 entlang der ersten Kante an (K = |Ar|). Typischerweise handelt es sich bei den Reisezeit-Datensätzen w →i um eine Vielzahl von Messungen von Reisezeiten 202 für viele (z. B. für alle) der K Kanten 104. Die unterschiedlichen Reisezeiten 202 für eine Kante 104 (d. h. für eine bestimmte Straße) können durch unterschiedliche Verkehrssituationen verursacht werden. Die S stochastischen Reisezeit-Datensätze w →i können so für jede der (oder für zumindest einige der) K Kanten 104 eine Wahrscheinlichkeits-Verteilung 203, 204 der Reisezeiten 202 entlang der jeweiligen Kante 104 anzeigen. Die S stochastischen Reisezeit-Datensätze w →i können in einer Vielzahl von Messungen erfasst und für die Ermittlung einer Route 105 bereitgestellt werden.
-
Das Verfahren 300 umfasst weiter das Ermitteln 302 von S Multiplikatoren λ (k) / i für die S stochastischen Reisezeit-Datensätze w →i. Die Multiplikatoren λ (k) / i werden in diesem Dokument auch als Lagrange-Multiplikatoren bezeichnet. Die S Multiplikatoren λ (k) / i können bei einer ersten Iteration k = 0 des Verfahrens 300 initialisiert werden (z. B. durch eine zufällige Auswahl). Anschließend können die Multiplikatoren λ (k) / i in folgenden Iterationen k > 0 angepasst werden (z. B. durch einen gewichteten Gradienten).
-
Außerdem umfasst das Verfahren 300 das Ermitteln 303 einer Route x →(k). Die Route x →(k) kann so ermittelt werden, dass mittlere Reisekosten durch den Graphen 100 von dem Anfangs-Konten 101 zu dem End-Knoten 103 in Anbetracht der mit den Multiplikatoren λ (k) / i gewichteten stochastischen Reisezeit-Datensätzen w →i reduziert, insbesondere minimiert, werden. Die mittleren Reisekosten hängen dabei typischerweise von den mit den Multiplikatoren λ (k) / i gewichteten stochastischen Reisezeit-Datensätzen w →i ab. Die mittleren Reisekosten können von der mittleren Reisezeit der ermittelten Route x →(k) abhängen. Insbesondere können die mittleren Reisekosten den Ausdruck Σ S / i=1(λ (k) / iw → T / ix →(k)) umfassen.
-
Das Verfahren 300 umfasst weiter das Ermitteln 304 von S Penalitäts-Variablen ξ (k) / i. Eine Penalitäts-Variable ξ (k) / i zeigt dabei ein, ob die ermittelte Route x →(k) bei Verwendung eines entsprechenden Reisezeit-Datensatzes w →i eine Ziel-Reisezeit T überschreitet oder nicht. Wenn keine Überschreitung der Ziel-Reisezeit T erfolgt, so kann die Penalitäts-Variable ξ (k) / i = 0 sein. Andererseits kann die Penalitäts-Variable ξ (k) / i mit steigender Überschreitung der Ziel-Reisezeit T ansteigen. So kann durch die S Penalitäts-Variablen ξ (k) / i ein häufiges „Zu-Spät”-Ankommen penalisiert werden.
-
Das Verfahren 300 umfasst weiter das Ermitteln 305 von aktualisierten Multiplikatoren λ (k+1) / i auf Basis der Reisezeit-Datensätze w →i, auf Basis der ermittelten Route x →(k) auf Basis der Penalitäts-Variablen ξ (k) / i. Insbesondere können die Multiplikatoren λ (k) / i auf Basis der Reisezeit-Datensätze w →i, auf Basis der ermittelten Route x →(k) auf Basis der Penalitäts-Variablen ξ (k) / i aktualisiert werden.
-
Desweiteren umfasst das Verfahren 300 typischerweise ein erneutes Ermitteln 306 einer aktualisierten Route x →(k+1) unter Verwendung der aktualisierten Multiplikatoren λ (k+1) / i. Die aktualisierte Route x →(k+1) wird dabei auf die gleiche Weise ermittelt wie die Route x →(k), jedoch mit den aktualisierten Multiplikatoren λ (k+1) / i.
-
Diese Verfahren 300 kann iterative fortgeführt werden. Insbesondere können die Schritte 304, 305 und 306 in iterativer Weise bis zu einem Abbruchkriterium durchgeführt werden. Ein Abbruch kann z. B. erfolgen, wenn der Betrag der Änderung der Multiplikatoren λ (k) / i in zwei aufeinander folgenden Iterationen kleiner ist als ein vordefinierter Schwellenwert.
-
Durch die im Verfahren 300 spezifizierte Aufteilung eines stochastischen Routen-Berechnungsproblems in ein erstes Teilproblem zur Ermittlung einer Route x →(k) und in ein zweites Teilproblem zur Ermittlung der Penalitäts-Variablen ξ (k) / i. sowie durch die Verknüpfung der beiden Teilprobleme über die Multiplikatoren λ (k) / i kann das stochastische Routen-Berechnungsproblem in Rechenzeit-effektiver Weise gelöst werden. Dies ermöglicht die Anwendung des Verfahrens 300 auf kommerziellen Hardware-Plattformen, z. B. auf einem Navigationsgerät.
-
Die vorliegende Erfindung ist nicht auf die gezeigten Ausführungsbeispiele beschränkt. Insbesondere ist zu beachten, dass die Beschreibung und die Figuren nur das Prinzip der vorgeschlagenen Verfahren, Vorrichtungen und Systeme veranschaulichen sollen.