- •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. Работа с приложением
4.6.2. Определение оценки дисперсии
Мы научились находить оценку матожидания некоторой случайной величины с заданными точностью и достоверностью.
Теперь рассмотрим задачу определения оценки дисперсии случайной величины также с заданными точностью и достоверностью.
Опустим вывод и приведем окончательный вид формул для расчета и :
где - эмпирический центральный момент четвертого порядка:
Неизвестное значение заменяется оценкой , как было рассмотрено ранее.
Если определяемая случайная величина имеет нормальное распределение, то и выражения для и принимают вид:
Как и ранее при малых значениях ( ) следует использовать параметр распределения Стьюдента .
Из сопоставления (4.3) и (4.4) следует, что одно и то же количество реализаций модели обеспечит разное значение ошибки при оценке матожидания случайной величины и ее дисперсии - при одинаковой достоверности. И иначе: одинаковую точность определения оценок матожидания и дисперсии случайного параметра при одинаковой достоверности обеспечит разное число реализаций модели.
Пример 4.5. В результате предварительных прогонов модели определена оценка дисперсии .
Определить число реализаций модели и для определения оценок матожидания и дисперсии случайной величины соответственно с точностью и достоверностью .
Решение
4.7. Точность и количество реализаций модели при определении вероятностей исходов
Мы рассматриваем случай, когда в качестве показателя эффективности выступает вероятность свершения (или не свершения) какого-либо события, например, поражения цели, выхода из строя техники, завершения комплекса работ в заданное время и др.
В качестве оценки вероятности события выступает частота его свершения:
где - число реализаций модели;
- число свершений данного события.
Использование частоты в качестве оценки искомой вероятности основано на теореме Я. Бернулли, которую в данном случае можно в формализованном виде записать так:
Точность и достоверность этой оценки связаны уже с известным определением достоверности:
Задача сводится к нахождению такого количества реализаций , чтобы оценка отличалась от искомого значения менее, чем на с заданной достоверностью. Здесь, как и ранее, - абсолютное значение, характеризующее точность оценки.
Для нахождения функциональной связи между точностью, достоверностью и числом реализаций модели введем переменную - результат исхода -й реализации модели:
Тогда частота свершения события (оценка искомой вероятности) будет определяться следующим выражением:
Величина - случайная и дискретная. Она при таком задании имеет биномиальное распределение (распределение Бернулли) с характеристиками:
матожидание
дисперсия
Из этого следует:
В теории вероятностей есть теорема Лапласа (частный случай центральной предельной теоремы), сущность которой состоит в том, что при больших значениях числа реализаций биномиальное распределение достаточно хорошо согласуется с нормальным распределением.
Следовательно, можно записать:
Следуя рассуждениям, приведенным ранее, получим искомые формулы:
Как и ранее, - аргумент функции Лапласа,
Если априорные сведения хотя бы о порядке искомой вероятности неизвестны, то использование значения абсолютной ошибки может не иметь смысла. Например, может быть так, что исследователь задал значение абсолютной ошибки , а искомое значение вероятности оказалось . Очевидно, явное несоответствие. Поэтому целесообразно оперировать относительной погрешностью:
В этом случае формулы (4.5) принимают вид:
Из формул (4.6) следует, что при определении оценок малых вероятностей с приемлемо высокой точностью необходимо выполнить очень большое число реализаций модели. При отсутствии высокопроизводительного компьютера применение статистического моделирования становится проблематичным.
Пример 4.6. Вероятность .
Определить число реализаций модели и затраты машинного времени для оценки данной вероятности с относительной точностью и достоверностью . На выполнение одной реализации модели требуется 5 сек.
Решение
Из табл. 4.3 находим . Относительная точность .
Если на выполнение одной реализации требуется 5 сек, то затраты машинного времени составят
В формулах (4.5) и (4.6) для вычисления или присутствует та же неопределенность, которую мы обсуждали ранее: вычисления требуют знания вероятности , а она до эксперимента неизвестна. Эта неопределенность снимается так.
Выполняется предварительно прогонов модели. Обычно . По данным этих прогонов вычисляют ориентировочное значение оценки вероятности , которую и подставляют в формулу вместо вероятности .
Если окажется , моделирование следует продолжить до выполнения реализаций.
Если окажется , то моделирование заканчивается. При этом если , то следует определить действительную точность или для реализаций. Очевидно, в этом случае достигнутая точность будет выше заданной (ошибка меньше заданной)
Но более удобно рассчитывать число реализаций на так называемый наихудший случай.
Вернемся к формуле (4.5)
Анализ формулы показывает, что число реализаций модели в зависимости от вероятности изменяется от (при ) до (при ), проходя через максимум. Максимальное значение принимает при :
То есть наибольшее число реализаций модели будет тогда, когда искомая вероятность равна .
В этом случае число реализаций определяется так:
Если в результате моделирования окажется, что искомая вероятность значительно отличается от 0,5 (в любую сторону), то точность моделирования будет выше заданной (ошибка меньше). Для определения этой точности следует воспользоваться уже известной формулой (4.5), но при :
Пример 4.7. Сервер обрабатывает запросы, поступающие с автоматизированных рабочих мест (АРМ) с интервалами, распределенными по экспоненциальному закону со средним значением . Вычислительная сложность запросов распределена по нормальному закону с математическим ожиданием и среднеквадратическим отклонением . Производительность сервера по обработке запросов .
Построить алгоритм имитационной модели с целью определения вероятности обработки запросов за время . Исследовать зависимость вероятности обработки запросов от интервалов их поступления, вычислительной сложности и производительности сервера.
Решение
Для построения алгоритма имитационной модели введем следующие идентификаторы:
- текущее время поступления запроса;
- интервал поступления запросов;
- текущее время окончания обработки запроса;
- время обработки запроса;
- счетчик количества прогонов модели (реализаций);
- вероятность обработки запросов;
- счетчик количества обработанных запросов;
- заданное количество прогонов модели (реализаций);
- количество запросов за прогонов модели;
- время моделирования.
Алгоритм модели приведен на рис. 4.2.
Рис. 4.2. Алгоритм модели обработки запросов сервером
Выберем интервалы варьирования уровней факторов.
- средний интервал поступления запросов.
Для изменения математического ожидания и среднеквадрати-ческого отклонения целесообразно ввести коэффициент, принимающий два значения, например, и . Тогда , , - производительность сервера.
В соответствии с интервалами варьирования представим уровни факторов таблицей (табл. 4.5). В табл. 4.5 индексы н и в - нижний и верхний уровни факторов соответственно.
Таблица 4.5. Уровни факторов |
|||||
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
-1 |
+1 |
-1 |
+1 |
-1 |
+1 |
Составим план факторного эксперимента:
Таблица 4.6. План полного факторного эксперимента |
|||||
№ |
|
|
|
|
|
|
|
||||
1 |
2 |
3 |
4 |
5 |
6 |
1 |
-1 |
-1 |
-1 |
0.375 |
0.375 |
2 |
-1 |
-1 |
+1 |
0.584 |
0.583 |
3 |
-1 |
+1 |
-1 |
0.166 |
0.167 |
4 |
-1 |
+1 |
+1 |
0.32 |
0.319 |
5 |
+1 |
-1 |
-1 |
0.64 |
0.642 |
6 |
+1 |
-1 |
+1 |
0.809 |
0.808 |
7 |
+1 |
+1 |
-1 |
0.376 |
0.375 |
Проведем эксперимент. Выполним первое наблюдение при прогонов модели. Получим вероятность обработки запросов . Занесем ее в табл. 4.5(строка 1, столбец 5) Зададимся точностью и доверительной вероятностью . По таблице значений функции Лапласа найдем ее аргумент (см.табл. 4.3).
Рассчитаем требуемое количество прогонов модели при и :
При расчете числа прогонов для "худшего случая" (а такой вариант возможен, так как в табл. 4.6 мы видим, что есть ) получим: