BayAreaMetro / tm2py

Travel Model Two - python edition
https://bayareametro.github.io/tm2py/
Apache License 2.0
2 stars 8 forks source link

🚀 Feature: Reduce Fidelity of the Roadway Network #147

Open DavidOry opened 1 month ago

DavidOry commented 1 month ago

User Story

The TM2 roadway network is very detailed. This results in very long runtimes. To reduce the runtime, we will remove the "local" roads (facility type 7) from the TAZ-scale roadway assignment. These roads will be retained in the MAZ-scale roadway assignment.

Progress:

Priority

High

Level of Effort

About 80 hours

Resolution Ideas

  1. In Lasso, remove the facility type 7 roads from the TAZ roadway network. When doing this, check for toll plazas that are coded with this facility type. Retain toll plazas. Also need to check if buses run on FT 7 roads. We need to retain links that buses traverse.
  2. In Lasso, create a separate MAZ-scale roadway network. Retain all roads in the MAZ assignment.
  3. In Lasso, rebuild the centroid connectors so that they connect to higher facility types
  4. Do a roadway assignment. Measure the difference in runtime.
  5. Create the Acceptance Criteria summaries. Compare the difference in validation performance (using the same demand).

Project

ActivitySim/Emme Conversion, Task Order 5

Who should be involved?

Users: @lmz Reviewers: @gregerhardt, @AshishKuls

Risk

Yes, there may be some zones that have very long centroid connectors, resulting in unattractive assignment outcomes.

Tests

i-am-sijia commented 1 month ago

Related issue: #115

DavidOry commented 1 month ago

A few notes:

  1. Compare volumes before and after to see for outliers.
  2. Examine high volume links before trimming to see if FT is wrong.
  3. Reduce closing criteria so we can do an apples-to-apples assessment of reduced iterations.
gregerhardt commented 1 month ago

Fully support this task. Let's trim, and let's make some difference maps of assigned volumes in both just to make sure there is nothing weird that gets dropped and re-routed.

DavidOry commented 4 days ago

Results:

Run Description Assignment Iterations[EA,AM,MD,PM,NT] TAZ Assign and Skim Run Time (hours)
3 assignable, relative_gap=0.05 3,10,9,19,4 5
8 drop FT7, relative_gap=0.05 3,21,19,51,4 7
11 keep FT7, relative_gap=0.05 3,15,14,32,4 11.5

The key takeaways are as follows:

In sum, this avenue of exploration did not bear fruit. Additional, manual network coding would be required to find a simpler network that does not result in substantial congestion on lower facility roadways.

@lachlan-git: can you please add a table with the number of links for each of these runs?

DavidOry commented 4 days ago

Here's an image of the Sunset in SF with the FT 7 links in orange, which shows how sparse the network becomes when the links are removed.

Screenshot 2024-07-03 at 9 47 32 AM
lachlan-git commented 4 days ago

Hi, here are the link counts for runs 3, 8 and 11 broken down by ft.

@ft         3       8      11
1.0      3666    3666    3666
2.0      3485    3485    3485
3.0      6446    6447    6447
4.0     39050   39050   39050
5.0     58376   58254   58312
6.0     77878   95219   95457
7.0   171718   19828 405903
8.0     32982   34166   39862
99.0    29198   11729   12155
Total 422799 271844 664337

Edit: Note: run 3 ft8 only TAZ connectors are included individual counts are (MAZ 175936, TAP 36438, TAZ 32982,TANA 2998) In run 8-11 may differ more then expected due to dropping of isolated links when creating network.