emou.ru

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

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

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

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

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

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

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

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

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

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

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

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

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

Поиск оптимального количества сотрудников для предоставления клиентам требуемого уровня сервиса

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

Общение человека-эксперта с компьютером при имитации «больших систем» требуется в двух случаях. В первом случае, когда имитационная модель не использует формальный математический аппарат и представляет собой в основном процесс экспертной оценки совокупности содержательных событий или целей, для общения применяют типовые пакеты Excel, Word и т.п. Процесс общения эксперта с ЭВМ при подсчете средних баллов или коэффициентов, оценивающих те или иные события, цели, осуществляется согласно методике экспертного анализа. Здесь применение ЭВМ минимально. Во втором случае, когда имитационную модель используют для изучения функционирования какого-либо сложного объекта, например производственного предприятия, банка или рынка, путем машинной имитации информационных процессов при заданных условиях, модель записывается на одном из специальных имитационных языков, например JPSS, Симскрипт, Симула, Динамо, MathCad plus и пр.

Важным преимуществом таких языков является наличие в них методов нахождения ошибок, значительно превосходящих соответствующие возможности универсальных языков. Однако применение специальных имитационных языков налагает ограничения на форму вывода информации о поведении моделируемой системы. Использование универсального языка типа Фортран меньше всего ограничивает форму вывода данных. Наоборот, использование языка типа Симскрипт вынуждает приспосабливаться к требованиям, налагаемым этим языком. Поэтому в сложных имитационных системах для общения экспертов с имитационной моделью используют различные языки. При описании процессов в имитируемой системе могут быть применены такие языки, как JPSS, Симскрипт, Симула, Динамо, а для описания различных «сервисных» и выводных процедур - универсальные языки Фортран, PL, Алгол, а также пакеты Excel, Word и т.п.

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

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

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

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

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

< 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 ). Эти алгоритмы не очень эффективны с точки зрения использования машинного времени на их реализацию.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как уже говорилось, под имитационным моделированием мы

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

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

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

В самом общем виде уровень детализации имитационной модели, в проекции на ее существующее формальное описание, представлено на рис. 1.8.

Преимущества имитационного моделирования перед другими методами системного анализа заключаются в следующем:

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

Рис. 1.8.

терминология, интерфейс пользователя, представление исходных данных и результатов;

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

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

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

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

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

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

С точки зрения практического применения самое главное состоит в том, что в результате моделирования можно:

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

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

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

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



Загрузка...