Introduction

A well-functioning transport system is an indispensable prerequisite for economic prosperity and development. With the rapid increase in economic output and world population, the need for individual mobility is also growing to an unprecedented extent. There is an increasing demand for living and office space in urban areas, however, available space and resources are limited [1]. Therefore, the majority of the urban population has moved into the surrounding area, and consequently causes higher traffic volume due to increasing commuter flows [2]. The repercussions for urban traffic are evident. Current demand for flexible and individual mobility has exceeded the capacity limits of available infrastructure. To cope with these challenges, a fundamental change is required in the design of urban mobility.

Policy making has a wide range of measures that differ in the required time and cost of implementation. For example, expansion or reconstruction of infrastructure is a highly expensive measure that can only be implemented across a longer period of time. The implementation of such a measure typically requires extensive modifications of the spatial territory, which causes considerable damage to the local environment. This puts infrastructure projects at risk of running into tedious debates before even starting with their implementation, and thus prevents them from dealing with the original issue at hand. The A49 motorway expansion in Germany [3] is an example of how this type of project is often slowed down due to public opposition. Consequently, smaller projects with less intrusive interventions lower the risk towards public opposition, and can therefore have an immediate impact. For example, private navigation or intelligent transportation systems (ITS) that are given access to real-time information on traffic can help to evenly redistribute travellers on alternative routes to provide relief to road sections that are typically congested. Traffic planners are already working on alternative strategies that exploit state of the art technology [4], but need more elaborate tools for working out effects of potential interventions. In particular, tools typically measure effectiveness and efficiency of policies using performance indicators on social benefit, but are unable to measure effects on individuals. However, effects on individuals are the primary cause of public opposition which is why they cannot be neglected. To develop policies that are able to deal with the pressing problems in transportation, it is important to understand the underlying mechanisms that have led to the current traffic situation. Computer-based simulations are an effective instrument for analysing complex processes such as traffic patterns and social systems. Simulations can show the eventual real effects of alternative conditions and courses of action [5]. Macroscopic simulations are quite common in this field, and the advantage of macroscopic models are normally its fast execution speed. However, the simulation of microscopic models can offer more insight as they typically model interactions between individual travellers. This involves investigating traffic as an emergent phenomenon, rather than a problem that can be modelled from a global perspective. Thus, higher-level system properties emerge from the interactions of lower-level subsystems (e.g. individuals with personal objectives and autonomous behaviour) [6] which makes the application of agent models particularly suitable.

This paper is an extension of [7] in which we first presented our simulation framework. We demonstrate how using semantic technology individuals and their individual preferences can be modelled, and thus establish the groundwork for measuring individual utility. In this paper, we further elaborate on how our proposed solution improves modelling of individuals and give detailed information about the technical implementation. We also provide additional experimentation which demonstrates how effects of interventions can be examined in our simulation. Note that with this publication we do not aim at presenting a validated simulation model but to demonstrate how our approach can be used to model and simulate what-if scenarios to measure effects of interventions in our simulation. In particular, we focus on modelling scenarios in which it is possible to investigate assumptions about individual behaviour and how this relates to attitude of individual agents. Attitudes are modelled as preferences and domain knowledge in ontologies. We demonstrate how our approach allows preferences to be computed from real survey data. In our experiments, we then focus on showing how our simulation can respond appropriately by producing predicted changes in behaviour for different input settings. Based on these objectives, the paper is structured as follows: In “Related Work” we give an overview of available traffic simulators and discuss current state of implementation for the modelling of individuals. We then describe in “Method” the theoretic concepts of our modelling, and expand on the technical implementation of our agent structure. We use semantic technology to model preferences and knowledge of individual traveller agents, and elaborate on how the proposed solution improves modelling of individuals for evaluating effects of traffic policies. In “Proof-of-Concept”, we demonstrate a simulation for a mobility scenario using the AGADE Traffic simulator by extending our simulation model from [7] and have a look at changes in observed results. Finally, in “Conclusion and Future Work” we reflect on key findings of our work and give an insight into further research.

Related Work

Current research on traffic simulation has shown a growing interest in the application of multi-agent models. They are implementations of Decentralised Artificial Intelligence [8], and can be used to formally analyse interactions in complex dynamic systems. A key distinction of multi-agent models to other types of simulation models, e.g. cellular automata, is their focus on modelling individuals with autonomous and goal-driven behaviour [9]. Over the years, a broad range of agent-based traffic simulators has been developed that each focus on different aspects of the transportation system. In [10] we provide a systematic literature review of available traffic simulators and discuss implemented features for modelling individuals. In essence, implemented features for modelling individuals may vary significantly depending on the area of application and the simulated level of detail. For example, modelled aspects of individual behaviour differ in the considered time perspective. Long-term aspects may include decisions about residency, workplace or ownership of vehicles whereas short-term aspects model movements on a micro scale such as spontaneous interactions, lane changing, or acceleration and braking. In between, there are mid-term aspects that deal with prejourney decisions such as route or mode choice. Thus, individual behaviour is a broad term that encompasses various modelling aspects (see Figure 1), and implementation of features in simulators for modelling individuals needs to focus depending on the research objective. As research objectives require very specific implementations, researchers typically need to adjust and extend details of individual behaviour. However, this type of customisation can be very time-consuming and usually requires a deep understanding of the underlying system architecture. As a result, [11] have discussed that in many cases researchers have favoured creating a new model from scratch rather than building on an existing model. This shows that there is a lack of appropriate customisation options which complicates reuse of agents across different scenarios.

Fig. 1
figure 1

Aspects of modelling individuals in traffic simulations

In this paper, we focus on modelling individual mid- and short-term behaviour. ITSUMO [12], MATISSE [13] and SimMobility [14] are examples of agent-based simulators that can be used for this type of modelling. Implemented features on modelling individuals in these simulators include for example spontaneous replanning during the journey [12,13,14], divergent driving behaviour due to distraction [13], or day-to-day learning [14]. A detailed discussion of features of state of the art traffic simulators can be found in [10]. To measure the effects of interventions on individuals, it is crucial to capture individual preferences as determining factors of agent decisions. There are only a few approaches in the field of traffic simulation that even consider modelling of individual preferences as part of agent behaviour [15,16,17]. Developers have mostly avoided detailed modelling of individual preferences due to limited computing capacity [18]. However, [16] have demonstrated how neglecting individual preferences significantly changes simulation results, and have argued there is a limitation in available traffic simulators for this type of modelling individual behaviour. In order to address this issue, [16] created a simulation model that uses individual preferences as part of utility functions for agent decisions. Preferences are based on survey data and vary depending on the three agent attributes: gender, age and income. While this type of preference-based utility function is a common practice in economics to model quantitative decision-making, this model does not consider that perception of preferences changes depending on the context that is simulated. For example, time/punctuality has a different value when commuting to work as compared to a social visit. Hence, travel behaviour is specific to the context of travel (travel purpose). The ASIMUT approach [17] has recognised this problem and therefore introduces a weighted sum model on preferences that is used for calibration. However, a common notion that can be observed in the simulation models reviewed is that modelling of individual behaviour has focused primarily on traffic-related aspects e.g. decision factors are typically based on obvious indicators from the traffic domain such as travel time, distance, monetary costs or in some more advanced approaches maybe convenience. In contrast, travel decisions in the real-world are also driven by a travel purpose which requires individuals to have knowledge not only about traffic but also about the purpose of travel. Based on this, we focus our work on building a simulation framework that is able to flexibly model knowledge as well as individual preferences as determining factors of purpose-driven travel behaviour. This will establish the basis for measuring individual utility in traffic simulations, and thus enable evaluation of effects of policies on individuals.

Method

We have developed an abstract model for representing knowledge and preferences of individuals using semantic technology. This use of semantic technology may potentially increase the complexity of the overall architecture of the system and simulation models. However, agent knowledge and behaviour can now strictly be separated from the implementation of the simulation. As a result, agents can be flexibly reused across different domains and in varying scenarios, requiring only marginal changes of the concrete implementation. The application of semantic technology thus facilitates modifications or extension of agent knowledge about their purpose of travel when changing agent activities. For example, agents from a commuting scenario can be transferred to one that simulates mobility of individuals during their grocery shopping. Furthermore, we use semantic reasoners to automatically compute preferences from census and survey data as determining factors of agent decisions.

A Semantic Framework for Modelling Adaptable Agents

At the heart of our method is a semantic framework that extends traditional agent programming with a qualitative modelling of decision aspects. The representation of decisions and their reasons becomes significantly complex when decisions require a broad knowledge of the world [19]. Qualitative approaches can help reduce complexity of the modelling process through application of established reasoning mechanisms. For this purpose, we separate general agent activity logic from aspects of modelling agent knowledge. While basic operations of the agents remain part of traditional agent programming, agent knowledge is shifted into separate ontologies (see [20]) which are expressive tools for creating knowledge bases. In our own previous work, we have demonstrated effectiveness and efficiency of this approach [21]. Furthermore, this separation makes it possible to employ state of the art methods from knowledge engineering to structure agent knowledge. For example, the CommonKADS project proposes a three layered architecture for structuring different types of knowledge [22]. The lowest layer domain knowledge defines relevant concepts as well as simple relations for a modelled subject area. Concepts from domain knowledge are put into a logical context which enables derivation of inference knowledge in the second layer. Based on this, information from the lower layers is used for determining action strategies which in the top layer is referred to as task knowledge. The following example shows how the different layers of knowledge can be reflected in a real world scenario (see Fig. 2). Given a scenario in which a mechanic repairs bicycles, domain knowledge typically contains information about components of a bicycle, potential technical problems that may occur, as well as possible causes and corrective measures. Inference knowledge puts this information into a logical context, and hence contains knowledge about the assembly or mechanics of bicycles. Task knowledge combines information from the lower layers allowing decision-making on appropriate actions, e.g. diagnosis of technical malfunctions of a bicycle and procedures to repair the damage.

Fig. 2
figure 2

An example of the CommonKADS knowledge structure

In this work, we created an agent architecture that models preferences and knowledge of travelling individuals analogous to the structures of CommonKADS (see Fig. 3). We use OWL ontologies [23] to model concepts and relations in the layers for domain and inference knowledge. In particular, domain knowledge is split into separate ontologies that differ in scope of the modelled subject area. Each ontology is an extension of the information that is available to the agent. The combination of multiple ontologies that each focus on different aspects of the scenario produces a comprehensive model of world knowledge.

Fig. 3
figure 3

Agent knowledge architecture

Traffic simulations typically share the same basic concepts on infrastructure (e.g. roads, road signs, traffic lights) or modes of travel (car, bus, bicycle, etc.). Hence, we model a dedicated travel ontology that exclusively captures common traffic domain concepts. This will allow instances of this ontology to be reused across a wide range of different traffic scenarios. For example, the same travel ontology is likely suitable for modelling both commuting within a city as well as modelling leisure trips. Both scenarios differ in the activity performed which is why agents require their own activity-specific domain knowledge. Thus, we extend our knowledge architecture with a second type of ontologies that we call activity ontologies to capture knowledge about the purpose of travel. For example, an activity ontology on commuting typically provides agents with information about places of work, while an activity ontology on leisure trips would provide agents with information about landmarks, shops, or sports centres. Agents can be equipped with different ontologies that each can be “plugged in” and extended or replaced as needed to address different research questions. For more complex scenarios (e.g. when simulating agents that perform a series of different activities throughout the day), agents can also be equipped with multiple activity ontologies. To combine information from the travel and activity ontologies, we have modelled an additional central person ontology which is a representation of the collective knowledge that is available to the agent. In addition to domain knowledge, this ontology also comprises information about person-specific concepts such as census properties (age, gender, occupation, etc.) which are prerequisite for inferring further agent attributes such as individual preferences. Inference knowledge is represented in SWRL rules [24] which extend OWL to express If-Then implications. We use rules to define how observed real world information is transferred into attributes of the agents. In particular, individual preferences on the travel and activity domains are inferred from survey data. Census properties are given to the agent by assigning persona profiles according to the local population (see [25]). These properties are reflected into the ontology and serve as input to rules to infer preferences. Persona profiles are derived from a classification of a consumer study [26] which represents the most relevant groups of individuals in the German demographic (see Fig. 4). They are categorised by current life stage, family status as well as social strata/income (as illustrated in [27]). Inferred information in the ontology can be accessed by the agent for implementation of decision behaviour in the layer dealing with task knowledge. For this, we follow the standard BDI agent architecture [28]. This allows agents to perform the selection of actions (intentions) on the basis of their goals (desires) and preferences (beliefs), given their travel and activity domain knowledge (beliefs). We have implemented this using the AGADE Traffic simulator [29], which provides BDI action selection and definition of agent desires using JADEX [30] while beliefs are expressed with OWL language constructs augmented with SWRL rules. Note that our model uses semantic technology with its inference mechanisms throughout the implementation of agent behaviour.

Fig. 4
figure 4

Persona profiles based on social census

An Example Scenario of Travel for the Activity of Grocery Shopping

To illustrate how the framework can be applied, we consider an example scenario in which individuals perform the activity of going grocery shopping. The scenario contains a set of supermarkets that differ not only in location and product availability, but also in the attributes of products such as their price and whether they are organic. This type of information is modelled in an activity ontology for the food/grocery shopping domain. Agents are randomly assigned a list of food items from this ontology to purchase. In order to acquire all items on their shopping list, agents may have to visit multiple supermarkets. In addition to this, the travel domain ontology in this scenario comprises information about possible traffic mode options (walk, bicycle, car, public transport) that agents can pick to get to the supermarkets. During their grocery shopping activity, agents have to determine a combination of supermarkets and appropriate modes of travel. This type of decision behaviour is implemented in the layer of task knowledge which uses information from domain and inference knowledge. In particular, inference knowledge contains information about individual preferences that are derived from rules based on survey data. Preferences and domain knowledge are then used as input for agent decisions. Based on this, the agent life cycle can be defined by the following three phases (see Fig. 5)

Fig. 5
figure 5

Agent life cycle

An agent a has a set of attributes A. A is the disjoint union of descriptive attributes \(\Delta\), and preference attributes \(\Phi =T\cup F\) with traffic related preferences T and food related preferences F. While ranges of attributes in \(\Delta\) are all nominally scaled, attributes in \(\Phi\) take values from a Likert scale of 1 to 5 (1=“not important” and 5 = “very important”). The selection of attributes relevant for modelling is based on behavioural surveys on mobility [31] and grocery shopping [32] (see Table 1).

Table 1 Attributes and preferences assigned at initialisation of an agent

The agent population conforms to the principal structure of the group of persons from which survey data was collected. Survey data are used to create agents so that the empirical frequency distribution \(D_{persona}\) is preserved in the agent population. For each agent, values for the attributes in \(\Delta\) are determined by their persona. Now, values for preferences \(\phi \in \Phi\) are derived depending on the values of the attributes in \(\Delta\), again according to the survey data. For this purpose, we model rules in the ontology with which a specific categorical probability distribution over the Likert scale values can be derived for each preference \(\phi \in \Phi\). Therefore, for each preference \(\phi \in \Phi\), and for each nominal attribute \(\delta \in \Delta\), we get a conditional probability distribution \(D_\phi (L \mid \delta )\) over the values of the Likert scale \(L=\{1,2,3,4,5\}\) depending on the value of \(\delta\). The probabilities \(p_\phi (L \mid \delta )\) are determined by the empirical frequencies in the surveys. We assume that the preferences of an agent are influenced by the entire set of its descriptive attributes \(\delta \in \Delta\) the corresponding probabilities are aggregated over \(\Delta\) into the weighted sum \(p_\phi (l)=\sum _{\delta \in \Delta }{\lambda _{\delta } \cdot p_\phi (l \mid \delta )}\) with \(\sum _{\delta \in \Delta }{\lambda _{\delta }}=1\) giving a probability distribution for each \(\phi \in \Phi\). In this paper we weigh all attributes as of equal importance, i.e. \(\lambda _{\delta }=\frac{1}{\mid \Delta \mid }\).

An example will illustrate this: Let \(\Delta =\{\textit{age}, \textit{occupation}\}\) be the set of descriptive attributes and \(\Phi\) consist of a single preference Environmental Impact lying in T meaning that there are no food preferences in F. Furthermore, let \(a_1\) with \(\Delta _{a_1}\) = \(\{\)18–25, student\(\}\) and \(a_2\) with \(\Delta _{a_2}\) = \(\{\)46–55, factory worker\(\}\) be agents. Given the specific values of their descriptive attributes, we expect \(a_1\) and \(a_2\) to have different preferences manifested in the values for \(\tau \in T\), i.e. their awareness for Environmental Impact. Indeed, survey data gives evidence that persons of \(age=\) 18–25 show a higher awareness for environmental issues. This is modelled in \(p_{Environmental Impact}\) (see Table 2). For the second descriptive attribute occupation, again probabilities for \(l\in L\) are drawn from the empirical distribution of data in the survey (see Table 2). The weighted sum of the values for age and occupation yields \(p_\textit{Environmental Impact}(l)\) for each \(l\in L\). Roulette wheel selection is then used, based on the aggregated probabilities \(p_{\tau }(l)\), to determine the value l which is then assigned to preference \(\tau\). This concludes the initialisation phase of agent a. Computation of the probabilities \(p_\tau (l\mid \delta )\) uses rules of the ontology of the following scheme:

$$\begin{aligned}&Agent(?a) \wedge Preference(?\tau ) \wedge hasCensusProp(?a, ?cprop) \\&\wedge swrlb:equal(?cprop, \delta ) \\&\Rightarrow Agent(?a) \wedge hasPreference(?a,?\tau ) \wedge Preference(?\tau ) \wedge \\&hasLikert1(?\tau , p_\tau (1 \mid ~\delta )) \wedge hasLikert2(?\tau , p_\tau (2 \mid ~\delta )) \wedge hasLikert3(?\tau , p_\tau (3 \mid ~\delta )) \wedge \\&hasLikert4(?\tau , p_\tau (4 \mid ~\delta )) \wedge hasLikert5(?\tau , p_\tau (5 \mid ~\delta )). \end{aligned}$$

Based on this, the following SWRL rule can be defined to determine probabilities \(p_\textit{Environmental Impact}(l \mid \textit{age}=\) 18–24”) for our example agent a1:

$$\begin{aligned}&Agent(a1) \wedge Preference(Environmental Impact) \wedge hasAge(a1, ?age) \\&\wedge swrlb:equal(?age, ``18-24'') \\&\Rightarrow Agent(a1) \wedge hasPreference(a1,?Environmental Impact) \wedge \\&Preference(Environmental Impact) \wedge \\&hasLikert1(Environmental Impact, p_\tau (1 \mid ~0.05)) \wedge \\&hasLikert2(Environmental Impact, p_\tau (2 \mid ~0.1)) \wedge \\&hasLikert3(Environmental Impact, p_\tau (3 \mid ~0.15)) \wedge \\&hasLikert4(Environmental Impact, p_\tau (4 \mid ~0.3)) \wedge \\&hasLikert5(Environmental Impact, p_\tau (5 \mid ~0.4)). \end{aligned}$$
Table 2 Example for preference probabilities for agent \(a_1\)

In the second phase of the agent life cycle (prejourney planning), the agent makes decisions about supermarkets to be visited as well as appropriate modes of travel according to its personal preferences. For this purpose, preferences of the agent are used as input arguments for compound utility functions. Based on this, the agent successively constructs a shopping journey consisting of legs from supermarket to supermarket (and from home to the first supermarket and back home from the last) with appropriate travel modes. Supermarkets and modes of travel are chosen to maximise the utility of the agent. Note that these decisions are mutually interdependent and have to happen simultaneously, e.g. distant supermarkets can only be reached by car while choosing to walk will likely determine a nearby market. Thus, decision-making is multi-criterial as agent behaviour is not only based on traffic related aspects but also on individual preferences relevant for the selection and purchasing of food items.

We first define the utility that reflects traffic related preferences of an agent a. For a given attribute \(\tau \in T\) (T the set of traffic related attributes) and a traffic mode \(m\in M\) (M the set of available traffic modes), let \(u(\tau ,m)\) be the given utility of mode m with regard to a specific mode attribute \(\tau\) and \(a_\tau\) the preference value of \(\tau\) for agent a. Spontaneous modal change during the journey accounts for extra effort and therefore involves costs which we model with a function \(c: M\times M \rightarrow {\mathbb {R}}\) with \(c(m,m')\) the associated cost for changing from mode m to mode \(m'\) with \(c(m,m')=0\) for \(m = m'\). Note that we add an artificial mode \(m_{null}\) to represent the start of the food shopping journey and that \(c(m_{null},m)=0\) for all \(m\in M\). Based on this, the total traffic utility \(U_{TT}\) of traffic mode m for agent a is defined. Note that the value of this function also depends on the traffic mode \(m_c\) of the last leg.

$$\begin{aligned} U_{TT}(a,m,m_c) = \displaystyle \sum \limits _{\tau \in T} u(\tau ,m) \cdot a_\tau - c(m_c,m). \end{aligned}$$
(1)

Supermarkets \(s\in S\) (S the set of supermarkets) are assigned utilities \(u(\phi ,s)\) that rate their products with regard to \(\phi \in \Phi\) (\(\Phi\) the set of food related attributes) (see Table 1). Furthermore, \(a_\phi\) is the value for preference \(\phi\) of agent a. Based on this a shopping utility \(U_{\Phi }(a,s)\) is determined:

$$\begin{aligned} U_{\Phi }(a,s) = \displaystyle \sum \limits _{\phi \in \Phi } u(\phi ,s) \cdot a_\phi . \end{aligned}$$
(2)

Furthermore, supermarkets are assessed by the degree to which the products they stock cover the items on the shopping list of an agent as well as their distance to the current location. If agent a has \(r_a\) open items on its list, \(q_s\) of which are available in supermarket s, then the quotient \(\frac{r_a}{q_s}\) quantifies the product coverage of s for a. Furthermore, for each agent a a randomly generated value \(e_a\) models aversion of a towards additional trips to other supermarkets based on probabilities provided by [33]. The euclidean distance d(as) from the current position of a to the supermarket s is used as an estimate for the travel distance to s. For each agent values for \(U_{TT}\), \(U_{\Phi }\) and d(as) are normalised with min–max normalisation so that they lie in [0,1]. As decisions on mode of travel and selection of supermarket are interdependent, traffic and food related utilities are aggregated into a single utility function with which an agent determines the next supermarket to go to and how to get there. Therefore, the leg \(r=(m,s)\) to the next supermarket s is an element in \(M \times S\) (with M travel modes and supermarkets S) that has a utility:

$$\begin{aligned} U(a,r,m_c) = (1 - d(a,s)) + U_{TT}(a,m,m_c) + U_{\Phi }(a,s) + \frac{r_a}{q_s} \times e_a. \end{aligned}$$
(3)

Algorithm 1 shows how an agent successively selects supermarkets and determines rides that are concatenated into a journey. We assume that the overall supply of all supermarkets covers all items on shopping lists and that items are abundantly available. Note, that no additional optimisation with respect to the order in which the supermarkets is performed as we try to simulate natural behaviour of individuals. This concludes the prejourney planning phase for agent a.

figure a

Finally, the agent enters into the shopping phase of the simulation. Travel decisions from prejourney planning are primarily based on preferences derived from survey data, which currently do not change. Hence, target supermarkets as well as selected modes of travel remain unchanged during the shopping tour. However, agents may spontaneously change routes depending on the current traffic load. Routing uses the A* algorithm based on shortest time [34]. Let W be a route with \(w\in W\) being a continuous section of route W with same speed limit v(w). Travel speed of an agent is defined \(v(w,m)=min\{v(w),v(m)\}\) for v(m) the maximum speed of travel mode m. Furthermore, d(w) defines distance to be covered on w and n(w) an indicator for present traffic load. Thus, overall travel time T is computed:

$$\begin{aligned} T(W,m) = \displaystyle \sum \limits _{w \in W} \frac{d(w)}{v(w,m)} + n(w). \end{aligned}$$
(4)

The shopping phase terminates once all scheduled supermarkets in the journey have been visited and the agent has returned to his home location.

Proof-of-Concept

As proof-of-concept, we created an example simulation for the German city of Wetzlar. Wetzlar counts a total of 29 supermarkets based on data provided by Google Maps. According to the German census of 2011 [35], the population in Wetzlar consists of approximately 50,000 citizens that are spread over 20 residential areas. We assume that one person shops for its entire household and that 20% of these households shop during the simulated time interval. As a result, we generated a population of 2130 agents that replicate the empirical distribution of residents. Agents are assigned a persona profile (as illustrated in Fig. 4) which define values for their descriptive attributes. Based on this, agent preferences are computed. Note that our current implementation uses stochastic elements only while computing preference values, thus keeping the subsequent decision processes deterministic, and in consequence not requiring multiple runs of the simulations. This simplifies analysis and proof-of-concept, making comparison of simulations easier.

We performed three simulation runs (A, B and C) with identical agent populations in order to examine how different interventions have an effect on traffic. Simulation A reflects traffic without interventions and therefore serves as the benchmark scenario. In simulation B, we consider as an intervention an educational campaign that achieves a change of attitude for 35% of the inhabitants (756 agents) to traffic and its environmental consequences. This is modelled by increasing traffic preferences on Environmental Impact and reducing traffic preferences for Convenience. In particular, 42 of these agent changed their preference value on Environmental Impact from 1 to 5, 200 from 2 to 5, and 514 from 3 to 5, while at the same time 150 of these agents changed their preferences on Convenience from 5 to 1, 295 from 4 to 1, 198 from 3 to 1 and 101 from 2 to 1. For simulations A and B, agents are modelled to have access to all modes of travel. However for simulation C, as an intervention we limit ownership of a private car for 38.5% of the population (821 agents), forcing these agents to switch to alternative mode options. We assume the same utilities \(u(\tau ,m)\) for mode options across all simulations A, B and C (see Table 3). Further details about simulation data and implemented source code are available at Github.Footnote 1

Table 3 Mode utilities on a scale of 0 to 8 for simulations A, B and C

Given that agents in simulation A have access to all modes of travel and that mode utilities from Table 3 generally favour car usage, simulation results in A show that most of the agents have chosen to travel by car (see Table 4). We assume that policy makers prefer agents to choose green transportation modes such as walking or cycling to avoid emission of exhaust gases. In the simulation, this is mirrored through key performance indicators on aggregated travelled distances. Environmental impact is measured by the indicators global travel distance which is the sum of the overall distances travelled by the set of all agents, and combustion distance that only considers modes of travel that produce exhaust gases (see Table 5). Thus, we examine to what extent interventions from simulations B and C are suitable to achieve the desired change.

Table 4 Comparison of modal choices for simulations A, B and C
Table 5 Indicators on environmental impact for simulations A, B and C

The educational campaign from simulation B produces only a minimal shift in modal choices. In particular, car usage has been reduced (\(\Downarrow\) 0.23%) while the number of cyclist (\(\Uparrow\) 0.09%) and pedestrians (\(\Uparrow\) 0.14%) has increased. In principle, the observed course of change is favourable, but given that only a very small percentage of agents exhibit change in behaviour, desired effects on global indicators are hardly noticeable with global travel distance decreasing by \(\Downarrow\) 0.53% and combustion distance decreasing by \(\Downarrow\) 0.66%. In comparison to this, the intervention from simulation C achieved a more significant effect. Agents that were denied ownership of a private car were forced to switch to alternative mode options and in consequence the number of cyclist (\(\Uparrow\) 37.93%) and pedestrians (\(\Uparrow\) 0.61%) increased. Performance indicators on environmental impact also show a favourable decrease on global travel distance (\(\Downarrow\) 10.82%) and combustion distance (\(\Downarrow\) 37.87%). Hence, from a global perspective a ban on vehicles is more effective than trying to achieve change of attitude. However, real-world implementation of such a measure has strong effects on individuals which causes public opposition. As we have included more details in the modelling of individuals, we are able to measure exactly this type of effects on individuals in our simulations. For assessing interventions in a system by (individual) utility, we necessarily have to take a utilitarian perspective on utility [36]. Utility as experienced by individuals has been associated with happiness measures [37]. Following this idea, we use utility function to quantify experienced utility as an indicator for the satisfaction of individuals. We are aware that this relation between utility and happiness is debatable, but so far, there is no consensus on this matter (see [36] for a discussion). For our analysis, we specifically look at the utility of agents affected by the intervention (see Table 6). With regard to simulation B, a total of 756 agents is affected by the educational campaign. Individual utility of these agents in simulation A averages 0.60642 in comparison to a utility value of 0.58036 in simulation B. This indicates a decrease (\(\Downarrow\) 4.29%) in experienced utility of affected agents in simulation B. In contrast, utility values of agents affected by the vehicle ban in simulation A averages 0.59892 which in simulation C decreases by \(\Downarrow\) 12.26% to a value of 0.5255. This shows that the effects of interventions on individuals for the vehicle ban (C) are more intrusive in comparison to the educational campaign (B), which increases the risk of public resistance.

Table 6 Normalised average traveller utility of changed agents for simulations A, B and C

As mode utility in all three simulations A, B and C significantly favours car usage, we recalibrated utility values of cycling and walking to reduce the utility gap between mode options (see Table 7). In the real world, this models an improvement in the quality of alternative travel modes, e.g. through measures that generally facilitate travel conditions for pedestrians and cyclists, and thus reduce the advantage of cars. We then, rerun simulations with the same populations and configurations from A, B and C, and look at how effects of interventions change under new circumstances. Simulations from this iteration of experiments are referred to as A2, B2 and C2.

Table 7 Mode utilities on a scale of 0–8 for simulations A2, B2 and C2

Although car users still account for the majority of travellers in this iteration of experiments, modal choices in the new benchmark simulation A2 (see Table 8) show a greater representation of cyclists and pedestrians in comparison to the observed modal split in the original simulation A. This time, effects of the educational campaign in simulation B2 are more pronounced showing a shift from car users to cyclist by 34.65%. This development is also reflected in the performance indicators on environmental impact (see Table 9). While global travel distance only decreases by \(\Downarrow\) 3.03%, combustion distance is reduced by a total of \(\Downarrow\) 29.77%. In contrast, limiting the ownership of vehicles in simulation C2 achieves a similar outcome as in B2. Results of C2 also show a shift from car users to cyclist by 32.72% which in consequence reduces global travel distance (\(\Downarrow\) 6.57%) as well as combustion distance (\(\Downarrow\) 34.96%). The comparison of results from B2 and C2 with output data from the original simulations B and C suggests that measures can yet become more effective when the quality of alternative mode options increases, and thus the advantage in utilities of the car is reduced. Furthermore, utility values in Table 8 show that the supposedly harsh intervention of the vehicle ban in C2 is perceived as less intrusive with individual utility decreasing by only \(\Downarrow\) 2.88% in comparison to the original simulation C (\(\Downarrow\) 12.26%) when there are genuine mode alternatives to the car option. Overall, simulation C2 achieves the best outcome with regard to indicators on environmental impact but B2 is almost equally effective while using a less intrusive intervention (educational campaign) which reduces the risk of public opposition (Table 10).

Table 8 Comparison of modal choices for simulations A2, B2 and C2
Table 9 Indicators on environmental impact for simulations A2, B2 and C2
Table 10 Normalised average traveller utility of changed agents for simulations A2, B2 and C2

This concludes proof-of-concept for our proposed method. The purpose of our experiments is to demonstrate how our framework is able to capture plausible changes in performance indicators when using different input settings. Validation for exact values of simulation results typically involves empirical verification against real-world data which currently is not the focus of this paper. For real-world application, relevant data for input and validation of the simulation includes geographic information of the simulated area as well as census data and behavioural surveys. With regards to geographic map information, this data can be obtained from OpenStreetMap [38]. In addition to this, census data is typically accessible through governmental institutions, whereas obtaining survey information on activity-specific behaviour can be more difficult. In particular, this information is usually surveyed as part of consumer studies by either public or private research institutions. Primary data and results from these studies are occasionally published in online databases such as GESISFootnote 2, StatistaFootnote 3, or can usually be made available upon request or individual agreements.

Conclusion and Future Work

Current research on traffic simulation already shows a wide range of agent-based applications to study effects of traffic policies. However, available traffic simulation models have primarily studied effects of policies by measuring social benefit and thus not sufficiently consider effects on individuals. Effects on individuals are the basic cause of how the system changes under interventions which is why they cannot be ignored. In order to evaluate effects on individuals, simulation results need to include information on individual utility which requires a more detailed modelling of individuals that is able to capture preferences as determining factors of agent decisions. Furthermore, decisions and preferences vary depending on the context of travel, which is why agents require knowledge about the simulated activity.

For this purpose, we use semantic technology to separate general agent activity logic from aspects of modelling agent knowledge. This allows knowledge to be structured using state of the art methods from knowledge engineering. Based on the three layers of the CommonKADS approach, we extended the traditional BDI agent with a qualitative model of world knowledge. The lowest layer contains information on domain knowledge and abstracts common concepts from the travel domain from activity knowledge. Based on this, activity knowledge can be flexibly extended or replaced which allows agents to be reused across different scenarios. In the second layer, this domain knowledge is extended by person-related concepts that describe the agent attributes. In particular, census properties from this ontology serve as input to SWRL rules that compute agent preferences based on survey data. Information from the first and second layer is used for agent decision-making which is implemented using BDI agents in the third layer. Based on this, we have demonstrated application of this approach in our experimentation. As stated previously our interest lies not in the input values given in Tables 3 and 7, but the manner in which the simulation responds to their modification. In our experiments, this modification models an improvement in the quality of alternative travel modes to car travel, allowing walking and cycling to be viewed more favourably as genuine alternatives to the car. We note that simulation output reflects this appropriately. Table 8 demonstrates a shift away from car travel when the utility of the other modes is increased and policies that favour them are introduced (B2 and C2). It is this ability to respond appropriately to differing input scenarios that makes the proposed methods in this paper valuable. Furthermore, we have shown how this method establishes the basis for measuring individual utility and thus creates an indicator for measuring effects of policies not only on global system behaviour but also on individuals.

For future work, we will work on extending agent knowledge on both the travel and activity domains. This will allow simulation of more complex scenarios, e.g. scenarios in which agents perform multiple activities during the day or scenarios in which agents with different travel purposes interact for use of shared resources (or shared services). The preparation of additional ontologies for different activities can be made available as part of an open-source library for travel-related activity knowledge. Ontologies can be flexibly plugged into the simulation model to facilitate customisation for specific research questions. Furthermore, as we have added more details to modelling of individuals, simulations become more complex and opaque. Therefore, we will work on appropriate analysis instruments that leverage structures of our semantic modelling by logging and visualising details of rule evaluations.