# Release Notes¶

This is a summary of the key changes in subsequent patches for version 22 of Aimsun Next.

## 22.0.1¶

### Improvements¶

• It is now possible to unload replication data and path assignment results. As a complement to the existing data retrieval options available on the context menus of replications and path assignment results, there are now options that enable you to unload replication data and path assignment results from the database. These options enable you to save memory, reduce computational effort, and enhance performance. They are:

• Unload Replication Data: unloads the replication data that were stored in the database, to save memory and enhance performance.

• Unload Path Assignment Results: unloads the path statistics and path assignment information from the replication to save memory and enhance performance.

You might find it helpful to select one or both of these options before retrieving data and results from another replication.

Depending on the type of experiment you are running, the wording of Unload xxx Data will differ.

#### Cost Functions¶

If any of the following is true, then the affected process will be cancelled and an error message displayed in the Log window.

• The turn cost (TPF+JDF) is negative.
• The section cost (VDF) is less than or equal to zero.
• The unidirectional centroid connector cost (VDF) is negative.
• The bidirectional centroid connector cost (VDF) is less than or equal to zero.
• The supernode trajectory cost (TPF+JDF) is less than or equal to zero.

Note that any processes you have already run in earlier models will be cancelled if these conditions are not met.

• The class GKFunctionCostContext now includes an iteration field which contains the static assignment iteration at which the function is being evaluated. This parameter might be used when evaluating VDFs, TPFs or JDFs.

#### Path assignment plans¶

• The path assignment plan has to cover fully the traffic demand time if this plan wants to be used in the scenario. Empty slots are not allowed.

• The generation of the DUELINKDATA is no longer automatic for Dynamic User Equilibrium. To generate this table, you must now add the experiment variable \$ENABLE_DUE_CONVERGENCE_DATA and set it to yes. This can be edited in the Variables tab in the experiment.

#### Distribution¶

• The execution of the Gravity Model is aborted if there are errors in the Deterrence or Impedance Functions. And if, due to the deterrence values used, the Gravity Model cannot balance trips. That occurs when all deterrence are zero for all ODs from/to a given centroid.

• The Static OD Adjustment Weight Function now includes GKFunctionCostContext as an input. This allows the function to access the experiment object, simulation time, duration and user class. All existing adjustment weight functions from Aimsun Next 22.0.0 or earlier will need to add the context to the function input.
• Using Centroid Grouping option now groups OD pairs consistently when using multiple user classes.

#### User Interface¶

• Using the View Mode dialog or the Legend window, you can hide transit connections and non-transit connections separately when defining view modes and styles for 2D views.
• A summary has been added to the Type Editor window which displays the total number of columns in a type, by storage and data type. This can be found in the Types Window.

#### APIs and SDKs¶

• The Micro API, Meso API, and MicroSDK sample projects in the installation files are now correctly configured to link to the current Aimsun Next 22 libraries.
• The meso API load function no longer requires the simulation handler as an input parameter.
• New function in meso API that can be used to remove vehicles AMesoRemoveVehicle.
• New functions related to manage pedestrians have been added to the micro API.
• Hybrid micro/meso simulations now can handle micro and meso apis.

#### APA Fixer¶

• Fixed APA sizes has been significantly reduced by improving the compression of the storage of similar paths.

#### Dynamic Assignment¶

• Paths in APA Macro from/to centroids connected to/from objects inside a GKSuperNode can now be loaded in Dynamic Assignment by reconstructing the interior of the GKSuperNode in order to complete the segment that Macro does not describe.

• Two demands are created if there was a warmup period set in the Static OD Departure Adjustment Experiment: one for the Adjusted demand and another one for the warm-up demand.

#### Transit Assignment¶

• Transit Assignment Experiment is cancelled if cost functions are not evaluated correctly.
• Function Component values are an output of the Transit Assignment’s Path Assignment. Their values can now be checked and Skim matrices obtained from the Path Assignment Dialog.
• If the option to generate Skim Matrices is checked in the Scenario -> Outputs to Generate, skim matrices containing the costs not only for each component but also for each function component of the transit trip cost will be created automatically under the OD matrices folder.
• Transit Assignment no longer considers all centroid connectors as bidirectional. Now their directionality (generate, attract or bidirectional) is considered consistently.
• Fixed crashes when using Transit Operators option.

### Performance¶

#### Static Assignment¶

• Significant performance improvements in the calculation of Skim Matrices for the Static Assignment.

#### Transit Assignment¶

• Significant performance improvements have been implemented to load Transit Assignment Outputs more efficiently.

### Bug Fixes¶

#### Join centroids¶

• When centroids that were not part of a polygon were joined, they were discarded on save. This has now been resolved.

#### Dynamic Traffic Assignment¶

• Vehicle and Purpose parameters weren't set in GKFunctionCostContext dynamic function costs.

#### Microscopic simulation¶

• Yellow boxes were not being correctly considered in a number of cases. The following cases have been fixed.
• Where stop lines were moved back from the end of the section.
• Where vehicles shared a conflict zone.
• In pedestrian crossings.

#### Path Assignment¶

• Additional checks on the consistency of the Path Assignment Plan have been implemented for all model levels. This includes checking the geometry and time intervals. Where the time intervals are inconsistent the simulation is cancelled, and an error displayed in the log. Where the geometry is inconsistent, Aimsun Next removes the affected OD pairs from the path assignment. This is recorded in the log. Previously in these circumstances, the path assignment would be discarded, and the simulation would continue without it as an input. This may give inconsistencies between versions.

#### Generation/Attraction Experiment¶

• External centroids are now included when using an "Aggregate Mode". Those centroids were erroneously discarded in previous versions.

#### Distribution¶

• The maximum number of threads used is now limited by the license type and command line argument "force_th".

#### Four-step Experiment¶

• Several bugs have been fixed for Script Boxes making them now functional, including the option of using output prediction consistently.

#### Static Assignment¶

• When loading an APA in a static assignment, consistency checks of the geometry of the APA were not comprehensive. This caused crashes in some instances. APA and network geometry must be identical.
• The static assignment was creating a database even when one was not necessary. This has been fixed and statistics are only collected and stored when required by the user.
• Some performance and consistency improvements were made by not updating and processing stats of vehicles not allowed in specific places of the network. In those cases, both evaluating cost and assigning volume (in the case of Transit, specially) were inconsistent operations.
• The maximum number of threads used is now limited by the license type and command line argument "force_th".

• Now Static Adjustment Outputs include measurements from all user classes consistently. It no longer overrides cases where the same object has "All" and specific vehicle/s types.
• Measurements on sections marked as congested through "Congested Sections" are no longer discarded as results, unless they have not been considered by the algorithm in the final iteration.
• Validation Tab now displays the GKVehicle name in each measurement, to identify the vehicle associated to it.
• The maximum number of threads used is now limited by the license type and command line argument "force_th".

#### Transit Assignment¶

• Transit Assignment is no longer executed if there exists more than one connection from/to a centroid to/from a bus stop. This is a situation that may occur if connecting a centroid to a transit station and to a bus stop inside it.

#### Dynamic Assignment¶

• Now, when loading APAs from Macro from/to centroids connected, the concurrent parts are limited to use the maximum number of threads, now limited by the license type and command line argument "force_th".

• When stopping the Dynamic Adjustment by reaching the maximum number of iterations, Aimsun Next was skipping the last simulation update. Now the results are consistent with the final demand.

#### APA Fixer¶

• Centroid connections to and from nodes were not being checked correctly and any resulting APA was therefore inconsistent: all paths started at sections entering the node, however for entrance connections from centroid to node, the first section in path is always a section exiting the node.
• The APA fixer was not providing the connectors in any specific order. This caused reading issues, which lead to differences in path assignment when compared to running the model.
• The maximum number of threads used is now limited by the license type and command line argument "force_th".

#### GTFS Importer¶

• When attributes had quotation marks, they interfered with the import process. Multiple bus stops were created instead of only one and timetables were not filled correctly. This has been fixed and reading process filters quotation marks.
• Transit lines were not completely connected in some cases, e.g. short path between stops through a u-turn. Logic used to create paths has been refined.

#### GIS Importer/Exporter¶

• Shapefiles containing null points caused a crash during the import process.
• Merged nodes shapes were not exported correctly and were not referenced by sections exported.