VISSIM - Dynamic Assignment
Introduction
Welcome to the first Modelling Group blog post!
This is the first in a series of technical articles, providing some of our thoughts, hints and tips on various elements associated with microsimulation modelling and in particular, VISSIM.
You may ask, who are Modelling Group and what experience do we have? Well, our team is made up of five specialists who have 90 yearsā combined experience in traffic modelling projects, so we have plenty of wisdom to share!
This first post focuses on Dynamic Assignment and provides some discussion on a variety of modelling elements and parameters. We hope you find this useful.
What is Dynamic Assignment?
So first up, what is dynamic assignment and how is this different from static assignment? The simplest way to describe the differences is that dynamic assignment uses origin-destination (O-D) matrices to assign traffic around the network and is often used where route choice is available, whereas static assignment uses manually assigned vehicle inputs and routes.
Whilst it may sound simple to just assign flows to an O-D matrix and then your network assignment is finalised, thereās a bit more to it than that. Your network needs to be set up with origins and destinations, represented in the model with virtual parking lots and nodes to create a series of edges. These edges need to be checked to ensure that all movements in the network are suitable and realistic. Once you have done that, to route traffic around the network, cost and path files need to be created - these contain information on all of the available routes and their associated costs. Having obtained a set of cost and path files, you then need to undertake something called convergence. This is a process of running the model with the same fixed seed multiple times until the costs on each path āconvergeā on the same (or very similar values) for each run. At this point, the model is considered stable and āconvergedā and can be run for your required outputs.
If youāre wondering what a āseedā is, this is a number that assigns a value to each of the various distributions within VISSIM (for example, desired speed, flow profiles from a parking lot) when the model is run. If you change the random seed number, then the value assigned to the distributions will change. This is to replicate day-to-day variations in elements such as driver behaviour and traffic flow patterns.
Network Set-Up
Entry/Exits
When adding the parking lots and nodes to each entry and exit link on the network, some tips are shown in Figure 1.
Tip 1: Remember to update the Relative Flow values for the entry and exit parking lots ā entry parking lots should have a value of 1.0 and exit parking lots have a value of 0.0.
Tip 2: Make sure your node covering the entry and exit links does not overlap the parking lots, otherwise youāll get an error message pop up when trying to load.
Figure 1 ā Entry/Exits ā Network Set-Up Tips
Tip 3: Itās useful to include a desired speed marker after the entry parking lot, so that you can ensure that vehicles are travelling at the correct speed when they enter the network. Whilst these speeds can be configured within the Parking Lot menu itself, the use of Desired Speed Markers adds an extra measure to ensure speeds for all classes are updated.
Tip 4: If you are collecting entry and exit flows for model calibration and/or validation, place a set of data collection points (or another node) close to the entry and exit parking lots. This allows these flows to be collected for analysis.
Tip 5: When configuring the Parking Lot, itās useful to name all of zones so that they can be easily assigned to the correct Parking Lot.
Junctions
When configuring the junctions for dynamic assignment, a couple of tips are shown in Figure 2.
Tip 6: After adding a node around each junction, check that this is placed so that it includes any links and connectors inside it that are associated with the movements at the junction. does not overlap any connectors and only intersects links.
Tip 7: Ensure that after adding the node, the Turns for dynamic assignment are reviewed and any unrealistic movements are closed.
Figure 2 ā Junctions ā Set-Up Tips
Folder Set-Up in Scenario Management
When we set up and run a model using dynamic assignment, we use a folder structure that complements the three main stage we undertake:
1) Paths & Costs ā this is used for storing the BEW, WEG and Error files associated with running the model initially for Paths & Costs.
2) Convergence ā this is used for storing the BEW, WEG, CVA, Error and Path files associated with running the model for Convergence.
Figure 3 ā Folder Set-Up for Dynamic Assignment
3) Outputs ā this is used for storing the files associated with the outputs (e.g., Network Performance, Travel Times, Queues, Nodes etc.) from the model.
An example of this folder structure for a model under Scenario Management is shown in Figure 3.
Dynamic Assignment Parameters
The most critical part of configuring a model in dynamic assignment is choosing the correct parameters for each model. The choice of parameters changes depending on which stage in the dynamic assignment process you are at. Figures 4-8 go through each of the tabs and provides some guidance on what needs considering for the different stages.
āScale total volume toā
This parameter is updated depending on whether the model is run for paths/costs or convergence, results. When running the model initially for paths/costs, we scale the volume back to 50% and work upwards to 100% through different seed runs. This allows the BEW and WEG files to be collated with costs and paths in a free flow, uncongested network to start with, before increasing up to 100% of the traffic demand. The number of runs required to find all the necessary costs and paths largely depends on the size and complexity of the network, but it should be enough to pick up the variance between the seed runs over a large sample size.
Figure 4 ā Dynamic Assignment Parameters ā Files
When running for convergence, there are a couple of options with the percentage chosen. If the network is small and not too congested, then convergence can normally be achieved by using 100% of the demand. However, if you have a large and/or very congested model, then convergence at 100% of the demand may not be able to be achieved. If this is the case, PTV suggest reducing the demand down to 70% for convergence running. We would suggest aiming for 80-95% of the demand, which will depend on the complexity of your modelled network.
Further tips on model convergence can be found in PTVās VISSIM FAQ webpage under Dynamic Assignment (#VIS29421)
https://www.ptvgroup.com/en/solutions/products/ptv-vissim/knowledge-base/faq/
āEvaluation intervalā
The evaluation interval used in dynamic assignment models is usually in the range of 15-60 minutes (900-3600 simulation seconds). Our default starting value is usually 900s. This is to account for different traffic demands and network states over the simulation period, which is a result of the network being more dynamic as opposed to static (use of O-D pairs to assign traffic, as opposed to static routes through junctions). The evaluation interval is therefore needed to be a suitable interval to understand these changes and adjust the vehicle paths as necessary.
Further details on the evaluation interval are provided within the VISSIM Help File.
āCreate archive filesā & āStore costsā
These options are used when undertaking the initial path/cost runs and also for running the model for convergence. By saving each BEW and WEG file (using our folder set-up), we can track the size of the files to understand how stable the files are after a multi-run (for path/cost file running), as well as to pick out the most appropriate files after analysing the convergence outputs.
Once you have a converged model, these parameters can be un-ticked as you will already have a stable model and suitable BEW and WEG files to use.
āCost for path distribution with Kirchhoff ā Measured path travel timesā
This option is chosen for our models as the networks we develop tend to include multiple lanes and feature varying levels of congestion. The āMeasured path travel timesā produces more accurate results as the total travel time is taken over the whole route and isnāt obscured by local areas of congestion in the model (unlike āSum of edge travel timesā).
Further details on the two options are provided within the VISSIM Help File.
Figure 5 ā Dynamic Assignment Parameters ā Cost
āSmoothing method ā MSA (Method of Successive Averages)ā
In our experience of dynamic assignment models, we have found that convergence is achieved more successfully using the Method of Successive Averages (MSA) over Exponential Smoothing.
MSA allows more control over the number of runs that feed into the calculation of the arithmetic mean and the number of iterations assigned can correlate with the number of runs that have been undertaken at 100% demand in the initial cost/path batch run. The MSA value can also be adjusted once convergence has been achieved to match the number of runs needed to ensure a suitably stable model.
āPath Searchā parameters
The options āsearch new pathsā and āsearch alternative pathsā are only required when undertaking the initial runs for paths and costs. After that, these options can be unticked.
We tend to tick the option for ākeep paths for O-D pairs with zero volumeā as this is useful if any changes are needed to be made to the matrices as part of the model calibration. Otherwise, if flows are added to an O-D pair with zero flows without this option ticked, then a new set of paths are needed to be run.
āPath pre-selectionā parameters
The āAvoid long detoursā and āLimit number of paths per parking lot relationā can be updated to suit the size of the network and the amount of route choice.
If you have a large network with a lot of route choice, then limiting the number of paths from 999 to a more representative figure (e.g. 5, 10) could ensure that all of the likely routes are still picked up.
For the āAvoid long detoursā, an initial assessment of the paths identified is needed to understand if the routes found are suitable. If there are still unrealistic routes being used, even with a lower limit on the number of paths, then reducing the factor from 2.50 to a range of 1.2-1.5 may be more suitable.
āPath choice modelā
Our preference for this is to use āStochastic assignment (Kirchhoff)ā. The āEquilibrium assignmentā option is a fairly recent addition to VISSIM and whilst we understand the premise behind it (proportioning the paths according to the costs on a route), we have found that the āStochastic assignment (Kirchhoff)ā option produces a suitable set of paths for our models (which in turn helps with convergence).
Figure 6 ā Dynamic Assignment Parameters ā Search
Figure 7 ā Dynamic Assignment Parameters ā Choice
āConvergence conditionsā parameters
When running the model for convergence, we use criteria as set out in the Department for Transportās (DfTās) Transport Analysis Guidance (TAG), Unit M3.1 and Transport for Londonās (TfLās) Model Audit Process, v4.0 documents.
Within VISSIM, the travel time on paths (95% within 20% difference) and volume on edges (95% within 5 vehs) are selected as the criteria to meet. The network performance is also collected and output separately to check the percentage differences of the Total Travel Time for each run (which should be within 1%).
As well as using the CVA and Network Performance outputs from VISSIM, we also undertake a separate check of the convergence by extracting and analyse the raw Path files, to ensure convergence is met.
Figure 8 ā Dynamic Assignment Parameters ā Convergence
Summary
Youāve made it to the end, thanks for sticking with it!
We hope this post has helped to provide a bit of insight on we approach dynamic assignment models and hopefully there are some elements you can apply to your own models.
If you are after further information, PTV have produced a series of āGetting to know VISSIMā videos and Videos 15, 16 and 17 cover all aspects of Dynamic Assignment in more detail. The link for these videos is here: https://company.ptvgroup.com/en-us/getting-to-know-ptv-vissim
Thanks for reading!