Моделювання систем
Тема. Основи дискретно-подійного моделювання систем масового обслуговування.
Мета. Навчитися моделювати прості СМО з використанням GPSS*.
ПОРЯДОК ВИКОНАННЯ РОБОТИ
Завдання. Створити імітаційну модель «МАГАЗИН», визначити параметри функціонування магазину: коефіцієнт завантаження касира; коефіцієнт завантаження продавця; максимальне, середнє і поточне число покупців в кожній черзі; середній час обслуговування в кожному каналі обслуговування; середній час перебування покупця в кожній черзі.
1. Моделювання роботи магазину в GPSS World.
Постановка задачі. Магазин має один касовий апарат і одного продавця. Відомі параметри функціонування магазину: потік покупців (вимог) - рівномірні із середнім значенням 95 і інтервалом [87103]; час перебування покупців в касового апарата становить 2307 хв, після цього покупці підходять до продавця для отримання продукту; час обслуговування покупців становить 1014 хв.
2. Для моделювання необхідно сформувати вхідний потік заявок і часовий інтервал моделювання. Для цього в якості одиниці вимірювання часу візьмемо хвилину. Створення та подання імітаційної моделі процесу. Модель складається у вікні моделі, яке можна відкрити, виконавши послідовність дій: клацнути по пункту меню File, вибрати пункт New, в розпочатому діалогів вікні вибрати пункт Model і клацнути по кнопці OK. Текст програми можна вводить з клавіатури або Використовуючи діалогове вікно Insert GPSS Block into Model Object з меню Edit. У цьому вікні 53 блоку. При клацанням по обраного блоку з'являється діалогове вікно Enter Block Information з шаблоном блоку.
Створення моделі (рис. 1.1):
GENERATE 9,5,0.8 ; потік покупців
QUEUE Ocher_kassa ; формуємо чергу до касира (каналу обслуговування)
SEIZE Kassir ; визначаємо зайнятість каналу обслуговування
DEPART Ocher_kassa ; вихід покупця з черги
ADVANCE 2.3,0.7 ; час обслуговування касиром
RELEASE Kassir ; звільнення касира (каналу обслуговування)
QUEUE Ocher_prod ; формуємо чергу до продавця
SEIZE Prodavec ; визначаємо зайнятість каналу обслуговування
DEPART Ocher_prod ; вихід покупця з черги
ADVANCE 10,1.4 ; час обслуговування касиром
RELEASE Prodavec ; звільнення продавця (каналу обслуговування)
TERMINATE 1 ; покупці залишають систему (магазин) по одному
START 100
3. Підготовка до моделювання.
Установка вихідних даних моделі проводиться установкою потрібні варіанти (галочок) в діалоговому вікні SETTINGS (закладка REPORTS), яке викликається з пункту Edit головного меню системи. Наявність галочки говорить про те, що ця інформація буде виведена у вікні результатів моделювання.
Вивести інформацію про наступні об'єкти: Blocks (блоки), Queues (черги), Tables (таблиці / гістограми), Facilities (канали обслуговування).
4. Моделювання системи. Створену імітаційну модель необхідно оттранслировать і запустити на виконання.
Для трансляції моделі необхідно з пункту Command (рис. 1.3) головного меню вибрати команду Create Simulation (створити виконувану модель). Після трансляції з'явиться вікно JOURNAL (рис. 1.2) з повідомленням дати і часу початку і закінчення проведення трансляції.
При наявності в моделі керуючої команди START, імітаційна модель після трансляції, якщо в ній немає помилок, почне виконуватися. Буде виконано число прогонів моделі вказане в полі операнда А команди START і з'явиться вікно REPORT (звіт) з результатами моделювання.
При відсутності в моделі керуючої команди START, буде отримана оттранслировать модель - в машинних кодах, готова до виконання моделювання (виконувана модель). Для запуску моделі необхідно скористатися командою Start Command з пункту START. З'явиться діалогове вікно Start Command, в якому потрібно ввести число (в нашому випадку - число покупців, які відвідали магазин). Після натискання кнопки OK з'явиться вікно REPORT з результатами моделювання.
У верхньому рядку вікна REPORT вказуються: START TIME (проміжок часу), END TIME (час закінчення), BLOCKS (число блоків), FACILITIES (число каналів обслуговування), STORAGES (число накопичувачів).
Далі перераховуються блоки моделі і число входів в них заявок (покупців). Нижче вказуються результати моделювання каналів обслуговування під призначеними ним іменами. Сюди включаються: ENTRIES (число входів), UTIL. (Коефіцієнт використання), AVE. TIME (середній час обслуговування), AVAIL. (Доступність), OWNER (можливе число входів), PEND, INTER, RETRY (повтор), DELAY (відмовлено). Потім вказуються результати моделювання черг: MAX (максимальне вміст), CONT. (Поточний зміст), ENTRY (число входів), ENTRY (0) (число нульових входів), AVE. CONT. (Середнє число входів), AVE. TIME (середній час), AVE. (- 0), RETRY.
/
Рисунок 1.1 – GPSS – код
/
Рисунок 1.2 – Вікно JOURNAL зі списком повідомлень
про відсутність помилок трансляції
/
Рисунок 1.3 – Діалогове вікно команди Start
/
/
Рисунок 1.4 – Звіт GPSS- системи
Проаналізувавши результати моделювання на основі:
1. Завантаженості системи (89 %) – завантаженість системи достатня, однозначно не може її характеризувати, але може вказувати на дуже раціональне використання системного часу;
2. Кількості згенерованих та обслужених транзактів – всі 200 транзактів обслуговані. Це говорить про достатню потужність системи;
3. Максимальної довжини черги – в 114 транзакти велика, що може вказувати на нестачу системних ресурсів та нездатність системи обслужити потік такої інтенсивності;
4. Кількості транзактів, що обслуговані без черги – 114 з 200 – система занадто потужна для данного потоку, нераціональне використання системних ресурсів та великий час «простоювання».