Инструментарий имитационного моделирования пожароопасных ситуаций
Исторически первым инструментом имитационного моделирования как разновидности компьютерного моделирования были машинно-ориентированные языки программирования. В ходе развития методов программирования следующим этапом в создании имитационных моделей стало применение языков высокого уровня.
Однако сложная логическая структура имитационных моделей, характеризующаяся множеством взаимосвязей между элементами системы, претерпевающими в ходе моделирования динамические изменения, а также ряд прочих особенностей имитационного моделирования привели к созданию специальных языков и сред имитационного моделирования.
Современные инструментальные средства имитационного моделирования можно разделить на три группы:
-
программы и комплексы программ, написанные на универсальных языках программирования (С, Delphi, Java и др.);
-
программы и комплексы программ, написанные на специализированных языках моделирования (GPSS, SIMAN, SLAM, SIMSCRIPT, СИМУЛАА, GASP и др.);
-
среды имитационного моделирования (Arena, AutoMod, AlphaSim, AnyLogic, Deneb, Extend, GPSS World, MicroSaint, MAST и др.).
Выбор инструментальные средства должен базироваться на анализе целей и задач моделирования.
Программы и комплексы программ, написанные на универсальных языках программирования, описывают динамику исследуемой системы в виде системы уравнений с детерминированными Ā и случайными Ã коэффициентами [8]. В процессе реализации осуществляется перевод имеющейся системы уравнений в программу. Время моделирования разбивают на одинаковые шаги Δt. На каждом шаге Δt изменяют значения случайных коэффициентов и рассчитывают изменения выходной величины Ỹ(Δt). Каждый эксперимент представляет собой решение системы уравнений с шагом Δt. В результате устанавливается зависимость выходных величин от значений входных.
Таким образом, универсальные языки программирования целесообразно использовать для имитационного моделирования процессов, описанных аналитически.
Универсальные языки программирования делятся на языки низкого и высокого уровня. Языки низкого уровня позволяют учесть все особенности платформы, на которой будут проводиться имитационные эксперименты. Однако программирование на языках высокого уровня проще и удобнее и позволяет абстрагироваться от особенностей конкретной ЭВМ, что имеет принципиальное значение при большом числе пользователей.
Недостатком данного подхода к проведению имитационных экспериментов является трудоемкость. Как правило, разработка программ на универсальных языках программирования занимает нескольких человеко-месяцев труда специалистов по технологии, программированию и математике. Модель, содержит сотни (тысячи) команд и трудно поддается доработке.
Специализированные языки моделирования ориентированы на имитацию процессов. Они представляют собой языки высокого уровня, в которых стандартные операции имитационного моделирования представляют собой блоки в виде последовательностей команд на одном из универсальных языков. Поведение системы отображается последовательностью событий. Событием является начало или окончание какой-либо операции. Процесс отображается не системой уравнений, а взаимодействием элементов модели E1,…,En во времени и пространстве.
Специализированные языки имитационного моделирования различаются способами учета времени, сложностью изменения структуры модели, способами проведения экспериментов. Они компакты и имеют широкий круг приложений.
Специализированные языки отличается от универсальных своими специфическими свойствами. В [6] приведены следующие свойства и требования к специализированным языкам имитационного моделирования:
-
способность генерировать случайные числа;
-
возможность генерировать случайные величины и процессы;
-
возможность «продвигать» время либо на одну единицу, либо до следующего события;
-
способность накапливать выходные данные;
-
способность проводить статистический анализ накапливаемых данных;
-
способность распределять выходные данные по заранее заданным форматам;
-
способность выполнять идентификацию конкретных событий.
Некоторые из языков имитационного моделирования являются и описательными языками. Они близки к естественному языку, поэтому имитационные модели, написанные на таком языке, легче воспринимаются руководителями и специалистами, не имеющими непосредственного отношения к программированию.
Специальные языки цифрового имитационного моделирования делятся на две группы, соответствующие двум видам имитации: дискретных и непрерывных процессов.
Для моделирования непрерывных процессов используются языки:
-
DYNAMO – для аппроксимации непрерывных процессов используют дифференциальные уравнения первого порядка;
-
CSMP, Midas и др., которые помимо блочного построения, применяемого в языке Динамо, еще обладают мощью и удобством алгебраической и логической алгоритмизацией.
Языки для моделирования дискретных процессов можно разбить на четыре категории:
-
языки, ориентированные на действия (CSL, FORSIM IV и др.);
-
языки, ориентированные на события (SIMSCRIPT, SIMCOM и др.);
-
языки, ориентированные на процессы (СИМУЛАА, SOL);
-
языки, ориентированные на потоки сообщений (GPSS, BOSS).
В первой группе действия представлены в модельном времени как мгновенные. В этих языках нет регламентации действиям. Вместо этого исполнительные программы просматривают набор всех условий, от которых зависит появление какого-либо события. И только тогда, когда выполняются все контролируемые условия, происходит изменение состояния и сдвиг времени в этой части программы.
Некоторые задачи удобнее программировать на языке ориентированном на события. При этом событие регламентировано. Регламентация обеспечивает наступление события именно в тот момент времени, когда динамическое состояние показывает, что сложились условия для его появления.
Недостатком специализированных языков имитационного моделирования является необходимость специальной подготовки пользователя, который должен написать программу в терминах языка для конкретного объекта моделирования. Помимо этого они сильно ограничивают возможности написания конкретной и ограниченной для данного языка концепцией моделирования.
В средах имитационного моделирования пользователь составляет модель, выбирая из библиотеки графические модули, и/или заполняя специальные бланки. В средах имитационного моделирования автоматизированы процессы статистической обработки данных, управления проведением экспериментов, оптимизации поведения системы, сравнения различных альтернатив. Так же существует возможность создания своих собственных блоков на встроенных универсальных языках. Как правило, среда имитационного моделирования обеспечивает возможность визуализации процесса имитации и связи с инструментами компьютерного проектирования систем.
В качестве основных недостатков существующих сред имитационного моделирования можно выделить ограниченность области применения (большинство из них ориентированы на моделирование экономических и бизнес-процессов) и высокую стоимость.
В [8] проведен сравнительный анализ групп инструментов имитационного моделирования. Выделены основные требования, которые предъявляются к программным средствам имитационного моделирования, и отмечено, выполняются или не выполняются эти требования и в какой степени (0 – требование не выполнено; 1 – требование выполнено; 2 – требование выполнено и расширено). Результаты представлены в таблице 1.
В литературе также встречается классификация инструментов имитационного моделирования по методам визуализации информации. Наибольший интерес в рамках данного исследования представляют универсальные пакеты, позволяющие моделировать структурно-сложные гибридные системы.
Их можно условно разделить на три группы:
-
пакеты «блочного моделирования»:
-
пакеты «физического моделирования»:
-
пакеты, ориентированные на схему гибридного автомата.
Таблица 1. Преимущества и недостатки программных средств имитационного моделирования систем
Требования к инструментам имитационного моделирования | Программы и комплексы программ, написанные на универсальных языках программирования | Программы и комплексы программ, написанные на специализированных языках моделирования | Среды имитационного моделирования |
Простота и скорость процесса имитационного моделирования (не требуется знать язык программирования, модель составляется из библиотеки стандартных модулей, описание блоков близко к описанию на естественном языке) | 0 | 1 | 2 |
Возможность смещать модельное время либо на единицу, либо до следующего события | 0 | 2 | 2 |
Способность генерировать случайные числа и работать со случайными переменными и различными законами распределения вероятностей событий | 0 | 2 | 2 |
Возможность построения моделей без аналитического описания динамики системы | 0 | 2 | 2 |
Способность автоматически накапливать необходимые данные (пользователю нет необходимости включать в модель вычислительные операторы для сбора и накопления этих данных) | 0 | 2 | 2 |
Автоматизация процессов статистической обработки данных, управления экспериментами, оптимизации поведения системы, сравнения различных альтернатив | 0 | 1 | 2 |
Возможность выявлять и регистрировать логические несоответствия и другие ситуации, связанные с ошибками в модели | 0 | 2 | 2 |
Широкая распространенность | 2 | 1 | 0 |
Гибкость (можно моделировать и программировать все, что угодно) | 2 | 1 | 0 |
Возможность заранее строить для пользователей стандартные подпрограммы, которые могут применяться в других имитационных моделях | 2 | 2 | 2 |
Простота визуализации работы системы в соответствии с имитационной моделью (соединение с языком анимации, встроенная анимация) | 0 | 1 | 2 |
Это деление является условным, прежде всего потому, что все эти пакеты имеют много общего: позволяют строить многоуровневые иерархические функциональные схемы, поддерживают в той или иной степени технологию объектно-ориентированного моделирования, предоставляют сходные возможности визуализации и анимации. Отличия обусловлены тем, какой из аспектов сложной динамической системы сочтен наиболее важным.
Пакеты «блочного моделирования» ориентированы на графический язык иерархических блок схем. Элементарные блоки являются либо предопределенными, либо могут конструироваться с помощью некоторого специального вспомогательного языка более низкого уровня. Новый блок можно собрать из имеющихся блоков с использованием ориентированных связей и параметрической настройки. В число предопределенных элементарных блоков входят чисто непрерывные, чисто дискретные и гибридные блоки.
К достоинствами этого подхода следует отнести, прежде всего, чрезвычайную простоту создания не очень сложных моделей даже не слишком подготовленным пользователем. Другим достоинством является эффективность реализации элементарных блоков и простота построения эквивалентной системы. В то же время при создании сложных моделей приходится строить довольно громоздкие многоуровневые блок-схемы, не отражающие естественной структуры моделируемой системы. Другими словами, этот подход работает хорошо, когда есть подходящие стандартные блоки.
Наиболее известными представителями пакетами «блочного моделирования» являются:
-
подсистема СИМУЛАINK пакета MATLAB (MathWorks Inc.);
-
EASY5 (Boeing);
-
подсистема SystemBuild пакета MATRIXX (Integrated Systems Inc.);
-
VisSim (Visual Solution).
Пакеты «физического моделирования» позволяют использовать неориентированные и потоковые связи. Пользователь может сам определять новые классы блоков. Непрерывная составляющая поведения элементарного блока задается системой алгебро-дифференциальных уравнений и формул. Дискретная составляющая задается описанием дискретных событий (события задаются логическим условием или являются периодическими), при возникновении которых могут выполняться мгновенные присваивания переменным новых значений. Дискретные события могут распространяться по специальным связям. Изменение структуры уравнений возможно только косвенно через коэффициенты в правых частях (это обусловлено необходимостью символьных преобразований при переходе к эквивалентной системе).
Подход очень удобен и естественен для описания типовых блоков физических систем. Недостатками являются необходимость символьных преобразований, что резко сужает возможности описания гибридного поведения, а также необходимость численного решения большого числа алгебраических уравнений, что значительно усложняет задачу автоматического получения достоверного решения.
К пакетам «физического моделирования» следует отнести:
-
20-SIM (Controllab Products B.V);
-
Dymola (Dymasim);
-
Omola, OmSim (Lund University);
Как обобщение опыта развития систем этого направления международной группой ученых разработан язык Modelica, предлагаемый в качестве стандарта при обмене описаниями моделей между различными пакетами.
Пакеты, основанные на использовании схемы гибридного автомата, позволяют очень наглядно и естественно описывать гибридные системы со сложной логикой переключений. Необходимость определения эквивалентной системы при каждом переключении заставляет использовать только ориентированные связи. Пользователь может сам определять новые классы блоков. Непрерывная составляющая поведения элементарного блока задается системой алгебро-дифференциальных уравнений и формул. К недостаткам следует также отнести избыточность описания при моделировании чисто непрерывных систем.
К этому направлению относится пакет Shift, а также отечественный пакет Model Vision Studium. Пакет Shift в большей степени ориентирован на описание сложных динамических структур, а пакет MVS – на описание сложных поведений.
Заметим, что между вторым и третьим направлениями нет непреодолимой пропасти. В конце концов, невозможность их совместного использования обусловлена лишь сегодняшними вычислительными возможностями. В то же время, общая идеология построения моделей практически совпадает. В принципе, возможен комбинированный подход, когда в структуре модели должны выделяться составные блоки, элементы которых имеют чисто непрерывное поведение, и однократно преобразовываться к эквивалентному элементарному. Далее уже совокупное поведение этого эквивалентного блока должно использоваться при анализе гибридной системы.
Итак, программные средства имитации в своем развитии значительно изменялись, но основное назначение всех этих средств – уменьшение трудоемкости создания программных реализаций имитационных моделей и экспериментирования с ними.
При разработке системы имитационного моделирования пожароопасных ситуаций для оценки пожарного риска объекта наиболее обоснованным видится использование универсальных языков программирования. Данный выбор обусловлен, в первую очередь, тем, что процесс развития пожаров в зданиях и сооружениях достаточно хорошо изучен и описан математическими моделями. Во-вторых, выбор данного инструментального средства обусловлен его широкой распространенностью, гибкостью и возможностью строить стандартные подпрограммы, которые могут применяться в других имитационных моделях.
Производя выбор универсального языка программирования, по мнению автора, технологичнее брать за основу наиболее распространенные языки, такие как С или Java. Это позволит избежать проблем с компилятором и переносимостью на другие платформы, а также позволит привлечь к разработке более широкий круг специалистов. Для визуализации результатов моделирования при этом может должен быть разработан специализированный графический редактор.
- Теоретические подходы и инструментарий имитационного моделирования пожароопасных ситуаций
- Принципы построения имитационных моделей
- Методы имитационного моделирования
- Инструментарий имитационного моделирования пожароопасных ситуаций
- Теоретические подходы имитационного моделирования пожароопасных ситуаций