Імітаційне моделювання в GPSS World
Зменшення витрат можна забезпечити шляхом зменшення ресурсів, що використовуються в авральному режимі та витратами на використання додаткових ємностей в накопичувачах. Витрати на знищенні повідомлення не такі великі, як витрати на обслуговування повідомлень в авральному режимі. Тому в першу чергу потрібно зайнятися витратами на авральний режим. Перемикання ЕОМ в авральний режим відбувається тоді… Читати ще >
Імітаційне моделювання в GPSS World (реферат, курсова, диплом, контрольна)
Вступ
В даній роботі розглядається задача визначення найкращого режиму роботи системи обробки повідомлень. В якості критерію оцінки ефективності роботи системи взята економічна ефективність роботи системи (витрати за одиницю часу). Розв’язання поставленої задачі виконується за допомогою методу імітаційного моделювання.
В основу імітаційного моделювання покладена методологія системного аналізу. Імітаційне моделювання може використовуватись як універсальний підхід для прийняття рішень в умовах невизначеності для урахування в моделях факторів, що важко формалізуються, а також використання на практиці основних принципів системного підходу для вирішення практичних задач.
Система обробки інформації містить мультиплексорний канал і 4 міні-ЕОМ. На вхід каналу через інтервали часу 21 ± 9 мікросекунд надходять повідомлення від датчиків. У каналі вони буферизуються і попередньо обробляються протягом 18 ± 4 мікросекунд. Потім повідомлення надходять на обробку в ту міні-ЕОМ, яка має найменшу довжину вхідної черги. Ємності вхідних накопичувачів усіх міні-ЕОМ розраховані на зберігання п’яти повідомлень. Якщо в момент приходу повідомлення вхідні накопичувачі всіх міні-ЕОМ повністю заповнені, то повідомлення отримує відмову. Час обробки повідомлення у всіх міні-ЕОМ дорівнює 90 мікросекунд.
Є дві можливості зменшення числа повідомлень, які отримують відмову:
збільшення ємності вхідних накопичувачів ЕОМ;
прискорення обробки повідомлень в ЕОМ при досягненні суми довжин черг у всіх ЕОМ деякого порогового значення (авральний режим).
Збільшення на одиницю ємності вхідного накопичувача вимагає 20 одиниць вартості на кожне повідомлення.
Перемикання ЕОМ в авральний режим відбувається тоді, коли сумарна кількість повідомлень у вхідних накопичувачах всіх міні-ЕОМ досягає значення 34=12. У цьому випадку всі міні-ЕОМ зменшують час обробки повідомлення на K (K <90) мікросекунд, що вимагає до k 7 одиниць вартості на кожне повідомлення. Всі міні-ЕОМ в авральний режим переводяться одночасно.
Збитки за кожне повідомлення, якому відмовлено в обробці, становлять 150 одиниць вартості, одиниця часу роботи однієї ЕОМ в авральному режимі обходиться в 3 одиниць вартості.
Визначити, при яких ємностях вхідних накопичувачів і авральної швидкості обробки повідомлень досягається мінімум сумарних витрат (збитків від відмов повідомленнями в обслуговуванні, витрат на збільшення ємності вхідних накопичувачів і витрат на підтримку аврального режиму).
1. Аналіз існуючих методів вирішення завдання
Дану систему можна представити у вигляді системи масового обслуговування (СМО), показану на рисунку 2.1:
Рисунок 2.1 — Загальне представлення моделі у вигляді СМО Для вирішення даної задачі застосуємо імітаційне моделювання. Імітаційне моделювання доцільно використовувати при моделюванні виробничих і технологічних процесів. Імітаційна модель працює так само, як і система. Це досягається завдяки опису елементів системи та зв’язків між ними, визначенню хронологічної послідовності подій, що виникають в системі, і відповідної послідовності станів системи. Моделювання зводиться до проведення експериментів з моделлю шляхом багаторазового прогону програми з деякою множиною даних — середовищем системи.
Для проведення імітаційного моделювання була вибрана система GPSS, так як вона дозволяє змоделювати відносно складну систему за доволі короткий час.
2. Розробка концептуальної моделі
Ціль: Визначити оптимальний режим роботи обробки повідомлень.
Вхідним потоком для моделі будуть повідомлення від датчиків.
Розглянемо деякі особливості роботи даної СМО:
— повідомлення надходять до мультиплексорного каналу, де вони буферизуються. Далі обирається міні-ЕОМ, яка має найменшу довжину вхідної черги.
— повідомлення отримує відмову, якщо всі вхідні накопичувачі всіх міні-ЕОМ заповнені.
2.1 Визначення структури моделі
Виділимо блоки із системи:
— Канал — мультиплексорний канал, я кому буферизуються вхідні повідомлення. Перед ним знаходиться його накопичувач.
— Min — вибір найменшої черги.
— Блок «Заповнений?» — перевірка на заповненість накопичувача ЕОМ.
— Блоки міні-ЕОМ — міні-ЕОМ, які оброблюють повідомлення. Перед ними знаходяться їх вхідні накопичувачі.
Якщо вхідний накопичувач міні-ЕОМ заповнений, повідомлення отримує відмову.
Рисунок 3.1 — Структурна схема концептуальної моделі
2.2 Вхідні та вихідні змінні
Вхідні змінні:
Ncapacity — ємність накопичувачів
Tavr — час обробки в авральному режимі
Вихідні змінні:
Z — витрати.
2.3 Параметри моделі
N = 4 — кількість міні-ЕОМ.
T1=21±9 — інтервал надходження повідомлень від датчиків.
T2=18±4 — час буферизації і обробки в каналі.
T3 = 90 — час обробки повідомлення в міні-ЕОМ.
S1 = 20 — вартість на повідомлення для збільшення ємності накопичувача.
k S2 (S2 = 7) — одиниць вартості на кожне повідомлення в авральному режимі.
S3 = 150 — одиниць вартості на кожне повідомлення, якому відмовлено в обробці.
S4 = 3 — одиниця часу роботи ЕОМ в авральному режимі.
k — час обробки повідомлення в авральному режимі.
2.4 Обмеження на зміну величин
З постановки задачі маємо обмеження:
Tavr = T3 — k (3.1)
k <� T3 (3.2)
2.5 Цільова функція системи
Z = S1* Allent*(Ncap — 5) + (T3 — Tavr)*S2*AvrCount + S3*Loose + S4 * AvrTime*N min (3.3)
3. Розробка імітаційної моделі
3.1 Опис імітаційної моделі
На рисунку 4.1 представлена схема імітаційної моделі:
Рисунок 4.1 — Схема імітаційної моделі
Повідомлення генеруються і стають в чергу. Якщо пристрій вільний, виконується буферизація. Вибирається міні-ЕОМ з найменшою довжиною черги. Якщо її накопичувач заповнений, то повідомлення видаляється із системи і втрачається S3 = 150 одиниць вартості, інакше повідомлення стає в чергу. Потім йде перевірка на сумарну кількість повідомлень в накопичувачах. Якщо черга менша 3N = 12, то повідомлення обробляється в звичайному режимі, інакше система переходить в авральний режим.
Авральний режим аналогічно звичайному, але змінюється час обробки і враховується кількість оброблених повідомлень AvrCount і загальний час перебування системи в авральному режимі AvrTime.
3.2 Програмна реалізація імітаційної моделі
Ncapacity EQU 5;ємність накопичувача
Tavr EQU 89; час обробки в авральному режимі
SUMM VARIABLE (20#X$ALLENTERS#(Ncapacity-5)+(90-Tavr)#7#X$AVRCOUNT+150#X$LOOSE+3#X$AVRTIME#4)
GENERATE 21,9; генерація повідомлень
QUEUE BUFF
SEIZE MULTICHANNEL; буферзація
DEPART BUFF
ADVANCE 18,4
RELEASE MULTICHANNEL
SELECT MIN EVM, 1,4, Q; вибір мінімальної черги
TEST L Q*EVM, Ncapacity, GOOUT; порівняння з ємністю накопичувача
SAVEVALUE ALLENTERS+, 1; оброблені повідомлення
QUEUE P$EVM; стандартна обробка
QUEUE MAINSTREAM
TEST L Q$MAINSTREAM, 12, AVRALMODE; порівняння черги з 3N
SEIZE P$EVM
DEPART MAINSTREAM
DEPART P$EVM
ADVANCE 90; стандартна затримка
RELEASE P$EVM
TRANSFER, EXITPOINT
AVRALMODE SAVEVALUE AVRCOUNT+, 1; обробка в авральному режимі
SEIZE P$EVM
DEPART MAINSTREAM
DEPART P$EVM
MARK AVRINT
ADVANCE Tavr; зменшена затримка
RELEASE P$EVM
SAVEVALUE AVRTIME+, MP$AVRINT; час роботи в авральному режимі
TRANSFER, EXITPOINT
GOOUT SAVEVALUE LOOSE+, 1; втрачені повідомлення
SAVEVALUE costs, V$SUMM
TERMINATE
EXITPOINT SAVEVALUE costs, V$SUMM
TERMINATE 1
START 1000
модель імітаційний обробка повідомлення
3.3 Оцінка адекватності моделі
Модель адекватна, якщо вона є точним представленням реальної системи. Адекватна модель повинна вимірювати те, що піддається виміру, тобто на виході повинні виходити потрібні величини.
Мета даного дослідження — визначення витрат за критерієм мінімізації. Вихідною змінною реалізованої програмної моделі є витрати. Значить, реалізована модель вимірює саме те, що підлягає виміру.
З огляду на те, що модель будувалася за схемою імітаційної моделі, вона відповідає цій схемі, а отже відповідає й концептуальній моделі. Отже, модель адекватна.
4. Організація експериментів з моделлю
4.1 План експериментів
Цілі дослідження — визначення найбільш вигідної ємності накопичувачів та часу обробки повідомлень в авральному режимі для мінімізації витрат. Маємо дві змінні які можуть змінюватися незалежно одна від одної.
Провівши перший експеримент отримаємо дисперсію випадкової величини, за допомогою якої підрахуємо необхідну кількість прогонів. Далі проведемо декілька прогонів з загальними результатами, визначивши інтервал, де витрати мінімальні. Потім проведемо більш детальний розгляд даного інтервалу.
4.1.1 Визначення часу моделювання
Визначимо, чи переходе процес у стаціонарний режим та скільки часу потрібно для цього. В якості параметра для розглядання використаємо відношення витрати/час. Використаємо функцію GPSS — Plot Window. Отримали наступні графіки.
Рисунок 5.1 — Відношення витрати/час З графіку Рисунок 5.1 видно, що відношення витрати/час не прямують у нескінченність, вони близькі до стабільного рівня. Видно, що перехідні процеси закінчуються після 50 000 модельних одиниць часу. Отже, час прогону буде складати до 200 000 модельних одиниць.
4.1.2 Визначення кількості прогонів
Нехай випадкова величина має дисперсію 2. Для визначення кількості прогонів скористаємось формулою:
де N — кількість прогонів, =1.96, — необхідна точність (5% від середнього значення).
Так як значення дисперсії невідоме, то проведемо 50 дослідів та оцінимо них:
Рисунок 5.2 — Результат визначення дисперсії
Обрахуємо значення по формулі:
Для більшої точності будемо проводити 2 прогони.
4.2 Проведення експериментів
Було проведено 12 експериментів для даної моделі: по два прогони моделі тривалістю в 200 000 одиниць часу для кожного з випадків. На основі цих експериментів було сформовано матрицю результатів.
4.3 Результати
Результати експериментів можна приймати, оскільки F = 220,358 перевищує Critical Value of F = 2,74. Мінімальні витрати (в середньому це 14 279 655) одиниць вартості досягаються при ємності накопичувачів — 5, та при часу обробки повідомлення — 90.
4.4 Можливі покращення в роботі системи
Зменшення витрат можна забезпечити шляхом зменшення ресурсів, що використовуються в авральному режимі та витратами на використання додаткових ємностей в накопичувачах. Витрати на знищенні повідомлення не такі великі, як витрати на обслуговування повідомлень в авральному режимі. Тому в першу чергу потрібно зайнятися витратами на авральний режим.
Висновки
У даній роботі була розглянута задача про визначення оптимальних рішень — задача про визначення найкращого режиму роботи за вказаних економічних критеріїв. Були досліджені можливі методи розв’язання поставленої задачі, а також розроблена програма для її розв’язання. Проведено аналіз отриманих даних і дані рекомендації щодо можливої подальшої модернізації роботи системи обробки інформації.
Перелік посилань
1. Томашевский В., Жданова Е. Имитационное моделирование в среде GPSS. — М.:Бестселлер, 2003, — 416 с.
2. INTUIT.ru: учебный курс: Компьютерное моделирование. Лекция: Планирование экспериментов [Електронний ресурс]. — Режим доступу: http://www.intuit.ru/department/calculate/compmodel/4/
Додаток А
; Ncapacity EQU 5;ємність накопичувача
; Tavr EQU 89; час обробки в авральному режимі
SUMM VARIABLE (20#X$ALLENTERS#(Ncapacity-5)+(90-Tavr)#7#X$AVRCOUNT+150#X$LOOSE+3#X$AVRTIME#4)
AVRPROC VARIABLE (X$AVRCOUNT/X$ALLENTERS)
costs1 VARIABLE (V$SUMM/AC1)
GENERATE 21,9; генерація повідомлень
QUEUE BUFF
SEIZE MULTICHANNEL; буферзація
DEPART BUFF
ADVANCE 18,4
RELEASE MULTICHANNEL
SELECT MIN EVM, 1,4, Q; вибір мінімальної черги
TEST L Q*EVM, Ncapacity, GOOUT; порівняння з ємністю накопичувача
SAVEVALUE ALLENTERS+, 1; оброблені повідомлення
QUEUE P$EVM; стандартна обробка
QUEUE MAINSTREAM
TEST L Q$MAINSTREAM, 12, AVRALMODE; порівняння черги з 3N
SEIZE P$EVM
DEPART MAINSTREAM
DEPART P$EVM
ADVANCE 90; стандартна затримка
RELEASE P$EVM
TRANSFER, EXITPOINT
AVRALMODE SAVEVALUE AVRCOUNT+, 1; обробка в авральному режимі
SEIZE P$EVM
DEPART MAINSTREAM
DEPART P$EVM
MARK AVRINT
ADVANCE Tavr; зменшена затримка
RELEASE P$EVM
SAVEVALUE AVRTIME+, MP$AVRINT; час роботи в авральному режимі
TRANSFER, EXITPOINT
GOOUT SAVEVALUE LOOSE+, 1; втрачені повідомлення
SAVEVALUE costs, V$SUMM
MSAVEVALUE res, row_index, col_index, X$costs
TERMINATE
EXITPOINT SAVEVALUE costs, V$SUMM
MSAVEVALUE res, row_index, col_index, X$costs
SAVEVALUE AVRPROC, V$AVRPROC
SAVEVALUE costs1, V$costs1
TERMINATE
; GENERATE 1 000 000
GENERATE 200 000
TERMINATE 1
; START 1
include «cw1.txt»
Додаток Б
res MATRIX, 12,2
Ncapacity EQU 5
row_index EQU 1
Tavr EQU 90
RMULT 5
col_index EQU 1
START 1, NP
CLEAR OFF
RMULT 15
col_index EQU 2
START 1, NP
CLEAR OFF
row_index EQU 2
Tavr EQU 89
RMULT 5
col_index EQU 1
START 1, NP
CLEAR OFF
RMULT 15
col_index EQU 2
START 1, NP
CLEAR OFF
row_index EQU 3
Tavr EQU 88
RMULT 5
col_index EQU 1
START 1, NP
CLEAR OFF
RMULT 15
col_index EQU 2
START 1, NP
CLEAR OFF
row_index EQU 4
Tavr EQU 87
RMULT 5
col_index EQU 1
START 1, NP
CLEAR OFF
RMULT 15
col_index EQU 2
START 1, NP
CLEAR OFF
Ncapacity EQU 6
row_index EQU 5
Tavr EQU 90
RMULT 5
col_index EQU 1
START 1, NP
CLEAR OFF
RMULT 15
col_index EQU 2
START 1, NP
CLEAR OFF
row_index EQU 6
Tavr EQU 89
RMULT 5
col_index EQU 1
START 1, NP
CLEAR OFF
RMULT 15
col_index EQU 2
START 1, NP
CLEAR OFF
row_index EQU 7
Tavr EQU 88
RMULT 5
col_index EQU 1
START 1, NP
CLEAR OFF
RMULT 15
col_index EQU 2
START 1, NP
CLEAR OFF
row_index EQU 8
Tavr EQU 87
RMULT 5
col_index EQU 1
START 1, NP
CLEAR OFF
RMULT 15
col_index EQU 2
START 1, NP
CLEAR OFF
Ncapacity EQU 7
row_index EQU 9
Tavr EQU 90
RMULT 5
col_index EQU 1
START 1, NP
CLEAR OFF
RMULT 15
col_index EQU 2
START 1, NP
CLEAR OFF
row_index EQU 10
Tavr EQU 89
RMULT 5
col_index EQU 1
START 1, NP
CLEAR OFF
RMULT 15
col_index EQU 2
START 1, NP
CLEAR OFF
row_index EQU 11
Tavr EQU 88
RMULT 5
col_index EQU 1
START 1, NP
CLEAR OFF
RMULT 15
col_index EQU 2
START 1, NP
CLEAR OFF
row_index EQU 12
Tavr EQU 87
RMULT 5
col_index EQU 1
START 1, NP
CLEAR OFF
RMULT 15
col_index EQU 2
START 1, NP
CLEAR OFF