SHORTEST PATHS ON DYNAMIC GRAPHS : A SURVEY

This paper provides an overview of the state-of-the art and the current research trends concerning shortest paths problem on dynamic graphs. The discussion is divided in two main topics: reoptimization and time-dependent shortest paths. Reoptimization consists in the solution of a sequence of shortest path problems in which each instance slightly differs from the previous one. The reoptimization tackles this problem wisely using information stored in an optimal solution previously computed. On the other hand, shortest path problems on time-dependent graphs are characterized by a weight function which not only depends upon the arcs but changes in time according to a certain time horizon.


INTRODUCTION
One of the most iconic algorithms in combinatorial optimization is due to Dijkstra [21], who in 1959 devised a label setting algorithm for the shortest path problem (SPP).Since then, the SPP established itself as one of the most representative problems of operations research.Indeed, even today, many combinatorial optimization problems (COPs) require the solution of SPP as sub-task.Some examples of these problems are Maximum-Flow Minimum-Cost Problems [2], Vehicle Routing Problems [64], and several other variations of the SPP, spanning from problems on time-dependent graphs [49,50] to general constrained SPP [25,57].
Reoptimizing shortest paths on dynamic graphs consists in solving a sequence of shortest path problems, where each problem differs only slightly from the previous one, because the origin node has been changed, some arcs have been removed from the graph, or the cost of a subset of arcs has been modified.Each problem could be simply solved from scratch, independently from the previous one, by using either a label-correcting or a label-setting shortest path algorithm.Nevertheless, a clever way to approach it is to design ad hoc algorithms that efficiently use information resulting from previous computations.
• V = {1, 2, . . ., n} is a set of nodes; • w : A → R + is a function that assigns a non-negative cost w i j to each arc (i, j ) ∈ A.
Furthermore, for each i = 1, . . ., n, let • F S(i) = { j ∈ V (i, j ) ∈ A} be the forward star of node i; • B S(i) = { j ∈ V ( j, i) ∈ A} be the backward star of node i.

Shortest path point-to-point problem (P2P)
The problem consists in finding a shortest path P * = (v 1 , v 2 , . . ., v h ) from a source node v 1 = s to a destination node v h = t , with s, t ∈ V .Introducing m Boolean decision variables, x i j , ∀ (i, j ) ∈ A, such that: 1, if (i, j ) belongs to P * , 0, otherwise, Pesquisa Operacional, Vol.37 (3), 2017 the mathematical formulation of the (P2P) problem is the following: (P2P) z = min (i, j )∈A w i j x i j subject to: (P2P-1) x ji − j ∈F S(i) with b i = −1 for i = s, b i = 1 for i = t , and b i = 0 otherwise.

Shortest path tree problem (SPT)
Given a node r ∈ V , named root, the goal of the problem is to find a shortest path from r to all other nodes i ∈ V , i = r.Defining m Boolean decision variables x i j , ∀ (i, j ) ∈ A, the mathematical formulation of the (SPT) problem is the following: (SPT) z = min (i, j )∈A w i j x i j subject to: (SPT-1) x ji − j ∈F S(i) (SPT-2) x i j ≥ 0, ∀ (i, j ) ∈ A.
where b i = −n + 1 for i = r, and, b i = 1 for i = r.

All pairs shortest path problem (APSP)
The aim of this problem is to find all the point-to-point shortest paths between each pair of nodes i, j ∈ V , i = j .Its mathematical formulation can be easily obtained starting from the mathematical formulation of the SPT.With few modifications, the following model can be obtained: subject to: (APSP-1) x k ji − j ∈F S(i) where b k i = −n + 1 for i = k, and, b k i = 1 for i = k.
490 SHORTEST PATHS ON DYNAMIC GRAPHS: A SURVEY

Labeling Methods
A first successful attempt to solve the SPP was originally proposed by Ford Jr [28] and Ford Jr & Fulkerson [29], although the most famous algorithm to solve P2P and SPT is a labeling method proposed by Dijkstra [21], whose pseudo-code is reported in Figure 1.Let s ∈ V be the source node in a graph G, to find a shortest path from s to each other v ∈ V , i = s, Dijkstra's algorithm maintains and updates for each node v ∈ V : • dist[v], the distance of v from the source node s; • pred[v], the predecessor of the node v in the incumbent path from s to v.
In addition, the following sets are used: S and Q, that are the sets of visited and unvisited nodes, respectively.
The algorithm starts with an initialization phase (lines 2-5), where the vectors pred, dist and the sets S and Q are initialized.Afterwards, while set Q is nonempty, the algorithm selects an unvisited node v, relaxes all the edges in F S(v), and insert v in S. The relaxation operation is described in lines 10-12.
If the weight function w is non-negative, the algorithm always terminates with the correct shortest path distances stored in dist[], and shortest path tree in pred[].The following theorem holds: Theorem 1.If the cost function w is non-negative, then Dijkstra's algorithm visits nodes in non-decreasing order of their distances from the source, and visits each node at most once.

9:
for all v ∈ F S(u) do 10: In the case of P2P problem, bidirectional versions of Dijkstra's algorithm were proposed in [14,22,53].The bidirectional framework is based on the consideration that if s and t are the source and the destination node, respectively, then it is possible to run the algorithm into two opposite Pesquisa Operacional, Vol.37(3), 2017 directions: the first from node s to t , called the forward search, and the latter from t to s, the backward search.The backward search operates on the reverse graph, obtained from G reversing the direction of each arc in A. The algorithm terminates when the two paths meet.
Hart et al. [36] proposed another labeling method for SPP: an informed search algorithm called A * .It refines the Dijkstra's method, using a best first paradigm, firstly exploring sub-paths which appear to lead most quickly to the solution.
The estimation of the most promising sub-paths is carried out by means of a potential function π t .Let π t : V → R + be a non-negative function, giving an estimate on the distance from each node v to t .The A * search uses a new set L, which contains all the nodes that are relaxed at least once and whose label is not permanent.It selects a node v ∈ L with the smallest value of [34] showed that A * search with a feasible non-negative potential function visits no more nodes than Dijkstra's algorithm.
In order to define π t , in the Euclidean domain, it is possible to use the canonical Euclidean distance to establish a lower bound.Such computation is carried out by means of a method based on the concept of landmarks selection [34] and the triangle inequality.

REOPTIMIZATION
Nowadays, in the era of big data and huge networks, there is a rising need of well performing algorithms, able to handle the massive amount of available information.One of the suitable approaches to tackle this complexity is to reuse information already computed, in order to reduce the computational time needed to obtain an optimal solution.In the context of SPP, previous information can be reused while tackling a problem which differs only slightly from another SPP previously solved.This occurrence can happen with one of the following changes in the network: • the origin node has been changed; • some nodes have been added or removed; • some arcs have been added or removed; • some arcs weight have been increased or decreased.
This problem can be addressed as a shortest path reoptimization problem [26], which consists in solving a sequence of shortest path problems, where the k th problem marginally differs from the (k − 1) th one.
In the first case, we say that there was a root change from the (k − 1) th problem to the k th problem, in the remaining cases we say that the graph is dynamic.Moreover, for what concerns problems on dynamic graphs, they can be classified according to the type of changes that can occur on the network.A dynamic graph is said to be fully dynamic if both insertion and deletion of either edges or nodes are allowed.In Figure 1, we propose a diagram of the interplays among all possible cases of shortest path reoptimization.The root change reoptimization problem does not admit further sub-cases.For what concerns dynamic graphs, the problems can be classified in two different branches, depending on whether the changes involve nodes or arcs.The only possible changes involving a node are addition or removal.On the other hand, the arcs can be either added/removed or their cost can be increased/decreased.It is worthy to note that the case of changes involving nodes implies also arcs insertion or deletion.
Without loss of generality, we can consider the input graph G = (V , A) as a complete graph.Indeed, if G is not complete, for each pair of nodes i and j , such that (i, j ) ∈ A, it can be always added a dummy arc from i to j with w i j = +∞.
This operation allows the following considerations: • arc removal in the graph can be seen as a special case of arc cost increasing.If an arc (i, j ) is deleted, then the cost w i j increases to +∞.
• Arc insertion can be seen as a special case of arc cost decreasing.If an arc (i, j ), must be inserted, then the cost w i j is decreased from +∞ to the new cost k.

Root change
The purpose of this paragraph is to show how, in the case of root change for the SPT problem, it is possible to obtain a well performing algorithm making wise use of the information stored in a SPT previously computed.Such result relies on some remarkable theoretical properties proven by Gallo [32], starting from the assumption that a single root shortest path tree problem has been solved.
Let G = (V , A) be a complete directed graph, and let T r be a shortest path tree rooted at node r, i.e., a tree that contains a shortest path from r to each node v ∈ V , v = r.Let s be a node of V , s = r, and T s be a SPT rooted at node s.
The following propositions show how the knowledge of T r provides useful informations on T s .Let T r (h) denote the subtree of T r which contains node h together with all its descendants, then Proposition 1. T r (s) ⊆ T s and d(s, j ) = d(r, j ) − d(r, s), for any j ∈ T r (s).
Henceforth, the paths contained in the subtree of T r rooted in s still remain optimal shortest paths from s to its descendants.This result shows how a wise handling of the old solution is likely to be the most efficient strategy, since -especially when the new root s is close to r -a consistent part of the previously optimal tree T r will remain optimal.
As formerly stated, beyond the theoretical insight given by Proposition 1, the information provided by T r can be employed in order to reduce the computational time needed to solve the new SPT problem, improving the classical Dial's implementation of Dijkstra's Algorithm (DDA) [19,20].In Dial's implementation, in fact, one of the most time consuming tasks consists in the identification of the minimum temporary node cost, due to the high number of comparisons to be performed.This number of comparisons strongly depends on the maximum weight among the arcs, w max = max (i, j )∈A w i j .Propositions 2 and 3 show how to reduce w max without changing the sets of feasible and optimal solutions.
Let π 1 , π 2 , . . ., π n be integer numbers such that Proposition 2. The problem of finding the SPT from s with arc lengths w i j is equivalent to the problem of finding the SPT with arc lengths l i j given by (1).
Proof.Let P be a generic path from a node k to a node h of G = (V , A), and let W (P) and L(P) be the lengths of P pertaining to the length functions w and l, respectively.Then, it holds that Henceforth, the lengths W (P) and L(P) only differ by a constant depending only on the source and the destination nodes of the path.
Ultimately, a shortest path tree T r with respect to the arc length w i j will remain optimal with arc length l i j .
A straightforward consequence of Proposition 2 is that lengths w i j can be replaced by lengths l i j , and once the new shortest length d (s, h), h ∈ V , is found, the value d(s, h) can be obtained as follows: The results outlined above suggest that an appropriate choice of the integers π i might decrease the distance from the source to the farthest node, and thus also the computation time required by DDA.Indeed, when selecting π j = d(s, j ) one has d (s, j ) = 0, for all j ∈ V , thus obtaining the validity of the following proposition: Proposition 3. Let be π j = d(r, j ), for all j ∈ T r , and let be the arc lengths defined as in (1).
Let h be one of the farthest node from the origin s, then: From Proposition 3 it follows that if nodes r and s are close enough, the computational effort required by DDA can be strongly reduced by a cost modification of type (1), with the vector π given by π j = d(r, j ), for all j ∈ T r .
As reported in Gallo [32], in terms of Linear Programming, such new costs correspond to the reduced costs relative to a dual feasible, but primal unfeasible, basis.This interpretation of the vector (π 1 , π 2 , . . ., π n ) as a dual feasible solution for the Shortest Path Problem is due to Bazaraa & Langley [6].
Deriving a cost reduction in a similar fashion, in 1982 Gallo & Pallottino [33] devised an algorithm which outperforms both the one proposed in [32] and classical from scratch optimization techniques.This algorithm refines the classical label setting paradigm by partitioning the nodes of the graph in three distinct sets: N T , N P, and N Q.As in a classical label setting algorithm, N T and N P are the set of nodes whose labels are temporary and permanent, respectively.While, the nodes in N Q are those nodes such that d(s, v)=d(s, p(v)).This property ensures that such nodes can be inserted straightaway in N P without further comparisons, thus speeding up the execution of the algorithm.In [33], it has been noted how in any reoptimization problem instances a large share of nodes of V is likely to be found in N Q.
The observations made by Gallo are the starting point of the work of Florian et al. [27]: the shortest path tree rooted at node r is an optimal solution to a corresponding linear program, but when a successive new source s is considered, the previous tree is a dual feasible and primal infeasible solution for the new problem.The approach proposed by Florian et al. [27] consists in the adaptation of the dual simplex method to compute the shortest paths from the new root s.It is shown in Florian et al. [27] that the proposed algorithm runs at most in O(n 2 ).
In order to evaluate the performances of their method, the authors tested their code on graphs representing the regional roads of the cities of Vancouver and Winnipeg, as in Gallo [32].
The experimental evaluations proposed in these works show how Gallo [32] is slightly better performing than Dijkstra's from scratch technique, meanwhile Gallo & Pallottino [33] further improves the previous results.Although, among all, the algorithm proposed by Florian et al. [27] appears to outperform the other competitive methods.
In Ferone et al. [26], a novel dual approach based on an auction framework [8] is presented.Given a shortest paths tree T r , and a new source s, all the arcs in B S(s) are deleted and the nodes of the tree T r (s) are included in a priority queue Q, containing the nodes ordered according to the reduced costs in decreasing order.Q is analyzed with a strongly polynomial auction algorithm [10].During the extraction of the nodes from Q, when the algorithm reaches a node j ∈ T r , it moves the sub-tree T r ( j ) from T r to T s , and its nodes are included in Q.The algorithm terminates when Q becomes empty.

Arc Cost Change
Given a shortest paths tree, T r , the problem of arc cost change consists in recalculating tree T r when a new weight is assigned to one or more (batch updates) arcs.As extensively discussed in Gallo [32], the results of Theorem 4 can be used to derive algorithms that reoptimize the solution of a SPP after a change of the cost of a single arc.
Theorem 4 (Gallo [32]).Let T r be a shortest paths tree, w uv be the new cost of the arc (u, v) ∈ A, and S(u) = {v ∈ V d(r, v) ≤ d(r, u)}.Denoting with T r the new shortest paths tree, the following properties hold: In other words, a decrease in the cost of the arc (u, v) (cases (i) and (ii)) implies that the sub-tree T r (v) remains part of the optimal solution and the optimal distances of its nodes accordingly decreased where necessary.Case (iii) tackles the cost increase when (u, v) is part of the solution, stating that the optimal distances are preserved for each j ∈ S(u).Finally, in case (iv) the entire solution remains optimal.
Pallottino & Scutellà [55] assume that a shortest paths tree T r has been determined and address the problem of computing the shortest paths tree when new costs are given to a subset K of the arcs of G, either lower or higher than the old ones.The reoptimization framework used is based on the determination of a suitable decomposition of the arc set K into disjoint subsets, and performs subsequent phases, where each phase reoptimizes with respect to the change of the arc costs of one subset of such decomposition.Pallottino & Scutellà [55] also compute the time complexity of the algorithm as a function of both the input size and the overall cost perturbations.Nevertheless, in the same work it has not been proposed an implementation of any kind for this framework, henceforth numerical results are not available.
One of the most important works in shortest path reoptimization in case of arc cost changes is Ramalingam & Reps [58], that proposes the so called DynamicSWSF-FP algorithm.At any time, it is defined where dx is the distance of x from root r in the current intermediate tree T .In the proposed algorithm, each node is processed differently according to whether rhs(v) is greater than (underconsistent node), equal to (consistent node), or less than (overconsistent node) dv .The algorithm processes inconsistent nodes, opportunely stored in a heap H , in a nondecreasing order of key values, where key(v) = min{ dv , rhs(v)}.Let q be the inconsistent node currently selected.
If it is underconsistent, then the algorithm sets dq = +∞; otherwise, it sets dq = key(q), its forward star is relaxed, and q is removed from the heap.The algorithm terminates when the set of inconsistent nodes is empty.
Buriol et al. [9] empirically showed how the algorithm devised by Ramalingam and Reps outperforms an optimization from scratch by means of Dijkstra's algorithm.Furthermore, they proposed a new technique to improve computational times of the approach described above.This technique is called Reduced-Heap, because it reduces the number of nodes of Q (inconsistent nodes) to be inserted in the heap H .
Buriol et al. [9] use the reverse graph representation, so a shortest path tree T r is obtained as the tree of shortest paths from every node to the single target r.Let a = (u, v) be the arc whose cost is increased by an amount .The effective increase ∇ of the node distance d u is then computed, and the distances of nodes x ∈ Q are updated to d x + ∇.Afterwards, the only nodes of Q to be inserted in the heap H are the nodes {x ∈ Q|∃y ∈ F S(x) : d x > d y + w xy }, which is the set of nodes x for which there exists a path shorter than d x + ∇.The method can be applied to the case of a single arc cost decrease in a very similar and straightforward way.This permits, in many cases, to reduce the computational time of the re-optimization algorithm.
While Buriol et al. [9]'s algorithm is able to manage the cost update of a single arc, Chan & Yang [12] proposed a comparison between several algorithms devised to handle multiple arc cost updates.The first algorithm is a dynamic version of the classic Dijkstra's algorithm.Given the original shortest paths tree T r , after the arc cost changes occur, all the updated arcs are removed from T r , and the set N , the set of nodes that are not reachable anymore from the root r, is computed.The nodes that have an arc connecting to a node in V \ N are added in an heap H and a Dijkstra-like algorithm is used to update labels.
The main accomplishment made by Chan & Yang [12] is the MFP algorithm.It is an extension of algorithm by Ramalingam & Reps [58] in order to handle optimization in fully dynamic networks.The algorithm has been improved to avoid unnecessary rhs value recomputations and also simplifying computation when it is possible.When an overconsistent node v is extracted, for each child q, MFP recomputes rhs(q) = min{ rhs(q), dv + w vq }.When an underconsistent node u is extracted, M F P reevaluates the rhs values only on children where rhs(v) = du +w uv .
Another approach to handle batch updates is proposed by D'Andrea et al. [23].They use the concept of accounting function to estimate and potentially reduce the computational complexity of the reoptimization algorithm.An accounting function f for G is a function that, for each arc (x, y) ∈ A, determines either node x or node y as the owner of the arc; f is k-bounded, if k is the maximum over all nodes x of the cardinality of the set of arcs owned by x.
Narváez et al. [51] establish a framework to manage a variety of well known strategies for the dynamic SPT.Unlike previous work bas:w ed on Dijkstra's algorithm only, the proposed framework also yields the dynamic version of Bellman-Ford [7,28] and D'Esopo-Pape [56] ones.They consider both arc cost increasing and arc cost decreasing reoptimization case, but the update affects only one arc.In [52], the same authors provide an extension which allows to manage the arc cost change in the case of multiple updates.Although in practice it would seem a very efficient approach, Chan & Yang [12] proved that it is not correct in some case of multiple arc cost increases.
Thomas & White [63] proposed a mathematical model for the problem named "dynamic shortest path with anticipation".It frequently occurs on road networks, where some arcs are congested due to extraordinary events (i.e., car accidents), and a driver can choose to change its route to destination.Nevertheless, if the time to solve the congestion is known, it can be preferable to remain on the same road.
Nannicini et al. [48] proposed a Polynomial-Time Approximation Scheme (PTAS) heuristic for the P2P on dynamic road networks.The algorithm is based on Dijkstra-type searches performed on clusters nodes.The clusters are defined in order to give a bound on the solution performance and to speed up the search to be practically useful within the given time constraints.
Tretyakov et al. [65] try to tackle the SPT reoptimization in the fully dynamic context proposing an approximation method based on landmarks estimation.They justified this approach arguing that the classical exact method are unable to efficiently address instances based on very large graph representing, for example, social networks with hundreds of millions of users and billions of connections.Two improvements to existing landmark-based estimation methods for undirected graph are described.The first improvement is based on the maintaining a shortest paths tree to store the paths between each landmark and every node in the graph, while the second adopts a greedy approach to select the landmarks which provide the best coverage of all shortest paths in a random sample of vertex pairs.
Hong et al. [39] proposed a disk-based approach to discover shortest paths over large dynamic graphs.The disk-based approach divides a large graph into memory-sized subgraphs and loads them into memory to partial processing.They used a relational database (RDB) to maintain an index table that stores the pre-computed shortest segments with distances shorter than a given threshold.This table is used to compute the complete shortest paths using several relational operations.When an arc cost change occurs, only the shortest segments involved in the index table are recomputed.
Apart for what described for the SPT, the reoptimization has been considered also for the All Pairs Shortest Paths (APSP), whose goal is to find the shortest paths between all pairs of nodes in a graph G = (V , A).There are several algorithms that solve the static version of this problem.The algorithm by Fredman & Tarjan (1987) using Fibonacci heaps has a running time of O(mn + n 2 logn), but the best asymptotic bound has been obtained by Takaoka [62], whose algorithm solves APSP in O(n 3 log log n/ log n).
In the fully dynamic APSP, we wish to maintain a directed graph G = (V , A) with real-valued arc costs under an intermixed sequence of Update(x, y, w ) operations, which modify the cost of arc (x, y) to the real value w .
The first dynamic algorithm for handling all pairs shortest paths in a graph was presented by King [45], with the constraint that all costs are positive integers and bounded by a value b.Initially, they proved that any shortest paths tree, where the length of each path is at most δ, can be maintained in time O(mδ), where m is the cardinality of the arcs set, during a sequence of arbitrary number of arc deletions.While, still considering arc deletions only, all pairs shortest paths can be maintained with a forest of n shortest paths trees of depth nb.Finally, they showed how to maintain all pairs shortest paths both in case of arc deletion and insertion, where the insertion/deletion is allowed only for arcs with maximum weight δ.
In Demetrescu & Italiano [18], the authors use the equivalence between APSP and matrix multiplication on the {min, +} semiring [1].Assuming that each arc can assume at most S different real values (each arc can have a different set of real values), they use several data structures to handle both decreasing costs of arcs incident on a single node i, or increasing costs of any arc of the graph.Any Update(x, y, w ) operation can be supported in O(n 2.5 S log 3 n) amortized time.If only decreasing operations are performed in an operation sequence of length (n 2 ), the amortized cost per update is O(S • n log 3 n).

SHORTEST PATHS ON TIME-DEPENDENT NETWORKS
While reoptimization tries to handle sudden and unpredictable changes in the graph, in shortest path problems on time-dependent networks (TDSPP), arc costs are known beforehand and given as a function of time.The growing interest in time-dependent SPP shown in literature can be addressed to the key role that these problems play in logistics, due to their high suitability to model congestion and time delay in transit planning.
One of the early works on the subject is due to Cooke & Halsey [13], who proposed an iterative scheme as extension of Bellman's principle of optimality [7] for the TDSPP, presenting an evaluation of the theoretical computational complexity, although not actually reporting any computational results.Few years later, Dreyfus [22] extended Dijkstra's algorithm to the case of time-dependent scenarios, but the use of this technique is restricted to graph G = (V , A) showing the FIFO property.The FIFO property says that, given (i, j ) ∈ A, if two paths X and Y use the arc (i, j ) and X leaves i at the time τ and Y leaves i at the time τ , with τ < τ , then Y cannot reach j before X .Orda & Rom [54] proved that the TDSPP is NP-hard in non-FIFO networks.On the contrary, the problem appears to be polynomially solvable when G shows the FIFO property, as proved in Kaufman & Smith [44].
Ziliaskopoulos & Mahmassani [67] implemented an algorithm that can be assimilated to a static label correcting technique, once again based on the Bellman's principle of optimality.In their algorithm, the path is calculated starting from the destination node operating backward, and uses the double-ended queue list technique [2] to reduce the number of label corrections.Their approach can handle graph as large street in urban transportation networks, where in the peak period the time costs are discretized into small intervals.Moreover, this technique can be used on graphs which do not present the FIFO property, being thus suitable to the solution of problems arising in contexts different from transportation planning, such as equipment replacement policy, capacity planning and communication networks.
An algorithm with excellent performances in case of time-dependent scenarios is the SHARCrouting (Shortcut+ArcFlags) algorithm: a fast and robust approach for unidirectional routing in large networks.This method was proposed by Bauer & Delling [4] and can be considered an adaptation of the work of Sanders & Schultes [59] to the techniques described in Lauther [46], Möhring et al. [47], and Hilger et al. [37].This algorithm is made up of two phases: a prepocessing phase and an arc-flags phase.In the former, the technique iteratively constructs a contraction-based hierarchy, and subsequently, in the arc-flags phase, it automatically sets arcflags for arcs removed during contraction.
In Nannicini et al. [49], a novel approach based on A * with landmarks (ALT) is described for the computation of P2P on time-dependent road networks.It is defined also an interval of time instants T , a departure time τ 0 ∈ T , in order to redefine the cost function as w T : A × T → R + , and with the goal to find a minimum time-dependent cost γ τ 0 ( p), for a path p = (s = v 1 , . . ., v k = t ), defined recursively: for i = 2, . . ., k.Where λ is a lower bound function, such that ∀(i, j ) ∈ A, and τ ∈ T, λ(i, j ) ≤ w i, j (τ ), and ).This algorithm is based on the A * search, in particular on the time-dependent A * from the source using a set of nodes defined by a time-independent A * from the target.The forward search is performed on G, while the backward one is performed on G λ .
Delling & Wagner [16] adapted the algorithm by Goldberg & Harrelson [34] to handle timedependent graphs.They show that the landmarks found in the pre-processing phase still produce correct results if the costs of the arcs do not drop below their initial value.Therefore no updates on the pre-processing are required in presence of small changes.
Inherently to the A * search on time-dependent road networks, some relevant strategies were developed in Chabini & Lan [11], Goldberg & Harrelson [34], Kanoulas et al. [43], Huang et al. [41] and [49].The basic idea of this technique was a starting point for several subsequent works, see Batz et al. [3] and Delling & Nannicini [15] for example.Moreover, Nannicini et al. [50] present an further elaboration, which can be considered the first attempt to tackle the TDSPP in a bidirectional fashion.
It is well known that in the solution of the SPP the Dijkstra's framework proceeds visiting nodes in circular areas of increasing size, and for this reason should be under-performing according to the computational time in applications with huge and dense networks.In this regards, in the last decades more speed-ups techniques of this framework have been presented.Accordingly to Holzer et al. [38], these can be classified in four different categories.

Goal directed search techniques:
where the cost of the arc, linked to the nodes whose probability of belonging to the shortest path is lower, are increased.The aforementioned A * star search belongs to this category.
Bidirectional search: a second search which starts simultaneously from the destination node is carried over.Approaches of this type, previously described, are those proposed in Ahuja et al. [2] and Nannicini et al. [50].
Bounding boxes: it is adopted a criterion of selection of nodes set.If a group of nodes can be all inserted in a shortest path then the set is considered, otherwise the set is discarded.This strategy has been used in Ertl [24], Wagner & Willhalm [66], Gutman [35], Lauther [46] and Fu et al. [31].
Multi-level approach: introduced by Schulz et al. [60], they are based on the overlay graph concept.Starting from a graph G = (V , A), a multi-level graph M is computed as follows: A is extended by multiple levels of arcs, and for each pair of nodes s, t ∈ V exists a subgraph of M smaller than G such that the shortest distance from s to t in the sub-graph is equal to the shortest distance from s to t in G.Some works which adopt this approach were presented by Bauer et al. [5], Delling et al. [17] and Holzer et al. [38].
Hu & Chiu [40] proposed an algorithm to find K shortest paths on time-dependent graphs.The K paths should not be highly overlapped and their travel times should be comparable.If these two conditions hold, a traveler can choose one of the proposed paths taking in account its personal constraints.The algorithm iteratively finds the K shortest paths, updating opportunely the network and the arcs costs between two consequent search queries.
Sun et al. [61] proposed two algorithms.The first algorithm is a Heap-based Bellman-Ford algorithm to solve the Query FiST problem, where a driver starting at a given time wants to reach the destination in the smallest possible time.The second algorithm is an Extended Bellman-Ford algorithm that solves the Query BeST, choosing the best starting time to avoid congestion.The experimental results show that their algorithms outperform older approaches and are able to solve in few seconds instances with more than 10000 nodes and 20000 arcs.
A new interesting research branch for shortest path problems makes use of neural networks.Huang et al. [42] proposed an approach that models the time dependent graph as a neural network and use the auto-waves generated from the neurons to find the shortest paths.

CONCLUSIONS
In this survey, starting from the origin till the current state of the art, two different kinds of shortest path problem on dynamic networks have been analyzed: reoptimization of shortest paths and time-dependent SPP.The onset of these problems can be traced back respectively to the works of Gallo [32] and Cooke & Halsey [13], both inspired by the seminal algorithm of Dijkstra [21] and Ford Jr [28] for the shortest path problem.In Tables 1, 2, and 3 the most relevant works are listed, respectively surveyed in this paper for root change, arc cost change and time dependent shortest path.More specifically, each table reports the problem in question, the reference, the computational complexity of the proposed algorithm (if specified), and the year of publication.
For the three main problem categories, {P2P, SPT and APSP}, the following notations have been adopted: a + and a − are respectively used to indicate cost increase and decrease for a single arc, while A + and A − are similarly used for batch updates, addressing respectively cost increase and decrease for a whole a set of arcs.Reoptimization of shortest paths tackles a polynomially solvable combinatorial optimization problem in a context in which a previous optimal solution to a closely related instance is known.Most of the scientific effort has been devoted to the design of optimal techniques, in the attempt to devise increasingly performing implementations of algorithms with a common semantic core.It is from this perspective that in future works it might be of great interest an in-depth study of innovative data structures, as major step in the progress towards this goal.O f (m • n) 1990 O f expresses a functional complexity: an algorithm operating on functions has a functional complexity α(q), denoted O f (α(q)), if there is a constant k > 0 such that for an input of dimension q the number of simple function operations performed by the algorithm is bounded by kα(q).APSP Kaufman & Smith [44] O(n 2 ) 1993 considering a consistency condition.Otherwise, see Cooke & Halsey (1966) Time-dependent SPP are shortest path problems whose arc cost function depends on both the arcs and the current instant belonging to a given time horizon.This line of research is of high interest given its suitability to model the occurrence of congestion in real transit planning scenarios.As indicated in the scientific literature, when the instance does not exhibit the FIFO property, the time-dependent SPP is NP-hard.Henceforth, in the near future it can be particularly appealing to explore the possibility of the solution of such intractable instances, and preferably those arising from case studies, by means of heuristic and/or meta-heuristic techniques.
[65] O(k 2 • D 2 ) 2011 k is the number of landmarks, D is the diameter of the graph.P2P {A + , A − } D'Andrea et al. [23] O | B| + | ˆ (G, B)| • k • log n 2013 let β be a batch of updates operations, | B| = β i ∈B |β i |, | ˆ (G, B)|is the sum over all batches of B of the number of vertices affected by each of these batches, and k = O √ m .P2P {A + , A − } Hong et al. [39] O m + m out • m in 2017 m in is the average value of the in degree, and m out the average value of the out degree.Pesquisa Operacional, Vol.37(3), 2017 504 SHORTEST PATHS ON DYNAMIC GRAPHS: A SURVEY algorithm is able to process only a batch of arc deletions and weight increases.Its worst case time complexity is O((|β| + |Q(β)| • k) • log n); 2. the function that solves the dynamic shortest path of only arc insertion and arc cost decrease has a time complexity of O(|β| + |Q(β)| • max{k, k * } • log n) in the worst case, where k * is the minimum integer such that a k * -bounded accounting function exists in the graph after β; 3. finally, the combined method to solve a mixed sequence B = (β 1 , . . ., β h ) of incremental and decremental batches is shown to require O((|B| + |Q| • k) • log n) overall time, where Moreover, if β is a batch of arc update operations, Q(β) is defined as the set of affected nodes caused by the execution of all the operations in β, simultaneously.If the input graph admits a k-bounded accounting function, then the algorithms proposed by D'Andrea et al. have the following theoretical properties:1.the

Table 2 -
Arc cost change chronology., where δ e and δ n are the maximum number of key decrements and the maximum size of the heap, respectively.SPT {A + , A − } Pallottino & Scutellà [55] O(hm + min{hn log n, C p } + min{n log n, C d , kn} 2003 Let K + and K − the set of the edge incremented and decremented, then C p and C d measure the cost perturbation due to the arcs in K + and K − , k ≤ min{n − n r , C d }, where n r is the dimension of the first fragment of the new solution, while h is the number of primal phases of the algorithm.P2P {A + , A − } Thomas & White [63] O(2 L ) 2007 L = |A I |, where A I ∈ A is a set of observed arcs.SPT {a + , a − } + , A − } Tretyakov et al.

Table 3 -
Time dependent chronology.Since the arcs have a time-depend cost in this case are considered both the case of cost increasing and cost decreasing.• M ) 1966 travel time on the arcs are defined in multiple of positive unit of time δ for every time step of the discrete scale S M = {t 0 , t 0 + δ, t 0 + 2δ, . . ., t 0 + Mδ}, M is chosen so that the travel times are defined for any t ∈ S M O(| f uv | + | f vw |) 2009 f uw (t) = (t + f uv (t)) for a path u, v, w .In general, f (t) is a weight function, associated to the arc, that specifies the travel time at the endpoint of the arc when the arc is entered at time t.