Наука

Программисты разрабатывают сервис для построения оптимальных железнодорожных маршрутов

В ТюмГУ разрабатывают сервис для построения оптимальных железнодорожных маршрутов путешественников. Предложенный инструментарий поможет в поиске маршрута между любыми двумя железнодорожными станциями на территории России по заданным критериям.

Оптимальность будет определяться общей длиной пути, суммарной стоимостью, временем, затраченным на преодоление маршрута (включая время между пересадками), количеством пересадок и так далее.

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

Большинство поисковых сервисов предлагают не поиск удобного маршрута, а выбор из уже заготовленных списков маршрутов. В случае отсутствия прямого сообщения (возможности проезда на одном виде транспорта без пересадок) это часто приводит к появлению сообщения о том, что маршрут не существует», — говорит автор проекта Роман Алексеев.

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

«Еще сложнее выглядит задача построения маршрута, предусматривающая использование различных видов транспорта. Например, при формировании маршрута из города Курган в город Ноябрьск разумным выглядит привлечение автобусного сообщения на участке Курган — Тюмень вместо того, чтобы искать железнодорожный маршрут с пересадками, заведомо неоптимальный по общей длине пути», — поясняет Роман.

При разработке удобного инструментария поиска оптимального маршрута по заданным критериям оптимальности (с учетом возможности использования как поездов дальнего следования, так и электропоездов) для сбора данных выбрана программная платформа Node.js. Успешное выполнение 1089 запросов обеспечило наполнение словаря в количестве 16 194 станций и остановок.

Были определены географические координаты (широта и долгота) станций, выгруженных с сайта РЖД. В итоге после операций сбора данных разработчики Института математики и компьютерных наук Тюменского государственного университета получили 11 312 записей о железнодорожных станциях, содержащих три поля: название станции, широта и долгота. Кроме того, была создана адаптивная таблица, содержащая карту России с учетом плотности расположения железнодорожных станций.

На данный момент выполнен сбор и агрегирование данных обо всех железнодорожных станциях России и СНГ, а также выбран алгоритм, позволяющий с относительно небольшими затратами ресурсов осуществлять поиск маршрутов, оптимальных по одному из заданных критериев. Кроме того, тюменские программисты разработали и заполнили адаптивную таблицу, содержащую информацию для построения оптимальных маршрутов.

«Для завершения проекта необходимо доработать алгоритм построения оптимального маршрута, собрать и агрегировать информацию о стоимости билетов и расписании движения поездов. Кроме того, предстоит разработать удобный пользовательский интерфейс, разместить поисковый сервис на сервере в интернете, проверить устойчивость к нагрузкам и провести стресс-тесты», — сообщил Роман Алексеев.