- •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. Работа с приложением
7.2. Регрессионный анализ (оптимизирующий эксперимент). Прямая задача
Дисперсионный анализ (отсеивающий эксперимент) показывает силу влияния каждого фактора на наблюдаемую переменную (отклик). Однако оптимизация и количественный прогноз поведения систем часто являются основными задачами моделирования. В GPSS World решение таких задач возможно посредством проведения регрессионного анализа (оптимизирующего эксперимента).
Оптимизация моделируемого процесса состоит в определении таких значения уровней факторов, при которых показатель эффективности процесса достигает максимального значения (или минимального - в зависимости от смысла показателя эффективности).
В общем случае показатель эффективности представляется уравнением регрессии
где - значения уровней факторов процесса; -количество управляемых факторов.
Оптимизация многофакторного, особенно нелинейного уравнения регрессии, задача не простая, и для ее решения разработан ряд численных методов. Наиболее эффективен при компьютерном моделировании так называемый метод поверхностей, при котором уравнение регрессии трактуется как уравнение поверхности в многофакторном пространстве. Оптимальное решение в этом случае составляют координаты из значений факторов вершины (или впадины) этой поверхности. Поиск оптимума осуществляется последовательными изменениями (шагами) значений уровней факторов в направлении, на котором обнаруживается улучшение показателя эффективности. Такой метод реализован в GPSS World.
Пользователь задает исходные условия, а GPSS World автоматически создает план и проводит с поверхностью отклика эксперимент, который отыскивает оптимальное значение. В ходе эксперимента GPSS World пытается подобрать либо линейную модель, либо модель второго порядка (включая двухфакторные взаимодействия).
Рассмотрим на примере проведение регрессионного анализа (оптимизирующего эксперимента).
Пример 7.2. В условиях примера 6.1 провести регрессионный анализ результатов моделирования. При этом вычислительную сложность обработки запросов сервером взять распределенной не по нормальному, а по экспоненциальному закону, т. е. в программе модели примера 6.1 удалить строку
S2_ EQU 200000 ; Стандартное отклонение вычислительной сложности запросов, оп
а строку с блоком ADVANCE заменить строкой:
ADVANCE ((Exponential(32,0,S_))/Q_) ; Имитация обработки запроса
Откройте модель примера 6.1. Сохраните как Reg_Server. Внесите рекомендованные изменения.
Выберите Edit / Insert Experiment / Optimising … (Правка / вставить эксперимент / Оптимизирующий …). Откроется диалоговое окно Optimizing Experiment Generator(Генератор оптимизирующего эксперимента).
Введите имена факторов и значения уровней (рис. 7.10).
В поле Expression (Выражение) группы Result (Результат) введите выражение, по которому рассчитывается результат наблюдения:
(N$ObrZap/N$KolZap)
Оптимизирующий эксперимент нужно ограничить пределами. Группа полей Movement (Пределы перемещения) позволяет ограничить перемещение локальной экспериментальной области. Если это возможно, необходимо ввести пределы изменения для каждого фактора эксперимента. Другой способ ограничить поиск - задание величины Redirection Limit (Предел изменения направления). Это значение устанавливает предел на количество изменений направления движения эксперимента по факторному пространству.
Введите в поля эти данные, приведенные на рис. 7.10.
Рис. 7.10. Диалоговое окно Optimizing Experiment Generator (Генератор оптимизирующего эксперимента)
Далее, так как вероятность обработки запросов должна быть максимальной, оставьте Maximize. Также установите флажки, позволяющие выбрать опции Generate Run Procedure и Load F12 with CONDUCT Command. Назначение этих опций такое же, как и в генераторе отсеивающего эксперимента. Только после создания объекта "Процесс моделирования" для запуска эксперимента нужно нажать функциональную клавишу [F12], а не [F11].
Все необходимые данные введены в соответствующие поля. Нажмите кнопку Insert Experiment (Вставить эксперимент). Так как GPSS World было указано сгенерировать процедуру запуска, то появится диалоговое окно, позволяющее отредактировать ее так же, как и в генераторе отсеивающего эксперимента. После корректировки нажмитеOk. Автоматически сгенерированные Plus-операторы появятся в нижней части модели.
Для запуска эксперимента сначала создайте, нажав [Ctrl]+[Alt]+[S], объект "Процесс моделирования". При успешном завершении появится соответствующее сообщение (рис. 7.11).
Рис. 7.11. Сообщение об успешном создании объекта "Процесс моделирования" для проведения регрессионного анализа
После такого сообщения нажмите функциональную клавишу [F12]. Эксперимент начнет выполняться. В окно Journal (Журнал) процесса моделирования будут выводиться отчеты о состоянии и результатах каждого наблюдения.
По отчетам можно узнать о перемещении локальной экспериментальной области. Plus-эксперимент пытается переместить локальную экспериментальную область так, чтобы она включала в себя оптимальные условия. Если это происходит, или, если достигнут предел изменения направления или предел перемещения, эксперимент заканчивается.
Когда перемещение останавливается, в окно Journal (Журнал) также выводятся результаты проверки критерия адекватности и уравнение подобранной (найденной) поверхности отклика. Затем, если это еще не сделано, Plus-эксперимент пытается проверить прогнозируемые оптимальные условия, запустив процесс моделирования для них.
Результаты регрессионного анализа (оптимизирующего эксперимента), после 209 наблюдений, приведены на рис. 7.12.
Заметим, что это на 201 наблюдение больше, чем при проведении дисперсионного анализа (отсеивающего эксперимента) (п. 7.1). Оптимум не находится в локальной экспериментальной области.
Рис. 7.12. Результаты оптимизирующего эксперимента
Полученное уравнение поверхности отклика имеет вид:
Оптимальное значение вероятности обработки запросов сервером составляет 0.973068.
При проведении оптимизирующего эксперимента важным является задание локальной экспериментальной области. Значения факторов, указанные исследователем, формируют начальную точку эксперимента. От этого зависит достижение его цели, заключающейся:
в получении оптимального значения в пределах локальной области;
выполнении подтверждающего прогона;
выводе модели, которая была использована.
Следует иметь в виду, что цель получения математической модели в оптимизирующем эксперименте достигается не всегда.