Keywords

1 Introduction

Over the last few years, several systems have been developed that provide solutions for route-planning. One recent work has emphasized the development of a route planning system which allows for the creation of custom routes through user created trip criteria (Zolfpour-Arokhlo et al. 2013). The focus of this work is route planning in city-trip planning systems, and route-planning algorithms are used to take into account underlying dynamic conditions such as weather forecast and traffic conditions.

The majority of proposed solutions to route-planning take into account factors which affect travel time and allow for the use of user-defined criteria. It is crucial to consider factors affecting the selection of an optimal route in a route-planning system. However, maximizing the accuracy of a route-planning system in choosing an optimal route requires the consideration interdependencies which may exist between any of these factors. In the solution proposed by this article, the factors affecting route-planning are modelled after agents in an agent-based model (ABM). The representation of each factor using its own agent allows for the model to display atomicity. This allows the structure of the system to be modified easily. In this ABM, interdependencies between the agents are modelled using a Bayesian network (BN).

A variety of other machine-learning techniques can be applied to create such a model. However, the main advantage of using a Bayesian network as opposed to fuzzy logic, artificial neural network, support vector machine, or other algorithms is that it is a significantly less computationally expensive technique than its alternatives (Mago et al. 2014). Setting node evidences in and computing node values in a BN allows for far greater efficiency and scalability.

1.1 Contribution of This Work

The primary contribution of this work is to propose and illustrate the structure of a configurable and scalable hybrid model by using multi-agent system which implements a BN. The intended goal of the proposed design is to provide a computationally light and simple solution to the route-planning problem. Simplicity is emphasized with the intention of making model configuration as well as the addition or subtraction of new components a straight-forward and intuitive task.

The remainder of this paper is structured as follows: a brief overview of related works in Sect. 2, an explanation of the methodology in Sect. 3, an illustration of the usability of the model through case studies in Sect. 4, a discussion of the the model and possible future directions in Sect. 5, and a conclusion for the work in Sect. 6.

2 Related Work

A web-based tourist expert system for planning custom city-trips are described in (Zolfpour-Arokhlo et al. 2013). This worzk uses heuristic procedures where user-defined criteria facilitates trip customiztion to build travel itineraries. Algorithms extending route planning are used to take into account environmental conditions such as the weather, traffic, and road conditions. The methodology described in this work serves as an inspiration for the route planning system described in our work. However, the system described in our work seeks to further increase accuracy by modeling interdependencies between environmental conditions.

Ant colony optimization is a swarm based algorithm that has been successfully used for optimization problems. Ants find minimum-distance routes from the nest to food sources by using swarm behavior (Gajpal and Abad 2009). The use of a simulated ant colony system for route planning and optimization proved to be efficient and robust for large and complex environments. One key disadvantage to using ant-colony optimization however is the difficulty in conducting theoretical analysis. This is because the algorithm is iterative by nature and based on a sequence of random decisions which are dependent upon each other. As such, the probability distribution changes for each iteration of the algorithm (Umarani and Selvi 2010). The difficulty in conducting theoretical analysis makes this approach infeasible for our model because it lessens both the scalability and configurability of the model.

Another related work concerning personalized route guidance systems describes obtaining a proper route based on minimizing a combination of user defined criteria. This minimization is performed using a weighted linear aggregation rule and navigation algorithm (Nadi and Delavar 2011). The method extends personalization in route planning by incorporating user preferences along with their relative importance into the routing process. A decision strategy is then created to select the portion of the important criteria which defines the level of satisfaction necessary for an acceptable solution. This method however, fails to incorporate the interdepencies between user preferences.

Route planning optimizaiton utilizing a multi agent system often employs a hybrid architecture. One work utilizing this approach incorporates real time learning using the A* and compares it with the A* searching algorithm (Zafar and Baig 2012). This shows better results for multi-agent environments and proves to be an efficient and robust algorithm. This research concludes by providing a statistical comparison of results, namely the exploration time for different environmental conditions. In a route guidance system however, the real time routing problem is substantially different from classical network routing problems. The work concerning this guidance system proposes multi-agent based negotiation between agents that represent network managers, information service providers, and drivers equipped with route guidance systems (Adler and Blue 2002).

In an intelligent tourism recommender system (Borràs et al. 2014), a different optimization technique is used. This system employs machine-learning techniques such as an artificial neural network, fuzzy logic, or artificial potential field to assess the relevance of each context component for each user. It then uses a genetic algorithm to plan a route that goes through different points of interest around the city. Most of the tourism recommended systems that build personalized routes or itineraries implement an ad-hoc planning mechanism, but some of them apply more classical domain independent AI planning techniques (Garcia et al. 2010,Vansteenwegen 2009, Yu and Chang 2013). The drawback to many of these methods is that they use machine-learning algorithms which perform complex calculations in multi-dimensions, and thererefore these algorithms are very difficult to visualize. In order to be able to intelligently adjust the parameters of a model for increased accuracy, it is important to understand and follow how the model produces its output.

3 Methodology

The proposed methodology attempts to establish a cohesive multi-agent system through the use of a hybrid model. A primary component of this model is a BN. Each node in the network represents an agent which models an environmental factor affecting the time needed to traverse a given route. We will describe the input used by the model, the functions of each of the agents, and the general structure of the hybrid model. The general structure of the model is shown in Fig. 1.

Fig. 1.
figure 1

Route-planning system model

3.1 Input

The inputs for our route-planning model is as follows:

  • Road Network Geometry: Extracted from Google Maps using their native API. Routes are stored as .kml files, and the contents of these files are used as an input for the model.

  • Current Time: Obtained using a synchronized clock and used as an input for the model.

  • Route Distance: Calculated using an agent defined in the system. This agent extracts a route from the .kml file obtained from Google Maps. This route is stored in the file as a list of latitude-longitude coordinates. The agent calculates the distances of the route segments using the Haversine distance formula over pairs of coordinates. The route distance is obtained by summing the distances of these segments.

  • Travelling Speed: For each route segment, there is an associated speed limit. This limit assumed by the model to be the ideal travelling speed over the segment. This data may accompany the road-network geometry. If it does not, then it is either obtained through public access data or generated using probability distributions.

3.2 A Generic Overview

The system is modeled using nodes, of which a subset belong to a BN, and is illustrated in Fig. 2.

Fig. 2.
figure 2

A Bayesian network of different agents

Time of Day Agent (TODA). The function of the TODA is to act as a synchronized clock in order to provide input data for the TLEA. This allows the system to model how traffic congestion varies throughout the course of the day.

Quality of Road Agent (QORA). This agent categorizes roads by quality in order to report which roads should be avoided when an alternative is available. Namely, this includes old or not-well maintained roads but also takes into consideration roads on which construction is an impediment to travel time.

Population Density Agent (PDA). The PDA’s function is to take into consideration the population density of a given area. This allows the system to model the effects that population density have on traffic congestion. The data produced by this agent acts as a direct input to the TLEA.

Weather Control Estimation Agent (WCEA). The WCEA accounts for the effects of weather conditions on both the travel time and the safety of the road. The function of this agent is to approximate the weather’s effects on roads. Additionally, it works to factor in weather related road hazards such as ice patches or conditions which may cause hydroplaning. Ideally, the data used for this agent would be obtained from local weather stations or live online sources. However, when such resources are not available, probabilistic forecasting or statistical approximation may also be used.

Safety of Road Agent (SORA). This agent represents the current safety of the road being travelled upon. It is assumed by our model that the weather has a direct impact on road safety, and because of this, the agent takes a direct input from the WCEA in order to calculate its own output.

Distance Calcualtion Agent (DCA). The DCA takes map data as an input, deconstructs the data as set of points, and calculates the distance between the points using the Haversine formula.

Travelling Speed Agent (TSA). The TSA is the agent responsible for obtaining the speed limits of a given route in order to calculate the ideal travelling time. Ideally, this data is taken from public access data, if however this data is unavailable it can be statistically approximated using average or standard speeds associated with the classification of a road.

Traffic Load Estimation Agent (TLEA). The TLEA will update the traffic status of each route. Its output is computed from environmental information such as traffic conditions and historical information of each route. Also, since part of its input comes from the traffic input data, it is possible for new information about the route, such as an incident on the road, to be passed to the TLEA. This could trigger a recalculation of the route based on the newly available data. Along with this input, the estimation details of this agent are dependent on the PDA, WCEA, QORA and TODA. The results of this estimation will be used by the RTEA.

Route Time Estimation Agent (RTEA). The RTEA acts as a decision maker in the proposed model. It evaluates the route distance and vehicle speed in each route by using a road network map and specific input data. This agent takes input from all other agents and its calculated output is used for determining the optimal route.

Fig. 3.
figure 3

Structure of hybrid model

3.3 Route Weight Formulation

In order to calculate accurate travel time while taking into account environmental factors, it is imperative to formulate a process which takes these factors into account. By developing a hybrid model, all factors impacting travel time are considered. The inclusion of a BN into the hybrid model allows for the accounting of interdependencies which exist between factors. Figure 3 shows the BN used for this hybrid model. When used in conjunction with statistical techniques, the graphical model has several advantages for data analysis. Firstly, because the model encodes dependencies among all variables, it readily handles situations where some data entries are missing. Secondly, the BN implemented by the model can be used to learn causal relationships, and hence it can be used to gain understanding about a problem domain and to predict the consequences of intervention. Thirdly, because the model has both a causal and probabilistic semantics, it is an ideal representation for combining prior knowledge and data. Additionally, Bayesian statistical methods in conjunction with the proposed hybrid model offer an efficient and principled approach for avoiding the overfitting of data. In this paper, the model is used to account for the effects of environmental factors and their interdependencies as relationships between different agents.

Several of the agents defined in the previous section actively function as nodes in this network, and each node has a unique role and is individually defined.

Time of Day Agent (TODA). The output of this agent is drawn from a uniform distribution as shown below where each value in this distribution represents an hour of the day:

$$\begin{aligned} unif(a,b): where \, a=0, \, b=23 \end{aligned}$$
(1)

The distribution is normalized to the range [0,1]. It is imperative to model this node in order to model how traffic congestion changes throughout the day.

Quality of Road Agent (QORA). The Quality or Road Agent is modeled as a three-state categorical distribution, the categorization of which is as follows:

$$\begin{aligned} {\begin{matrix} P(PDEA= High \text {-} Quality \, Road) &{} = 0.7 \\ P(PDEA=Moderate \text {-} Quality \, Road) &{} = 0.2 \\ P(PDEA=Poor \text {-} Quality \, Road) &{} = 0.1 \end{matrix}} \end{aligned}$$
(2)

Population Density Agent (PDA). This agent is modeled using a binary categorical distribution. The two states of this distribution signify the percentage of the population living in rural and urban areas as taken from 2010 US Census data (United States Census Bureau 2010).

$$\begin{aligned} {\begin{matrix} P(PDEA=Rural) &{} = 0.75 \\ P(PDEA=Urban) &{} = 0.25 \end{matrix}} \end{aligned}$$
(3)

Weather Condition Estimation Agent (WCEA). This agent is modeled using a three-state categorical distribution. The values given in the states are based on an averaging of dates during which winter storm and hurricane (Midwest Regional Climate Center 2013, National Hurricane Center 2014) seasons occur in United States during a given year. The percentage of dates classified as Good are those excluded from the seasons, Moderate dates are months which are in the the left and right tails of a normal distribution of storms during the seasons, and the Bad dates are the months during which the majority of storms occur during the seasons.

$$\begin{aligned} {\begin{matrix} P(WCEA=Good) &{} = 0.53 \\ P(WCEA=Moderate) &{} = 0.31 \\ P(WCEA = Bad) &{} = 0.16 \end{matrix}} \end{aligned}$$
(4)

Safety of Road Agent (SORA). The Safety of Road Agent is modeled using a Gaussian normal distribution as shown in Eq. 5. Due to the existence of a dependency between the SORA and the WCEA, the input parameters of the SORA change based on the output produced by the WCEA. The WCEA?s output affects not only the mean value and standard deviation of the SORA, but also affects the skewness of the distribution as illustrated by Table 1.

$$\begin{aligned} {\begin{matrix} &{} N( \mu , \sigma ) = f(x, \mu , \sigma ) = \frac{1}{ \sigma \sqrt{2 \pi }} e^{ - \frac{( x - \mu )^2 }{ 2 \sigma ^2 }} \\ &{} where \, \mu = mean \, and \, \sigma = standard\,\, deviation \end{matrix}} \end{aligned}$$
(5)
Table 1. SORA distribution parameters

Traffic Load Estimation Agent (TLEA). The Traffic Load Estimation Agent is defined by taking into account the TODA, PDA, WCEA, and the QORA. Each of the nodes affects the output of the TLEA in a distinct way. The value of the TLEA given the TODA can be illustrated using a bimodal distribution, where the modal values in the distribution correspond to the times of the day during which rush hour occurs. The values of the TLEA given either the PDA or the WCEA produce skewed normal distributions. For the TLEA given the PDA, this value is skewed positively for urban areas and skewed negatively for rural areas. This is because the impact of traffic congestion is more severe on urban areas. For the TLEA given the WCEA, the values are skewed positively, neutrally or negatively for good, moderate, and bad weather conditions respectively. The values of the TLEA given the QORA can be illustrated using a normal distribution where a higher quality of road is correlated with a larger mean value and smaller standard deviation. The collective effect of these nodes on the TLEA is given in the equation below. The format of the BN allows for such a definition, and it is given as follows:

$$\begin{aligned} {\begin{matrix} P(TLEA) &{}= P(TODA) * P(QORA) \\ &{}* P(PDA) * P(WCEA) \end{matrix}} \end{aligned}$$
(6)

The formulation of the entire BN is given to the Route Time Estimation Agent. The network itself, based on the agents, can be defined as follows:

$$\begin{aligned} {\begin{matrix} \beta &{}= P(TLEA | QORA, TODA, PDA, WCEA) \\ &{}* P(SORA | WCEA) * P(TODA) \\ &{}* P(PDA) * P(QORA) * P(WCEA) \end{matrix}} \end{aligned}$$
(7)

3.4 Route Time Calculation

The DCA and the TSA are used to obtain the route distance and maximum legal travelling speed respectively, and the the output value of the BN is used as a weight in the final calculation of the travel time of a given route. The routes used as input for the model are exported from a road netowrk in Google Maps in the form of a .kml file. From this file, a list of latitude-longitude coordinates are extracted. Sequential pairs of coordinates are treated as segments of the route.

Distance Calculation Agent. This agent takes the latitudal and longitudnal coordinates from the .kml file as direct input. The pairing of two sequential sets of these coordinates represents a segment of the route in the form of a vector. The length of one of these vectors, which is the distance between one of these pairs or coordiniates, is calculated using the Haversine formula. The sum of these vector lengths can be used to calculate the total distance.

Travelling Speed Agent. The travelling speeds are sampled for each segment of the route using a random number generator which draws from a uniform distribution. A sample is drawn for each segment, and this sample determines what travelling speed to associate with the segment. Due to a lack of data with regards to the speed limits associated with non-highway roads, the assumption made by this model is that there is a standard speed associated with each class of road. The classes of road used in the model and their related speeds are listed in the table below.

Route Time Estimation Agent. This agent takes input from all other agents in order to calculate travelling speed. For each route segment in a given route, the ideal travelling time \(T_i\) is computed using the output values of the DCA and the TSA as the input values for \(D_i\) and \(S_i\) respectively. The output values of the BN is used as a weight for each route segment in order to account for environmental conditions. The product of the weight and the ideal travelling time gives the actual travel time as estimated by the model.

$$\begin{aligned} RTEA = \sum _{i=1}^{n} [\beta _i * T_i] = \sum _{i=1}^{n} [\beta _i * (\frac{D_i}{S_i})] \end{aligned}$$
(8)
  • \(\beta _i= weight \, computed \, in \, Eqn(7) \, for \, route \, segment \, i\)

  • \(T_i = ideal \, travel \, time \, on \, route \, segment \, i\)

  • \(D_i = distance \, of \, route \,segment \, i \)

  • \(S_i = maximum \, legal \, speed \, on \, route \, segment \, i\)

The output for the RTEA serves as the output of the model for a given set of input values. Output values for different routes are compared in order to determine which route is preferable.

Table 2. Speeds by road classification

4 Example Scenarios

In order to illustrate the intended usage and functionality of the model, this section will outline several use cases. A detailed version of the experimentation over the case studies will be presented in the journal version of this article Table 2.

Fig. 4.
figure 4

Case 1

Fig. 5.
figure 5

Case 2

Fig. 6.
figure 6

Case 3

4.1 Case 1: Traffic Congestion and Road Safety

Figure 4 shows three feasible routes between Atlanta, Georgia and Tallahassee, Florida. Let us consider a scenario where traffic is congested in Atlanta at the time of departure and weather conditions are bad. Routes 2 and 3 are the shortest and second-shortest distance routes respectively; however, route’s 1 and 3 have the fastest ideal travel time due to their routes being mostly on highways. While the traffic may be bad due to the time of departure, particularly if this time is during rush hour, the weather conditions can also factor into the congestion. In this given scenario, Route 2 would be the preferable Route. This is because there is less use of major freeways in this route, making it less affected by the traffic congestion. The travel time would be less than the alternatives, even though the average speed limit on the roads on Route 2 would be smaller.

4.2 Case 2: Approaching Storm

Figure 5 shows three feasible routes between Savannah and Tallahassee. Without taking environmental factors into account, Route 1 provides the fastest travel time. Let us assume that after the user’s departure from Savannah, weather conditions become bad due to an incoming storm from the Eastern coast. If the storm were taken into account at the time of departure, Route 1 would have been deemed a less preferable route to take than the Route 3. Since the user has already departed, they cannot travel down Route 3. However, using the model, another route can be calculated from the current point to Tallahassee, FL through Route 2.

4.3 Case 3: Road Construction

Figure 6 illustrates two routes from Troy, AL to Jacksonville, FL. Both paths are routed down mostly the same road apart from a divergence, as can be seen on Fig. 6. Both routes run approximately the same average speed limits, but Route 1 is the shorter path. Let one consider a scenario where there was construction being done on Route 1. If the quality of the road is taken into consideration, the model will indicate that Route 2 is the preferable route.

5 Discussion and Future Work

In real world situations, there are many environmental factors which impact travel time. While this work focuses on major factors of travel time, the addition of nodes to the model’s BN could serve to further improve the accuracy of the model. Though the functionality of the system’s components is primarily modelled around static data, any or all of the agents in the system could be configured to take live data as input. The use of live data would facilitate the model’s ability to dynamically alter the route given changes in the environment, thus improving its usability. The model presented in this work shows a capacity for scalability and configurability. This scalability is facilitated through the atomicity of the model’s components. The ability to add or subtract agents and modify settings of existing agents gives the model the potential for a wide range of specific uses. A modified version of this model could be applied to large-scale supply logistics, or even naval and aerial logistics. This can be done by adding nodes dealing with the alternative applications’ factors and modifying existing nodes to accomodate new nodes. Using our hybrid model, it is possible to extrapolate an optimal path given environmental factors. It is equally important, however, to facilitate a user-friendly interaction between the application using the model and the individual. One way to accomplish this is to allow the application to have both a video output for a route and a voice-based audio output for directions. Since the model takes a road network as part of the input, it is possible to recalculate the route from any point during travel. If an incident which affects travel time, such as an accident, is detected on the road it would be possible to recalculate the route. The interface would issue a request to the user for recalculation using the voice-based audio output to which the user could reply using his or her device’s native input.

6 Conclusions

This study has presented a multi-agent system for finding an optimal path between origin and destination points given different environment factors. When the different environmental factors considered for available routes between origin and destination, the hybrid model in this work allows for a fine-tuned approximation of the travel time. The accuracy of the approximation can be attributed to the modelling of interdependencies between environmental factors. This model has the capacity for user interactivity as well as reactivity with regards to changing conditions. This facilitates the model’s applicability in solving the complex problem of route-planning in a dynamic setting. Agents within the model implement methods which allow them to calculate estimates given statistical data and predict the effects of a set of interdependent factors. This set of factors is modeled in the multi-agent system by using a BN. Due to the scalability and atomicity of the systems components, the model presented in the paper has the capacity for a wide range of applications when configured properly.

7 Author Contributions

  • Eugene Belyi - Implementation, Formulation of Solution, Design of System, Discussion, Research

  • Indravan Patel - Design of System, Discussion, Research

  • Anusha Reddy - Discussion, Research

  • Vijay Mago - Introduction of Problem, Project Guidance, Discussion