For fun I've used my GPS navigator for parts of the city I know well. I've not found its selected routes to be very optimal, though a couple times it suggested a better route I'd never thought of.
I suspect what it needs are 'hints' from human users familiar with the areas.
We could use data from other drivers' recent trips to suss out good routes. If I designed a GPS navigator I would add two buttons: Like and Dislike. Users would just tap one to indicate if a route seemed especially good or bad. I mostly want this for my cycling GPS but it could be useful for cars too.
It's already a GPS... why not just time the routes directly?
(Assuming you're concerned with time, which I assume is at least often the case. For convenience and other 'softer' amenities, hints make much more sense.)