Типы имитационного моделирования. Имитационное моделирование: создание терминов

Введение

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

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

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

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 порядка снижает стоимость их исправления.

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

Напомню, что:

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

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

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

Примеры определений:

Операция

Событие


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

Процесс

  1. Моделируемый процесс: Последовательность моделируемых операций. Описание этой последовательности удобно представить в виде диаграммы Ганта. Описание содержит события. Например, события: «старт процесса» и «завершение процесса».
  2. Имитирующий процесс: Объект, созданный для имитации моделируемого процесса. Этот объект создается в памяти компьютера в ходе выполнения имитации.
  3. Класс моделируемых процессов: Множество моделируемых процессов, объединенных по какому-либо признаку. Самым распространенным объединением является объединение процессов, имеющих общую модель. В качестве модели может быть использована диаграмма процессов, выполненная в любой нотации моделирования: Процесс, Процедура, EPC, BPMN.
  4. Класс имитирующих процессов: Множество имитирующих процессов, созданных в рамках имитации, для имитации активности.
  5. Процесс (как объект в справочнике ): Объект справочника «Процессы.
  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. Составить схему ключевых понятий;
  • Подобрать практические задания с решениями для базового и профильного курсов информатики.

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

Моделирование

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

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

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

Математическое моделирование связано, в основном, с разработкой математи­ческих моделей физических явлений, с созданием и обоснованием численных методов. Существует академическая трактовка моделирования как области вычислительной математики, которая является традиционной для активности прикладных математиков. В России сложилась сильная школа в этой области: НИИ Математического Моделирования РАН - головная организация, Науч­ный Совет РАН по проблеме "Математическое моделирование", издается журнал "Математическое моделирование" (www . imamod . ru ).

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

Проблемы разработки имитационных моделей

Имитационное моделирование - очень обширная область. Можно по-разному подходить к классификации решаемых в ней задач. В соответствии с одной из классификаций эта область насчитывает в настоящее время че­тыре основных направления:

    моделирование динамических систем,

    дискретно-событийное моделирование,

    системная динамика

    агентное моделирование.

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

Моделирование динамических систем

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

Дискретно-событийное моделирование

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

Системная динамика .

Системная динамика – это направление в изучении сложных систем, исследующее их поведение во времени и в зависимости от структуры элементов системы и взаимодействия между ними. В том числе: причинно-следственных связей, петель обратных связей, задержек реакции, влияния среды и других. Основоположником системной динамики является американский ученый Джей Форрестер. Дж. Форрестер применил принципы обратной связи, существующей в системах автоматического регулирования, для демонстрации того, что динамика функционирования сложных систем, в первую очередь производственных и социальных, существенно зависит от структуры связей и временных задержек в принятии решений и действиях, которые имеются в системе. В 1958 году он предложил использовать для компьютерного моделирования сложных систем потоковые диаграммы, отра­жающих причинно-следственные связи в сложной системе,

В настоящее время системная динамика превратилась в зрелую науку. Общество системной динамики (The- System Dynamics Society, www.systemdynamics.org) является официальным форумом системных анали­тиков во всем мире. Ежеквартально выходит журнал System Dynamics Review, ежегодно созываются несколько международных конференций по этим проблемам. Системная динамика как методология и инструмент ис­следования сложных экономических и социальных процессов изучается во многих бизнес-школах по всему миру..

Агентное моделирование

Агентное моделирование (agent-based model (ABM)) - метод имитационного моделирования, исследующий поведение децентрализованных агентов и то, как такое поведение определяет поведение всей системы в целом. В отличие от системной динамики аналитик определяет поведение агентов на индивидуальном уровне, а глобальное поведение возникает как результат деятельности множества агентов (моделирование «снизу вверх»).

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

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

При создании агентной модели логика поведения агентов и их взаимодейст­вие не всегда могут быть выражены чисто графическими средствами, здесь часто приходится использовать программный код. Для агентного моделирования используются пакеты Swarm и RePast. Примером агентной модели является модель развития города.

В современном мире информационных технологий десятилетие сравнимо с веком прогресса в традиционных технологиях, Но в имитационном моделировании почти без изменения применяются идеи и решения 60-х годов прошлого века. На базе этих идей еще в прошлом веке были разработаны программные средства, которые с незначительными изменениями применяются до сих пор. Разработка имитационных модели с использованием этих программ является весьма сложной и трудоемкой задачей, доступной только высококвалифицированным специалистам и требующей больших временных затрат. Один из разработчиков имитационных моделей Роберт. Шеннон писал: «разработка даже простых моделей требует 5-6 человеко-месяцев и стоит по­рядка 30 ООО долларов, а сложных - на два порядка больше». Иными слова­ми, трудоемкость построения сложной имитационной модели традицион­ными методами оценивается в сотню человеко-лет.

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

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

AnyLogic - инструмент имитационного моделирования нового поколения

AnyLogic - программное обеспечение для имитационного моделирования нового поколения, разработано российской компанией The AnyLogic Company (бывшая «Экс Джей Текнолоджис»,- англ. XJ Technologies). Этот инструмент существенно упрощает разработку моделей и их анализ.

Пакет AnyLogic создан с использованием последних достижений информационных технологий: объектно-ориентированный подход, элементы стандарта UML, языка программирования Java, и т.д. Первая версия пакета (Anylogic 4.0) была выпущена в 2000г. К настоящему времени выпущена версия Anylogic 6.9.

Пакет поддерживает все известные методы имитационного моделирования:

    Моделирование динамических систем

    системная динамика;

    дискретно-событийное моделирование;

    агентное моделирование.

Рост произво­дительности компьютеров и достижения в информационных технологиях, использованные в AnyLogic, сделали возможным реализацию агентных мо­делей, содержащих десятки и даже сотни тысяч активных агентов

С помощью AnyLogic стало возможным разрабатывать модели в следующих областях:

    производство;

    логистика и цепочки поставок;

    рынок и конкуренция;

    бизнес-процессы и сфера обслуживания;

    здравоохранение и фармацевтика;

    управление активами и проектами;

    телекоммуникации и информационные системы;

    социальные и экологические системы;

    пешеходная динамика;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Понравилась статья? Поделиться с друзьями: