
- •Москва, 2004
- •Введение
- •1. Основные понятия теории моделирования
- •1.1 Понятие модели. Виды моделей
- •Цель (человека)
- •1.2. Общие вопросы моделирования систем
- •1.3. Основные требования к моделям
- •1.4. Принципы моделирования
- •1.5 Вопросы для самоконтроля
- •5. Основные требования к моделям.
- •6. Принципы моделирования.
- •2. Компьютерное моделирование
- •2.1 Этапы моделирования
- •2.2 Определение цели моделирования.
- •Определение типа системы;
- •Описание рабочей нагрузки;
- •Декомпозиция системы.
- •2.3 Определение типа системы
- •2.4 Описание рабочей нагрузки.
- •2.5 Декомпозиция системы
- •2.6 Выбор между имитационной или аналитической моделью
- •2.7 Вопросы для самоконтроля
- •6. Декомпозиция системы.
- •3.Формализация модели.
- •3.1 Классификация схем построения имитационной модели
- •3.2. Представление динамики системы
- •3.3. Генераторы случайных чисел
- •3.4 Моделирование случайных факторов
- •3.5 Управление модельным временем
- •3.5.1 Виды представления времени в модели
- •3.5.2 Изменение времени с постоянным шагом
- •3.5.3 Моделирование по особым состояниям
- •3.6. Моделирование параллельных процессов
- •3.6.1. Виды параллельных процессов
- •3.6.2. Механизм реализации параллельных процессов в языках моделирования
- •3.7 Вопросы для самоконтроля
- •8. Виды представления времени в модели.
- •4. Программная реализация модели
- •5.Планирование модельных экспериментов
- •5.1 Задачи планирования экспериментов. Стратегическое и тактическое планирование.
- •5.2. Стратегическое планирование имитационного эксперимента
- •5.2.1. Цель стратегического планирования эксперимента
- •5.2.2. Способы построения стратегического плана
- •5.3. Тактическое планирование экспериментов
- •5.4 Вопросы для самоконтроля
- •6. Обработка и анализ результатов моделирования
- •6.1 Основная идея регрессионного анализа
- •6.2 Общая схема проведения расчетов
- •6.3 Оценка качества имитационной модели
- •6.3.1 Адекватность модели
- •6.3.2 Оценка устойчивости
- •6.3.3 Оценка чувствительности
- •6.4 Калибровка модели
- •6.5 Вопросы для самоконтроля
- •6. Оценка чувствительности.
- •7.1 Основные понятия теории массового обслуживания
- •7.2 Марковский процесс
- •7.2.1 Понятие марковского процесса
- •7.2.2 Потоки событий
- •7.3 Уравнения Колмогорова для вероятностей состояний. Финальные вероятности состояний
- •7.4 Схема гибели/размножения.
- •7.5 Формула Литтла.
- •7.6 Моделирование смо как Марковского процесса
- •7.7. Моделирование смо по событиям
- •Заключение
6.4 Калибровка модели
Если в результате произведенной оценки качества модели оказалось, что целевые свойства не удовлетворяют разработчика, необходимо выполнить калибровку, то есть коррекцию с целью приведения в соответствие предъявляемым требованиям.
Как правило, процесс калибровки носит итерационный характер и состоит из трех основных этапов:
глобальные изменения модели (например, введение новых процессов, изменение типов событий и т.д.);
локальные изменения (в части изменений некоторых законов распределения моделируемых случайных величин);
изменение специальных параметров, называемых калибровочными.
На первый взгляд, структурные изменения модели, как более сложные, должны рассматриваться только после того, как все попытки откалибровать модель путем изменения параметров и локальных модификаций окажутся безуспешными. Однако такая стратегия может скрыть структурные несоответствия или недостаточную степень детальности модели. В этом смысле начинать с внесения глобальных изменений значительно безопаснее.
Вообще, целесообразно объединить оценку целевых свойств имитационной модели и ее калибровку в единый процесс. Именно такая стратегия принята в статистическом методе калибровки (рис. 6.1).
Рис. 6.1 Статистический метод калибровки
Процедура калибровки состоит из трех шагов, каждый из которых является итеративным.
Шаг 1. Сравнение выходных распределений.
Цель – оценка адекватности имитационной модели. Критерии сравнения могут быть различными. В частности, может использоваться величина разности между средними значениями откликов модели и системы. Устранение различий на этом шаге основано на выявлении глобальных изменений.
Шаг 2. Балансировка.
Цель – оценка устойчивости и чувствительности модели. По его результатам, как правило, производятся локальные изменения (но возможны и глобальные).
Шаг 3. Оптимизация модели.
Цель – обеспечение требуемой точности результатов. Здесь возможны 3 основных направления работ: дополнительная проверка качества датчиков случайных чисел; снижение влияния переходного режима; применение специальных методов понижения дисперсии.
6.5 Вопросы для самоконтроля
1. Задачи регрессионного анализа.
2. Уравнение регрессии.
3. Оценка качества модели.
4. Статистические критерии адекватности.
5. Критерии устойчивости.
6. Оценка чувствительности.
7. Назначение и этапы процедуры калибровки модели.
7. Примеры Моделирования: системы массового обслуживания
7.1 Основные понятия теории массового обслуживания
В качестве процесса обслуживания могут быть представлены различные по своей физической природе процессы функционирования экономических, производственных, технических и других систем. Например, потоки деталей и комплектующих изделий на сборочном конвейере, заявки на обработку информации ЭВМ от удаленных терминалов, справочная служба АТС, магазины и т.п.
При этом характерным для таких систем является случайное появление заявок (требований) на обслуживание и завершение обслуживания в случайные моменты времени, то есть стохастический характер процесса функционирования.
Процесс работы системы массового обслуживания (СМО) представляет собой случайный процесс с дискретными состояниями и непрерывным временем. Состояния СМО меняется скачком в моменты появления каких-либо событий (или прихода новой заявки, или окончания обслуживания, или момента, когда заявка, которой «надоело ждать», покидает систему).
В любом элементарном акте обслуживания можно выделить две основные составляющие: ожидание обслуживания заявкой и собственно обслуживание. Это можно изобразить в виде некоторого i-го прибора обслуживания Пi, состоящего из накопителя заявок Hi, в котором может находиться одновременно li=0Li заявок (где Li – емкость i-го накопителя), и канала обслуживания заявок (или просто канала) Ki (рис.7.1)
Ui Hi Ki
Yi
Wi
Пi
Рис. 7.1 Прибор обслуживания П
На каждый элемент прибора поступает два потока событий: в накопитель Hi – поток заявок Wi, на канал Ki – поток обслуживаний Ui. (Поток событий – последовательность событий, происходящих одно за другим в какие-то случайные моменты времени).
Обычно в приложениях при моделировании различных систем применительно к каналу обслуживания Ki можно считать, что поток заявок W образует подмножество неуправляемых переменных, а поток обслуживания U (время между началом и окончанием обслуживания заявки) – подмножество управляемых переменных.
Заявки, обслуженные каналом Ki, и заявки, покинувшие прибор Пi необслуженными по различным причинам, образуют выходной поток Yi (подмножество выходных переменных).
Процесс функционирования прибора Пi можно представить как процесс изменения состояний его элементов во времени Zi(t). Переход в новое состояние для Пi означает изменение количества заявок, которые в нем находятся (в канале и в накопителе). Таким образом, вектор состояний для Пi имеет вид Zi=( ZiH, ZiK), где ZiH -- состояние накопителя Hi (ZiH=0 накопитель пуст, ZiH =1 – в накопителе 1 заявка, … ZiH =Li – накопитель полон, Li – емкость накопителя); ZiK – состояние канала Ki ( ZiK =0 – канал свободен, ZiK =1 – канал занят обслуживанием).
В практике моделирования систем имеющих более сложные структурные связи и алгоритмы поведения, для формализации используются не отдельные приборы обслуживания, а Q-схемы, образуемые композицией многих элементарных приборов Пi (сети массового обслуживания). Если каналы Ki различных приборов обслуживания соединены параллельно, то имеет место многоканальное обслуживание (многоканальные Q-схемы). А если приборы Пi или их композиции соединены последовательно – то имеет место многофазное обслуживание. В этом случае собственными внутренними параметрами Q-схемы будет являться количество фаз Lф, количество каналов в каждой фазе LKj, j=1Lф, количество накопителей в каждой фазе LНj, j=1Lф , и емкость i-го накопителя LiH.
Таким образом, для задания Q-схемы необходимо использовать оператор сопряжения R, отражающий взаимосвязь элементов структуры (каналов и накопителей) между собой. Связи между элементами Q-схемы изображают в виде стрелок (линий потока), отражающих направление движения заявок (рис.2).
Различают замкнутые и разомкнутые Q-схемы. В разомкнутых Q-схемах выходной поток обслуженных заявок не может снова поступить на какой-либо элемент, то есть обратная связь отсутствует. В замкнутых Q-схемах имеются обратные связи, по которым заявки двигаются в направлении обратном движению вход/выход.
входной выходной
поток поток
поток
отказов
Рис. 7.2 Пример многоканальной Q-схемы
Следует отметить, что в теории массового обслуживания в зависимости от емкости накопителя применяют следующую терминологию: системы с потерями (отказами), когда LiH=0, то есть накопителя нет, а есть только канал обслуживания К, (например, телефонный звонок); системы с ожиданием (без отказов), когда LiH=, то есть накопитель имеет бесконечную емкость и очередь заявок неограничена, (например, очередь на жилье); системы смешанного типа (с ограниченной очередью), емкость накопителя ограничена, (пример – запись на прием к врачу по талонам).
Всю совокупность собственных параметров Q-схемы обозначим как подмножество Н.
Для задания Q-схемы также необходимо описать алгоритм ее поведения (функционирования), который определяет набор правил поведения заявок в системе в различных неоднозначных ситуациях. В зависимости от места возникновения таких ситуаций различают алгоритмы (дисциплины) ожидания заявок в накопителе Hi и дисциплины обслуживания заявок каналом Кi. Неоднородность заявок, отражающая процесс в той или иной реальной системе, учитывается с помощью введения классов приоритетов. В зависимости от динамики приоритетов в Q-схемах различают статические и динамические приоритеты. Статический приоритет назначается заранее и не зависит от состояния q-схемы, то есть они являются фиксированными в пределах решения конкретной задачи моделирования. Динамические приоритеты возникают при моделировании в зависимости от возникающих ситуаций (например, из двух программ выбираем ту, что занимает меньше места в оперативной памяти или более быстро обслуживается).
Исходя из правила выбора заявок из накопителя Hi на обслуживание каналом Кi, можно выделить относительные и абсолютные приоритеты. Относительный приоритет означает, что заявка с более высоким приоритетом, поступившая в накопитель Hi, ожидает окончания обслуживания предшествующей заявки каналом Ki, и только после этого занимает канал. Абсолютный приоритет означает, что заявка с более высоким приоритетом, поступившая в накопитель Hi, прерывает обслуживание каналом Ki заявки с более низким приоритетом и сама занимает канал (при этом вытесненная заявка может либо покинуть систему, либо может быть снова записана на какое-то место в Hi).
При рассмотрении алгоритмов функционирования приборов обслуживания Пi (каналов К и накопителей Н) необходимо так же задать набор правил, по которым заявки покидают Нi и Ki. Для Hi—либо правила переполнения, по которым заявки в зависимости от заполнения Нi покидают систему, либо правила ухода, связанные с истечением времени ожидания заявки в Нi; для Кi—правило выбора маршрутов или направлений ухода.
Кроме того, для заявок необходимо задать правила, по которым они остаются в канале Кi, или не допускаются до обслуживания каналом Кi , то есть правила блокировок канала. При этом различают блокировки по выходу и по входу. Такие блокировки отражают наличие управляющих связей в Q—схеме, регулирующих поток заявок в зависимости от состояний Q – схемы.
Весь набор возможных алгоритмов поведения заявок в Q—схемах можно представить в виде некоторого оператора А алгоритмов поведения заявок.
Таким образом, Q-схема, описывающая процесс функционирования СМО любой сложности задается в виде:
Q = <W, U, H, Z, R, A> , где
W – поток заявок, U – поток обслуживания, H – собственные параметры Q-схемы, Z – множество состояний, R – оператор сопряжения элементов схемы, A – алгоритмы поведения.
Обобщим приведенные выше классификационные признаки СМО в таблице 7.1.
Классификация СМО Табл.7.1
-
Классификационный признак
Тип Q-схемы
тип соединений
между приборами
многоканальные
многофазные
емкость накопителей
с отказами
с ожиданием
смешанные
наличие обратной связи
разомкнутые
замкнутые
алгоритмы
обслуживания
с приоритетами
без приоритетов
Математический анализ работы СМО значительно облегчается, если процесс этой работы – марковский.