Имам база данни за спирки на автобус/влак/... и часове на пристигане/заминаване за всяка дата и т.н. Търся начин да направя търсене на най-бързото (най-кратко/най-евтино/най-малко преходи) пътуване между две местоположения. Бих искал да имам произволни местоположения в бъдеще, като използвам данни от OpenStreetMap, за да правя ходене между спирките и от спирките до началото/края, но за момента просто искам да намеря път между две спирки в базата данни.
Проблемът е, че изглежда не мога да намеря много информация по тази тема, например тази страница в Wikipedia има много текст без абсолютно никаква полезна информация в него.
Това, което открих, е използваният формат GTFS в Google Transit. Въпреки че моят град не предоставя публичен канал за данни (дори частен), аз вече имам цялата важна информация, която съдържа GTFS, и извършването на трансформация би било тривиално.
Има софтуер, базиран на GTFS, като например OpenTripPlanner, който също може да прави маршрути за пешеходци/автомобили/велосипедисти с помощта на OpenStreetMap.
Въпреки това кодът за маршрутизиране не е добре документиран (поне от това, което намерих) и не ми трябва всичко.
Всичко, което търся, е някакъв добър преглед на алгоритмите, които мога да използвам, тяхната производителност, може би някакъв псевдокод.
И така, въпросът е, като имам списък със спирки, маршрути и времена на пристигане/заминаване/пътуване, как мога лесно да намеря най-бързия път от спирка A до спирка B?