Определение кратчайшего пути между двумя точками.
Данный метод позволяет определить кратчайший путь между 2-мя точками в городе.
Этот метод может быть применен для определения сегментов улиц, через которые должен проходить маршрут транспортного средства для минимизации пройденного пути, времени или иного фактора.
Использование данного метода подразумевает существование пути из конечного пункта в начальный как такового.
Использование данного метода подразумевает, что значение критического фактора неотрицательно, хотя в принципе, с учетом сделанных оговорок он может быть применен при отрицательных значениях фактора. В этом случае расстояние не может быть оптимизируемым фактором: так как оно отрицательным быть не может.
При использовании данного метода множеству сегментов улиц города сопоставляется граф Х, вершинами которого являются точки пересечения/соединения сегментов улиц города. Ребра графа Х задаются по следующему правилу (матрица смежности):
Хij= 1, существует участок дороги, соединяющий перекрестки i и j
(длинной в 1 квартал), пригодный для проезда данного транспорта.
Хij= 0, не существует таких участков дорог.
Также задается матрица весов для ребер С=[cij]. Пример задания графа
автодорог населенного пункта - см. рис 1.
Далее для нахождения кратчайшего пути используется один из алгоритмов
нахождения кратчайшего пути из теории графов, например алгоритм Дейкестры.
При наличии отрицательных значенияй фактора можно использовать алгоритм
Форда: Мура и Беллмана.
Замечания.
1. Граф Х- ориентированный по способу построения. Таким образом , возможно нахождение кратчайшего пути на улицах с односторонним движением.
2. Возможные варианты задания весов дуг.
В случае минимизации длины пройденного пути веса матрицы С- расстояние между перекрестками.
В случае минимизации времени движение веса матрицы С- время езды из i в j.
Веса могут быть также заданы в соответствии с другими критериями.
Случаю, когда веса могут быть < 0 соответствует ситуация, когда
некоторые участки улиц могут быть выигрышными по выбранному фактору. В этом
случае при наличии циклов в графе стандартные алгоритмы теории графов
решения дать не смогут - оптимальный маршрут будет проходить бесконечное
число раз по выигрышным ребрам.
Нельзя гарантировать , что передвижение по полученному пути увеличит
пропускную способность автодорог , но гарантируется ,что путь будет
оптимальным -иметь минимальный вес. Таким образом , выбирая в качестве веса
длину ,мы получим кратчайший по длине маршрут. Если в качестве веса было
выбрано время ,то (при соответствии заданных данных действительности )
время езды будет минимальным. В результате этого самое заметное проявление
проблемы ограниченности пропускной способности автодорог- задержки в
“пробках” - будет минимизировано.
В случае, если требуется определить кратчайшие пути между всеми
перекрестками населенного пункта: следует применять специальные дополнения
к алгоритму Дейкестры, а также алгоритм Флойда.