Компьютерное имитационное моделирование. Статистическое имитационное моделирование

Имитационные модели

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

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

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

Детерминированное моделирование

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

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

Такой компьютерный эксперимент фактически претендует на воспроизведение натурного эксперимента. На вопрос: "Зачем это нужно делать?" можно дать следующий ответ: имитационное моделирование позволяет выделить "в чистом виде" следствия гипотез, заложенных в представления о микрособытиях (т.е. на уровне элементов системы), избавив их от неизбежного в натурном эксперименте влияния других факторов, о которых мы можем даже не подозревать. Если такое моделирование включает и элементы математического описания процессов на микроуровне, и если исследователь при этом не ставит задачу поиска стратегии регулирования результатов (например, управления численностью колонии микроорганизмов), то отличие имитационной модели от математической (дескриптивной) оказывается достаточно условным.

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

Модели случайных процессов

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

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

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

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

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

Целью моделирования систем такого вида является получение ответа на ряд вопросов. Относительно простой вопрос - какое в среднем время придется стоять и очереди при заданных законах распределения указанных выше случайных величин? Более сложный вопрос; каково распределение времен ожидания обслуживания в очереди? Не менее сложный вопрос: при каких соотношениях параметров входных распределений наступит кризис, при котором очередь до вновь вошедшего покупателя не дойдет никогда? Если задуматься над этой относительно простой задачей, возможные вопросы будут множиться.

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

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

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

Рассмотрим имитационную модель эволюции популяции живых организмов, известную под названием "Жизнь", которую легко реализовать на любом языке программирования.

Для построения алгоритма игры рассмотрим квадратное поле из п -\- 1 столбцов и строк с обычной нумерацией от 0 до п. Крайние граничные столбцы и строки для удобства определим как "мертвую зону", они играют лишь вспомогательную роль.

Для любой внутренней клетки поля с координатами (i,j) можно определить 8 соседей. Если клетка "живая", ее закрашиваем, если клетка "мертвая", она пустая.

Зададим правила игры. Если клетка (i,j) "живая" и ее окружает более трех "живых" клеток, она погибает (от перенаселения). "Живая" клетка также погибает, если в ее окружении находится менее двух "живых" клеток (от одиночества). "Мертвая" клетка оживает, если вокруг нее появляются три "живые" клетки.

Для удобства введем двумерный массив А , элементы которого принимают значение 0, если соответствующая клетка пустая, и 1, если клетка "живая". Тогда алгоритм определения состояния клетки с координатой (i , j ) можно определить следующим образом:

S:=A+A+A+A+A+A+A+A;
If (A = 1) And (S > 3) Or (S < 2)) Then B: =0;
If (A = 0) And (S = 3)
Then B: = 1;

Здесь массив Вопределяет координаты поля на "следующем этапе. Для всех внутренних клеток от i = 1 до n - 1 и j = 1 до n - 1 справедливо сказанное выше. Отметим, что последующие поколения определяются аналогично, стоит лишь осуществить процедуру переприсваивания:

For I: = 1 То N - 1 Do
For J: = 1 То N - 1 Do
A : = В ;

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

For I: = 1 To K Do
Begin K1: = Random (N-1);
K2:= Random (N-1)+1;
End;

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

В базовом курсе информатики ученики могут реализовать имитационную модель "Жизнь" в рамках раздела "Введение в программирование". Более основательное освоение имитационного моделирования может происходить в старших классах в профильном или элективном курсе информатики. Далее будет говориться о таком варианте.

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

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

а) генератор равномерно распределенных случайных чисел на любом отрезке [а, b];

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

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

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

Задача учителя, в частности, состоит в том, чтобы разъяснить, что выборочные средние сами по себе - случайные величины; в другой выборке того же объема они будут иметь другие значения (при больших объемах выборки - не слишком отличающиеся друг от друга). Далее.возможны варианты: в более подготовленной аудитории можно показать способ оценивания доверительных интервалов, в которых находятся математические ожидания соответствующих случайных величин при заданных доверительных вероятностях (известными из математической статистики методами без попытки обоснования). В менее подготовленной аудитории можно ограничиться чисто эмпирическим утверждением: если в нескольких выборках равного объема средние значения совпали в некотором десятичном знаке, то этот знак скорее всего верен. Если при моделировании не удается достичь желаемой точности, следует увеличить объем выборки.

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

После отработки первичных навыков указанного моделирования переходим к более реалистической модели, в которой входные потоки случайных событий распределены, например, по Пуассону. Это потребует от учащихся дополнительно освоить метод генерирования последовательностей случайных чисел с указанным законом распределения.

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

На примере задачи об очереди отрабатываются сразу несколько новых понятий и навыков:

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

Задание :

    1. Составить схему ключевых понятий;
  • Подобрать практические задания с решениями для базового и профильного курсов информатики.

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

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

  • реальная система;
  • ЭВМ, на которой осуществляется имитация – направленный вычислительный эксперимент.

логико - или логико-математических моделей, описываемых изучаемый процесс.

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

< A , S , T > , где

А

S

Т

Особенностью имитационного моделирования является то, что имитационная модель позволяет воспроизводить моделируемые объекты:

  • с сохранением поведенческих свойств (последовательности чередования во времени событий, происходящих в системе), т.е. динамики взаимодействий.

:

  • статическое описание системы , которое по-существу является описанием ее структуры. При разработке имитационной модели необходимо применять структурный анализ моделируемых процессов.
  • функциональной модели

.

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

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

Понятие о модельном времени

t 0 , которую называют

t 0 :

  • пошаговый
  • по-событийный

В случае пошагового метода (принцип t ).

  • непрерывные;
  • дискретные;
  • непрерывно-дискретные.

В

В

непрерывно-дискретные модели

Моделирующий алгоритм

Имитационный характер исследования предполагает наличие

алгоритмической , так и неалгоритмической.

моделирующий алгоритм

Имита­ционная модель – это программная реализация моделирующего алгоритма. Она составляется с применением средств автоматизации моделирования. Подробнее технология имитационного моделирования, инструментальные средства моделирования, языки и системы моделиро­вания, с помощью которых реализуются имитационные модели, будут рассмотрены ниже.

Общая технологическая схема имитационного моделирования

В общем виде технологическая схема имитационного моделирования представлена на рис.2.5.

Рис. 2.5. Технологическая схема имитационного моделирования

  1. реальная система;
  2. построение логико-математической модели;
  3. разработка моделирующего алгоритма;
  4. построение имитационной (машинной) модели;
  5. планирование и проведение имитационных экспериментов;
  6. обработка и анализ результатов;
  7. выводы о поведении реальной системы (принятие решений)

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

Имитационное моделирование – эффективный аппарат исследова­ния стохастических систем, в условиях неопределенности, .

Что будет, если?

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

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

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

В процессе имитационного моделирования (рис. 2.1) исследователь имеет дело с четырьмя основными элементами:

  • реальная система;
  • логико-математическая модель моделируемого объекта;
  • имитационная (машинная) модель;
  • ЭВМ,накоторойосуществляетсяимитация–направленный

вычислительный эксперимент.

Исследователь изучает реальную систему, разрабатывает логико-математическую модель реальной системы.

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

Составной характер сложной системы описывает представление ее модели в виде трех множеств:

< A , S , T > , где

А – множество элементов (в их число включается и внешняя среда);

S – множество допустимых связей между элементами (структура модели);

Т – множество рассматриваемых моментов времени.

Особенностью имитационного моделирования является то, что имитационная модель позволяет воспроизводить моделируемые объекты:

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

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

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

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

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

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

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

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

Понятие о модельном времени. Дискретные и непрерывные имитационные модели

Для описания динамики моделируемых процессов в имитационном моделировании реализованмеханизм задания модельного времени. Этот механизм встроен в управляющие программы системы моделирования.

Если бы на ЭВМ имитировалось поведение одной компоненты системы, то выполнение действий в имитационной модели можно было бы осуществить последовательно, по пересчету временной координаты.

Чтобы обеспечить имитацию параллельных событий реальной системы вводят некоторую глобальную переменную (обеспечивающую синхронизацию всех событий в системе)t 0 , которую называютмодельным (или системным) временем.

Существуют два основных способа измененияt 0 :

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

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

Способ фиксированного шага применяется в случаях:

  • если закон изменения от времени описывается интегро-дифференциальными уравнениями. Характерный пример: решение интегро-дифференциальных уравнений численным методом. В подобных методах шаг моделирования равен шагу интегрирования. Динамика модели является дискретным приближением реальных непрерывных процессов;
  • когда события распределены равномерно и можно подобрать шаг изменения временной координаты;
  • когда сложно предсказать появление определенных событий;
  • когда событий очень много и они появляются группами.

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

По-событийный метод (принцип “особых состояний”). В нем координаты времени меняются тогда, когда изменяется состояние системы. В по-событийных методах длина шага временного сдвига максимально возможная. Модельное время с текущего момента изменяется до ближайшего момента наступления следующего события. Применение по-событийного метода предпочтительнее в том случае, если частота наступления событий невелика. Тогда большая длина шага позволит ускорить ход модельного времени. На практике по-событийный метод получил наибольшее распространение.

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

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

  • непрерывные;
  • дискретные;
  • непрерывно-дискретные.

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

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

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

Моделирующий алгоритм. Имитационная модель

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

Логико-математическая модель сложной системы может быть какалгоритмической , так инеалгоритмической.

Чтобы быть машинно-реализуемой, на основе логико-математической модели сложной системы строитсямоделирующий алгоритм , который описывает структуру и логику взаимодействия элементов в системе.

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

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

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

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

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

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

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

Введение

Имитационное моделирование (simulation) является одним из мощнейших методов анализа экономических систем.

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

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

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

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

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

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

Мы же рассмотрим технологию применения имитационного моделирования для анализа рисков инвестиционных проектов в среде MS Excel.

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

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

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

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

Имитационным моделированием иногда называют получение частных численных решений сформулированной задачи на основе аналитических решений или с помощью численных методов.

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

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

· дорого или невозможно экспериментировать на реальном объекте;

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

· необходимо сымитировать поведение системы во времени.

Цель имитационного моделирования состоит в воспроизведении поведения исследуемой системы на основе результатов анализа наиболее существенных взаимосвязей между ее элементами или другими словами -- разработке симулятора (англ. simulation modeling) исследуемой предметной области для проведения различных экспериментов.

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

Имитация, как метод решения нетривиальных задач, получила начальное развитие в связи с созданием ЭВМ в 1950-х--1960-х годах.

Можно выделить две разновидности имитации:

· Метод Монте-Карло (метод статистических испытаний);

· Метод имитационного моделирования (статистическое моделирование).

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

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

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

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

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

    Реальные процессы и системы можно исследовать с помощью двух типов математических моделей: аналитических и имитационных.

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

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

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

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

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

    Основное достоинство ИМ:

    1. возможность описания поведения компонент (элементов) процессов или систем на высоком уровне детализации;
    2. отсутствие ограничений между параметрами ИМ и состоянием внешней среды РПС;
    3. возможность исследования динамики взаимодействия компонент во времени и пространстве параметров системы;

    Эти достоинства обеспечивают имитационному методу широкое распространение.

    1. Если не существует законченной постановки задачи исследования и идет процесс познания объекта моделирования. Имитационная модель служит средством изучения явления.
    2. Если аналитические методы имеются, но математические процессы сложны и трудоемки, и имитационное моделирование дает более простой способ решения задачи.
    3. Когда кроме оценки влияния параметров (переменных) процесса или системы желательно осуществить наблюдение за поведением компонент (элементов) процесса или системы (ПС) в течение определенного периода.
    4. Когда имитационное моделирование оказывается единственным способом исследования сложной системы из-за невозможности наблюдения явлений в реальных условиях (реакции термоядерного синтеза, исследования космического пространства).
    5. Когда необходимо контролировать протекание процессов или поведение систем путем замедления или ускорения явлений в ходе имитации.
    6. При подготовке специалистов для новой техники, когда на имитационных моделях обеспечивается возможность приобретения навыков в эксплуатации новой техники.
    7. Когда изучаются новые ситуации в РПС. В этом случае имитация служит для проверки новых стратегий и правил проведения натурных экспериментов.
    8. Когда особое значение имеет последовательность событий в проектируемых ПС и модель используется для предсказания узких мест в функционировании РПС.

    Однако ИМ наряду с достоинствами имеет и недостатки:

    1. Разработка хорошей ИМ часто обходится дороже создания аналитической модели и требует больших временных затрат.
    2. Может оказаться, что ИМ неточна (что бывает часто), и мы не в состоянии измерить степень этой неточности.
    3. Зачастую исследователи обращаются к ИМ, не представляя тех трудностей, с которыми они встретятся и совершают при этом ряд ошибок методологического характера.

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

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

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

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

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

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

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

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

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

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

    Имитационное моделирование (в узком смысле) - это представление динамического поведения системы посредством продвижения ее от одного состояния к другому в соответствии с хорошо известными операционными правилами (алгоритмами).

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

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

    ИМ могут использоваться для проектирования, анализа и оценки функционирования систем. С ИМ проводятся машинные эксперименты, которые позволяют сделать выводы о поведении системы:

    · в отсутствии ее построения, если это проектируемая система;

    · без вмешательства в ее функционирование, если это действующая система, экспериментирование с которой невозможно или нежелательно (высокие затраты, опасность);

    · без разрушения системы, если цель эксперимента состоит в определении воздействия на нее.

    Процесс формирования имитационной модели коротко можно представить следующим образом (Рис.2 ):

    Рис.2 . Схема формирования имитационной модели

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

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

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

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

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

    1. С ИМ проводятся машинные эксперименты, которые позволяют сделать выводы о поведении системы:

    · без ее построения, если это проектируемая система;

    · без вмешательства в ее функционирование, если это действующая система, экспериментирование с которой невозможно или нежелательно (дорого, опасно);

    · без ее разрушения, если цель эксперимента состоит в определении предельного воздействия на систему.

    2. Экспериментально исследовать сложные взаимодействия внутри системы и понять логику ее функционирования.

    4. Изучить воздействие внешних и внутренних случайных возмущений.

    5. Исследовать степень влияния параметров системы на показатели эффективности.

    6. Проверить новые стратегии управления и принятия решений при оперативном управлении.

    7. Прогнозировать и планировать функционирование системы в будущем.

    8. Проводить обучение персонала.

    Основой имитационного эксперимента служит модель имитируемой системы.

    ИМ развивалось для моделирования сложных стохастических систем - дискретных, непрерывных, комбинированных.

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

    , ,

    где - состояния модели в - ый момент времени, представляющее собой вектор.

    Введем в рассмотрение:

    - вектор состояния внешней среды (вход модели) в -ый момент времени,

    - вектор управления в -ый момент времени.

    Тогда ИМ определяется заданием оператора , с помощью которого можно определить состояние модели в следующий момент времени по состоянию в текущий момент, векторам управления и внешней среды:

    , .

    Это преобразование запишем в рекуррентной форме:

    , .

    Оператор определяет имитационную модель сложной системы с ее структурой и параметрами.

    Важное достоинство ИМ - возможность учета неконтролируемых факторов моделируемого объекта, представляющих собой вектор:

    .

    Тогда имеем:

    , .

    Имитационная модель – это логико-математическое описание системы, которое может быть использовано в ходе проведения экспериментов на ЭВМ.

    Рис.3. Состав ИМ сложной системы

    Возвращаясь к проблеме имитационного моделирования сложной системы, условно выделим в ИМ: модель управляемого объекта, модель системы управления и модель внутренних случайных возмущений (Рис.3 ).

    Входы модели управляемого объекта делятся на контролируемые управляемые и неконтролируемые неуправляемые возмущения. Последние генерируются датчиками случайных чисел по заданному закону распределения. Управление, в свою очередь является выходом модели системы управления, а возмущения – выходом датчиков случайных чисел (модели внутренних возмущений).

    Здесь - алгоритм системы управления.

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

    При динамической имитации время может меняться с постоянным и переменным шагом (Рис.4 ):

    Рис.4. Динамическая имитация

    Здесь g i – моменты совершения событий в СДС, g * i – моменты совершения событий при динамической имитации с постоянным шагом, g ‘ i - моменты совершения событий при переменном шаге.

    С постоянным шагом проще реализация, но меньше точность и могут быть пустые (то есть лишние) точки времени, когда рассчитывается состояние модели.

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

    Основные положения , вытекающие из сказанного:

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

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

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

    Примеры решаемых задач: анализ проектов систем на различных стадиях, анализ действующих систем, использование в системах управления, использование в системах оптимизации и т.д.



    Статьи по теме: