Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix generation of inefficient MLD partitions
Duplicate restriction nodes in the edge-based-graph are currently not in included in a mapping (.osrm.cnbg_to_ebg) from node-based-graph edges to edge-based-graph nodes. This mapping is used by the MLD partitioner to assign EBG nodes to partitions. The omission from the mapping means all restriction nodes are included in a special 'invalid' partition. This special partition will break the geolocation properties of the multi-level hierarchy. The partition and its super levels will have a large number of border nodes and very few internal paths between them. Given the partitioner is the only consumer of the mapping, we fix the issue by including the duplicate restriction nodes in the mapping, so that they are correctly assigned to a partition. This has measurable improvement on MLD routing. For a country-sized routing network, the fix reduces routing and table request computation time by ~2% and ~6% respectively.
- Loading branch information