МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE Практическая работа № 7.Имитационная модель СМО с двумя каналами обслуживания и очередью Задания практической работы рассчитаны на 2 часа аудиторных занятий и 2 часа самостоятельной работы. Практическая работа опирается на материал лекций 6, 7. Цель работы Имитация функционирования СМО с двумя каналами обслуживания; использование предопределенной переменной Time для отслеживания окончания действий. Оглавление. Часть 1. Моделирование СМО с двумя каналами обслуживания ........................................1 Задание 7.1. Моделирование бесконечного процесса функционирования СМО с двумя каналами обслуживания........................................................................................................2 Задание 7.2. Компьютерный эксперимент ..........................................................................6 Задание 7.3. Другая модель СМО с двумя каналами .........................................................7 Перед началом работы Создайте на своем сетевом диске в папке ИМЭП/Практика папку Занятие7. В папке Занятие7 создайте папку проекта СМО_2к_очередь. По результатам СМО_2к_очередь. занятия в папке будет сохранен проект с именем Часть 1. Моделирование СМО с двумя каналами обслуживания Постановка задачи Рассмотренную на практической работе 6 модель системы массового обслуживания с одним каналом и очередью модифицировать в СМО с двумя каналами обслуживания. Функциональная модель узла обслуживания с двумя каналами рассмотрена на лекции 7. Разработать две модели: модель, реализующую бесконечный процесс; модель, реализующую конечный во времени процесс. Найти МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE 1. Общее количество заявок, поступивших в систему, – К. 2. Количество обслуженных заявок (вероятность удовлетворения заявки) – Кобслуж, Робслуж. 3. Количество отказов (вероятность отказа заявки) – Котк, Ротк. 4. Исследовать, как изменяются искомые величины при разных исходных данных. Задание 7.1. Моделирование бесконечного процесса функционирования СМО с двумя каналами обслуживания Разработать модель бесконечный процесс. с двумя каналами обслуживания, реализующую В новой модели изменения коснутся только внутреннего функционирования классов Узел обслуживания и Очередь, но не связей между классами. Технология работы 1. Создайте в папке Занятие7 папку нового проекта СМО_2к_очередь. 2. Откройте файл СМО_1к_очередь.mvb с моделью бесконечного процесса функционирования СМО с одним каналом и очередью, созданный на практической работе № 6. Сохраните этот файл в папке Занятие7 с именем СМО_2к_очередь. Модификация класса Узел_обслуживания 3. Измените карту поведения узла обслуживания Рис. 1 4. Опишите в классе Узел_обслуживания переменную Инд (целочисленную) и присвойте ей начальное значение 2. Описание перехода 1 МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE 5. Процесс начинается в состоянии Свободны_оба. Опишите условие на переходе 1: переход в состояние Занят_первый осуществляется по сигналу Обслужить при условии, что Инд=2, т. е. последним закончил обслуживание клиента 2-й узел обслуживания. Этот переход описывается с использованием охраняющего условия (рис. 2). Рис. 2 6. Опишите действия на переходе 1: присвоить переменной Следующий значение передаваемой из сигнала суммы; сформировать случайную величину – интервал времени обслуживания (Т1, предварительно опишите внутреннюю переменную); вычислить время окончания обслуживания 1-м узлом: Т1:=Т1+ Time (Time – предопределенная переменная, фиксирующая текущий момент времени); подсчитать сумму обслуженных заявок 1-м каналом (Нараб1, предварительно опишите внутреннюю переменную). Далее процесс переходит в состояние Занят_первый возможны два перехода: Занят_первый. Из состояния если поступил новый сигнал Обслужить, а обслуживание заявки 1-м каналом еще не окончилось, то процесс переходит в состояние Оба_заняты (на рис. 1 переход 3). если нового сигнала на обслуживание не поступило, то по окончании обслуживания клиента процесс возвращается в состояние Оба_свободны (на рис. 1 переход 7). Переход 7 7. Опишите условие на переходе: when Time = T 1 (т. е. когда наступит время окончания процесса). 8. Опишите действия на переходе: присвоить переменной Инд значение 1 (означает, что переход в состояние Оба_свободны произошел при освобождении канала 1); послать в Очередь сигнал Свободен. МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE Переход 3 9. Опишите условие на переходе: when Обслужить. 10. Опишите действия на переходе: присвоить переменной Следующий значение передаваемой из сигнала суммы; вычислить случайную величину – интервал времени обслуживания заявки 2-м каналом (Т2, предварительно опишите внутреннюю переменную); вычислить время окончания обслуживания заявки 2-м каналом обслуживания: Т2:=Т2+ Time; вычислить сумму наработки 2-м каналом (Нараб2, предварительно опишите внутреннюю переменную). Из состояния Оба_заняты возможны два перехода: если время окончания обслуживания заявки 2-м каналом (Т2) закончится раньше, то осуществится переход в состояние Занят_первый. (на рис. 1 переход 5); если время окончания обслуживания заявки 1-м каналом (Т1) закончится раньше, то осуществится переход в состояние Занят_второй. (на рис. 1 переход 6). Переход 5 11. Опишите условие на переходе: after Т2. 12. Опишите действия на переходе: послать сигнал в Очередь, что узел обслуживания свободен. 13. Карта поведения по переходам 2, 4, 6, 8 симметрична 1, 3, 5, 7. На рис. 3 и 4 представлены описание и карта поведения по переходам 1, 3, 5, 7 класса Узел_обслуживания: Рис. 3 МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE Рис. 4 14. Удалите неиспользуемые Наработка, Тобслуж. переменные класса Узел_обслуживания: Изменения в классе Очередь 15. Вместо переменной Занят (булевского типа) введите целочисленную переменную Индикатор занятости узла обслуживания (ИЗУО), которая может принимать значения – 0, 1, 2 по количеству занятых каналов обслуживания (рис. 5). Рис. 5 16. На карте поведения измените переходы, отвечающие за посылку требования на обслуживание и прием сигнала Свободен от узла обслуживания. МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE Рис. 6 17. Удалите из описания класса очередь неиспользуемую переменную Занят. 18. Скомпилируйте модель. 19. Откройте окна Переменные и Поведение для всех классов. 20. Для наблюдения за накоплением заявок в очереди правой кнопкой щелкните по переменной УчетЗаявок в узле Очередь и выберите команду Показать полностью. 21. Создайте диаграмму, отображающую количество заявок в очереди. 22. Запустите модель. Наблюдайте изменения в окнах Переменные и Поведение, а также накопление заявок в матрице УчетЗаявок. 23. Остановите модель. Проследите, что контрольные значения переменных в связанных классах совпадают. 24. Закройте визуальную модель. Сохраните сделанные изменения в проекте. 25. Придумайте и введите характеристики, которые можно отразить на диаграмме и которые отражают процесс функционирования класса Узел_обслуживания. Постройте в визуальной модели диаграмму. 26. Включите в отчет описание изменений в узле обслуживания и очереди, визуальную модель с диаграммой. Задание 7.2. Компьютерный эксперимент Исследовать модель и ответить на вопросы. Выводы сопровождайте результатами экспериментов. Создать отчет по результатам компьютерного эксперимента. На лекции была использования СМО. введена величина – коэффициент Также был отмечен факт, что при ρ<1 существуют конечные характеристики СМО: МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE (с вероятностью требования в очереди; 1) – установившаяся средняя задержка (с вероятностью 1) – установившееся среднее время нахождения требования в СМО (waiting). Пусть: Q (t) – число требований в очереди в момент времени t; L (t) – число требований в системе в момент времени t (Q (t) плюс число требований, которые находятся на обслуживании в момент времени t). (с вероятностью 1) – установившееся среднее по времени число требований в очереди; (с вероятностью 1) – установившееся среднее по времени число требований в системе. Требуется проверить эти факты экспериментально. В практических работах 5, 6, 7 СМО строилась с исходными данным λ=1 и μ=1. Имеются ли при таких исходных данных конечные значения характеристик СМО? План экмпериментов: 17. Задайте большое значение длины очереди. Для λ =1 экспериментальным путем подберите наибольшее значение μ, при котором очередь бесконечно возрастает. 18. Измените полученное значение μ так, чтобы очередь оставалась ограниченной. 19. Для значений λ, μ, полученных в предыдущих экспериментах, задайте небольшую длину очереди (намного меньше полученной максимальной). Найдите вероятность обслуженных заявок с учетом тех, которые стоят в очереди, и вероятность отказа в обслуживании. 20. Как реализовать на данной модели СМО с двумя каналами и отказами? Проведите эксперимент. Вычислите вероятности отказа и обслуживания. Сравните с аналитическими результатами. Задание 7.3. Другая модель СМО с двумя каналами МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE В рассмотренной модели при описании функционирования узла обслуживания мы различали первый и второй каналы обслуживания. Есть другой подход, в котором не различают конкретно каждый канал, а выделяют только состояния занятости узла обслуживания: все каналы свободны; занят один канал; заняты два канала. Таким образом, вместо 4 состояний остается 3 состояния. Переходы между ними указаны на рис. 7. Рис. 7 Такая модель, по сути, представляет процесс гибели и размножения. Каковы должны быть интенсивности переходов, если интенсивность поступления заявок в СМО равна λ, а интенсивность обслуживания каждым каналом равна μ? Измените модель СМО с двумя каналами обслуживания для реализации такой схемы поведения. Проведите эксперименты. Сравните полученные результаты.