Skip to main content
Log in

Including Right-of-Way in a Joint Large-Scale Agent-Based Dynamic Traffic Assignment Model for Cars and Bicycles

  • Published:
Networks and Spatial Economics Aims and scope Submit manuscript

Abstract

Intersections typically account for a substantial part of the total travel time in urban areas, and an even higher share of the congested travel time, especially for bicycle traffic. Nevertheless, delays caused by yielding for cyclists or cars at intersections have previously not been modelled in large-scale bicycle traffic assignment models. This study proposes a computationally efficient large-scale applicable methodology for explicitly modelling yielding for conflicting moves at multi-modal intersections in an agent-based traffic assignment model. Nodes representing the intersections are classified into five node types that simulate potential moves across nodes differently while obeying right-of-way and preventing simultaneous conflicting moves. The methodology is implemented within a joint assignment model capable of modelling on-link congestion of both car and bicycle traffic and is applied to a large-scale case study of a Metropolitan Copenhagen network with 144,060 nodes and 572,935 links. The MATSim case study with 4,593,059 trips shows manageable computation times similar to when not modelling right-of-way at intersections. Especially for car traffic, yielding at intersections imposes considerable excess travel time. The effects are larger for trips going to the central part of the city where the inter-modal impact of conflicting bicycle traffic is identified as a major source of added travel time. The study finds that failing to model conflicting moves at intersections generally underestimates travel times and causes too much traffic to go through the urban core, highlighting the importance of joint modelling of intersections.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Data Availability

The population data that is used for the simulations in this study are available from City of Copenhagen but restrictions apply to the availability of these data, which were used under license for the current study, and so are not publicly available. Data are however available from the authors upon reasonable request and with permission of City of Copenhagen.

Code Availability

The code used for extending MATSim can be found in the corresponding author’s GitHub library: https://github.com/madspDTU/fastOrForcedToFollow. The library also contains a user guide.

Notes

  1. Although we name them “car links”, these links also handle truck traffic

  2. We have found that speed is not a good attribute to use for determining the size of the link, as local speed restrictions are sometimes applied to busy roads.

  3. In practice, this only covers bicycle moves beginning at \(D_j^-\) that do not end in \(D_j\), since bicycles are not allowed to cross to the left-hand side from the right-hand side, i.e. move from \(D_k \in [D_i,D_j[\) to \(D_h \in ]D_j,D_i]\), without having to stop at \(D_q^-\). This is the same as for most other bicycle moves mentioned in the following, although not explicitly mentioned through additional footnotes.

  4. Although the order in which they can be performed is based on which in-link was given dynamic priority in the previous time step (see Sect. 5)

  5. Strictly speaking, the moves going directly from \(D_p\) to \(D_q\) do not have a lower priority than those with priority 1, but since they do not conflict with any of the moves with priority 1, it does not matter.

  6. The open-source Java code can be found at https://github.com/madspDTU/fastOrForcedToFollow. The GitHub repository also contains a user guide with further technical details about the MATSim implementation and how to use it.

  7. Despite also dealing with bicycle traffic, the implementations presented in this paper and in Paulsen and Nagel (2019) should not be confused with the MATSim bicycle contribution (Ziemke et al. 2019). See Sect. 5 for a discussion of how they differ and compliment each other.

  8. In Sect. 3.2.2, we propose an alternative formulation that allows \(t_n\) to be updated to a value higher than t.

  9. Tests with capacities of 1, 2 and 3, respectively, for left car buffers have shown that the model is not very sensitive to the exact value of this parameter. Moreover, the differences in travel times across the three settings based on more than 3.5 million trips were found to be less than four seconds per trip on average.

  10. As \(\bar{S}_i\) is necessarily negative using the chosen parameters, the transformation is needed in order to plot \(\bar{S}_i\) on a logarithmic axis.

  11. Recall that cyclists’ plans consists of more than a single trip, whereas the car and truck day plans were constructed from an OD-matrix, resulting in each car/truck agent only having a single trip.

References

Download references

Acknowledgements

We would like to acknowledge the two anonymous reviewers for their suggestions, which have considerably improved the quality of the paper.

Funding

No funding was received to assist with the preparation of this manuscript.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mads Paulsen.

Ethics declarations

Conflict of Interests

No conflict of interests exists.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix

Appendix

1.1 A. List of Notation

\(\emptyset\)

The empty set.

B

A MATSim buffer. See Sect. 3.2.3 for the definition.

\(\mathcal {B}_D\)

Set of buffers of bundle D (diverging nodes only).

\(\mathcal {B}_L\)

The set of buffers of link, L.

\(\beta _b\)

Parameter for congested travel time in the scoring function.

\(\beta _f\)

Parameter for free-flow travel time in the scoring function.

\(C^F_L\)

The MATSim flow capacity of a link.

\(\mathcal {C}_m\) (and \(\mathcal {C}_n\))

The set of all conflicting moves that cause a conflict with move m (or n).

D (and \(D_h\), \(D_i\), \(D_j\), \(D_k\))

A bundle. See Sect. 2.1 for definition.

\(D^-\)

The bundle preceding bundle D when traversing bundles counterclockwise.

\(D^+\)

The bundle following bundle D when traversing bundles counterclockwise.

\(D_p\) (and \(D_q\))

Primary bundle (merging nodes) or bundle prioritised in previous time step

 

(right and anti-priority nodes).

\(D_s\)

Secondary bundle (merging nodes only)

\(\mathcal {D}_P\)

The set of primary bundles, see Sect. 3.2.4.

\(\mathcal {D}_S\)

The set of secondary bundles, see Sect. 3.2.4.

l

A MATSim leg – also known as a trip in more general literature.

L

A network link.

\(\ell _p\)

The set of legs (trips) for plan p.

\(\mathcal {L}_N^A\)

Set of links of a node N that have vehicles ready to move.

\(\lambda _L\)

Length of link L.

m (and n)

A move across a node.

N

A network node.

\(\mathcal {N}_A\)

Set of all active nodes.

\(\Omega\)

An ordered list of buffers based on right-of-way, see Sect. 3.2.1.

\(R_m\)

Receiving link of move m.

\(R_V\)

Receiving link of vehicle V.

\(\varrho _p\)

Proportion of flow capacity constituted by a primary bundle (merging nodes).

\(S_p\)

The score of plan p.

\(\bar{S}_i\)

The average score across all agents in iteration i.

\(\varsigma\)

The MATSim stuck time (or squeeze time), see Sect. 3.1.

t

The current time in the MATSim simulation.

\(t_a^l\)

Actual travel time of leg l (sometimes used without l).

\(t_c^l\)

(Individualised) Congested travel time of leg l (sometimes used without l).

\(t_f^l\)

(Individualised) Free-flow travel time of leg l (sometimes used without l).

\(t_m\) (and \(t_{n}\))

The time that has to be exceeded before move m (or n) can be conducted.

\(T_B\)

Buffer time of buffer B see Sect. 3.1.

\(\tau\)

Time step size used in the MATSim simulation.

u

Random number in the interval [0; 1].

V

A MATSim vehicle.

\(\xi\)

Clearance time parameter.

1.2 B. Supplementary Figures

Fig. 7
figure 7

Number of stuck events per iteration for scenarios with only cars and trucks and different values of the stuck time \(\varsigma\) (\(\xi = 0\))

Fig. 8
figure 8

Number of stuck events per iteration for scenarios with bicycles, cars and trucks and different values of the stuck time \(\varsigma\) (\(\xi = 0\))

Fig. 9
figure 9

The average executed score after each iteration for scenarios with only cars and trucks and different values of the stuck time \(\varsigma\) (\(\xi = 0\))

Fig. 10
figure 10

The average executed score after each iteration for scenarios with bicycles, cars and trucks and different values of the stuck time \(\varsigma\) (\(\xi = 0\))

Fig. 11
figure 11

Car flow differences between the uni-modal car scenario with the original node model and the tri-modal right-of-way model scenario with \(\xi = 0\). Negative numbers imply lower car flows in the latter

Fig. 12
figure 12

Car flow differences between the original node model and the right-of-way model with \(\xi = 2\) when only including cars. Negative numbers imply lower car flows when using the right-of-way model

Fig. 13
figure 13

Car flow differences for the right-of-way model with \(\xi = 2\) with and without bicycles. Negative numbers imply lower car flows when including bicycle traffic

Fig. 14
figure 14

Car flow differences between the uni-modal car scenario with the original node model and the tri-modal right-of-way model scenario with \(\xi = 2\). Negative numbers imply lower car flows in the latter

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Paulsen, M., Rasmussen, T.K. & Nielsen, O.A. Including Right-of-Way in a Joint Large-Scale Agent-Based Dynamic Traffic Assignment Model for Cars and Bicycles. Netw Spat Econ 22, 915–957 (2022). https://doi.org/10.1007/s11067-022-09573-w

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11067-022-09573-w

Keywords

Navigation