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

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

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

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

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

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

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

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

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

Обратите внимание!

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

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

  • 1) работы по созданию или модификации имитационной модели;
  • 2) эксплуатацию имитационной модели и интерпретацию результатов» .

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

Рис. 1.7.

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

  • Лычкина II. II. Указ. соч.
  • Распределенные вычисления - способ решения трудоемких вычислительных задачс использованием нескольких компьютеров, чаще всего объединенных в параллельнуювычислительную систему.
  • Емельянов А. А, Власова Е. А., Дума Р. В. Имитационное моделирование экономическихпроцессов. М. : Финансы и статистика, 2006. С. 6.

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

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

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

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

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

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

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

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

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

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

Кому не случалось стоять в очереди и с нетерпением прикидывать, успеет ли он сделать покупку (или заплатить за квартиру, покататься на карусели и т.д.) за некоторое имеющееся в его распоряжении время? Или, пытаясь позвонить по телефону в справочную и натыкаясь несколько раз на короткие гудки, нервничать и оценивать - дозвонюсь или нет? Из таких "простых" проблем в начале 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. Составить схему ключевых понятий;
  • Подобрать практические задания с решениями для базового и профильного курсов информатики.

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

Понятие имитационной модели.

Подходы к построению имитационных моделей.

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

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

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

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

Обозначим его местоположение на каждом перекрестке двумерным вектором

(X1, X2) («выход»), где

Каждое перемещение на один квартал к востоку соответствует приращению X1 на 1, а каждое перемещение на один квартал к западу – уменьшению X1 на 1 (X1, X2– дискретная переменная). Подобным же образом перемещение прохожего на один квартал к северу X2 увеличивается на 1, а на один квартал к югу – X2 уменьшается на1.

Теперь, если мы обозначим начальное положение (0,0), то будем точно знать, где будет находиться прохожий относительно этого начального положения.

Если в конце прогулки сумма абсолютных значений X1 и X2 будет больше 2, то будем считать, что он ушел дальше двух кварталов в конце прогулки протяженностью в 10 кварталов.

Так как вероятность движения нашего прохожего в любом из четырех возможных направлений по условию одинакова и равна 0,25 (1:4=0,25), то можно оценивать его передвижение с помощью таблицы случайных чисел. Условимся, что если случайное число (СЧ) лежит в пределах от 0 до 24, пьяный пойдет на восток и мы увеличим X1 на 1; если от 25 до 49, то он пойдет на запад, и мы X1 уменьшим на 1; если от 50 до 74, он пойдет на север, и мы X2 увеличим на 1; если СЧ лежит в пределах от 74 до 99, то прохожий пойдет на юг, и мы уменьшим X2 на 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 ). Эти алгоритмы не очень эффективны с точки зрения использования машинного времени на их реализацию.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Введение

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

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

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

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

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

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

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

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

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

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

Различают два подкласса систем, ориентированных на системное и логическое моделирование. К подклассу системного моделирования относят системы с хорошо развитыми общеалгоритмическими средствами; с широким набором средств описания параллельно выполняемых действий, временных последовательностей выполнения процессов; с возможностями сбора и обработки статистического материала. В таких системах используют специальные языки программирования и моделирования – СИМУЛА, СИМСКРИПТ, GPSS и др. Первые два из этих языков являются подмножествами процедурно-ориентированных языков программирования типа ФОРТРАН, ПЛ/1, расширенными средствами динамических структур данных, операторами управления квазипараллельными процессами, специальными средствами сбора статистики и обработки списков. Эти дополнительные возможности позволяют вести статистические исследования моделей, поэтому такие системы иногда называют системами статистического моделирования.

К подклассу логического моделирования относят системы, позволяющие в удобной и сжатой форме отражать логические и топологические особенности моделируемых объектов, обладающие средствами работы с частями слов, преобразования форматов, записи микропрограмм. К этому подклассу систем относят языки программирования АВТОКОД, ЛОТИС и др.

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

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

наблюдаемых или управляемых переменных

управляющих воздействий

возмущающих воздействий

Состояние системы в любой момент времени

и начальные условия Y(t0), R(t0), W(t0) могут быть случайными величинами, заданными соответствующим распределением вероятностей. Соотношения модели определяют распределение вероятностей величин в момент t + ∆t:

Существуют два основных способа построения моделирующего алгоритма – принцип ∆t и принцип особых состояний.

Принцип ∆t. Промежуток времени (t0, t), в котором исследуется поведение системы, разбивают на интервалы длиной ∆t. В соответствии с заданным распределением вероятностей для начальных условий по априорным соображениям или случайным образом выбирают для начального момента t0 одно из возможных состояний z0(t0). Для момента t0 + ∆t вычисляется условное распределение вероятностей состояний (при условии состояния z0(t0)). Затем аналогично предыдущему выбирают одно из возможных состояний z0(t0 + ∆t), выполняют процедуры вычисления условного распределения вероятностей состояний для момента t0 + 2∆t и т.д.

В результате повторения этой процедуры до момента t0 + n∆t = T получают одну из возможных реализаций исследуемого случайного процесса. Таким же образом получают ряд других реализаций процесса. Описанный способ построения моделирующего алгоритма занимает много машинного времени.

Принцип особых состояний. Все возможные состояния системы Z(t) = {zi(t)} разбивают на два класса – обычные и особые. В обычных состояниях характеристики zi(t) меняются плавно и непрерывно. Особые состояния определяются наличием входных сигналов или выходом, по крайней мере, одной из характеристик zi(t) на границу области существования. При этом состояние системы меняется скачкообразно.

Моделирующий алгоритм должен предусматривать процедуры определения моментов времени, соответствующих особым состояниям, и величин характеристик системы в эти моменты. При известном распределении вероятностей для начальных условий выбирают одно из возможных состояний и по заданным закономерностям изменений характеристик zi(t) находят их величины перед первым особым состоянием. Таким же образом переходят ко всем последующим особым состояниям. Получив одну из возможных реализаций случайного многомерного процесса, с использованием аналогичных процедур строят другие реализации. Затраты машинного времени при использовании моделирующего алгоритма по принципу особых состояний обычно меньше, чем по принципу ∆t.

Имитационное моделирование используют в основном для следующих применений:

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

2) для прогнозирования поведения системы в будущем на основе моделирования развития самой системы и ее внешней среды;

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

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

4) для макетирования проектируемой системы и соответствующей части управляемого объекта с целью прикидочной проверки предполагаемых проектных решений. Это позволяет в наиболее наглядной и понятной заказчику форме продемонстрировать ему работу будущей системы, что способствует взаимопониманию и согласованию проектных решений. Кроме того, такая модель позволяет выявить и устранить возможные неувязки и ошибки на более ранней стадии проектирования, что на 2–3 порядка снижает стоимость их исправления.



Понравилась статья? Поделитесь ей
Наверх