- •Моделирование систем
- •1. Наличие цели
- •1.2. Модель. Моделирование
- •Система
- •Параметры
- •Внешние
- •Внутренние
- •1.3. Классификация моделей
- •1.4. Методы моделирования
- •Имитационный способ представления задачи 1
- •Имитационный алгоритмический способ
- •Имитационная статистическая постановка задачи
- •2. Математические схемы моделирования систем
- •2.1. Формализация моделирования
- •Математическую схему можно определить как звено при переходе от содержательного к формализованному описанию процесса функционирования системы с учётом воздействия внешней среды.
- •2.2. Задачи, решаемые с помощью моделирования
- •2.3. Проектирование ис и анализ их производительности
- •2.3. Система массового обслуживания как модель
- •2.4. Модели потоков
- •2.2. Аналитический анализ смо
- •2.2.1. Экспоненциальная система массового обслуживания
- •2.2.1.1 Одноканальная однородная экспоненциальная смо
- •2.2.1.2. Многоканальная экспоненциальная смо
- •2.2.1.3. Модель m/g /1
- •2.3. Сети массового обслуживания
- •2.4. Анализ разомкнутых экспоненциальных СеМо
- •2.4.1. Свойства разомкнутой экспоненциальной СеМо
- •2.5. Расчет системных характеристик экспоненциальных СеМо
- •Контрольные вопросы
- •Лекция 4
- •1. Пример: Проблема распределение канала
- •1. Статическое распределение канала
- •2. Динамическое распределение канала
- •2. Пример: расчет системы телеобработки данных
- •3.1. Задание
- •3.2. Решение
- •4. Схема расчета замкнутой СеМо
- •4. Имитационное моделирование систем массового обслуживания
- •4.1. Система массового обслуживания как модель и оригинал
- •4.2. Иллюстративный пример: моделирование посадки самолетов.
- •4.3. Концепция статистического моделирования
- •4.3. Пример: оценка надежности системы
- •5. Построение моделирующего алгоритма
- •5.1. Моделирование на эвм процесса функционирования смо
- •Шагом (принцип t)
- •С другой стороны, принцип особых моментов выгоден тем, что
- •5.2. Особенности реализации процессов с использованием q-схем
- •5.2. Примеры моделирования смо с отказами
- •5.2.1. Подготовка исходных данных и назначение переменных
- •Моделирование смо с отказами по схеме событий
- •5.2.2.1. Построение блок-схем алгоритма имитации
- •5.3. Схемы построения моделирующего алгоритма
- •5.4.1. Моделирование смо с отказами по схеме событий
- •5.4.2. Моделирование смо с отказами по схеме процессов
- •Моделирование смо с отказами по схеме процессов
- •Шаг имитации
- •Класс процессов "генерирование заявок источником"
- •5.4.3. Сопоставление схемы событий и схемы процессов
- •5.5. Семафоры и связные списки
- •5.6. Алгоритмы обслуживания очередей
- •1) Традиционный алгоритм fifo
- •2) Приоритетное обслуживание (Priority Queuing)
- •3) Взвешенные настраиваемые очереди (Weighted Queuing)
- •6. Оценки искомых характеристик и их дисперсии
- •6.1. Структура оценок
- •7. Тестирование имитационной модели
- •8. Случайные факторы и их модели
- •8.1. Моделирование случайных событий
- •8.2. Моделирование дискретных случайных величин
- •321236246263321315464215224214664122142366236246611664533544.
- •8.3.1. Моделирование экспоненциальной с.В.
- •8.5. Моделирование равномерной с.В.
- •Планирование машинных экспериментов с моделями систем
- •Методы планирования эксперимента на модели.
- •Обработка, анализ и интерпретация результатов моделирования
- •11. Замечание о языках моделирования
- •Моделирование смо с одним npи6opом и очередью
5.4.2. Моделирование смо с отказами по схеме процессов
Напомним, что рассматривается СМО с отказами (т.е. без буфера), имеющая два обслуживающих прибора. Интервал между заявками распределен по экспоненциальному закону с математическим ожиданием m. Время обслуживания обсл постоянно. Оценивается вероятность потери заявки Рпот, распределение числа занятых приборов (Р0, Р1, Р2) и коэффициент загрузки прибора Рзп . Обозначения будут те же, что в алгоритме из раздела 2.3.1, и немного добавлено: Ксп,- количество свободных приборов, К - максимальное число одновременно существующих процессов (емкость календаря) и др. Календарь теперь указывает не моменты наступления событий, а моменты активизации процессов. Активизацией процесса называется выполнение алгоритма, соответствующего очередной фазе этого процесса. Календарь содержит и момент активизации процесса Т(J) и метку очередной его фазы M(J) , где J -номер процесса (J=f,...,K ).
В приведенном ниже алгоритме первая цифра метки соответствует номеру процесса, а вторая - номеру фазы в этом процессе.
Моделирование смо с отказами по схеме процессов
ввод данных ( m, обсл, правило остановки)
установка начальных значений переменных, в том числе заполнение календаря (N:=0, ТT:=0, КЗ:=0, КПОТ:=0,
S0:=0, S1:=0, S2:=0, T(J)=0,
J=1..K; M(1):=11; M(J):=0, J:=2..K, KСП:=2)
do шаг имитации (раскрыт ниже)
until выполнено условие остановки
end - do
вычисление
оценок

выдача результатов
end-моделир.
Шаг имитации
увеличение номера шага (N:=N+1)
запоминание особого момента ( TL:=TT)
определение очередного особого момента (Тт:= minT(J)|M(J)0)
пополнение суммарного времени пребывания в определенном состоянии (y:=2-KСП; ДТ:=ТТ-ТL; Sy:= Sy +ДT)
установка текущего номера процесса в нуль (JТ: = 0 )
do определение очередного номера процесса (JT:=JT+1)
подъем флага (IFL:= 1)
if процесс с номером JT существует (М(JT)0)
then if запланированный момент активизации совпадает с текущим моментом (T(JТ=TТ)
then имитация процесса о номером JТ, начиная с фазы
М(JТ) до тех пор, пока это возможно по алгоритму соответствующего класса
end if
end if
if флаг сбросился ( IFL = 0 )
then возврат к началу списка процессов (JТ := 0)
end if
until просмотрен и, если надо, имитирован последний процесс, а флагостался
поднятым (JТ=K & IFL =1)
end do
end шаг
Класс процессов "генерирование заявок источником"
{предполагается единственный источник бесконечной емкости)
(11) подготовка заявки в течение времени :
генерирование интервала (обращение к датчику случайных чисел, реализующему экспоненциальное распределение с мате-
матическим ожиданием m)
планирование выдачи заявки источником (T(1):=T(1)+ ;
M(1):=12 процесс этого класса существует постоянно,
причем в единственном числе; поэтому ему постоянно отведена группа под номером 1}
(12) создание процесса "прохождение заявки":
поиск свободной группы и присваивание ее номера перемен
ной Jv {группа с номером J свободна, если M(J)=0}
создание процесса под номером Jv (T(Jv):=T(1); M(Jv):=21)
пополнение счетчика заявок (Kз:=Kз+1 )
установка указателя активной фазы на начала процесса
(М(1):=11))
end класс "ГЗИ"
Класс процессов "прохождение заявки"
переход к запланированной фазе (goto М (.Jт))
(21) занятие прибора:
if есть свободный прибор ( Кcп>0)
then занятие прибора (Ксп :=Кcп-1), установка на обслуживание (М(Jт):=22)
else потеря заявки (Кпот:=Кпот+1),
установка на ликвидацию процесса (M(Jт):=24)
end if
переход к соответствующей фазе (gоto М Jт) )
(22) обслуживание заявки в течение времени обсл:
планирование освобождение прибора (Т(Jт):=Т(Jт)+обсл)
прерывание до наступления запланированного момента (goto end класс"ПЗ")
[23) освобождение прибора:
увеличение числа свободных приборов (Ксп:= Ксп+1)
сброс флага ( lFL:= 0)
(24) ликвидация процесса (M(Jт):=0)
end класс"ПЗ"
При моделировании по схеме процессов за основу берется понятие процесса.
Основные принципы построения моделирующего алгоритма.
Процесс отражает поведение одного объекта (источника, заявки, детали, рыси, зайца и т.п.), а объектов в системе много.
Параллельно развиваются несколько процессов.
Имитация на одном процессоре процессов производится поочередно.
Процессы пользуются общими ресурсами. Если очередная фаза процесса состоит в занятии ресурса, а свободного ресурса нет, процесс приостанавливается и ждет освобождения ресурса. При этом ЭВМ переходит к имитации другого процесса. Таким образом, ЭВМ поочередно продвигает процессы на одну или несколько фаз, учитывая их взаимодействие во времени и в использовании общих ресурсов.
Продвижение процессов по системному времени можно осуществлять по принципу t или по принципу особых моментов.
В календаре (при использовании принципа особых моментов) каждому процессу отводится место, где указывается, с какой фазы надо начать или продолжить имитацию процесса и к какому моменту системного времени это событие относится.
Календарь указывает моменты активизации процессов.
Активизацией процесса называется выполнение алгоритма, соответствующего очередной фазе этого процесса.
Календарь содержит и момент активизации процесса Т(J) и метку очередной его фазы M(J) , где J -номер процесса (J=f,...,K ). К - максимальное число возможно дновременно существующих процессов (емкость календаря).
Процессы могут быть постоянными (т.е. развиваться бесконечно долго) и временными.
Временный процесс создается в некоторый момент времени, существует какое-то время, после чего ликвидируется. Одна из фаз процесса может представлять собой создание нового процесса.
При создании процесса отыскивается свободное место в календаре, и номер этого места становится номером процесса. После ликвидации процесса его место в календаре освобождается. Признаком свободного места в календаре может быть нуль в ячейке, отведенной для обозначения (метки) очередной фазы процесса.
За один шаг производится поочередный просмотр всех процессов и имитация тех из них, для которых созрели условия, в частности наступило время исполнения очередной фазы.
Освобождение ресурса. В ходе имитации очередной фазы процесса может освободиться ресурс, которого не хватало для имитации ранее просмотренных процессов.
Под меньшим номером может быть создан процесс и помещен на свободное место в календаре, чем текущий процесс.
В обоих случаях требуется повторный просмотр процессов в рамках того же шага.
Флаг - двоичную переменную, удобно использовать для организации повторного просмотра. Этой переменной перед началом просмотра присваивается значение единицы ("подъем" флага). Освобождение ресурса или создание нового процесса влечет за собой "сброс" флага в нуль. Завершение шага и переход к следующему шагу производится только, если флаг остался поднятым.
Термин "процесс" имеет два разных смысла: процесс как алгоритм и процесс как структура данных.
Чаще термин процесс применяют к структуре данных, а алгоритм называют классом процессов (классом объектов), поскольку процесс как алгоритм относится ко всему множеству процессов одинакового типа, а процесс как структура данных описывает конкретного представителя этого множества.
Алгоритм шага содержит следующие части:
– запоминание значений некоторых переменных,
– определение момента активизации очередного процесса,
– имитация очередной фазы (фаз) процесса, пополнение статистик, планирование событий,
– создание и ликвидация временных процессов,
– «подъем и сбрасывание» флага».
Каждому классу процессов соответствует блок в алгоритме имитации, а каждому процессу и очередной фазе процесса - определенное место в календаре. Алгоритм шага состоит в поочередном просмотре всех процессов и имитация тех из них, для которых наступило время исполнения очередной фазы.
При той и при другой схеме построения моделирующего алгоритма до начала шагов производятся ввод исходных данных и установка начальных значений переменных, а по окончании шагов - подсчет оценок искомых характеристик по накопленным статистикам и выдача результатов.

Монитор. Часть программы, управляющая последовательностью выполнения отдельных блоков программы в процессе имитации.
Принцип построения монитора у рассматриваемых схем построения моделирующего алгоритма одинаковый - повелительный.
Повелительный (императивный) принцип состоит в том, что для предстоящих событий заранее определяется время их наступления (оно записываются в календарь), и события имитируются, когда приходит их время. Календарь как бы предписывает, в какие моменты должны происходить события, в каком порядке их имитировать - отсюда и название принципа.
