Detours in Scope-Based Route Planning
We study a dynamic scenario of the static route planning problem in road networks. Particularly, we put accent on the most practical dynamic case - increased edge weights (up to infinity). We show how to enhance the scope-based route planning approach presented at ESA'11 to intuitively by-pass closures by detours. Three variants of a detour “admissibility” are presented - from a simple one with straightforward implementation through its enhanced version to a full and very complex variant variant which always returns an optimal detour.
💡 Research Summary
The paper addresses the problem of dynamic changes—specifically road closures or weight increases—in road networks that were originally processed by the static, scope‑based route planning technique introduced at ESA 2011. In the static model each edge is assigned a “scope level” and a route is considered admissible only if, while traversing the route, the cumulative distance traveled on higher‑level edges never exceeds a predefined bound for each level. This yields routes that use low‑level streets near the origin and destination but rely on high‑level (e.g., highway) roads in the long middle sections, matching human intuition while allowing very compact preprocessing and fast queries.
Dynamic scenarios break this model because the precomputed scope information becomes invalid when an edge’s weight is increased (up to infinity for a closed road). Re‑computing the whole preprocessing is prohibitively expensive. The authors therefore propose a dynamic extension that keeps the original graph and scope mapping unchanged, but introduces a set C of “closed” edges (or edges with increased weight). They assume C is relatively small, reflecting the real‑world situation where closures are occasional.
The central technical contribution is the notion of a C‑obstructed vertex and the associated obstruction level. For a given source‑target pair (s, t), a vertex d is C‑obstructed if every optimal S‑admissible s‑to‑t walk that passes through d must use at least one edge from C. The obstruction level ℓ is the smallest scope level at which the cumulative “draw” (the vector of distances already spent on higher‑level edges) reaches the allowed bound νSℓ. This information tells the algorithm where it may temporarily relax the strict scope admissibility and allow lower‑level edges to be used as a detour.
Three increasingly powerful notions of detour admissibility are defined:
-
Simple C‑detour admissibility – The route must avoid all edges in C, but near a C‑obstructed vertex the algorithm may temporarily use edges whose scope level is ≤ the obstruction level ℓ. The route is split at an index j: edges before j must be s‑admissible, edges after j must be t‑admissible (in the reversed graph). This version adds only a few extra checks to the original S‑Dijkstra algorithm.
-
Enhanced detour admissibility – The obstruction level is computed precisely for each C‑obstructed vertex, and the algorithm dynamically updates a “scope‑vector” ω that records how much of the allowed draw has already been consumed. An edge e of level ℓ may be traversed only if the current draw plus ω stays within νSℓ. This yields a more accurate use of low‑level roads while still keeping the algorithm’s structure close to the original.
-
Full optimal detour admissibility – The algorithm explores all possible ways of spending the allowed draw, maintaining multiple states (vertex, ω) in the priority queue. Each state represents a different amount of draw already used, allowing the algorithm to find the globally cheapest route that respects the dynamic closure constraints. The worst‑case time complexity becomes O(|E|·|Im(S)|·|C|·log|V|), which is still practical when |C| is small.
Implementation-wise, the authors augment the classic Dijkstra (or bidirectional A*) with an extra vector per vertex that stores the current draw. Edge relaxation checks the additional condition σS(e)
Comments & Academic Discussion
Loading comments...
Leave a Comment