SUBPART EIGHT
Automatic Calibration
CHAPTER 32
CaDyTS: Calibration of Dynamic Traffic
Simulations
Kai Nagel, Michael Zilske and Gunnar Fl¨
otter¨
od
32.1 Basic Information
Entry point to documentation:
http://matsim.org/extensions →cadytsIntegration
Invoking the module:
http://matsim.org/javadoc →cadytsIntegration →RunCadyts4CarExample class
Selected publications:
Fl¨
otter¨
od (2010); Fl¨
otter¨
od et al. (2011); Fl¨
otter¨
od et al. (2011a); Fl¨
otter¨
od (2008); Moyo Oliveros
(2013)
32.2 Introduction
Cadyts (Calibration of Dynamic Traffic Simulations)1—licensed under GPLv3 (GNU General
Public License version 3.0)—calibrates disaggregate travel demand models of DTA (Dynamic
Traffic Assignment) simulators from traffic counts and vehicle re-identification data. Cadyts is
broadly compatible with DTAmicrosimulators, into which it can be hooked through parsimonious
interfaces.
As explained formally in Chapter 47 and 48, DTA aims at consistency between a dynamic travel
demand model, defining the choice of activity-travel plans, and a dynamic network supply model,
capturing spatiotemporal network flows and congestion evolution.
1http://people.kth.se/∼gunnarfl/cadyts.html
How to cite this book chapter:
Nagel, K, Zilske, M and Fl¨
otter¨
od, G. 2016. CaDyTS: Calibration of Dynamic Traffic Simulations. In: Horni,
A, Nagel, K and Axhausen, K W. (eds.) The Multi-Agent Transport Simulation MATSim, Pp. 213–216.
London: Ubiquity Press. DOI: http://dx.doi.org/10.5334/baw.32. License: CC-BY 4.0
214 The Multi-Agent Transport Simulation MATSim
Cadyts adjusts the plan choice probabilities of all agents, resulting in simulated network condi-
tions that are consistent with measured real-world data while maintaining the behavioral plausibil-
ity of the underlying travel demand model. Within MATSim, plan choice probabilities adjustment
is realized by adjusting plan scores, as explained in the next section.
32.3 Adjusting Plans Utility
When traffic counts are the empirical source, plan-specific score corrections are composed of link-
and time-additive terms 1Sa(k)for each link aand each calibration time step k(often one hour).
When congestion is light and traffic counts are independently and normally distributed, these
correction terms become
1Sa(k)=ya(k)−qa(k)
σ2
a(k)(32.1)
where ya(k)is the real-world measurement on link ain time step k,qa(k)is its simulated coun-
terpart and σ2
a(k)is (an estimate of) the real measurement variance (assuming its expected value
coincides with the prediction qa(k)of a perfectly calibrated simulator).
The score correction of an agent’s given activity-travel plan is calculated as the sum of all 1Sa(k),
given that following that plan implies entering link awithin time step k. With this, the a posteriori
choice probability of agent n’s plan igiven the count data y= {ya(k)}becomes
Pn(i|y)∼exp
Sn(i)+X
ak∈i
1Sa(k)
=exp
Sn(i)+X
ak∈i
ya(k)−qa(k)
σ2
a(k)
(32.2)
where Sn(i)is the a priori score of plan iof agent n, as calculated for example with Equation (3.1)
and ak ∈ireads: “following plan iimplies entering link ain time step k”.
Intuitively, if the simulated value qa(k)is smaller than the real measurement ya(k), then a score
increase, and thus a choice probability increase, results. The variance σ2
a(k)denotes the level of
trust in that specific measurement—a large σ2
a(k)implies a low trust level, taking effect through a
large denominator in the corresponding score correction addend.
Fl¨
otter¨
od et al. (2011) is the key methodological reference on Cadyts. It derives the calibration
approach from a Bayesian argument and provides more technical information, such as a more
general correction of the utility function than in Equation (32.1) that also applies when congestion
is present. A lighter presentation is Fl¨
otter¨
od et al. (2011a), where the formulas above are discussed
in somewhat greater detail.
32.4 Hooking Cadyts into MATSim
Hooking Cadyts into MATSim is based on the following operations:
1. Initialization: When the calibration is started, it requires all available traffic counts and some
further parameters. For this, the Cadyts function void addMeasurement(...) is called once
for every measurement before the simulation starts. It registers a certain measurement type,
which has been observed on a specific link.
2. Iterations: The calibration is run jointly with the simulation until (calibrated) stationary
conditions are reached.
a. Demand simulation: The calibration needs an access point in the simulation to affect the
plan choice. There are various ways to realize this, depending on the simulator. Before a
MATSim agent chooses a plan, it asks the calibration through the Cadyts function
CaDyTS: Calibration of Dynamic Traffic Simulations 215
double calcLinearPlanEffect ( cadyts . demand . Plan <L> plan)
for all of this plans’ score offsets. The agent then chooses a plan based on accordingly
modified scores.
All selected plans of an iteration are registered to Cadyts by
void addToDemand ( cadyts . demand . Plan <L> plan ) .
Since Cadytshas its own plans format, MATSimplans need to be converted to that format
beforehand.
b. Supply simulation: The calibration must observe simulated network conditions to evalu-
ate their deviation from real traffic counts. For this, the Cadyts function
void aft erNetwork Loadi ng ( SimResults <L> simResults )
is called once after each network loading. It passes a container object to the calibration
that provides information about the most recent network loading results, particularly on
simulated flows at measurement locations.
32.5 Applications
Cadyts has been successfully applied in studies like Ziemke et al. (2015); Zilske and Nagel (2015);
Fl¨
otter¨
od et al. (2011a). Z¨
urich scenario results illustrate its efficiency, as shown in Fl¨
otter¨
od et al.
(2011b, Slide 8), reproduced in Figure 32.1.
40
30
20
10
0
7 8 9 10 11 12
Mean relative error before calibration [%]
Mean relative error after calibration [%]
13
Time [h]
14 15 16 17 18 19 20
Mean relative error [%]
Figure 32.1: Z¨
urich case study results: mean relative error in link volumes.
Source: Fl¨
otter¨
od et al. (2011b, Slide 8)