Имитационное моделирование — метод, позволяющий строить модели, описывающие процессы так, как они проходили бы в действительности. Такую модель можно «проиграть» во времени как для одного испытания, так и заданного их множества. При этом результаты будут определяться случайным характером процессов. По этим данным можно получить достаточно устойчивую статистику.
Имитационное моделирование появилось во второй половине 50-х годов, как инструмент исследования сложных систем и процессов, не поддающихся формальному описанию в обычном понимании этого термина [1 - 3]. Возникновение и развитие имитационного моделирования как научной дисциплины тесно связано с развитием и ростом мощности вычислительной техники. Достигнув определенного уровня производительности (по некоторым оценкам он составляет около 105-106 операций в секунду) компьютер оказался пригодным не только для вычислений (попросту, как арифмометр), но и для активного исследования сложных процессов и систем. Сегодня уже классическими стали многие примеры применения имитационных моделей, которые в свое время были сенсацией: принятие решений о действиях экипажа корабля “Апполон-13” после взрыва кислородного бака на перелетной траектории к Луне, модель “Ядерной Зимы”, - и многие другие.
Если попытаться определить для имитационного моделирования свойственный ему круг проблем, то в их числе окажутся проблемы, связанные в широком смысле с изучением и предсказанием поведения модели сложной системы, когда эксперимент над этой системой невозможен или нежелателен в реальных условиях ее существования. В целом ряде случаев имитационная модель является единственной альтернативой получения информации о поведении объекта и его характеристиках.
За время своего существования имитационное моделирование проникло во многие отрасли науки, среди которых уже традиционно на первом месте выделяются экономика, экология и военные области (в некоторых моделях они тесно переплетаются). Перечисленные дисциплины можно объединить по некоторым признакам объектов их исследований, которые характеризуются как большие системы [4 - 10]. В последние годы имитация проникает в области разработки и применения сложных технических систем (в первую очередь, космических) что связано с радикальным усложнением самих этих систем, стоящих перед ними задач, а также высокой ценой риска при неправильных действиях экипажа, опера-тора и т.д. Среди характерных примеров можно привести работу по стыковке и сборке крупногабаритных разветвленных элементов орбитальных станций, дистанционное управление планетными автоматами в условиях большой длительности распространения радиосигнала (до 40 минут для Марса) и многие другие, когда принятие решений требует предварительного “проигрывания” нескольких вариантов развития событий и их последствий при различных стратегиях управления.
В отличие от больших систем, которые чаще ориентированы на прогнозирование и принятие решений, рассчитанные на длительные интервалы, и основанные на интегральных оценках (суммарные потери, среднее или интервальные значения вероятностей отказа или успеха, коэффициент готовности и т.п. [11, 31]), моделирование технических систем требуют несколько иного подхода. Модель поведения технической системы - это, как правило, модель ситуации [12], описание и исследование которой строится на основе оперативной информации, поступившей в определенный момент времени, и требующей принятия единственного альтернативного решения в течение заданного (достаточно короткого) интервала времени. Здесь критерием принятия решения могут быть вероятностные, стоимостные и другие аналогичные оценки, но решающую роль играет быстрое развитие ситуации со сменой критериев (хотя общим критерием может оставаться, например, стоимость оборудования космической станции) и обратная связь по меняющимся параметрам, характеризующим ситуацию.
Различие в подходе к моделированию больших и технических систем накладывает отпечаток и на характер интерпретации выходной информации при моделировании. Если рассматривать предельные случаи, то вероятностная имитационная модель большой системы может использоваться для получения одного единственного числа, характеризующего, например, уровень средней рентабельности к определенному году. В то же время модель детерминированной, но разветвленной технической конструкции с распределенной массой, которая используется для принятия решения о траектории ее перемещения, может потребовать интерпретации громадного массива трехмерных координат и углов ориентации для множества элементов этой конструкции.
В начале 80-х годов произошло событие, которое, как и появление мощных компьютеров, в свое время сыгравшее определяющую роль в зарождении имитационного моделирования, сегодня играет важную роль в направлении его дальнейшего развития, - это появление интерфейса “Виртуальная Реальность”. Предпосылками его долгое время были работы в области тренажерной техники для обучения пилотов, водителей и т.д., где соответствующие технические устройства использовались для создания образов динамической внешней среды оператора (в частности, коналоги [13]). С появлением виртуальной реальности в тренажерных системах произошла практически полная замена материальных элементов внешней среды на их виртуальные фантомы. Однако, важнее другое. В системе виртуальной реальности достигается полный контакт оператора с моделируемой средой, благодаря обратной связи, которая может охватывать практически все системы взаимодействия человека с “обычным” внешним миром. Значение этой возможности трудно переоценить в применении к имитационному моделированию как раз технических систем, управляемых человеком, который одновременно становится одним из звеньев этой системы (как принято говорить, “человеко-машинной” системы).
Виды имитационного моделирования
Агентное моделирование — относительно новое (1990е-2000е гг.) направление в имитационном моделировании, которое используется для исследования децентрализованных систем, динамика функционирования которых определяется не глобальными правилами и законами (как в других парадигмах моделирования), а наоборот. Когда эти глобальные правила и законы являются результатом индивидуальной активности членов группы. Цель агентных моделей — получить представление об этих глобальных правилах, общем поведении системы, исходя из предположений об индивидуальном, частном поведении ее отдельных активных объектов и взаимодействии этих объектов в системе. Агент — некая сущность, обладающая активностью, автономным поведением, может принимать решения в соответствии с некоторым набором правил, взаимодействовать с окружением, а также самостоятельно изменяться.
Дискретно-событийное моделирование — подход к моделированию, предлагающий абстрагироваться от непрерывной природы событий и рассматривать только основные события моделируемой системы, такие как: «ожидание», «обработка заказа», «движение с грузом», «разгрузка» и другие. Дискретно-событийное моделирование наиболее развито и имеет огромную сферу приложений — от логистики и систем массового обслуживания до транспортных и производственных систем. Этот вид моделирования наиболее подходит для моделирования производственных процессов. Основан Джеффри Гордоном в 1960х годах.
Системная динамика — парадигма моделирования, где для исследуемой системы строятся графические диаграммы причинных связей и глобальных влияний одних параметров на другие во времени, а затем созданная на основе этих диаграмм модель имитируется на компьютере. По сути, такой вид моделирования более всех других парадигм помогает понять суть происходящего выявления причинно-следственных связей между объектами и явлениями. С помощью системной динамики строят модели бизнес-процессов, развития города, модели производства, динамики популяции, экологии и развития эпидемии. Метод основан Джеем Форрестером в 1950 годах.
Имитационное моделирование
Аналитическое моделирование сложных систем, очевидно, имеет ограниченные возможности, что и вызвало к жизни имитационные модели (реализуемые в форме аппаратурных комплексов и программ для ЭВМ). Могут быть выделены следующие основные классы имитационных моделей:
- непрерывные;
- дискретные;
- пространственные.
В первом случае предметная область описывается совокупностью динамических связей, отражающих развитие процесса во времени в форме конечно-разностных уравнений и рекуррентных соотношений. Модель воспроизводит поведение объекта за определенный период времени; в этом смысле имитационная модель является динамической. Значения всех переменных, входящих в имитационную модель, вычисляются в каждый момент модельного времени. Затем, через определенный интервал на основе старых значений вычисляются новые значения переменных, и т. д. Таким образом, имитационная модель «развивается» по определенной траектории в течение заданного отрезка модельного времени. Исходные аналитические модели — системы обыкновенных дифференциальных уравнений.
Второй тип моделей описывает потоки случайных событий, проходящие через сложную совокупность путей и узлов, и направлен на исследование стационарных, установившихся процессов. Здесь в качестве аналитического прототипа выступает теория систем массового обслуживания.
В третьем случае рассматриваются процессы, проходящие в пространстве (на плоскости или в объеме). Исходные аналитические модели — системы дифференциальных уравнений в частных производных, особенно часто — такой их класс, как уравнения математической физики.
Следует отметить, что в настоящее время данная классификация во многом становится условной, поскольку современные интегрированные средства моделирования — ИСМ (например, отечественная разработка Pilgrim [14] и её зарубежные аналоги) охватывают как непрерывные, так и дискретные, и пространственно-временные процессы.