The TM2.2.1.1. highway assignment uses relative_gap=0.0005 and max_iter=100 as convergence criteria for all global iterations. In the final assignment, it reaches convergence for EA and EV with 19 and 35 iterations respectively, but did not converge for AM, MD, and PM with 100 iterations. The run time was 60 hours with 16 processors for assignment in EMME.
In task order 5, to fairly capture the impact of run time reduction from model simplifications (such as reducing network fidelity), the first step is to get a converge assignment. We have tested increasing the relative_gap to 0.01 and 0.05.
Relative Gap
Iterations [EA,AM,MD,PM,NT]
Run Time
0.0005(original)
19, 100, 100, 100, 35
60 hours
0.01
4, 38, 37, 79, 5
16 hours
0.05
3, 10, 9, 19, 4
5 hours
We then compared the assigned volume on network and the TAZ-level congested skims, to evaluate the impact of relaxing relative gap on the model result.
AM drive alone time skim comparison: Run 1 (relative gap 0.0005) vs Run 3 (relative gap 0.05)
The results are very similar across the three runs. This suggests it's reasonable to relax relative gap for run time savings. Consider two types of future scenarios:
Scenario 1 - Traffic volume matters
Use a large relative gap (e.g., 0.05) in the early global iterations
Use a small relative gap (e.g., 0.0005) in the final global iteration
Scenario 2 - Run time matters
Use a large relative gap (e.g., 0.05) in all global iterations
This calls for allowing users to set relative gap values by iteration, instead of just having one relative gap values for all iterations. We will make code changes in tm2py and config changes in travel-model-two-config.
Progress:
[x] Sufficiently defined
[x] Approach determined
[ ] Tests developed
[ ] User story satisfied
[ ] Doc strings
[ ] General documentation
[ ] Passing tests
Priority
High
Level of Effort
Low
Resolution Ideas
This calls for allowing users to set relative gap values by iteration, instead of just having one relative gap values for all iterations. We will make code changes in tm2py and config changes in travel-model-two-config.
User Story
The TM2.2.1.1. highway assignment uses
relative_gap=0.0005
andmax_iter=100
as convergence criteria for all global iterations. In the final assignment, it reaches convergence for EA and EV with 19 and 35 iterations respectively, but did not converge for AM, MD, and PM with 100 iterations. The run time was 60 hours with 16 processors for assignment in EMME.In task order 5, to fairly capture the impact of run time reduction from model simplifications (such as reducing network fidelity), the first step is to get a converge assignment. We have tested increasing the relative_gap to 0.01 and 0.05.
We then compared the assigned volume on network and the TAZ-level congested skims, to evaluate the impact of relaxing relative gap on the model result.
The results are very similar across the three runs. This suggests it's reasonable to relax relative gap for run time savings. Consider two types of future scenarios:
This calls for allowing users to set relative gap values by iteration, instead of just having one relative gap values for all iterations. We will make code changes in tm2py and config changes in travel-model-two-config.
Progress:
Priority
High
Level of Effort
Low
Resolution Ideas
This calls for allowing users to set relative gap values by iteration, instead of just having one relative gap values for all iterations. We will make code changes in tm2py and config changes in travel-model-two-config.
Project
Task Order 5
Who should be involved?
Users: @gregerhardt, @FlaviaTsang, @lmz Reviewers: @i-am-sijia, @DavidOry
Risk
Tests