1. Introduction
Finding the shortest path between two locations on graph datasets that represent transportation networks is a core function of geographic information systems (GIS) applications that has been intensively studied over the last two decades. Dijkstra’s algorithm [
1] and its variants have thoroughly been used to solve the shortest path issue. However, for users navigating through pedestrian sections of urban areas, the calculation of the shortest route is not sufficient, because there are usually alternative routes that, although slightly longer, abide by other desirable preferences and restrictions (i.e., accessibility, safety, comfort, and convenience) and therefore are preferable to the shorter one.
Alternative routing, in the literature, has primarily been addressed using the k-shortest paths (KSP) algorithm [
2,
3] or by applying penalties to graph edges [
4,
5] to generate alternative graphs (AGs) to calculate alternative paths from them. However, alternative routes are computed entirely based on their similarity to the shortest path in these works, resulting in alternative paths that are quite similar to one another as they share many graph edges.
A significant parameter that should be considered is that routing applications that make use of the algorithms above have been implemented to compute routes mainly on road networks and not on pedestrian areas. A key difference between these two networks is that the former is mapped with directed graphs while the latter with undirected, which makes the calculation of alternative paths a more complex process [
6]. In addition, navigating through pedestrian sections of urban areas is not an easy task for specific population groups (i.e., people using wheelchairs, elderly people with walking stick/cane, parents with baby strollers, etc.), and therefore, before suggesting alternative paths, a GIS application must be able to assess the needs and priorities of those people, in terms of safety and accessibility [
7].
Most routing algorithms to date employ only the actual distances of the urban sections registered in their databases, which correspond to edge weights of the graphs they traverse, and eventually return the routes having the lower total weight cost (total distance) [
8]. As a result, existing algorithms should be modified to take into account additional factors other than the distance between two points on the map, so as to provide more personalized results that will better meet the user needs. If the level of accessibility of each pedestrian section is known in advance, this factor should be considered when calculating the shortest accessible paths instead of the absolute shortest paths. In addition, the total number of ramps contained in each route should also be considered as it indicates equal number of crossings, which require more effort, and therefore muscle strain, from wheelchair users. Hence, alternative routes that contain fewer crossings, even if they are longer, are usually preferable.
The motivation behind the proposed study was to improve accessibility level of people with mobility problems and especially wheelchair users. The daily movement of these people in the inhospitable centers of modern cities is a process with many challenges, especially when navigating in unknown or less familiar areas. In the pedestrian sections of urban areas, there are various obstacles (very narrow sidewalks, broken pavement tiles, stairs, bus stops, etc.) that restrict or possibly exclude the possibility of access for wheelchair users.
Therefore, the contribution of the present study is the implementation of a routing algorithm, exclusively for navigation in the pedestrian sections of urban areas, which will take into account the information on the level of pedestrian accessibility to ultimately route from the safest and most comfortable route, thus improving the level of mobility of specific population groups.
The purpose of this paper is to present the development of a heuristic algorithm, providing several improvements on the penalty-based alternative route calculation method by increasing certain edge weights depending on their level of accessibility or whether they represent a ramp, to effectively suggest the most accessible alternative paths for multi-route cases. We then present experimental results on finding the most accessible paths in pedestrian sections of the historical center of Thessaloniki city.
The remainder of the paper is organized as follows.
Section 2 briefly presents previous related work on alternative path algorithms.
Section 3 presents our proposed improvements for producing alternative graphs using the penalty-based method for alternative route calculation.
Section 4 presents a thorough experimental evaluation of our proposed method, and finally, conclusions are offered in
Section 5.
2. Related Work
In this section, various algorithmic approaches are analyzed, along with higher-level solutions and their disadvantages as mentioned in the literature. The first approach to be analyzed is the most common technique, the k-shortest paths computation between a source
s and a target
t [
9] in order of increasing cost. As the weight of each edge is defined only by the actual distance between the nodes of the graph, some serious disadvantages occur. The computed alternative paths share many edges, which in many cases makes them difficult to be distinguished. Moreover, KSP algorithm does not take into account other preferences and characteristics, which can be important selection criterions for a GIS application user. One way to deal with this issue is assigning a very large value to k, but at the expense of a rather high computational cost, that can be prohibitive for real-time applications. Therefore, in the KSP method, due to the several similar paths that can occur, the candidate result set should be evaluated and further filtered with respect to a number of constraints such as the accessibility, their total length or the number of changes of pavement through ramps according to each use case scenario and subsequently determine the final result set [
3].
In general, better results could be achieved under using penalty-based methodologies. In this way, the generated paths become dissimilar to the shortest path by adding a penalty on the weights of certain edges [
10]. Each time the weight of some edges is updated, repeated shortest path queries are executed on the alternate graph, thus calculating the alternate paths using mostly Dijkstra’s algorithm or a speedup variation of it. Then the shortest path edges are penalized, and a new query is executed. If the newly calculated shortest path meets the desired requirements and characteristics, it is added to the solution set. This process is repeated until a sufficient number of alternative paths is computed [
11]. Akgün et al. [
4] proposed a method which doubles the weight of each edge that lies on the shortest path. A similar method is used in [
12], where the penalty is computed in terms of both the path overlap and the total turning cost. In [
13] Schultes et al. propose a speedup technique for shortest path computation including edge weight changes. Finally, Jian Pu et al. propose a variation of the Dijkstra’s shortest path algorithm using a logarithmic edge weight increment procedure [
14].
The initial penalty value before each subsequent iteration is arbitrary and can result in poor performance, so this is a disadvantage for penalty-based methods that needs consideration and experimentation. On the one hand, high initial penalty values seem to result in different but, often, very long alternative routes. On the other hand, small penalty values require more iterations in order to compute the desired results. There are also cases where the calculated alternative routes are not satisfactory enough when compared with the initial shortest path.
Another work on alternative route problem for road networks that can be used for pedestrian routing is [
8]. This work is focused on finding several reasonable routes and suggesting new ways to measure the quality of a solution of alternative routes by mathematical definitions based on the graph structure. In addition, several heuristic techniques are presented, such as Pareto optimality, Disjoint Paths and Plateau method for computing alternative routes as determining an optimal solution is NP-hard in general.
Moreover, in [
9], a formal solution for the search of alternative paths problem in road networks is presented. The tested algorithms in this work are mostly under the concept of local optimality to find the best alternative paths; moreover, it is optimized and simplified enough for real-time applications. Therefore, the presented methodology takes into consideration various functions, such as fuel consumption, that can be transformed to more pedestrian variables, such as accessibility and safety. Although it seems that it is suitable to solve the pedestrian routing problem, the concept of local optimality does not work so well for short distance routing.
A different perspective on the routing problem can be found in [
15] where a ranking system for the traditional computed routes is developed. This integrated solution uses governmental data, OpenStreetMap database and other similar web services. The main idea is to create a more personalized route suggestion based on users’ individual preferences. Thus, the end user can dynamically change the contribution of the above sources to the overall ranking mechanism. At the same research work, a road scene complexity scoring mechanism is proposed that combines geospatial data, traffic, even sensors and Street view images as input to deep neural networks. The scoring mechanism estimates the perceived and the descriptive complexity of the road which can be used as an input for the routing systems to further filter and personalize their results. This more personalized approach is developed for driving circumstances, but theoretically, it can be used on pedestrian routing where the user needs may vary (i.e., wheelchair or walking stick users).
In contrast with the most solutions mentioned above, in this work the proposed method for finding accessible alternative paths accepts common edges with the shortest route as long as these edges are classified as accessible, because not all the sections of the pedestrian network have this classification. The main idea is to find alternative paths that have as many accessible edges as possible compared to the shortest one. Thus, if the accessibility ratio (number of accessible edges/total alternative path edges) is improved, then the alternative path is preferable as long as it does not exceed some experimentally determined thresholds (for example, alternative path total length may not exceed 50% of the shortest path length).
In addition, the data of the pedestrian network representing the historic center of the city of Thessaloniki, collected for the purposes of this study, cannot be used by the algorithms referenced, as the graph dataset that represents road networks is different from the corresponding that represents the pedestrian networks. In the second case, each part of this network can be accessed in any direction from its starting point to its end one and vice versa. This does not happen in road networks that even if they are two-way must have a different traffic flow for each direction and therefore a different edge in the graph that represents them. This fact significantly increases the complexity in the case of pedestrian navigation. As for each starting point and destination, there is a large number of alternative routes, something that does not happen in road networks that the other referenced algorithms deal with.
Therefore, according to the data above, the results of the proposed algorithm cannot be compared with the other state-of-the-art algorithms described in the current section. In summary, the two most important features that are the advantages of the proposed method will be further emphasized. First, as mentioned in the summary of this study, this algorithm successfully addresses an issue of pedestrian navigation, based on the accessibility characteristics of the pedestrian network, that even the largest routing platforms have not been able to resolve effectively to date. Second, due to its smart design, the proposed algorithm has theoretically better performance in the process of calculating the alternative paths in relation to the algorithms mentioned in this section.
The following section describes in detail the principles and the innovation points of the proposed penalty-based algorithm for calculating accessible k-shortest paths.
3. Algorithm Description
In this section, the proposed algorithm and the parameters that affect its operation are described in detail. A pedestrian section network is a graph G = (V, E) consisting of an edge set E and a vertex set V that contains n vertices. Each edge e ∈ E is represented as an ordered pair of vertices, in the form “from vertex i to vertex j”, denoted by e = (i,j), and it is associated with a calculated weight w(e), which in this work’s use-case represents not only the actual distance between them but the resultant of some additional characteristics as well, found in urban sidewalks (e.g., accessibility level, if current section represents a crosswalk between two ramps, etc.).
A k-shortest path query, given two vertices
s, t ∈ V, looks for
k sequences of edges, that each one connects
s to
t so that the sum of the calculated weights of these routes is minimized. Let
Pk be the
kth shortest path from
s to
t. Then,
where
uk(1) is
s and
uk(
qk) is
t.
Note that the graph dataset for this study was collected from the mapping of pedestrian routes of the historic center of Thessaloniki city. A penalty-based strategy is used to find the shortest available alternative paths on nondirectional graphs G. In addition to the distance between the nodes linked, the edges of the graph include two more highly useful features for this purpose.
The first of them determines if the current edge represents a crosswalk between two ramps, allowing the number of crosswalks (crosswalks_no) contained in each alternative route to be known after a graph traversal. The second feature is related to the level of accessibility of each pedestrian section. For a wheelchair user to cross a portion of this network, this must be at least 1.5 m wide and free of impediments (e.g., trees, bus stops, stairs, etc.) for the wheelchair to move. If the above conditions are met, then the specific edge of the graph is characterized as accessible, and its level of accessibility is equal to 1 (access_level = 1).
Additionally, if a graph edge has one or more of the above-mentioned obstacles, or if its width is less than 1.5 m but more than 0.90 m (according to the UN accessibility directives for wheelchair users [
16]), and it can be accessed even if it is difficult, the graph edge is characterized as less accessible, and its level of accessibility is equal to 4 (
access_level = 4). Finally, if a segment is inaccessible, its accessibility level is set to 0 (
access_level = 0), and the algorithm ignores it while calculating alternate routes.
According to United Nations’ Convention on the Rights of Persons with Disabilities, a pedestrian section is considered accessible only when its width is more than 1.5 m, its surface is smooth and there are no obstacles into it that make the wheelchair movement difficult or completely inaccessible. However, there is a significant number of sidewalks where navigation, under certain conditions, is possible but clearly more difficult for people with limited mobility. These sections are classified as less accessible, but they are still included in the graph dataset as for some routes it is mandatory to pass through them [
17].
Such cases are observed when in a single point or along the entire length of a section its width is less than 1.5 m but at least 0.9 m. Otherwise this section is considered inaccessible. This case concerns the movement in only one direction as the user cannot rotate the wheelchair, because a width of at least 1.5 m is required. A similar case arises when the surface of a section is not completely smooth (pebbles, broken pavement slabs, etc.) but does not prevent access to it. Finally, pedestrian sections that contain various floor elements creating elevation differences such as stairs or surface slopes (slopes of more than 10% are not accessible without the help of an attendant) are also characterized as less accessible.
Based on the above data, it is very clear how the pedestrian sections are categorized. Those that have been considered as accessible are not penalized, and the weight of their edges is equal to their actual length in meters. On the contrary, in those that have been characterized as less accessible, a penalty with a specific factor is applied in order to increase their edge weight and finally to be selected by the routing algorithm as part of an alternative route only when it is really necessary to traverse them.
The access_level parameter for the less accessible parts was set to 2 in the first version of the algorithm, but after the field measurements performed, it was discovered that a value of 4 produces more accurate results in each use case. This change was made to address the usual case in which one side of an urban block is less accessible than the other three and the algorithm must route the user of the application from point A to point B through the three accessible ones. As a result, after the penalty application procedure, the length of the least accessible side must be more than the sum of the three accessible sides. To satisfy this condition, the value of the access_level parameter was changed to 4.
The value of the penalty factor cannot be too high because on the one hand, it would completely exclude the less accessible edges of the graph, while there are cases where the wheelchair user has to pass through them, and on the other hand, the algorithm would suggest routes which in many cases are much longer than the shortest one. In the following section, a comparison of the operation of the algorithm with a value of the parameter access_level equal to 2 and with a value of access_level equal to 4 is made in the same areas that were used as use cases during the presentation of the first version of this algorithm. Then the operation of the two versions of the algorithm will be presented in another 2 new use cases where the first version did not effectively produce the most accessible routes. This was the reason that led us to adjust the value of the access_level factor to 4.
The presented approach searches for the k = 10 shortest paths and selects the one that is the most accessible. As a result, in addition to the total cost of each alternate path, a separate total cost is calculated as well. The sum of all the products of the actual distance of each graph edge with the property access_level of the corresponding edge yields this additional total cost. In order to avoid the less accessible edges as much as possible in the proposed routes, the above total effectively weights them in relation to the accessible ones. At the same time, the total number of crosswalks included in each alternate path is calculated to be evaluated later during the next steps of the algorithm.
The following step is to calculate the alternative paths, with the most accessible being the one that is returned to the user as a result. Once this search is completed, the average path length (avg_path_length) is determined as the average cost of all alternative routes. The average path length increased by an average edge length (avg_edge_length) is the threshold (ap_length_threshold) for accepting alternative paths of a total weight less than that value (i.e., ap_length_threshold = avg_path_length + avg_edge_length). This limit was set because wheelchair users are unable to cover long distances within urban areas, especially without the assistance of an attendant.
In order to calculate paths with as many non-overlapping edges as possible, the approaches of the penalty method for calculating the k-shortest paths mentioned in
Section 2 penalize the weights of the shortest path after the end of the first iteration and successively the weights of every alternative path at the end of each iteration. The downside of these methods is that they must generate a separate alternative graph for each iteration, increasing their complexity and total execution time. In contrast to other approaches, the proposed k-shortest path penalty-based algorithm has been implemented in such a way that the weights of all graph edges are penalized by default before its execution rather than after each iteration if their accessibility level is equal to 4 or if a specific edge corresponds to a crosswalk.
The proposed implementation results in the generation of a single alternative graph AG, in which each edge weight is determined by multiplying its distance by its accessibility level (
edge_weight = edge_distance × access_level), meaning that the less accessible parts’ distance is substantially quadrupled. In addition, if a graph edge corresponds to a crosswalk, the average edge length (
avg_edge_length) is added to its length. Using the generated alternative graph, the weights of the 10 alternative shortest paths found earlier are recalculated, so in the end, the route of the lowest total score is considered as the most accessible and returns as a result of the algorithm. The proposed algorithm is shown in detail in Algorithm 1 and in Flow
Scheme 1.
Algorithm 1 The Proposed Algorithm |
1: | procedure PROPOSED-ALGORITHM |
2: | | G = (V, E) ► Creation of Graph G representing the pedestrian sections of C |
| the study area |
3: | | avgEdgeLength = 0 | | ► Average edge length initialization |
4: | | edgeCounter = 0 | | ► Initialization of edges counter |
5: | | source = source | | |
6: | | destination = dest | | |
7: | | for i← 0 to E − 1 do | | ► For all nodes |
8: | | | for j← 0 to eE(i) − 1 do | | ► For all selected node’s edges |
9: | | | | avgEdgeLength + = ej | | | | |
10: | | | | edgeCounter + = 1 | | | | |
11: | | | end for | | | | |
12: | | end for | | | | |
13: | | avgEdgeLength = avgEdgeLength/edgeCounter |
14: | | P = ShortestPaths (AG,source,dest,10) | ► Calculate the 10 shortest paths |
15: | | avgPathLength = 0 | ► Initialization of the average path length |
16: | | for i← 0 to 9 do | ► For the 10 shortest paths calculated |
17: | | | avgPathLength + = P[i].length | | | | |
18: | | end for | | | | |
19: | | avgPathLength = avgPathLength/10 |
20: | | apLengthThreshold = avgEdgeLength + avgPathLength |
21: | | for i← 0 to 9 do | ► For the 10 shortest paths calculated |
22: | | | ifP[i].length > apLengthThreshold then | ► If a path length exceeds the |
| Threshold |
23: | | | | P[i].remove | ► Remove current path from the result list |
24: | | | end if | | | | |
25: | | end for | | | | |
26: | | Rp= 0 | ► Initialization of paths calculated weights |
27: | | for i← 0 to P.size do | | | | |
28: | | | Rp[i] = di × li + ri × avgEdgeLength | ► d: edge distance, l: access level, |
| r: presence of ramp |
29: | | end for | | | | |
30: | | return min(Rp) | ► Return the minimum calculated weight |
31: | end procedure |
Given the above, the
k paths that are found in Equation (1) are then applied on the alternative graph
AG. Let
d be the edge distance and
l be the access level. In addition,
r will denote the presence of a ramp while
is the average edge length. Given that the initial
k = 10 paths were calculated based on the actual distances
d then the paths are re-calculated for
AG,
where
is the new calculated weight of the previously found
Pk path and
n denotes the edges traveled when the path is the
kth. Then, the purpose is to find the minimum
r ⊂
R. In this sense,
The innovation of the proposed algorithm focuses mainly on two points. The first of these is the ability to search for alternative routes with criteria that best suit the profile and preferences of each user in addition to the total distance of a route. The alternative route search algorithms mentioned in
Section 2 are based only on the actual distances of the sections, which correspond to the edge weights of the graphs they cross and ultimately return the routes with the lowest total weight cost. The proposed method manages to more effectively meet the needs of disabled people that face mobility problems.
The other algorithms based on the penalty method, after the calculation of each alternative path, increase the weights of the graph edges contained in it in order to exclude it from the next traversal of the graph, but any change in weights implies the creation of a new alternative graph, a process that requires computing resources. Therefore, to calculate k paths, an equal number of alternative graphs must be created. The second innovation point of the algorithm presented is the creation of only one alternative graph for any number of k parameter leading to significantly shorter calculation times for the output of the produced results.
The following section presents in detail the results of the proposed penalty-based algorithm and explains its operation in four different use cases within the area where the experiments were performed. In addition, in the last two use cases a comparison is made between the current and the first version of the algorithm that did not perform as expected in specific cases.