- •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.12. Модель противоборства двух сторон
Имитационную модель, в которой продвижение модельного времени реализовано с фиксированным шагом, рассмотрим на примере огневого противоборства группировок A и В. Аналитическое моделирование такой операции мы рассмотрели в предыдущей теме. Однако мы снимаем условие многочисленности группировок, так как оно теперь несущественно.
Для начала, чтобы не загромождать алгоритм модели, введем два ограничения:
вероятность поражения цели одним выстрелом ;
вероятность одновременного поражения двумя средствами друг друга пренебрежимо мала.
Впоследствии мы убедимся, что в имитационной модели рассматриваемого боя эти ограничения могут быть сняты.
Моделирование проводится с целью определения средних численностей группировок на любой момент боя, в частности, на фиксированный момент времени .
Учебная задача состоит в том, чтобы изучить структуру конкретного алгоритма, в котором продвижение модельного времени реализовано с фиксированным шагом .
Введем обозначения:
- первоначальные численности группировок;
- текущие значения численностей группировок и соответственно;
- число оставшихся средств каждой из сторон в конце -го интервала моделирования (после -ой реализации модели);
- текущее число реализаций модели;
- заданное число реализаций модели случайного процесса;
- текущее время;
- длительность интервала моделирования;
- средние за реализаций модели численности оставшихся средств сторон в конце каждого интервала моделирования:
- переменные счета средств сторон и соответственно.
Идея построения имитационной модели состоит в реализации модели противоборства раз и фиксации остатков сторон после каждой реализации. По выполнении реализаций будут определены оценки численностей сторон .
Определим величину . На выбор величины влияют два противоречивых требования:
на протяжении отрезка времени не должно происходить много событий, так как они будут зафиксированы как одновременные, что исказит исследуемый реальный процесс;
на протяжении отрезка времени должно произойти хотя бы одно событие, иначе будет много "пустых" прогонов модели, что увеличит машинное время.
С учетом приведенных выше требований разобьем интервал моделирования на равные отрезки такие, чтобы каждое огневое средство любой из сторон могло выстрелить не более одного раза.
Например, скорострельность средств поражения стороны
, а средств стороны . Так как , то следует выбрать исходя из условия .
Алгоритм имитации противоборства сторон состоит из четырех модулей:
- установка начальных условий;
- продвижение модельного времени;
- формирование результата заданной точности;
- имитация противоборства сторон.
Блок-схема алгоритма имитации противоборства двух сторон показана на рис. 3.23.
Модуль установки начальных условий ( ). Он состоит из трех блоков 1… 3.
Блок 1 - установка начальных условий на весь процесс моделирования: число реализаций модели, интервал исследования , величина временного шага , установка в нуль ячеек
Блок 2 - установка начальных условий на очередную реализацию процесса: восстановление численностей сторон и исходного времени .
Блок 3 - установка начальных условий на очередной отрезок модельного времени: подготовка перебора средств
поражения каждой стороны.
Модуль продвижения модельного времени ( ). Состоит из двух блоков 4..5.
Блок 4 - продвижение модельного времени на очередной временной отрезок .
Блок 5 - проверка условия окончания очередной реализации модели .
Модуль формирования результата и обеспечения заданной точности ( ). Состоит из блоков 6…9.
Блок 6 - накопление суммы остатков средств каждой стороны за текущее количество интервалов моделирования (реализаций модели).
Рис. 3.23. Блок-схема алгоритма модели противоборства двух сторон
Блок 7 - счетчик числа реализаций модели ( ) .
Блок 8 - осуществляет контроль над выполнением заданного числа реализаций модели. Число реализаций модели определяется, исходя из заданных точности и достоверности результатов моделирования.
Блок 9 - формирование конечного результата моделирования.
В данном случае - и .
При необходимости определяются и другие статистические характеристики.
Модуль имитации противоборства сторон ( ). Этот модуль - основной. Если структура предыдущих модулей, в общем-то, стандартна, то реализация данного модуля носит функционально-индивидуальный характер. Модуль включает блоки 10…25. Блок-схема алгоритма модуля представлена на рис. 3.24.
Каждое средство противоборствующих сторон идентифицируется его номером. Номера средств стороны - , средств стороны - .
Блок 10 - выбор очередного средства стороны : .
Блок 11 - проверка: все ли средства стороны получили право на выстрел? Если , то управление передается блоку 18 для имитации выстрелов средствами стороны . В противном случае управление передается блоку 12.
Блок 12 - проверка: боеспособно ли выбранное средство? Состояние средств сторон и определяют переменные и :
Если окажется , то управление передается блоку 10 для
выбора очередного средства стороны . Иначе - переход к блоку 13.
Блок 13 - выбор цели из средств стороны . Выбор цели может быть организован либо случайной, либо детерминированной процедурами. Самый простой способ: последовательная проверка средств стороны с выбором первого непораженного средства.
Блок 14 - проверка выбранной цели: не уничтожена ли она была на предыдущих этапах данной реализации модели? Если , то переход к блоку 13 для выбора непораженной цели.
Иначе - переход к блоку 15 для имитации выстрела.
Выстрел - одиночное событие со случайным исходом. Моделью такого события является известная нам конструкция из двух блоков 15 и 15.1.
Рис. 3.24. Блок-схема алгоритма модуля противоборства двух сторон
Блок 15 - обращение к ДСЧ за равномерно распределенным случайным числом .
Блок 15.1 - проверка результата выстрела. Если , цель поражена и управление передается блоку 16 для фиксации этого факта. Если , то промах и управление передается блоку 10 для выбора очередного стреляющего средства стороны .
Блок 16 - уменьшение числа средств стороны : и установка признака состояния пораженного средства: .
Блок 17 - не уничтожена ли вся группировка ? Если да, то данная реализация модели заканчивается и управление передается блоку 6 для фиксации оставшихся боеспособных средств стороны . Если нет, то управление передается блоку 10 для выбора очередного средства стороны и т. д.
После предоставления права на выстрел всем средствам стороны соответствующее право дается средствам стороны - переход из блока 11 в блок 18.
Функции блоков 18… 25 попарно одинаковы с функциями блоков 10…17, изменены только обозначения - вместо указано , вместо , вместо и т. д.
По окончании перебора всех средств стороны и, если не зафиксировано полное уничтожение средств стороны , управление передается блоку 3 для моделирования очередного скачка времени на величину .
Примерная диаграмма изменения численностей сторон и в -й реализации на интервале показана на рис. 3.25.
Рис. 3.25. Диаграмма изменения численности сторон