In this paper, we consider Dijkstra\u27s algorithm for the
single source single target shortest path problem in large
sparse graphs.
The goal is to reduce the response time for on-line queries by
using precomputed information.
Due to the size of the graph, preprocessing space requirements
can be only linear in the number of nodes.
We assume that a layout of the graph is given.
In the preprocessing, we determine from this layout a geometric
object for each edge containing all nodes that can be reached by
a shortest path starting with that edge.
Based on these geometric objects, the search space for on-line
computation can be reduced significantly.
Shortest path queries can then be answered by Dijkstra\u27s
algorithm restricted to edges where the corresponding geometric
object contains the target.
We present an extensive experimental study comparing the impact
of different types of objects.
The test data we use are real-world traffic networks, the
typical field of application for this scenario.
Furthermore, we present new algorithms as well as an empirical
study for the dynamic case of this problem, where edge weights
are subject to change and the geometric containers have to be
updated.
We evaluate the quality and the time for different update
strategies that guarantee correct shortest paths.
Finally, we present a software framework in C++ to realize the
implementations of all of our variants of Dijkstra\u27s algorithm.
A basic implementation of the algorithm is refined for each
modification and - even more importantly - these modifications
can be combined in any possible way without loss of efficiency