Abstract
We deal with an algorithm that, once origin and destination are fixed, individuates the route that permits to reach the destination in the shortest time, respecting an assigned maximal travel time, and with risks measure below a given threshold. A fluid dynamic model for road networks, according to initial car densities on roads and traffic coefficients at junctions, forecasts the future traffic evolution, giving dynamical weights to a constrained shortest path algorithm. Simulations are performed on a case study to test the efficiency of the proposed procedure.
1. Introduction
Traffic congestion on networks occurs in presence of an excess use of vehicles on a portion of roadway and is characterized by stopped or stop-and-go traffic, slower speeds, longer trip times, and increased queueing. Incidents (such as accidents or even a single car breaking heavily in a previously smooth flow) may cause ripple effects which then spread out and create a sustained traffic jam. The presence of hard congestions on urban networks provoke delays, which may result in late arrival and interference with emergency vehicles passage to reach their destinations. The shortest path is not often the less congested one and/or the most safe one, so it is crucial to forecast travel times and to find the shortest path taking into account the traffic conditions and the risks along the path.
Finding the shortest paths is a classical network optimization problem and it has a great practical interest, with a wide variety of real world applications, such as transport, communication, and distribution networks, for which finding alternative paths plays an important role, in particular when some nodes are temporarily unreachable through the optimal route, because some links are obstructed or unavailable.
In such a context, we propose an algorithm that, once an origin and a destination on a graph are fixed, identifies the path that connects and and minimizes forecasted travel times, satisfying a maximal travel time and a maximal accepted risks threshold. In particular, following [1] and considering additional constraints on risk levels and dynamical travel times, we use a particular extension of the generic label-correcting method for solving the classical single-origin all-destinations shortest path problem (see, e.g., [2, 3]). The aim is to satisfy the user request: a driver could prefer a route with minimal travel time even if the trip is not safe, a longer but with no risks trip, or a safe and short path.
Here the travel times are estimated using a fluid dynamic model (see [4, 5]), where the cars evolution on each road is given by a conservation law [6β8], while the dynamics at junctions is uniquely solved adopting the following rules: the incoming traffic at a node is distributed to outgoing roads according to some fixed distribution coefficients; drivers behave so as to maximize the flux through the junction. A further rule (yielding criterion) is needed if the number of incoming roads is greater than that of outgoing ones.
The algorithm, that allows to identify the optimal path, is as follows. Fix an origin and a destination in a road network graph. From the initial densities on roads, we predict future densities and then travelling times on all network roads. The latter are the weights of a Constrained -Shortest Paths algorithm (CKSPa). Using a further procedure (analyzed in [9]), that computes the trajectory of a car on a network, we compute the time at which a car reaches the successive node . At , if the current density conditions are different from the forecasted ones, average density values on roads are computed invoking again the simulator with new initial conditions and the new densities are used as weights (travel times) that the CKSPa needs to select the optimal arc among those outgoing from . The time a car needs to cover the latter arc is computed; at , new weights are obtained by the density values and the CKSPa indicates the new arc of the optimal path; and so on, until the destination is reached.
The goodness of this procedure is studied via simulations (numerics are obtained using [10β12]). We consider the case study of a portion of the Caltanissetta urban network, in Italy, and determine through the CKSPa the optimal route connecting an origin and a destination . It is shown that the time to cross the optimal route is lower than times needed to cover all the other possible paths joining and . Notice that the optimal path is time-variable, as weights continuously change due to the densities evolutions on road. Hence different paths are found if the travel starts in different times with different traffic conditions.
We remark that the fluid dynamic model needs real traffic data as initial densities on the road network in order to obtain simulations reproducing real phenomena. Then, the idea is to get data detected by special sensors installed in some points of each road or by databases containing traffic information. A procedure to reconstruct the initial density by detected real traffic data and to calibrate the fluid dynamic model is shown in [13].
The paper is organized as follows. Section 2 reports the model for urban networks, giving details about the construction of Riemann Solvers at junctions and numerical schemes for densities on roads. In Section 3, the Constrained -Shortest Paths Problem is described. The integration of the fluid dynamic model and the CKSPa is presented in Section 4. Finally Section 5 deals with simulations for the case study. The paper ends in Section 6 through conclusions.
2. Fluid-Dynamic Traffic Flow Model
A road network is described by a couple , where is the set of roads, modelled by intervals , , and the collection of junctions. On each road, the traffic evolution is given by the conservation law: where represents the cars density, is the maximal density, while is the flux with the average velocity. We assume that(F) is a strictly concave function such that .
Choosing a decreasing velocity function , , and setting , a flux function ensuring (F) is which has a unique maximum .
Dynamics at junctions is described solving Riemann Problems (RPs) and Cauchy Problems with a constant initial datum for each incoming and outgoing road (see [4, 5]).
Fix a junction of type ( incoming roads , , and outgoing roads , ) and an initial datum .
Definition 1. A Riemann Solver (RS) for the junction is a map that associates to a vector so that the solution on an incoming road is the wave and on an outgoing one is the wave . We require the following conditions hold: (C1) ; (C2) on each road the wave has negative speed, while on each road the wave has positive speed.
If , a possible RS at is defined by the following rules:(A)Car traffic is distributed at according to some coefficients, collected in a traffic distribution matrix , , , , . The column of indicates the percentages of traffic that, from the incoming road , distribute to the outgoing roads.(B)Fulfilling (A), drivers maximize the flux through .If , a further rule (a yielding criterion) is necessary:(C)Assume that not all cars can enter the outgoing roads, and let be the amount that can do it. Then, cars come from the first incoming road , where is the right of way parameter of road , , and .Assuming an initial datum and the flux function (2), the solution to the RS at is defined by where is the map such that for every and for every .
2.1. Riemann Solvers
Focus on a junction of type. We indicate the cars density on incoming and outgoing roads, respectively, by , , , . From condition (C2), fixing the flux function (2) and assuming as the initial datum of an RP at , the maximal flux values on roads are defined by
2.1.1. A Junction
For a junction, with incoming road indicated by 1 and outgoing one by 2, the flux solution to the RP at is , where .
2.1.2. A Junction
Consider a junction and label the incoming road by 1 and outgoing roads by 2 and 3. If and indicate, respectively, the percentage of cars that, from road 1, goes to the outgoing roads 2 and 3, the flux solution to the RP at is , where .
2.1.3. A Junction
Fix a junction and indicate by 1 and 2 the incoming roads, and by 3 the outgoing road. In this case, we have only a right of way parameter, . Since, from rule (B), the aim is to maximize the through traffic, we set . Introduce the following conditions:(A1); (A2).
If , then . If , we have the following:(i), when (A1) and (A2) are both satisfied;(ii), when (A1) is satisfied and (A2) does not hold;(iii), when (A1) is not satisfied and (A2) holds.
Conditions (A1) and (A2) are never both false, otherwise .
2.1.4. A Junction
For a junction of 2βΓβ2 type, with incoming roads 1 and 2, and outgoing roads 3 and 4, the traffic distribution matrix assumes the form: where and are the probabilities that drivers go, respectively, from road 1 and road 2 to road 3 and , . Let us suppose that in order to ensure uniqueness of solutions.
From rule (A), it follows that , . From rule (B), we have that the incoming fluxes , , are solutions of the linear programming problem max (), with , , , .
Observe that, for all the examined junctions types, once is known, is found by (3).
2.2. Numerical Approximations
To construct numerical approximations for the density , whose evolution is ruled by (1), we apply the Godunov scheme (see [10β12]). Assume the flux (2). We introduce a numerical grid with(i) being the space grid size on each road ;(ii) being the time grid size on the time interval ;(iii) and , respectively, being the number of time and space nodes of the grid;(iv), for and , being the grid points.
Using the notation , the Godunov scheme is expressed as follows: where and satisfy the CFL condition , and is the numerical flux given by
Boundary conditions are imposed for incoming roads not linked on the left and outgoing roads not linked on the right. In particular, for roads connected at the right endpoint, the interaction at a junction is given by while, for roads connected at the left endpoint, we have where and are the fluxes, respectively, on incoming and outgoing roads, computed using RSs at junctions.
3. Constrained K-Shortest Paths Problem
Consider a road network and an integer . Assigned an origin and a destination , according to the user profile and hence the available travelling time and the maximal accepted risk, the problem of finding alternative paths from to is known as Constrained -Shortest Paths Problem, CKSPP. In particular, we refer to a specified constraints class, the Recursive Path Constraints, RPC, which considers more arcs in one time, evaluating their admissibility, conditioned on the presence of previous arcs in the path.
We deal with a modification of the study proposed in [1], taking into account(i)an origin and a destination ;(ii)a maximal number of paths to generate;(iii)time instant in which the request by the user occurs;(iv)predicted travel times , dependent on the day hours, for the arc , that connects nodes and belonging to ;(v)risk for the arc , joining nodes and in ; the risk measure goes from 0 (extremely safe) to 10 (extremely unsafe);(vi)a maximal time to complete the path;(vii)a maximal risk level .
The aim is to individuate paths () from the origin to the destination which minimize the travelling time, under constraints on the maximal path time and the risk level. We indicate by the risk to reach the node through the -th path , by the number of occurrence of node in the -th path, and by an upper bound for the length of the -th path from the origin to the node .
A -th path is admissible if and for all .
In what follows we use the following dominance criterion: let and be two -th paths to which labels and are associated. Then, dominates if: ; ; ; at least one inequality is satisfied in strict sense.
We report the pseudocode of the proposed algorithm. Initially, For all ,(1)remove a node from ; find, if it is possible, the smallest index such that(a)if set Erase the paths , , dominated by , where is the greatest index such that , and .
Update in coherent way , , and for all such that is not dominated;(b)if
set Erase the paths , , dominated by , where is the greatest index such that , and .
Update in coherent way , , and for all such that is not dominated; for all : if has been erased, remove from ; otherwise, if , add to .(2)if , go to Step 1.
According to the node selection policy adopted in Step 1, a label setting method is used (see [1]), in which, at each iteration, the node exiting , is the node with the minimum label. Due to the assumption of the nonnegative arc lengths, node , once removed, has a permanent label value.
4. Integration of Traffic Flow Simulator with CKSPa
Fix an origin and a destination in a urban network graph. The optimal route, joining and , is found using the CKSPa and weighting the arcs with travel times.
As risk coefficients we consider earthquakes, high accidents rate, landslides, floods, high crime zones, and so forth. To each arc we associate a risk, given as the average value on all risk parameters related to the arc with values ranging from 0 to 10. The latter are obtained from historical series.
Variable travel times are computed using the fluid-dynamic model. Fixing the arc , that connects nodes and belonging to , the time to cross , namely, the weight , follows the relation: with being the velocity and being the length of .
Since the traffic conditions can change during the trip, when the passenger is near a junction, a new simulation is invoked if current densities are different from those predicted by the model. The time in which a single vehicle reaches the junctions is estimated considering that the position of the car driver, , along a arc is obtained solving the Cauchy problem: where is the initial position at the initial time (see [9]).
For finding the optimal route on the network in a generic time instant , the CKSPa individuates, among all possible arcs exiting from the origin , the arc with minimal travel time connecting with the node . The second arc of the optimal path is found estimating the time a car needs to cross the arc according to (17). At the time instant , arc weights are updated using (16) invoking a new simulation if it is necessary and the CKSPa indicates, among all arcs exiting from the node , the arc , that connects the nodes and with weight . The time a car needs to cover is computed again using (17); at , new arc weights (if it is necessary) are obtained and the CKSPa determines the new arc of the optimal path; and so on, until the destination is reached.
Notice that the choice of the initial time strongly influences the evolution of the optimal path. This is a direct consequence of the temporal evolution of densities on arcs.
5. A Case Study
The case study is a portion of the real urban network in Caltanissetta, Italy. In Figure 1, we report the geographical map of the chosen network, inside the rectangle, with origin and destination points.
The network as in the graph of Figure 2 consists of 47 nodes, labelled as , , and 13 roads, identified by 86 segments (see Table 1). We have 10 incoming roads (1, 5, 24, 35, 40, 47, 52, 57, 69, 83) and 11 outgoing ones (2, 4, 22, 26, 30, 36, 38, 45, 51, 55, 65), while the others are inner.
Fixing the origin and the destination , four different paths , , indicated as sequential ordered sets of roads, connect and : where , , , and are defined as Risk parameters for all road segments are in Table 2.
The analysis of the various paths is made considering six different simulation cases whose characteristics are the following.
Case A
Initial conditions are zero for all roads (namely empty network); boundary data: 0.1 for road 35; 0.2 for roads 1, 5, 40, 47, 52, and 57; 0.4 for road 24, 69, and 83; 1 for all outgoing roads; and maximal time and maximal risk level equal to 200 and 100, respectively.
Case B
Initial conditions are zero for all roads; boundary data: 0.1 for road 35; 0.2 for roads 1, 5, 40, 47, 52, 57, 69, and 83; 0.4 for roads 24; 1 for all outgoing roads; and maximal time and maximal risk as in Case A.
Case C
Initial conditions are zero for all roads, with the exception of roads 70, 71, 76, and 82 with initial datum 0.3; roads 67 and 68, for which the initial datum is 0.4; roads 9, 11 and 12 with initial datum 0.7; boundary data: 0.01 for roads 47, 52, and 57; 0.1 for road 35; 0.2 for roads 1, 5, and 40; 0.3 for roads 69 and 83; 0.4 for road 24; 1 for all outgoing roads; and maximal time as in Case A and maximal risk level .
Case D
Initial conditions are zero for all roads, with the exception of roads 13 and 15 with initial datum 0.5; roads 9, 11, and 12, for which the initial datum is 0.7; roads 18, 19 and 20 with initial datum 0.9; boundary data: 0.01 for roads 52, 57, 69, and 83; 0.1 for roads 1, 5, 24, 35, 40, and 47; and 1 for all outgoing roads. Maximal time as in Case A and maximal risk level are equal to 500.
Case E
Initial conditions, boundary data, and maximal time are as in Case A; maximal risk level is .
Case F
Initial conditions, boundary data, and maximal time are as in Case A; maximal risk level is .
Notice that a boundary datum equal to on outgoing roads indicates that high congestion phenomena may occur when the car traffic flows out of the network. Moreover, the difference in initial conditions discriminates the traffic behaviour, hence leading to a probable different choice of the optimal path.
For all previous simulation cases, right of way parameters and distribution coefficients are chosen as in Tables 3, 4, and 5.
5.1. Simulation Results
Densities on network roads are evaluated numerically by the Godunov scheme, with space step and time step determined by the CFL condition.
For each simulation case we have a different optimal path, as reported in Table 6, due to the different evolution of densities when different maximal risk levels and initial and boundary conditions are used. The maximal travel time constraint is satisfied in all cases by the optimal path.
The goodness of the obtained results is also confirmed estimating the time a car needs to reach the destination , starting from the origin (numerics are in [9]), in the different cases for all the alternative paths (see Table 7, where lengths in Kilometers and the sum of risks along paths, Sr, are also reported).
First of all, notice that, as maximal risk levels are very high for Cases A, B, C, and D, the computation of the optimal path in such cases is influenced only by times . In Case A, the optimal path is the shortest one, , unlike Case C, where the optimal route has the highest length. In fact for Case C, is more congested than , , and .
Cases A, E, and F have the same times as they have the same initial conditions and boundary data but a different maximal risk level. However, while Cases A and F have the same optimal route , since it respects risk constraint, in Case E, due to the maximal risk level, lower than those of Cases A and F, is the better path. Notice that the determination of -Shortest Paths together with the computation of the total risk associated to each path allows to choose not the optimal path in terms of travel times but the one with a lower level risk, and a not far from the lowest one.
We make a further analysis on the density evolutions for some roads of the junction . Notice that, from road 7, a driver can choose road 9 or 43. In Figures 3 and 4, we report the behaviour of densities on such roads for simulation Cases B and C.
(a)
(b)
(a)
(b)
In Case C, road 43 belongs to the optimal path and its density grows slowly, as the one of road 9 does. Indeed, the density values on the two roads are very different; road 9 has a higher traffic due to the superpositions of more rarefaction traffic waves with respect to road 43 with 0.060828 and 0.413329 maximal densities on roads 43 and 9, respectively.
Case B is more interesting. Road 9 belonging to the optimal path has a quick evolution of density with respect to the one of road 43. High-density fluctuations are the result of dynamics at junctions , and : road 8 shock waves coming from roads 41 and traffic flow coming from road 40. In particular the maximal value of the density reached on road 9 is 0.346572, while on road 43 the density is less than or equal to 0.060384. This does not contradict the fact that the average travel time is minimized going on road 9, since the path is less congested than the paths and , determined by the choice of road 43 at junction .
6. Conclusions
In this paper, it is proposed an algorithm that, given an origin and a destination on a road network graph, computes the optimal paths to follow using a modified version of a CKSPa, whose weights are determined by a fluid-dynamic model for road networks.
The procedure for finding the best paths has been tested via simulations on a real portion of the urban network in Caltanissetta, Italy. The optimal path connecting and has been evaluated using as weights the predicted travel times along roads, respecting the constraints on the maximal travelling time and the maximal risk coefficient accepted on the path. The goodness of the optimal path has been confirmed determining the trajectory of a car on it; it is proven that the time to cross the optimal route is lower than times needed to cover all the other possible paths connecting and . The dependence of the algorithm from the traffic conditions has been analyzed.