УДК 004.94:316.62 Дата подачи статьи: 30.10.20
DOI: 10.15827/0236-235X.134.354-364 2021. Т. 34. № 2. С. 354-364
Платформа для моделирования, массовых перемещений объектов и субъектов в условиях городской среды
Д.С. Парыгин 1, к.т.н, доцент,, dparygin@gm.ail.com С.С. Буров 1, магистрант, sergey.burovic@gm.ail.com А.О. Анохин 1, аспирант, alex.an.okhin.st@gm.ail.com А.Г. Финогеев 2, д.т.н, профессор, alexeyfinogeev@gmail.com А.В. Голубев 1, аспирант, ax.golubev@gmail.com
1 Волгоградский государственный технический университет, г. Волгоград, 400005, Россия
2 Пензенский государственный университет, г. Пенза, 440026, Россия
Принятие решений о развитии инфраструктуры и распределении ресурсов для оптимизации условий жизнедеятельности в развивающихся городах основано на исследовании данных статистики, социологических опросов, специализированных сенсоров-счетчиков, камер видеофиксации и других способах учета перемещения людей в пространстве. На основе этих данных строятся модели и прогнозы развития ситуации. Однако проведение подобных исследований и их последующий анализ являются крайне дорогостоящими и времязатратными проектами, поэтому проводятся нерегулярно, фрагментарно и могут неадекватно представлять реальную ситуацию. Как альтернативу использованию данных мониторинга в данном исследовании предлагается применять мультиагентную модель.
В статье рассматриваются существующие решения для моделирования процессов в системах с взаимодействием людей. Предлагается реализация платформы для моделирования их перемещений в городе, основной задачей которой является моделирование поведения любой сложности для различных типов объектов, вплоть до соблюдения ими подавляющего большинства правил дорожного движения.
В работе описывается процесс построения архитектуры приложения, которое позволит осуществлять моделирование перемещения отдельных людей по карте города, приводятся специфические требования проекта и особенности реализации мультиагентных систем. Отдельно описаны поисковые исследования при разработке модели перемещения, подход к выбору шага сетки (1, 5, 30 пикселей) для построения маршрутного графа, обоснован баланс реалистичности и производительности.
Рассмотрен подход к визуализации работы модели на онлайн-карте веб/мобильного клиента. Даны характеристики использованных программных решений. Сделаны выводы о перспективах развития модели перемещения в городской среде и в целом платформы для мультиагентного моделирования.
Ключевые слова: мультиагентный подход, актор, моделирование перемещений людей, городская среда, OpenStreetMap, платформа для моделирования, граф перемещений, визуализация перемещений, клиент-серверная архитектура.
Оптимизация сети городской инфраструктуры является сегодня одним из важнейших вопросов жизни больших городов. Для решения проблем с городским трафиком ежедневно расходуются огромные ресурсы - как финансовые, так и связанные с количеством часов, потраченных на проведение исследований [1].
Принимая решение о развитии инфраструктуры и распределении ресурсов, градостроители полагаются на модели способов перемещения людей в городе (пешее передвижение, на машинах или же на общественном транспорте). Эти модели в значительной степени основаны на опросах жителей и отражают их привычки. Однако подобные исследования и их последующий анализ являются крайне до-
рогостоящими и времязатратными проектами, поэтому глобальный анализ городских маршрутов зачастую занимает несколько лет, в результате чего получается не совсем корректная модель передвижения [2]. Анализ с помощью опроса жителей также не дает полной картины исследований, так как опрос может охватить лишь малую долю населения той или иной части города, да и сами люди могут не совсем верно оценивать свои передвижения, что искажает общую картину [3].
Цель исследования - разработка программного решения, предназначенного для моделирования массовых перемещений объектов разного типа на онлайн-карте города. При этом первоочередной задачей является формирова-
ние концептуальной архитектуры приложения, а также базовых алгоритмов построения маршрутов для реалистичного моделирования перемещений.
Существующие решения для моделирования процессов в системах с взаимодействием людей
Применение мультиагентных систем широко распространено в разных отраслях науки и техники: математика, биология, транспортная система, социально-экономические науки, планирование, прогнозирование и другие.
Одно из направлений использования мультиагентных решений - моделирование поведения человека в различных ситуациях. К примеру, автор работы [4] использовал мульти-агентный подход для выявления и анализа скоплений людей в общественных местах. Его система на основе модели поведения людей анализирует факторы, приводящие к образованию скоплений граждан.
Для оценки поведения в случае непредвиденных обстоятельств была разработана модель TOXI-CITY [5]. Ее цель - вычислить минимальное количество людей, которые знают, что нужно делать в случае непредвиденной ситуации, и максимальное количество людей, которые могут спастись. В результате авторы модели установили: количество выживших увеличивается при небольшом числе информированных агентов (ниже 30 %), в то время как увеличение доли информированных агентов (до 70 %) лишь незначительно повышает шансы на выживание.
Рассматриваемый подход применяется для моделирования динамики мнений в виртуальном сообществе, а именно для имитации распространения информации о политических кампаниях, социальных сетях и обучающих он-лайн-сообществах [6].
Предложенная в работе [7] система используется для моделирования эвакуации пассажиров судна в условиях шторма с учетом взаимовлияния перемещений агентов, скоростей и ускорений качки. Система помогает оценить время эвакуации в зависимости от условий шторма.
Мультиагентные системы используются также для поддержки комплексного управления программными проектами [8]. Проекты включают в себя задачи, конкурирующие за ресурсы. Система динамически выделяет ресурсы и решает, какие проекты принять или отклонить с учетом их параметров.
Еще одно использование мультиагентных систем - моделирование сложных социальных систем. Одна из таких систем применяется для моделирования распада криминальных сетей, быстрого распространения слухов в социальных сетях Интернет, эволюции финансовых сетей и распространения эпидемий [9].
На основе агентного подхода реализована симуляция в системе, моделирующей распространение инфекционных заболеваний. С ее помощью можно изучать различные сценарии для поддержки принятия решений по предотвращению, прогнозированию и купированию вспышки заболевания, а также восстановлению после нее [10].
Примером применения является и межъязыковое обогащение онтологий на основе муль-тиагентной архитектуры [11]. Прототип позволяет обогащать несколько онтологий, используя тексты на английском, арабском и немецком языках. Каждый агент обогащает онтологии для определенного языка и может обучать других агентов.
Tangramob - мультиагентная система, которая позволяет предсказать изменения движения транспорта при изменении маршрутов перемещений, чтобы оценить их влияние на жизнь жителей с учетом инфраструктуры и пользовательских приоритетов [12]. Система учитывает такие параметры, как выбросы CO2 в атмосферу, расстояние и время в пути.
SimMobility Freight - мультиагентная система моделирования грузоперевозок с учетом неоднородности участников (поставщики, перевозчики, получатели, водители) [13]. Вычислительно эффективное моделирование может осуществляться за счет наличия в модели двух уровней детализации (микроуровень или мезо-уровень).
Моделирование дорожного движения Амстердама [14] также основано на использовании агентов. Система работает с такими данными, как время отправления, продолжительность поездки, вид поездки (личный/общественный тренспорт), маршрут, пункт назначения и ежедневный план действий каждого агента. В дальнейшем планируется расширение принимаемых во внимание характеристик.
Другой транспортный проект Нидерландов - эмпирическая агентная система моделирования для городского грузового транспорта (MASS-GT), с помощью которой специалисты исследуют проблемы снижения загруженности городов и затрат на логистику, обеспечения надежных окон доставки, сокращения выбро-
сов, повышения безопасности [15]. Разработчики планируют расширять набор моделей поведения, реализованных в системе.
Еще один пример - моделирование перемещения велосипедистов в Берлине [16]. В качестве основных параметров, влияющих на поведение велосипедистов, рассматривались вид велосипеда и характеристики поверхности, включая уклон. Исследование направлено на выявление различий между разными типами велосипедистов и их предпочтений. Авторы работают над улучшением взаимодействия велосипедистов с другими участниками дорожного движения.
В качестве применения мультиагентного подхода в работе [17] рассматривается система контроля беспилотных плавательных средств (unmanned surface vehicle, USV). Разработки в данной области в настоящее время представляют собой ключевой интерес в гонке вооружений. Авторами разработан фреймворк для обучения агентов выполнению совместных и соревновательных задач.
Исследователями из Китая разработан проект «умного туризма», который объединяет транспортную и социально-экономическую сферы и представляет собой систему рекомендаций для туристов [18]. Он включает дорожные карты, систему бронирования отелей, бронирование авиабилетов и т.д., используя данные в реальном времени и методы гибридной фильтрации.
Мультиагентный подход также был применен при построении модели функционирования Middle East route - основного энергетического морского канала Китая по транспортировке топлива [19]. В качестве агентов рассматривались танкеры, пираты и циклоны.
Рассмотренные мультиагентные системы используют либо адаптируют известные технологии и инструменты для своих нужд. При моделировании дорожного движения Амстердама, движения велосипедистов в Берлине, логистики в Белу-Оризонти и в системе Tangra-mob используется MATSim [20]. NetLogo [21] используется в TOXI-CITY и при моделировании перевозок топлива по морю в Китае. CLAVIRE [22] применяется для моделирования критических явлений в сложных социальных системах и эвакуации пассажиров аварийного судна в штормовых условиях. При необходимости разработки своих инструментов используются технологии: Python - в системе моделирования для грузового транспорта в Нидерландах, Java-фреймворк JADE [23] - в «ум-
ном туризме» и расширении онтологий, библиотека C++ Fuzzylite (A Fuzzy Logic Control Library) [24] - в системе обучения для беспилотных наземных транспортных средств.
Как видно из анализа, для более специализированных и узких задач применимы существующие готовые решения в виде систем и технологий моделирования, тогда как для обширных задач требуются дополнительные усилия и затраты на адаптацию готовых средств, следовательно, целесообразнее разрабатывать собственные системы.
Реализация платформы для моделирования перемещений людей в городе
Основной задачей разработанного приложения является моделирование перемещений для любых типов объектов [25]. Заложенная базовая функциональность позволяет моделировать поведение объектов любой сложности, вплоть до соблюдения объектами подавляющего большинства правил дорожного движения.
В основе системы лежит набор обязательных требований к функционалу. Должны быть обеспечены:
- возможность создания объектов нескольких типов, например, «люди» или «машины», и указания места их появления; для «людей» точкой появления может быть выход из здания, а для «машин» - выезд с парковки или въезд в город;
- возможность изменения с заданной периодичностью положения объектов в пространстве, то есть их перемещение;
- максимально корректная обработка столкновений с другими объектами на карте: «люди» не должны пересекать здания, а «машины» покидать линию дороги в произвольных местах;
- отображение текущего состояния модели на экране и его обновление с заданной периодичностью.
Сформулированы следующие основные требования к серверной части:
- возможность получения карты города, на базе которой происходит моделирование (реализуется средствами OpenStreetMap API);
- хранение объектов карты;
- обновление состояния моделируемого объекта с заданной периодичностью;
- возможность выдачи данных с карты по запросу (например, выбор объектов по заданным параметрам в ограниченной области (x, y, w, h));
- синхронизация состояния между подключенными клиентами при изменении положений моделируемых объектов (позиция и угол поворота).
При реализации также были учтены трудности и особенности, с которыми сталкиваются разработчики мультигентных систем:
- сложность реализации;
- ограничения при использовании муль-тиагентного подхода;
- неполные данные об окружающей среде и агенте;
- трудность формализации взаимодействия;
- высокая нагруженность системы;
- ограниченность применения.
Архитектура разработанного решения.
Для реализации описанных выше требований была разработана расширяемая система, моделирующая перемещения. Архитектура данной системы представлена на рисунке 1.
Симуляция осуществляется на сервере, являющемся основной частью приложения. Запуску симуляции предшествует работа блока MapManager. Он загружает данные карты, после чего GeneratюnManager с помощью своих подмодулей создает все объекты и агентов и размещает их на ней. Каждому агенту присваивается точка назначения, в которую ему необходимо попасть. Блок MovementManager отвечает за перемещения агентов по карте и обновление связанных с этим значений. Для реализации взаимодействия агентов с объектами и друг с другом используется модуль InteractionManager. StatisticManager выполняет
сбор статистики по всем агентам и объектам в системе с момента начала симуляции, а также предоставляет доступ к данным статистики прошлых симуляций. RequestManager осуществляет получение запросов от клиентов приложения и трансляцию запрашиваемых данных клиентам или влияние на запущенную симуляцию проекта.
Клиентская часть приложения представлена двумя тонкими клиентами - мобильным и веб-клиентом. Они не содержат никакой логики и являются отображением запущенной симуляции на сервере. Оба клиента позволяют управлять симуляциями и их основными параметрами. На стороне веб-клиента есть возможность делать запросы на сервер для получения статистических данных.
В качестве средств разработки применялись следующие технологии. В основу серверного приложения лег язык программирования C#, одним из преимуществ которого является возможность быстрой разработки сложных проектов. Для облегчения разработки базовой части платформы были задействованы технологии Monogame, XNA и LINQ.
В качестве фреймворка для работы с картой используется библиотека с открытым исходным кодом OpenLayers. Для реализации более тесного взаимодействия между браузером и платформой с возможностью работы в интерактивном режиме с поддержкой приложений реального времени используется протокол связи WebSocket.
Помимо серверного приложения, реализовано мобильное приложение. Оно также построено на базе языка программирования C#, но уже с использованием кроссплатформен-ного фреймворка для разработки мобильных приложений Xamarin.
Основные требования к работе проекта. Для нормального функционирования приложения необходимо обеспечить выполнение следующих требований:
- входной файл в формате .osm (карта OpenStreetMap);
- создание объектного представления всех элементов входного файла;
- десериализация структуры osm-файла в коллекцию объектов;
- построение графа проходимости на основе полученных ранее объектов, ребра которого будут зависеть от пересечений с объектами (см. http://www.swsys.ru/uploaded/im-age/2021 -2/2021 -2-dop/24.jpg);
Server
GenerationManager
MapObjectGenerator
AgentsGenerator
RequestManager
SimuIationManager
MapManager
MovementManager
InteractionManager
StatisticManager
MobileApp
Рис. 1. Архитектура приложения Fig. 1. The application architecture
Web-client
- использование эффективных алгоритмов поиска пути по графу от одной вершины к другой;
- многопоточное создание моделируемых объектов; потоки должны быть обособлены и независимы друг от друга, количество потоков должно регулироваться пользователем и зависеть от доступных ресурсов процессора и необходимой максимальной скорости моделирования;
- движение каждого из объектов с течением времени по проложенному пути;
- вывод на экран моделируемой системы и карты подложки с построенными маршрутами (см. http://www.swsys.ru/uploaded/image/2021 -2/2021-2^ор/24орв);
- представление выходных данных состояниями моделируемых объектов в произвольный момент времени.
Поисковые исследования при разработке модели
Для создания искомой модели необходимо построить граф перемещений и задать его размеры. Данный граф представлен на рисунке 2, причем каждая из его вершин находится на расстоянии 30 пикселей от других. Люди будут двигаться по вершинам графа. Красным цветом выделены ребра графа, по которым движение
запрещено (здания), желтым - ребра, по которым движение затруднительно (дороги).
Зеленая сетка на рисунке 3 определяет пространство, охватываемое графом. В местах, где линии сетки пересекаются, находятся вершины графа. От каждой вершины можно двигаться в восьми направлениях (север, северо-запад, запад и т.д.) к другим вершинам. Для большей наглядности ребра зеленого цвета на рисунках 2 и 3 показаны только в четырех направлениях. Вес зеленого ребра условно равен 1, вес желтого больше 1. Красное ребро имеет бесконечный вес, чтобы люди не могли ходить сквозь стены. Для добавления новых видов площадей необходимо изменить вес ребер в пределах этих площадей.
Все объекты карты в настоящее время получаются с сервиса OpenStreetMap. Однако для большей реалистичности модели требуется ее реализация на основе подробных инфраструктурных данных. Для этого планируется создать отдельное информационное решение [26].
Граф с расстоянием в 5 пикселей между вершинами изображен на рисунке 3.
Время симуляции и определения пересечений зависит от расстояния между вершинами графа: чем оно меньше, тем более приближенно к реальным выглядят перемещения.
Для поиска пути был использован алгоритм А* (модификация алгоритма Дейкстры). Алго-
G OSM - X
Рис. 2. Граф перемещений с расстоянием 30 пикселей между вершинами Fig. 2. Displacement graph with a distance of 30 pixels between the vertices
(3 OSM - X
Рис. 3. Граф перемещений с расстоянием 5 пикселей между вершинами Fig. 3. Displacement graph with a distance oof 5 pixels between the vertices
ритм обладает высокой скоростью работы и способен прокладывать путь на максимальном размере графа за доли секунды. Перемещение объектов получается наиболее реалистичным при задании каждого пикселя в качестве вершины графа (см. http://www.swsys.ru/up-loaded/image/2021 -2/2021 -2-dopZ25.jpg).
Первая итерация тестов продемонстрировала проблему, связанную с тем, что время, затрачиваемое на поиск пути до точки внутри здания (так как она является ближайшей к выходу из здания и попасть туда невозможно, поскольку она не принадлежит графу), значительно превышает время, затрачиваемое на поиск вершины, связанной с графом. Причина в алгоритме: если точка не является вершиной, происходит перебор всего графа полностью в отличие от поиска пути до определенной вершины графа. Решение проблемы заключается в задании ребру, пересекающему здание, величины такого веса, который будет превышать веса других ребер. Улучшение результатов было достигнуто за счет создания дополнительных семи процессов и задания 20 пикселей между вершинами графа, а также задания ребрам, пересекающим здания, большего веса, чем у других ребер.
Однако проблема с поиском пути не была решена: поиск маршрута для вершины, находящейся внутри здания, занимал большое коли-
чество времени. Маршруты до других вершин строились каждую секунду, но затем происходил поиск пути к вершине, до которой добраться невозможно.
Вычисления пути выполняются в параллельном потоке последовательно друг за другом, что ограничивает скорость работы данного функционала. Требуются исправление в классе SearchEngine и дополнительное распараллеливание вычислений, что позволит повысить общую скорость вычислений ценой увеличения времени каждого.
На следующем этапе были реализованы отдельные процессы добавления новых акторов, за счет чего удалось повысить скорость их появления.
На завершающем этапе тестирования была решена проблема поиска несуществующих маршрутов. Перед поиском пути к точке проверяется, находится ли финишная вершина внутри здания. В итоге программа стала генерировать объекты на большой скорости даже с попиксельной сеткой.
Вполне достижимы максимальная адаптация программы под любой компьютер и использование возможностей его процессора на 100 %. Скорость создания новых объектов зависит от ресурсов, полученных программой.
Для тестирования работоспособности приложения использован процессор на базе Intel
Core i7 6700K в многопоточном режиме с задействованием 8 потоков.
Скорость создания моделируемых объектов обратно пропорциональна размеру графа. При использовании графа высокой точности повышается качество симуляции моделируемых объектов, но снижается скорость их создания, поскольку на процесс моделирования перемещения и поиска пути необходимо затратить большее количество машинного времени.
В связи с этим было принято решение о разделении приложения на клиентскую и серверную составляющие. При этом была выбрана браузерная реализация клиента как наиболее удобная для пользователя.
Серверная часть подразумевает хранение следующего набора параметров: список подключенных клиентов, список агентов на карте, таймер и HttpListener. Каждый клиент имеет прямое подключение к серверу и роль в системе. На данный момент реализованы две роли - пользователь и администратор.
Обработку новых клиентов осуществляет обработчик HttpListener в отдельном потоке. После подключения нового клиента он обновляет список онлайн-клиентов и создает отдельный поток (HandleClient) для работы с новым подключенным клиентом. Таким образом, работа с каждым клиентом ведется в отдельном потоке, что позволяет избежать задержки при отправке сообщений на сервер.
Основная функция сервера - обновление состояния моделируемой системы (Update). Данная функция реализует отправку состояния мо-
дели всем подключенным клиентам с предварительным преобразованием данных в формат json. Вызов данной функции производится по таймеру с заданной периодичностью в отдельном потоке.
Визуализация работы модели на карте
Визуальная часть на стороне веб-клиента реализована с помощью библиотеки OpenLayers. Практически все пространство окна занимает карта (рис. 4). Для получения и отображения состояния сервера используется следующее событие:
websocket.onmessage = function(evt) {
if (evt.data[0] == "[") {
SetCharacters(JSON.parse(evt.data));
} else {
console.log('RESPONSE: ' + evt.data);
}
}
Данное событие вызывает функцию SetCharacters, которая меняет источник данных у компонента карты. В результате на карте появляются точки (моделируемые объекты) на тех же координатах, где они расположены на сервере (рис. 4).
Отправка команд с клиента на сервер осуществляется с использованием функции Send-ToServer, которая вызывает метод websocket. send(message). Формат команды представляется следующей структурой: *название ко-манды*#*название параметра 1*:*параметр 1*, *название параметра ^:*параметр n*.
Рис. 4. Отображение состояния системы в веб-интерфейсе Fig. 4. System status display in the web interface
При входе в режим администратора доступен набор команд:
- установление максимального количества акторов (субъектов);
- остановка генерации новых моделируемых акторов.
На данный момент проект запущен и постоянно функционирует [27]. Серверная часть работает на одном узле кластера под управлением операционной системы CentOS 7. Для хостинга статической части проекта используется другой сервер. Обмен данными моделируемой системы производится напрямую с клиентом.
Заключение
В результате разработки создано программное решение, преобразующее ^т-файл карты OpenStreetMap в графические примитивы и строящее на их основании граф местности. В условиях графа создана возможность моделирования массовых перемещений объек-
тов-людей. Разработаны концептуальная архитектура и клиент-серверное ПО для реализации симуляции динамики перемещений в городской среде. Результаты моделирования выводятся на экран в реальном времени, также имеется возможность их вывода на удаленные клиенты. Созданное решение является достаточно гибким для реализации универсальной модели поведения.
Полученная агентная модель может представлять практическую пользу для ученых и инженеров, заинтересованных в моделировании движения транспортных средств. С ее помощью можно проводить исследования и анализ транспортных потоков с целью выявления условий возникновения пробок или снижения пропускной способности транспортных магистралей [28]. В настоящее время проводятся доработка и совершенствование программного продукта, чтобы адаптировать его к разным предметным областям, где участвуют подвижные во времени и пространстве объекты и процессы.
Исследование выполнено при финансовой поддержке РФФИ (проекты №№ 18-37-20066 "молавед" и 18-07-00975) и РНФ (проект № 20-71-10087).
Авторы признательны коллегам по лаборатории UCLab, участвующим в разработке проекта Live. UrbanBasis.com.
Литература
1. Шабалина О.А., Давтян А.Г., Садовникова Н.П., Парыгин Д.С. Моделирование динамического целеполагания в социально-экономических системах. Волгоград: Изд-во ВолгГТУ, 2019. 76 с.
2. Ustugova S., Parygin D., Sadovnikova N., Kizim A., Finogeev A. Monitoring of social reactions to support decision making on issues of urban territory management. Procedia Computer Science, 2016, vol. 101, pp. 243-252. DOI: 10.1016/j.procs.2016.11.029.
3. Трунина А. Мэрия Москвы потратила Р516 млн на покупку данных о передвижениях горожан. URL: https://www.rbc.ru/politics/04/03/2019/5c7cd5fe9a794760d9cfb900?íbclid=IwAR3KGLXuBwz8íb7 tehhjtvPIaDeIV5nMvjTFmFPNFGO_xBp2YIYnIBoVMEw (дата обращения: 28.10.2020).
4. Shimada E., Yamane S., Ohori K., Yamada H., Takahashi S. Agent based simulation for evaluation of signage system considering expression form in airport passenger terminals and other large facilities. LNCS, 2018, vol. 11224, pp. 621-629. DOI: 10.1007/978-3-030-03098-8_49.
5. SalzeP., Beck E., Douvinet J., Amalric M., Bonnet E., Daudé E., Duraffour F., Sheeren D. TOXI-CITY: an agent-based model for exploring the effects of risk awareness and spatial configuration on the survival rate in the case of industrial accidents. Cybergeo, 2014, no. 692. DOI: 10.4000/cybergeo.26522.
6. Derevitskii I., Severiukhina O., Bochenina K., Voloshin D., Lantseva A., Boukhanovsky A. Multiagent context-dependent model of opinion dynamics in a virtual society. LNCS, 2018, pp. 142-155. DOI: 10.1007/978-3-319-93701-4_11.
7. Balakhontceva M., Karbovskii V., Sutulo S., Boukhanovsky A. Multi-agent simulation of passenger evacuation from a damaged ship under storm conditions. Procedia Computer Science, 2016, vol. 80, pp. 2455-2464. DOI: 10.1016/j.procs.2016.05.547.
8. Baia M. An integrated multi-agent-based simulation approach to support software project management. Proc. XXXVII ICSE, 2015, pp. 911-914. DOI: 10.1109/ICSE.2015.290.
9. Слоот П.М.А., Холист Я., Кампис Дж., Лис М.Х., Митягин С.А., Иванов С.В., Боченина К.О. и др. Суперкомпьютерное моделирование критических явлений в сложных социальных системах // Науч.-технич. вестн. информ. технологий, механики и оптики. 2016. № 6. C. 967-995. DOI: 10.17586/ 2226-1494-2016-16-6-967-995.
10. Mei S., Chen B., Zhu Y., Lees M.H., Boukhanovsky A.V., Sloot P.M.A. Simulating city-level airborne infectious diseases. Computers, Environment and Urban Systems, 2015, vol. 51, pp. 97-105. DOI: 10.1016/j.compenvurbsys.2014.12.002.
11. Ali M., Fathalla S., Ibrahim I., Kholief M., Hassana Y. Cross-lingual ontology enrichment based on multi-agent architecture. Procedia Computer Science, 2018, vol. 137, pp. 127-138. DOI: 10.1016/j.procs.2018. 09.013.
12. Corradini F., De Angelis F., Polini A., Castagnari C., de Berardinis J., Giorgio F. Tangramob: An agent-based simulation framework for validating urban smart mobility. Journal of Intelligent Systems, 2019, vol. 29, pp. 1188-1201. DOI: 10.1515/jisys-2018-0321.
13. Alho A., Bhavathrathan B.K., Stinson M., Gopalakrishnan R., Le D.-T., Ben-Akiva M. A multi-scale agent-based modelling framework for urban freight distribution. Transportation Research Procedia, 20i7, vol. 27, pp. 188-196. DOI: 10.1016/j.trpro.2017.12.138.
14. Melnikov V.R., Krzhizhanovskaya V.V., Lees M.H., Boukhanovsky A.V. Data-driven travel demand modelling and agent-based traffic simulation in Amsterdam urban area. Procedia Computer Science, 2016, vol. 80, pp. 2030-2041. DOI: 10.1016/j.procs.2016.05.523.
15. De Bok M., Tavasszy L. An empirical agent-based simulation system for urban goods transport (MASS-GT). Procedia Computer Science, 2018, vol. 130, pp. 126-133. DOI: /10.1016/j.procs.2018.04.021.
16. Ziemke D., Metzler S., Nagel K. Modeling bicycle traffic in an agent-based transport simulation. Procedia Computer Science, 2017, vol. 109, pp. 923-928. DOI: 10.1016/j.procs.2017.05.424.
17. Han W., Zhang B., Wang Q., Luo J., Ran W., Xu Y. A multi-agent based intelligent training system for unmanned surface vehicles. Appl. Sci., 2019, vol. 9, no. 6, art. 1089. DOI: 10.3390/app9061089.
18. Hassannia R., Barenji A.V., Li Z., Alipour H. Web-based recommendation system for smart tourism: Multiagent technology. Sustainability, 2019, vol. 11, no. 2, art. 323. DOI: 10.3390/su11020323.
19. Shen Y., Guo Y., Chen W. Safety analysis of China's marine energy channel based on Multi-Agent simulation. Energy Procedia, 2019, vol. 158, pp. 3259-3264. DOI: 10.1016/j.egypro.2019.01.988.
20. MATSim. URL: https://www.matsim.org/ (дата обращения: 18.10.2020).
21. NetLogo. URL: https://ccl.northwestern.edu/netlogo/ (дата обращения: 18.10.2020).
22. CLAVIRE. URL: http://clavire.ru/ (дата обращения: 18.10.2020).
23. JAVA Agent Development Framework. URL: https://jade.tilab.com/ (дата обращения: 18.10.2020).
24. The FuzzyLite Libraries for Fuzzy Logic Control. URL: https://fuzzylite.com/ (дата обращения: 18.10.2020).
25. Parygin D., Usov A., Burov S., Sadovnikova N., Ostroukhov P., Pyannikova A. Multi-agent approach to modeling the dynamics of urban processes (on the example of urban movements). In: Communications in Computer and Information Science, 2020, pp. 243-257. DOI: 10.1007/978-3-030-39296-3_18.
26. Parygin D., Kozlov D., Sadovnikova N., Kvetkin V., Soplyakov I., Malikov V. Development the online operating system of urban infrastructure data. In: Communications in Computer and Information Science, 2019, pp. 203-216. DOI: 10.1007/978-3-030-29750-3_16.
27. OsmLifeSimulation. URL: http://live.urbanbasis.com/ (дата обращения: 18.10.2020).
28. Parygin D. Implementation of exoactive management model for urbanized area: real-time monitoring and proactive planning. Proc. VIII Intern. Conf. SMART, 2019, pp. 310-316. DOI: 10.1109/SMART46866. 2019.9117298.
Software & Systems Received 30.10.20
DOI: 10.15827/0236-235X. 134.354-364 2021, vol. 34, no. 2, pp. 354-364
The platform for modeling large-scale movement of objects and subjects
in an urban environment
D.S. Parygin 1, Ph.D. (Engineering), Associate Professor, dparygin@gmail.com
S.S. Burov 1, Graduate Student, sergey.burovic@gmail.com
A.O. Anokhin 1, Postgraduate Student, alex.anokhin.st@gmail.com
A.G. Finogeev 2, Dr.Sc. (Engineering), Professor, alexeyfinogeev@gmail.com
A.V. Golubev 1, Postgraduate Student, ax.golubev@gmail.com
1 Volgograd State Technical University, Volgograd, 400005, Russian Federation
2 Penza State University, Penza, 440026, Russian Federation
Abstract. Decision-making on the development of infrastructure and the resource allocation to optimize living conditions in developing cities is based on the study of statistical data, opinion polls, specialized sensors-counters, video cameras, and other methods of accounting for the people movement. Models and situation projected growth are based on this data. However, carrying out such studies and their subsequent analysis are extremely expensive and time-consuming projects, therefore they are not carried out regularly and may inadequately represent the actual situation. As an alternative to the monitoring data using, this study proposes to use a multi-agent model.
The paper discusses existing solutions for modeling processes in systems with human interaction. Implementing the platform for modeling the people's movement in a city is proposed. The key problem of the model is to simulate the behavior of any complexity for various object categories, up to the observance of the overwhelming majority of traffic rules.
The paper describes the process of building the architecture of an application that will allow modeling the movement of individual people in the city map, provides specific project requirements and features of implementing the multi-agent systems. The exploratory studies in the development of the displacement model, the approach to the selection of the grid step (1, 5, 30 pixels) for constructing the route graph, and the rationale for the balance of realism and performance are described separately.
An approach to visualizing the work of a model on an online map of a web / mobile client is considered. The characteristics of the applied software solutions are given. Conclusions are made about the prospects for the development of the model of movement in the urban environment and the platform for multi-agent modeling in general.
Keywords: multi-agent approach, actor, people's movement modeling, urban environment, Open-StreetMap, modeling platform, movement graph, movement visualization, client-server architecture.
Acknowledgements. The reported study was funded by Russian Foundation for Basic Research (RFBR) (projects no. 18-37-20066 "Mon_a_eed" and no. 18-07-00975) and Russian Science Foundation (RSF) grant (project no. 20-71-10087).
The authors express gratitude to colleagues from UCLab involved in the development of Live.UrbanBa-sis.com project.
References
1. Shabalina O.A., Davtyan A.G., Sadovnikova N.P., Parygin D.S. Modeling Dynamic Goal-Setting in Socio-Economic Systems. Volgograd, 2019, 76 p. (in Russ.).
2. Ustugova S., Parygin D., Sadovnikova N., Kizim A., Finogeev A. Monitoring of social reactions to support decision making on issues of urban territory management. Procedia Computer Science, 2016, vol. 101, pp. 243-252. DOI: 10.1016/j.procs.2016.11.029.
3. Trunina A. The Moscow Mayor's Office has Spent 516 Million Rubles to Purchase Data on the Citizens' Movement. Available at: https://www.rbc.ru/politics/04/03/2019/5c7cd5fe9a794760d9cfb900?fbclid= IwAR3KGLXuBwz8fb7tehhjtvPIaDeIV5nMvjTFmFPNFGO_xBp2YIYnIBoVMEw (accessed October 28, 2020) (in Russ.).
4. Shimada E., Yamane S., Ohori K., Yamada H., Takahashi S. Agent based simulation for evaluation of signage system considering expression form in airport passenger terminals and other large facilities. LNCS, 2018, vol. 11224, pp. 621-629. DOI: 10.1007/978-3-030-03098-8_49.
5. Salze P., Beck E., Douvinet J., Amalric M., Bonnet E., Daude E., Duraffour F., Sheeren D. TOXI-CITY: an agent-based model for exploring the effects of risk awareness and spatial configuration on the survival rate in the case of industrial accidents. Cybergeo, 2014, no. 692. DOI: 10.4000/cybergeo.26522.
6. Derevitskii I., Severiukhina O., Bochenina K., Voloshin D., Lantseva A., Boukhanovsky A. Multiagent context-dependent model of opinion dynamics in a virtual society. LNCS, 2018, pp. 142-155. DOI: 10.1007/ 978-3-319-93701-4_11.
7. Balakhontceva M., Karbovskii V., Sutulo S., Boukhanovsky A. Multi-agent simulation of passenger evacuation from a damaged ship under storm conditions. Procedia Computer Science, 2016, vol. 80, pp. 2455-2464. DOI: 10.1016/j.procs.2016.05.547.
8. Baia M. An integrated multi-agent-based simulation approach to support software project management. Proc. XXXVIIICSE, 2015, pp. 911-914. DOI: 10.1109/ICSE.2015.290.
9. Sloot P.M.A., Kholist Ya., Kampis Dzh., Lis M.Kh., Mityagin S.A., Ivanov S.V., Bochenina K.O. et al. Supercomputer simulation of critical phenomena in complex social systems. Sci. Tech. J. Inf. Technol. Mech. Opt., 2016, no. 6, pp. 967-995. DOI: 10.17586/2226-1494-2016-16-6-967-995 (in Russ.).
10. Mei S., Chen B., Zhu Y., Lees M.H., Boukhanovsky A.V., Sloot P.M.A. Simulating city-level airborne infectious diseases. Computers, Environment and Urban Systems, 2015, vol. 51, pp. 97-105. DOI: 10.1016/j.compenvurbsys.2014.12.002.
11. Ali M., Fathalla S., Ibrahim I., Kholief M., Hassana Y. Cross-lingual ontology enrichment based on multi-agent architecture. Procedia Computer Science, 2018, vol. 137, pp. 127-138. DOI: 10.1016/j.procs. 2018.09.013.
12. Corradini F., De Angelis F., Polini A., Castagnari C., de Berardinis J., Giorgio F. Tangramob: An agent-based simulation framework for validating urban smart mobility. Journal of Intelligent Systems, 2019, vol. 29, pp. 1188-1201. DOI: 10.1515/jisys-2018-0321.
13. Alho A., Bhavathrathan B.K., Stinson M., Gopalakrishnan R., Le D.-T., Ben-Akiva M. A multi-scale agent-based modelling framework for urban freight distribution. Transportation Research Procedia, 2017, vol. 27, pp. 188-196. DOI: 10.1016/j.trpro.2017.12.138.
14. Melnikov V.R., Krzhizhanovskaya V.V., Lees M.H., Boukhanovsky A.V. Data-driven travel demand modelling and agent-based traffic simulation in Amsterdam urban area. Procedia Computer Science, 2016, vol. 80, pp. 2030-2041. DOI: 10.1016/j.procs.2016.05.523.
15. De Bok M., Tavasszy L. An empirical agent-based simulation system for urban goods transport (MASS-GT). Procedia Computer Science, 2018, vol. 130, pp. 126-133. DOI: /10.1016/j.procs.2018.04.021.
16. Ziemke D., Metzler S., Nagel K. Modeling bicycle traffic in an agent-based transport simulation. Procedia Computer Science, 2017, vol. 109, pp. 923-928. DOI: 10.1016/j.procs.2017.05.424.
17. Han W., Zhang B., Wang Q., Luo J., Ran W., Xu Y. A multi-agent based intelligent training system for unmanned surface vehicles. Appl. Sci., 2019, vol. 9, no. 6, pp. 1089. DOI: 10.3390/app9061089.
18. Hassannia R., Barenji A.V., Li Z., Alipour H. Web-Based Recommendation System for Smart Tourism: Multiagent Technology. Sustainability, 2019, vol. 11, no. 2, pp. 323. DOI: 10.3390/su11020323.
19. Shen Y., Guo Y., Chen W. Safety analysis of China's marine energy channel based on Multi-Agent simulation. Energy Procedia, 2019, vol. 158, pp. 3259-3264. DOI: 10.1016/j.egypro.2019.01.988.
20.MATSim. Available at: https://www.matsim.org/ (accessed October 18, 2020).
21. NetLogo. Available at: https://ccl.northwestern.edu/netlogo/ (accessed October 18, 2020).
22. CLAVIRE. Available at: http://clavire.ru/ (accessed October 18, 2020).
23. JAVA Agent DEvelopment Framework. Available at: https://jade.tilab.com/ (accessed October 18, 2020).
24. The FuzzyLite Libraries for Fuzzy Logic Control. Available at: https://fuzzylite.com/ (accessed October 18, 2020).
25. Parygin D., Usov A., Burov S., Sadovnikova N., Ostroukhov P., Pyannikova A. Multi-agent approach to modeling the dynamics of urban processes (on the example of urban movements). In: Communications in Computer and Information Science, 2020, pp. 243-257. DOI: 10.1007/978-3-030-39296-3_18.
26. Parygin D., Kozlov D., Sadovnikova N., Kvetkin V., Soplyakov I., Malikov V. Development the online operating system of urban infrastructure data. In: Communications in Computer and Information Science, 2019, pp. 203-216. DOI: 10.1007/978-3-030-29750-3_16.
27. OsmLifeSimulation. Available at: http://live.urbanbasis.com/ (accessed October 18, 2020) (in Russ.).
28. Parygin D. Implementation of exoactive management model for urbanized area: real-time monitoring and proactive planning. Proc. VIIIInt. Conf. SMART, 2019, pp. 310-316. DOI: 10.1109/SMART46866.2019. 9117298.
Для цитирования
Парыгин Д.С., Буров С.С., Анохин А.О., Финогеев А.Г., Голубев А.В. Платформа для моделирования массовых перемещений людей в условиях городской среды // Программные продукты и системы. 2021. Т. 34. № 2. С. 354-364. DOI: 10.15827/0236-235X.134.354-364.
For citation
Parygin D.S., Burov S.S., Anokhin A.O., Finogeev A.G., Golubev A.V. The platform for modeling large-scale movement of objects and subjects in an urban environment. Software & Systems, 2021, vol. 34, no. 2, pp. 354-364 (in Russ.). DOI: 10.15827/0236-235X.134.354-364.