- •0. Лекция: Введение
- •1. Лекция: Понятие модели и моделирования:
- •1.1. Общее определение модели
- •1.2. Классификация моделей и моделирования
- •1.2.1. Классификация моделей и моделирования по признаку "характер моделируемой стороны объекта"
- •1.2.2. Классификация моделей и моделирования по признаку "характер процессов, протекающих в объекте"
- •1.2.3. Классификация моделей и моделирования по признаку "способ реализации модели"
- •1.3. Этапы моделирования
- •1.4. Адекватность модели
- •1.5. Требования, предъявляемые к моделям
- •2.1. Дискретные марковские процессы
- •2.2. Моделирование по схеме непрерывных марковских процессов
- •2.3. Схема гибели и размножения
- •2.4. Элементы смо, краткая характеристика
- •2.5. Моделирование смо в классе непрерывных марковских процессов
- •2.5.1. Многоканальная смо с отказами
- •2.5.2. Многоканальная смо с ожиданием
- •2.5.3. Одноканальная смо с ограниченной очередью
- •2.5.4. Одноканальная замкнутая смо
- •2.5.5. Одноканальная смо с конечной надежностью
- •2.6. Метод динамики средних. Сущность и содержание метода
- •2.7. Принцип квазирегулярности
- •2.8. Элементарные модели боя
- •2.8.1. Модель высокоорганизованного боя
- •2.8.2. Высокоорганизованный бой с пополнением группировок
- •2.8.3. Высокоорганизованный бой с упреждением ударов
- •2.8.4. Модель боя с неполной информацией
- •2.8.5. Учет запаздывания в переносе и открытии огня
- •3. Лекция: Статистическое моделирование:
- •3.1. Сущность имитационного моделирования
- •3.2. Общая характеристика метода имитационного моделирования
- •3.3. Статистическое моделирование при решении детерминированных задач
- •3.4. Моделирование равномерно распределенной случайной величины
- •3.5. Моделирование случайной величины с произвольным законом распределения
- •3.6. Моделирование единичного события
- •3.7. Моделирование полной группы несовместных событий
- •3.8. Моделирование совместных независимых событий
- •3.8.1. Определение совместных исходов по жребию
- •3.8.2. Последовательная проверка исходов
- •3.9. Моделирование совместных зависимых событий
- •3.10. Классификация случайных процессов
- •3.11. Способы продвижения модельного времени
- •3.12. Модель противоборства двух сторон
- •3.13. Модель противоборства как процесс блуждания по решетке
- •3.14. Типовая схема имитационной модели с продвижением времени по событиям
- •3.15. Имитационная модель системы массового обслуживания
- •4. Лекция: Планирование экспериментов
- •4.1. Сущность и цели планирования эксперимента
- •4.2. Элементы стратегического планирования экспериментов
- •4.3. Стандартные планы
- •4.4. Формальный подход к сокращению общего числа прогонов
- •4.5. Элементы тактического планирования
- •4.6. Точность и количество реализаций модели при определении средних значений параметров
- •4.6.1. Определение оценки матожидания
- •4.6.2. Определение оценки дисперсии
- •4.7. Точность и количество реализаций модели при определении вероятностей исходов
- •4.8. Точность и количество реализаций модели при зависимом ряде данных
- •4.9. Проблема начальных условий
- •5. Лекция: Обработка результатов имитационного эксперимента
- •5.1. Характеристики случайных величин и процессов
- •5.2. Требования к оценкам характеристик
- •5.3. Оценка характеристик случайных величин и процессов
- •5.4. Гистограмма
- •5.4. Элементы дисперсионного анализа. Критерий Фишера
- •5.6. Критерий Вилькоксона
- •5.7. Однофакторный дисперсионный анализ
- •5.8. Выявление несущественных факторов
- •5.9. Сущность корреляционного анализа
- •5.10. Обработка результатов эксперимента на основе регрессии
- •6. Лекция: Моделирование в gpss World
- •6.1. Основы построения и принципы функционирования языка имитационного моделирования
- •6.2. Построение моделей с устройствами
- •6.2.1. Организация поступления транзактов в модель и удаления транзактов из нее
- •6.2.1.1. Поступление транзактов в модель
- •6.2.1.2. Удаление транзактов из модели и завершение моделирования
- •6.2.1.3. Изменение значений параметров транзактов
- •6.2.2. Занятие и освобождение одноканального устройства
- •6.2.3. Имитация обслуживания посредством задержки во времени
- •6.2.4. Проверка состояния одноканального устройства
- •6.2.5. Методы сбора статистики в имитационной модели
- •6.2.5.1. Регистратор очереди
- •6.2.5.1. Статистические таблицы
- •6.2.6. Методы изменения маршрутов движения транзактов в модели
- •6.2.6.1. Блок transfer
- •6.2.6.2. Блок displace
- •6.2.7. Прерывание функционирования одноканального устройства
- •6.2.7.1. Прерывание в приоритетном режиме
- •6.2.7.2. Прерывание в режиме "захвата"
- •6.2.7.3. Проверка состояния одноканального устройства, функционирующего в приоритетном режиме
- •6.2.8. Недоступность одноканального устройства
- •6.2.8.1. Перевод в недоступное состояние и восстановление доступности
- •6.2.8.2. Проверка состояний недоступности и доступности одноканального устройства
- •6.2.9. Сокращение машинного времени и изменение дисциплин обслуживания методом применения списков пользователя
- •6.2.9.1. Ввод транзактов в список пользователя в безусловном режиме
- •6.2.9.2. Вывод транзактов из списка пользователя в условном режиме
- •6.2.10. Построение моделей систем с многоканальными устройствами и переключателями
- •6.2.10.1. Занятие многоканального устройства и его освобождение
- •6.2.10.2. Перевод многоканального устройства в недоступное состояние и восстановление его доступности
- •6.2.10.3. Проверка состояния многоканального устройства
- •6.2.10.4. Моделирование переключателей
- •6.3. Решение прямой и обратной задач в системе моделирования
- •6.3.1. Постановка прямой и обратной задач
- •6.3.2. Решение прямой задачи
- •6.3.2.1. Блок-диаграмма модели
- •6.3.2.2. Программа модели
- •6.3.2.3. Ввод текста программы модели, исправление ошибок и проведение моделирования
- •6.3.3. Решение обратной задачи
- •6.4. Пример построения моделей с оку, мку и списками пользователя
- •6.4.1. Модель процесса изготовления изделий на предприятии. Прямая задача
- •6.4.1.1. Постановка задача
- •6.4.1.2. Исходные данные
- •6.4.1.3. Задание на исследование
- •6.4.1.4. Уяснение задачи на исследование
- •6.4.1.5. Блок-диаграмма модели
- •6.4.1.6. Программа модели
- •6.4.2. Модель процесса изготовления изделий на предприятии. Обратная задача
- •6.4.2.1. Постановка задачи
- •6.4.2.2. Программа модели
- •6.5. Уменьшение числа объектов в модели
- •6.5.1. Постановка задачи
- •6.5.2. Исходные данные
- •6.5.3. Задание на исследование
- •6.5.4. Блок-диаграмма модели
- •6.5.5. Программа модели
- •6.6. Применение матриц, функций и изменение версий модели
- •6.6.1. Постановка задачи бизнес-процесса
- •6.6.2. Уяснение задачи
- •6.6.3. Программа модели
- •6.7. Моделирование неисправностей одноканальных устройств
- •6.7.1. Постановка задачи
- •6.7.2. Исходные данные
- •6.7.3. Задание на исследование
- •6.7.4. Уяснение задачи
- •6.7.5. Программа модели
- •6.8. Моделирование неисправностей многоканальных устройств
- •6.8.1. Постановка задачи
- •6.8.2. Программа модели
- •7. Лекция: Организация компьютерных экспериментов
- •7.1. Дисперсионный анализ (отсеивающий эксперимент). Прямая задача
- •7.2. Регрессионный анализ (оптимизирующий эксперимент). Прямая задача
- •7.3. Дисперсионный анализ (отсеивающий эксперимент). Обратная задача
- •7.3.1. Постановка задачи
- •7.3.2. Исходные данные
- •7.3.3. Задание на исследование
- •7.3.4. Уяснение задачи на исследование
- •7.3.5. Программа модели
- •7.3.6. Проведение экспериментов
- •8. Лекция: Разработка имитационных моделей в виде приложений с интерфейсом
- •8.1. Применение текстовых объектов и потоков данных
- •8.1.1. Блок open
- •8.1.2. Блок close
- •8.1.3. Блок read
- •8.1.4. Блок write
- •8.1.5. Блок seek
- •8.2. Разработка модели в gpss World
- •8.2.1. Постановка задачи
- •8.2.2. Программа модели
- •8.3. Создание стартовой формы приложения - имитационной модели
- •8.3 Добавление компонент в стартовую форму имитационной модели
- •8.3.1. Добавление полей редактирования
- •8.3.2. Добавление меток
- •8.3.3. Добавление компонент для ввода и вывода данных, представленных в виде таблиц
- •8.3.4. Добавление командных кнопок
- •8.4. События и процедуры обработки событий
- •8.4.1. События
- •8.4.2. Разработка процедур обработки событий для кнопок
- •8.4.3. Разработка процедур обработки событий для полей редактирования
- •8.4.4. Модификация программы имитационной модели
- •8.5. Работа с приложением
3. Лекция: Статистическое моделирование:
Имитационная модель представляет собой программу, реализованную на компьютере, описывающую (моделирующую) функционирование элементов моделируемой системы, их связь между собой и внешней средой. Поэтому имитационную модель следует называть компьютерной моделью и имитационное моделирование - компьютерным моделированием, тем более, что название "имитационное моделирование" несет в себе тавтологию: имитация и моделирование - очень сходные понятия. Тем не менее, термин "имитационное моделирование" прижился и широко используется в отечественной технической и научной литературе.
Имитационная модель является функциональной, так как она создается для получения характеристик моделируемого процесса, а не структуры. Однако, моделирующий алгоритм, как правило, имеет модульную структуру, аналогичную размещению и связям элементов в моделируемом объекте.
Имитационная модель дает численное решение задачи, что не позволяет непосредственно усматривать функциональные связи между параметрами процесса, как это демонстрируют аналитические модели. Однако, выполнив серию экспериментов с моделью, направленно изменяя значения исследуемого фактора, и, выполнив обработку результатов, можно построить искомую связь между показателем эффективности системы и исследуемым фактором.
Имитационную модель, в отличие от аналитической модели, можно разработать с любой детализацией процесса или явления.
Как правило, имитационные модели создают для исследования процессов, на течение которых влияют различного рода случайности: отказы и сбои технических устройств, неточности измерений, рассеивание попаданий относительно точек прицеливания, и многое другое. Следовательно, результат такого процесса случаен. В имитационной модели случайные факторы моделируются при помощи специально подобранных генераторов случайных величин, которые входят в современные системы имитационного моделирования. Для получения характеристик таких вероятностных операций имитационная модель многократно реализуется на компьютере. Полученный при этом ряд значений исследуемого параметра подвергается статистической обработке, в результате которой и определяются характеристики случайных показателей процесса - матожидание, дисперсия, закон распределения и т. п. Такие имитационные модели называют статистическими имитационными или статистическими.
3.1. Сущность имитационного моделирования
Сущность имитационного моделирования рассмотрим на примере.
Пример
3.1.
По объекту наносится одиночный ракетный
удар. Радиус поражения
.
Попадание ракеты в цель характеризуется рассеиванием, распределенным по нормальному закону со среднеквадратическими отклонениями:
по дальности
;по направлению
.
Цель
будет уничтожена, если расстояние
от
нее (то есть от точки прицеливания) до
центра взрыва ракеты будет меньше или
равно
,
то есть
Так
как
размеров
объекта, то цель можно считать точечной.
Наличие рассеивания исключает однозначный ответ: "цель поражена - цель не поражена". Задача носит вероятностный характер, поэтому в результате моделирования может быть получен ответ: цель будет поражена с вероятностью .
Цель
моделирования: определить
вероятность
поражения
объекта одиночным ракетным ударом.
Решение
Построим
декартову систему координат так, чтобы
точечный объект находился в начале
координат, а направление пуска ракеты
совпадало с осью
(рис.
3.1).
Возьмем две последовательности нормально распределенных случайных чисел:
Рис. 3.1. Иллюстрация к нанесению удара
Первая
последовательность соответствует
распределению
,
вторая -
.
Матожидания
,
взяты
равными нулю, так как объект поражения
(точка прицеливания) находится в начале
координат, то есть имеет координаты
и
.
Закон
и характеристики случайных
чисел
и
соответствуют
закону рассеивания пуска ракет.
Моделирование
Имитируем удар, то есть мысленно нанесем удар по объекту путем определения координат взрыва. В силу идентичности закона рассеивания и его характеристик с законами распределения случайных чисел такими координатами могут быть
и
,
взятые из последовательностей случайных
чисел.Вычислим расстояние
от
места взрыва ракеты до цели:
Оценим результаты имитации удара, то есть установим факт поражения или непоражения объекта:
если
,
то объект поражен;если
,
то объект непоражен.
Если объект поражен, запомним этот факт увеличением
на
единицу, то есть
(в
начале
).Для нахождения вероятности поражения объекта повторим имитацию нанесения удара
раз.Оценим вероятность через частость поражения объекта:
Возможность оценки вероятности частостью доказывается теоремой Я. Бернулли: при неограниченном числе однородных независимых опытов с практической достоверностью можно утверждать, что частота события будет сколь угодно мало отличаться от его вероятности в отдельном опыте (Бернулли Якоб 1 - самый старший из восьми представителей этой швейцарской семьи - выдающихся ученых).
Чем больше число (число реализаций, число испытаний, число прогонов модели), тем точнее будет оценка вероятности .
В
рассмотренном примере 3.1 при
,
,
оценки
вероятностей
поражения
цели при различном числе реализаций
модели показаны в табл.
3.1.
Таблица 3.1. Оценки вероятностей поражения цели |
||||
|
20 |
200 |
2000 |
10000 |
|
0,8 |
0,75 |
0,7615 |
0,7644 |
При
,
тех же характеристиках рассеивания и
других радиусах поражения
получим:
В одной из последующих тем мы установим количественную связь между числом реализаций модели , требуемой точностью и доверительной вероятностью результата моделирования, в данном случае оценки вероятности .
Данный пример иллюстрирует сущность метода имитационного моделирования, который заключается в следующем.
Создается модель, поведение которой подчиняется тем же вероятностным законам, что и интересующий нас процесс.
По известным законам распределения для отдельных характеристик процесса выбираются их случайные значения.
Вычисляются параметры исхода процесса при случайных значениях характеристик, полученных на этапе 2, и запоминаются. Этапы 2 и 3 соответствуют одному статистическому испытанию.
В результате статистических испытаний (повторений этапов 2 и 3) получают значений параметров исхода процесса. Вероятностные характеристики параметров исхода процесса получают в результате статистической обработки полученных случайных величин.
Статистическая обработка и оценка точности результатов моделирования основываются на предельных теоремах теории вероятностей: теореме Чебышева и теореме Бернулли.
Рассмотрим еще один пример.
Пример
3.2.
Транспорт 1 с грузом отправился из
пункта А в
пункт С через
пункт В.
Одновременно из пункта D в
пункт Е через
пункт В отправился
транспорт 2. Скорости движения транспортов
распределены по нормальному закону с
математическими ожиданиями
и
и
стандартными отклонениями
и
.
Построить алгоритм имитационной модели (ИМ) с целью определения вероятности встречи транспортов 1 и 2 в пункте В. Расстояние от пункта А до пункта В , а от пункта D до пунктаВ - .Событие встречи считать состоявшимся, если их времена прибытия в пункт В либо равны, либо отличаются на величину, не превышающую .
Решение
Построим схему движения транспортов 1 и 2 (рис. 3.2).
Возьмем две последовательности нормально распределенных случайных чисел:
характеристики которых соответствуют матожиданиям и стандартным отклонениям скоростей движения транспортов 1 и 2.
Рис. 3.2. Схема движения транспортов
Имитируем движение транспортов 1 и 2 до пункта В со скоростями
и
соответственно,
взятыми из последовательностей нормально
распределенных случайных чисел.Вычислим время и прибытия в пункт В транспортов 1 и 2 соответственно:
Оценим результат имитации движения транспортов 1 и 2, т. е. установим факт наличия или отсутствия их встречи:
если
,
встреча состоялась;если
,
встреча не состоялась.
Если встреча состоялась, зафиксируем этот факт увеличением значения на
,
т. е.
(вначале
).Для нахождения вероятности встречи транспортов 1 и 2 повторим имитацию их движения раз.
Рассчитаем вероятность встречи:
Результаты
моделирования при
и
характеристиках движения транспортов:
,
,
:
Очевидно, изложенный процесс имитации легко может быть реализован на компьютере. Представим алгоритмы моделей примеров 3.1 и 3.2 схемами (рис. 3.3 и 3.4).
В рассмотренных примерах исследуются различные процессы. Но алгоритмы моделей этих процессов (для сравнения рядом с алгоритмом задачи 3.2 (рис. 3.3) показан и алгоритм задачи 3.1 (рис. 3.4) имеют общую, практически идентичную часть (блоки 1, 5…8, на рис. 3.3 и 3.4 они выделены) и часть, которая непосредственно имитирует исследуемый процесс (блоки 2… 4).
Рис. 3.3.
Подобное сходство и различие еще раз подтверждают сформулированную нами ранее сущность имитационного моделирования.
Пример 3.3. По объекту наносится не одиночный, а три последовательных ракетных удара. При поражении объекта любой ракетой пуски прекращаются. Остальные условия те же, что и в примере 3.1.
Алгоритм
ИМ приведен на рис.
3.5.
На нем выделены блоки 1, 8…11, выполняющие
те же функции, что блоки 1, 5…8 в алгоритмах
ИМ на рис.
3.3 и
3.4. Блоки 2…7 непосредственно имитируют
нанесение удара по объекту, т. е. выполняют
одну реализацию (один прогон модели). В
блоке 2 переменной
присваивается
начальное число пусков ракет. Далее эта
переменная используется для организации
внутреннего цикла по числу пусков. После
каждого пуска значение k уменьшается
на 1 (блок 7). При
(блок
3) реализация завершается. Завершается
она также и при поражении объекта (блок
6). Но при этом предварительно значение
переменной
увеличивается
на
.
По завершении
реализаций
рассчитывается оценка математического
ожидания вероятности поражения объекта
тремя последовательными пусками ракет.
Рис. 3.5. Алгоритм модели нанесения удара тремя ракетами
Как отмечалось вначале, название метода - имитационное моделирование не очень удачно в том смысле, что несет в себе тавтологию: моделирование и есть имитация. Однако название прижилось. Очень часто метод называют статистическим моделированием из-за необходимости статистической обработки накапливаемого результата - в случае вероятностных операций.
Иногда статистическое моделирование называют "метод Монте-Карло", по городу, где процветает игра в рулетку, исход которой случаен и образуется своеобразным датчиком случайных исходов - рулеткой.
