Content uploaded by Gonçalo Homem de Almeida Correia
Author content
All content in this area was uploaded by Gonçalo Homem de Almeida Correia on Jun 08, 2020
Content may be subject to copyright.
The Urban Dynamics Educational Simulator
(UDES): tutorial for a tool to teach agent-based
and Land Use and Transport (LUT) Interactions
Modeling (model version 1.4)
Gonçalo Homem de Almeida Correia
Department of Transport & Planning
Delft University of Technology
P.O. Box 5048 - 2600 GA Delft
The Netherlands
Email: G.Correia@tudelft.nl
Phone: (+31)15 27 81384
Published on ResearchGate in February 2018. Updated July 2018.
UDES: The Urban Dynamics Educational Simulator Version 1.4
2
ABSTRACT
This paper describes a simple educational simulation tool to teach about agent-based
modeling (ABM) and land use and transportation (LUT) interactions in urbanized regions. The
relationship between land use and transportation in urban areas shows a dynamic complexity that is
difficult to model with static or very aggregated approaches. Agent-based simulation is becoming a
standard to model certain complex systems including LUT interactions. The LUT modeling with
Agent-Based simulation has been evolving in the last 20 years and there are some complete models
being applied to real metropolitan areas. In this paper, only some of the ingredients of those models
are presented in an easy to explain agent-based model that can be used in classes. The model is
based on a more simple one available in the software package Anylogic which was upgraded with
many add-ons coming from transportation systems analysis requirements that have been introduced
at TU Delft. The model logic is explained, including how it can be used to run different
experiments. The paper ends with an example of an experiment that can be done by students in class
or as an assignment.
Keywords: Agent-based modeling; Land Use and Transportation Interactions; simulation;
education.
A stand-alone version of the model which has been generously created by Anylogic company can
be downloaded from here:
https://www.dropbox.com/home/tu%20delft/UDES%20Urban%20Dynamics%20Educational%20Si
mulation/Urban%20Dynamics%20Educational%20Stand-alone%20Public
In this folder you should run the file: Urban Dynamics Educational Simulator2 and all files should
be kept in the folder.
If the link does not work please contact the author.
(this is the preferred option as the program runs in your computer therefore being much faster)
The model version 1.4 can be found online in a web version:
https://cloud.anylogic.com/#/model/47990ad8-ab7c-4fc5-88e5-0e3771cb5303;mode=SETTINGS
(runs best in Chrome but it may have some instability since anylogic is updating the system, in
some cases it might not run so we recommend the stand-alone version)
Cite as: Correia G. 2018. “The Urban Dynamics Educational Simulator (UDES): tutorial for a
tool to teach agent-based and Land Use and Transport (LUT) Interactions Modeling (model
version 1.4)”. Published on ResearchGate.
UDES: The Urban Dynamics Educational Simulator Version 1.4
3
1. Introduction
This paper describes a small agent-based model (ABM) of a simple Land Use and
Transport (LUT) system of a toy city, named Urban Dynamics Educational Simulator (UDES). The
model is meant to help students and beginners understanding what is ABM and what are LUT
interactions in urban areas. It does not pertain to replace a proper LUT model of enough complexity
and detail to tackle the problems of a real city. It rather intends to give the user a flavor of this
complexity and how it can be modeled by ABM.
LUT modeling is a very broad and intensive field of work in transportation research and
practice. In this paper, it is impossible to give such an overview of all that work. A good reference
and guide can be obtained on the paper by Iacono et al. (2008) or the paper by Batty (2008). Both
papers describe the several types of modeling frameworks that have been used to model the
interaction between transportation and land use in urbanized regions. Both starting with the famous
Lowry model of the Metropolis from 1964 which is considered the first operational model to relate
house location, employment location, and the accessibility of traveling between those two main
activities (or locations types). In both papers, the evolution ends with the disaggregate micro-
simulation approaches that can be reached through the use of cellular automata or an ABM
rationale. A detailed list of several models and their functioning can be found in a book chapter by
Wegener (2004). Example questions that one wants to address with this type of model are: what
will be the impact of a cordon charge around a city center on the city as a whole? What will be the
impact on CO2 emissions? Will it result on urban sprawl or densification? Who will be the users
and losers of such a transport policy and can the losers be compensated in some way?
(Pfaffenbichler et al., 2010).
UDES: The Urban Dynamics Educational Simulator Version 1.4
4
The relationship that is of main concern in this type of models can be simplified as depicted
in Figure 1.
Figure 1: Land-Use and Transportation System interaction in an urban area
This can be designated as a complex system whereby a variable will influence itself through
a feedback loop. This type of complexity is called dynamic complexity as opposed to combinatorial
complexity, the latter being much more dependent on size while the former depending on the
number of connections between elements (Pfaffenbichler et al., 2010). In reality, it is possible to
observe this process when we see that providing transportation in our cities has led to new
opportunities in urban development and these opportunities have greatly expanded cities to new
urbanized regions which, by their turn, need more transport capacity. Managing and planning an
urbanized region is not an easy task, it requires understating of all system components and the
ability to forecast what will happen when all of these interact.
Some researchers and practitioners claim that there isn’t a significant influence from the
transportation system in the land use system given that transport is ubiquitous and that the choice of
residential and firm location depends on many factors of which transportation is only one, however,
this can only be concluded when looking at transport from a traffic point of view in the typical
American conurbation, the fact is that if transportation is built differently people will organize
themselves differently, build the city differently and transportation needs will be different as it can
be seen in many urban regions of Europe or East Asia. For a review on the empirical understanding
of the relationship between land use and transport the report by Miller et al. (1999) provides a good
source of information.
Transportation
Accessibility
Land Use
Activity
Patterns
The Urban
System
UDES: The Urban Dynamics Educational Simulator Version 1.4
5
The reality of cities cannot be modeled by the simple system depicted in Figure 1, because
there are many variables and system components in between those 4 elements. A good
representation and expansion from the previous diagram is the one shown in Figure 2 where a
disaggregation can be identified. In the diagram proposed by Wegner (2004) it can be seen that
transport is about choices of activities, of modes, of owning a car, of choosing a particular path in a
network; and the land use system is also dependent on choices of locating activities, of real estate
investments, on decisions to move to another house.
Figure 2: The land use-transport feedback cycle. Source: (Wegener, 2004)
The processes defined above can be in themselves complex to model and the reader may
once again refer to the report by Eric Miller et al. (1999) to have an overview of these components
and the difficulties in modeling them. As an example consider the complexity of matching a certain
number of house buyers and the existing supply of houses in a city: what criteria are people using?
Will they always buy? Do they consider all the choice set, meaning all the houses available? These
are questions that still today do not have a final answer, and certainly, there are several ways of
modeling these decisions. The level of detail of these components should be decided case by case
depending on the model objectives. For more information about this process, the paper by Farooq
and Miller (2012) provides a good overview and proposal for handling built space markets. Another
paper (de Bok, 2009) can be consulted to understand the complexity of firms decisions, the author
proposes a spatial Firm-demographic Micro-simulation (SFM) model to simulate transitions and
events in the firm population, including firm relocations, firm growth, firm dissolution, and firm
formation.
UDES: The Urban Dynamics Educational Simulator Version 1.4
6
Beyond what is described in the feedback loop other aspects are essential for the dynamics
in urban systems. One of the main ones is the demographics of the populations. In fact, it’s the
dynamics of families' decisions and events that are going to define much of what happens in a city.
In Figure 3 it is possible to see what kind of steps should be modeled in the behavior and events of
the population where 4 elements belong to what can be named the cohort-survival model whereby
the population in a region depends on the mortality rate, the birth rate, the emigration, and the
immigration rates. The other events concern the families which are an important unity of decision in
LUT models especially in what concerns to travel choices and house location decisions.
Figure 3: Population dynamics
A simple diagram of elements to have in these LUT interactions models and how these can
be endogenous or exogenous can be seen in Figure 4. In this, we can see that Government policies,
regional economics, and demographics are external factors that are going to affect the performance
of the system.
All these
elements
associated in
households
Cohort survival
classical elements
UDES: The Urban Dynamics Educational Simulator Version 1.4
7
Figure 4: Simplified diagram of a LUT interactions model based on the Ilute model (Miller, 1999).
Models can be rather complex as one gets into more details about all the events that happen
daily in a city. In Figure 5 one can see how these models can become more realistic and also more
complex.
Figure 5: LUT Models evolution. Source: Miller personal communication at TU Delft in 2014
The last stage of these modes is called activity-based which is often associated with agent-
based modeling. Activity-based modeling aims at explaining mobility through the activities that
people perform every day, therefore, it is not centered on explaining volumes of trips, but activity
patterns which will then lead to the necessary trips in each specific mode of transport (Bowman and
Ben-Akiva, 2001). This type of model makes it natural to describe what people do in a city to derive
aggregate mobility patterns and this is where the connection to Agent-Based Modeling (ABM)
comes.
UDES: The Urban Dynamics Educational Simulator Version 1.4
8
The principle of agent-based modeling is to observe the emergence of the behavior of the
system by characterizing very well the behavior of the agents of the system and the environment in
which they interact and move (Figure 6).
Figure 6: Principle of Agent-Based Modeling (ABM)
There is still a great deal of discussion as to what can be called agent-based. The definition
of agent-based simulation model used in this work is the one by Bonabeau (2002): “In agent-based
modeling (ABM), a system is modeled as a collection of autonomous decision-making entities
called agents. Each agent individually assesses its situation and makes decisions based on a set of
rules. Agents may execute various behaviors appropriate for the system they represent—for
example, producing, consuming, or selling”. This means that we are not considering other more
complex components of the agents as memory and learning, and we are thus focusing more on the
decision-making and spatial interaction. Some researchers defend that only models in which agents
learn and memorize through time can be called an agent-based model, although not agreeing with
this claim these properties certainly make the models more realistic but there is always a concern
with the validity of the model: as it becomes more complex and data-hungry it may also become
more difficult to handle.
The structure of an ABM can be described by the diagram in Figure 7 where it is possible to
identify the agents and the environment where they move (Lin, 2002). An agent has a set of
possible actions, rules of behavior, and variables that indicate its internal state. There can also be an
event generator that will create events compatible with the reality of that agent. Using the LUT
models as reference an agent can be a citizen that has as possible actions traveling to different
places in a city; as rules of behavior a series of mode choice and departure time for these trips; and
Agent-
based
simulation
model
Agents
Aggregate
Emergent
Behavior
Randstad Urbanized Region
UDES: The Urban Dynamics Educational Simulator Version 1.4
9
as internal state being at home, working or enjoying leisure time; as a random event this person may
lose his/her job which through the rules of behavior will cancel the trip to work as a daily action and
will result in a state of being more time at home. The agents move in the environment where they
interact with each other. In the LUT model, the environment can be the road network in the city
where the population must drive. The shape and driving conditions of that network will influence
the agent in his/her choices. The more people choose to drive the more people will be on the roads,
the more traffic congestion will be generated which may lead to choosing another transport mode.
Figure 7: ABM structure. Source: (Lin, 2002)
Wooldridge and Jennings (1995) note that computer agents typically have the following
properties:
• autonomy – agents operate without others having direct control of their actions and
internal state;
• social ability – agents interact with other agents through some kind of ‘language’ (a
computer language, rather than natural language);
• reactivity – agents are able to perceive their environment and respond to it;
• proactivity – In addition to reacting to their environment and to other agents, they are also
able to take the initiative, engaging in goal-directed behavior.
Agents
Environment
Events
Rules of Behavior Possible
Actions
Internal State of
each Agent
Event Generator
UDES: The Urban Dynamics Educational Simulator Version 1.4
10
From these properties, it is the latter one that is more difficult to provide in these models
and it is argued here that it is not necessary for several types of models to produce relevant and
meaningful results.
Macal and North (2006) provide a more comprehensive list of system elements under
which the use of ABM should be a good choice and in the lower bullets it is explained how LUT
matches those elements:
When there is a natural representation as agents
People indeed seem to be natural agents
When there are decisions and behavior that can be defined discretely
Our mode choices, our house, and job choices are all discrete
When it is important that agents adapt and change their behavior
We change our behavior as our lives change along time
When it is important that agents learn and engage in dynamic strategic behavior.
We learn with our mistakes, we take strategic decisions in our families
and businesses
When it is important that agents have dynamic relationships with other agents, and agent
relationships form and dissolve
We marry and … divorce, we become business partners and dissolve
those partnerships
When it is important that agents have a spatial (movement) component to their behaviors and
interactions
Movement is the attribute that makes our cities so productive
When process structural change needs to be a result of the model, rather than an input to the model
(emergence of change)
If changes in cities were easy to predict we would not need more
detailed models that go bottom-up
When the past is not a good predictor of the future …
Time series are often very bad estimators for what is coming
In this paper we will start by describing the UDES model in section 2, then it follows with
the explanation of how to run the model in section 3. The paper continues with a possible
experiment to be done with the model (section 4) and ends with the conclusion in section 5.
UDES: The Urban Dynamics Educational Simulator Version 1.4
11
2. The Urban Dynamics Educational Simulator (UDES)
2.1 General structure
The UDES model is inspired and based on a standard model available from the AnyLogic
(http://www.anylogic.com/) simulation platform and is intended to be a demonstration of the
capability of the software in modeling agent-based systems applied to urban and transportation
problems. The model that was made available in Anylogic website was not providing enough
functions for a demonstration of the complex relationship between land use and transportation thus
many changes were required for reaching the version that is reported in this paper. Still, it is
important to acknowledge that the base model does provide the logic that has supported the
development of UDES.
Some of the changes introduced to the original model have to do with: adding a transport
mode choice model; changing the computation of several of the key performance variables such as
rent price; the introduction of new controls that gives the freedom to the user to change on-the-fly
what is happening in the LUT system; a new map of the toy city in which there is a zone that is
totally empty; and the possibility of adding a new road link. Many other changes were done in the
graphical aspects of the model to make it more friendly for any user interested in Agent-Based
Simulation and LUT models.
The model, as it was referred, is intended to be used for educational purposes, therefore, it
should not be used as a tool to model any real city. The main property that UDES is required to
capture is a small part of the LUT complex interactions, all other system components in a city are
mostly omitted for simplification purposes. The author intends to provide a model that is
sufficiently rich so that the student/researcher understands the complexity of the topic but that it is
simple enough to understand in just one or two lectures. The student/researcher should be able to
recognize some of the events that are observable in the city as the result of understanding the simple
model mechanics. Everything about UDES is and should be criticizable and debatable.
The model is described as follows: “Urban Dynamics Educational Simulator (UDES) is a
simple agent-based transport and urban development model of a small city only for teaching
purposes. The city is divided into six districts (named zones) where each district offers certain urban
characteristics in terms of housing capacity, business capacity, and living quality (Figure 8). Within
the model people and enterprises are agent-based. People work at a certain enterprise and receive a
salary. The inhabitants are classified as happy if their income is higher than their living expenses
and unhappy otherwise. When the living expenses (transport costs and rent) are too high for the
UDES: The Urban Dynamics Educational Simulator Version 1.4
12
income, people will consider finding another job or move to a cheaper house to reduce expenses.
With an increase in prosperity, people may change to higher quality zones and in case they need one
they can get themselves a car. For choosing a new zone to live the inhabitants consider the trip time,
trip cost, and zonal rent. Enterprises are also able to move from one zone to another according to
prices. Regarding transportation, if a person is working and living in the same district it is
considered that he/she walks to the workplace. If people have to travel to another zone for work
they choose between public transport or a private car. Districts can be selected by clicking inside of
them. Information about the selected zone is then presented on the right side of the model. Also,
people and enterprises can be selected by clicking on them. Further information about state and
choices of the person or enterprise will be provided. Another possibility within this model is to
change the characteristics of each district (such as the business capacity, quality level, or the rent)
and change transport attributes (ticket pricing and average speed). This can be applied on the fly to
observe the impacts on the urban dynamics”.
Figure 8: The map of the toy city
As stated the model has two main types of agents: the citizens (people) and the enterprises
(firms or companies) where jobs are located. The citizen agent is the centerpiece of this model
because it is his/her life that will change what happens to this city. It is his/her decisions of housing
location, job, and transport mode that will change the performance of the housing market and the
transportation system. In the literature it is possible to find many components of those decisions that
should be part of a full LUT model to support policies in urban areas, naturally, in UDES, this is not
possible so the model is concentrated in the very essential to demonstrate LUT interactions and
agent-based rationale. The simplified scheme of the general model structure can be seen in Figure 9.
UDES: The Urban Dynamics Educational Simulator Version 1.4
13
Figure 9: general model structure
The model runs for 10 years in 1 day time steps and in each day many of the people in the
city travel to work and these are the only trips that UDES considers. All model mechanics are
explained in the next sections.
2.2 The citizen agent
The citizen is the key element of UDES. Its main attributes are listed in Table 1.
Table 1: Attributes that characterize each citizen
Name
Explanation
Living Zone
Randomly chosen when the population is generated, limited to the
initial capacity of each zone
Age
Randomly chosen, when the population is generated, between 20 and
80 years old (only adults are modeled)
Enterprise
The ID of the enterprise in which the citizen works or 0 if
unemployed
Has a car
75% probability
Salary
depends on the enterprise, randomly chosen with a distribution
Mode of
transport
Walking, car or public transport
Total trip cost per
month
It only considers commuter trips and depends on the transport mode
and on the origin and destination
Rent
Depends on the zone where the person lives
Net income per
month (it can be
negative)
Salary – Rent – Transport Costs
Bank Balance (it
Accumulated Net income
People
(Agent)
House
Built space
(environment)
Travel mode and path
Worker
Job
Company
(Agent)
Vehicle
ownership
Monthly
income
UDES: The Urban Dynamics Educational Simulator Version 1.4
14
can be negative)
Specific point
location of the
house
Randomly chosen in each zone
At the beginning of the simulation, the agents are created in the environment. About 70% of
the living capacity of each zone will be converted into citizens, hence there will be extra capacity
for citizens to move there. Each inhabitant will have an age between 20 to 80 years old drawn
randomly from a uniform distribution, thus children are not modeled. The probability of each
citizen having a car will be 75% also randomly generated. A job will be assigned from the available
jobs of the companies that are hiring (explained later) but because it is the first instant of the
simulation this job location will have a higher probability of being selected at the home zone (30%).
This does not mean that the 30% is a stable percentage that will be maintained throughout the
simulation, in fact as with any simulation in the first time steps the model will converge to a more
stable state (so-called warm-up period). The bank balance of each person is calculated at the end of
each month using the current bank balance plus the net income of the month that just ended
(salaries – expenses).
The behavior of each citizen agent is controlled by a statechart in which state transitions are
ruled according to what is happening to the agent and also the environment. As can be seen in
Figure 10 the state chart has two main states: “Satisfied” and “Dissatisfied”. All agents start as
being “Satisfied” and in that state, the agent is happy considering buying a car, or moving to a
house in a better area of the city (higher “quality” as it will be explained later). These two events are
triggered only by a certain probability and in the case of buying the car the decision is subject to the
previous existence of a car in the household: if the person already has a car then he/she is not going
to buy another one. The decision of buying a car happens drawing a random number between 700
and 1000 days, and the decision to move to a better house (houses can only distinguish themselves
as a function of the quality of the area and their price) happens between 365 days and 730 days (one
and two years). The move to a better house happens with 70% probability to the area with the
highest quality and the remaining 30% probability to an area where houses are currently more
expensive (from the 3 most expensive areas one is selected randomly). This process restarts once
the person returns to the state of happiness in case he/she was in an unhappy state.
The happiness of the citizen is mostly controlled by the net income, which means the
difference between all the income (only the salary in this model) and the expenses with housing and
transportation. The income is independent of the money that the citizen has in the bank. When the
UDES: The Urban Dynamics Educational Simulator Version 1.4
15
net monthly income goes below 150$ the citizen will transfer from the satisfied state to a state of
dissatisfaction in a “waiting” condition. This can also happen if the commuting travel time (both
directions) goes above 30 minutes or if the person is currently walking from one zone to another ( a
rare case where there is no transport capacity to move). In order to return to a happy state the three
conditions just mentioned must be reverted, this means having a greater income than 150$, not
walking between two different zones and having a commuter travel time lower than 30 min.
If the income is even lower (less than 50$) or the bank balance is also depleted (savings
under 50$ in the bank) or the commuter time is greater than 48 min (0.8 hours) or again the person
is walking from a zone to another, there is a further transfer to an extreme dissatisfaction state.
These two states “Waiting” and “Extreme” which are both under the “Dissatisfied” state can in
general be changed by moving to a cheaper house, moving to a house that is closer to the
workplace, or searching for a job that pays more than the current salary.
If a person is in the “Waiting” state he/she will wait for 60 to 90 days (value randomly
generated) till a decision has to be made regarding a life change, there will be 50% probability of
trying to find a better-paid job, and 50% chances of moving. When moving, the citizen will either
consider moving to a zone where the rent is cheaper than the current one (50% chances) where the
zone is randomly selected from the three cheapest zones that have a lower cost compared to the
current rent cost; or aim for the lower transport costs if the rent is still lower than the current one
(25% chances); the remaining chances are allocated to living in the zone where the person works if
that rent is cheaper. The reduction of expenses is always done by choosing a single zone, therefore,
no discrete choice model is used for this purpose. If a zone is chosen because it has a cheaper rent it
can happen that transport costs increase but the other way around is not true, a zone that is chosen
for having lower transport costs cannot lead to a zone with a higher rent. In case there is no
improvement available the state chart will loop between recovery and waiting till the problem is
solved.
When the person is at an “Extreme” state he/she will immediately get rid of his/her car and
stay in that state between 10 and 60 days before considering finding a better job, moving to a
cheaper house or moving to the zone where he/she works. This latter option has to happen
mandatorily if the person is walking to another zone than the one he/she in living in (always
considered too far) or if the person is commuting more than 0.8 hours (48 minutes).
It is important to recognize that families are not modeled in UDES. Despite this being a
very important unit to explain mobility patterns in urbanized regions, since many decisions of
UDES: The Urban Dynamics Educational Simulator Version 1.4
16
transport mode and house location are taken within the family, this would make the model more
complex thus losing the didactic nature that is intended to have. Moreover even with such a simple
model simulating many agents is computer intensive, thus in UDES, each agent of the synthetic
population that is simulated throughout the years represents 10 people in reality, which reduces the
computation time and memory usage.
Figure 10: Statechart of the citizen agent. Source: Anylogic
The citizens decide on their transport mode every day in function of the transport conditions
they have. The transport mode choice model used to take the decision for the commuter trip is a
simple logit model that assumes no correlation between the alternatives and has the following two
utility functions (only the systematic part of the utility function is shown, meaning the non-random
one) for car and public transport (PT):
Where:
Move to a
house in a
zone with
more quality
A certain
probability of
buying a car if
you don’t have
one
Net Income is low
(Income-Expenses) or the commute
time is high or the person needs to
walk from one zone to another (rare
event that should not be possible).
All complementary
conditions are met
Net Income is even lower or the bank
balance is very low (no savings!) or
the commute time is very high or the
person needs to walk from one zone
to another (rare event that should not
be possible).
Find a
better
paying job
if
available
Move to a house closer to the
workplace
Each agent
starts here
Move to
a zone
with a
lower
rent
price
All complementary
conditions are met
UDES: The Urban Dynamics Educational Simulator Version 1.4
17
: is the total fuel cost in monetary units ($) for the distance that the car has driven
(input) plus a fixed component that regards to the vehicle depreciation costs (you have to include
the fact that the vehicle is being paid), this is considered to be 3 euros per day as is fixed;
: travel time in minutes on that route using the length, the speed limit (input), and
the traffic congestion.
: ticket cost in $ (input) for a generic public transport mode which can be seen as a
BUS system for example;
: travel time in minutes resulting from the route at an average speed of the PT
(input)
: Average waiting time in minutes for the PT (input)
Observing the functions it can be seen that there is a special preference for using the private
vehicle in relation to the public transport because the alternative specific coefficient that is part of
the utility of car is positive yielding some extra utility that is not explained by any of the variables
in the utility functions. This is a standard result of many of the demand models applied in similar
mode choice studies.
The logit model that is used to compute the probabilities of choosing each of the two modes
is calculated according to the following expression:
A mode is then chosen according to the probabilities by drawing a random number (Monte
Carlo simulation). In case there is no capacity on the road to accommodate the vehicle of this agent
(all paths blocked) then the choice is PT if there is capacity on the link, otherwise the person will
walk between two different zones which leads to dissatisfaction as explained before. When the car
has been chosen the vehicle (times ) is placed in the network and the travel times are updated
according to a simplified congestion function:
Where:
: travel time in hours in link
: length of link in kilometers
UDES: The Urban Dynamics Educational Simulator Version 1.4
18
: Cars on link
: Capacity in number of vehicles
: Speed limit in the network in km/h (input) (this is not the average speed).
Notice that people do not have departure times in this model and they only travel on the
routes in one direction which is the direction from home to work every morning. Because there are
no dynamic departures this can be seen as a static traffic assignment. The vehicles will be routed
person by person (times 10) so this means that traffic is dependent on the order in which each
person is assigned however the agents are not listed according to zone so we can be sure that their
cars are randomly assigned to the possible paths. Traffic congestion is symmetric since the network
is symmetric and the demand is also symmetric. Therefore all costs and distances in the network are
multiplied by two to take the return trip from work to home in consideration, again no departure
times are considered.
The walking mode of transport is only considered for people who live and work in the same
zone, in those cases there is no car option or PT option, only walking. Thus the number of walkers
is the number of employed people living and working in the same zone. In case there is no capacity
using both transport modes between the two areas the citizen is considered to walk between them
which will lead to a state of unhappiness as explained before.
If a person does not have a driver’s license and he/she chose the private car as his/her
transport mode this will be immediately switched to PT if there is a route with enough capacity
between the home location and the work location otherwise walking is chosen.
Regarding the population demographics dynamics the following events at the end of each
year are modeled:
the age of the person is added one year;
for each person above 70 years old, there is an increasing probability that he/she will
pass away. If that person dies, a new person becomes active in the population (age =20
years old) (proxy for a birth). This person will be placed in the cheapest living area and
will not have a car. The person will try to find a job in the living area or else in the
remaining zones. This means that the population in the model will never change, this
helps analyze the results of the model. These are the only population dynamics modeled
in UDES. There is no emigration and immigration and because there are no families
there is no need to model partnership formation or dissolution. It would have been easy
UDES: The Urban Dynamics Educational Simulator Version 1.4
19
to add these processes but it was considered that they would not improve the
understanding of the model rationale.
2.3 The enterprise agent
The enterprises are the activities in which the citizens work every day. These have a certain
number of properties that define what they provide to the system in terms of number of jobs but also
in terms of salaries paid. Their behavior is defined in terms of size, which can be stable or it can be
decreasing or increasing from month to month. They spatially move in the city by selecting a new
location for their activities, moving to higher rent areas if they are growing, or moving to lower rent
areas if they are decreasing their activity (Figure 11 shows the statechart that controls the state of
each company).
Figure 11: Enterprise agent state chart. Source: Anylogic
The transitions between the different states of the company do not depend on the economy
of the region; they are simply triggered by a timeout probabilistic event. This helps create
variability in the system dynamic changes with time. By default, the company is put in a state of
“Working” and every year the salaries will be updated with an increase of 1.5%. There will be a
timeout probability of the company growing or decreasing (“Lesser”), its size, and activity. An
exponential distribution is used with a mean 80 days for both events. When “growing” is chosen the
Move to a better zone (higher
quality)
Hire more people
and increase salaries
Move to a cheaper area
Fire one employee
with the lowest salary
Increase salaries
Each agent
starts here
If the company
disappears another
one is created
If the company loses
all employees then a
new company is
created
UDES: The Urban Dynamics Educational Simulator Version 1.4
20
company is put in a list of hiring companies if there is capacity for more employees. Moreover,
there will be a probability of the company to move to one of three areas with better quality than the
current area (“g_move”). With an exponential probability of 30 days, the company will increase the
salaries of the employees by 1.5% and will expand its maximum workplaces by 10 (one agent
according to the expansion scale of the model). Once the company is in a growing state an
exponential of mean 80 days has started counting again to bring the company back to a “Working”
state. From that state it is also possible to go to a “lesser” state where the inverse process of growing
happens: the company no longer hires and there will be probabilities of: (1) decreasing its
maximum workplaces and if this is lower than the current number of employees, a person from the
pool of lowest paid people is fired, and all salaries are reduced 2%; (2) move to one of three areas
of the city that have a lower business rent than the current one. If the company disappears (0 jobs)
then it goes again to the start of the statechart with 10 employees of maximum capacity (1 agent)
and a location in the lowest rent area, which means that the number of companies stays the same.
An enterprise (or company) has the attributes that are shown in Table 2. At the beginning of
the simulation, all the enterprises are generated. There will be as many as 60% of the enterprises
capacity of each zone. The maximum number of workplaces is the same for all companies at the
beginning of the simulation (60 people which means 6 agents). The rent is paid according to the
zone where the company is located as it will be explained in the following paragraphs. The
company is put in a list of hiring enterprises at this moment and the inhabitants that have just been
created at the beginning of the simulation will be searching for jobs at these companies. A person
can only be hired by a company that still has jobs available. The salary of the person is taken from a
random distribution (Figure 12) which is expressed in a probability density for the salaries
expressed in monetary units ($). The salaries of people above 60 years old are cut by half. This
salary is added to the total mass of salaries paid by the company each month.
Table 2: Enterprises properties
Name
Explanation
Zone
Where the enterprise is located
Employees
Number of employees in the company which is randomly selected in
the beginning of the simulation
Maximum
workplaces
Randomly selected at the beginning of the simulation but static
during the simulation time
Rent price
The monthly rent that the company is paying at the moment
Salaries paid per
month
Randomly generated for all companies at the beginning of the
simulation and every time a new employee is hired (see Figure 12 for
the function)
Specific point
Specific point location in the city chosen randomly in the zone where
UDES: The Urban Dynamics Educational Simulator Version 1.4
21
location of the
enterprise
the company is located
Figure 12: Salaries random generation function
2.4 The environment: the toy city
The city is divided into 6 zones as referred above, each one having the following properties
(Table 3):
Table 3: Properties of each zone
Name
Explanation
People
Population living there which is limited to a certain maximum
Capacity of
population
Maximum population
Enterprises
Number of enterprises
Maximum
enterprises
Maximum number of enterprises which can exist at the zone
Quality level
Measures the quality of the built space and general attractiveness of
the zone. This is evaluated from 0 to 1 where 1 is the highest quality
Apartment rent
Rent that each citizen pays to liven there and it depends on the
attributes of the zone
Business rent
Rent that each enterprise pays to be at that zone and it depends on the
attributes of the zone
The housing rents are calculated in the beginning of each year and they can go up or down
according to the following function:
UDES: The Urban Dynamics Educational Simulator Version 1.4
22
Where:
is the year and is the number of the zone
and quality is defined from 0 to 1. With 1 being the
highest quality level in a zone
: is the population in zone at period
: is the capacity for houses in zone at period
: is the number of enterprises in zone at period
: is the capacity for enterprises in zone at period
The three functions referred to in the equation are given by the three charts in Figure 13
whereby as the population the businesses and the quality increase so does the rent increases by the
factors given in the charts. The idea is that as demand increase and quality increases so does the
price of living in this specific area. Therefore there is no competition between houses and offices
and these are not connected to the quality of an area. These rents are updated every year. The rent
on the South zone will not change while it remains unpopulated.
Figure 13: Functions that govern the housing rents
The enterprises rent is given per employee and is established for every year in each zone
through the following equations:
UDES: The Urban Dynamics Educational Simulator Version 1.4
23
Where is the year for which the rent is being calculated and is the number of the zone.
Thus the rent price depends on the quality of the area but also on the number of companies that are
already there in relation to the total number of companies.
Where function and are given in the following charts (Figure 14):
Figure 14: Functions that govern the business rents
The toy city has two transport networks: the car and PT. Those are very simplified networks
where the car network is more detailed and presents topology information which allows for the
computation of shortest paths hence there may be more than one choice of the route if there is
traffic congestion. These paths are chosen by running a Dijkstra algorithm for every commuter
connection (taking into account the ones that already have been assigned). The PT network is a
complete graph (all possible connections) that connects all the zones in bird fly distances.
Figure 15: Transport networks
The following is the list of attributes that characterize the links in both networks (Table 4).
UDES: The Urban Dynamics Educational Simulator Version 1.4
24
Table 4: attributes of the road and PT links
Road Links
PT links
• Travel time (average speed is an input)
• Capacity (2500 veh)
• Current load (results from the demand)
• Average Speed (input)
• Travel time (speed is an input)
• Ticket cost (input)
• Average speed (input)
• Capacity (1500 pax)
• Current number of passengers
The road network does not have any information about turnings which means that all movements
are allowed. The topology is very simple in that all links allow for both ways of circulation.
2.5 On the randomness of the model
The model has some random components mainly in the behavior of the agents. These
random components are ruled by a Monte Carlo process whereby a random number is generated
and compared to a probability distribution which will then correspond to a specific event. In Figure
16 the generation of a trip departure time (not modeled in UDES) is randomly created using an
empirical distribution.
Figure 16: Using a Monte Carlo process to generate a departure time of a trip as an example
Running the Monte Carlo process every time the simulation is run would mean that in each
run there would be a different result being produced for the same inputs. However we use a constant
UDES: The Urban Dynamics Educational Simulator Version 1.4
25
seed for the random numbers generation, this means that the pseudo-random numbers generated in
each simulation run are the same. This is ideal for models that do not have a large random
component thus avoiding having to run several replications of the same experimental configuration
and computing the average results with confidence intervals.
3. Running the model
To run the model first it is needed to select some inputs for each zone. In Figure 17 it is
possible to see the several main parameters. Note that the city center has a high quality, a lot of
companies but very low housing capacity. The south area is empty hence it is possible to start
occupying it by increasing the housing or enterprise capacity. The West region has the highest
housing capacity of all the toy city. The North East area has the lowest quality in all the region. The
number of inhabitants corresponds to the total population and not to agents since there is a scale of
10 as referred before.
Figure 17: Input data for each zone
The simulation time of the model follows a calendar starting in 1 of January of 2014 (12
AM) and ending in 1 of January of 2024 (12 AM), hence 10 years are simulated in which the
People: 610/840
Enterprises: 101/160
Quality: 0.9
People: 4120/5720
Enterprises: 51/80
quality: 0.55
People: 3190/4460
Enterprises: 42/66
quality: 0.5
North East
South
South East
West
Centrum
South West
People: 1650/2300
Enterprises: 38/60
quality: 0.4
People: 1030/1440
Enterprises: 34/53
quality: 0.25
People: 0/0
Enterprises: 0/0
quality: 0.6
UDES: The Urban Dynamics Educational Simulator Version 1.4
26
smallest time unit that generates an event is the day. It is important to notice that in any simulation
there should be an initial warm-up period to let the model reach an equilibrium as referred before.
In the beginning, for example, the choice of the location of each citizen in the city is not depending
on the income that he/she gets hence it will take some time till the citizen adapts to his/her
economic situation.
Since version 1.4 the model is now available in Anylogic Cloud. When accessing the model
from the website the first window that appears is the experiment window (Figure 18). Clicking on
the play button on the window leads to the simulation program where everything can be controlled.
The performance of the model can be quite slow in some browsers, but the model should run in all
of them. The number in the upper left corner of the window is not important, it is the version that
has been submitted to the website.
Figure 18: Initial window of UDES in Anylogic Cloud
When entering into the model main window, on the lower bar there are several options to
control the running of the model. When the simulation starts the model is in pause mode so
everything can be changed before the model dynamics start to operate the system variables. The
speed of the model and all its components can be controlled and checked on the fly by using the
controls, notice that there are differences between the online version and the stand-alone (Figure
19). The play button runs the model; the pause will hold the model execution; the stop button will
take you again to the initial window (Figure 18) and will clean the experiment (this has to be done
every time the user needs to run a new experiment); in the next buttons, the speed of the model can
be controlled.
UDES: The Urban Dynamics Educational Simulator Version 1.4
27
Figure 19: Control of the simulation run (above the online version, below the stand-alone)
In Figure 20 it can be seen the main window of UDES. Notice that this window may be a
little different in the stand-alone version of UDES. On the left some general information can be
found about the city as a whole and the information displayed on the map can be controlled. There
is a button that leads to another window where more information can be consulted about the
performance of the city along the simulation time (“click for more aggregate results” - Figure 21).
On the map, it is possible to click in a zone and obtain information about that particular zone which
is displayed in this window on the right-hand side. To get more information about the performance
of each zone it is possible to click the button “Click for more zonal results”, which can be seen in
Figure 22, and it allows to browse through the zone results by clicking the name of each one on top
of the window. Clicking on the enterprises (if these are visible) leads to the window of each
enterprise (Figure 23), clicking on each inhabitant (if these are visible) leads to the citizen or person
window (Figure 24). It’s also possible to click on the roads and transit segments but it is sometimes
difficult for the program to have enough precision to understand that the click respects to that
particular object due to its linear shape, therefore, it is advisable to access those objects through the
box referred before with the full listing.
As can be seen in the citizen window (Figure 24) and the enterprise window (Figure 23) it
is possible to check the state chart that has been described in the previous sections and the state in
which each agent is at the moment. Most of the information displayed in all the windows is self-
explanatory, it constitutes a collection of charts and numbers that help understand the changes and
state of the system at each point in time. The table in the “more aggregate results window” is
showing some of the most important numbers to understand what happened in the city (notice that
UDES: The Urban Dynamics Educational Simulator Version 1.4
28
some of them are expressed in a number per inhabitant). It is also possible to consult the object of
every road segment (Figure 26) and of all the public transport connections (Figure 25) including
capacity and usage information as well as a control to increase the capacity of a particular link in
the networks.
UDES: The Urban Dynamics Educational Simulator Version 1.4
29
Figure 20: The main window of UDES
UDES: The Urban Dynamics Educational Simulator Version 1.4
30
Figure 21: More aggregate results window
UDES: The Urban Dynamics Educational Simulator Version 1.4
31
Figure 22: More zonal results window
UDES: The Urban Dynamics Educational Simulator Version 1.4
32
Figure 23: The view for each enterprise
UDES: The Urban Dynamics Educational Simulator Version 1.4
33
Figure 24: The view for each citizen
UDES: The Urban Dynamics Educational Simulator Version 1.4
34
Figure 25: The view of the public transport connection
Figure 26: The view of the road link
UDES: The Urban Dynamics Educational Simulator Version 1.4
35
One of the advantages of having a simulation model is to be able to run the simulation
under a different set of experimental parameters. It is possible to change the general attributes of the
city as well as changing the characteristics of a particular zone of the city by using two menus on
top of the main window (Figure 27). All the values that can be seen in the menus are the ones that
are used by default to run the model (values in bold left to each slider). For instance, the average
speed of public transport is 18 km/h. All these can be changed by using the corresponding sliders.
To set a specific value, you may click the slider and then use your arrows on the keyboard to fine-
tune the level of the parameter. In the city properties you may control the PT ticket cost, average
speed and the average waiting time; the car gas cost and the average speed limit of the network; a
percent change of the rent that each citizen pays (an extra decrease or increase that will be used to
calculate the rent immediately, that is, it affects the next time step) it does not include the enterprise
rent and whenever the slider is moved the coefficient is multiplied again by the current rent so the
user should be careful; an increase in road capacity that will be applied once and immediately (if the
user changes it again, again the capacities will be updated). In the zone menu it is possible to
change the zone living capacity in terms of total population that can live there, the quality level (as
described before); the maximum number of places for enterprises; and an increase or decrease in the
housing rent of this zone (again this happens instantaneously and whenever you move the slider, so
be careful to select the right factor that you want). Accessing both these menus will pause the model
(if this is not in pause mode already), if the model was running it will restart immediately from the
point in which the menus were accessed.
Figure 27: Controls for city properties (left) and zone properties (right)
UDES: The Urban Dynamics Educational Simulator Version 1.4
36
Another interesting possibility that UDES provides is the creation of a new road link in
the network. This option is limited to the existing nodes on the network and the attributes of the
new link being the same as all the other links. In Figure 28 it can be seen how to create an extra
road link by selecting first the menu option “create new link” and then selecting the origin node and
destination node. The button “create” must be pressed to create the link. The road as explained is
created with the general attributes of all other links and has both ways of circulation, thus it
provides a connection in the two directions.
Figure 28: Creation of an extra road link
4. Experimenting with the model
We run the model in a business as usual mode. So not changing anything in the data and on
the parameters that are being used in the equations that rule the behavior of the agents. Most of the
relevant results can be seen in the “more aggregate results window” that was already shown (Figure
21).
UDES: The Urban Dynamics Educational Simulator Version 1.4
37
It is not possible in this paper, and it is not its purpose, to study many scenarios. As a
demonstration, we consider the traffic congestion in the network through the aggregate indicator
“average road capacity usage” which is at this moment in 75.4% (bottom of the table on the right in
Figure 21). Observing the network and the congestion on the links we identify the possibility of
making a much more direct connection between the West zone and the city center where a great
percentage of its population work every day (Figure 29). The link is added and the model is run
again for the whole simulation period the results of which can be seen in Figure 30.
Figure 29: Road network with corresponding traffic loads and proposal for new link
UDES: The Urban Dynamics Educational Simulator Version 1.4
38
Figure 30: Results for running the model with the extra road link
UDES: The Urban Dynamics Educational Simulator Version 1.4
39
The road link becomes immediately congested with travelers coming from Zone West.
Interestingly the road capacity usage after the 10 year period is greater than the one in the do-
nothing scenario (now 77.2%). We can see that the mode share of people living in the West zone
that are opting for the car mode has increased from 34.4% to 50.2% and this has to do with the
improved accessibly caused by the extra link. This is even more evident in the traffic growth
coming from the S-W region. The area is benefited by that extra link because traffic is now lower
with less competition with drivers coming from the West neighborhood. In consequence, more
people are moving to live in these two neighborhoods and also an increase in the number of
companies.
Figure 31: Traffic pattern after adding the new link
There is an overall general increase in the total number of kilometers driven every day in
the city even though the new road link is shortening the distance between two zones that have a
high interaction through the commuter trips. This is a typical outcome of the so-called “predict and
provide” approach to transportation planning whereby more road capacity is being supplied to
decrease traffic congestion and then because there is latent demand for using the car, new trips will
UDES: The Urban Dynamics Educational Simulator Version 1.4
40
show up and congest the system once again. The mode share of the car has naturally increased
mainly driven by the options that the citizens of these two neighborhoods are doing.
5. Conclusions
This paper describes a small agent-based model of a LUT system, named UDES, to teach
about these two topics. We have seen how LUT can be a complex system with many components of
which only a few are selected to be part of UDES. UDES is now open to be explored by running
several configurations of its experimental parameters looking at the results and searching for a
connection between those results and the model mechanics described in this paper. Students are
incentivized to run different experiments and be critical towards what the model is producing,
pointing for the reasons why something has happened in the 10 years of the experiment horizon or
identifying. Any experiment is allowed as this is not a real city (like in a sandbox), so also the
extreme scenarios can teach us something.
Acknowledgements
The author would like to thank the Anylogic company for providing support during this
project. Thanks also go to Robert Möhring who has been a student assistant in the first phase of the
model building. Thanks to my students of master course CIE5750: “Land Use and Transport
Interactions in Cities: Empirical Analysis and Modelling” (2016/2017) in the master of Transport &
Planning of TU Delft for being the first users of the model and having contributed to improving it.
REFERENCES
Batty, M., 2008. The Dynamics of Complex Urban Systems, in: Albeverio, S., Andrey, D.,
Giordano, P., Vancheri, A. (Eds.), The Dynamics of Complex Urban Systems. Physica-
Verlag, pp. 1–20.
Bowman, J., Ben-Akiva, M.., 2001. Activity-based disaggregate travel demand model system with
activity schedules. Transportation Research Part A: Policy and Practice 35, 1–28.
doi:10.1016/S0965-8564(99)00043-9
de Bok, M., 2009. Estimation and validation of a microscopic model for spatial economic effects of
transport infrastructure. Transportation Research Part A: Policy and Practice 43, 44–59.
doi:10.1016/j.tra.2008.06.002
Farooq, B., Miller, E.J., 2012. Towards integrated land use and transportation: A dynamic
disequilibrium based microsimulation framework for built space markets. Transportation
UDES: The Urban Dynamics Educational Simulator Version 1.4
41
Research Part A: Policy and Practice 46, 1030–1053. doi:10.1016/j.tra.2012.04.005
Iacono, M., Levinson, D., El-Geneidy, a., 2008. Models of Transportation and Land Use Change:
A Guide to the Territory. Journal of Planning Literature 22, 323–340.
doi:10.1177/0885412207314010
Lin, K., 2002. Agent-based techniques for National Infrastructure Simulation. Dept. of Civil and
Environmental Engineering. Massachusetts Institute of Technology, Cambridge.
Macal, C.M., North, C.M., 2006. Tutorial on Agent-Based Modelling and Simulation Part2: How to
Model with Agents, in: Winter Simulation Conference.
Miller, E., Krieger, D., Hunt, D., 1999. Integrated Urban Models for Simulation of Transit and Land
Use Policies Guidelines for Implementation and Use, TCRP Report 48.
Pfaffenbichler, P., Emberger, G., Shepherd, S., 2010. A system dynamics approach to land use
transport modelling: the strategic model MARS and its application. System Dynamics Review
26, 262–282. doi:10.1002/sdr
Wegener, M., 2004. Overview of Land-Use Transport Models, in: Hensher, D., Button, K. (Eds.),
Transport Geography and Spatial Systems. Handbook 5 of the Handbook in Transport.
Pergamon/Elsevier Science, Kidlington, UK, pp. 127–146.
Wooldridge, M., Jennings, N.R., 1995. Intelligent agents: theory and practice. The Knowledge
Engineering 10, 115–152.