В исследовании ученых из университета Тохоку (Япония) представлена агент-ориентированная модель, позволяющая имитировать процесс эвакуации населения в городской среде в результате обрушения цунами. Модель построена для технической реализации на суперкомпьютерах на основе гибридной технологии распараллеливания с использованием программных интерфейсов MPI и OpenMP, а проведенные с ее использованием расчеты продемонстрировали высокую реалистичность полученных результатов. К примеру, было воспроизведено цунами, вызванное землетрясением, произошедшим 11 марта 2011 г. в районе острова Хонсю и по оценкам сейсмологов, являющимся сильнейшим в Японии за весь период наблюдений.
Обзор разработанной модели
В качестве пространства, представляющего собой городской ландшафт площадью 20 км2, в модели используется мелкозернистая двумерная решетка. В процессе эвакуации агенты перемещаются, а также взаимодействуют друг с другом посредством уравнений (1) и (2):
(1)
(2)
(3)
Уравнение (1) описывает процесс движения агента mi, где vi – текущая скорость, v0 – желаемая скорость в направлении e0i(t), а Fij – силы воздействия от окружающих агентов, вычисляемые по формуле (2), в которой τ – функция, зависящая от относительного движения xij = xi − xj, и относительной скорости vij = vi −vj, а k и τ0 – модельные константы. Упомянутая функция рассчитывается по формуле (3), где Ri и Rj – радиусы агентов. Как видно, авторы использовали модель социальных сил, предложенную Дирком Хелбингом в работе «Модели социальных сил для пешеходной динамики» (Helbing, 1995).
Как правило, в агентных моделях, построенных с использованием этой парадигмы, на траекторию перемещения агентов и их скорость оказывают воздействие не только другие агенты, но и различные препятствия (к примеру, стены), что делает модели более реалистичными, хотя учет всех этих сил сопряжен с большими вычислительными затратами. Концептуальная схема модели приведена на рис. 1.
Рис. 1. Схема работы агент-ориентированной модели: траектория движения агента определяется движущей силой, а также силой взаимодействия других агентов
Для настройки параметров модели были использованы статистические данные о поведении большого количества пешеходов. К примеру, скорости движения отдельных агентов определялись с учетом средней скорости их перемещения (1,34 ± 0,26 м/сек.) таким образом, чтобы вся совокупность чисел соответствовала нормальному распределению. Аналогично определялся радиус отдельных агентов, среднее значение которого равняется 0.25 м. Единица модельного времени dt = 0.01 сек., а сторона клетки в используемой двумерной решетки dx = 1.0 м. По мнению авторов, более укрупненный масштаб и увеличение единицы модельного времени снизят реалистичность проводимых экспериментов.
Также в модель были включены корректировки, меняющие траекторию движения агентов в зависимости от складывающейся ситуации. На рис. 2 показаны различные варианты движения двух агентов: в случаях (a) и (b) агенты перемещаются навстречу друг другу, а варианты (c) и (d) показывают движение в одном направлении. Разработчики предложили изменение траектории встречного агента за счет незначительного уклонения в сторону (рис. 2b), и небольшого колебания в процессе обгона (рис. 2d). Эти изменения по сравнению с вариантами (a) и (c) изменяют баланс социальных взаимодействий и, в конечном счете, повышают реалистичность модели за счет более естественного поведения агентов.
Рис. 2. Траектории движения двух агентов: (a) движение навстречу без уклонений; (b) движение навстречу с уклонениями; (c) движение в одном направлении без колебаний; (d) движение в одном направлении с колебаниями. Колебания в направлении движения могут поменять баланс сил и привести к более естественному поведению агента.
Для тестирования упомянутых корректировок в случае множества агентов были проведены расчеты с двунаправленным потоком пешеходов, двигающихся по коридору шириной 5 м. Рис. 3 (a) демонстрирует, что при возрастании плотности встречных потоков, последние формируются в полосы (нижний рисунок показывает две полосы зеленых агентов, перемещающихся навстречу одной полосе красных). В правой части рисунка приведены усредненные данные, полученные в результате множества модельных прогонов. По оси ординат – скорость (м/сек.), а по оси абсцисс – плотность потока (чел./м2). Как видно, полученные результаты вполне логичны, а кроме того, повторяют результаты других исследований.
Рис. 3. Моделирование двунаправленного потока агентов: (a) формирование полос в зависимости от плотности потоков (красные агенты двигаются вверх, а зеленые вниз); (b) зависимость скорости перемещения агентов от плотности потока
Следующее тестирование было направлено на определение возможностей агентов проходить через усложненные участки маршрута (узкие проходы между строениями, входы, выходы и т.д.). На рис. 4a визуализирован процесс прохождения агентами узкого места – как видно, в случае высокой интенсивности потока пешеходов с течением времени увеличивается их скопление. Проведенные расчеты с использованием разработанной модели повторяют результаты аналогичных исследований и демонстрируют практически линейную зависимость интенсивности потока пешеходов в зависимости от ширины прохода (рис 4b).
Рис. 4. Пример моделируемого узкого места: (a) визуализация процесса движения агентов; (b) количественная оценка интенсивности потока пешеходов в зависимости от ширины прохода, меняющегося в интервале от 1 до 4 м.
Реализация параллельной версии модели
Для распараллеливания построенной агент-ориентированной модели была применена гибридная технология с использованием программных интерфейсов MPI и OpenMP. Учитывая особенности процесса эвакуации, при котором агенты концентрируются в определенных местах (эвакуационные выходы, узкие проходы и т.д.), для балансировки вычислительной нагрузки разработчики приняли решение разделять программный код без декомпозиции пространства по процессорам (как это зачастую делается в случае масштабных географически распределенных агентных моделей), а посредством равномерного разделения моделируемого социума. На рис. 5 проиллюстрирован процесс распределения 25 869 агентов, представляющих жителей крупного района города Кесеннума, находящегося в префектуре Мияги (Японии) и пострадавшего от цунами в 2011 г., по 200 процессорам. Цвет отдельных индивидуумов соответствует цвету обрабатываемого их процессора, причем видно, что в одной и той же части пространства находятся агенты различной окраски, что соответствует выбранной стратегии распределения вычислительной нагрузки. Тем не менее, из-за отдельных, медленно эвакуирующихся агентов дисбаланс иногда все же возникает.
Рис. 5. Результат распределения 25 869 агентов по 200 процессорам
На рис. 6 отображена топографическая карта рассматриваемого в модели центрального района города (площадью 5 км × 4 км) и возможные места эвакуации (обозначены зелеными треугольниками), использованные во время событий 2011 г.
Количество учитываемых в модели агентов соответствует численности горожан, находящихся в указанном районе в дневное время (согласно данным национальной переписи). Для расчетов было выделено два типа агентов: (1) группа, возраст представителей которых свыше 65 лет, а средняя скорость передвижения 0.67 ± 0.26 м/сек. и (2) возрастная группа агентов младше 65 лет, средняя скорость которых в два раза выше. Дополнительно в рамках первой группы была выделена подгруппа особенно медленно передвигающихся агентов (около 10%), скорость перемещения которых ниже 0.35 м/сек.
Рис. 6. Топографическая карта центрального района города Кесеннума (Япония). Места эвакуации были определены на основе событий 2011 г.
Далее приведем результаты производительности модели. В процессе работы симулятора, через 5 минут после землетрясения агенты начинают эвакуацию, а на рис. 7 показан соответствующий процесс через 10 минут после его начала, где красные точки представляют агентов первой группы, а зеленые – второй.
Рис. 7. Отображение процесса симуляции
На рис.8 приведены результаты прогонов с использованием различных стратегий распараллеливания (только MPI или гибридный подход с применением MPI и OpenMP). Как видно, оба подхода достаточно эффективны, хотя комбинированная стратегия более производительная, по сравнению c простой MPI-альтернативой.
Рис. 8. Оценка эффективности различных стратегий распараллеливания: (a) среднее время симуляции; (b) эффективность распараллеливания, рассчитанная по закону Амдала.
Поскольку точные начальные условия (к примеру, позиции агентов с разной скоростью перемещения) определить практически невозможно, для получения усредненных оценок было проведено 500 модельных прогонов с различными параметрами инициализации. На рис. 9 представлен расчет каждого из сценариев, результирующие линии которых окрашены в разные цвета. Как видно, случайным образом определяемые местоположения агентов оказывают незначительное (до 1.7%) влияние на время процесса эвакуации.
Рис. 9. Результаты моделирования эвакуации после обрушения цунами (сценарии различаются цветом)
В свою очередь использование разработанного симулятора позволяет исследовать различные сценарии эвакуации с целью определения наиболее эффективной стратегии спасения населения. Более подробно про симулятор и полученные результаты можно прочитать в статье: [Makinoshima, Fumiyasu & Imamura, Fumihiko & Abe, Yoshi. (2018). Enhancing a tsunami evacuation simulation for a multi-scenario analysis using parallel computing. Simulation Modelling Practice and Theory. 83. 10.1016/j.simpat.2017.12.016].