Time Dependent Contraction Hierarchies -- Basic Algorithmic Ideas

Reading time: 5 minute
...

📝 Abstract

Contraction hierarchies are a simple hierarchical routing technique that has proved extremely efficient for static road networks. We explain how to generalize them to networks with time-dependent edge weights. This is the first hierarchical speedup technique for time-dependent routing that allows bidirectional query algorithms.

💡 Analysis

Contraction hierarchies are a simple hierarchical routing technique that has proved extremely efficient for static road networks. We explain how to generalize them to networks with time-dependent edge weights. This is the first hierarchical speedup technique for time-dependent routing that allows bidirectional query algorithms.

📄 Content

arXiv:0804.3947v1 [cs.DS] 24 Apr 2008 Time Dependent Contraction Hierarchies — Basic Algorithmic Ideas∗ Veit Batz, Robert Geisberger and Peter Sanders Universit¨at Karlsruhe (TH), 76128 Karlsruhe, Germany {batz,robert.geisberger,sanders}@ira.uka.de October 22, 2018 Abstract Contraction hierarchies are a simple hierarchical routing technique that has proved extremely efficient for static road networks. We explain how to generalize them to networks with time-dependent edge weights. This is the first hierarchical speedup technique for time-dependent routing that allows bidirectional query algorithms. 1 Introduction This technical note explains how contraction hierarchies (CHs) can be generalized to allow time-dependent edge weights. We assume familiarity with CHs [1, 2]. Like many of the most successful speedup techniques for routing in road networks, the CH query-algorithm uses bidirectional search. This is a challenge since bidirectional searching in a time-dependent network requires knowing the arrival time1 which is what we want to compute in the first place. Due to the difficulty of bidirectional routing, the first promising approaches to fast rout- ing used goal directed rather than hierarchical routing and accepted suboptimal routes [3]. SHARC routing [4] was specifically developed to encode hierarchical information into a goal-directed framework allowing unidirectional search and recently was generalized to ex- act time-dependent routing [5]. Schultes [6] gives a way to make queries in static networks unidirectional but this approach does not directly yield a time-dependent approach. 2 Preliminaries There are classical results on time-dependent route planning [7] that show that a simple generalization of Dijkstra’s unidirectional algorithm works for time-dependent networks G = ∗Partially supported by DFG grant SA 933/4-1 and a Google Research Award 1Wlog we assume that a query specifies source, destination and departure time. 1 (V, E) if the objective function is travel time and a cost function f : R →R has the FIFO- property: ∀τ < τ ′ : τ + f(τ) ≤τ ′ + f(τ ′), i.e., there is no overtaking. We focus on this case and further assume that the travel time functions are representable by a piece-wise linear function. However, all our algorithms view travel-time functions (TTFs) as an abstract data type with a small number of operations, basically evaluation, chaining (operation ∗computes a time-dependent function for a sequence of edges) and minimum computations. Also note, that the format used in public transportation with lists of departure times and arrival times can also be represented in this way. The basic primitives can be implemented in such a way that evaluation at a point in time takes logarithmic time2 and the other operations take time linear in the number of line segments representing the inputs. It seems that any exact time-dependent preprocessing technique needs a basic ingredi- ent that computes travel times not only for a point in time a travel time profile but for an entire time-interval. An easy way to implement this profile queury a generalization of Dijkstra’s algorithm to profiles [8]. Tentative distances then become TTFs. Adding edge weights is replaced by chaining TTFs and taking the minimum takes the minimum of TTFs. Unfortunately, the algorithm looses its label-setting property. However, the performance as a label-correcting algorithm seems to be good in important practical cases. 3 Construction The most expensive preprocessing phase of static CHs orders the nodes by importance. For a first version we propose to adopt the static algorithm for the time-dependent CHs (TCHs). This is based on the assumption that averaged over the planning period, the importance of a node is not heavily affected by its exact traffic pattern. The second stage of CH-preprocessing – contraction – is in principle easy to adapt to time-dependence: we contract the nodes of the graph in the order computed previously. When contracting node v ∈V ′, we are given a current (time-dependent) overlay graph G′ = (V ′, E′). For every combination of incoming edge (u, v) ∈E′ and outgoing edge (v, w) ∈E′ we have to decide whether the path ⟨u, v, w⟩may be a shortest path at any point in time. If so, we have to insert the shortcut (u, w) into the next overlay graph G′′ = (V ′ \ {v} , E′′). The weight function of this shortcut can be computed by chaining the weight functions of its constituents. Later, we only need to consider shortcuts during time intervals when they may represent a shortest path.3 The required information can be computed by running profile-Dijkstra from each node u with (u, v) ∈E′. The shortcut is needed for w if c((u, v)∗(v, w)) < d(u, w) at any point in time. 2Actually our implementation uses a bucketing heuristics that takes constant time on average. 3Although this can be viewed as a violation of the FIFO-property, we do not get a problem when appliying time-dependent Dijkstra – it never makes sense to wait for a shor

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut