ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ

  • ppt
  • 11.05.2020
Публикация в СМИ для учителей

Публикация в СМИ для учителей

Бесплатное участие. Свидетельство СМИ сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 9. ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ.ppt

ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ

Роберт Шеннон :
"Имитационное моделирование есть процесс конструирования модели реальной системы и постановки экспериментов на этой модели с целью либо понять поведение системы, либо оценить (в рамках ограничений, накладываемых некоторым критерием или совокупностью критериев) различные стратегии, обеспечивающие функционирование данной системы."

Имитационное моделирование (ИМ) (simulation modeling)

номер эксперимента

наилучшие условия

Комплексный метод исследования сложных систем на ЭВМ, включающий построение концептуальных, математических и программных моделей, выполнение широкого спектра целенаправленных имитационных экспериментов, обработку и интерпретацию результатов этих экспериментов.

Специальная форма математической модели, в которой:
декомпозиция системы на компоненты производится с учетом структуры проектируемого или изучаемого объекта;
в качестве законов поведения, могут использоваться экспериментальные данные, полученные в результате натурных экспериментов;
поведение системы во времени иллюстрируется заданными динамическими образами.


Имитационная модель

Возможности имитационного моделирования

Тренинг

Визуализация
процессов

Анализ

Системный анализ

Принятие решений

Оптимизация

Имитационное моделирование

Не существует законченной математической постановки задачи, либо еще не разработаны аналитические методы решения сформулированной математической модели;
Аналитические методы имеются, но математические процедуры столь сложны и трудоемки, что имитационное моделирование дает более простой способ решения задачи;
Аналитические решения существуют, но их реализация невозможна вследствие недостаточной математической подготовки  имеющегося персонала.
Кроме оценки определенных параметров, желательно осуществить на имитационной модели наблюдение за ходом процесса в течение некоторого времени ;
Для долговременного действия систем или процессов может понадобиться сжатие временной шкалы. Имитационное моделирование дает возможность полностью контролировать время изучения системы, поскольку явление может быть замедлено или ускорено по желанию.

Целесообразность применения

Недостатки имитационного моделирования

Низкая точность результатов (по сравнению с математическим моделированием). Нет возможности измерить степень неточности.
Разработка  хорошей  имитационной  модели часто обходится дорого и требует много времени,  а также наличия  высококвалифицированных специалистов.
Результаты,  которые дает имитационная модель, обычно являются численными,  а их точность определяется количеством знаков после запятой,  выбираемым экспериментатором. В связи с этим возникает  опасность  "обожествления  чисел", 
т.е.  приписывания им большей значимости, чем они на самом деле имеют.
Отсутствие единой теории и методологии построения моделей . В отличии от других видов моделирования, где имеются хорошо апробированные методики создания и использования моделей.

Приложения имитационного моделирования

Подходы в имитационном моделировании

Этапы имитационного моделирования

Цели моделирования


Оценка – определение, насколько хорошо система предлагаемой структуры будет соответствовать некоторым конкретным критериям.
Сравнение альтернатив – сопоставление конкурирующих систем, рассчитанных на выполнение определенной функции, или же на сопоставление нескольких предлагаемых рабочих принципов или методик.
Прогноз – оценка поведения системы при некотором предполагаемом сочетании рабочих условий.
Анализ чувствительности – выявление из большого числа действующих факторов тех, которые в наибольшей степени влияют на общее поведение системы.
Выявление функциональных соотношений – определение природы. зависимости между двумя или несколькими действующими факторами, с одной стороны, и откликом системы с другой.
Оптимизация – точное определение такого сочетания действующих факторов и их величин, при котором обеспечивается наилучший отклик всей системы в целом.

Разработка концептуального описания

Формализация имитационной модели

выбор способа формализации;
составление формального описания системы.
Наиболее известные и широко используемые на практике концепции формализации:
агрегативные системы и автоматы;
сети Петри и их расширения;
модели системной динамики,

В основе лежит концепция заявок (транзактов, entities), ресурсов и потоковых диаграмм (flowcharts), определяющих потоки заявок и использование ресурсов. Этот подход восходит к Джеффри Гордону, который в 1960х придумал и
развил GPSS и реализовал её, работая в IBM [Gordon 1961]. Заявки (транзакты в GPSS) – это пассивные объекты, представляющие людей, детали, документы, задачи, сообщения и т.п. Они перемещаются, стоят в очередях, обрабатываются, захватывают и освобождают ресурсы, разделяются, объединяются и т.д.

Существует около сотни коммерческих инструментов, поддерживающих подобный стиль моделирования; некоторые общего назначения, большинство нацелено на определённые ниши: обслуживание, бизнес-процессы, производство, логистика и т.д.

Их пользовательские интерфейсы могут существенно различаться из-за специализации, но за ними непременно стоит более или менее одинаковый дискретно-событийный “движок” (engine), который “гоняет” заявки через блоки. Дискретно-событийную модель можно рассматривать как глобальную схему обработки заявок, обычно со стохастическими элементами.

Дискретно-событийное моделирование

Непрерывное моделирование

Используется инженерами в механике, электронике, энергетике, химии как часть стандартного процесса разработки. Такими схемами пользуются при разработке систем управления; для разных областей могут использоваться разные визуальные и текстовые нотации
Соответствующая математическая модель, будет состоять из набора переменных состояний, характеристики которых описываются с помощью систем алгебро-дифференциальных уравнений
Переменные состояния имеют прямой “физический” смысл: координата, скорость, давление, концентрация, и т.д.; они естественно непрерывные и не являются агрегатами (количествами) дискретных объектов

Агентное моделирование

Под этим лозунгом делается большое количество исследований и разработок в различных областях знания, например, в искусственном интеллекте, теории сложных систем, теории игр и т.д.
Общепризнанного определения “что такое агент” не существует; люди до сих пор спорят о том, какими же качествами должен обладать объект, чтобы “заслужить” называться агентом: инициативность и реактивность, ориентация в пространстве, способность обучаться, общаться, “интеллект” и т.д. [Schieritz и Milling 2003].
Однако, есть нечто, что объединяет все агентные модели: они существенно децентрализованы. В отличие от системной динамики или дискретно-событийных моделей, здесь нет такого места, где централизованно определялось бы поведение (динамика) системы в целом. Вместо этого, аналитик определяет поведение на индивидуальном уровне, а глобальное поведение возникает (emerges) как результат деятельности многих (десятков, сотен, тысяч, миллионов) агентов, каждый из которых следует своим собственным правилам, живёт в общей среде и взаимодействует со средой и с другими агентами.

Принципы построения моделирующих алгоритмов

Объекты моделирования описываются с помощью некоторых атрибутов языка;
Атрибуты взаимодействуют с процессами, адекватным реально протекающим явлениям в моделируемой системе;
Процессы требуют конкретных условий, определяющих логическую основу и последовательность взаимодействия этих процессов во времени;
Условия влияют на события, имеющие место внутри объекта моделирования и при взаимодействии с внешней средой;
События изменяют состояния модели системы в пространстве и времени.

Испытание и исследование модели, проверка модели

Оценка адекватности или валидация модели
Проверка соответствия между поведением имитационной модели и исследуемой реальной системы.
Валидация модели есть подтверждение того, что модель в пределах рассматриваемой области приложений ведет себя с удовлетворительной точностью в соответствии с целями моделирования.
Валидация и верификация имитационной модели связаны с обоснованием внутренней структуры модели, в ходе этих процедур проводятся испытания внутренней структуры и принятых гипотез, исследуется внутренняя состоятельность модели.

Испытание и исследование модели, проверка модели

Верификация модели
Доказательство возможности использования создаваемой программной модели в качестве машинного аналога концептуальной модели на основе обеспечения максимального сходства с последней.
Цель процедуры верификации – определить уровень, на котором это сходство может быть успешно достигнуто.

Валидация данных
Валидация данных направлена на доказательство того, что все используемые в модели данные, в том числе входные, обладают удовлетворительной точностью и не противоречат исследуемой системе, а значения параметров точно определены и корректно используются. С этой целью проводят исследование свойств имитационной модели: оценивается точность, устойчивость, чувствительность результатов моделирования.

Основные типы направленных вычислительных экспериментов

Цели вычислительного эксперимента

Тип направленного вычислительного эксперимента

Оценка выходных переменных при заданных параметрах системы.

Оценка и сравнение средних и дисперсий различных альтернатив

Сравнение альтернатив (или выбор на множестве альтернатив)

Оценка и сравнение средних и дисперсий различных альтернатив

Получение знаний о влиянии управляемых параметров на результаты эксперимента

Анализ чувствительности

Определение тех значений входных параметров и переменных, при которых достигается оптимальный выход

Поиск оптимума на множестве возможных значений переменных

Вариантный синтез

Многокритериальная оптимизация, выбор

Инструментальные средства моделирования

Языки моделирования

Визуальные среды моделирования

третье поколение (70-е годы, ACSL...) — возможность комбинированного непрерывно-дискретного моделирования; четвёртое поколение (80-е годы, SIMFACTORY, XCELL...) — ориентация на конкретные области приложения, возможность анимации; пятое поколение (90-е годы, SIMPLEX II, SIMPLE++...) — графический интерфейс, интегрированная среда для создания и редактирования моделей, планирования экспериментов, управления моделированием и анализа результатов.

Эволюция программных средств моделирования

первое поколение (50-е годы, FORTRAN, ALGOL...) — программирование моделей на языках высокого уровня без какой-либо специальной поддержки;

второе поколение (60-е годы, GPSS, SIMULA, SIMSCRIPT...) — специальная поддержка моделирования в виде соответствующих выражений языка, генераторов случайных чисел, средств представления результатов;

• удобные способы организации данных, обеспечивающие простое и эффективное моделирование;
• удобные средства формализации и воспроизведения динамических свойств моделируемой системы;
возможность имитации стохастических систем, т.е. процедур генерации последовательности случайных чисел (ПСЧ) и вероятностного (статистического) анализа результатов моделирования;
• простые и удобные процедуры отладки и контроля программы;
• доступные процедуры восприятия и использования языка и др.

Требования к языкам моделирования

дискретные

Классификация языков моделирования

непрерывные

комбинированные

Ориентация языка

на использование диф. уравнений

на действия

на транзакты

на процессы

на события

на состояние и время

DYNAMO

FORSIM

GPSS

SIMULA

SIMSCRIPT

GASP

Средства визуального моделирования позволяют вводить описание моделируемой системы в естественной для пользователя, специалиста в своей прикладной области, графической форме, автоматически переводить описание на язык компьютера и представлять результаты моделирования, опять же, в графической форме, например, в виде временных или фазовых диаграмм и анимированных картинок.
Трудоемкость и время разработки модели и проведения вычислительных экспериментов в таких средах сокращаются в десятки раз, по сравнению с традиционным способом, когда для каждой новой разработки создается своя, индивидуальная программа.

Преимущества средств визуального моделирования

Типовая структура среды визуального моделирования

удобный, легко интерпретируемый графический интерфейс;
библиотека диаграммы или блок-схем;
встроенный язык программирования (общего назначения или объектно-ориентированный) ;
средства мультипликации (animation), подчас мультипликация весьма сложная, в реальном времени, как, например, в TAYLOR.
средства для интеграции с другими программными средами, осуществляют доступ к процедурным языкам, связанным с кодом имитационной модели, для реализации специальных вычислений, доступа к базам данных (подход Simulation Data Base);
оптимизационные блоки;

Базовые модели

Изолированная однокомпонентная динамическая система
Такая модель задается системой обыкновенных дифференциальных и алгебраических уравнений с заданными коэффициентами и начальными условиями. Уравнения могут быть записаны явно, либо, как это часто бывает в теории управления, используется аппарат передаточных функций. Примером простейшей изолированной непрерывной системы может служить математический маятник, поведение которого изучают, например, при наличии или отсутствии трения.

Изолированная однокомпонентная гибридная система
В изолированных однокомпонентных гибридных системах смена поведения зависит исключительно от внутренних событий. Например, в уравнении математического маятника коэффициенты могут меняться периодически или при достижении маятником заданного положения. Модели этого типа достаточно сложно реализуются в математических пакетах, в то же время дискретные системы (частный случай гибридных систем) воспроизводятся достаточно просто во всех пакетах, опирающихся на карту состояния Харела (например, пакет Xjcharts).
Интерфейс пользователя для изолированных однокомпонентных гибридных систем требует еще одного окна - например, окна редактора карт состояния (Simulink, Stateflow) или их расширения - гибридных карт состояний (Model Vision, Anylogic). Существует много различных способов описать смену фаз или режимов - это и сети Петри, и графы связей, но нам кажется наиболее перспективным использование гибридных автоматов.
Для описания дискретных действий в гибридных моделях требуется расширенный набор типов переменных, а также некоторый набор алгоритмических операторов (как минимум, оператор присваивания, условный оператор и оператор цикла).

Открытая однокомпонентная гибридная система

Это наиболее востребованная практикой модель, которая позволяет проводить активный компьютерный эксперимент и может быть использована в качестве библиотечной компоненты. Такая модель имеет доступные извне переменные, посредством которых она может взаимодействовать с окружающим миром: с другими компонентами и с экспериментатором.
Используя модель маятника в виде изолированной системы, можно построить открытую систему, объявив, например, длину маятника не коэффициентом, а входом, и связав его с движком в окне двумерной анимации. Переход от изолированной модели к открытой может быть нетривиальным: например, маятник, у которого длина стержня непрерывно меняется, описывается совсем другими уравнениями.
Блок может работать независимо и параллельно с другими блоками. Из блоков, соединенных связями, можно строить иерархические структурные схемы.
Окна переменных («живые таблицы») и анимации (по крайней мере, двумерной) становятся интерактивными. Пользователь может с помощью ползунков, круговых регуляторов, кнопок и тумблеров активно воздействовать на модель во время эксперимента. Очевидно, что активный эксперимент требует синхронной визуализации.

Структурная многокомпонентная система с ориентированными блоками
Эта модель строится из ориентированных блоков. Модели этого класса наиболее приспособлены для изучения и проектирования технических объектов, собираемых из типовых блоков. Такой способ проектирования принят во многих пакетах - Simulink, Dymola, Model Vision Studium, Anylogic.
Автоматическое построение совокупной системы уравнений в этом случае не вызывает никаких проблем (заметим, что для гибридных моделей такое построение должно выполняться динамически при переключениях). При визуализации многокомпонентных систем возникает интересная и еще не до конца решенная проблема об автоматическом построении анимационного образа всей многокомпонентной системы, составленного из анимационных образов отдельных компонент (AnyLogic). Примером простейшей такой системы может служить маятник в падающем лифте.

Структурная многокомпонентная система с неориентированными блоками
Основой этих моделей служит блок с особыми внешними переменными - контактами (Modelica), или неориентированный блок. Значения контактов могут меняться как внутри блока, так и извне. Одним из препятствий на этом пути построения многокомпонентных моделей служит то, что возникают трудности при автоматическом построении совокупной системы уравнений (особенно динамически). Но даже если такую систему удается построить, практически невозможно заранее ответить на вопросы: имеет ли она решение, единственное ли оно, какими численными свойствами оно обладает. Во всех существующих пакетах ответы на эти вопросы «перекладываются на плечи» численных методов, а они для этого меньше всего приспособлены. В то же время для ряда областей - проектирование электрических цепей или электромеханических приборов - использование блоков с контактами является общепринятым приемом.

Многокомпонентная гибридная система переменной структуры
Модели этого наиболее сложного типа не реализованы в полном объеме ни в одном из известных пакетов. Речь идет о событийно-управляемых многокомпонентных иерархических моделях переменной структуры, построенных из блоков с переменными «вход», «выход», «состояние» и «контакт».

Объектно-ориентированное моделирование
Без понятия класса практически невозможно моделировать многокомпонентные системы, имеющие регулярную или переменную структуру.
Объекты ООМ, конечно же, активные, причем их активность связана не с циклической последовательностью дискретных действий, а с непрерывным воспроизведением поведения и непрерывной реакцией на внешние воздействия.
Более сложными механизмами являются наследование и полиморфизм. Наследование позволяет строить новые классы, модифицируя старые путем введения новых элементов и переопределения уже существующих. Это очень похоже на объектное программирование, но элементами компоненты модели теперь являются переменные, системы уравнений и карты состояний. Например, чтобы создать модель прыгающего мячика в воздухе, можно взять модель прыгающего мячика в вакууме и переопределить поведение в состоянии «Полет», изменив уравнения с учетом сопротивления воздуха.
Полиморфизм позволяет использовать вместо компоненты одного класса компоненту другого похожего класса. Обычный полиморфизм по наследованию предполагает, что вместо компоненты базового класса всегда может использоваться компонента любого производного класса (например, для локационной станции и аэробус, и истребитель выступают как летательный аппарат). Иногда оказывается полезным полиморфизм по интерфейсу, когда одна компонента может быть заменена другой, имеющей точно такой же набор внешних переменных (например, сопротивление, конденсатор и индуктивность - это все двухполюсники, с точки зрения собирания электрической схемы они одинаковы).

Классическая модель системной динамики

Модель динамической системы: прыгающий мячик в MATLAB Simulink.

Дискретно-событийная модель: отделение банка.