Skip to content

New Features in Aimsun Next 23

This chapter summarizes the main new features in Aimsun Next 23

Aimsun Next 23: Highlights


  • We have redesigned the way time series are internally managed, which should significantly reduce the runtime and the time it takes to close a model after running it or retrieving the outputs of a past run.
  • You can create cost functions using the Lua scripting language (in addition to Python), which should reduce the runtime.
  • You can unload the results before starting another run, to free up memory and therefore preventing pagination, thus reducing the runtime with large models.
  • The number of simulation and route choice threads is now automatically set to achieve the minimum runtime for dynamic scenarios.
  • The responsiveness of the UI when editing a geometry configuration has been improved.

Usability of four-step models

OD Adjustment outputs

  • The OD adjustments now provide all the outputs required by UK DfT's TAG to monitor the changes to the prior demand brought about by the adjustment process: trip length distribution with mean and standard deviation, scatter plot of trip ends, scatter plot of cell values, and sector to sector differences.
  • The static OD adjustment creates a plot that shows the progress of the adjustment in terms of goodness of fit with real data vs change of the prior demand.
  • The dynamic OD adjustment now supports all the objectives and constraints available for the static OD adjustment: Centroid Groupings, RDS for Subpaths.
  • The dynamic OD adjustment can output a demand of integer trips.

Dynamic simulators

Static assignment

OCIT controllers

  • Now all OCIT controllers (Yutraffic, LISA and vs|plus) support graphical and protocol view, change of signal plan and change of OCIT flags both in manual testing and in simulation.
  • The graphical and protocol view are now more legible.
  • Yutraffic controllers support parallel in addition to serial calling points.
  • The Java Command to start the LISA OML server is now stored in the system preferences instead of the model preferences.
  • The LISA Server Data Dir has been moved to the Controller editor.
  • All OCIT controllers (Yutraffic, LISA and vs|plus) support push button actuations from pedestrians.


  • The OpenDRIVE importer now imports speed limits and traffic lights.
  • The GTFS Importer can now filter transit lines and timetables by route type, agency and services.


Data Analysis

Aimsun Next 23 new features in detail


Lua as an additional scripting language for cost functions

To reduce the computation time when evaluating the cost functions, they can now be written in Lua, which supports multi-thread evaluation. The cost functions in the template are now available in both Python and Lua languages.


New four-step execution options

New options to Execute this Box and to Execute from this Box Onwards in the four-step experiment when right-clicking on any box in the diagram. When selecting the option Execute this Box, results of the selected box will be discarded and then the selected box will be executed, while when selecting Execute from this Box Onwards results of the selected box and the boxes downstream of it will be discarded and then the selected box and the downstream boxes will be executed. This is particularly useful during calibration or when running tests, as you can run just a portion of the experiment.

Possibility of reading skims from a path assignment in a four-step experiment

A new box called Path Assignment can be added to four-step experiments. This allows you to use any path assignment produced from a Transit Assignment or Static Assignment to feed the Four-Step model with skims without creating skim matrices.

Loop Results stored in database

The four-step model experiment loop results can now be stored in the database. This option allows you to restore loop results without rerunning the model. The corresponding table with results can be found in the Output Database description.

Demand Adjustment

Monitoring the changes in the prior matrices according to TAG

The Transport Analysis Guidance (TAG) written by the Department for Transport (DfT) in the UK provides guidance on the conduct of transport studies. Projects or studies that require government approval are expected to make use of this guidance; for projects or studies that do not require government approval, TAG can still serve as a best practice guide.

When doing demand adjustments using counts, TAG underlines the importance of carefully monitoring the changes in the prior matrices brought about by the procedure and ensuring that they are not significant (chapter 8.3 of unit M3.1) by looking at regression plots of cell values or trip end values, trip length distribution and sector-to-sector differences.

In the Trips tab of Static OD Adjustment Outputs, Static OD Departure Adjustment Outputs and Dynamic OD Adjustment Outputs you are now able to specify whether you want to create a regression plot of "Cell-by-cell" or "Trip Ends" values, whther you want to compare by individual centroid or by grouping of centroids (i.e. sector-by-sector), and whether you want to compare the adjusted demand with the input demand or the adjusted demand with a reference demand. Using as reference demand the prior demand (i.e. the demand before any adjustments) allows you to perform departure adjustment on the output demand of static adjustment and/or dynamic adjustment on the output demand of departure adjustment while still complying with the TAG guidance that changes should be monitored against the prior demand.

In the Trip Length Distribution tab of the Static OD Adjustment you can now see the average and standard deviation of the input and of the adjusted trip length distributions and the % difference between those averages and standard deviations.

All comparisons can be performed on the total demand or by user class.

Progress Plot in Static OD Adjustment and Static OD Departure Adjustment Experiments

In the Outputs -> Convergence tab of the static adjustment and static departure adjustment, a Progress Plot tab has been added. The Y-axis shows the R2 between the adjusted demand and the seed demand and the X-axis shows the R2 between the assigned volume and the observed counts. This plot shows the effect of each adjustment step both in terms of distorting the seed matrix and in terms of improving the validation.

Dynamic OD Adjustment by aggregated OD pairs

The Dynamic OD adjustment now supports adjusting by aggregated OD pairs rather than individual cells, as it was possible in the Static OD Adjustment, to prevent overfitting. To perform an adjustment by aggregated OD pairs you just have to provide a centroid grouping type in the experiment, which contains the groupings that define how to aggregate centroids. OD elasticities and bounds are also applied to aggregated OD pairs in this case.

Dynamic OD Adjustment with counts for subpaths

The Dynamic OD adjustment now can take into account counts for subpaths, as the Static OD adjustment. This is useful when you have counts for maneuvres rather than individual turns, for example at weaving sections and roundabouts.

Generated Vehicles output for Dynamic OD Adjustment

The Dynamic OD adjustment Outputs now include the matrices of actual generated vehicles with the initial and with the adjustment demand. These represent the output of the vehicle generation process, and therefore are sensitive to the random seed and contain only integer trips. They are useful to analyse the impact of the fact that the adjustment works with decimal trips while the network loading works with discrete vehicles.

Dynamic simulators

Roundabout lane selection model

We have developed a new lane selection model for roundabouts in microscopic, mesoscopic and hybrid simulations. The model calculates the valid lanes for vehicles approaching a roundabout (within look-ahead distance from the entry turn) by taking into account which exit the vehicle wants to take. This capture the fact that in reality vehicles taking the first exit tend to use the outer lane, while vehicles taking the last exit tend to use the inner lane.

Visibility distance of a yield and stop signs

The visibility distance of a yield or stop sign can now extend to upstream sections. In previous versions it was truncated at the entrance of the section with the sign.

Route choice and simulation threads

Route Choice Threads for DTA and Simulation Threads for mesoscopic network loading can no longer be set in the experiment, as they are now automatically determined based on the minimum between:

  • maximum number of cores,
  • maximum number of threads allowed based on the license purchased,
  • maximum number of threads defined via via the command line using the parameter --force_number_of_threads.

Simulation Threads can still be set for microscopic network loading, as changing the number of threads may produce different results.

New DUE outputs to monitor convergence and stability

The Dynamic User Equilibrium (DUE) assignment can output a comprehensive set of statistics that allow you to monitor in detail both the convergence and the stability of the solution: RGap by OD pair, flow and cost by link per iteration. These outputs are extremely valuable during the calibration of the model.

Since these output can have a significant impact on runtime, memory consumption and output database size, there is new DUE subtab in the Outputs to Generate tab of Dynamic Scenarios to configure in detail which should be produced.

Path Assignment Plan improvements in dynamic simulations

In previous versions a Dynamic User Equilibrium (DUE) could only load a single path assignment item generated by either a static assignment or a DUE with the same route coice interval. Now a DUE can take as input a path assignment plan containing multiple static and/or DUE path assignment items.

Both DUE and Stochastic Route Choice (SRC) can now load path assignment items whose warm-up duration and/or route choice intervals don't match with the current DTA: in DUE the percentages in the input path assignment are aggregated into the new intervals, while in SRC the vehicles following the input paths use the intervals of the path assignment item.

Acceleration aggressiveness

The MFC model now includes the parameter acceleration aggressiveness which defines the driverĀ“s driving style and gear-shifting (only used with combustion engines). In previous versions the headway aggressiveness was used for this purpose. The new parameter allows decoupling the acceleration behavior from the car following headway.

Start time Retrieve Data using an Aggregation Interval

The functionality of Retrieve Data using an Aggregation Interval has been extended to allow setting a start and end time to cover the case in which the period you are interested in does not start at a multiple of the aggregation interval.

SSAM trajectory files for multiple replications

When running multiple replications under the same dynamic scenario with the SSAM extension, the .trj file is no longer overwritten, but a different file per replication is created.

Improved HCM Areas definition

The logic to Build HCM Areas for signalized intersections has been improved to detect more accurately the approaches of the intersection.

Combine traffic states with pedestrian OD matrices

You can now add pedestrian OD matrices to a traffic demand with traffic states for vehicles. This allows running a pedestrian simulation when you don't have OD matrices for vehicles.

New traffic generation distribution

The vehicle traffic arrivals include now a new distribution called Constant where all headways, including the first one, are equal. The former Constant distribution has been renamed to Randomly Initialized Constant to better reflect its behaviour.

Static Assignment

Define TPF and JDF in road type

You can now define a TPF, a JDF and an Additional Volume in the Road Type. When a new turn is created, its TPF and JDF will be taken from the road type of the origin section. When a new section is created, its Additional Volume will be set equal to that of its road type.

New path calculation algorithm for Stochastic Static Assignment

We have replaced the Yen's k-SP algorithm previously used in Stochastic Static Assignment with the ESX algorithm, which is faster and produces alternative paths with less overlap. This algorithm has two new parameters that have to be defined in the Experiment.

Added Walking-Only Cost Function for Transit Assignment Experiments

In the Transit Assignment Experiment, if Allow Walking-Only Trips is checked, you can now define a custom cost function for walking-only trips. This allows banning the usage of a pair of connectors (for example those representing bike access) for walking-only trips by setting a high cost for that pair of connectors. The Default option performs the same computation as in previous versions, in which the walking-only cost between a pair of centroids connected to the same stop is the sum of the VDFs of the connectors (the minimum between the stops in case the centroids are connected through multiple stops).

OCIT Controllers

Yutraffic Controller: serial and parallel reporting points

In the Yutraffic controller you can now define that a detector should behave as Serial Reporting Point or as a Parallel Reporting Point. A Serial Reporting Point sends an R09 telegram when a transit vehicle is first detected while a Parallel Reporting Point sends a presence while any equipped vehicle is on top.

When opening a model created with a previous version of Next, a detector that has no transit line associated will be set as a Standard Detector (i.e. a detector that sends presence while any vehicles are on top) whereas a detector that has transit lines associated will be set as Serial Reporting Point.

Both serial and parallel reporting points can have transit lines associated, in which case the telegram or presence during the simulation are sent only when a vehicle serving one of those lines is detected.

LISA Controller: Data Directory can be configured per Controller

The Server Data Dir parameter, previously set in the Preferences Editor has now been moved to the Controller Data Directory in the LISA Controller editor. This way the .jar files of different intersections can be stored in separate folders. When opening a model created with a previus version of Next, value set in the preferences is copied to all the LISA Controllers.

OCIT Controllers: push-button actuations from pedestrians

Pedestrians in a simulation now generate push-button actuations with all OCIT compliant controllers (Yutraffic, LISA and vs|plus). The actuation consists in generating presence for the push-button defined in the Pedestrian Walks tab of the controller while any pedestrians are waiting at the associated Pedestrian Crossings or Crosswalk Areas.

Additionally, in the Node you can now define multiple signal groups controlling the same Pedestrian Crossing or Crosswalk Area for different Pedestrian Types, and in the Controller you can associate different push-buttons to the same Pedestrian Crossing or Crosswalk Area for different Pedestrian Types. This allows for example creating a separate signal group and push-button for blinds.


GTFS Importer filter transit lines and timetables by route type, agency and services

Once the GTFS files are read by the GTFS Importer, a new dialog will pop up to allow filtering the transit lines and the timetables by route type, agency and services.


Fast Access script

To allow faster execution of a Python script, one of the available scripts in the Scripts folder can be set as Fast Access script, which can be then executed using the shortcut [Ctrl + J].

Filter by grouping in Real Data Sets

The Real Data Set dialog allows you to restore data just for objects belonging to a grouping.

Time Series header names

The header names of the Time Series dialog are visualized more clearly when the name of the experiment or replication that generated them is long, as they are now split into multiple lines.

Automatic Centroid Split

The Split Centroid tool can now decide automatically the number of split centroids to generate by looking at the existing connections. The logic will generate centroids with at most one connection per direction.

Move Centroid Connection from Node to sections

A new command added in the Centroid contextual menu (right-click) and the scripting to Move Centroid Connection from Node to sections. When this command is executed, it will take any connection to/from a Node and replace them with connections to the outgoing/incoming sections of that Node. If the option "Use Origin Percentages" is checked, then the Percentage of the original connection will be distributed among his replacement connections in proportion to each section Capacity.

Active Scenario/Experiment/Replication

The selection of the active Scenario/Experiment/Replication is now done by right clicking on it in the Project window and selecting Activate.

When a scenario is activated, the first experiment it contains is activated. When a dynamic experiment is activated, the first replication it contains is activated.

The active Scenario/Experiment/Replication are still shown in task tool bar area, but they can no longer be changed from there. If you click, the editor of the Scenario/Experiment/Replication is opened instead.

New Detection Pattern Template Window

A new window trigger detection events can be activated from the menu bar > Window > Windows > Detection Pattern Template. All parameters in the detection events can be edited, however any changes made in the window are temporary and they are not saved in the Detection Pattern Template. The purpose of this window is to perform quick traffic signal testing occupying less space on the screen.

Data Analysis

Data Comparison for Centroid Connections

Centroid connection objects can be compared using the Data Comparison dialog. This can be useful to check that the assignment results match those of the imported model.

Shortest Path Tool

The Shortest Path tool now has the option to generate and save cost and distance skim matrices for a given Centroid Configuration. In previous versions you had to run an assignment to get these skims.

Traffic Demand Histogram

A new Traffic Demand Histogram tab shows the number of cells with different ranges of number of trips. It can be plotted for all vehicles or by vehicle types, and the ranges are configurable.

Your feedback

We have made every effort to ensure that the information contained in this manual is accurate. Your feedback helps us to improve Aimsun Next and decide which new features to add, so please send any comments to