To investigate the occurrence of traffic jams, we first need to calculate the daily traffic capacity for each section of road. For this, we need information about the width of the road, the number of lanes and if this section of road is a one-way street or not, which is already included in the road network. Using these data, we can calculate the daily traffic capacity
C for each section of road [
20]. To obtain the hourly traffic capacity
Ch, special conversion factors are used [
21] and
Ch is then calculated from
$$C_{{\rm h}} = L_{{\rm eff}} \, 750 \, \frac{{\rm cars}}{{\rm hour}}$$
(1)
where
\(L_{\text{eff}}\) is the effective number of lanes. The starting point of finding
\(L_{\text{eff}}\) is the actual number of lanes, if it is known. If this number is unknown, because this information is missing in the imported map data, approximate values are derived from the width of the road:
\(L_{\text{eff}}\) = 2.6 for roads wider than 7.5 m,
\(L_{\text{eff}}\) = 2.0 for roads between 7.5 and 5.5 m, and
\(L_{\text{eff}}\) = 0.8 for roads narrower than 5.5 m [
21]. This number is then halved for roads that are not used as one-way streets, since then only half of the lanes can be used in one direction, to find the final value for
\(L_{\text{eff}}\) and thus
Ch. To find out if the traffic flows freely or a traffic jam occurs, we compare the hourly number of vehicles
Vh with the hourly traffic capacity
Ch:
$$\begin{aligned} a = \frac{V_{\text{h}}}{C_{\text{h}}} \end{aligned}.$$
(2)
The obtained load quotient
a is then used to differentiate between different stages of congestion.
a smaller than 0.75 signifies free-flowing traffic,
a between 0.75 and 0.9 is a sign of constrained traffic flow and
a larger than 0.9 can be interpreted as stop-and-go traffic [
21]. That way, a first approximation to the traffic conditions of each section of road can be obtained. This approximation can be further refined by including traffic jam avoidance in an iterative process. After calculating the approximated traffic conditions, agents react to the resulting congestion, by avoiding routes that are heavily congested and using alternative routes. In the model, this is done by keeping the origin–destination pairs constant (i.e., origin nodes and destination nodes of agents do not change) and recalculating the shortest paths, now including delays caused by congestion. This leads to new traffic conditions and in turn a new congestion status for every section of road in the system. This updated congestion information can again be used to refine the traffic data by recalculating shortest paths.
However, not all drivers change their route due to congestion effects. De Palma et al. [
22] found that only 30% of commuters use different routes to avoid traffic jams. Thus, the starting point of our investigation is the situation that 30% of all agents are avoiding traffic jams, while the other 70% remain on their original paths at all times. In addition to this scenario, we explore more of this parameter space, by varying the percentage of congestion avoiding agents between 0 and 50%. By comparing the simulated results to congestion forecasts based on real traffic data, we find out which parameter leads to the most realistic result.