Cube Voyager Public Transport Crowding

In some urban areas it is necessary to model the effect of crowding on public transport services in order to replicate real-world situations. Cube Voyager’s Public Transport program has the ability to assess crowding for any service large or small.

Users are able to set individual vehicle capacities by number of seats and total crush capacity and assign these to each service in the model to accurately reflect day-to-day public transport capacities. During Cube’s crowd-modeling process, the Public Transport program can then balance demand against capacity.

At each iteration, the program completes the route-evaluation and loading processes, which are repeated for all user classes, and then adjusts the costs in the model to reflect the assigned loads. The iterative process may use either, or both, of the crowd modeling procedures:

  • Link travel time adjustment
  • Wait time adjustment

In addition to the standard features of crowding in Cube, new functionalities have recently been developed to allow for additional control and flexibility to the user over the iterative process.

Iteration-by-Iteration Outputs

  • An option to output stop-to-stop tabular results at each iteration has been added.
  • Possibility to list evaluated I-J routes by iteration is also included now, to allow users to investigate route choices evolution iteration-by-iteration.
  • Additionally, it is now possible to output skim matrices for every iteration.

All these outputs can be post-processed by the user, by means of the Cube Voyager Matrix powerful tool, to obtain several statistics.

Iteration-by-Iteration Statistics

The automatic “network based” statistics already available from the program were:

  • Change in root mean square error (RMS_change) in Link Perceived Travel Time for crowded links
  • Number of crowded links
  • Change in root mean square error (RMS_change) in Link Perceived Travel Time for all links
  • Total number of links

Additional “matrix based” statistics have been included for better understanding the evolution of the overall PT system iteration-by-iteration:

  • RDIFF: Outputs the Relative Differences between consecutive iterations
  • RMSE: Calculates the Root Mean Square Error between consecutive crowding iterations

Stopping Criteria

Two stopping criteria are now available based on the new “matrix based” statistics:

  • RMSESTOP and RMSECUTOFF: Stop the crowding run if the RMSE values from the last three sequential iterations are less than the user specified threshold
  • RDIFFSTOP and RDIFFCUTOFF: Stop the crowding run if the RDIFF values from the last three sequential iterations are less than the user specified threshold

Crowding Curves with Utilization > 100%

Utilization is a measure of on-board crowding, that can be considered as the ratio between standing passengers and the maximum capacity for standing passengers in the vehicle.

The PT program was limited to use crowding curves with utilization capped at 100%, and applying a constant value above this limit. A new keyword has been introduced to allow users to define crowding curves adopting utilization values above the 100% cap.

“Smoothing” of the Iterative Process

It is now possible to use three additional keywords to “smooth” the crowding iterative process by damping loaded volumes (VOLDF) and/or crowding factors (LINKDF) and/or wait-time factors (WAITDF), with damping factors defined by the user.



Case Study: Simple 2-Lines Test Case

A simple test case is provided below, to show the possibilities available with the new keywords.


Two lines are available to passengers going from their Origin to their Destination:

A demand of 200 passengers is assigned over a 60 minutes period, with therefore high overcrowding.

Testing different values of the damping factors, a stable average solution can be obtained, as shown in the below figure, where the two alternative routes have around the same perceived travel time.