Hallo Leute,
ich steh im moment noch etwas auf dem Schlauch bezüglich dieses Problems:
Ich bin im moment dabei eine elektronische Fahrplanabfrage zu programmieren. Diese soll nach Start-/Zieleingabe des Users die zeitmäßig schnellste Verbindung ausgeben. (so wie man es halt kennt von DB und co..)
Für die Berechnung kürzester Wege eignet sich ja der Dijkstra-Algorithmus gut (das Netz in dem abgefragt werden soll ist relativ klein..also keine Performance-Probleme).
Ich war bisher auch erfolgreich im Test mit einer PHP-Klasse des Algorithmus.
Den Sprung ins Liniensystem habe ich aber bisher noch nicht geschafft:
Bei Kanten und Knoten ist das ganze ja kein Problem, man kann an jeder ecke beliebig "abbiegen"
bei einer Linie ist das nicht der Fall, es gibt vorgeschriebene Wege. Man müsste also mindestens Umsteigen. Hierbei sind aber meistens Wartezeiten einzuplanen. Die effektive Fahrzeit könnte ich also locker berechnen. Die Gesamt-"Reise"-Zeit aber nicht so leicht, da es auch andere, schnellere Verbindung mit weniger Wartezeit geben könnte.
Nun: Ist es effektiver die Verbindungen nach Fahrzeit zu berechnen und danach an den Umsteigepunkten die Wartezeiten zu ermitteln und ggf (irgendwie) andere Verbindungen zu ermitteln?
Oder hat jemand eine Idee wie von vorneherein parallel fahren kann...?
Bin dankbar über jede Antwort mit irgendwelchen Ideen (hat ja eher mit logischem Denken als Programmieren direkt zutun..)
ich steh im moment noch etwas auf dem Schlauch bezüglich dieses Problems:
Ich bin im moment dabei eine elektronische Fahrplanabfrage zu programmieren. Diese soll nach Start-/Zieleingabe des Users die zeitmäßig schnellste Verbindung ausgeben. (so wie man es halt kennt von DB und co..)
Für die Berechnung kürzester Wege eignet sich ja der Dijkstra-Algorithmus gut (das Netz in dem abgefragt werden soll ist relativ klein..also keine Performance-Probleme).
Ich war bisher auch erfolgreich im Test mit einer PHP-Klasse des Algorithmus.
Den Sprung ins Liniensystem habe ich aber bisher noch nicht geschafft:
Bei Kanten und Knoten ist das ganze ja kein Problem, man kann an jeder ecke beliebig "abbiegen"
bei einer Linie ist das nicht der Fall, es gibt vorgeschriebene Wege. Man müsste also mindestens Umsteigen. Hierbei sind aber meistens Wartezeiten einzuplanen. Die effektive Fahrzeit könnte ich also locker berechnen. Die Gesamt-"Reise"-Zeit aber nicht so leicht, da es auch andere, schnellere Verbindung mit weniger Wartezeit geben könnte.
Nun: Ist es effektiver die Verbindungen nach Fahrzeit zu berechnen und danach an den Umsteigepunkten die Wartezeiten zu ermitteln und ggf (irgendwie) andere Verbindungen zu ermitteln?
Oder hat jemand eine Idee wie von vorneherein parallel fahren kann...?
Bin dankbar über jede Antwort mit irgendwelchen Ideen (hat ja eher mit logischem Denken als Programmieren direkt zutun..)