<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Reachability Queries in Public Transport Networks</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Bezaye Tesfaye</string-name>
          <email>bezaye.belayneh@stud.sbg.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nikolaus Augsten</string-name>
          <email>nikolaus.augsten@sbg.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Salzburg, Department of Computer Science</institution>
          ,
          <addr-line>Jakob-Haringer-Str. 2, 5020 Salzburg</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <fpage>109</fpage>
      <lpage>114</lpage>
      <abstract>
        <p>Given a query point in a spatial network, the reachability query retrieves all points of interest that are reachable from the query point in a specific amount of time respecting network constraints. Reachability queries have a number of interesting applications, and for road networks efficient solutions have been proposed. Road networks are time-independent, i.e., the cost for traversing an edge is constant over time. Efficient algorithms for road networks heavily rely on precomputing shortest paths. In public transport networks, however, the edge costs depend on schedules, which renders most solutions for road networks inefficient. In particular, shortest paths between node pairs cannot be easily precomputed because they change over time. The goal of this work is to develop efficient solutions for reachability queries in public transport networks. The core idea is to partition the network into cells and compute time upper and lower bounds to traverse a cell. At query time, the reachable region is expanded cell by cell (instead of expanding edge by edge). All points of interest that are reachable using upper bound expansion are part of the result; all points that are not reachable in a lower bound expansion can safely be discarded; all other nodes are candidates and must be verified. This paper presents the expansion algorithm and and discusses interesting research directions regarding good network partitions, effective bounds, and efficient candidate verification.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>Analyzing the reachability of geographic locations has
many interesting application, for example, allocating hospitals
and schools in urban planning, positioning franchise stores
in geomarketing, or exploring the surroundings in mobile
applications. In spatial networks, the reachability of a location
does not only depend on the Euclidean distance, but also the
restrictions and the structure of the network must be taken
into account. For example, cars can only move on roads and
must obey traffic rules, buses have schedules and can only be
boarded at bus stops. Networks that allow different
transport modes (e.g., pedestrian, car, and public transport) are
called multi-modal networks.</p>
      <p>
        Queries over spatial networks are essential for spatial and
spatio-temporal databases [
        <xref ref-type="bibr" rid="ref14 ref18 ref27 ref29">14, 18, 27, 29</xref>
        ]. The
integration of spatial networks into databases enables queries that
respect network constraints and provides support for new
fields of application. Many commerical and open source
systems provide extensions for spatial networks, for example,
Oracle Spatial, PostGIS for PostgreSQL, and ESRI ArcGIS
Network Analyst. At the technical level, spatial networks
pose a challenge regarding data modeling, indexing, and query
processing. Examples of spatial network queries are
shortest path queries, spatial joins, range queries, and nearest
neighbor queries [
        <xref ref-type="bibr" rid="ref19 ref21 ref23 ref24">19, 21, 23, 24</xref>
        ].
      </p>
      <p>A reachability query retrieves all points of interest (POI)
in the network that reach (resp. are reachable from) a given
query point within a given time frame (the cost budget ) at
a specific point in time. For example, in the query “return
all students that can reach their school at 8am within 10
minutes either on foot or via public transport”, the student
homes are the POIs, the query point is the school, the cost
budget is 10 minutes, and the time point is 8am.</p>
      <p>There are two basic approaches to solve reachability
queries: (a) compute the subset of the network that reaches the
query point and intersect with the POI set, (b) compute the
shortest path between each POI and the query point, and
retain those POIs that are close enough. The first approach
is beneficial for network areas with many result points;
unfortunately, the algorithm must also expand network areas
that do not contain any result. The efficiency of the second
approach depends on the overall number of POIs and may
require a large number of shortest path computations even
for small result sizes.</p>
      <p>
        For road networks, a number of solutions have been
proposed, for example, Range Network Expansion (RNE), Range
Euclidean Restriction (RER) [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], and Incremental Network
Restriction [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Unfortunately, these approaches are not
applicable to public transport networks: they rely on the
Euclidean distance as a lower bound, which is not useful in the
presence of schedules.
      </p>
      <p>
        The problem of reachability queries is closely related to
the computation of shortest path queries. The fastest
algorithms for the shortest path problem heavily rely on
precomputation. If the shortest path between all pairs of nodes is
precomputed, the shortest path computation is reduced to a
single lookup; this approach, however, is not feasible for large
networks. Algorithms like Contraction Hierarchy (CH) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ],
Customized Route Planning (CRP) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], and Transit Node
Routing (TNR) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] store the distances between a selected
set of nodes which allow very fast query times with feasible
index sizes in continent size networks. Unfortunately, these
approaches assume road networks, which have constant cost
for traversing an edge. Thus, there is a single shortest path
between each pair of nodes. In public transport networks,
the shortest path between two nodes depends on the query
time. The edge cost is given by a schedule and varies over
time. The cost fluctuation may be substantial: between a few
minutes (during the day) and several hours (over night).
      </p>
      <p>
        As stated by Bast et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], “journey planning on
public transportation systems, although conceptually similar
[to journey planning in road networks], is a significantly
harder problem due to its inherent time-dependent and
multicriteria nature”. We identify two main problems: (1) The
time dependent edge costs causes distances and shortest paths
to change depending on the query time. (2) The number of
incident edges of a single vertex in the network (e.g., train
station) is much larger than the one in road network, where
street junctions have few incident edges [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The time
dependence of edge costs and the larger neighborhood of vertices
render most approaches that rely on preprocessing infeasible
for public transportation networks.
      </p>
      <p>The goal of this work is to find an efficient solution for
reachability queries in public transport networks using
precomputation. Time and space for the precomputation should
scale to continent size networks; the resulting index should
support incremental updates in response to local network
changes (e.g., new bus lines or changing schedules).</p>
      <p>Our solution is based on graph partitioning. We split the
transportation network into cells and precompute upper and
lower bounds to traverse each cell. The precomputed bounds
are used to efficiently expand the reachable region cell by cell
(instead of edge by edge). Points of interest that are within
a region found by an upper bound expansion are reachable,
while points that are outside the lower bound region are not
reachable. All points of interest that are within the lower
bound but outside the upper bound region are candidates
and must be verified.</p>
    </sec>
    <sec id="sec-2">
      <title>RELATED WORK</title>
      <p>
        In spatial networks, reachability queries are closely related
to the shortest path (SP) problem, which has received much
attention from the research community in recent years. Most
of the current SP algorithms are based on Dijkstra’s
algorithm [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] or the A* algorithm [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. These algorithms do
not require any precomputation. Dijkstra’s algorithm
follows an expansion technique that visits edges in all possible
direction until the target is reached, which makes the
algorithm too slow for large networks. A* uses a heuristic (e.g.,
Euclidean distance) on top of Dijkstra’s approach to direct
the expansion. A good heuristic prevents unnecessary
vertex expansion. Different optimization techniques have been
proposed for Dijkstra’s algorithm [
        <xref ref-type="bibr" rid="ref20 ref25 ref30 ref7">25, 20, 7, 30</xref>
        ] and the A*
algorithm [
        <xref ref-type="bibr" rid="ref15 ref16">15, 16</xref>
        ].
      </p>
      <p>By using extensive precomputation, the online time for</p>
      <p>
        SP queries can be substantially reduced. Highway Hierarchy
(HH) [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] decreases the query time of Dijkstra’s algorithm
by up to three orders of magnitude [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]. The idea of HH is
used by the Contraction Hierarchy algorithm [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ], which
organizes vertices in hierarchies and applies a contraction
technique to reduce the graph size for query processing. SPs
are precomputed by adding new edges in the graph, which
are leveraged at query time. This preprocessing technique of
CH is used by SHARC (Shortcuts + ArcFlags) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. SHARC
is considered one of the fastest unidirectional algorithm,
while CH only works for bidirectional queries.
      </p>
      <p>
        Another algorithm for SP computation mainly based
on graph partitioning is Precomputed Cluster Distance
(PCD) [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. It partitions the graph into disjoint clusters and
precomputes the SPs between all pairs of clusters. Transit
node routing (TNR) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is based on an intuitive observation
in road networks: all trips to a far destination typically share
a small number of paths that contain important road
junctions called access nodes. Using this idea, TNR first finds the
access nodes in the graph and precomputes shortest path
distances from and to the access nodes.
      </p>
      <p>
        Customized Route Planning (CPR) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] is based on a graph
separator technique and is used for real time queries on road
networks. The preprocessing of CRP is metric-independent,
which is an advantage over CH and algorithms that follow
similar precomputation techniques: CH provides fast query
time, but is sensitive to small changes in the edge cost.
Another algorithm based on graph separator is GRASP (Graph
separators, RAnge, Shortest Path) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], which uses a
multilevel graph partitioning technique.
      </p>
      <p>
        Most of the above algorithms have been evaluated in road
and public transport networks, and the result is discussed
in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The evaluation shows that there is a big performance
gap between the two types of networks. This is due to the
time-dependent edge cost of public transportation networks,
which make the precomputation effort of many algorithms
infeasible for large networks.
      </p>
      <p>
        To model a public transportation network as a graph,
two approaches have been widely used: the time-expanded
and the time-dependent approach. In time-expanded
models, each arrival and departure event in each station (e.g.,
bus stop or train stop) is represented by a vertex, and an
edge is used to represent the link between two events. The cost
to traverse each edge is the time difference between the
source and target event. In time-dependent models, each station
is represented by a single vertex and an edge is used between
two stations if there is a connection between them. A cost
function that depends on the departure time at the source
vertex is associated with each edge. The disadvantage of the
first approach is the large size of the resulting graph. But,
since each event is represented by a vertex, most of the SP
algorithms designed for road networks can be applied in the
resulting graph of this approach. See [
        <xref ref-type="bibr" rid="ref1 ref26">26, 1</xref>
        ] for a detailed
explanation of both modelling techniques.
      </p>
      <p>
        Range Euclidean Restriction (RER) and Range Network
Expansion (RNE) [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] use an expansion technique similar
to Dijkstra’s algorithm to answer reachability queries. RNE
first determines the reachable area and then intersects this
area of the road network with the set of POIs. RER restricts
the number of relevant POIs to the points that are reachable
using Euclidean distance, i.e., ignoring the network. For
these candidate points, the shortest path is computed in order
to remove false positives. Deng et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] reduce the number
of shortest path computations to candidates in RER: similar
to the A* shortest path algorithm [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], an Euclidean lower
bound is maintained for each node that is expanded during
the shortest path computation; the node that is closest to
one of the candidates is expanded first, and the
expansion stops when the lower bound to all remaining candidates
exceeds the cost budget.
      </p>
      <p>
        Bauer et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] consider multimodal networks and do not
rely on precomputation. They expand the query point using
Dijkstra [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and improve memory usage by expiring network
nodes that have already been processed. The result of the
computation is a so-called isochrone, which is the reachable
portion of the network at a given point in time. Since all
edges in the isochrone must be expanded, this approach does
not scale to large networks and isochrones.
      </p>
    </sec>
    <sec id="sec-3">
      <title>PROBLEM DEFINITION</title>
      <p>We model the spatial networks as a directed graph G =
(V, E) with vertices V and edges E. Vertices are embedded
in the plane, i.e., they have coordinates. A cost function
c(e, t) assigns each edge e ∈ E a positive cost: the time
to traverse the edge e = (x, y) at time t (starting time at
vertex x). The distance dt(u, v) between two nodes u, v ∈ V
is the minimum cost required to travel from u to v at time
t (dt(u, v) = ∞ if v is not reachable from u). A point p is in
G if it is located on an edge or a vertex of G. The cost to
traverse a partial edge is a linear fraction of the total cost.</p>
      <p>Definition 1 (Reachability Query). Given a
spatial network G = (V, E), a cost budget Δt, a set of points of
interest P in G, a query point q in G, and the query time t.
A reachability query computes all points of interest, R ⊆ P ,
that are reachable from q at start time t with cost Δt:</p>
      <p>R = {p ∈ P | dt(q, p) ≤ Δt}
The reverse reachability query computes all points of interest
from which q is reachable at arrival time t with cost Δt.</p>
      <p>The main objective of this work is to develop an algorithm
for reachability queries in public transport networks.
Current solutions for reachability queries are either restricted to
road networks (i.e., time-independent edge cost) or do not
scale to large networks.</p>
    </sec>
    <sec id="sec-4">
      <title>A PARTITION-BASED APPROACH TO</title>
    </sec>
    <sec id="sec-5">
      <title>REACHABILITY QUERIES</title>
      <p>In this section we sketch a technique for reachability
queries based on network partitions and local precomputations
within each partition.</p>
      <p>We focus on public transport networks, which pose the
main challenge to precomputation techniques. In a public
transportation network graph, nodes are stations, e.g., bus
stops or train stations. The time-dependent cost function
that is associated to each edge represents the connection
between two stations and depends on schedules and waiting
times.</p>
      <p>To simplify the discussion, the following presentation of
our algorithm assumes undirected graphs. Later in this
section we discuss possible extensions to directed graphs, which
are a realistic model for a public transportation network.
4.1</p>
    </sec>
    <sec id="sec-6">
      <title>Precomputation</title>
      <p>4.1.1</p>
      <sec id="sec-6-1">
        <title>Partitioning</title>
        <p>We partition the graph into n cells. A cell C is a connected
subgraph that consists of nodes VC ⊆ V and edges EC ⊆ E,
where EC is the set of all edges that connect a pair of nodes
in VC . The cells are disjoint (i.e., for any pair Ci 6= Cj:
VC,i ∩ VC,j = ∅) and cover the nodes of the graph (i.e.,
n
∪i=1VC,i = V ). Edges that connect nodes from different cells
are border edges, the end points of border edges are border
nodes. The set of border nodes of cell Ci is denoted with Bi.
4.1.2</p>
      </sec>
      <sec id="sec-6-2">
        <title>Graph Extension and Computation of Bounds</title>
        <p>We add new nodes and edges to the graph. (1) In each
cell Ci we connect all pairs of border nodes (b, b0), b, b0 ∈ Bi.
(2) We add a virtual node i to each cell Ci and connect the
virtual node to all border nodes. The virtual nodes are not
part of the original graph. The cost between a border node
b ∈ Bi and the virtual node i is the cost between b and the
node in cell Ci that is most distant from b.</p>
        <p>We compute time upper bounds and lower bounds between
specific pairs of nodes. The upper bound is the shortest path
between two nodes at the time of the slowest connection,
i.e., the maximum shortest path over all points in time. The
lower bound is the shortest path at the time of the fastest
connection. We precompute upper and lower bounds for the
following edges:
• border nodes: edges between all pair of border nodes
within each cell;
• virtual node: edge between each border node b ∈ Bi of
a cell Ci and the virtual node i of the cell;
• all border edges.</p>
        <p>The index size (i.e., number of precomputed bounds) is
n
index size = 2|Bi,j | + X |Bi|(Bi + 1),
i=1
where Bi,j is the set off all border edges in G, and Bi is the
set of border nodes of cell Ci. Note that Bi,j is a (hopefully
small) subset of the nodes E in the original graph G. The
summation adds up all upper and lower bounds that are
computed within each cell. The summands only depend on
the number border nodes in each cell, and the sum
linearly increases with the number of cells. Thus, we expect the
precomputation to scale to very large graphs.</p>
        <p>The index can be incrementally updated in response to
schedule changes, edge insertion, and edge removal. Only
the updated edges and the cells that contain the updated
edges are affected. The upper and lower bounds of all other
cells and border edges remain unaffected by the update.
4.2</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Candidate Generation</title>
      <p>The core idea of our reachability algorithm is to expand
cell by cell rather than expanding edge by edge. The
expansion with upper bounds (slowest connection) defines a
region Ru ⊆ V that can always be reached within the
given cost budget, independent of the starting time. All POIs
in the upper bound region are part of the result set. The
lower bound expansion (fastest connection) defines the
region Rl ⊆ V that is reachable under the assumption that
each edge is traversed using the fastest connection,
independent of the traversal time. All POIs outside the lower bound
region Rl can safely be rejected since they are not part of
the query result. The POIs between upper and lower bound
region, Rl \ Ru (Ru ⊆ Rl), are candidates which we must to
verify. Compared to an approach that computes SP for all
POIs, in our approach SP computations are limited to
candidates. As will be discussed below, in some cases it might
not be necessary to compute SP between a candidate and
the query point in order to verify the candidate.</p>
      <p>Next we discuss the expansion with upper and lower
bounds. For the expansion algorithm we only need to
consider border nodes, border edges, and the virtual nodes, i.e.,
all edges for which we have precomputed bounds. The
expansion area is increased by units of cells, not nodes or edges.
4.2.1</p>
      <sec id="sec-7-1">
        <title>Upper Bound Expansion</title>
        <p>Assume a query point q that is located in cell Cq =
(Vq, Eq) with border nodes Bq ⊆ Vq and virtual node q.
The expansion must first deal with cell Cq and then
proceeds to neighboring cells until the budget is exhausted.</p>
        <p>Initialization. We first expand cell Cq. The result is a
(possibly empty) set of border nodes B of neighboring cells,
i.e., B 6⊆ Vq; each border node bi ∈ B has a time budget
Δti. The expansion proceeds as follows:
1. Expand cell Cq: If all nodes in Cq are reachable from q
with the cost budget Δt, then the upper bound region
is initialized with the nodes of Cq, Ru = Vq; otherwise
Ru = ∅. Cq is reachable from q if Δt ≥ 2 ub(bq, q) for
any node bq ∈ Bq, where ub(x, y) is the upper bound
between nodes x, y. The intuition is that we reach bq
from any node in Cq (i.e., also from q) at cost at most
ub(bq, q); from bq we reach any other node in Cq with
the same cost upper bound.
2. Expand to neighboring cells. Compute B, the set of all
nodes that are reachable from a border node of Cq via a
border edge and have a non-negative cost budget. The
cost budget of node bi ∈ B that is reachable via border
node bq ∈ Bq is Δti = Δt − ub(bq, q) − ub(bq, bi).</p>
        <p>Expansion Step. Given a set of border nodes B outside
Ru and a time budget Δti for each bi ∈ B, the expansion
proceeds as follows. For each node bi ∈ B:
1. Expand current cell: Let Ci be the cell that contains
border node bi. If all nodes in Ci are reachable with
the remaining cost budget at bi, the cell is added to
the upper bound region, i.e., if Δti ≥ ub(bi, i) then
Ru = Ru ∪ Vi. Otherwise only add border node bi:
Ru = Ru ∪ {bi}.
2. Expand to neighboring cells. Follow the edges between
bi and all other border nodes in Bi. The budget at
node bj ∈ Bi \ {bi} is Δtj = Δti − ub(bi, bj). For all
border nodes bj ∈ Bi: (a) if tj ≥ 0, Ru = Ru ∪ {bj};
(b) for all nodes d reachable from bj via a border edge:
compute the cost budget td = tj − ub(bj, d) of node d;
if td ≥ 0, B = B ∪ {d}.
3. Remove bi from B.</p>
        <p>The expansion step is repeated until the set of border
nodes to be expanded is empty, B = ∅.
4.2.2</p>
      </sec>
      <sec id="sec-7-2">
        <title>Lower Bound Expansion</title>
        <p>The expansion with lower bounds is similar to the
expansion with upper bounds. The main differences are:
1. The expansion uses lower bounds instead of upper
bounds to compute the budgets of the nodes in B.
2. A cell Ci is added to the lower bound region Rl if (a)
Ci contains the query node q (and Δt &gt; 0), or (b) Ci
contains a node of bi ∈ B with budget Δti &gt; 0.</p>
        <p>We need to expand all cells that are reachable via lower
bounds with a non-zero budget. Even if we know that some
nodes in the cell are unreachable (i.e., the lower bound to the
virtual node exceeds the budget), we must make sure that
the subset of nodes that is reachable is in the candidate set.
4.3</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Extending the Algorithm</title>
      <p>In the remaining section, we discuss extensions of the basic
reachability algorithm. In particular, we discuss the
extension to directed graphs, postulate criteria for a good
partitioning of the graph into cells, introduce the concept of
time-dependent bounds, and point to opportunities for
candidate verification.
4.3.1</p>
      <sec id="sec-8-1">
        <title>Directed Graphs</title>
        <p>Public transportation networks will typically be modeled
as directed graphs. In a directed graph, the bounds between
a pair of nodes may depend on the direction. We extend our
precomputation algorithm to compute two upper and lower
bounds for each relevant node pair (one for each direction).
For example, we distinguish the upper bound from a border
node bi to the virtual node i from the upper bound in the
reverse direction. Overall, the size of the precomputation will
increase by a factor of two. The expansion algorithm must
be adapted to the directed bounds, e.g., when expanding
cell Cq, the condition will be Δt ≥ ub( q, bq) + ub(bq, q)
(instead of Δt ≥ 2 ub(bq, q), cf. Section 4.2.1).</p>
        <p>In an undirected graph, all nodes in a cell are pairwise
reachable. This may, in general, not hold for directed graphs,
i.e., the bounds between a pair of nodes may be infinite.
While still correct, the expansion algorithm would be less
effective for the affected cells. Since we model public
transport networks, this situation is very unlikely. If for some
node there is a path only in one direction, we could reach
that station but never leave it (or vice versa).
4.3.2</p>
      </sec>
      <sec id="sec-8-2">
        <title>Effective Partitioning Strategy</title>
        <p>So far we assumed that the partitioning of the graph into
cells is given. Our algorithm is correct for any partitioning,
but obviously the partitioning strategy will have an impact
on the efficiency of the approach.</p>
        <p>We identify a set of properties that an effective
partitioning should satisfy:
• the number of border nodes per cell should be small;
• the overall number of border edges should be small;
• the difference between the upper and lower bounds of
a cell should be small;
• all nodes in a cell should be pairwise reachable;
• different cells should be of similar size (i.e.,
homogeneous in terms of upper bound traversal time).
For the cell size, there is a balance to strike: Large cells
improve the expansion speed since the processing time of a
cell is independent of its size. Small cells allow finer grained
expansion and lead to smaller candidate sets.</p>
        <p>We expect that an algorithm for computing the optimal
partitioning will have infeasible runtime. Thus we will target
heuristics or approximations of the optimal algorithm.
4.3.3</p>
      </sec>
      <sec id="sec-8-3">
        <title>Time-Dependent Bounds</title>
        <p>In Section 4.1, we define the upper (lower) bound as the
shortest path between two nodes at the time of the slowest
(fastest) connection over all points in time. These bounds
may be very loose for public transportation schedules, where
the frequency of the connections will typically vary
depending on the time of the day. For example, during rush hours
the buses travel with the highest frequency, while there are
no buses over night. This leads to lower bounds of
minutes and an upper bounds of hours. For reachability queries
during the day, the upper bound is too loose, leading to a
very small upper bound region. Likewise, the lower bound
is too small for departures in the evening, leading to large
candidate sets.</p>
        <p>Our solution are time-dependent bounds. We split the
schedule into intervals and compute a different bound for
each interval. During the expansion, we check the earliest
(t1) and latest (t2) arrival time at a specific border node b.
The upper bound is the maximum upper bound in the
interval [t1, t2]; the lower bound is the minimum lower bound in
the interval [t1, t2]. The interval of the arrival time is
computed while expanding with the upper and lower bounds.
Let b be a border node with time budget Δtl during the
lower bound expansion and time budget Δtu during the
upper bound expansion. With the query time t (i.e., the start
time at the query node q) the earliest arrival time at node b
is t1 = t + Δt − Δtli; the latest arrival time t2 = t + Δt − Δtiu.</p>
        <p>We have different options to split the schedule into
intervals: We either use intervals of fixed length (e.g., 6 hours)
or intervals of variable length. Variable length intervals will
lead to tighter bounds since we can choose the intervals such
that the bounds best approximate the true schedule. For
example, we can create intervals that cover the rush hours,
the day schedule, and the night schedule. Individual
intervals can be chosen for each pair of nodes. The intervals may
even be different between upper and lower bound for a
given pair of nodes. The limiting factor is the precomputation
size, which increases with each additional interval.</p>
        <p>Table 1 shows an example of time-dependent bounds
between a border node b and the virtual node . The 24-hours
schedule is split into 4 intervals. The table shows the
minimum and maximum travel time from b to any node in b’s
cell during the different time intervals. For example,
between 6:01 and 12:00 the upper and lower bounds are 10min
and 5min, respectively, while the bounds are 240min resp.
30min during the night. When we arrive at node b in the
time interval [11:17, 13:03], the upper bound is 15min and
the lower bound is 5min.
4.3.4</p>
      </sec>
      <sec id="sec-8-4">
        <title>Efficient Candidate Verification</title>
        <p>The straightforward approach to verify a candidate node is
by computing the shortest path between the query point and
the candidate. Since we have precomputed lower bounds, we
do not need to resort to Dijkstra’s algorithm, but can use
the efficient A∗ algorithm and do a directed search.</p>
        <p>In some cases we can reject or accept candidates without
computing the shortest path. For example, the border
nodes of the upper bound region that are in partially reachable
cells can be used. These nodes have a remaining time
budget. All candidates that are reachable from the border node
within the given time budget (considering the shortest path
between the border node and the candidate) are part of the
result. Similarly, the border nodes of the lower bound region
that do not reach all nodes in their cell can be used to reject
candidates in that cell.
5.</p>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>CONCLUSION</title>
      <p>We propose a technique to compute reachability queries
in public transportation networks by partitioning the graph
into cells and use a novel expansion technique based on
upper and lower bounds. The expansion algorithm generates
a set of reachable points, a set of unreachable points that
can be rejected without verification, and a set of candidates
that must be verified. To get tighter bounds (closer upper
and lower bounds), time-dependent upper and lower bounds
are considered. This reflects the frequency patterns in
public transportation schedules, which differ depending on the
time of the day and the date (e.g., night buses, weekend
schedules, holiday schedules). Better bounds lead to smaller
candidate sets.</p>
      <p>Different from the Dijkstra-like expansion techniques used
in related work, we use precomputation and expect to
dramatically reduce the number of shortest path computations
for reachability queries. This will lead to better online query
performance. The precomputation scales linearly with the
network size, and local changes (e.g., schedule changes, new
transport routes) require only a local update of the
precomputed index.</p>
      <p>As future work, we plan to develop an effective
partitioning algorithm that satisfies the properties outlined in this
paper. We will evaluate the proposed technique on real
public transportation networks and empirically compare the
performance to relevant competitors from related work.
Further, we plan to generalize our solution for public transport
networks to multimodal networks, which also include road
and pedestrian edges.
6.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>H.</given-names>
            <surname>Bast</surname>
          </string-name>
          . Efficient Algorithms : Essays Dedicated to Kurt
          <source>Mehlhorn on the Occasion of His 60th Birthday</source>
          , volume
          <volume>5760</volume>
          of Lecture Notes in Computer Science, chapter Car or Public Transport - Two
          <string-name>
            <surname>Worlds</surname>
          </string-name>
          , pages
          <fpage>355</fpage>
          -
          <lpage>367</lpage>
          . Springer, Berlin, Germany,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>H.</given-names>
            <surname>Bast</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Delling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Goldberg</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Mu¨ller-</article-title>
          <string-name>
            <surname>Hannemann</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Pajor</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Sanders</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Wagner</surname>
            , and
            <given-names>R. F.</given-names>
          </string-name>
          <string-name>
            <surname>Werneck</surname>
          </string-name>
          .
          <article-title>Route planning in transportation networks</article-title>
          .
          <source>CoRR, abs/1504.05140</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>H.</given-names>
            <surname>Bast</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Funke</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Matijevic</surname>
          </string-name>
          .
          <article-title>TRANSIT - ultrafast shortest-path queries with linear-time preprocessing</article-title>
          .
          <source>In In 9th DIMACS Implementation Challenge [1]</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>H.</given-names>
            <surname>Bast</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Funke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sanders</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Schultes</surname>
          </string-name>
          .
          <article-title>Fast Routing in Road Networks with Transit Nodes</article-title>
          . Science,
          <volume>316</volume>
          (
          <issue>5824</issue>
          ):
          <fpage>566</fpage>
          ,
          <string-name>
            <surname>Apr</surname>
          </string-name>
          .
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bauer</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Delling</surname>
          </string-name>
          . Sharc:
          <article-title>Fast and robust unidirectional routing</article-title>
          .
          <source>J. Exp. Algorithmics</source>
          ,
          <volume>14</volume>
          :4:
          <issue>2</issue>
          .
          <fpage>4</fpage>
          -
          <issue>4</issue>
          :
          <fpage>2</fpage>
          .29,
          <string-name>
            <surname>Jan</surname>
          </string-name>
          .
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>V.</given-names>
            <surname>Bauer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gamper</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Loperfido</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Profanter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Putzer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and I.</given-names>
            <surname>Timko</surname>
          </string-name>
          .
          <article-title>Computing isochrones in multi-modal, schedule-based transport networks</article-title>
          .
          <source>In Proceedings of the 16th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, GIS '08</source>
          , pages
          <fpage>78</fpage>
          :
          <fpage>1</fpage>
          -
          <lpage>78</lpage>
          :
          <fpage>2</fpage>
          , New York, NY, USA,
          <year>2008</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Crauser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Mehlhorn</surname>
          </string-name>
          , U. Meyer, and
          <string-name>
            <given-names>P.</given-names>
            <surname>Sanders</surname>
          </string-name>
          .
          <article-title>A parallelization of dijkstra's shortest path algorithm</article-title>
          . In L. Brim,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gruska</surname>
          </string-name>
          , and J. Zlatu?ka, editors,
          <source>Mathematical Foundations of Computer Science</source>
          <year>1998</year>
          , volume
          <volume>1450</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>722</fpage>
          -
          <lpage>731</lpage>
          . Springer Berlin Heidelberg,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D.</given-names>
            <surname>Delling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Goldberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Pajor</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R. F.</given-names>
            <surname>Werneck</surname>
          </string-name>
          .
          <article-title>Customizable route planning</article-title>
          .
          <source>In Experimental algorithms</source>
          , pages
          <fpage>376</fpage>
          -
          <lpage>387</lpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>K.</given-names>
            <surname>Deng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. T.</given-names>
            <surname>Shen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. W.</given-names>
            <surname>Sadiq</surname>
          </string-name>
          , and
          <string-name>
            <given-names>X.</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <article-title>Instance optimal query processing in spatial networks</article-title>
          .
          <source>VLDB J</source>
          .,
          <volume>18</volume>
          (
          <issue>3</issue>
          ):
          <fpage>675</fpage>
          -
          <lpage>693</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>E. W.</given-names>
            <surname>Dijkstra</surname>
          </string-name>
          .
          <article-title>A note on two problems in connexion with graphs</article-title>
          .
          <source>Numer. Math.</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <fpage>269</fpage>
          -
          <lpage>271</lpage>
          , Dec.
          <year>1959</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>A.</given-names>
            <surname>Efentakis</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Pfoser</surname>
          </string-name>
          . Grasp.
          <article-title>extending graph separators for the single-source shortest-path problem</article-title>
          . In A. Schulz and D. Wagner, editors,
          <source>Algorithms - ESA</source>
          <year>2014</year>
          , volume
          <volume>8737</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>358</fpage>
          -
          <lpage>370</lpage>
          . Springer Berlin Heidelberg,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>R.</given-names>
            <surname>Geisberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sanders</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Schultes</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Delling</surname>
          </string-name>
          .
          <article-title>Contraction hierarchies: Faster and simpler hierarchical routing in road networks</article-title>
          .
          <source>In Proceedings of the 7th International Conference on Experimental Algorithms</source>
          , WEA'
          <volume>08</volume>
          , pages
          <fpage>319</fpage>
          -
          <lpage>333</lpage>
          , Berlin, Heidelberg,
          <year>2008</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>R.</given-names>
            <surname>Geisberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sanders</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Schultes</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Vetter</surname>
          </string-name>
          .
          <article-title>Exact routing in large road networks using contraction hierarchies</article-title>
          .
          <source>Transportation Science</source>
          ,
          <volume>46</volume>
          (
          <issue>3</issue>
          ):
          <fpage>388</fpage>
          -
          <lpage>404</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>B.</given-names>
            <surname>George</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Shekhar</surname>
          </string-name>
          .
          <article-title>Spatial network databases</article-title>
          .
          <source>In Encyclopedia of Database Systems</source>
          , pages
          <fpage>2714</fpage>
          -
          <lpage>2719</lpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Goldberg</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Harrelson</surname>
          </string-name>
          .
          <article-title>Computing the shortest path: A* search meets graph theory</article-title>
          .
          <source>Technical Report MSR-TR-2004-24</source>
          , Microsoft Research, Vancouver, Canada,
          <year>July 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Goldberg</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Harrelson</surname>
          </string-name>
          .
          <article-title>Computing the shortest path: A search meets graph theory</article-title>
          .
          <source>In Proceedings of the Sixteenth Annual ACM-SIAM Symposium on Discrete Algorithms</source>
          , SODA '
          <volume>05</volume>
          , pages
          <fpage>156</fpage>
          -
          <lpage>165</lpage>
          , Philadelphia, PA, USA,
          <year>2005</year>
          . Society for Industrial and Applied Mathematics.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>P.</given-names>
            <surname>Hart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Nilsson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Raphael</surname>
          </string-name>
          .
          <article-title>A formal basis for the heuristic determination of minimum cost paths</article-title>
          .
          <source>Systems Science and Cybernetics</source>
          , IEEE Transactions on,
          <volume>4</volume>
          (
          <issue>2</issue>
          ):
          <fpage>100</fpage>
          -
          <lpage>107</lpage>
          ,
          <year>July 1968</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>V.</given-names>
            <surname>Kanjilal</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Schneider</surname>
          </string-name>
          .
          <article-title>Spatial network modeling for databases</article-title>
          .
          <source>In Proceedings of the 2011 ACM Symposium on Applied Computing (SAC)</source>
          ,
          <source>TaiChung, Taiwan, March</source>
          <volume>21</volume>
          - 24,
          <year>2011</year>
          , pages
          <fpage>827</fpage>
          -
          <lpage>832</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Kolahdouzan</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Shahabi</surname>
          </string-name>
          .
          <article-title>Continuous k-nearest neighbor queries in spatial network databases</article-title>
          .
          <source>In STDBM</source>
          , pages
          <fpage>33</fpage>
          -
          <lpage>40</lpage>
          . Citeseer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>U.</given-names>
            <surname>Lauther</surname>
          </string-name>
          .
          <article-title>An extremely fast, exact algorithm for finding shortest paths in static networks with geographical background</article-title>
          .
          <source>In Geoinformation und Mobilita¨t - von der Forschung zur praktischen Anwendung</source>
          , volume
          <volume>22</volume>
          , pages
          <fpage>219</fpage>
          -
          <lpage>230</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>F.</given-names>
            <surname>Li</surname>
          </string-name>
          , D. Cheng, M. Hadjieleftheriou, G. Kollios, and
          <string-name>
            <given-names>S.-H.</given-names>
            <surname>Teng</surname>
          </string-name>
          .
          <article-title>On trip planning queries in spatial databases</article-title>
          .
          <source>In Proceedings of the 9th International Conference on Advances in Spatial and Temporal Databases</source>
          ,
          <source>SSTD'05</source>
          , pages
          <fpage>273</fpage>
          -
          <lpage>290</lpage>
          , Berlin, Heidelberg,
          <year>2005</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>J.</given-names>
            <surname>Maue</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sanders</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Matijevic</surname>
          </string-name>
          .
          <article-title>Goal-directed shortest-path queries using precomputed cluster distances</article-title>
          .
          <source>J. Exp. Algorithmics</source>
          ,
          <volume>14</volume>
          :2:
          <issue>3</issue>
          .
          <fpage>2</fpage>
          -
          <issue>2</issue>
          :
          <fpage>3</fpage>
          .27,
          <string-name>
            <surname>Jan</surname>
          </string-name>
          .
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>S.</given-names>
            <surname>Nutanong</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Samet</surname>
          </string-name>
          .
          <article-title>Memory-efficient algorithms for spatial network queries</article-title>
          .
          <source>In Data Engineering (ICDE)</source>
          ,
          <year>2013</year>
          IEEE 29th International Conference on, pages
          <fpage>649</fpage>
          -
          <lpage>660</lpage>
          ,
          <year>April 2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>D.</given-names>
            <surname>Papadias</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Mamoulis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Tao</surname>
          </string-name>
          .
          <article-title>Query processing in spatial network databases</article-title>
          .
          <source>In Proceedings of the 29th International Conference on Very Large Data Bases - Volume 29, VLDB '03</source>
          , pages
          <fpage>802</fpage>
          -
          <lpage>813</lpage>
          . VLDB Endowment,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>I. S.</given-names>
            <surname>Pohl</surname>
          </string-name>
          .
          <article-title>Bi-directional search</article-title>
          .
          <source>Machine Intelligence</source>
          ,
          <volume>6</volume>
          :
          <fpage>127</fpage>
          -
          <lpage>140</lpage>
          ,
          <year>1971</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>E.</given-names>
            <surname>Pyrga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Schulz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Wagner</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Zaroliagis</surname>
          </string-name>
          .
          <article-title>Efficient models for timetable information in public transportation systems</article-title>
          .
          <source>J. Exp. Algorithmics</source>
          ,
          <volume>12</volume>
          :
          <fpage>2</fpage>
          .4:
          <fpage>1</fpage>
          -
          <lpage>2</lpage>
          .4:
          <issue>39</issue>
          ,
          <year>June 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>P.</given-names>
            <surname>Rigaux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Scholl</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Voisard</surname>
          </string-name>
          .
          <article-title>Spatial databases: with application to GIS</article-title>
          . Morgan Kaufmann,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>P.</given-names>
            <surname>Sanders</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Schultes</surname>
          </string-name>
          .
          <article-title>Engineering highway hierarchies</article-title>
          .
          <source>In Proceedings of the 14th Conference on Annual European Symposium - Volume 14, ESA'06</source>
          , pages
          <fpage>804</fpage>
          -
          <lpage>816</lpage>
          , London, UK, UK,
          <year>2006</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>S.</given-names>
            <surname>Shekhar</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Chawla</surname>
          </string-name>
          .
          <source>Spatial databases: a tour</source>
          , volume
          <year>2003</year>
          .
          <article-title>prentice hall Upper Saddle River</article-title>
          , NJ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>M. H.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y. Q.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q. L.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y. X.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G. F.</given-names>
            <surname>Luan</surname>
          </string-name>
          .
          <article-title>An improved dijkstra's shortest path algorithm for sparse network</article-title>
          .
          <source>Applied Mathematics and Computation</source>
          ,
          <volume>185</volume>
          (
          <issue>1</issue>
          ):
          <fpage>247</fpage>
          -
          <lpage>254</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>