Диссертация (Агентная модель поведения толпы в условиях чрезвычайной ситуации для оценки интенсивности фронта выходного потока), страница 10
Описание файла
Файл "Диссертация" внутри архива находится в папке "Агентная модель поведения толпы в условиях чрезвычайной ситуации для оценки интенсивности фронта выходного потока". PDF-файл из архива "Агентная модель поведения толпы в условиях чрезвычайной ситуации для оценки интенсивности фронта выходного потока", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве НИУ ВШЭ. Не смотря на прямую связь этого архива с НИУ ВШЭ, его также можно найти и в других разделах. , а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.
Просмотр PDF-файла онлайн
Текст 10 страницы из PDF
При старте модели можно наблюдать интерфейс, представленный в приложении Б.1. Все входные параметры моделирования разбиты на шесть групп(рис. 2.15). Код данного класса, включающий верификацию введенных данных,представлен в приложении Б.2.Меняя значения параметров в текстовых полях, пользователь имеет возможность менять как характеристики помещения и количества агентов, так ипараметры, отвечающие за систему принятия решений агента.
Таким образомможно, с одной стороны, подобрать значения параметров для наиболее достоверной динамики агентов и тем самым провести калибровку модели, а с другой, появляется возможность варьировать психо-физические аспекты поведенияагентов для подбора тех значений параметров, которые обеспечат максимизацию количество спасенных агентов. Другими словами, появляется возможностьразработки системы руководств к действию для агентов попавших в ЧС с цельюповышения вероятности выживания. Более подробно вопрос подбора параметров и коэффициентов для калибровки модели рассмотрен в параграфе 2.4.65Рисунок 2.15 — Группы параметров класса Simulation.В рамках каждого текстового поля, управляемого пользователем, встроена проверка как допустимости вводимых данных, так и каскадное обновлениезависимых полей. Ниже представлен фрагмент кода подобной проверки./ / к а с к а д н о е о б н о в л е н и е з н а ч е н и й д р у г и х текстовых п о л е й для с о х р а н е н и я л о г и к исоотношений между нимиi f ( box_vartheta_4 .
getDoubleValue ( ) <0.7) {box_vartheta_4 . setText (0.7 , true ) ;5}i f ( box_vartheta_4 . getDoubleValue ( ) < box_vartheta_1 . getDoubleValue ( ) ) {box_vartheta_4 . se t T e x t ( box_vartheta_1 . getDoubleValue ( ) , t r u e ) ;}10i f ( box_vartheta_4 . getDoubleValue ( ) < box_vartheta_2 . getDoubleValue ( ) ) {box_vartheta_4 . se t T e x t ( box_vartheta_2 . getDoubleValue ( ) , t r u e ) ;}i f ( box_vartheta_4 . getDoubleValue ( ) < box_vartheta_3 . getDoubleValue ( ) ) {box_vartheta_4 . se t T e x t ( box_vartheta_3 . getDoubleValue ( ) , t r u e ) ;}15v a r _ v a r t h e t a [3]= box_vartheta_4 .
getDoubleValue ( ) ;66В случае выбора пользователем ручного режима распределения количества агентов по клеткам открывается соответствующая область заполнения (рис. 2.16).Рисунок 2.16 — Область заполнения количества агентов в клетках.Также при смене типа распределения того или иного стохастического параметра происходит динамическое замена характеристик распределения (рис.2.17).Рисунок 2.17 — Динамическое отображение характеристик для разныхраспределений.При завершении работы класса Simulation происходит передача входныхпараметров моделирования, введенных пользователем, в класс Main, а также67проверка непротиворечивость БД на предмет уникальности текущей версии прогона модели.Основной класс (Main)Данный класс является средой исполнения всех остальных классов и содержит в себе как процесс отрисовки помещения, так и процесс движения ивзаимодействия агентов.
Интерфейс класса Main представлен в приложении В.1.Все входные и расчетные параметры моделирования данного класса разбиты навосемь групп (рис. 2.18). Код класса Main представлен в приложении В.2.Рисунок 2.18 — Группы параметров класса Main.Также в классе Main осуществляется управление появлением взрыва и переходом к окну статистики. Интерфейс окна статистики представлен в приложении В.3.Класс агента (Person)Данный класс реализует популяцию агентов-пешеходов.
Интерфейс классаPerson представлен в приложении Г.1. В качестве логики работы данного классабыла выбрана схема синхронизации движения агентов, в рамках которой про-68цесс моделирования движения разбивается на шаги, а действия выполняются вследующем порядке:1. Выполняется Действие перед выполнением шага класса Main.2. У всех агентов выполняются Действия перед выполнением шага (в каком-то определенном порядке).3. В том же самом порядке у всех агентов выполняются Действия на шаге.4.
Выполняется Действие после выполнения шага класса Main.Код класса Main представлен в приложении Г.2.Класс взрыва (Explosion)Класс Explosion задает визуализацию взрыва, а также его геометрическиехарактеристики – радиусы концентрических окружностей поражения агентов,которые в момент запуска класса Main получают свои фактические значения.Интерфейс класса Main представлен в приложении Д.1. Код класса Explosionпредставлен в приложении Д.2.Класс столкновений (Collision)Данный класс предназначен для обработки события столкновения агентов в процессе моделирования. Класс представлен двумя методами: регистрацияфакта взаимодействия и расчет результата взаимодействия агентов, согласно законам сохранения импульса и кинетической энергии.
Код класса Collision представлен в приложении Е.1.Класс принятия решения (Decision)Данный класс реализует процесс принятия решения агентом. Результатомработы является единичный вектором нового направления движения агента, атакже его новая скорость. Методы данного класса рассчитывают как возможность перехода в тот или иной сектор, так и компоненты функционала L. Завершающий метод класса высчитывает аргументы, минимизирующие функционал, и возвращает соответствующие значения.
Код класса Decision представленв приложении Ж.1.Класс точек пространства (MyPoint)Данный класс предназначен для описания точек пространства как парызначений координат точки. Также в рамках данного класса реализован метод,проверяющий отрезки на факт пересечения. Данный метод используется в процессе проверки выхода агента за пределы помещения. Код класса MyPoint представлен в приложении З.1.69Класс векторов (MyVector)В этом классе реализовано векторное исчисление пространства. Помимонепосредственного задания векторов различными конструкторами, данный классреализует такие методы, как скалярное произведение векторов, косое произведение, нормирование вектора, растяжение, поворот вектора, вычисление угламежду векторами и т.д. Код класса MyVector представлен в приложении И.1.Класс результатов (Result)Данный класс предназначен для описания результатов, возвращаемыхвспомогательными классами.
Поля данного класса представлены единичнымвектором нового направления движения агента, а также его новой скоростью.Возвращать данный класс может как вектор целиком, так его отдельные компоненты. Код класса Result представлен в приложении К.1.2.3Архитектура программного комплексаРазработанный комплекс программ, обеспечивающий реализацию предложенной агентной модели поведения толпы в условиях чрезвычайных ситуаций сиспользованием эволюционного алгоритма нечеткой кластеризации основан наиспользовании следующих важнейших технологий:1. Имитационная модель толпы в среде AnyLogic — обеспечивающая численную реализацию на объектно-ориентированном языке программирования высокого уровня Java разработанную агентную модель поведениятолпы в условиях ЧС, интегрированную с предложенным эволюционным алгоритмом нечеткой кластеризации.2.
Набор классов Java, разработанных для агентной модели поведения толпы в условиях чрезвычайных ситуаций, в частности, следующих классов:– Пользовательский интерфейс модели;– Основной класс модели;– Класс агента;– Класс взрыва;– Класс столкновений;70– Класс принятия решения;– Класс точек пространства;– Класс векторов пространства;– Класс результатов.3.
СУБД MS SQL Server — реляционная база данных, обеспечивающая хранение и обработку данных имитационной модели, в том числе, исходных значений и результатов имитационного моделирования необходимых для последующего кластерного анализа.4. JDBC — стандарт взаимодействия Java-приложений с различнымиСУБД, в том числе, используемой СУБД MS SQL Server.5. Эволюционный алгоритм нечеткой кластеризации (реализованный ввиде подключаемой программной библиотеки – JAR-файла), в частности, обеспечивающая реализацию и применение данного алгоритма дляпредложенной агентной модели поведения толпы.6. Подсистема статистической обработки результатов кластерного анализа в среде RStudio, поддерживающей язык программирования R иинтегрированная с базой данных системы (MS SQL Server).Отметим, что комплексы программ (интегрированные подсистемы) 1, 2, 3 и 5предложены впервые.
Подобная комбинация позволяет принципиально повысить эффективность оценки потока толпы на выходе фронта за счет перехода отдинамики толпы к динамике кластеров, идентифицируемых с использованиемпредложенного эволюционного алгоритма нечеткой кластеризации.Как было отмечено ранее, платформа AnyLogic является самостоятельнымкоммерческим продуктом, обеспечивающим возможность программной реализации сложных имитационных моделей агентного типа. Несмотря на наличиев данной системе готовых библиотек, реализующих стандартную логику движения людей в окружающей среде (например, пешеходных потоков “pedestrianlibrary”), в предложенной имитационной модели подобные библиотеки не используются, так как они не учитывают влияние динамики ЧС, в том числе, особенности взаимодействия агентов при развитии ЧС, а также сложные коллизии,влияющие на динамику агентов.Для предложенной имитационной модели поведения толпы разработанареляционная база данных, схема которой представлена на Рисунке 2.2, позволяющая, в частности, сохранять сценарную динамику состояния агентов для це-71лей дальнейшего кластерного анализа.
Данная СУБД бесшовно интегрированас разработанной имитационной модели поведения толпы с помощью стандартного интерфейса JDBC, позволяющего, в частности, взаимодействовать с базойданных посредством SQL-запросов (на запись, чтение и обновление данных).Важнейшей компонентой спроектированного программного комплекса является набор разработанных с использованием языка программирования Javaклассов, таких как, класс агента, класс столкновений, класс принятия решения идр.