3.2. Система массового обслуживания с отказами
Постройте модель одноканальной системы массового обслуживания (СМО), так как это показано на рисунке 3.14. Элемент sink2 свяжите с портом P , а элемент sink1 с портом T очереди.
Рис.3.14. Модель СМО
Заявки поступают в систему по времени между прибытиями. Изменение времени соответствует экспоненциальному закону распределения с интенсивностью (lambda), равной 0.5. Для задания времени используйте встроенную функцию AnyLogic exponential(lambda).
Вместимость очереди qN равна 10. Заявки могут покидать очередь по истечении таймаута через порт T. Значение таймаута равно 20. Заявки могут быть вытеснены из очереди, если в очередь приходит заявка с большим приоритетом через порт P. Приоритет заявок целое число, которое выбирается в модели случайно из диапазона от 1 до 5. Для получения кода приоритета используйте функцию AnyLogic uniform, которая возвращает равномерно распределенное число в заданном диапазоне: (int)uniform(1,5).
Так как функция возвращает результат типа double, его нужно преобразовать к типу int с помощью операцию приведения типов Java (type), здесь type – требуемой результирующий тип преобразования.
Процессор обслуживания delay выполняет обработку заявки с явно заданным временным интервалом, который подчиняется экспоненциальному закону распределения. Интенсивность работы процессора (mu) равна 0.25.
Настройте эксперимент модели:
Модельное время измеряется в минутах.
Конечное время моделирования 500 минут.
Режим выполнения презентации равен 32 единицам.
Создайте интерфейс для эксперимента, так как это показано на рисунке 3.15.
Рис.3.15. Интерфейс эксперимента
Интерфейс позволяет изменять с помощью текстового поля емкость очереди СМО - qN. В качестве начального значения примите длину равную 10 заявкам.
Выполните запуск модели.
Внесите изменения в модель.
Определите в процентах:
долю вытесненных заявок через порт P очереди;
долю заявок покинувших СМО не дождавшихся обслуживания (вытесненных через порт T очереди);
долю обработанных заявок.
Постройте круговую диаграмму, показывающую распределение долей заявок в СМО.
Для вычисления долей заявок в процентах введите в модель динамические переменные, значение которых вычисляется с помощью функции: fProcent(source,exit)
Функция возвращает значение procent, которое определяется по формуле:
Параметры:
source – количество заявок от которого вычисляется процент;
exit – полученное количество заявок (отработанных, вытесненных, отклоненных)
Все параметры функции должны быть типа double. Возвращаемое значение функции, также должно быть типа double.
Для использования функции нужно определить количество соответствующих заявок. Это можно сделать с помощью соответствующих счетчиков, введенных в модель как простые переменные типа double.
Создайте анимацию для процесса обслуживания заявок. В качестве пиктограммы анимации используйте «Сообщение» из палитры «Картинки». Вид анимации в конструкторе модели показан на рисунке 3.16. Если процессор занят, то фигура анимации «Процессор» окрашивается в красный цвет, иначе в зеленый.
Рис.3.16. Анимация заявок
Ломаную линию – траекторию движения заявок настройте таким образом, чтобы она не отображалась в процессе работы модели. Используйте свойство «Цвет линии=Нет линии» из вкладки «Основные».
Рис.3.17. Тестирование модели одноканальной СМО
Постройте гистограмму, отражающую затраты времени на обслуживание заявки в СМО, выведите среднее значение.
Протестируйте созданную модель. Вид работающей модели показан на рисунке 3.17.
Выполните запуск модели с разными значениями для емкости очереди.
Что бы определить, приемлемое значение для емкости очереди используем формулу Литтла:
(3.1)
Здесь: t- время нахождения заявки в СМО от момента поступления до ее обслуживания.
Для вычисления значения t разместите в модель элемент «Данные гистограммы». Создайте набор значений времен нахождения заявок в СМО от момента входа до выхода, после обслуживания.
Дополните созданную модель, добавив в нее динамическую переменную для вычисления значения N по формуле 3.1 беря в качестве времени среднее значение, возвращаемое элементом «Данные гистограммы» с помощью метода mean(). Выведите вычисленное значение.
Рис.3.18. Определение емкости очереди по формуле Литтла
Запустите модель со значением qN по умолчанию, равным 10, вид работающей модели показан на рисунке 3.18. Как видно из результатов моделирования приемлемое значение для емкости очереди составляет значение равное 5 заявкам.
Повторите запуск эксперимента модели, введя с помощью интерфейса, определенное значение N по формуле Литтла. Вид работающей модели показан на рисунке 3.19.
Как видно из рисунка значение отвергнутых заявок по времени ожидания уменьшилось, а возросла доля вытесненных заявок по приоритету.
Рис.3.19. Моделирование СМО с оптимальным значением емкости очереди
- Практикум «Моделирование систем в среде AnyLogic 6.4.1»
- 1. Моделирование динамических систем
- 1.1. Исследование динамической модели Лоренца
- Построение модели
- Параметры модели
- Начальные значения накопителей
- 1.2. Изучение чувствительности модели Лоренца
- 1.3. Типовые звенья
- 1.3.1. Моделирование работы интегрирующего звена
- 1.3.2. Исследование апериодического и колебательного звена Апериодическое звено
- Колебательное звено
- 1.4. Модель следящего гидропривода
- 2. Построение моделей систем массового обслуживания
- 2.1. Моделирование системы обслуживания клиентов
- Построение модели
- Источник заявок
- Очередь
- Узел обслуживания
- 2.2. Анимация модели
- 2.3. Размещения графиков
- 2.4. Моделирование двухканальной смо
- Элемент SelectOutput
- Элемент Service
- Элемент ResourcePool
- Анимация второго канала
- Настройка анимации очередей
- Анимация рабочих мест клиентов
- 2.5. Определение параметров смо
- Создание класса заявки
- Сбор параметров системы
- Самостоятельные задания
- 3. Исследование систем массового обслуживания
- 3.1. Задача Эрланга
- Постановка задачи
- Настройки элементов модели
- 3.1.1. Определение расходов на обслуживание телефонных вызовов
- 3.1.2 Определение оптимального числа каналов
- 3.2. Система массового обслуживания с отказами
- 3.3. Задания для самостоятельной работы
- 3.3.1. Разработка двухканальной смо
- 3.3.2. Модель трехканальной смо
- Методические указания
- Методические указания
- 3.3.3. Модель трехканальной смо без очередей
- Методические указания
- 4. Моделирование сетей
- 4.1. Модель приемного отделения медицинского центра Создание рабочего поля сети
- Создание сети
- Первый элемент
- Второй элемент
- Третий элемент
- Создание канала обслуживания
- Моделирование обслуживания пациентов
- Задания для самостоятельной работы
- 4.2. Модель вестибюль метро
- Разметка вестибюля
- Разметка турникетов
- Построение канала смо
- Моделирование покупки билетов
- Самостоятельное задание
- Приложение №1. Элементы библиотеки Enterprise Library Source
- Service
- ResourcePool
- SelectOutput
- NetworkResourcePool
- NetworkEnter
- Networksize
- NetworkSendTo
- NetworkAttach
- NetworkMoveTo
- NetworkDetach
- NetworkRelease
- NetworkExit
- Приложение №2. Элементы библиотеки Pedestrian Library PedSource
- PedService
- PedGoTo
- PedSelectOutput
- PedSink
- PedConfiguration
- PedGround
- PedServices
- Приложение №3. Сбор статистики
- Список литературы