Транспортные модели: как математики и программисты могут помочь избавиться от пробок и проложить оптимальные маршруты
О том, как создаются такие модели и как они работают, рассказал профессор кафедры 806 «Вычислительная математика и программирование» МАИ Владимир Судаков.
Математические методы и компьютерные модели постоянно расширяют сферу своего полезного применения. Так, за последнее десятилетие они стали активно применяться для изучения и прогнозирования транспортных потоков. О том, как создаются такие модели и как они работают, рассказал доктор технических наук, профессор кафедры 806 «Вычислительная математика и программирование» МАИ Владимир Судаков.
Здравствуйте, Владимир. Расскажите, что такое единые транспортные модели и как они помогают нам улучшать транспортное сообщение.
Единые транспортные модели — это достаточно новое направление в науке, которое бурно развивается в последние 10 лет и в автомобильном транспорте, и в авиационном. С точки зрения цели они помогают определить, как нам развивать транспортную инфраструктуру — это, как мне кажется, самая главная задача. Например, принять решение, открывать ли новый маршрут между аэропортами.
Представьте себе, что у нас есть два аэропорта, «А» и «Б». Сейчас у нас нет между ними прямого сообщения, но что будет, если мы его откроем? Какова будет потребность в этом маршруте, сколько ежемесячно будет по нему летать человек? Причём нужно ещё учесть сезонность, что очень важно для авиации. Исходя из этого, мы либо открываем, либо не открываем маршрут. Или, например, схожий вопрос — нужно ли модифицировать существующий аэропорт, строить новые взлётно-посадочные полосы, чтобы увеличить пропускную способность? С помощью единой транспортной модели мы можем посчитать, что будет, если мы это сделаем.
Обычная статистика нам даёт прогноз, что у нас будет в текущих условиях. А чем отличается хорошая модель от простого прогноза на базе статистики? Тем, что хорошая модель позволяет изменить какие-то параметры и посмотреть, что будет, если изменится ситуация, в которой мы находимся. Моделирование нужно не только для открытия новых взлётно-посадочных полос, маршрутов, но и — что сейчас немаловажно — для понимания, какие типы транспортных средств нам нужны и в каком количестве. Хотя у нас есть определённые планы по постройке МС-21, «Суперджетов», Ту-204, непонятно, сколько в долгосрочной перспективе нам потребуется тех или иных типов воздушных судов, какие лучше строить для удовлетворения тех потребностей, которые у нас есть, и как будет развиваться ситуация, исходя из тех альтернатив, которые мы выберем. Моделирование поможет понять, какие старые типы воздушных судов выводить из эксплуатации, а какие, например, имеет смысл модернизировать. Другими словами, математическое моделирование позволяет нам ответить на вопрос: «Что будет, если...».
Вы привели примеры из области авиации, а какое применение математическое моделирование имеет для регулирования транспортного потока автомобилей?
Автомобильный транспорт имеет свою специфику. Государство меньше управляет тем, какие типы транспортных средств надо выпускать, и больше ориентировано на развитие транспортной инфраструктуры. Моделирование помогает ответить на вопросы: какие дороги строить, какие расширять, как нам помогут развязки, какие устанавливать режимы светофоров. Кстати, есть интересные клеточные модели, которые успешно решают задачи, связанные со светофорами, но они очень ресурсоёмкие. Их расчёты на суперкомпьютерах могут занимать неделю.
Расчёты по транспортным моделям всегда занимают так много времени?
Не всегда, но часто. Например, Национальный исследовательский центр «Институт имени Жуковского», ведущая организация в области авиационной науки, поставил перед нами задачу определить, какие типы летательных аппаратов для транспортной авиации нам нужны, чтобы обеспечить определённые потребности в авиаперевозках. И чтобы решить эту задачу, достаточно мощный суперкомпьютер работал целую неделю.
Но иногда время вычислительного эксперимента удаётся сократить. Одна крупная госкомпания, которая занимается транспортировкой нефти в северных морях, дала задачу спланировать походы танкеров и сопровождающих их ледоколов. Эту задачу они и раньше успешно решали с использованием своих программных средств, что занимало более суток. Но для компании это оказалось слишком долго, потому что ей нужно было каждый день пересчитывать план, исходя из изменения погодных условий, ледовой обстановки и т.д. Мы с нуля переписали эту модель на Python, в результате время расчётов сократилось до нескольких часов.
Почему расчёты даже на суперкомпьютерах занимают так много времени? Это связано с большим количеством факторов, которые нужно учесть?
Количество переменных обычно больше миллиона, но не в этом проблема, а в том, что часть этих переменных — дискретные. Непрерывная переменная — это значит, что число может быть дробным, а дискретная переменная — только целым, как в известном примере: не может быть полтора землекопа. Иногда полтора можно округлить до двух. Но иногда это приводит к тому, что мы выпадаем из некой системы ограничений, например — по бюджету, ещё каким-то ресурсам. Например, танкер с нефтью либо идёт, либо не идёт. Его округлить нельзя: надо всё-таки понять, один танкер отправлять или два, потому что каждый танкер — это большие деньги. И когда таких дискретных переменных много, продолжительность поиска решения может быть слишком долгой, так как задача в терминах теории алгоритмов NP-трудная. Такую задачу в общем-то можно решить на суперкомпьютере, но иногда для точного решения могут потребоваться миллиарды лет. Но мы их всё равно решаем, только с какой-то степенью точности, — не за миллиарды лет, а за часы или недели. Просто, возможно, мы находим не самое оптимальное решение.
Какие существуют транспортные модели в России и мире?
Есть средства моделирования, а есть модели. Если говорить о самих моделях, то у нас есть транспортные модели многих крупных городских агломераций. В открытых источниках можно найти модели, описывающие транспортную ситуацию в крупных городах за рубежом, таких как Нью-Йорк. А поскольку получить российские данные тяжело, разработчикам отечественных транспортных моделей часто приходиться верифицировать средства моделирования на западных городах.
Если мы говорим о средствах моделирования, то массовые решения, которые есть — это прежде всего немецкое PTV Visum, испанская Aimsun (теперь принадлежит Siemens Mobility Intelligent Traffic Systems). Есть решение отечественной разработки AnyLogic.
В моделировании транспортных потоков автомобилей обычно выделяют макромодели и микромодели. Микромодели — когда мы берём конкретных агентов, конкретные транспортные средства. Макромодели — когда мы рассматриваем систему как непрерывный поток, который перемещается между различными регионами. В макромоделях у нас есть хорошие результаты.
У МАИ есть наработки в области газогидродинамики и всего, что связано с обработкой движущихся потоков, например квазигидродинамические уравнения, которые описывают движение газа в трубах. Они вполне применимы для построения макромоделей движения на дорогах и могут объяснить многие явления. Например, такой парадокс: мы строим новые дороги, а потом оказывается, что транспортная ситуация стала хуже. За счёт чего? За счёт того, что каждый человек выбирает кратчайший путь — либо по расстоянию, либо по времени — в результате на наиболее оптимальных с точки зрения водителей дорогах образуются заторы.
Различаются ли транспортные модели, которые применяются в авиации и в автомобильном транспорте, и чем?
При моделировании в области авиации можно использовать средства общего назначения, например, AnyLogic. В авиации потоки работают немного не так, как в автомобильном транспорте. Здесь неплохо проявили себя модели на базе нечёткой логики. Это связано с высокой степенью неопределённости в авиации: ковид, санкционные моменты, и у нас нет достаточной статистики, чтобы мы могли учесть все риски. В автотранспортных моделях более распространены так называемые гравитационные модели: как светила притягивают планеты, примерно также люди притягиваются к неким районам. Сейчас в авиации мы активно пытаемся задействовать модели машинного обучения, чтобы оценить информационный фон по социальным сетям, например по постам пользователей можно определить, куда они едут. Основная сложность транспортного моделирования — это не столько о том, как изменить транспортные потоки, сколько о том, чтобы понять, куда они идут.
Проблема осложняется тем, что люди часто едут транзитом. Определить, куда человек из Москвы поехал дальше, — очень сложная задача. С другой стороны, одна из целей стратегического развития РФ — повышение связности: убрать московский хаб, построить региональную сеть, но не всегда понятно, какая нагрузка будет на той или иной дуге этого транспортного графа из-за транзитного потока. И здесь как раз нашли эффективное применение модели нечёткой логики.
В целом, если говорить про глобальные задачи государственного масштаба, то одной из ключевых является создание оптимальной транспортной сети — авиационных, автомобильных, морских, а ещё лучше —мультимодальных перевозок. Тот же «Яндекс Навигатор» теперь стал совмещать использование такси с общественным транспортом. Когда его доработают до того, чтобы совмещать личный и общественный транспорт, — это будет переход на следующий уровень. Есть сведения о том, что компания VK пытается создать новый маршрутизатор карт, который строит маршрут, исходя не только из скорости перемещения, но и из комфорта поездки. Например, можно ехать дольше, но по дороге, где меньше нерегулируемых пешеходных переходов, потому что каждый нерегулируемый переход — это лишний стресс для водителя.
Можете привести пример, как транспортная модель помогает решить конкретную проблему?
В рамках работ с Институтом Генплана Москвы мы при помощи транспортной модели улучшили пропускную способность на некоторых развязках Дмитровского шоссе на 10-15%. Для одной компании мы решали проблему оптимизации экипажей инкассаторов. У неё было 12 экипажей, которые должны были объезжать десять тысяч терминалов по Москве и Московской области. Каждый экипаж обходился примерно в 200 тысяч рублей в месяц. Мы проанализировали их маршруты с помощью транспортной модели и увидели, что вместо 12 вполне хватит 10. Для небольшой компании это существенная экономия. Эта задача была интересна и тем, что надо было учесть не только сами маршруты, но и вероятность простоя банкоматов на время ремонта. Ещё одна аналогичная интересная задача — оптимизация развоза бензина от нефтебазы по сети АЗС. Здесь тоже было необходимо минимизировать количество бензовозов. Это примеры конкретных задач, когда нам необходимо было строить транспортные модели и смотреть, как они работают.
Материал подготовлен при поддержке Минобрнауки России.