Пересчитать алгоритм A *, используя тот же график, но с разными весами. Взвешивание каждой дуги для самого быстрого пути должно быть временем, которое требуется для прохождения этой дуги, то есть длиной дуги, деленной на ожидаемую скорость движения по ней.
Вы можете создать новый набор весов, используя только расстояние, а не ожидаемую скорость (удобнее назначать одинаковую скорость для каждой дуги). Это даст кратчайший путь, а не самый быстрый.
Затем вы можете создать компромисс между самым коротким и самым быстрым. Теперь у вас есть три (возможно) разных маршрута.
Другие опции:
(i) добавить вес к каждой дуге, чтобы учесть соединения в начале и в конце; возиться с этим весом, что позволяет создавать маршруты, которые сводят к минимуму повороты. Вы также можете добавить дополнительные веса для очень крутых поворотов или поворотов по транспортному потоку (правые повороты в Великобритании, Австралии, Индии и т. Д .; левые повороты в США, Франции и т. Д.).
(ii) Создайте маршрут, обходящий автомагистрали / автострады, установив для них стоимость очень высокого значения.
(iii) Использование времени суток или фактической оперативной информации для оценки потока трафика и изменения весовых коэффициентов на его основе.