- •1. Наличие цели
- •1.3. Классификация моделей
- •1.4. Методы моделирования
- •2. Математические схемы моделирования систем
- •2.1. Основные подходы к построению мм систем
- •2.2. Задачи, решаемые с помощью моделирования
- •2.3. Система массового обслуживания как модель
- •2.4. Модели потоков
- •2.2. Аналитический анализ смо
- •2.2.1. Экспоненциальная система массового обслуживания
- •2.2.1.2. Многоканальная экспоненциальная смо
- •2.2.1.3. Модель m/g /1
- •2.3. Сети массового обслуживания
- •2.4. Анализ разомкнутых экспоненциальных СеМо
- •2.4.1. Свойства разомкнутой экспоненциальной СеМо
- •2.5. Расчет системных характеристик экспоненциальных СеМо
- •Контрольные вопросы
- •Пример 1. Проблема распределение канала
- •1. Статическое распределение канала
- •2. Динамическое распределение канала
- •Пример: расчет системы телеобработки данных
- •3.1. Задание
- •3.2. Решение
- •4. Схема расчета замкнутой СеМо
- •4. Имитационное моделирование систем массового обслуживания
- •4.1. Система массового обслуживания как модель и оригинал
- •4.2. Иллюстративный пример: моделирование посадки самолетов.
- •4.3. Пример: оценка надежности системы
- •Рассмотрим случайную величину
- •5. Построение моделирующего алгоритма
- •5.1. Моделирование на эвм процесса функционирования смо
- •Шагом (принцип t)
- •С другой стороны, принцип особых моментов выгоден тем, что
- •5.2. Особенности реализации процессов с использованием q-схем
- •5.2. Примеры моделирования смо с отказами
- •5.2.1. Подготовка исходных данных и назначение переменных
- •Моделирование смо с отказами по схеме событий
- •5.2.2.1. Построение блок-схем алгоритма имитации
- •Моделирование смо с отказами по схеме событий
- •5.3. Схемы построения моделирующего алгоритма
- •5.4. Моделирование смо с отказами по схеме процессов
- •Моделирование смо с отказами по схеме процессов
- •Шаг имитации
- •Класс процессов "генерирование заявок источником"
- •Численный пример
- •5.5. Семафоры и связные списки
- •5.6. Алгоритмы обслуживания очередей
- •1) Традиционный алгоритм fifo
- •2) Приоритетное обслуживание (Priority Queuing)
- •3) Взвешенные настраиваемые очереди (Weighted Queuing)
- •6. Оценки искомых характеристик и их дисперсии
- •6.1. Структура оценок
- •7. Моделирование случайных факторов
- •8. Тестирование имитационной модели
- •9. Планирование статистического эксперимента
- •Вопросы и задания
- •Планирование машинных экспериментов с моделями систем
- •Методы планирования эксперимента на модели.
- •11. Замечание о языках моделирования
- •Моделирование смо с одним npи6opом и очередью
5.4. Моделирование смо с отказами по схеме процессов
Напомним, что рассматривается СМО с отказами (т.е. без буфера), имеющая два обслуживающих прибора. Интервал между заявками распределен по экспоненциальному закону с математическим ожиданием 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 класс"ПЗ"
Сопоставим схему событий и схему процессов, так как их можно считать конкурирующими.
Схема событий более стройна: события не пересекаются, за один шаг имитируется одно событие, события имитируется в хронологическом порядке, алгоритм шага делится на этапы с четким функциональным назначением (имитация события, пополнение статистик, планирование новых событий). Однако в сложных ситуациях довольно трудно сформировать перечень типов событий и правильно разработать соответствующие им части алгоритма.
С этой точки зрения схема процессов удобнее, так как не требует при разработке алгоритма учитывать сразу все, что может происходить в системе, а допускает раздельную разработку отдельных процессов. Особенно упрощается разработка имитационных моделей при использовании универсальной системы моделирования, когда пользователю требуется только описать последовательность событий и работ в процессах, а учет взаимодействия процессов, сбор статистики, управление порядком имитации процессов берет на себя система моделирования. Схема процессов не позволяет выделить функционально различные части алгоритма: пополнение статистик и планирование событий исследуют с операциями смены состояний в рамках одной фазы процесса. Это чревато упущениями при разработке алгоритма.