Table of Contents
Fetching ...

Customizable Contraction Hierarchies -- A Survey

Thomas Bläsius, Valentin Buchhold, Dorothea Wagner, Tim Zeitz, Michael Zündorf

TL;DR

This work surveys Customizable Contraction Hierarchies (CCH) and the three-phase workflow—metric-independent preprocessing, customization, and queries—demonstrating how CCH can achieve feature-rich, fast routing comparable to both CH and CRP. It introduces a simpler, faster metric-independent preprocessing via nested dissection and improved rank ordering, plus a batched triangle relaxation approach for customization that enables parallelization. The paper also extends CCH to extended scenarios with Lazy RPHAST for incremental one-to-many queries, CCH-Potentials for A*-style speedups, and optimized point-of-interest queries and turn-cost handling. An extensive evaluation on continental-scale networks shows that CCH remains competitive in queries while achieving substantial improvements in customization time, highlighting its practical viability for real-world routing with multiple metrics and dynamic updates.

Abstract

This work establishes the technical fundamentals of a well-tuned Customizable Contraction Hierarchies (CCH) implementation that is simple and elegant. We give a detailed overview of the state of the art of CCH, review recent advances on CCH and show how to combine them. Additionally, we propose further refinements that improve the performance of CCH. An extensive evaluation confirms that a CCH framework is not only comprehensive in supported features but also competitive in performance to both Contraction Hierarchies (CH) and Customizable Route Planning (CRP).

Customizable Contraction Hierarchies -- A Survey

TL;DR

This work surveys Customizable Contraction Hierarchies (CCH) and the three-phase workflow—metric-independent preprocessing, customization, and queries—demonstrating how CCH can achieve feature-rich, fast routing comparable to both CH and CRP. It introduces a simpler, faster metric-independent preprocessing via nested dissection and improved rank ordering, plus a batched triangle relaxation approach for customization that enables parallelization. The paper also extends CCH to extended scenarios with Lazy RPHAST for incremental one-to-many queries, CCH-Potentials for A*-style speedups, and optimized point-of-interest queries and turn-cost handling. An extensive evaluation on continental-scale networks shows that CCH remains competitive in queries while achieving substantial improvements in customization time, highlighting its practical viability for real-world routing with multiple metrics and dynamic updates.

Abstract

This work establishes the technical fundamentals of a well-tuned Customizable Contraction Hierarchies (CCH) implementation that is simple and elegant. We give a detailed overview of the state of the art of CCH, review recent advances on CCH and show how to combine them. Additionally, we propose further refinements that improve the performance of CCH. An extensive evaluation confirms that a CCH framework is not only comprehensive in supported features but also competitive in performance to both Contraction Hierarchies (CH) and Customizable Route Planning (CRP).

Paper Structure

This paper contains 43 sections, 1 theorem, 6 figures, 4 tables, 6 algorithms.

Key Result

Lemma 2

Let $T$ be the elimination tree obtained from a nested dissection order and let $v$ be the highest-ranked vertex with more than one child in $T$. Then the set $S$ of vertices on the path from $v$ to the root is a separator in $G$ .

Figures (6)

  • Figure 1: Visualization of the metric-independent preprocessing. Left: A graph $G$ with seven vertices and an ranks implied by the $y$-coordinate of the vertices after $u\xspace_1$ and $u\xspace_2$ were processed. Right: The same graph after $v$ was also processed. Note that only the neighbors of $v$ that were not yet processed get completed into a clique.
  • Figure 2: Left: A triangle $(u\xspace, v\xspace, w\xspace)$ in $G^+$. We say that this is a lower triangle of the edge $\{v\xspace, w\xspace\}$ since $u$ has lower rank than both $v$ and $w$. In the same sense we say that it is an intermediate triangle of $\{u\xspace, w\xspace\}$ and an upper triangle of $\{v\xspace, u\xspace\}$. Right: visualization of the two inequalities Property \ref{['item:augmented-len-lower-bound']} gives us for a single triangle, i.e., $\ell^+\xspace(v\xspace, w\xspace) \le \ell^+\xspace(v\xspace, u\xspace) + \ell^+\xspace(u\xspace, w\xspace)$ and $\ell^+\xspace(w\xspace, v\xspace) \le \ell^+\xspace(w\xspace, u\xspace) + \ell^+\xspace(u\xspace, v\xspace)$.
  • Figure 3: Left: The directed input graph $G$. Note that no additional edge would be created by the directed contraction of $u$ since it has no incoming edges. Right: The outcome of the undirected contraction. We can see that an addition edge is created and that this edge is needed to form the elimination tree.
  • Figure 4: Visualization of different rank orders derived from the same separator decomposition. Left: A graph with a top level separator colored in green that splits the graph into a red and blue cell. The separators of the two cells are also colored in dark red and dark blue respectively. Right: A BFS order and DFS post-order visualized. In the BFS order the top-level separator vertices appear last in the order. And all vertices of the same layer form a continuous range in the order. In the DFS post-order, again, the top-level separator vertices appear last in the order. However, in this order sub-trees form continuous ranges. Therefore, the separator vertices of the blue cell and the entire blue cell appear after all vertices of the red cell.
  • Figure 5: Average running times of Lazy RPHAST on CH and CCH while incrementally querying $|T| = 2^{14}$ targets from a ball of varying size $|\mathcal{B}\xspace|$ on Europe, excluding selection times. The upper figure contains the total elapsed running time. The lower figure contains the averaged running time per source, i.e., $y/x$ from the upper figure. Note the different y-axis scales and units.
  • ...and 1 more figures

Theorems & Definitions (1)

  • Lemma 2