Point-to-Point Shortest Paths on Dynamic Time

4OR manuscript No. (will be inserted by ... that Dijkstra's algorithm is not a viable option. .... Title Suppressed Due to Excessive Length – supply \combirunning.
73KB taille 1 téléchargements 311 vues
4OR manuscript No. (will be inserted by the editor)

Point-to-Point Shortest Paths on Dynamic Time-Dependent Road Networks Giacomo Nannicini⋆ Tepper School of Business, Carnegie Mellon University, Pittsburgh, PA, USA Received: date / Revised version: date

Abstract This a summary of the author’s PhD thesis supervised by Leo Liberti, Philippe Baptiste and Daniel Krob and defended on 18 June 2009 at Ecole Polytechnique, Palaiseau, France. The thesis is written in English and is available at http://pastel.paristech.org/5275/. The computation of point-to-point shortest paths in road networks has many practical applications that require very fast solution times, meaning that Dijkstra’s algorithm is not a viable option. In this work we develop an efficient algorithm to find the shortest route between two nodes of a largescale, time-dependent graph, where we also allow the time-dependent arc cost functions to be updated at regular intervals. Furthermore, we propose a mathematical programming formulation for the shortest paths problem on time-dependent networks, that gives rise to integer programs. Within the context of solving Mixed-Integer Linear Programs through a Branch-and-Bound algorithm, we propose a new strategy for branching, mixing branching on single variables with branching on general hyperplanes. Finally, we introduce an effective heuristic for nonconvex Mixed-Integer Nonlinear Programss which combines VNS, Local Branching, NLP local search and Branch-and-Bound. Keywords: shortest paths, time-dependent graphs, integer programming. MSC classification: 90B06, 90C27, 90C10.

1 Introduction Route planning applications have become increasingly common in recent years. This motivated, and was in turn motivated by, a renovated interest ⋆

email: e-mail: [email protected]

2

Giacomo Nannicini

in efficient shortest paths computations. Users of route planners are typically interested in finding the fastest path to their destination; since travel times over a road segment may vary during the day, a natural way to model the problem is through a time-dependent network, where the arc cost functions give the travel time over each arc for each time of the day. Under the FIFO condition (see Section 2), shortest paths can be computed in polynomial time by the well-known Dijkstra’s algorithm (Dijkstra, 1959). However, this may not be fast enough for practical applications. Therefore, we study speed-up techniques for Dijkstra’s algorithm: we assume that the topology of the input graph is fixed, that we have unlimited time to preprocess the network (i.e. compute and store useful data), and that each shortest path computation should take as little time as possible. We also assume that the time-dependent arc cost functions are not fixed and can be updated (e.g. to reflect unpredictable events such as car accidents). On static road networks, i.e. networks were the arc costs are not a function of time, this problem has been thoroughly studied (see Delling et al., 2009); in this thesis, we extend in a non-trivial way the most efficient speedup techniques for static scenarios, so that we can apply them to the timedependent case. We discuss this topic in Section 2. Our C++ implementation allows us to compute shortest paths on networks with several million nodes in a matter of few milliseconds. Furthermore, we propose a mathematical programming formulation for the shortest paths problem in non-FIFO networks, where the problem’s difficulty increases to NP-hard (Orda and Rom, 1990). This formulation gives rise to a Mixed-Integer Linear Program (MILP) if the arc cost functions are piecewise linear, or a Mixed-Integer Nonlinear Program (MINLP) for arbitrary arc cost functions. We study solution methods for both classes of problems (Sections 3 and 4).

2 Bidirectional Search on Time-Dependent Networks Consider a digraph G = (V, A) equipped with a nonnegative cost function c : A × R+ 7→ R+ , c((u, v), τ ) is the travel time over arc (u, v) ∈ A at time τ > 0. Given source and target nodes s, t ∈ V and a departure time τ0 ∈ R+ , we want to compute a path from s to t with departure at time τ0 with minimum cost. If for each pair of time instants 0 < τ < τ ′ the property ∀(u, v) ∈ A, c(u, v, τ ) + τ ≤ c(u, v, τ ′ ) + τ ′ holds, the network satisfies the FIFO property, and the problem is polynomially solvable (Kaufman and Smith, 1993). The A∗ algorithm (Hart et al., 1968) is a modification of Dijkstra’s algorithm, where the key of a node v in the priority queue is equal to the distance of v from s (as in Dijkstra’s algorithm), plus an underestimation of the distance from v to t. We call this underestimation

Point-to-Point Shortest Paths on Dynamic Time-Dependent Road Networks

3

the potential function π(v). If the potential function approximates graph distances well, A∗ achieves very small search spaces. In this thesis, we develop a bidirectional hierarchical search algorithm on time-dependent networks, based on A∗ . Bidirectional search is a fundamental component of speed-up techniques for shortest paths on static graphs, and it consists in exploring the graph both from the source (forward search) and the target (backward search), until the two search scopes meet. On time-dependent graphs, a problem arises: since arc costs are timedependent and the arrival time at t is unknown, how do we evaluate the arc costs around the destination? We solve this problem by using a timeindependent lower bounding function λ(u, v) ≤ c((u, v), τ )∀τ ∈ R+ in the backward search. Our algorithm works in three phases as follows. 1. A bidirectional A∗ search occurs on G, where the forward search is run on the graph weighted by c, and the backward search is run on the graph weighted by the lower bounding function λ. All nodes settled by the backward search are included in a set M . Phase 1 terminates as soon as the two search scopes meet in a node w. 2. Let µ be an upper bound to the cost of the optimal path; we can take µ equal to the cost of any s − t path, e.g. the one passing through w found in phase 1. Let β be the key of the minimum element of the backward search queue; phase 2 terminates as soon as β > µ. Again, all nodes settled by the backward search are included in M . 3. Only the forward search continues, with the additional constraint that only nodes in M can be explored. The forward search terminates when t is settled. Furthermore, we extend the bidirectional algorithm described above to be hierarchical. This means that we extract a subgraph of the original network, with considerably fewer nodes, such that we are able to carry most of the calculations on this smaller network while preserving optimality. Finally, we introduce a potential function π for time-dependent road networks which is tighter than the potential functions described in the literature. We provide extensive computational experiments on the European road network (≈ 20M nodes, 40M arcs), showing that, on average, our algorithm yields a search space which is three orders of magnitude smaller than Dijkstra’s algorithm’s, and similar results hold for CPU times.

3 Branching strategies for MILPs Within the context of solving a MILP with a Branch-and-Bound algorithm, we study new strategies for branching, and in particular branching on general disjunctions, i.e. parallel hyperplanes that define a disjunction of the

4

Title Suppressed Due to Excessive Length – supply \combirunning

feasible region of the integer program. We propose a mathematical programming formulation to model the problem of finding a general disjunction that closes a large integrality gap at a given node of the Branch-and-Bound tree, and a heuristic method with the same purpose. Then, we combine branching on single variables (the traditional branching strategy) and our heuristic method into a single algorithm. Computational experiments show that, with respect to traditional branching strategies, this approach enumerates on average half as many nodes, and in several cases also yields a significant reduction in the total CPU time. 4 A heuristic for nonconvex MINLPs We present a heuristic for nonconvex MINLPs (i.e. integer programs whose continuous relaxation is nonconvex) which combines several ingredients together. Our heuristic comprises a global search phase, cohordinated by Variable Neighbourhood Search (Hansen and Mladenovi´c, 2001), and a local search phase that employs a local NLP solver and a Branch-and-Bound algorithm to find MINLP-feasible solutions. The neighbourhood structure of VNS is defined through hyperrectangles and Local Branching constraints (Fischetti and Lodi, 2003). On a large collection of benchmark instances, we find a solution which is equal or better than that reported in the literature for 55% of the cases, and feasible solutions in a further 11%. References D. Delling, P. Sanders, D. Schultes, and D. Wagner. Engineering route planning algorithms. In Algorithmics of Large and Complex Networks, volume 5515 of Lecture Notes in Computer Science, pages 117–139. Springer, 2009. E.W. Dijkstra. A note on two problems in connexion with graphs. Numerische Mathematik, 1:269–271, 1959. M. Fischetti and A. Lodi. Local branching. Mathematical Programming, 98:23–37, 2003. P. Hansen and N. Mladenovi´ c. Variable neighbourhood search: Principles and applications. European Journal of Operations Research, 130:449–467, 2001. E.P. Hart, N.J. Nilsson, and B. Raphael. A formal basis for the heuristic determination of minimum cost paths. IEEE Transactions on Systems, Science and Cybernetics, SSC-4(2):100–107, 1968. D.E. Kaufman and R.L. Smith. Fastest paths in time-dependent networks for intelligent vehicle-highway systems application. Journal of Intelligent Transportation Systems, 1(1):1–11, 1993. A. Orda and R. Rom. Shortest-path and minimum delay algorithms in networks with time-dependent edge-length. Journal of the ACM, 37(3):607–625, 1990.