Manual PTV Balance ENG
Manual PTV Balance ENG
Contents
1 Introduction .................................................................................................. 5
2 Functionality ................................................................................................. 6
2.1 Architecture and algorithms .............................................................. 6
2.1.1 Main concept 6
2.1.2 Detector positioning and Data gathering 9
2.1.3 Traffic Model 10
2.1.4 Determination of Efficiency and Evaluation of Control
Alternatives 13
2.2 Control Group Definition ................................................................. 24
2.3 Changing the Objective Function .................................................... 25
2.4 Online/Offline-System ..................................................................... 26
2.5 Local Control Possibilities ............................................................... 26
2.5.1 PTV Balance with PTV Epics 26
2.5.2 TRENDS-Kernel with normal TRELAN-Logic 26
2.5.3 Ring-Barrier Controller 26
2.5.4 Dynamic Fixed Time Control 27
2.5.5 Other Methods 27
7 Calibration .................................................................................................. 55
7.1 General information ........................................................................ 55
7.2 Guideline for Calibration ................................................................. 55
7.3 Simulation without optimization ....................................................... 55
7.4 Simulation with optimization............................................................ 55
7.5 Observing the simulation ................................................................ 56
7.6 Analysing log Files .......................................................................... 56
7.7 Result evaluation ............................................................................ 56
7.8 Tweaking calibration parameters .................................................... 57
9 Literature .................................................................................................... 61
1 Introduction
The adaptive network control PTV Balance (“Balancing Adaptive Network Control method”)
was originally created within the research projects “Munich Comfort” (Friedrich and Mertz
1996) and “Tabasco” (Friedrich et al. 1998). Numerous other projects followed in which the
system and its algorithms were tested, evaluated and improved, most notably the research
project TRAVOLUTION (2006-2009) with the development of a genetic optimization
algorithm. The projects TRISTAR (2013-2015) and Lublin (2015-2016) established PTV
Balance in Poland, where the latter jointly with PTV Optima was established as a
comprehensive traffic management system.
The inner core of PTV Balance consists of four parts:
1. A macroscopic traffic model that estimates flows in accordance with detector data,
2. A control model that emulates the local intersection control,
3. A mesoscopic traffic flow model that calculates the effects of a specific signal plan,
4. And most importantly different optimization algorithms.
Furthermore, it is possible to replace the macroscopic traffic model with external traffic state
estimating programs able to take a whole conurbation into account. For this purpose,
Balance can be embedded into PTV Optima, which is a traffic management platform and
decision support system developed by PTV. The main advantages of this development are
that Optima´s ability to predict traffic, enabling optimization for the near future, not only
proceeding from detectors, e.g. floating car data and ANPR data.
PTV Balance is independent of the local control method used in the field as long as the
local traffic control is able to utilize the frame signal plans calculated by PTV Balance. It’s
ideal partner is PTV Epics, as it provides effective local adaptation, full transit signal priority
and is already integrated with PTV Balance from a technical and a methodological point of
view.
PTV Balance is seamlessly embedded into the environment of the PTV Vision suite. Road
network and traffic demand are modelled in PTV Visum, while data related to signal control
and their parameters are provided within Vissig, a module of either PTV Visum or PTV
Vissim. PTV Balance’s input formats are shared with PTV Vissim and Vissig, the former
being able to fully simulate the effects of Balance control, thus enabling an elegant way of
testing, calibrating and evaluating the effects on the road network.
2 Functionality
also adapts roughly the green times of the different signal groups. A second-by-second
adaptation of the green times is handled in the local controller. If there is no local detection
or traffic responsive control available at the intersection, the Balance framework signal
plans can also be used directly as a fixed-time program.
A PTV Balance System can control all intersections of a town, but it is necessary to divide
them into several control groups, with a maximum size of 40 intersections in each group.
This additional division is required to distinguish different areas of the network with different
traffic related characteristics. One important characteristic is the single Balance selection
of a signal program with an adequate cycle time for all controllers in a group. Performance
issues play an important role, limitation of the search space for optimization is also relevant
to avoid the risk of using a local optimum.
The central database structure in PTV Balance is the network model. The street network is
represented internally as a graph in form of nodes and edges. Figure 3: Example of a
simple network model
illustrates an example of a small network with two intersections.
14 24
LZA 5
45 44 43
Fv04
Fv05 Fv06
23 40
Fg51 42 15
D35 D61
13 D31 39 41 D65 25
Fv02
Fv03
Fg52 Fv01
38 36
37
35 34
Fv08
D95
22 33
Fg53 Fv07
32 31
LZA 7
D75 D72 D71
21 11
The edges are the central container of the traffic data within the PTV Balance System. The
procedures of the PTV Balance-Controlling system can be divided into five functional
groups:
Data collection and preparation
Traffic illustration
Data interface
There are more system functions available for control of the internal process, database
access, etc, but these functions are not discussed in this manual. The next chapters will
briefly describe the functional groups mentioned above.
detection, but only if it is guaranteed that cars are reliably counted even under adverse
weather conditions and heavy saturation.
It is usually not necessary to have more or different detectors for Balance than for Epics.
So, if the junction is controlled by PTV Epics, everything should be fine regarding detection
for Balance.
The first level (see chapter 2.1.3.1) consists of a macroscopic traffic model (Ploss 1993),
called once every optimization. It consists of:
An OD-Estimation for the determination of the origin-destination relations in the
subnetwork
A traffic assignment for the allocation of traffic flows to the road edges in the network
The second level (chapter 2.1.3.3) is a mesoscopic traffic flow model, which periodically
generates traffic flow profiles out of the macroscopic traffic parameters of the first level.
This takes place during every step of the signal plan-optimization process inside PTV
Balance.
qMod i (a ) = pakl
i
f kli
kE lA
Where:
i Step of iteration
a Edge index
k, l Origin/Destination index
E, A Number of entries/exists (Origin/Destinations in the network)
𝑖
𝑝𝑘𝑙 Share of the traffic relation 𝑓𝑘𝑙 which uses edge a (0 … 1,0)
The relative deviation X(a) between traffic model and reality can be calculated using the
estimated traffic flows qMod(a) and the real traffic flows q(a) measured on the edges a in
the network. The deviation is used in combination with the distribution parameters 𝑝𝑎𝑘𝑙 in
order to correct the estimation of the origin-destination relations in an iterative process.
Criteria for the cancellation of the so-called internal iteration are the exceeding of a
previously defined number of iterations or the shortfall below a given value of the standard
deviation between measured and estimated value.
This procedure is repeated until a given number of iterations is reached. The main results
are macroscopic traffic volumes qMod(a) [veh/h] for all edges a of the network, especially
for edges where no measured values are available. Other results comprise the matrix of
the origin-destination relations (𝑓𝑘𝑙 ) in the network and the distribution parameters (𝑝𝑎𝑘𝑙 ).
).
q(t) [veh/s]
ssg1
ssg2
tu t [s]
Figure 5: Illustration of the traffic flow profile of the traffic model´s second level
The mesoscopic traffic flow model takes into account the influence of traffic lights, travel
times and the dissolution of queues by means of changing speeds on the vehicle groups.
Therefore, the outflow zFl(a,t) at the end of an edge a is defined as follows:
0
𝑖𝑓 𝑡ℎ𝑒𝑟𝑒 𝑖𝑠 𝑛𝑜 𝑟𝑒𝑙𝑒𝑎𝑠𝑒 𝑎𝑡 𝑝𝑜𝑖𝑛𝑡 𝑖𝑛 𝑡𝑖𝑚𝑒 𝒕
𝑠𝑠𝑔
𝑖𝑓 𝑠𝑔 𝑖𝑠 𝑟𝑒𝑙𝑒𝑎𝑠𝑒𝑑 𝑎𝑡 𝒕 𝑎𝑛𝑑
𝑧𝐹𝑙(𝑎, 𝑚𝑜𝑑 𝑡 𝑢(𝑡 + 𝑡𝑟)) =
𝑡ℎ𝑒 𝑞𝑢𝑒𝑢𝑒 𝑙(𝑎, 𝑡) + 𝑞𝐹𝑙′(𝑎, 𝑡) > 𝑠𝑠𝑔
{𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 𝑙(𝑎, 𝑡) + 𝑞𝐹𝑙′(𝑎, 𝑡)
With the estimated average travel time on the edge:
tr(a) = len(a) / v(a) [sec]
With the given whole-number length of the interval L:
𝐿 = (𝑘(𝑎) ∙ 𝑙𝑒𝑛(𝑎)) 𝐷𝐼𝑉 𝑣(𝑎)
Platoon dispersion is modelled over the length of two intervals 2L by applying a moving
average.
t+L
1
qFl' (a, t ) =
2L + 1
qFl(a, t' )
t '=t − L
Where:
t Periodical base of time [1... tu (sec)]
The distributing factors p(a´, a) contain the share [0...1,0] of the total traffic volume on edge
a, which comes from edge a´. This share is calculated by using the traffic volumes (qMod)
which were defined in the first level of the traffic model:
𝑞𝑀𝑜𝑑(𝑎′) 𝑞𝑀𝑜𝑑(𝑎)
𝑝(𝑎′, 𝑎) = ⋅
∑𝑎̄ ∈𝐼𝑛(𝑎) 𝑞𝑀𝑜𝑑(𝑎̄ ) ∑𝑎̄ ∈𝑂𝑢𝑡(𝑎′) 𝑞𝑀𝑜𝑑(𝑎̄ )
Where:
In(a) Number of entry edges of edge a
Out(a´) Number of exit edges of edge a´
qMod(a) Modelled traffic volume [veh/h] on edge a
At the beginning of the traffic flow modelling process, the flow profiles are initialized for the
cordon edges. where an equally distributed flow profile is assumed:
qMod(a)
qFl(a, t ) = for t = (1...tu)
3600
Starting from the edges at the network entrances, this procedure is executed periodically
for all edges in the network. At the end of this process the traffic flow profiles qFl are defined
for all edges in the network. Flow modelling is processed for every edge of the sub-network
during every step of the optimization. Usually, there are more than a thousand optimizations
steps developed during every PTV Balance-call. Therefore, the traffic flow model has to be
implemented very efficiently.
Where:
The deterministic part of the effect model is based on the flow profiles of the traffic model
qFl(a, t), cycle time and signal states of the controllers zust(sg,t). It calculates the impact
of the adjacent control alternatives in a numerical simulative way. The calculation for every
second enables the modelling of the traffic related impact of green time-lengths and offsets
between adjacent signal groups.
The optimization of green times of a signal group in a traffic network always has an impact
on the signal groups which are located downstream. Therefore, the optimization of the
green time is calculated for the whole subnetwork at the same time. Although this holistic
solution requires a lot of computing capacity, compared to a heuristic procedure, it
considers all relations between the signals and links in the network.
For this it is necessary to use the flow profiles of the links which lead out of the subnetwork,
as input variables for the signal groups which are located downstream. As described in
chapter 2.1.4.3, the traffic flow profiles of the entry-links of a subnetwork are initialized with
equally distributed profiles. If there is a traffic flow profile available for an exit-link of an
adjacent subnetwork, the equally distributed profile will be overwritten. This guarantees that
the traffic lights at the links of the subnetworks get realistic traffic flow profiles.
The deterministic effect model is built similar to models in the well-known planning system
TRANSYT (Robertson 1969) and the adaptive control SCOOT (Hunt et al. 1981). A
simulation of the impact of the controllers on the traffic flow is processed in order to get the
efficiency variables: vehicle waiting time, number of stops and mean queue-length. Traffic
is not modelled as single vehicles (microscopic modelling) but with help of the macroscopic
parameter traffic volume. However, this parameter is available for every second
(mesoscopic modelling). The applied formulas are described in the following sub-chapters.
Where:
SG Number of signal groups
sp Evaluated signal plan
Qsg Sum of vehicles which entered signal group sg until t
Zsg Sum of vehicles which left signal group sg until t
Dsg Sum of vehicles waiting times at signal group sg
during time frame T
The following formula defines the request process Q:
𝑡
Where:
sp Evaluated signal plan
hsg Sum of vehicles forced to stop at signal group sg at
time t
A vehicle must stop if it reaches the end of a queue or the stop line while the inflow is
greater than the outflow, normally when the signal is red. Therefore, the stops hsg at point
in time t are defined as follows:
𝑞𝑠𝑔 (𝑡), 𝑖𝑓 𝑡 > 0 𝑎𝑛𝑑 𝑄𝑠𝑔 (𝑡) > 𝑍𝑠𝑔 (𝑠𝑝, 𝑡)
ℎ𝑠𝑔 (𝑠𝑝, 𝑡) = {
0, 𝑒𝑙𝑠𝑒
𝑇−1
1
𝐿𝑠𝑔 = ∑ 𝑙𝑠𝑔 (𝑠𝑝, 𝑡)
𝑇
𝑡=0
The maximum queue length is important for the protection of congestion spaces and to
prevent congestion into reaching preceding intersections. The maximum queue length is
applied in the performance index of PTV Balance.
Where:
A Number of edges controlled by signal group sg
r Degree of saturation
tu Cycle time [sec]
ssg Saturation of signal group sg [veh/s]
The results of the macroscopic effect model are the waiting times and average queue
lengths created by the random deviations of the traffic flow. They are added to the waiting
times of the deterministic effect model (Figure 7: Schematic waiting times with deterministic
and stochastic model
). The sum of both models serves as input for the performance index.
The formulas for the stochastic waiting time 𝑊𝐾𝐵 per signal group sg are defined as follows:
1
𝑊𝐾𝐵,𝑠𝑔 = (√𝑃2 + 𝑄 − 𝑃)
2
1 𝑔0 − 𝐶
𝑃 = (1 − 𝑟) ∗ 𝑇 −
2 𝑞
𝑇 𝑔0
𝑄 = 2𝐶 (𝑟 + 2 ∗ )
𝑞 𝑞𝑇
Where:
r = r(sg) Degree of saturation
g0 Starting queue length before signal group
C Constant (usually C=0,4 in PTV Balance)
65
60
55
50
45
total waiting time
40
35
30
waiting time
25
stochastic model
20
15
waiting time
10
deterministic model overload area
5
0
0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 1,1 1,2 1,3 1,4
saturation r
The control model of the PTV Balance network control optimizes the following parameters:
Length of the green times (split)
Chronological location of the green times according to their equal cycle time (offsets)
PTV Balance was originally designed to use a Hill-Climbing (HC) optimization algorithm. In
2008 an additional optimization procedure was developed and implemented in the German
research project TRAVOLUTION: The Genetic Algorithm (GA). An important advantage of
a Genetic Algorithm is its ability to optimize all control parameters at the same time. The
other advantage is its tendency to avoid local optima by applying a parallel search
throughout the solution space. The research project TRAVOLUTION showed the significant
improvement GA generates on the optimization quality in terms of a better performance
index in Balance and, more importantly, on the road. It also consumes more calculation
time, which is not a big issue in a real-world traffic centre, but slows down the speed when
used jointly with micro-simulation, e.g. PTV Vissim. Therefore, both algorithms are still
contained in Balance. The user can choose between them through an entry in the
initialization file. The GA in Balance is protected by a patent.
an integrated approach, which calculates a framework for the starting points of the
interstages for every possible periodical stage in the cycle (see Figure 8).
Figure 8: Split and offset calculation inside PTV Balance control model
The base for the optimization is the modelling of the relevant control parameters in the
control model, which are:
The signal groups (index and type)
The definition of interstages (index, start-/target- stage, on-/off- switch points of the
signal groups, index of belonging signal groups)
The signal programs (index, cycle time, type)
The stage cycle is transformed into a signal plan sp by the control model. It describes the
states of the signal groups during the cycle time of the control group:
𝑠𝑡𝑎𝑡𝑒(𝑠𝑔1,1) . . . 𝑠𝑡𝑎𝑡𝑒(𝑠𝑔1, 𝑡𝑢)
𝑠𝑝 = ( . ... . )
𝑠𝑡𝑎𝑡𝑒(𝑠𝑔𝑚, 1) . . . 𝑠𝑡𝑎𝑡𝑒(𝑠𝑔𝑚, 𝑡𝑢)
Where:
sgi Signal group i
m Number of signal groups
state (sg, t) State [free, blocked] of signal group sg at point in time
t in signal plan sp
Traffic-related impacts of the solutions can be calculated by the traffic model because the
states of the signal groups in relation to cycle time are given by the signal plan. The
solutions can be evaluated by the effect model according to the given performance index
PI (see chapter 2.1.4). The goal of the optimization model is to find the optimal solution
according to the PI.
Unfortunately, the problem of traffic network optimization is very complex and not
mathematically solvable. Simple optimization strategies, like the gradient procedure or
linear optimization lead often to suboptimal results or are not applicable at all. Because of
this, the global optimum can only be found by an exhaustive search of the solution space.
This procedure will not work if there are too many input parameters (number of
intersections, number of stages per intersection, etc.) because the size of the solution
space grows exponentially with the number of input parameters, reflecting on the grow of
the calculation time to infinity regardless of the speed of the computer.
for all stages and all controllers. The performance index is always calculated for the whole
network at once, so changes that deteriorate downstream traffic will be rejected. This
procedure corresponds to the Hill-Climbing Algorithm (Domschke and Drexl 1998), which
is also used by many other adaptive network control procedures like SCOOT (Hunt et al.
1981) and TRANSYT (Robertson 1969).
The procedure mentioned above is executed multiple times for each intersection of the
respective control group with a limited number of calculation steps, until no improvement
can be achieved anymore. The best solution for each traffic light, according to the
performance index, is implemented within the framework signal plan FSP and sent to the
local controllers. At local site, stages can also be extended or skipped according to local
detection.
Objective function
Optimization procedure
The traffic model creates an internal representation of the current traffic state out of the
measured traffic volumes. The effect model, which is based on the traffic model, determines
the efficiency variables, which in turn are the input parameters for the objective function.
The result of this function is the fitness of an individual, which means a scalar quality value
for a control alternative (signal plans of the network). The fitness in turn is the input variable
for the optimization procedure for the signal plans of the whole network and determines the
best control alternative (best strategy) for the current traffic flow. All main components and
the framework signal plan FSP represent the traffic adaptive network control PTV Balance,
which delivers a new framework signal plan every 5 minutes (tactical level). Based on that,
the local control of the traffic light at each intersection reacts with short-term changes of
the traffic flow every second (operational level).
The coding of the control parameters has significant meaning for the quality and the
functional ability of the optimization. In case of an evolutionary algorithm, coding means
the translation of signal plans to the individual. In case of a given problem, the following
framework conditions are relevant for coding:
Conditions of the planning (allowed cycle times, allowed cycle procedures)
The framework conditions for the time interval control are illustrated in Figure 11. The
framework signal plan for the local measurement-based time-gap control is defined by the
T-Time Limits (TiA, TiB). The latest starting points of the interstages TiB are optimized for all
traffic lights in the control area. An interval [TiBmin, TiBmax] is defined for TiB in order to assure
the functionality of the local control.
It contains a gene φ for cycle time as well as n “chromosomes” for the m intersections of
the network which are to be optimized. Every chromosome consists of multiple genes: one
gene σ for the definition of the stage cycle, one gene ω for the global offset, one gene ο for
the local offset, as well as m genes ϴ for the stage durations respectively, the starting
points of the interstages. Every gene has a real value between 0 and 1.
The genes remain inactive for the local and the global offset in the version of the algorithm
which is implemented in TRAVOLUTION, a special sequential coding was developed
because of the offset limits and framework conditions of the local traffic dependent control.
Its principle is described in (Braun and Kemper 2008) and (Braun 2008), it is protected by
patents. Besides the necessary framework conditions, like the adherence of intergreen
times, it also integrates the framework conditions of the local traffic-dependent control. The
achievement was to create only valid individuals in each optimization.
The arrangements of the operators of the evolutionary algorithm and their parameterization
have a great influence on the quality of the optimization procedure. The operators must be
aligned to the coding because one individual represents all intersections in the network. An
intersection in the individual is illustrated as a set of genes (one chromosome). During the
recombination, single genes from the parents-individual are used for the creation of
offspring-individuals by default. The recombination-operator was developed concerning the
probability that a recombination will also be applied to the complete chromosomes
(intersections). A mutation takes only place inside T-Time limits. Therefore, the length of
the steps can either be adjusted individually for each gene or for the whole individual,
making possible on-demand adaptation.
The Hill-Climbing Algorithm can only optimize the control parameters sequentially in contrary to the
Evolutionary Algorithm, which optimizes all control parameters at the same time. Therefore, the created
control alternative depends on the chosen order. As soon as no better control alternative can be found for a
control parameter in one direction, the search will be continued for another direction. Figure 12: Comparison
of the fitness development of GA and HC
400000
350000
300000
Index
(Gütewert)
HC
Performance
250000
GALOP
(Best)Fitness
200000
150000
Beste
100000
50000
0
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
EvaluatedBewertete Steuerungsalternativen
alternatives/Objective function calls
Moreover, this adaptation can only be processed in discrete steps, because the selection
of signal programs with a given cycle time is done at intersection level. Only a limited
number of signal programs can be supplied for each controller. Therefore, Balance
determines the signal program that has the nearest but bigger cycle time to the current
ideal cycle time.
The switching procedure for the traffic-dependent selection of the signal plan calculates
automatically the required cycle time out of the saturation ratio of the signals with an
optimized signal plan from Balance. Considering the green time tgr and the saturation ratio
µ for a signal group, the additional green time ∆𝑡0 necessary to reach a desired saturation
α (e.g. 90%) with the same cycle time is determined as follows:
𝜇
∆𝑡0 = (𝛼 − 1) 𝑡𝑔𝑟
If the green time is increased by this value, the cycle time also changes, so it is necessary
to adjust the green share again to reach the desired value. This leads to the following
formula for the cycle time change Δt for a whole intersection:
∑ ∆𝑡𝑖,0 𝑡𝑢
∆𝑡 =
𝑡𝑢 − ∑ 𝑡𝑖,𝑔𝑟 − ∑ ∆𝑡𝑖,0
With ti,gr the green time of the critical signal group in stage i and ∆𝑡𝑖,0 as the additional green
time for stage i (tu is the current running cycle time). The intersection with the biggest value
of Δt in a control group is the most critical intersection and thus, determines the necessary
cycle time as tu+Δt. Consideration of the available signal programs and their cycle times
allows to choose the signal program that has minimum cycle time longer than the desired
one. Thresholds can be applied for the number of repetitions of this calculation, before an
actual switch is done in the field. These thresholds can be set differently for switching into
longer or shorter signal programs.
Coordination areas
There shouldn’t be more than 40 intersections in one signal control, and as few as 1 is
permitted, if the intersection is separated from its surrounding. The greater the number of
intersections, the more degrees of freedom in the optimization, enhancing the risk to stick
to a local optimum.
The maximum distance between the traffic light systems which belong to one control area
should be in the range of 700-1200m. A larger distance prevents possible coordination,
because the queue dissolving processes increase with a larger distance.
Different cycle times in a control area prevent the coordination of the respective traffic light
system. Coordination is still possible to some extent if the different cycle times are multiples
from each other, e.g. 60s and 120s. No coordination and therefore no good optimization of
the network can be processed if the cycle times are not uniform.
In order to guarantee a good optimization, it is important not to divide coordination areas
by a control area. A coordination area should be integrated into the control area because
in general, coordination areas already fulfil the first two conditions: distance between
intersections and uniform cycle times.
The groups are defined statically, according to geographical issues and traffic-related
coherence. Because of the queue dissolving process, it is useless to add traffic light
systems which are far away from the group. Moreover, it must be regarded, that traffic light
systems of a group must run in the same cycle time. The defined groups are checked and
calibrated before the actual operation in the street by simulation and quality management
plans. The entire system changes when adding a signal controller, therefore the control
group would have to checked and calibrated again after the addition of a controller, in order
to guarantee an error-free operation of the group. Because of that, integration of a
completely dynamic change of the group compositions would not make sense. But, as
Balance is able to collect the road links that are belonging to a coordination area on itself,
it is perfectly possible to change the group membership of signal controllers without
changing the road network itself.
Please note that, in order to simplify things, Vissig allows to set just one weight per signal
group. This weight is internally distributed between vehicles, stops and queue lengths. The
setting of the Master-weights is possible via the Balance.ini.
2.4 Online/Offline-System
In previous chapters, network control was mentioned in combination with the live-, online-
system respectively. However, it is also possible and useful to build the network control in
an offline system. PTV Vissim (PTV GmbH 2022a) serving as simulation software. PTV
Balance is integrated into Vissim systems as a DLL-file. The data provision of PTV Balance
is created by Network-XML-Files which are exported from the data provision tool PTV
Visum and by a signal controller data-file shared with PTV Epics and Vissig. In this case,
data provision itself is similarly done to data provision for the online system. Further
information about this topic can be found in chapters 3 and 4.1.
The offline system offers multiple ways to test the behaviour of the network control because
functionality of the network control is not affected. It is possible to test conceivable changes
and calibrate the whole system including network control. It is important to test changes at
an intersection inside the offline mode before they are applied in the online system,
because changes at one intersection of the network control could have an impact on the
whole system. Therefore, it is important to test changes of weighting, objective function,
control or the network itself in a simulation.
3 Data Provision
The PTV Vision suite allows data provision for PTV Balance in a seamless way for
simulation and calibration. This data provision consists of the following parts:
A network model of the road network and the traffic demand
PTV Visum provides these information in anm and anmroutes format. This step uses
the same standard export and import functionalities that are used to convert a PTV
Visum model to PTV Vissim.
Parameters of PTV Balance and signal control data
Local parameters e.g. signal control data and parameters that are intersection
related.
The signal controller mode “Epics/Balance-Local” is used to provide signal control
data. This signal controller is available in PTV Visum and PTV Vissim. Vissig, PTV
Balance and PTV Epics use the same sig-data format that can be shared between
the different models. Since PTV Visum 2022 and PTV Vissim 2022, the sig-files
have been integrated in ver-files, anm-files and inpx-files. Specifically in the
simulation context PTV Balance and PTV Epics utilize this data and do not require
sig-files anymore. If sig-files are required (e.g. for the field data provision of an
operational PTV Epics), these can be exported from the GUI of Vissig or
Epics/Balance-Local.
Global parameters e.g. optimization algorithm
Global parameters for PTV Balance are provided using the traffic signal controller
“Balance-Central” in PTV Vissim.
For details regarding PTV Vissim, PTV Visum or PTV Epics please refer to their respective
manuals (PTV GmbH 2022a/b/c).
Modelling in PTV
•Network Model Vissim •Simulation for
•Traffic Assignment testing and
•ANM/ANMROUTES-Export •Finetuning of the calibration
simulation model
•Provision of signal control
data for PTV Balance/Epics •Provision of
signal control Simulation of PTV
data for PTV Balance and Epics
Modelling in PTV Balance/Epics and/or
Visum Field Data Provision
Hint: PTV Balance is a network controller that optimizes signal plans generally every five
minutes. It has local and global parameters. It requires a local signal controller to apply the
optimized signal plans. Therefore, PTV Balance is modelled with two types of signal
controllers: “Epics/Balance-local” and “Balance-Central”. The local controller
“Epics/Balance-local” can accomplish several tasks. It can be solely an executor of PTV
Balance, it can be local traffic signal optimization PTV Epics and it can be a combination
of both.
For guidelines on using PTV Epics and PTV Balance within the PTV Vision suite, please
see chapter 3.1.
3.1 Guidelines for using PTV Balance within the PTV Vision
suite
This chapter provides guidelines for data provision for PTV Balance and PTV Epics within
the PTV Vision suite. The guidelines are a recommendation, there are other means of
handling the related tasks and the necessity of specific steps depends on the actual project.
every node must not have more than one connector per direction
every zone must not have more than one connector per direction
Demand matrices for the relevant days and times of day for which PTV Balance shall
be designed and calibrated (e.g. Mon-Fri morning peak, Mon-Fri mid-day, Sat/Sun
morning peak etc.).
Ideally, these matrices have already been assigned and are corrected with
TFlowFuzzy for hourly counts (see PTV GmbH 2022b “Matrix correction using
TFlowFuzzy”). See also Step 3: PTV Visum - assignment specifics.
Step 2: PTV Visum - PTV Balance (and PTV Epics) data provision
Hint: Use the Add-In “Pre-process Balance/Epics” in order to create specific user defined
attributes for PTV Balance and load an appropriate layout for the junction editor.
1. Set the PTV Visum project directory for “External control” to the directory of the
“.ver” file.
2. Provide detailed information for all nodes that shall be controlled by PTV Balance
using the junction editor. For any of these nodes:
Create a signal control of type “Epics/Balance local”
Edit the signal control “Epics/Balance local” (see chapter 3.3.1 and PTV GmbH
2022b “Editing a signal control in Vissig”).
Add only signal groups and return to the PTV Visum junction editor
Hint: In the next steps signal groups will be assigned to lane turns. After this step, the GUI
of “Epics/Balance local” will draw direction arrows for the specific signal groups, making
further steps much easier.
Add detectors to lanes, assign the appropriate signal control and channel
number
Hint: Log-in detectors for public transport prioritization for PTV Epics can be at a long
upstream distance from the node of the signal control. It is possible that the link
approaching the signalized node is too short and the detector is located on a further
upstream link. In that case, add the detector to the appropriate upstream node and make
sure that the assigned signal control of the detector is correct.
Verify that the allowed traffic systems of turns and lane turns are consistent
Define parameters for PTV Balance and PTV Epics (can be also done after Step
5: in PTV Vissim)
Hint: When signal control design is started from scratch (i.e. no fixed time signal programs
available) you can use the PTV Visum procedures “Signal cycle and split optimization” and
“Signal offset optimization” (PTV GmbH 2022b) to quickly create proper initial signal
programs for a large number of intersections (see Step 3: PTV Visum - assignment
specifics).
3. Define signal coordination groups and assign signal controllers to these groups.
4. After finishing the data provision of all signal-controlled nodes, run the Add-In “Pre-
process Balance/Epics” again. This updates the saturation flow rates with respect to
the updated lane turns.
5. Use the network check “Viability for Balance / Epics” and make sure that all checks
are “ok”.
Hint: While it seems tempting to set up an iterative process around sub-steps 2 to 4, this
has to be avoided, as it is likely that this process has a positive feedback loop and will yield
an unrealistic result.
5. Use the ICA capacities “ICAFINALCAP” as turn capacities. Apply a minimum turn
capacity of 100 [veh/h].
6. Use the DUE assignment to calculate the final output for PTV Vissim and PTV
Balance.
Hint: In order to simulate large networks with several signal coordination groups in a timely
manner in PTV Vissim, create different signal coordination groups in Visum and assign the
signal controllers to the groups they belong to. Each PTV Balance instance will
automatically derive the road network surrounding the controllers that belong to its
coordination group.
In order to simulate several demand scenarios, repeat the process starting from Step 3:
PTV Visum - assignment specifics but only export the anmroutes file and specify a suitable
name.
Hint: The import of the anmroutes file can be repeated as long as the node structure in the
inpx-file remains stable. This swaps the entire demand and allows a comfortable way of
handling different demand scenarios within one inpx-file. In order to keep track of the results
use the comment of the Simulation Runs list.
It is also possible to “split” and maintain several inpx-files for every demand scenario,
though this makes updates of the network for several inpx-files more tedious.
Hint: For PTV Balance the input file that describes the network is the anm file. Therefore
changes to the network, e.g. saturation flows for PTV Balance, adding detectors (or
correcting the position in terms of placing the detector on another link) etc. or anything
that is stored in the anm file needs to be applied in PTV Visum requiring a new export of
the anm file (consequently the import in PTV Vissim).
Element Description
Attribute defining the Numerical attribute that assigns the signal control to a signal control group.
coordination group [-] PTV Balance optimizes all signal controllers of one group together. To
design control groups base yourself on the topology of the network and
runtime restrictions (depending on network size and computational power
usually up to 40 signal controllers are feasible).
It is possible to provide several signal control groups in the same anm file.
Use the global parameters of PTV Balance in PTV Vissim (see chapter
3.3.2) to optimize a specific group together with PTV Vissim.
5. In Settings for other objects click on the button next to either Attribute defining
the saturation flow rate of links or Attribute defining the saturation flow rate of
turns.
6. Choose any attribute.
Fill the chosen attribute with the corresponding values.
Element Description
Attribute defining the Saturation flow of the link with respect to the number of lanes, share of
saturation flow rate of links HGV, slope, etc. standard value is 1800 x number of lanes x reduction
[veh/h] factors.
Attribute defining the Saturation flow of the turn with respect to the number of lanes, share of
saturation flow rate of turns HGV, slope, direction (right turns tend to require a lower speed than
[veh/h] straight turns) etc. standard value is 1750/1850/1800 (right/straight/left) x
number of lanes x reduction factors.
In order to test how PTV Balance reacts to unplanned changes in demand it is possible to
use different anmroutes files for PTV Vissim and PTV Balance.
Debug mode If active, then the local controller creates log-files. Detailed log-files are
created in the subfolder Epics_Log of the directory of the inpx-file. This
significantly increases runtime.
3.3.1.3 Stages
As required for any stage based fixed time control modelled with Vissig.
default values during the automatic creation. Some of the default values are derived from
the fixed-time signal program (e.g. original start of an interstage).
These parameters govern the optimization function of PTV Balance.
Hint: Every parameter for PTV Balance comes with a tooltip providing an explanation of its
meaning. In addition, there are numerous plausibility checks with explanations.
When you have the license for PTV Balance and PTV Epics and you want to use only PTV
Balance, then activate EPICS parameters → BALANCE fixed-time control to force PTV
Epics to follow the results of PTV Balance exactly.
Earliest Start Cycle second [s] defining the earliest possible start of the
corresponding interstage.
Original Start Cycle second [s] defining the original start, typically as defined by the
underlying fixed time signal program, of the corresponding interstage.
Latest End Cycle second [s] defining the latest possible start of the corresponding
interstage.
Hint: The interstages of PTV Balance and the underlying fixed time signal program may
be different.
This is mainly of concern for real-word data provision, where the underlying fixed time
signal program may be used as a fallback by the local controller. As a fallback option the
underlying fixed time signal program must use all stages even e.g. non-regular PuT
prioritization stages. Specifically, these non-regular stages are not useful to be considered
in the optimization of PTV Balance.
The PTV Balance interstages are set according to a newly created underlying fixed time
signal program but can be changed manually.
Minimum Green The minimum length of the corresponding signal group [s].
Maximum Green The maximum length of the corresponding signal group [s].
Weight The weight reflects the importance of the signal group for the objective
function of PTV Balance.
Of specific concern is the relation of the weights of the different signal
groups. If you want to put specific emphasis on a direction of interest or
if you experience queues in front of a specific signal group, increase
this weight in relation to the other signal groups.
3.3.1.7 Interstages
As required for any stage based fixed time control modelled with Vissig.
Element Description
Debug mode If active, then PTV Balance creates log files (see chapter 4.1.2). The
level of detail of the log files can be set in the Balance-Central Editor.
This influences the number of produced log files. This increases runtime.
6. Click on Parameters
The Balance-Central Editor opens.
Figure 15: Network in PTV Vissim using anm-export and import functionalities
Result of evaluation of signal times tables and additional PTV Balance attributes
If you select Evaluation → Window → Signal times Table, a window opens where all
created signal controllers appear, out of these each selected signal control is shown in a
separated window during a simulation or a test run of the signal times table.
The colours indicate the current state of the respective signal group. The state of the current
time step is represented at the right edge of the window.
If the signal times table also contains PTV Balance frame signal plan BAL-FSP, the colours
indicate the desired signal state of PTV Balance. BAL-FSP does only differ red and green
states and it is subject to the local control whether the frame signal plan is respected or
not.
If the signal times table also contains PTV Balance queues BAL-Qu, the colours indicate
the queue state of the PTV Balance simulation model.
Queue colour Description of the queue state
nothing No queue
Hint: These attributes are not available before PTV Balance calculated an actual
optimization. On the first call to PTV Balance, the network is empty, detectors have not yet
delivered any data and therefore this initial call does not yield optimization results.
Hint: These attributes are not available before PTV Balance calculated an actual
optimization. On the first call to PTV Balance, the network is empty, detectors have not
yet delivered any data and therefore this initial call does not yield optimization results but
shows the road network in grey.
Figure 17: Graphical User Interphase with PTV Balance and PTV Epics control
Right after the start of the simulation the Balance GUI can only show the network, but after
the first optimization run it shows the results of the Balance calculation for each link,
controller and signal. The GUI is mouse sensitive and shows the data of the object under
the mouse cursor. The button in the right upper corner allows to lay an Open Street Map
under the network, if the coordinates fit. The button below allows to change the language.
Calculation results
for object at
mouse position
Summary of
optimization run
Color
explanation for
object at
mouse position
Visualize the
Choose what to performance index
display on the and choose past
map optimization runs
Clicking on a signal group will display the flow profile that Balance calculated for this
signal: For each second in the cycle, it displays:
1. If it is green or red
2. When red, it shows the number of cars
waiting at the stop line
3. When green, it shows the number of cars
passing through the stop line
This allows to check the quality of coordination
as Balance calculated and compare this with the
Vissim “reality”.
The example to the left shows a signal group
with a queue length of 10 cars in total at the
beginning of green. These vehicles have passed
the stop line after 10 seconds of green. Then
there is a gap of 10 seconds. Finally, a platoon
arrives from the upstream intersection and
passes the stop line. Most cars arrive after 20
seconds of red time.
Clicking on an intersection (represented by a
square on the overall view) allows to see the
frame signal plan that Balance calculated as
Figure
Figure
4: Signal
19: Signal
group-based
group-based
Flow Flow
profileprofile
optimal.
You can view these diagrams by clicking on “route” objects in the user interface. They are
visualized by semi-transparent link objects to the right of the normal links, see Figure 20.
Balance calculates the green wave diagrams when it optimizes, so it’s not possible to
change them dynamically. You define these routes in a text file, which must have the
name “Routes.conf” and reside in the folder with the anm- and anmroutes-files. The
format of this file is as follows.
Here “ctrlId” is the number of the controller, and “signalId” is the port number of the signal
group, as defined in the Vissig-supply. An example is in Figure 22.
Clicking on one of the small images gives you evaluations for the whole group at once.
Box plots
1. Minimum : the lowest data point excluding any outliers.
2. Maximum : the largest data point excluding any outliers.
3. Median (Q2 / 50th Percentile) : the middle value of the dataset.
4. First quartile (Q1 / 25th Percentile) : also known as the lower quartile q (0.25), is the median of
n
the lower half of the dataset.
5. Third quartile (Q3 / 75th Percentile) : also known as the upper quartile q (0.75), is the median of
n
the upper half of the dataset .
Figure 25: Explanation of Box plots
© PTV Planung Transport Verkehr GmbH 49
PTV Balance Manual EN PTV Balance and Epics Graphical user interface
6 Log Files
PTV Balance provides several log files. These contain warnings, errors and results of the
simulation. The log files are an important tool to identify errors in the data provision process
and for calibration.
The level of detail of the log files can be set in the Balance-Central editor. This influences
the number of produced log files which are created in the subfolder of the directory of the
inpx-file. The folder has the name of the anmroutes file with suffix BAL_Log.
PTV Balance creates a new log file for every calendar day and appends information to
existing log files for every optimization. Most log files provide a short explanation of its
content and their first two columns display the current time and simulation time.
PTV Balance creates numerous log files of the following schemes and types:
Balance_LOGTYPE_YYYY-MM-DD_log.txt
LOGTYPE identifies the type of the log file. The most important types are described
below.
YYYY-MM-DD represents the current day.
6.1 Balance_output_YYYY-MM-DD.log.txt
It is the main log file, including error messages, warnings and information of the initialization
and the optimization.
The first two columns display the time stamp and the log level. The third column denotes
the Balance group that created the message, followed by the message text. A log level of
5 indicates an error and usually prevents an optimization. Messages of log level 4 indicate
a warning and usually do not prevent an optimization but impact the achievable quality of
the results.
6.2 Bxx_summary_YYYY-MM-DD-log.txt
This file provides an aggregated summary of every optimization run for group Bxx (with xx
being the group number). The summary is divided in the following parts:
Optimization
Static information about the optimization algorithm and parameters.
Dynamic information about the achieved results and the reason for termination of the
optimization.
Signal control
Overview of all signal controllers, active signal program, cycle time and saturation of
every signal controller. The latter helps to identify critical spots for calibration.
Input data
Number of known and active detectors. When PTV Balance is used in combination
with PTV Vissim, these numbers should be identical.
Traffic state
The top ten least and most saturated signal groups. The latter helps to identify critical
spots for calibration.
OD estimation
The top nine signals with the biggest deviation between measured and modelled traffic
flows. Helps to identify critical spots for calibration.
6.3 Balance_signals_YYYY-MM-DD-log.txt
An important file for the calibration is the file Balance_signals_YYYY-MM-DD-log.txt. This
file shows the internal state of PTV Balance’s microscopic traffic model.
Column header Description
Tgr [s] Green time demanded by PTV Balance, based on the latest T-Times
TgrMin The minimum value for the green time as supplied in Vissig
TgrMax The maximum value for the green time as supplied in Vissig
QAdded [veh/h] Additional flow according to green time of last optimization interval. See
parameter RECTIFY_LINKLOAD_ESTIMATION
Queue lengthDet [veh] Mean queue length from the deterministic model
Queue lengthSto (KiHo) [veh] Mean queue length from the stochastic Kimber/Hollies model
Residual queue [veh] Added queue from Kimber/Hollies model to deterministic traffic model. See
parameter USE_RESIDUAL_QUEUES
Delay [s/tInt] Total delay during the calculation interval of the objective function
DelayDet [s/veh] Mean delay per vehicle from the deterministic model
DelaySto (KiHo) [s/veh] Mean delay per vehicle from the stochastic model
PI(SGrelated) Performance index of the objective function, related to the signal group
OffsetOpt 0 if no optimisation of the offset was done for this group, 1 otherwise
FixedTime 1 if these results are for the fixed time values (and not for the optimized
ones), 0 if not. Fixed-time values are only written when the Debug-level is 1.
Dets The port numbers of the detectors that are feeding this signal group
7 Calibration
parameters which should be captured during the simulation are varying according to the
control objectives. Because there is a vast amount of possibilities for the analysis of those
data offered in the simulation, almost every objective of the control can be achieved with
these analysing methods. The analysis can be generated and visualized by PTV Vissim
and can be used for evaluation of the network control. Depending on the objective of the
control, it may also be useful to analyse certain edge sections apart from the others using
additional parameters which can be integrated into the calibration.
Balance_output_YYYY-MM-DD.log.txt
The main log file must be checked for messages of log level 4 and 5 that either negatively
affect or prevent an optimization.
Balance_signals_YYYY-MM-DD-log.txt
The values for traffic volume, demanded green time, delay, queue length and number of
stops should be compared to the values which have been calculated in the simulation. If
there are significant differences, check the data provision. If the traffic volume is also
plausible, the actual calibration can be started.
Bxx_summary_YYYY-MM-DD-log.txt
The summary of every optimization allows for a quick identification of critical spots.
Signal controllers and signal groups with the highest saturation should be examined in the
simulation. If the behaviour of the simulation is plausible then these are the most promising
locations to focus the calibration.
Large deviations between measured and modelled vehicle flows indicate either potential
errors in detector data provision (wrong location or vehicles not travelling over a detector)
or a low quality of the provided demand matrix.
direction). Suitable indicators must be defined and observed to evaluate changes in the
optimization parameters.
USE_DEZ_INPUT: If set to false, Balance will not use any detector values. This is only useful when
Balance gets flow input values from a superordinated system like PTV Optima.
STATIC_SPR: Use this number as the running signal program regardless of other data. Set to -1 to use
real data!
REQUEST_INTERVAL: determines the maximum age of detector values in [s] that Balance uses
COORDINATION_GROUP: the number of the coordination group that Balance should optimize as
defined by Visum in the ANM file. -2: optimizes all Controllers
CROP_CONTROLGROUP_LINKS: delete links from Balance network that are not necessary
MAXDISTCOORDNODES: when deleting links from the network, in which distance should nodes be
considered neighbour (nodes further away from other neighbours might be considered isolated by
Balance
FRIDAY_IS_WEEKEND: This parameter defines if the weekend is considered Friday and Saturday (true)
or Saturday and Sunday (false)
There are also parameters that define values for each day, PC_DISABLED_MONDAY and
so on.
9 Literature
Braun, R. (2008). Ein echtzeitfähiger Evolutionärer Algorithmus zur netzweiten
Optimierung der Lichtsignalsteuerung. München: Dissertation am Lehrstuhl für
Verkehrstechnik, Technische Universität München.
Braun, R., Kemper, C. (2008). GALOP-Online – ein Genetischer Algorithmus zur
netzweiten Online-Optimierung der Lichtsignalsteuerung. Forschungsgesellschaft für
Straßen- und Verkehrswesen, HEUREKA '08, Optimierung in Verkehr und Transport -
Tagungsband . Köln: FGSV Verlag, ISBN 978-3-939715-48-1.
Domschke, W., Drexl, A. (1998). Einführung in Operations Research. Berlin: Springer, 4.
Auflage.
Domschke, W., Klein, R., Scholl, A. (1996). Taktische Tabus, Tabu -Search - Durch
Verbote schneller optimieren. c`t - Magazin für Computertechnik, Heft 12/1996, S.326-332.
Forschungsgesellschaft für Straßen- und Verkehrswesen (2009). Handbuch für die
Bemessung von Straßenverkehrsanlagen. Köln.
Friedrich, B., Mertz, J. (1996). Abschlußbericht Munich COMFORT Arbeitsbereich 444,
Städtische Verkehrssteuerung. München: Fachgebiet Verkehrstechnik und
Verkehrsplanung, TU-München.
Friedrich, B., Mertz, J., Ernhofer, O., Clark, M., Toomey, C., McLean, T., et al. (1998).
TABASCO Deliverable 9.4: Urban Traffic Control with PT Priority: Final Evaluation Report.
Brüssel.
Gevas software Systementwicklung und Verkehrinformatik GmbH (2010a). TRENDS,
Version 5.0, Benutzerhandbuch. München.
Gevas software Systementwicklung und Verkehrsinformatik GmbH (2010b).
openTRELAN, Version 5.0, Benutzerhandbuch. München.
Gevas software Systementwicklung und Verkehrinformatik GmbH (2012a).
Benutzerhandbuch DRIVERS. München.
Gevas software Systementwicklung und Verkehrinformatik GmbH (2012b).
Benutzerhandbuch Nonstop. München.
Gevas software Systementwicklung und Verkehrsinformatik GmbH (2012c). Projekt Tristar,
Anforderungsspezifikation Detektorpositionierung und betriebliche Aspekte der Detektion.
München.
Hunt, P. B., Robertson, D. I., Bretherton, R. D., Winton, R. I. (1981). SCOOT, A Traffic
Responsive Method of Coordinating Signals, TRRL Report No. LR 1014. Crowthorne UK:
Transport and Road Research Laboratory.
Kimber, R. M., Hollis, E. M. (1979). Traffic Queues and delays at road junctions. TRRL
Laboratory Report 909.
Ploss, G. (1993). EIn dynamisches Verfahren zur Schätzung von Verkehrsbeziehungen
aus Querschnittszählungen. München: Fachgebiet Verkehrstechnik und Verkehrsplanung,
TU München.
PTV GmbH (2022a). PTV Vissim manual. Karlsruhe.