Closed behrisch closed 4 years ago
@namdre changed milestone from "" to "1.0.0"
@namdre changed summary from "DUAROUTER ignores junction size/traveltime" to "Routers ignores junction size/traveltime"
@namdre changed summary from "Routers ignores junction size/traveltime" to "Routers ignore junction size/traveltime"
@namdre changed description from:
currently DUAROUTER only considers edges when computing shortest/fastest routes. In areas with several adjacent junctions paths that maximize the number of traversed junctions may be preferred because the perceived traveltime is lower. This potentially degrades traffic flow.
to:
currently DUAROUTER only considers edges when computing shortest/fastest routes. In areas with several adjacent junctions paths that maximize the number of traversed junctions may be preferred because the perceived traveltime is lower.
This sometimes leads to bad routes.
It is also a problem with for computing the A* (astar) straight-line traveltime heuristic since the sum of edge lengths may be lower than the straight-line distance between start and end junctions.
The solution would be to include internal edges in the network graph. This would also help with #2202 (also see #2566)
@namdre changed keywords from "" to "sumo-user"
@namdre changed description from:
currently DUAROUTER only considers edges when computing shortest/fastest routes. In areas with several adjacent junctions paths that maximize the number of traversed junctions may be preferred because the perceived traveltime is lower.
This sometimes leads to bad routes.
It is also a problem with for computing the A* (astar) straight-line traveltime heuristic since the sum of edge lengths may be lower than the straight-line distance between start and end junctions.
The solution would be to include internal edges in the network graph. This would also help with #2202 (also see #2566)
to:
currently DUAROUTER only considers normal edges when computing shortest/fastest routes. In areas with several adjacent junctions paths that maximize the number of traversed junctions may be preferred because the perceived traveltime is lower.
This sometimes leads to bad routes.
It is also a problem with for computing the A* (astar) straight-line traveltime heuristic since the sum of edge lengths may be lower than the straight-line distance between start and end junctions.
The solution would be to include internal edges in the network graph. This would also help with #2202 (also see #2566)
@namdre changed description from:
currently DUAROUTER only considers normal edges when computing shortest/fastest routes. In areas with several adjacent junctions paths that maximize the number of traversed junctions may be preferred because the perceived traveltime is lower.
This sometimes leads to bad routes.
It is also a problem with for computing the A* (astar) straight-line traveltime heuristic since the sum of edge lengths may be lower than the straight-line distance between start and end junctions.
The solution would be to include internal edges in the network graph. This would also help with #2202 (also see #2566)
to:
currently DUAROUTER only considers normal edges when computing shortest/fastest routes. In areas with several adjacent junctions, paths that maximize the number of traversed junctions may be preferred because the perceived traveltime is lower.
This sometimes leads to bad routes.
It is also a problem with for computing the A* (astar) straight-line traveltime heuristic since the sum of edge lengths may be lower than the straight-line distance between start and end junctions.
The solution would be to include internal edges in the network graph. This would also help with #2202 (also see #2566)
still missing:
The same issue also applies to routing in SUMO. Should I open up another ticket or would you just add another label to this one? The issue is potentially more complicated because multiple classes use the function MSEdge::getSuccessors() with the assumption that normal edges are returned. (FileHelper, MELoop, ...)
the current implementation is slower by ~ factor 3
total time for 10k random trips:
acosta --no-internal dijkstra: 71 edges, ~50ms acosta dijkstra: 173 edges, ~150ms acosta --no-internal astar: 63 edges, ~50ms acosta astar: 153 edges, ~130ms
bs --no-internal dijkstra: 12k edges, ~31s bs dijkstra: 33k edges, ~118s bs --no-internal astar: 9k edges, ~26s bs astar: 23k edges, ~84s
Suggested refactoring to improve speed:
This keeps the size of the routing graph small while still taking internal edges into account.
@behrisch what is still missing to close this ticket?
I would consider this one fixed although there are still discrepancies which might be a result f miscalculated internal lanes as in the latest change of landmark distances #6548
currently DUAROUTER only considers normal edges when computing shortest/fastest routes. In areas with several adjacent junctions, paths that maximize the number of traversed junctions may be preferred because the perceived traveltime is lower.
This sometimes leads to bad routes.
It is also a problem with for computing the A* (astar) straight-line traveltime heuristic since the sum of edge lengths may be lower than the straight-line distance between start and end junctions.
The solution would be to include internal edges in the network graph. This would also help with #2202 (also see #2566)
Migrated from http://sumo.dlr.de/ticket/752