logo search
МатМод экология / Лабораторные работы

Моделирование одноканальной смо с очередью.

Постановка задачи. В банковский офис обращаются клиенты. Офис представляет собой автоматизированный пункт обслуживания, в котором установлен банкомат. Банкомат обслуживает одновременно одного клиента. Клиенты прибывают по экспоненциальному закону с интенсивностью =0,67. Одновременно в офисе может находиться не более 15 клиентов. Интервал времени работы банкомата подчиняется треугольному закону распределения с параметрами xmin=0.8, xmax=1,3 предпочтительное значение 1.

Построение модели. Модель строится с «нуля». Банковский офис представляет собой систему массового обслуживания(СМО). Построение модели такой системы выполняется с помощью элементов библиотеки Enterprise Library Для построения СМО используются элементы:

Общий вид модели СМО банковского офиса показан на рисунке 3.6.

Рис. 3.6. Модель офиса

Источник заявок

Заявки – клиенты офиса пребывают с интенсивностью lambda=0.67.

Источник заявок обладает следующими настройками:

Рис. 3.7. Задание параметра интенсивности заявок.

Закон распределения потока заявок можно задать в свойстве interarrivalTime на вкладке Параменты для объекта source. По умолчанию распределение случайного потока заявок подчиняется экспоненциальному закону. – exponential().

Рис. 3.8. Задание закона распределения потока заявок.

AnyLogic предоставляет функции и других случайных распределений, таких как:

и т.д.

Рис. 3.9. Параметры источника заявок.

Очередь

Этот элемент характеризуется параметрами:

Рис. 3.10. Параметры очереди.

Узел обслуживания

Параметры элемента:

Рис. 3.11. Параметры узла обслуживания.

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

Настройте эксперимент модели:

Рис. 3.12. Настройка параметров эксперимента.

Для запуска модели щелкните мышью по кнопке Запустить. Откроется окно с презентацией запущенного эксперимента. AnyLogic автоматически помещает на презентацию каждого простого эксперимента заголовок и кнопку, позволяющую запустить модель и перейти на презентацию.

Рис. 3.13. Запуск эксперимента.

Щелкните по этой кнопке. AnyLogic переключится в режим работы модели. С помощью визуализированной блок-схемы вы можете проследить, сколько человек находится в очереди, сколько человек в данный момент обслуживается и т.д.

Рис.3.14. Вид работающей модели

Анимация модели

Покажем процесс обслуживания клиентов в виде анимации очереди, ведущей к банкомату, так как это показано на рисунке 3.15.

Рис.3.15. Анимация очереди

Банкомат представим в виде окружности. Когда клиент находится в банкомате, окружность будет окрашена в красный цвет, при свободном банкомате окружность закрашивается в зеленый цвет.

С помощью элемента «Овал» палитры «Презентация» разместите окружность и присвойте ей имя ServicePoint. Цвет заливки должность изменяться динамически:

delay.size()>0 ? Color.red: Color.green

Здесь size() – метод объекта delay, который возвращает количество заявок-клиентов в приборе обслуживания.

Рис.3.16. Задание свойств окружности – банкомата.

Для отображения очереди следует нарисовать ломаную линию (см. рисунок 3.15), используя элемент «Ломаная» из палитры «Презентация». Режим рисования включается после выполнения двойного щелчка па пиктограмме .

Рисование ломаной нужно выполнять по направлению движения клиентов к банкомату: слева на право. Ломаной присвойте имя GoToService.

Рис.3.17. Задание свойств ломаной – очереди.

После создания элементов презентации нужно выполнить ряд настроек модели для связи графических элементов с объектами схемы.

Откройте окно свойств элемента очередь (queue) и на вкладке «Основные» задайте настройки так, как это показано на рисунке 3.18.

Рис.3.18. Настройка очереди

Откройте прибор обслуживания – элемент delay, и настройте на вкладке «Основные», свойства анимации:

Установите режим скорости исполнения равным 4 и протестируйте модель. На рисунке 3.19. Показан вид работающей модели.

Рис.3.19. Модель с анимацией

Размещение датчиков.

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

Для размещения диаграмм нужно использовать палитру «Статистика» и элемент «Столбиковая диаграмма». Разместите две диаграммы (см. рисунок 3.20).

Рис.3.20. Диаграммы загрузки

Первую поместите над очередью. Добавьте элемент данных. Задайте подпись «Длина очереди». Выберите цвет, а затем в качестве значения задайте выражение:

queue.statsSize.mean()

Здесь метод mean() – возвращает среднюю длину очереди.

При вводе выражения можно использовать помощник AnyLogic. Для этого следует нажать комбинацию клавиш CTRL + SPACE.

После ввода выражения нужно сменить ориентацию диаграммы на горизонтальное. Для этого необходимо открыть вкладку «Внешний вид» и изменить направление столбцов (см. рисунок 3.21).

Рис.3.21. Направление столбцов диаграммы

Вторую диаграмму расположите рядом с изображением банкомата. Назовите диаграмму «АТМ Обслуживание», а в качестве значения задайте выражение:

delay.statsUtilization.mean()

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

Вид работающей модели показан на рисунке 3.22.

Рис.3.22. Модель с диаграммами