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

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

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

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

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

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

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

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

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

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

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