створена бібліотека Enterprise Library. Вона надає високорівневий інтерфейс для швидкого створення дискретно-подієвих моделей за допомогою блок-схем[16].
Побудуємо за допомогою елементів бібліотеки модель системи масового обслуговування та знайдемо деякі характеристики її роботи .
Найбільш типовою метою дослідження в подібних завданнях масового обслуговування є оцінка ефективності системи, тобто знаходження числових значень характеристик, що описують якість обслуговування системою потоку відвідувачів. Такими характеристиками є час, проведений покупцем в торговому центрі, довжина черги, яку він відстояв, відсоток часу зайнятості обслуговуючого персоналу.
Постановка задачі була сформульована в підрозділі 4.2.3. Час між надходженням вимог в магазин самообслуговування є випадковою величиною, що змінюється по експоненційному закону з математичним очікуванням 6 заявок в хвилину. Час обслуговування однієї заявки має рівномірний розподіл на інтервалі від 1.2 до 2.5 хвилин (від 72 до 150 секунд). Заявки обслуговуються по черзі.
Структура імітаційної моделі, яка дасть відповідь на поставлені питання, повинна відображати структуру реальної системи масового обслуговування: заявки (покупці магазину самообслуговування) генеруються (входять в систему), стають в чергу до кналів обслуговування, а після повного обслуговування покидають систему. Характерною особливістю даної СМО є стохастична природа параметрів, що описують систему.
Обслуговуючі пристрої імітують роботу каналів обслуговування. Зрозуміло, що для оцінки якості обслуговування в торговому залі не важливі ні розташування обслуговуваих пристроїі. З погляду поставленого завдання (аналізу ефективності) важливий тільки час обслуговування, і саме цим відрізняються різні обслуговуючі прилади в цій моделі. Оскільки час обслуговування випадковий, прилади просто затримують заявки на деякий випадковий період часу.
Характеристики моделі, створеної за допомогою імітаційного дискретного моделювання, будуть дещо відрізнітися від характеристик, отриманих за допомогою теорії масового обслуговування; зокрема, в даному випадку ситема розглядається з інакшої точки зору, і показниками ефективності її функціонування будуть не ймовірності знаходження системи в тому чи іншому стані, а середня довжина черги, зайнятість обслуговуючих пристроїв та ін. Характерною особливістю даної СМО є стохастична природа вихідних характеристик, що описують систему .
В наступній таблиці наведений перелік та опис блоків, які будуть використані для створення моделі.
Таблиця 4.3 – Перелік блоків, які будуть використані для створення моделі.
Назва блоку | Опис блоку | Вигляд блоку
Sourсe | Даний блок генерує потік заявок
Queue | Зберігає заявки у вказаному порядку
Delay | Затримує заявки на заданий проміжок часу
Sink | Видаляє заявки
Використовуючи вищевказані блоки, створимо модель системи.
Для зручності переіменуємо блоки таким чином: Sourсe INPUT, Queue…Queue5 Queue_1…Queue_6, Delay…Delay5 Kasa_1…Kasa_6, SinkOUTPUT.
Налаштуємо параметри об'єкту INPUT; вхідний потік заявок в системі є випадковим, інтервали часу між ними розподілені експоненціально з середнім значенням 10 секунд. У вікні властивостей interarrivalTime в рядку параметра запишемо: exponential(1/10) (параметром даної функції, яка генерує реалізацію випадкової величини з експоненціальним законом розподілу, є інтенсивність потоку подій, зворотня середньому часу між подіями); інші властивості цього блоку змінювати не будемо. Результат налаштування зображений на рисунку 4.4.
Що стосується блоку затримки заявок (Kasa_1…Kasa_6), тут також необхідні налаштування. Якщо час обслуговування заявок також випадковий, то воно розподілене експоненціально з середніми значеннями 1,2; 1,8; 2,3; 1,5;2,5;1,4. Введемо відповідні значення даного параметра блоків delay-delay5: властивіть – delayTime, значення – exponential(1/1,2) (рисунок 4.5).
Рисунок 4.4– Вікно властивостей об'єкту Sourсe.
Рисунок 4.5 – Вікно властивостей об'єкту delay.
У вікні властивостей блоків Queue_1…Queue_6 задамо максимальне число заявок, що можуть перебувати в черзі: для параметру capacity задамо значення 7.
Метою моделювання подібної системи самообслуговування є, звичайно, не просто імітація функціонування його роботи та поведінки заявок, а визначення тих параметрів, які характеризують якість сервісу.
Імітації роботи моделі системи буде проходити в режимі віртуального часу (максимальної швидкості).
Для того, щоб порівняти результати ручного моделювання з моделюванням в середовищі AnyLogic обмежимось десятьма хвилинами (600 секунд) для іллюстрації імітаційного моделювання роботи даної системи.
Структурна схема імітаційної моделі представлена на рисунку 4.6.
Рисунок 4.6 – Структурна схема моделі.
На рис. 4.6 генератор випадкових чисел (блок INPUT) імітує події приходу заявок, які у випадковому порядку стають в чергу (блоки Queue_1…Queue_6), якщо канали обслуговування Kasa_1…Kasa_6 зайняті; в інакшому випадку заявки поступають одразу на обслуговування. Після завершення обслуговування кожна заявка потрапляючи на блок OUTPUT, покидає систему.
Після обробки 30 заявок отримані результати, зображені на рис. 4.7:
Рисунок 4.7 – Результати імітаційного дискретного моделювання системи.
Якщо знайти середнє арифметичне кількость заявок, що перебувають в черзі, отримаємо значення довжини черги – 4 заявки до кожної каси.
Якщо порівняти це значення з відповідним значенням, отриманим в результаті ручного імітування, що дорівнює 2,59 заявки, бачимо, що є деяка відмінність в 1,41 (4 – 2,59) заявки.
Однак слід зауважити, що ручна імітація та машинна є випадковим експериментом, тому будь-який результат, отриманий шляхом імітаційного моделювання, схильний до експериментальних помилок і, отже, як в будь-якому статистичному експерименті, повинен грунтуватися на результатах відповідних статистичних перевірок.
В наступній таблиці наведені значення довжини черг при зростанні каналів обслуговування, отримані за допомогою машинного імітаційного моделювання, а на рис. 4.8 зображений графік, отриманий за допомогою цих даних.
Таблиця 4.4 – Значення довжини черг при зростанні каналів обслуговування.
Кількість каналів обслуговування | Довжина черги, заявки
5 | 28
6 | 24
7 | 19
8 | 15
9 | 12
Рисунок 4.8 – Графік зменшення довжини черги при збільшенні каналів обслуговування.
По рис. 4.8 робимо висновок, що ефективність роботи магазину самообслуговування збільшується при збільшенні каналів обслуговування. Проте із збільшенням останніх збільшуються також витрати на купівлю та утримання каналу обслуговування, отже потрібно знайти “золоту середину”, що і буде продемонстроване в останньому розділі.
5 РОЗРОБКА ПРОГРАМНОГО