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

Matrix#

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

project_dir = Path("/tmp/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]
/builds/polaris/code/polarislib/polaris/analyze/result_kpis.py:627: RuntimeWarning: Mean of empty slice
  "avg": np.nanmean(mat[isfinite_mask]),

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

Gallery generated by Sphinx-Gallery