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

В настоящее время не существует единой точки зрения по вопросу о том, что понимать под имитационным моделированием. Определений термина «имитационное моделирование» к настоящему времени существует большое количество.

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

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

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

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

Имитация — это процесс «выполнения» модели, проводящий ее через (дискретные или непрерывные) изменения состояния во времени. Имитация, как метод решения нетривиальных задач, получила начальное развитие в связи с созданием ЭВМ в 1950‑х — 1960‑х годах. Цель имитационного моделирования состоит в воспроизведении поведения исследуемой системы на основе результатов анализа наиболее существенных взаимосвязей между ее элементами или, другими словами,— в разработке симулятора исследуемой предметной области для проведения различных экспериментов.

К имитационному моделированию прибегают, когда:

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

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

Одно из основных достоинств имитационных моделей — возможность моделирования даже в тех случаях, когда аналитические модели либо отсутствуют, либо (из-за сложности системы) не дают практически удобных результатов. Достаточно просто при имитационном моделировании реализуются алгоритмы обработки результатов измерений для выработки, например, управляющих воздействий в АСУТП, что позволяет оценить точностные характеристики управляющих сигналов. При наличии соответствующих данных можно включить в сферу моделирования объект, управляемый АСУТП, и тем самым оценить качество управления объектом по некоторому показателю эффективности.

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

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

Дискретно-событийное моделирование — подход к моделированию, предлагающий абстрагироваться от непрерывной природы событий и рассматривать только основные события моделируемой системы, такие, как: «ожидание», «обработка заказа», «движение с грузом», «разгрузка» и другие. Дискретно-событийное моделирование наиболее развито и имеет огромную сферу приложений — от логистики и систем массового обслуживания до транспортных и производственных систем. Этот вид моделирования наиболее подходит для моделирования производственных процессов. Основан Джеффри Гордоном в 1960-х годах.

Системная динамика — парадигма моделирования, где для исследуемой системы строятся графические диаграммы причинных связей и глобальных влияний одних параметров на другие во времени, а затем созданная на основе этих диаграмм модель имитируется на компьютере. По сути, такой вид моделирования более всех других парадигм помогает понять суть происходящего выявления причинно-следственных связей между объектами и явлениями. С помощью системной динамики строят модели бизнес-процессов, развития города, модели производства, динамики популяции, экологии и развития эпидемии. Метод основан Джеем Форрестером в 1950 годах.

Агентное моделирование — относительно новое (1990-е-2000-е гг.) направление в имитационном моделировании, которое используется для исследования децентрализованных систем, динамика функционирования которых определяется не глобальными правилами и законами (как в других парадигмах моделирования), а наоборот, когда эти глобальные правила и законы являются результатом индивидуальной активности членов группы. Цель агентных моделей — получить представление об этих глобальных правилах, общем поведении системы, исходя из предположений об индивидуальном, частном поведении её отдельных активных объектов и взаимодействии этих объектов в системе. Агент — некая сущность, обладающая активностью, автономным поведением, может принимать решения в соответствии с некоторым набором правил, взаимодействовать с окружением, а также самостоятельно изменяться.

Общие характеристики

1. Имитация реальных процессов во времени. Суть: построение динамической модели, которая воспроизводит поведение объекта во времени. В отличие от аналитического моделирования, здесь нет необходимости в явной формуле вида y = f ( x ) , а поведение системы наблюдается через вычислительный эксперимент.

2. Дискретность или непрерывность. Имитационные модели могут быть:

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

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

4. Пошаговое (итеративное) выполнение. Модель реализуется как алгоритм пошагового развития системы от одного состояния к другому. Используется понятие системного времени, которое увеличивается с каждым событием или шагом.

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

6. Трудоёмкость и ресурсоёмкость. Имитационные модели требуют:

  • большого объёма исходных данных,
  • высокой вычислительной мощности,
  • специального ПО (Arena, AnyLogic, Simulink, GPSS и др.).

7. Трудность формального анализа

  • Такие модели часто не поддаются строгому математическому анализу (как уравнения или графы).

  • Результаты оцениваются эмпирически, по статистике запусков модели.

8. Высокая универсальность. Имитационное моделирование применяется в:

  • производстве и логистике,
  • экономике и управлении,
  • системах массового обслуживания,
  • медицине,
  • военных задачах и др.

Выводы:

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

  • используется для исследования сложных систем при невозможности аналитического решения;

  • основывается на воспроизведении поведения системы во времени;

  • требует многократных прогонов и статистической обработки;

  • обеспечивает гибкость и универсальность, но при этом требует больших ресурсов и точных данных.

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

В имитационном моделировании различают два метода:

  • метод статистического моделирования;
  • метод статистических испытаний (Монте–Карло).

Метод Монте–Карло — численный метод, который применяется для моделирования случайных величин и функций, вероятностные характеристики которых совпадают с решениями аналитических задач. Состоит в многократном воспроизведении процессов, являющихся реализациями случайных величин и функций, с последующей обработкой информации методами математической статистики.

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

Области применения имитационных моделей

  • физические процессы;
  • материаловедение;
  • нанотехнологии;
  • бизнес-процессы;
  • производство;
  • информационная безопасность и др.

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

Описание поведения системы

Поведение системы в имитационной модели — это последовательность её состояний и переходов между ними во времени. Это описание осуществляется через:

  • Структуру системы (объекты, элементы, связи)

  • Динамику — то есть правила изменения состояния:

    • наступление событий (например, поступление заявки)

    • запуск процессов (например, обработка заявки)

    • завершение процессов (например, выдача результата)

Методы описания поведения:

  • Диаграммы состояний (state charts)

  • Диаграммы потоков событий

  • Процессно-ориентированное описание (например, блок-схемы в GPSS, Simul8, AnyLogic)

  • Агентно-ориентированное моделирование (описание поведения отдельных «агентов»)

Основные понятия:

  • Событие — мгновенное изменение состояния модели.

  • Процесс — непрерывное во времени поведение объекта.

  • Очередь — множество объектов, ожидающих обслуживания.

  • Ресурс — объект с ограниченной доступностью (обслуживающее устройство, оператор и т. д.)

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

Имитационная модель работает с собственным (модельным) временем, которое не обязано совпадать с реальным временем. Модельное время - это величина, отражающая прогресс симулируемого процесса, например: минуты, часы, дни в модели завода.

Способы управления модельным временем:

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

  • Время прыгает от одного события к другому (например, прибытие клиента, окончание обслуживания).

  • Применяется в системах массового обслуживания, логистике, ИТ-сервисах.

  • Используется календарь событий (event list), из которого берётся ближайшее событие.

2. Пошаговое моделирование (time-stepped)

  • Время увеличивается с фиксированным шагом Δt\Delta t (например, каждую секунду, минуту).

  • Подходит для непрерывных процессов, описываемых дифференциальными уравнениями.

  • Используется, например, в моделировании движения, химических реакций, популяций.

3. Гибридное моделирование

  • Объединяет оба подхода.

  • Пример: в логистике — перемещение груза (пошагово), события погрузки-разгрузки (по событиям).

Управление временем включает:

  • планирование будущих событий,

  • переход от одного состояния модели к следующему,

  • синхронизацию параллельных процессов.

Выводы:

  • Поведение системы в имитационной модели задаётся через описание объектов, процессов и событий, отражающих её логику.

  • Модельное время — это внутреннее время модели, управляемое либо дискретно (по событиям), либо пошагово.

  • Правильная организация модельного времени обеспечивает точность и эффективность симуляции.