Практическая работа № 7.Имитационная модель СМО с двумя каналами обслуживания и очередью

Задания практической работы рассчитаны на 2 часа аудиторных занятий и 2 часа самостоятельной работы. Практическая работа опирается на материал лекций 6, 7.

Цель работы

·  Имитация функционирования СМО с двумя каналами обслуживания;

·  использование предопределенной переменной Time для отслеживания окончания действий.

Оглавление.

Часть 1. Моделирование СМО с двумя каналами обслуживания. 2

Задание 7.1. Моделирование бесконечного процесса функционирования СМО с двумя каналами обслуживания 2

Задание 7.2. Компьютерный эксперимент. 7

Задание 7.3. Другая модель СМО с двумя каналами. 8

Перед началом работы

Создайте на своем сетевом диске в папке ИМЭП/Практика папку Занятие7.

В папке Занятие7 создайте папку проекта СМО_2к_очередь.

По результатам занятия в папке будет сохранен проект с именем СМО_2к_очередь.

Часть 1. Моделирование СМО с двумя каналами обслуживания

Постановка задачи

Рассмотренную на практической работе 6 модель системы массового обслуживания с одним каналом и очередью модифицировать в СМО с двумя каналами обслуживания. Функциональная модель узла обслуживания с двумя каналами рассмотрена на лекции 7.

Разработать две модели:

·  модель, реализующую бесконечный процесс;

·  модель, реализующую конечный во времени процесс.

Найти

1.  Общее количество заявок, поступивших в систему, – К.

2.  Количество обслуженных заявок (вероятность удовлетворения заявки) –Кобслуж, Робслуж.

НЕ нашли? Не то? Что вы ищете?

3.  Количество отказов (вероятность отказа заявки) – Котк, Ротк.

4.  Исследовать, как изменяются искомые величины при разных исходных данных.

Задание 7.1. Моделирование бесконечного процесса функционирования СМО с двумя каналами обслуживания

Разработать модель с двумя каналами обслуживания, реализующую бесконечный процесс.

В новой модели изменения коснутся только внутреннего функционирования классов Узел обслуживания и Очередь, но не связей между классами.

Технология работы

1.  Создайте в папке Занятие7 папку нового проекта СМО_2к_очередь.

2.  Откройте файл СМО_1к_очередь. mvb с моделью бесконечного процесса функционирования СМО с одним каналом и очередью, созданный на практической работе № 6. Сохраните этот файл в папке Занятие7 с именем СМО_2к_очередь.

Модификация класса Узел_обслуживания

3.  Измените карту поведения узла обслуживания

Рис. 1

4.  Опишите в классе Узел_обслуживания переменную Инд (целочисленную) и присвойте ей начальное значение 2.

Описание перехода 1

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);

·  послать в Очередь сигнал Свободен.

Переход 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

Рис. 4

14. Удалите неиспользуемые переменные класса Узел_обслуживания: Наработка, Тобслуж.

Изменения в классе Очередь

15. Вместо переменной Занят (булевского типа) введите целочисленную переменную Индикатор занятости узла обслуживания (ИЗУО), которая может принимать значения – 0, 1, 2 по количеству занятых каналов обслуживания (рис. 5).

Рис. 5

16. На карте поведения измените переходы, отвечающие за посылку требования на обслуживание и прием сигнала Свободен от узла обслуживания.

Рис. 6

17. Удалите из описания класса очередь неиспользуемую переменную Занят.

18. Скомпилируйте модель.

19. Откройте окна Переменные и Поведение для всех классов.

20. Для наблюдения за накоплением заявок в очереди правой кнопкой щелкните по переменной УчетЗаявок в узле Очередь и выберите команду Показать полностью.

21. Создайте диаграмму, отображающую количество заявок в очереди.

22. Запустите модель. Наблюдайте изменения в окнах Переменные и Поведение, а также накопление заявок в матрице УчетЗаявок.

23. Остановите модель. Проследите, что контрольные значения переменных в связанных классах совпадают.

24. Закройте визуальную модель. Сохраните сделанные изменения в проекте.

25. Придумайте и введите характеристики, которые можно отразить на диаграмме и которые отражают процесс функционирования класса Узел_обслуживания. Постройте в визуальной модели диаграмму.

26. Включите в отчет описание изменений в узле обслуживания и очереди, визуальную модель с диаграммой.

Задание 7.2. Компьютерный эксперимент

Исследовать модель и ответить на вопросы. Выводы сопровождайте результатами экспериментов. Создать отчет по результатам компьютерного эксперимента.

На лекции была введена величинакоэффициент использования СМО.

Также был отмечен факт, что при ρ<1 существуют конечные характеристики СМО:

(с вероятностью 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. Другая модель СМО с двумя каналами

В рассмотренной модели при описании функционирования узла обслуживания мы различали первый и второй каналы обслуживания. Есть другой подход, в котором не различают конкретно каждый канал, а выделяют только состояния занятости узла обслуживания:

·  все каналы свободны;

·  занят один канал;

·  заняты два канала.

Таким образом, вместо 4 состояний остается 3 состояния. Переходы между ними указаны на рис. 7.

Рис. 7

Такая модель, по сути, представляет процесс гибели и размножения.

Каковы должны быть интенсивности переходов, если интенсивность поступления заявок в СМО равна λ, а интенсивность обслуживания каждым каналом равна μ? Измените модель СМО с двумя каналами обслуживания для реализации такой схемы поведения.

Проведите эксперименты. Сравните полученные результаты.