baumfalk / TrafficMAS

TrafficMAS, the code
MIT License
0 stars 0 forks source link

Action.GetTime only uses average time for roads, not lanes #14

Closed baumfalk closed 9 years ago

baumfalk commented 9 years ago

Currently, Action.GetTime calculates the remaining time left using the average time for roads on the route. This doesn't always work properly. For example, when one lane is completely filled with slow cars, but the next lane is empty, the average time for the free lane is very low, but the average time for the road is very high. This causes agents to sometimes make strange decisions.

baumfalk commented 9 years ago

The best approach might be to look, for each road, at the lane with the highest speed, and take that as the speed that is used to calculate the time on that road. I feel like this is a reasonable assumption, since i) either it is possible to easily change lanes to the lane with the fastest speed or ii) it is so crowded that it is not possible, but then usually the speed difference doesn't matter that much anyway.