Static Traffic Assignment

Static Traffic Assignment#

We can also run the Polaris Activity-Based model with static assignment, including for model calibration exercises.

Even when the intention is to use Polaris powerful dynamic traffic assignment, this mode may be useful in speeding up the calibration process or obtaining a more realistic starting for the equilibration of skim matrices.

For this integration we have used [AequilibraE](https://www.aequilibrae.com/), which is an open source modelling package with incredibly fast static assignment capabilities, but similar integrations are possible with other packages.

Exporting matrices#

sphinx_gallery_thumbnail_path = ‘../../examples/modelling_like_the_old_days/pol_aeq.png’

from pathlib import Path

from polaris.runs.static_assignment.static_assignment_inputs import STAInputs
from polaris.runs.static_assignment.static_run import static_run
from polaris.utils.testing.temp_model import TempModel

Matrix#

We get the demand matrices for the AM peak for one iteration

project_dir = TempModel("Grid")

sta_param = STAInputs()
sta_param.max_iterations = 5
sta_param.rgap = 0.1

static_run(project_dir, sta_param=sta_param, save_assignment_results=True)
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
/builds/polaris/code/polarislib/polaris/analyze/result_kpis.py:627: RuntimeWarning: Mean of empty slice
  "avg": np.nanmean(mat[isfinite_mask]),
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]
combined                                          :   0%|          | 0/9 [00:00<?, ?it/s]
Equilibrium Assignment                            :   0%|          | 0/5 [00:00<?, ?it/s]

Total running time of the script: (0 minutes 38.682 seconds)

Gallery generated by Sphinx-Gallery