Транспортное моделирование и прогнозирование: VISUM vs MATSim

Не нашли то, что искали? Тогда мощные технологии поиска по сайту Вам помогут:

Ключевые слова: , , , , .

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

Кстати, на правах объявления. Ищется программист Java для анализа существующих и синтеза новых возможностей MATSim. Возможны варианты дипломных работ как для программистов, так и для транспортников. Или даже совместная работа обоих специалистов.

VISUM

До сих пор мне был известен только VISUM (рус., англ.) — немецкий коммерческий продукт, широко используемый в России. Рассказывать про него подробно не буду — все можно узнать по ссылкам.

VISUM является реализацией наиболее часто (как я понимаю и в России в том числе) используемой 4-шаговой схемы моделирования транспортных потоков. Называется она так из-за наличия четырех этапов:

  1. Генерирование общего количества транспортных корреспонденций (поездок) — количество генерируемых и поглощаемых корреспонденций;
  2. Распределение транспортных корреспонденций между районами, расчет матрицы корреспонденций (связь места начала (источник) и места окончания (цель) поездки);
  3. Распределение транспортных корреспонденций по видам транспорта (личный, общественный с различной степенью детализации);
  4. Распределение транспортных корреспонденций по транспортной сети (поездки уже не по прямому пути, а по заданной транспортной сети).
4-шаговая схема моделирования транспортных потоков. Источник https://people.hofstra.edu/geotrans/index.html
4-шаговая схема моделирования транспортных потоков. Источник https://people.hofstra.edu/geotrans/index.html

В VISUM внедрены различные алгоритмы расчета, которые выбираются в зависимости от сложности и необходимой скорости решения частных задач.

В России этот подход сильно продвигается. В частности, данный метод представлен в СТО 2.2-2013 «Рекомендации по прогнозированию интенсивности дорожного движения на платных участках автомобильных дорог государственной компании «Автодор» и доходов от их эксплуатации».

MATSim и отличие от VISUM

Недавно познакомился с другим решением — MATSim. Тоже немецкая разработка (TU Berlin). Бесплатная. Но для понимания, с чем придется иметь дело, должен заранее предупредить, что это Opensource, без пользовательского интерфейса, с необходимостью установки и настройки различных дополнительных приложений и среды для разработки. То есть программист в штате обязателен.

Тем не менее возможности сильно радуют. Здесь можно сделать краткое отступление на тему, что чем сложнее разобраться в программе, тем больше возможностей она представляет. А открытый код, возможность использования API, написание собственных функций действительно позволяют сделать из программы «кофеварку».

Данный раздел — предварительные ощущения от прочитанного материала и тестовых задач, поэтому вполне вероятно последующие уточнения.

Теперь перейдем к теоретической части

MATSim построен на совершенно другой теории. Во-первых, вместо рассчитанных и жестко заданных матриц корреспонденций, как это представлено в 4-шаговой схеме, в MATSim используются план действия агентов (пользователей) на 24 часа. Например, утром из дома на работу, вечером с работы в магазин, после магазина домой. То есть план включает в себя несколько корреспонденций и, более того, корреспонденции привязаны не только к географическим координатам, но и ко времени. В VISUM, согласно 4-шаговой схемы, нет планов, а есть только матрицы корреспонденций в определенный промежуток времени (например, в утренний или в вечерний час пик). Если вам достаточно получить прогноз на пару пиковых часов в сутки — этого вполне достаточно. Если же стоит задача оценить транспортный поток в течение суток, придется рассчитывать множество матриц корреспонденций. План в MATSim выглядит в данном контексте более емким. Достаточно только одного плана, чтобы оценить решение в любое время суток в любой точке сети. Из плана можно получить матрицу корреспонденций для пользователей, находящихся в сети в определенный момент времени — хоть утром, хоть днем, хоть ночью.

Вторым отличием MATSim является мультиагентность — моделирование транспортного потока движением отдельных объектов, например, автомобилей. При этом используется теория очередей. Это дает свои плюсы и минусы. Минусы в требовательности аппаратного обеспечения для расчетов. Самый очевидный плюс в том, что интенсивность транспортных потоков в сечении не может превысить пропускную способность. Кроме того, теоретически, мультиагентное моделирование может позволить спуститься на микроуровень или даже на уровень оперативного управления (выбор стратегии управления в зависимости от входных параметров транспортного потока и окружающей среды). Но пока описательных материалов я не находил, поэтому вопрос остается открытым.

Третьей особенностью MATSim я бы назвал процесс распределения пользователей по сети. Оно производится в одной части — при выборе маршрута схоже с VISUM (в зависимости от метода распределения). Выбираются участки по кратчайшему расстоянию с наилучшими условиями движениями, а затем при наличии препятствий (задержек) для движения ищутся альтернативные маршруты. Оценка производится по времени в пути (вспоминаем используемую теорию очередей в мультиагентной модели), а не по пропускной способности. Во второй части — благодаря наличию дневных планов пользователей — производится распределение по времени, то есть при снижении времени в пути пользователь может начать свою поездку позже. Кроме того, есть вероятность, что пользователь вообще откажется от какой-то корреспонденции (например, поездка в магазин после работы). Это как мне представляется невозможно реализовать в VISUM в связи с жестко привязанной ко времени матрицы корреспонденций. Разве что в результате ручной калибровки исходных данных.

Алгоритм моделирования потоков в MATSim
Алгоритм моделирования потоков в MATSim

В перспективе интересно рассмотреть возможности использования “Big Data” для генерирования планов, а также поведение мультиагентной модели на различных уровнях управления транспортным движением. Несмотря на то, что MATSim — это в первую очередь транспортное планирование.

Сравнение VISUM и MATSim на практическом примере

Представляю вашему вниманию сравнение результатов моделирования транспортных потоков в VISUM и MATSim. Полный текст исследования доступен по ссылке.

Основой для выполнения сравнения послужила небольшая сеть, содержащая 214 узлов и 610 перегонов. Перегоны разделены на 3 типа с различными пропускными способностями и допустимыми скоростями движения. Транспортная сеть включала выходы на внешние автомобильные дороги для учета входящего, исходящего и транзитного транспортных потоков. В модель входит 13 транспортных районов.

Общая численность населения в населенном пункте — 60 000 человек. Для сравнения был представлен только один вид транспорта — персональный автомобиль. Для получения результата распределения потоков в транспортной сети в качестве исходных данных использовалась матрица корреспонденций, содержащая 4405 корреспонденций.

Здесь следует повторить, что матрица корреспонденций не является типовым вариантом для MATSim. Но для приведения к «общему знаменателю» необходимы одинаковые исходные данные. Матрица корреспонденций была успешно импортирована и преобразована в планы пользователей с одной корреспонденцией и начинающихся в течение одного часа. Таким образом удалось использовать исходные данные для VISUM и для MATSim.

Для распределения транспортных потоков по сети в VISUM использовалось два метода: равновесное распределение и динамическое стохастическое распределение. В MATSim — мультиагентное моделирование с теорией очередей и генетическим методом выбора оптимальных маршрутов.

Результаты расчета в обеих системах оценивались главным образом по равномерности распределения транспортных потоков по УДС. Полностью все графики представлены по ссылке выше. Здесь приведу некоторые.

Сравнение результатов распределения VISUM (равновесное распределение) и MATSim. Из графика видно, что в VISUM присутствует большое количества перегонов с нулевой интенсивностью движения. В MATSim все в порядке.

Сравнение результатов распределения VISUM (равновесное распределение) и MATSim
Сравнение результатов распределения VISUM (равновесное распределение) и MATSim

На представленной УДС (VISUM) также можно увидеть перегоны с нулевой интенсивностью (пунктирные линии).

Результаты распределения VISUM (равновесное распределение) на УДС
Результаты распределения VISUM (равновесное распределение) на УДС

Сравнение результатов распределения VISUM (динамическое стохастическое распределение) и MATSim. Результаты моделирования похожи. В обоих вариантов перегонов с нулевой интенсивностью незначительное количество.

Сравнение результатов распределения VISUM (динамическое стохастическое распределение) и MATSim
Сравнение результатов распределения VISUM (динамическое стохастическое распределение) и MATSim

Что подтверждается и УДС (VISUM) с потоками.

Результаты распределения VISUM (динамическое стохастическое распределение) на УДС
Результаты распределения VISUM (динамическое стохастическое распределение) на УДС

Также была проведена и оценка среднего времени корреспонденции, средней длины пути. Но так как генерация и поглощение транспортных потоков также различаются в этих двух программах, то приводить их тут не буду. Желающие могут посмотреть их в документе.

Общее заключение исследования состоит в том, что на основе единой матрицы корреспонденций в VISUM и в MATSim получается сопоставимый результат.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Ключевые слова: , , , , .

5 1 vote
Рейтинг Статьи
Подписаться
Сообщить о
1 Комментарий
Старые
Новые Популярные
Inline Feedbacks
Просмотр всех комментариев
7 лет назад

Прикольная статья, давно сам собирался накачать что-то подобное, хотя, в общем, на соавторство претендую и в этой статье 🙂
По делу — важно упомянуть про ко-эволюционный характер адаптации агентов в матсиме к дорожной обстановке. По итогам дня каждый агент получает скоринг. Положительный вклад в скоринг оказывает время, проведённое за какой-то активностью, отрицательный — время в пути, всевозможные транзакции вроде билета или платных дорог/парковки.
Далее какая-то часть агентов мутирует один из своих планов по определённой стратегии (изменения маршрута одной из поездок, выезд из дома пораньше, смена вида транспорта и тд) и пробует этот план в новой итерации. Так продолжается пока не установится стабильное состояние, обычно делают 500-1000 итераций.