Диссертация (Агентная модель поведения толпы в условиях чрезвычайной ситуации для оценки интенсивности фронта выходного потока), страница 9
Описание файла
Файл "Диссертация" внутри архива находится в папке "Агентная модель поведения толпы в условиях чрезвычайной ситуации для оценки интенсивности фронта выходного потока". PDF-файл из архива "Агентная модель поведения толпы в условиях чрезвычайной ситуации для оценки интенсивности фронта выходного потока", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве НИУ ВШЭ. Не смотря на прямую связь этого архива с НИУ ВШЭ, его также можно найти и в других разделах. , а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.
Просмотр PDF-файла онлайн
Текст 9 страницы из PDF
С целью повышения качества проводимого кластерного анализа и для уменьшенияразмерности задачи был разработан модифицированный эволюционный алгоритм нечеткой кластеризации, учитывающий факт наличия препятствия на путиследования агента, а также текущее направление движения агента. Полученырезультаты, описывающие динамику кластеров, а также определяющие зависимость характеристик кластеров от параметров модели.54Раздел 2.
Разработка программного комплекса для реализации агентнойимитационной модели поведения толпы и эволюционного алгоритманечеткой кластеризации2.1 Подготовка программной реализации2.1.1 Выбор среды агентного моделированияВвиду того, что желаемая модель должна отражать логику и закономерности поведения моделируемого объекта во времени (временная динамика) ипространстве (пространственная динамика), то реализация такой модели должнабыть осуществлена в системе имитационного моделирования.
Сравнение характеристик современных систем имитационного моделирования представлено наРисунке 2.1 [36]. Необходимость использования дискретно-событийного моделирования для реализации процесса поочередного принятия решений, необходимость наличия анимации движения агентов, а также использование методовагентного моделирования обуславливают выбор пакета AnyLogic в качестве среды разработки модели.Необходимо отметить, что несмотря на встроенную в AnyLogic библиотеку пешеходов со своей логикой движения агентов, был разработан новый типагента, чья система принятия решений основана на минимизации функционалаLi и на подходе, описанном в главе 1.
Разработка авторского моделирования всреде AnyLogic, как и само программное обеспечение, реализованы на языкеJava [52]. Особенностью данного объектно-ориентированного языка программирования является тот факт, что результат разработки в виде программного архива(jar-файл) может работать на любой виртуальной Java-машине вне зависимостиот компьютерной архитектуры. Таким образом, достигается универсальность написанного кода, который может быть портирован и запущен на любом компьютере. В частности, можно преобразовать разработанный программный комплексв Java-апплет, расположенный на серверной стороне, который будет интерактивно выполняться в веб-обозревателе клиентского компьютера, что позволит55Рисунок 2.1 — Сравнение характеристик современных систем имитационногомоделирования.обеспечить удаленный доступ к модели без необходимость разворачивания инастройки решения на конкретной машине.Также важной особенностью среды AnyLogic является наличие широкогоспектра инструментов для разработки пользовательского интерфейса, что позволяет значительно упростить и сделать более понятным для конечного пользователя как процесс задания начальных параметров, так и сам процесс моделирования.
При этом, благодаря интеграции решения с базой данных, удается преобразовать плоскую анимацию движения агентов в режим 3D. При этом внутренние процессы сериализации и синхронизации, встроенные в AnyLogic, позволяют добиться высокой скорости расчетов и моделирования движения агентов56на стандартном персональном компьютере даже в условиях высокой сложностисамой модели.2.1.2Разработка базы данныхС целью хранения входных параметров агентной модели, задаваемых пользователем, а также для хранения динамики характеристик агентов в процессе моделирования, была разработана база данных (далее, БД) под управлением СУБД(система управления базы данных) MS SQL Server. Выбор СУБД был обоснован, с одной стороны, необходимостью развертывания решения на компьютерепод управлением ОС Windows, а с другой, такой критически важной характеристикой, как скорость обработки массовых транзакций, которые сопровождаютпроцесс моделирования.Сохранение в БД динамики состояния агента позволяет в последствии воссоздать движение агента по координатам и другим характеристикам и провестикластерный анализ.
Также подобный подход упрощает дальнейший анализ результатов моделирования, например, в процессе анализа интенсивности потокана “фронте выхода”, о котором пойдет речь в главе 3.Помимо этого, немаловажным фактором при выборе СУБД, являлась возможность осуществления бесшовного соединения системы AnyLogic с MS SQLServer посредством JDBC драйвера. В итоге, построенная архитектура решенияпозволяет сохранять пользовательские настройки, реплицировать и восстанавливать состояния агентов и проводить различный анализ итогов моделированиядля каждого прогона в среде моделирования.Структура БД представляет из себя набор из двенадцати таблиц, представленных на Рисунке 2.2.В таблице square содержатся исходные данные о базовом значении площади горизонтальной проекции в зависимости от возраста (рис.
2.3). Таблицаимеет следующие атрибуты:– Идентификатор записи;– Возраст;– Базовое значение площади горизонтальной проекции.57Рисунок 2.2 — Схема БД.Таблица gender представляет из себя справочник, в котором содержитсяинформации о кодах полов (мужском и женском) (рис. 2.4). Таблица имеет следующие атрибуты:– Идентификатор записи;– Пол.В таблице velocity содержатся исходные данные о комфортной и максимальной скорости ходьбы, а также о максимальной скорости бега в зависимостиот возраста и пола агента (рис. 2.5). Данные в таблице имеют единицы измерения “метры в секунду”, а преобразование в пиксели происходит уже на сторонемодели. Таблица имеет следующие атрибуты:– Идентификатор записи;– Возраст;– Пол;58Рисунок 2.3 — Таблица square.Рисунок 2.4 — Таблица gender.– Комфортная скорость ходьбы;– Максимальная скорость ходьбы;– Максимальная скорость бега.Рисунок 2.5 — Таблица velocity.В таблице version содержатся исходные данные о параметрах геометриипомещения, а также о параметрах плотности и радиуса личного пространствав зависимости от версии прогона модели (рис.
2.6). Таблица имеет следующиеатрибуты:– Идентификатор записи;– Версия прогона модели;– Общее количество агентов;– Длина помещения;...– Параметр κ3 ;– Дата прогона;– Количество единиц модельного времени в одной секунде.В таблице functional содержатся исходные данные о весах и нормирующихкоэффициентах функционала L (рис. 2.7). Таблица имеет следующие атрибуты:59Рисунок 2.6 — Таблица version.Идентификатор записи;Версия прогона модели;Параметр γ1;Параметр γ2;...– Параметр βexpl (3);– Дата прогона.––––Рисунок 2.7 — Таблица functional.В таблице coordinates содержатся данные об изменении координат и другиххарактеристик агента в процессе моделирования (рис.
2.8). Здесь стоит отметитьтот факт, что координаты хранятся в своем абсолютном выражении, а не относительно координат стен помещения. Скорость агента, также как и в таблицеversion, хранится в метрах в секунду, а обратное преобразование из пикселейпроисходит на стороне модели. Таблица имеет следующие атрибуты:60–––––––––––Идентификатор записи;Номер агента;Версия прогона модели;Модельное время;x координата;y координата;Скорость агента;Статус агента;Статус ситуации;Пол;Возраст.Рисунок 2.8 — Таблица coordinates.В таблице explosion содержатся данные о взрыве, произошедшем в процессе моделирования (рис. 2.9). Радиусы концентрических окружностей взрывахранятся в единицах метров, а преобразование в пиксели происходит уже настороне модели. Таблица имеет следующие атрибуты:– Идентификатор записи;– Версия прогона модели;– x координата взрыва;– y координата взрыва;– радиус ε0 ;– радиус ε1 ;– радиус ε2 ;– Модельное время;– Порядковый номер взрыва.61Рисунок 2.9 — Таблица explosion.Таблица clusterization представляет из себя справочник, в котором содержится информации о методах кластеризации (рис.
2.10). Более подробно о применяемых алгоритмах кластеризации было рассказано в главе 1. Таблица имеетследующие атрибуты:– Идентификатор записи;– Метод кластеризации.Рисунок 2.10 — Таблица clusterization.В таблице compactness содержатся данные об изменении плотностейкластеров в процессе моделирования для каждого алгоритма кластеризации(рис. 2.11). При этом данные сохраняются для каждой версии прогона независимо. Таблица имеет следующие атрибуты:– Идентификатор записи;– Версия прогона модели;– Модельное время;– Идентификатор алгоритма кластеризации;– Количество кластеров;– Компактность кластеров.В таблице agent_cluster содержатся данные об изменении принадлежностиагента к кластеру в процессе моделирования (рис. 2.12). Для каждого алгоритма62Рисунок 2.11 — Таблица compactness.кластеризации принадлежность к кластеру рассчитывается независимо. Таблицаимеет следующие атрибуты:– Идентификатор записи;– Версия прогона модели;– Модельное время;– Номер агента;– Идентификатор алгоритма кластеризации;– Порядковый номер кластера.Рисунок 2.12 — Таблица agent_cluster.В таблице cluster_center содержатся данные об изменении координат центров кластеров в процессе моделирования (рис.
2.13). Здесь стоит отметить тотфакт, что координаты хранятся в своем абсолютном выражении, а не относительно координат стен помещения. Для каждого алгоритма кластеризации центрыкластеров рассчитываются независимо. Таблица имеет следующие атрибуты:– Идентификатор записи;– Версия прогона модели;– Модельное время;– Идентификатор алгоритма кластеризации;– Порядковый номер кластера;63– x координата центра кластера;– y координата центра кластера.Рисунок 2.13 — Таблица cluster_center.В таблице membership содержатся данные о мере принадлежности агентовк кластеру для алгоритма нечеткой кластеризации (рис. 2.14). Мера принадлежности выражена числом из интервала [0,1]. Таблица имеет следующие атрибуты:– Идентификатор записи;– Версия прогона модели;– Модельное время;– Идентификатор алгоритма кластеризации;– Номер агента;– Порядковый номер кластера;– Мера принадлежности к кластеру.Рисунок 2.14 — Таблица membership.642.2 Разработка агентной модели толпы в среде AnyLogicСтруктурно разработанная агентная модель состоит из следующих классов:– Активные классы модели– Пользовательский интерфейс (Simulation).– Основной класс (Main);– Агент (Person);– Взрыв (Explosion);– Вспомогательные классы модели– Столкновения (Collision);– Принятие решения (Decision);– Точки пространства (MyPoint);– Векторы пространства (MyVector);– Возвращаемый результат (Result).Пользовательский интерфейс (Simulation)Данный класс предназначен для задания входных параметров пользователем.