Open DavidOry opened 1 month ago
Note that reliability does not appear to be a big priority to MTC in that we don't have it in TM1, and the planners are not clamoring for it. So one question--would there be additional runtime savings from excluding reliability altogether? We have to skim anyway, so maybe it doesn't matter one way or another. But it would be valuable to understand that in the context of this task.
Note that reliability does not appear to be a big priority to MTC in that we don't have it in TM1, and the planners are not clamoring for it. So one question--would there be additional runtime savings from excluding reliability altogether? We have to skim anyway, so maybe it doesn't matter one way or another. But it would be valuable to understand that in the context of this task.
Understood. My current hypothesis is that modifying the skimming to not do the assignment and leaving it in would be the lowest cost path. But once we get a sense of the runtime of the alternate skimming approach, we can make a more informed assessment vis a vis just removing it altogether.
Currently within each global iteration, every time-period's assignment is done twice. The first assignment is just the assignment-only, to the get congested volume for calculating reliability of each link and store it as a link attribute to be skimmed in the second assignment. The second assignment is both assignment and skimming, skimming is done via EMME path analysis feature in the SOLA assignment. According to @inrokevin, for each path analysis (aka each skim), it's running a SOLA to get the equilibrated path. That's why the second assignment is taking long time to run. For example, in one of my test assignment with a relaxed convergence metric, AM's first assignment (assign only) took 8 minutes, while its second assignment (assign and skim) took 1 hour. One consideration might be to reduce skims to reduce the run time.
@inrokevin also suggested the following options on reliability:
User Story
The initial version of
tm2py
faithfully translated the Cube version of the highway procedures into EMME. In Cube, the reliability calculations required skimming the roadway network, doing some roadway calculations, doing an assignment, and then skimming the final best paths. In the assignment algorithm we are using in EMME, creating skims requires doing a roadway assignment. Therefore, the current procedures do two roadway assignments for every iteration, which is costly in terms of runtime. Per @inrokevin, there are procedures in EMME to do a skim without doing an assignment. We will implement these to reduce runtime.Progress:
Priority
High
Level of Effort
~ 40 hours of work
Resolution Ideas
For @i-am-sijia to sync with @inrokevin to understand how to create these skims in EMME. @inrokevin: can this be done in the current version of EMME?
Project
ActivitySim/Emme Conversion, Task Order 5
Who should be involved?
Users: @lmz Reviewers: @gregerhardt, @inrokevin
Risk
Yes, the reliability calculations may fail.
Tests