Методы имитационного моделирования. Реферат: Имитационные модели

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

, ,

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

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

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

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

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

, .

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

, .

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

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

.

Тогда имеем:

, .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Дорого или невозможно экспериментировать на реальном объекте.

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

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

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

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

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

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

В настоящее время выделяют три направления имитационных моделей:

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

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

2. Дискретно-событийное моделирование — подход к моделированию, предлагающий абстрагироваться от непрерывной природы событий и рассматривать только основные события моделируемой системы, такие как: «ожидание», «обработка заказа», «движение с грузом», «разгрузка» и другие. Дискретно-событийное моделирование наиболее развито и имеет огромную сферу приложений — от логистики и систем массового обслуживания до транспортных и производственных систем. Этот вид моделирования наиболее подходит для моделирования производственных процессов.


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

Основные понятия построения модели

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

Основой всякой имитационной модели (ИМ) является:

· разработка модели исследуемой системы на основе частных имитационных моделей (модулей) подсистем, объединенных своими взаимодействиями в единое целое;

· выбор информативных (интегративных) характеристик объекта, способов их получения и анализа;

· построение модели воздействия внешней среды на систему в виде совокупности имитационных моделей внешних воздействующих факторов;

· выбор способа исследования имитационной модели в соответствии с методами планирования имитационных экспериментов (ИЭ).

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

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

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

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

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

Z1(t), Z2(t), Zn(t) в n - мерном пространстве.

Задачей имитационного моделирования является получение траектории движения рассматриваемой системы в n - мерном пространстве (Z1, Z2, Zn), а также вычисление некоторых показателей, зависящих от выходных сигналов системы и характеризующих ее свойства.

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

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

1. Принцип Δt для детерминированных систем

Предположим, что начальное состояние системы соответствует значениям Z1(t0), Z2(t0), Zn(t0). Принцип Δt предполагает преобразование модели системы к такому виду, чтобы значения Z1, Z2, Zn в момент времени t1 = t0 + Δt можно было вычислить через начальные значения, а в момент t2 = t1+ Δt через значения на предшествующем шаге и так для каждого i-ого шага (t = const, i = 1 M).

Для систем, где случайность является определяющим фактором, принцип Δt заключается в следующем:

1. Определяется условное распределение вероятности на первом шаге (t1 = t0+ Δt) для случайного вектора, обозначим его (Z1, Z2, Zn). Условие состоит в том, что начальное состояние системы соответствует точке траектории.

2. Вычисляются значения координат точки траектории движения системы (t1 = t0+ Δt), как значения координат случайного вектора, заданного распределением, найденным на предыдущем шаге.

3. Отыскиваются условное распределение вектора на втором шаге (t2 = t1 + Δ t), при условии получения соответствующих значений на первом шаге и т.д., пока ti = t0 + i Δ t не примет значения (tМ = t0 + М Δ t).

Принцип Δ t является универсальным, применим для широкого класса систем. Его недостатком является неэкономичность с точки зрения затрат машинного времени.

2. Принцип особых состояний (принцип δz).

При рассмотрении некоторых видов систем можно выделить два вида состояний δz:

1. Обычное, в котором система находится большую часть времени, при этом Zi(t), (i=1 n) изменяются плавно;

2. Особое, характерное для системы в некоторые моменты времени, причем состояние системы изменяется в эти моменты скачком.

Принцип особых состояний отличается от принципа Δt тем, что шаги по времени в этом случае не постоянны, является величиной случайной и вычисляется в соответствии с информацией о предыдущем особом состоянии.

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

Основные методы имитационного моделирования.

Основными методами имитационного моделирования являются: аналитический метод, метод статического моделирования и комбинированный метод (аналитико-статистический) метод.

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

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

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

Вопросы для самопроверки

1. Определить, что такое оптимизационная математическую модель.

2. Для чего могут использоваться оптимизационные модели?

3. Определить особенности имитационного моделирования.

4. Дать характеристику метода статистического моделирования.

5. Что есть модель типа «черный ящик», модель состава, структуры, модель типа «белый ящик»?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задание :

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Схема (а) и алгоритм (б) движения «пьяного прохожего».

а) б)

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

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

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

С помощью имитационной модели невозможно получить аналитические зависимости между величинами.

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

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

Выбор подхода в значительной степени определяется свойствами объекта – оригинала и характером воздействия на него внешней среды.

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

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

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

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

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

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

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

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

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

    Если не существует законченной постановки задачи исследования и идёт процесс познания объекта моделирования.

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

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

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

    Когда необходимо контролировать протекание процессов в сложной системе путём ускорения или замедления явлений в ходе имитации.

    При подготовке специалистов и освоении новой техники.

    Когда изучаются новые ситуации в сложных системах, о которых мало известно или ничего неизвестно.

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

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

Составление содержательного описания системы;

Выбор показателей качества;

Определение управляющих переменных;

Детализация описания режимов функционирования.

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

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

Рис.3.20. Иллюстрация примера

В нашем примере
,
(внутри). Отсюда
. Истинная площадь может быть легко подсчитана и составляет 0,25.

Метод Монте-Карло имеет две особенности.

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

Вторая особенность метода: ошибка вычислений, как правило, пропорциональна

,

где
– некоторая постоянная;
– число испытаний.

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

Замечание. Метод вычисления справедлив только тогда, когда случайные точки будут не просто случайными, а еще и равномерно распределёнными.

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

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

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

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

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

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

–момент -го отказа-го элемента;

–момент -го восстановления-го элемента;

–интервал времени безотказной работы -го элемента после
-го восстановления;

–продолжительность восстановления -го элемента после-го отказа;

i -е состояние ЭЭС в момент времени .

Величины , связаны между собой соотношениями:

(3.20)

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

Поток событий
описывается моментами их наступления
.

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

Возможны два подхода к моделированию функционирования ЭЭС.

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

Рис.3.21. Состояния ЭЭС

Затем следует анализ полученных путем моделирования состояний А i системы на принадлежность их к области работоспособных или неработоспособных состояний. При таком подходе в памяти ЭВМ необходимо фиксировать все моменты отказов и восстановлений всех элементов ЭЭС.

Более удобным является второй подход , при котором для всех элементов сначала моделируются только моменты первого их отказа. По минимальному из них формируется первый переход ЭЭС в другое состояние (из А 0 в А i ) и одновременно проверяется принадлежность полученного состояния к области работоспособных или неработоспособных состояний.

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

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

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

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

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

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

Рис.3.22 . Блок-схема алгоритма расчёта показателей надежности методом имитационного моделирования