---
category: literaturenote
citekey: laarabirealtimefastestpathalgorithm
title: Real-timefastest path algorithm using bidirectional point-to-point search on a Fuzzy Time-Dependent transportation network
authors: "Laarabi, Mohamed Haitam; Boulmakoul, Azedine; Mabrouk, Aziz; Sacile, Roberto; Garbolino, Emmanuel"
publication: 2014 International Conference on Advanced Logistics and Transport (ICALT)
url: "https://www.academia.edu/18928362/Real-timefastest_path_algorithm_using_bidirectional_point-to-point_search_on_a_Fuzzy_Time-Dependent_transportation_network"
zotero_key: HNZXTB6H
zotero_storage: Q94C5QUF
collections: R / voronoi
folder: Liiklussageduse kaudne hindamine/04_Tehniline
firstAuthor: "Laarabi, Mohamed Haitam"
status: converted
---
# Real-Time Fastest Path Algorithm using Bidirectional Point-to-Point Search on a Fuzzy Time-Dependent Transportation Network

Mohamed Haitam Laarabi<sup>∗</sup> , Azedine Boulmakoul† , Aziz Mabrouk‡ , Roberto Sacile<sup>∗</sup> , Emmanuel Garbolino§ <sup>∗</sup>Department of Computer science, Bioengineering, Robotics and Systems Engineering, University of Genoa, Italy. Emails: haitam.laarabi@unige.it, roberto.sacile@unige.it

†LIM/IST Lab., Computer Sciences Department, Mohammedia Faculty of Sciences and Technologies, Morocco. Email: azedine.boulmakoul@yahoo.fr

‡Department of Mathematics and Computer Sciences, Faculty Polydisciplinary of Tetouan, Morocco. Email: aziz.mabrouk@gmail.com

§Crisis Research Centre - CRC, MINES ParisTech, 06904 Sophia Antipolis Cedex, France.

Email: emmanuel.garbolino@mines-paristech.fr

*Abstract*—Nowadays, management of information systems within the transport industry for effective and efficient decision making requires the use of latest technological development such real-time monitoring and traffic simulation. This will lead to the development of methods and algorithms, for instance, of fleet management, routing within a specified time windows and risk assessment. In this paper we will focus on proposing a method for finding itineraries that has the fastest travel-time on a timedependent transportation network. It is modelled as a weighted graph, whose weight are time duration that depends on the time at which the road segment is traversed. This problem can be solved in polynomial time with a Single-Source algorithm, by the definition of some restrictions on the edge weights. However, its application on a graph with several millions nodes and edges is highly memory and time consuming. Alternatively, a bidirectional Point-to-Point path search, using A-star, offers far better performance. The novelty of the proposed approach is based on the modelling of an appropriate degree of dynamics of a real-world network by considering the fuzzy nature of the travel-time using Zadeh's fuzzy concept. In addition, we speed-up search by integrating a pre-computation phase, which consists in network partitioning using network Voronoi diagrams with implicit calculation of the lower-bound travel-time label for each node-to-border, border-to-border and border-to-node. Those labels should never overestimate the travel-time at any moment, to ensure the reliability of the suggested heuristic cost function. International Conference on Advanced Logistics and Transport 978-1-4799-4839-0/14/\$31.00 ©2014 IEEE 109

*Keywords*—*Fuzzy Time-Dependent Network, Bidirectional Point-to-Point Search, A-star, Network Voronoi, Fuzzy Travel-Time, Triangular Fuzzy Number, Boost Graph Library*

#### I. INTRODUCTION

Decision makers in the transport industry can easily obtain computed paths with the easy-to-use route planning webapplication, by only defining the Origin/Destination points, and optionally other criteria such travel-time, total path length and estimated travel cost. Typically the fastest path for goods delivering to multiple destinations is a very critical issue related to shipment cost mitigation. Usually only static information, gathered from past feedback studies, is taken into account when computing such algorithms. Whereas travel-time over a road segment depends on the traffic density within a specific time window. This dependence requires a full knowledge on real-time traffic density, weather condition, and other factors. Hopefully, latest information and communications technologies made it possible: Sensors positioned in different places, namely strategic spots in road network, vehicles and weather stations (see [1], a functional Intelligent Transport Systems developed in our laboratory and used by the leading Italian Oil company ENI). These data are, then, collected through wireless and mobile communication technologies such GPRS [2], or through a traffic simulation system [3] and stored in large databases. Yet automated decision support systems [4] can mine into these data, produce statistical reports, and use sophisticated mathematical models for the prediction, to a certain degree of accuracy, of the traffic density evolution.

In a real-time situation, minimizing the travel-time from point A to a point B, requires the consideration of a timedependent transport network. Since the time distance between two adjacent points depends substantially on the exact moment when a vehicle is crossing the link. Furthermore, in real world networks the time distance cannot be an exact value, since it depends on driving behaviour, lane position, speed and density. This uncertainty can be modelled with the Fuzzy Logic [5] that catch properly the fuzziness of travel-time. We suggest in this paper a *Fuzzy Time-Dependent Network*, which should deal with a goal-driven fuzzy modelling and fuzzy ranking as decision making tools to look for the fastest path.

Besides, under reasonable assumptions, Single-Source algorithm (as Dijkstra's) already solved, in polynomial time the fastest path-finding problem on a time-dependent graph. However, in a large and detailed network, the computation of these kind of algorithms consume considerably the CPU time, and therefore, inconvenient for a real-time processing system. Fortunately, Point-to-Point algorithms that use some speedup techniques exists. These algorithms use heuristic strategies, which impose search restriction on specific road network and ignore all less significant ones. As a result, we avoid scanning nodes that are not part of the potential node sets of the fastest

,

path. It is also possible to use mathematical models such the mixed-integer linear/non-linear systems. A bidirectional search is even faster, as it puts restriction on forward search by bounding the set of nodes that will be explored by the backward search.

Executing a pre-computation tasks before going online, is proven as a very efficient step to enhance the accuracy of the heuristic function that are supposed to direct the search towards the goal and eliminates unnecessary scanning. in this paper, the pre-computation stage consist in breaking-down the network to a non-overlapping sub-networks with Network Voronoi Diagrams [6]. Then a fuzzy lower-bound graph is computed by considering the minimum possible fuzzy traveltime that never overestimated it. This fuzzy lower-bound graph represents a reliable information on which heuristic function can use to lead the search.

The application of the proposed algorithm is a part of set of works on fleet management and dynamic analysis of risks related to Dangerous Goods Transport on European territories [1], [4], [\[7\],](https://www.researchgate.net/publication/49948395_Risk_evaluation_of_real-time_accident_scenarios_in_the_transport_of_hazardous_material_on_road?el=1_x_8&enrichId=rgreq-1fea461b-d699-426f-b06d-4c162c067b8b&enrichSource=Y292ZXJQYWdlOzI2MjI2MjM0MztBUzo5NzEzNDA0OTIzNDk1N0AxNDAwMTY5OTc0Mjk4) [8]. The structure of the paper is organized as follows: Section II introduces the fuzzy time-dependent network with mathematical definitions and illustrations. Section III details the pre-computation phase of the Fuzzy Time-Dependent Fastest Path (F-TDFP), which is based on Network Voronoi Diagrams and define the fuzzy lower-bound traveltime. Section IV deals with the online stage of the F-TDFP that uses a bidirectional A-star search. In Section V, we discuss the implementation of the proposed solution by using the C++ Boost Graph Library. Conclusions and prospects are given throughout Section VI.

## II. FUZZY TIME-DEPENDENT NETWORK

# *A. Time-dependent network*

A graph structure can be extended by considering a timevariable edge weight, i.e. the weight of each edge is a function of the departure time at the starting vertex, as shown on Fig. 1. Such network with variable edge weight is called a timedependent (TD) network. The fastest path problem in a timedependent network is called the time-dependent fastest path problem (TDFP). The traditional fastest path problem (FP) is a special case of TDFP with invariable edge length. In the real world TDFP problems arise frequently in transport industry, for instance by considering travel-time (or time distance) as road segment weight, the latter may vary over time mainly due to traffic density, public transport time schedule, accidents or other reasons.

![](_page_1_Picture_6.jpeg)

Fig. 1. Road segment weight as a function of the departure time at the starting vertex A to destination B

The used model is a piecewise linear functions representing the travel-time on a *time-dependent travel-time weighted graph*. Hereinafter, we introduce the definition of the timedependent weight and travel-time function along a path from a source to a destination as in [9]:

*Definition 1:* A Time-Dependent Graph is defined as G(V, E, T) where V = {vi} is a set of nodes and E ⊆ V ×V is a set of edges representing the network segments each connecting two nodes. For every edge e(v<sup>i</sup> , v<sup>j</sup> ) = ei,j ⊆ E, and v<sup>i</sup> 6= v<sup>j</sup> , there is a cost function Wi,j (t), where t is the time variable in time domain T. An edge cost function Wi,j (t) specifies the travel-time from v<sup>i</sup> to v<sup>j</sup> starting at time t (see Fig. 1).

*Definition 2:* Let {s = v1, v2, . . . , v<sup>k</sup> = d} denotes a path which contains a sequence of nodes where ei,i+1 ⊆ E and i = 1, . . . , k − 1. Given a G(V, E, T), a (s, d)-path from source s to destination d as shown on Fig. 2, and a departure time at the source ts, the time-dependent travel-time T T(s, d, ts) is the time it takes to travel the path. Since the travel time of an edge varies depending on the arrival time to that edge, the travel time of a path is computed as follows:

$$TT(s, d, t_s) = \sum_{i=1}^{k-1} W_{i,i+1}(t_i)$$
 (1)

Where

$$t_1 = t_s, t_{i+1} = t_i + W_{i,i+1}(t_i) \text{ with } i \in \{1, \dots, k\}$$

![](_page_1_Picture_14.jpeg)

Fig. 2. A (s, d)-path from source s to destination d

## *B. Fuzzy concept*

*1) Introduction:* Fuzzy Logic represents a continuum degree of logic and it deals with approximate reasoning rather than crisp and fixed logic {true, false}. The asset of this approach is the similarity with real world logic. For instance, in real-world scenarios the travel-time weight on a transport network is neither exact nor crisp, due to driving behaviours and traffic density. Subsequently, the use of approximate crisp values do not portray the real-world complexity of reality as much as fuzzy values. The approach can be, then, extrapolated to all fuzzy attributes of the system such as risk [10], [\[11\].](https://www.researchgate.net/publication/24145345_Utilization_of_accident_databases_and_fuzzy_sets_to_estimate_frequency_of_HazMat_transport_accidents?el=1_x_8&enrichId=rgreq-1fea461b-d699-426f-b06d-4c162c067b8b&enrichSource=Y292ZXJQYWdlOzI2MjI2MjM0MztBUzo5NzEzNDA0OTIzNDk1N0AxNDAwMTY5OTc0Mjk4) The corresponding algorithm of the fuzzy time-dependent fastest path is represented by F-TDFP.

The substitution of a Real Numbers by Fuzzy Numbers, which represents travel-time, will eventually rise the issue of ranking Fuzzy Sets. Since this matter is less obvious and more complex comparing to crisp sets (i.e. Real Numbers). Several studies and propositions have been suggested since Fuzzy Sets introduction by Zadeh in [5]. We have proposed in [12] an original way comparing Fuzzy Sets applied on *Triangular Fuzzy Numbers*, see figure 3. It takes advantage of the topological relationship of two triangles. This allows the Decision Makers to guess the Inclusion Index — in 70% of cases — which is an index indicating the Degree of Inclusion in the minimum (MIN) of two Fuzzy Numbers, a way to approach the "strongly included in": If the TFN A is more strongly included in the MIN(A, B) — minimum of A and B — than the TFN B, means that A ≺ B.

*2) Triangular Fuzzy Number (TFN):* According to [13] TFNs are represented as hk, α, βi —see figure 3 — its mathematical definition is such:

A TFN denoted by Λ = hk, α, βi or Λ <sup>−</sup>,Λ 0 ,Λ + , has the membership function

$$\Lambda (x) = \begin{cases} 0 & \text{for } x \le \Lambda^{-} \\ 1 - \frac{k - x}{\alpha} & \text{for } \Lambda^{-} < x < \Lambda^{0} \\ 1 & \text{for } x = \Lambda^{0} \\ 1 - \frac{x - k}{\beta} & \text{for } \Lambda^{0} < x < \Lambda^{+} \\ 0 & \text{for } x \ge \Lambda^{+} \end{cases}$$
 (2)

with Λ <sup>0</sup> = k, Λ <sup>−</sup> = k − α and Λ <sup>+</sup> = k + β. k is called the kernel (or mean) value of the TFN since its membership value is 1. α, β are the left and right hand spreads of Λ respectively. The support of a TFN within a universal set X is the crisp set that contains all the elements of X that have non-zero membership grades in Λ, i.e. supp(Λ) = {x | Λ(x) > 0}.

![](_page_2_Figure_5.jpeg)

Fig. 3. TFN representation according to the membership function in (2)

For every fuzzy sets A and B, the ranking operators are defined by the following implications:

$$\begin{cases} A \prec B & \Leftrightarrow \partial \left(MIN \subseteq A\right) > \partial \left(MIN \subseteq B\right) \\ A \succ B & \Leftrightarrow \partial \left(MIN \subseteq A\right) < \partial \left(MIN \subseteq B\right) \\ A \simeq B & \Leftrightarrow \partial \left(MIN \subseteq A\right) = \partial \left(MIN \subseteq B\right) \end{cases} \tag{3}$$

and as special case we have

$$\begin{cases} A \prec B & \Leftrightarrow MIN = A \\ A \succ B & \Leftrightarrow MIN = B \\ A \simeq B & \Leftrightarrow MIN = A \text{ and } MIN = B \end{cases}$$
 (4)

*3) Fuzzy weight:* We denote the Fuzzy Weight by <sup>W</sup>f, and we introduce its definition hereinafter:

*Definition 3:* A fuzzy time-dependent graph <sup>G</sup>(V, E, <sup>T</sup>e) is defined with the same topology as graph G(V, E, T). Where the weight of each edge <sup>W</sup>fi,j (<sup>τ</sup> ) is a Triangular Fuzzy Number, such <sup>τ</sup> <sup>∈</sup> <sup>T</sup><sup>e</sup> is an element of the set of fuzzy time distance <sup>T</sup>e. <sup>W</sup>f<sup>−</sup> i,j (<sup>τ</sup> ), <sup>W</sup>f<sup>0</sup> i,j (<sup>τ</sup> ) and <sup>W</sup>f<sup>+</sup> i,j (τ ) are defined and constructed by estimation as suggested by the author in [14].

*4) Fuzzy travel-time:* We introduce the definition of the Fuzzy travel-time, denoted by T Tg, along a path from a source to a destination:

*Definition 4:* The fuzzy time-dependent travel-time T Tg(s, d, τs) at the departure time <sup>τ</sup><sup>s</sup> is computed as follows:

$$\widetilde{TT}(s, d, \tau_s) = \bigoplus_{i=1}^{k-1} \widetilde{W}_{i,i+1}(\tau_i)$$
 (5)

Where

$$\tau_1 = \tau_s, \ \tau_{i+1} = \tau_i \oplus \widetilde{W}_{i,i+1}(\tau_i) \text{ with } i \in \{1, \dots, k\}$$

With L and ⊕ denote respectively the fuzzy summation and addition operators.

#### III. PRE-COMPUTATION STAGE OF THE F-TDFP

## *A. Introduction*

The main factors of comparison between different Fuzzy Fastest Path Search Algorithms are the reliability and the performance of finding the optimal solution within a reasonable amount of time. For that reason, several speed-up techniques exist, and in this work we use a heuristic function based on the method proposed by Demiryurek in [9]. The role of this heuristic function is to direct the search towards the goal avoiding thereby unnecessary scan of vertices that are far from being part of the fastest path. That is considered as reliable indicator of the potential nodes. This can be done by performing a pre-processing that consists in:

- Definition of the seeds of each region;
- Partition the network to non-overlapping regions as defined in Definition 5 — using a specific metrics;
- Computation of the lower bound border-to-border, node-to-border, and border-to-node fuzzy travel-time labels, such that never overestimate a travel-time on any road segment;
- Representation of the heuristic function as LT Tg(s, τ ) (see Definition 7), the lower bound travel time function from a source s to a destination d.

*Definition 5:* The partition of the lower bound graph G(V, E) is a set of sub-graphs {S1, S2, . . . , Sk} where a S<sup>i</sup> = (V<sup>i</sup> , Ei) includes node set V<sup>i</sup> with V<sup>i</sup> ∩ V<sup>j</sup> = ∅ and ( S<sup>k</sup> <sup>i</sup>=1 Vi) = V , for all i 6= j.

*1) Minimum fuzzy weight:* Hereinafter we define the minimum fuzzy weight for the computation of the lower bound graph G(V, E):

*Definition 6:* Given a <sup>G</sup>(V, E, <sup>T</sup>e), the corresponding Lower bound Graph G(V, E) is a graph with the same topology as graph <sup>G</sup>(V, E, T), where the weight of each edge <sup>W</sup>fi,j is fixed (not time-dependent) and is equal to the minimum possible fuzzy weight <sup>W</sup>fmin i,j where <sup>∀</sup>ei,j <sup>∈</sup> <sup>E</sup>, <sup>τ</sup> <sup>∈</sup> <sup>T</sup>e, <sup>W</sup>fmin i,j <sup>W</sup>fi,j (<sup>τ</sup> ).

*2) Lower bound fuzzy travel-time:* Having the minimum fuzzy weight for each road segment, we can compute the fuzzy lower-bound travel-time (LT Tg) by calculating the fastest path from a source <sup>s</sup> to a destination <sup>d</sup>. The LT T<sup>g</sup> is then defined hereafter:

*Definition 7:* The fuzzy lower-bound travel-time LT Tg(s, d) of a (s, d)-path is less than the actual travel-time along that path and computed with respect to G(V, E) as

$$\widetilde{LTT}(s,d) = \bigoplus_{i=1}^{k-1} \widetilde{W}_{i,i+1}^{min}, i \in \{1,\dots,k\}$$
 (6)

Where

$$L\widetilde{TT}(s,d) \preceq \widetilde{TT}(s,d,t_s)$$

With L denotes the fuzzy summation operator.

# *B. Network Voronoi partitioning*

Network partitioning with Voronoi diagram, consists in dividing the space into a number of regions. This done by specifying beforehand a set of seeds (or generator points) that match each region. A region is constructed by considering all points closer to one seed than to any other. The metrics on which is based "closer", can be defined according to ones needs: Euclidean, Manhattan, etc. Okabe in [6] summarizes the work done over the last decades on the network Voronoi diagrams that defines the metrics as weighted shortest path distances, to overcome the limitation of the planar Voronoi diagrams. Mabrouk in [15] suggests a fuzzy network Voronoi with a fuzzy weighted metrics. In the following we suggest partitioning the network using a fuzzy travel-time metrics.

#### *C. Network Voronoi diagram with a fuzzy fastest path metrics*

We define the Fuzzy Voronoi Graph (*F-VG*) by breaking down the graph to sub-graphs such that each sub-graph contains the closest — in terms of fuzzy fastest path — vertices and edges to predefined Voronoi seeds [15]. The Fig. 4 shows an *F-VG* partitioned to three regions taking into consideration three predefined Voronoi seeds {p1, p2, p3}. Definition 8 gives a mathematical formulation of the Fuzzy Voronoi Graph.

![](_page_3_Picture_10.jpeg)

Fig. 4. Voronoi diagrams using a fuzzy fastest path metrics. p1, p<sup>2</sup> and p<sup>3</sup> are respectively three seeds from which the F − V G is generated

*Definition 8:* Let G(V, E) be a graph with V and E are respectively a set of vertices and edges. Let P = {p1, . . . , pk} be the set of Voronoi seeds for the *F-VG* corresponding to graph <sup>G</sup>. Consider T Tg<sup>∗</sup> (v, w) as the optimal travel-time (fastest path) from a node v to a node w. The *F-VG* with seeds P breaks down the graph G to k sub-graphs {S1, S2, . . . , Sk} such as:

$$S_i = \{ \forall v \in V / \widetilde{TT}^*(p_i, v) \preceq \widetilde{TT}^*(p_j, v), \forall j \in [1, k], i \neq j \}$$

#### *D. Lower bound travel-time on a partitioned graph*

As mentioned beforehand, we need to use an estimator that never overestimates the travel-time between a certain node v belonging to the fastest path and the destination node d. For this reason, [9] suggests to compute a lower-bound heuristic estimator of the start node s to d by the formula 7. The Fig. 5 graphically represents the lower-bound travel time on a partitioned graph.

$$\widetilde{h}(s) = \widetilde{LTT}(s, b_s) \oplus \widetilde{LTT}(b_s, b_d) \oplus \widetilde{LTT}(b_d, d)$$
 (7)

With ⊕ denotes the fuzzy addition operator.

Therefore, <sup>e</sup>h(s) will never overestimate the time-dependent fuzzy fastest path from <sup>s</sup> to <sup>d</sup>, since <sup>e</sup>h(s) LT Tg(s, d) T Tg(s, d, τs), for any <sup>τ</sup><sup>s</sup> <sup>∈</sup> <sup>T</sup>e. In this situation we will only need to store the lower bound travel-time labels of the border-toborder, node-to-border, and border-to-node, instead for every pairs of nodes.

![](_page_3_Picture_20.jpeg)

Fig. 5. Computation of the lower bound border-to-border, node-to-border, and border-to-node fuzzy travel-time labels, such that never overestimate a travel-time on any road segment

## IV. REAL-TIME STAGE OF THE F-TDFP

#### *A. Introduction*

The input of the time-dependent fastest path algorithm should be a time-dependent network, a source s, a destination d, and a departure time τs. As output we should get the shortest (s, d)-path denoted as F-T DF P(s, d, τs).

## *B. Point-to-Point algorithm*

Finding shortest paths is a fundamental problem with numerous applications. There are several variations, including single-source, point-to-point, and all-pairs shortest paths. The single-source problem with non-negative arc lengths has been studied most extensively [16]–[19]. In this paper, we study another common variant, the point-to-point shortest path problem on directed graphs with non-negative arc lengths (the P2P problem). We are interested in exact shortest paths only. Unlike the single-source case, where every vertex of the graph must be visited, the P2P problem can often be solved while visiting a small sub graph. Therefore, we measure the algorithm performance in terms of its efficiency the ratio between the number of vertices scanned by the algorithm and the number of vertices on the shortest path.

Dijkstra's algorithm as for other single-source algorithms, such Contraction Hierarchies (CH) [20] and SHARC [21], are not as efficient with dynamic scenarios as for static ones, contrary to what [22] claimed. Several variation of Dijkstra's algorithms and speed-up techniques exist to improve single-source algorithms efficiency, but it remains far behind Point-to-Point algorithms efficiency. The latter executes a pre-computation techniques to speed-up the processing. For instance [23]'s Landmark technique use a pre-calculated landmarks to determine the closest landmark to the destination, knowing that the information that indicates the shortest paths linking all landmarks are already calculated. The shortest path is found using the ALT algorithm [24]. The author in [9] proposes another approach based on a bidirectional time-dependent Astar search using the stated pre-computed lower-bound graph, which does not overestimate a travel-time on any road segment. A heuristic function calculate an estimation distance to the destination using the lower-bound graph during the real-time stage.

In this paper, we consider the Demiryurek's approach [9] as basis for our model. It is worthwhile to notice that the network should not violate FIFO (First In First Out) property, since the path search is proven to be NP-Hard in a non-FIFO network, where waiting at nodes and overtaking are not allowed.

#### *C. A-star forward search*

The A-star algorithm uses two cost functions as shown on Fig. 6. Let considers v as an intermediate vertex within the (s, d)-path. That is what makes f(v) = g(v) + h(v):

- g(v) The shortest travel-time of the (s, v)-path
- h(v) The estimated shortest travel-time of the (v, d) path

Therefore, by zeroing h(v) or g(v), A-star becomes Dijkstra's algorithm or Best First Search, respectively. The balancing of the two cost function makes A-star a fast Point-to-Point shortest path algorithm. The goal is to propose the suitable h(v) cost function.

![](_page_4_Picture_8.jpeg)

Fig. 6. Illustration of the two cost functions of the A-star algorithm: g(v) and h(v)

## *D. A-star bidirectional search*

The use of suggested estimator h(v) for a A-star forward search is sufficient to find the TDFP within a reasonable amount of time. Yet, we still have another way to further speed-up the computation by applying a bidirectional search, that reduce by the backward search the potential nodes to scan with the forward search, as shown in Fig. 7. The issues with bidirectional search is that, on one hand, we still do not have the arrival time to begin with the backward search, on the other hand, is it not obvious to satisfy the consistency of the estimator h(v), since the forward and backward search use different distance functions.

![](_page_4_Figure_13.jpeg)

Fig. 7. Bidirectional Time-Dependent Fastest Path problem (B-TDFP)

The first issue is addressed by considering the arrival time of the lower-bound travel-time of the destination. regarding the second issue, the searches stop when we identify all potential nodes, that will be used to select the best node satisfying the shortest path problem. The equivalent fuzzy cost function is

$$\widetilde{f}(v) = \widetilde{g}(v) \oplus \widetilde{h}(v)$$
 (8)

# V. IMPLEMENTATION WITH BOOST GRAPH LIBRARY

#### *A. Introduction*

Boost Graph Library (or BGL) is a set of libraries for the C++ programming language that furnishes extensive tools and support for graph structures such: Adjacency List, and algorithms such: Dijkstra, A-star, etc. BGL also provides mechanisms to extend and customize the graph structures and algorithm behaviours. Furthermore, most of the Boost libraries are licensed under the Boost Software License, designed to allow Boost to be used with both free and proprietary software projects.

### *B. Customized Adjacency List*

BGL provides the users with an Adjacency List structure to build a graph and browse it. The Fig. 8 shows an Adjacency\_list encapsulated in a Sub-graph, which allows having a hyper graph (node as graph) for fuzzy network Voronoi partitioning. Then Adjacency\_list attributes are mentioned such: data structure of vertices (VertexList) and edges (OutEdgeList); directed, undirected or bidirectional; Properties to inject in vertices, edges and subgraphs. In the case of EdgeProperties, we have injected a property\_map that bind the tag edge\_weight\_t, that identify edge weight, with the designed TravelTime, which has a TiangularFuzzyNumber value type. As a result, we obtain a hyper weighted graph with a fuzzy travel-time weight.

![](_page_5_Picture_1.jpeg)

Fig. 8. An adjacency list graph structure with fuzzy travel-time weighted edges

#### VI. CONCLUSION AND PERSPECTIVES

The paper introduces a bidirectional Point-to-Point fastest path search algorithm on a fuzzy time-dependent graph. The pre-computation stage of the algorithm consists in breaking down the network to non-overlapping partitions and calculating the lower-bound travel-time graph, using network Voronoi diagrams. During the real-time stage, the algorithm executes a bidirectional A-star search, where the forward search computes the time-dependent fastest path, and the backward search estimates the travel-time to the destination with a predefined heuristic function using the lower-bound graph. This technique allows a substantial reduction of the number of fastest path's potential nodes. Meanwhile, the Fuzzy approach offers a better modelling of the travel-time uncertainty. Finally, Boost Graph Library is introduced as a powerful tool for implementing the algorithm. Yet some issues should be raised and explored: How can we extend the solution to integrate a bi-objective minimization of travel-time and risk related to dangerous goods transport ? Is there any further techniques to speed-up even more the bidirectional Point-to-Point search algorithm ? How it can be improved the accuracy of the heuristic cost function ?

#### REFERENCES

- [1] M. Benza, C. Bersani, M. D'Inca, C. Roncoli, R. Sacile, A. Trotta, D. Pizzorni, S. Briata, and R. Ridolfi, "Intelligent transport systems (its) applications on dangerous good transport on road in italy," in *System of Systems Engineering (SoSE), 2012 7th International Conference on*. IEEE, 2012, pp. 223–228.
- [2] M. H. Laarabi, R. Sacile, and A. Boulmakoul, "Road dangerous goods transport: Open architecture, performance, and scalability of a real-time gps data collection," in *International workshop on Innovation & New Trends in Information Systems (INTIS 2012)*, 2012, p. 57.
- [3] M. H. Laarabi, C. Roncoli, R. Sacile, A. Boulmakoul, and E. Garbolino, "An overview of a multiagent-based simulation system for dynamic management of risk related to dangerous goods transport," in *Systems Conference (SysCon), 2013 IEEE International*. IEEE, 2013, pp. 830– 835.

- [4] E. Garbolino, R. Sacile, S. Olampi, C. Bersani, A. Tomasoni, N. Alexandre, E. Trasforini, M. Benza, and D. Giglio, "Spatial decision support system prototype for assessing road hazmat accident impacts on the population in a dense urban area: a case study of the city of nice, french riviera," in *Proceedings of the 8th International Conference of Chemical and Process Engineering 2007, in Ischia*. Elsevier, 2007, pp. 413–41.
- [5] L. A. Zadeh, "Fuzzy sets," *Information and control*, vol. 8, no. 3, pp. 338–353, 1965.
- [6] A. Okabe and K. Sugihara, *Network Voronoi Diagrams*. John Wiley & Sons, Ltd, 2012, pp. 81–100. [Online]. Available: http://dx.doi.org/10.1002/9781119967101.ch4
- [7] A. M. Tomasoni, E. Garbolino, M. Rovatti, and R. Sacile, "Risk evaluation of real-time accident scenarios in the transport of hazardous material on road," *Management of Environmental Quality: An International Journal*, vol. 21, no. 5, pp. 695–711, 2010.
- [8] A. Boulmakoul, R. Laurini, and K. Zeitouni, "Spatial monitoring and routing system for the transportation of hazardous materials," *Environmental information systems in industry and public administration*, pp. 227–236, 2001.
- [9] U. Demiryurek, F. Banaei-Kashani, C. Shahabi, and A. Ranganathan, "Online computation of fastest path in time-dependent spatial networks," in *Advances in Spatial and Temporal Databases*. Springer, 2011, pp. 92–111.
- [10] A. Boulmakoul, "Fuzzy graphs modelling for hazmat telegeomonitoring," *European journal of operational research*, vol. 175, no. 3, pp. 1514–1525, 2006.
- [11] Y. Qiao, N. Keren, and M. S. Mannan, "Utilization of accident databases and fuzzy sets to estimate frequency of hazmat transport accidents," *Journal of hazardous materials*, vol. 167, no. 1, pp. 374–382, 2009.
- [12] A. Boulmakoul, M. Laarabi, R. Sacile, and E. Garbolino, "Ranking triangular fuzzy numbers using fuzzy set inclusion index," in *Fuzzy Logic and Applications*, ser. Lecture Notes in Computer Science, F. Masulli, G. Pasi, and R. Yager, Eds. Springer International Publishing, 2013, vol. 8256, pp. 100–108. [Online]. Available: http://dx.doi.org/10.1007/978-3-319-03200-9 11
- [13] G. J. Klir and B. Yuan, *Fuzzy sets and fuzzy logic*. Prentice Hall New Jersey, 1995.
- [14] H. K. Baruah, "Construction of normal fuzzy numbers using the mathematics of partial presence," *Mathematics of Uncertainty Modeling in the Analysis of Engineering and Science Problems*, p. 109, 2014.
- [15] A. Mabrouk, A. Boulmakoul, and M. Bielli, "Fuzzy spatial network voronoi diagram: a spatial decision support for transportation planning," *International Journal of Services Sciences*, vol. 2, no. 3, pp. 265–280, 2009.
- [16] B. V. Cherkassky, A. V. Goldberg, and T. Radzik, "Shortest paths algorithms: theory and experimental evaluation," *Mathematical programming*, vol. 73, no. 2, pp. 129–174, 1996.
- [17] L. J. Cowen and C. G. Wagner, "Compact roundtrip routing in directed networks," in *Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing*. ACM, 2000, pp. 51–59.
- [18] G. B. Dantzig, *Linear programming and extensions*. Princeton university press, 1998.
- [19] E. V. Denardo and B. L. Fox, "Shortest-route methods: 1. reaching, pruning, and buckets," *Operations Research*, vol. 27, no. 1, pp. 161– 186, 1979.
- [20] G. V. Batz, D. Delling, P. Sanders, and C. Vetter, "Time-dependent contraction hierarchies." in *ALENEX*, vol. 9, 2009.
- [21] D. Delling and G. Nannicini, "Bidirectional core-based routing in dynamic time-dependent road networks," in *Algorithms and Computation*. Springer, 2008, pp. 812–823.
- [22] S. E. Dreyfus, "An appraisal of some shortest-path algorithms," *Operations Research*, vol. 17, no. 3, pp. 395–412, 1969.
- [23] T. Ohshima, "A landmark algorithm for the time-dependent shortest path problem," Ph.D. dissertation, Kyoto University, 2008.
- [24] A. V. Goldberg and C. Harrelson, "Computing the shortest path: A search meets graph theory," in *Proceedings of the sixteenth annual ACM-SIAM symposium on Discrete algorithms*. Society for Industrial and Applied Mathematics, 2005, pp. 156–165.