  We present FLASH-TB, a journey planning algorithm for public transit networks
that combines Trip-Based Public Transit Routing (TB) with the Arc-Flags speedup
technique. The basic idea is simple: The network is partitioned into a
configurable number of cells. For each cell and each possible transfer between
two vehicles, the algorithm precomputes a flag that indicates whether the
transfer is required to reach the cell. During a query, only flagged transfers
are explored. Our algorithm improves upon previous attempts to apply Arc-Flags
to public transit networks, which saw limited success due to conflicting rules
for pruning the search space. We show that these rules can be reconciled while
still producing correct results. Because the number of cells is configurable,
FLASH-TB offers a tradeoff between query time and memory consumption. It is
significantly more space-efficient than existing techniques with a comparable
preprocessing time, which store generalized shortest-path trees: to match their
query performance, it requires up to two orders of magnitude less memory. The
fastest configuration of FLASH-TB achieves a speedup of more than two orders of
magnitude over TB, offering sub-millisecond query times even on large
countrywide networks.
