Алгоритмы поиска пути (маршрутизация, планирование поездки,…) на графиках с ограничениями по времени

У меня есть база данных автобусных / железнодорожных / ... остановок и времени прибытия / отправления на каждое свидание и так далее. Я ищу способ найти самый быстрый (самый короткий / самый дешевый / наименьший переходы) поездку между двумя местами. Я хотел бы иметь произвольные местоположения в будущем, используя данные OpenStreetMap для ходьбы между остановками и от остановок до начала / конца, однако пока я просто хочу найти путь между двумя остановками в базе данных.

Проблема в том, что я не могу найти много информации по этой теме, например эта страница Википедии содержит много текста, в котором нет абсолютно никакой полезной информации.

Я обнаружил формат GTFS , используемый в Google Transit . Хотя мой город не предоставляет общедоступный канал данных (даже частный), у меня уже есть вся важная информация, содержащаяся в GTFS, и преобразование было бы тривиальным.

Существует программное обеспечение на основе GTFS, например OpenTripPlanner , которое также может прокладывать маршруты для пешеходов / автомобилей / велосипедов с использованием OpenStreetMap .

Однако код маршрутизации плохо документирован (по крайней мере, из того, что я нашел), и мне не нужно все это целиком.

Все, что я ищу, - это хороший обзор алгоритмов, которые я мог бы использовать, их производительности, возможно, какой-нибудь псевдокод.

Итак, вопрос: , учитывая список остановок, маршрутов и время прибытия / отправления / поездки, как мне легко найти самый быстрый путь от остановки A до остановки B?

26
задан Marvin Pinto 8 February 2012 в 01:59
поделиться