Open DavidOry opened 7 months ago
RE: remove the excessive nodes. Would it make sense to do so for transit network as well? So that the model networks in EMME for roadway and transit are consistent and do not have excessive nodes. I'm guessing it would also help transit assignment run time? @DavidOry
Update: One challenge to do so for transit is that there are probably transit stops at those "excessive" nodes.
More on removing the excessive nodes. Are we imaging users to perform network coding in EMME with the simplified network? I think we shall still create and apply project cards based on the complete network. That means when we create project cards, we need to translate the edits on simplified network to complete network, i.e., in EMME .ems user edit: link A-C, project card should be created for link A-B and link B-C.
I think the approaches differ in when we create and how long we keep the simplified network.
Option | Pros | Cons |
---|---|---|
Option 1: Temporarily created and exist in roadway assignment | Changes tm2py roadway modules, no need to change Lasso or the EMME network generation part. The EMME network is consistent with the standard network. | The EMME networks still have excessive nodes. Bi-County (Cube) cannot benefit from this work. |
Option 2: Model (EMME) networks are created in simplified version | Changes in Lasso. No need to change tm2py assignment modules. The EMME networks do not have excessive nodes. Bi-County can benefit from this work (because they use Lasso). | More overhead to maintain the consistency between EMME network and standard network. More overhead to generate project cards. (see my previous two comments ⬆️ ) |
My mistake on the previous comment. I thought you were commenting on the other issue. We are going to hold off on this until we get the new version of EMME to see if this is necessary with the improved assignment algorithms.
I think for the points you mention, it would be good to do this in a way that the user doesn't notice, so Option 1. I think we could write the code such that:
This way, for bi-county and other Cube networks, we would just need to add Method 1. to cube_wrangler
and we could then use the same Method 2.
User Story
The existing TM2 roadway network is highly detailed, including every street, bicycle path, and sidewalk. When the roadway network is extracted from this network, it contains numerous nodes that are unnecessary for roadway assignment. Ideally, the Emme software would suppress these nodes, conducted the assignment, and then return the loaded, full network. But Emme does not yet have this feature. Emme does have a feature to remove the excess nodes, but not in a way that is reversible (i.e., it does not record which links have been simplified). Because it's not reversible, this breaks the connection between the roadway network and the other networks (non-motorized and transit).
These excess nodes in the roadway network have two negative outcomes. First, the runtime of the assignment is increased. Second, the Akcelik volume delay functions are sensitive to link distance and for very short links, the estimated congested travel time becomes unreasonably long. See the this spreadsheet as an illustration of this effect. akcelik example.xlsx
Progress:
Priority
Medium
Level of Effort
Medium
Resolution Ideas
Create two methods in either
tm2py
orLasso
to first simplify and then expand the roadway network. The simplification would remove the excess nodes and create a dictionary tracking which links have been removed (and log their shapes). The expansion step would then recreate the complete network, placing the assignment outcomes on links that are added back in during the expansion.Project
Task Order 5
Who should be involved?
Users: @gregerhardt, @FlaviaTsang, @lmz Reviewers: @i-am-sijia, @DavidOry
Risk
We need to test that the simplified network is completely connected and routable. We need to make sure the expansion results in the same network as the starting network and the volumes are recorded directly.
Tests