Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
PAGE 2
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
МІЖНАРОДНИЙ НАУКОВО-ТЕХНІЧНИЙ УНІВЕРСИТЕТ ІМЕНІ АКАДЕМІКА БУГАЯ
Факультет нафтогазової інженерії та компютерних наук
Тема: «Моделі систем масового обслуговування»
КУРСОВА РОБОТА
з дисципліни: «Механізм функціонування організаційних систем»
Спеціальність 8.080401 Інформаційні управляючі
системи та технології
Виконав
студент V курсу
групи ЗМК-11_________________________________Холевчук Є. А.
Перевірив ______________________________доцент Антонюк А.О.
Київ 2011
«Моделі систем масового обслуговування» Холевчук Є. А. Київ, МНТУ, Кафедра компютерних наук і інформаційних систем, 2011. 30 с., 9 рис., 6 літературних джерел.
Обєктом дослідження в курсовій роботі є моделі систем масового обслуговування.
Мета дослідження:
1) визначити основні поняття систем масового обслуговування;
2) розглянути моделі систем масового обслуговування;
Основні результати роботи:
1) визначено основні поняття систем масового обслуговування, такі як, пристрій для обслуговування, вимоги, дисципліна поставлення в чергу, обслуговування;
2) розглянуто вхідний потік вимог;
3) розглянуто моделювання пуассонівського потоку;
4) розглянуто типи моделей систем масового обслуговування;
5) розглянуто одноканальні системи масового обслуговування;
6) розглянуто багатоканальні системи масового обслуговування;
7) розглянуто основи дискретно-подійного моделювання систем масового обслуговування;
8) розглянуто приклади побудови моделі системи масового обслуговування;
Рекомендації щодо використання результатів роботи:
Методичний матеріал може бути використаний при ознайомленні з основними поняттями та моделями систем масового обслуговування.
Ключові слова: системи масового обслуговування, пристрої для обслуговування, вимоги, черга.
ПЕРЕЛІК УМОВНИХ СКОРОЧЕНЬ
СМО ПППО ОППО СМП |
Системи масового обслуговування Перший прийшов - першим обслужили |
Зміст
[1] Анотація [2] Вступ [3] Характеристики систем масового обслуговування [4] 2. Вхідний потік вимог [4.1] 2.1. Моделювання пуассонівського потоку [4.2] 2.2. Властивості пуассонівського потоку [4.3] 2.3. Режими роботи системи масового обслуговування [5] 3. Типи моделей систем масового обслуговування [6] 4. Формула Литтла [7] 5. Одноканальні системи масового обслуговування [8] 6. Багатоканальні системи масового обслуговування [9] 7. Алгоритм моделювання систем масового обслуговування [10] Висновки [11] Список використаної літератури |
У теорії і практиці моделювання систем важливе місце посідають моделі систем масового обслуговування (СМО). Такі системи зустрічаються нам щоденно. Це процеси обслуговування в черзі на заправній станції, у магазині, бібліотеці, кафе, також різні служби ремонту і медичної допомоги, транспортні системи, аеропорти, вокзали тощо. Черги виникають і за потреби скористатись телефонним звязком або передати повідомлення по Інтернету. Більше того, будь-яке виробництво також можна подати як послідовність таких систем. Особливого значення СМО набули в інформатиці. Це передусім компютерні системи, мережі передавання інформації, бази і банки даних.
Існує розвинутий математичний апарат теорії масового обслуговування (науковці західних країн цю теорією називають теорією черг), що дає змогу аналізувати ефективність функціонування СМО певних типів і визначати залежність між характеристиками потоку вимог, кількістю каналів (пристроїв для обслуговування), їх продуктивністю, правилами роботи СМО та її ефективністю.
Функціонування будь-якої СМО полягає в обслуговуванні потоку вимог, які одна за одною або групами надходять до неї в деякі, як правило, випадкові моменти часу. Вимоги, які надійшли до СМО, обробляються протягом певного часу, після чого залишають систему.
У будь-якій системі обслуговування передбачена наявність пристроїв для обслуговування (інші назви: прилади для обслуговування, сервери, канали) і вимог (інші назви: заявки, виклики, клієнти), які потребують обслуговування. Правила або алгоритми взаємодії пристроїв і вимог називатимемо дисциплінами поставлення в чергу та обслуговуванням.
Для кожної СМО задається режим роботи. Слід відзначити, що для вимоги може бути потрібно кілька обслуговувань одним або кількома пристроями. Звичайно термін «пристрій для обслуговування* (англійською - «server») використовується для відносно простих моделей, в яких кожна вимога може обслуговуватись тільки одним пристроєм. Якщо ж вимоги обслуговуються кількома пристроями в певній послідовності, переміщаючись за заданим маршрутом, то має місце «мережа обслуговування» (англійською - «queueing network»). Іншими словами, мережа - це складна СМО.
Зазвичай за допомогою методів теорії масового обслуговування розвязують задачі з проектування та експлуатації однотипних елементів обслуговування наприклад, розраховують кількість контрольно-пропускного обладнання, місць для ремонту, бензоколонок, обслуговуючого персоналу, ліній звязку, одиниць обладнання обчислювальної техніки тощо.
Окремим типом завдань у теорії масового обслуговування є визначення місць накопичування вимог у системі обслуговування, наприклад визначення місць на стелажах на складі або в багатоповерховому гаражі, кількості пристроїв введення-виведення інформації компютера, кількості місць у палатах госпіталю та ін.
Найчастіше ефективність функціонування будь-якої СМО визначається за такими показниками:
Щоб визначити ці параметри, потрібно охарактеризувати СМО, тобто описати та задати такі характеристики:
Для визначення вхідного потоку вимог потрібно зазначити моменти часу їх надходження до системи (закон надходження) і кількість вимог, які можуть надійти одночасно. Закон надходження може бути детермінованим (наприклад, вимога або вимоги надходять до системи у фіксовані моменти часу) або ймовірнісним (проміжки часу між моментами надходження вимог до системи мають рівномірний, експоненціальний або інший заданий закон розподілу).
У загальному випадку вхідний потік вимог описується розподілом імовірностей проміжків часу між моментами надходження до системи двох сусідніх вимог. Здебільшого припускається, що ці проміжки часу є незалежними і мають однаковий розподіл випадкових величин і, таким чином, вимоги утворюють стаціонарний вхідний потік. У класичній теорії масового обслуговування, як правило, розглядається так званий пуассонівський (найпростіший) потік вимог, в якому кількість вимог к для будь-якого проміжку часу і має розподіл Пуассона:
де К інтенсивність потоку вимог (кількість вимог, які надійшли до системи за одиницю часу).
Існує кілька теорем теорії ймовірностей, за допомогою яких можна довести, що більшість потоків вимог є пуассонівськими. Це, зокрема, теореми про суперпозицію незалежних потоків малої інтенсивності, розрідження випадкового потоку та ін. На практиці вважають, що вхідний потік має розподіл Пуассона, якщо за визначений проміжок часу вимоги надходять до системи від великої кількості незалежних джерел. Прикладами таких потоків можуть бути дзвінки абонентів у телефонній мережі або запити до централізованої бази даних від користувачів компютерної мережі.
Для завдання вхідного потоку вимог, крім закону розподілу, потрібно визначати кількість вимог, які надходять до системи одночасно. Вимоги можуть надходити до системи по одній або групами, наприклад у метро або до стадіону через вхідні турнікети одночасно можуть зайти кілька чоловік. Системи, до яких вимоги надходять пакетами (більше ніж з однією вимогою), будемо називати системами з груповим потоком вимог.
Кількість вимог, які надходять до системи від якогось джерела (під час моделювання це джерело відтворює генератор вимог), може бути необмеженою або обмеженою. Прикладом системи з обмеженою кількістю вимог є система з відмовами та відновленням (ремонтом) обладнання виробничої дільниці, де в разі відмови обладнання подається вимога на ремонт обладнання до бригади ремонтників. Якщо в такій системі є М одиниць обладнання, то максимально можлива кількість вимог у системі дорівнюватиме М.
Прикладом системи з необмеженою кількістю вимог може бути телефонна мережа, кількість абонентів якої визначити практично неможливо. Якщо кількість вимог безмежна і вони незалежні, то це свідчить про те, що вхідний потік вимог є пуассонівським.
Покажемо, як під час моделювання систем масового обслуговування можна задати пуассонівський потік вимог. Для цього розглянемо найпростіший потік з інтенсивністю X і позначимо моменти надходження вимог на осі (0, і), як показано на рис. 1. Визначимо, який розподіл мають проміжки часу Т між моментами надходження двох сусідніх вимог.
Рис. 1. Моменти надходження вимог для пуассонівського потоку
Очевидно, що проміжки часу Т - випадкові величини. Знайдемо закон їх розподілу. Функція розподілу F(t) визначає ймовірність того, що випадкова величина Т набуде значення, яке менше за t, тобто
Нехай початок проміжку часу T. Знайдемо ймовірність того, що випадкова величина T буде меншою за t. Для цього потрібно, щоб на проміжок довжиною t, який починається з точки , потрапила хоча б одна вимога. Обчислимо функцію F(t) через імовірність протилежної події, тобто через імовірність того, що за проміжок часу t до системи не надійде жодної вимоги:
Значення ймовірності знайдемо за формулою (1) за умови, що = 0:
Тоді функція розподілу випадкової величини Т матиме вигляд:
Щоб знайти функцію щільності розподілу випадкової величини Т, продиференціюємо функцію F(t) за t:
Це і є функція щільності показникового або експоненціального закону розподілу. Її графік і графік функції розподілу за умови X = 1 зображено на рис. 2.
Рис. 2. Графіки функцій щільності (а) та розподілу (б) експоненціального закону: ; р = 0.5
Отже, щоб отримати пуассонівский потік вхідних вимог, які надходять до системи, достатньо обчислити випадкову величину з експоненціальним розподілом.
У теорії масового обслуговування найпростіший потік відіграє таку ж роль, як нормальний закон розподілу випадкових величин у теорії ймовірностей. Випадковий потік вимог, який за своїми характеристиками наближений до найпростішого, утворюється в разі додавання випадкових потоків.
Основними властивостями найпростішого потоку вимог є:
Потік є стаціонарним, якщо ймовірність надходження певної кількості вимог за деякий проміжок часу т залежить тільки від довжини цього проміжку т і параметра X, і не залежить від місця розташування проміжка на осі часу (рис. 3). Відрізки часу т не повинні перетинатися.
Рис. 3. Відображення стаціонарного потоку вимог
У потоці відсутня післядія, якщо ймовірність надходження визначеної кількості вимог за деякий проміжок часу т не залежить від кількості вимог, які надійшли до системи, тобто не залежить від передісторії. Те, що проміжки часу не перетинаються, свідчить про взаємну незалежність протікання процесів у часі.
Потік є ординарним, якщо в один і той самий момент часу неможливе надходження двох або більше вимог.
Пуассонівський потік вимог є окремим випадком більш загального потоку Ерланга. Потік Ерланга r-го порядку можна отримати шляхом просіювання пуассонівського потоку (рис. 4).
Рис. 4. Потік Ерланга r-го порядку
На рисунку видно, що для того щоб отримати потік Ерланга r-го порядку, досить підсумувати г випадкових експоненціально розподілених величин.
На практиці часто доводиться вивчати режими роботи СМО, за допомогою яких описується деякий виробничий процес або система обробки інформації. Якщо в системі пристрої для обслуговування час від часу виходять з ладу, то вводиться поняття режим відмови. Під час дослідження деяких систем треба брати до уваги ще один режим - блокування обслуговування, повязаний з тимчасовим перериванням або сповільненням процесу обслуговування.
Зміна режиму роботи СМО може бути зумовлена зовнішнім впливом (наприклад, тимчасовою відсутністю деталей у технологічному процесі, ремонтом обладнання тощо) або виходом із ладу деякого пристрою системи (наприклад, блока живлення в компютері).
У теорії систем масового обслуговування розглядаються тільки такі СМО, параметри ефективності яких можна отримати аналітично в замкненому або числовому вигляді. Для позначення таких моделей СМО часто використовують запис, запропонований Канделом X/Y/Z, де X - розподіл часу прибуття надходження вимог, Y розподіл часу обслуговування, а Z кількість пристроїв для обслуговування.
Найпоширенішою моделлю, яка розглядається в теорії масового обслуговування, є модель типу M/M/1. Ця модель має тільки один пристрій для обслуговування (цифра 1), і в ній процеси розподілу часу надходження (перша буква М) та обслуговування (друга буква М) є марківськими. Для такої моделі час між двома надходженнями вимог до системи і час їх обслуговування мають експоненціальні розподіли. Модель типу М/М/1 може використовуватися, наприклад, для моделювання роботи однопроцесорної системи або стандартного пристрою для введення-виведення інформації (магнітного диска, принтера тощо).
Модель типу D/D/1 детермінована, а модель D/M/1 змішана. Якщо відомостей про систему мало, її модель позначають як G/G/m модель з будь-якими розподілами ймовірностей випадкових величин і т пристроями для обслуговування.
У теорії масового обслуговування аналітичні результати отримано тільки для моделей типів D/D/1, М/М/1 і М/G/1. Для визначення характеристик моделей з іншими значеннями параметрів СМО потрібно використовувати методи імітаційного моделювання.
У реальних системах не завжди можна описати закони розподілу вхідних потоків вимог і часу їх обслуговування. Для їх визначення потрібно вміти оцінювати характер робочого навантаження системи. Зокрема, у разі моделювання компютерної системи треба знати, коли до системи надходять нові завдання, скільки часу потрібно для виконання процесором кожного з них, як часто програма звертається до пристроїв для введення-виведення інформації. Для цього треба розробити діаграму роботи системи, на якій можна зобразити потоки вхідних завдань у систему, ресурси, до яких вони направляються, а також час обслуговування завдань на цих ресурсах.
Якщо графік робочого навантаження має періодичній характер, то під час спостереження за роботою компютера є можливість отримати представницьку вибірку, яку можна застосовувати для аналізу показників ефективності СМО. Проте моделювання з використанням такого опису робочого навантаження (сценарію) дасть змогу відтворити тільки результати роботи компютерної системи в минулому. На підставі цього не можна визначити, як працюватиме система в майбутньому.
Для того щоб спрогнозувати поведінку системи в майбутньому, потрібно виявити закономірності та визначити один або кілька розподілів імовірностей, а не використовувати необроблені дані, отримані шляхом вимірювання. Якщо для визначення робочого навантаження на систему використовуються розподіли ймовірності, а для аналізу результатів моделювання відповідні статистичні методи, то отримані результати можна поширити на більший діапазон робочих навантажень, ніж під час використання визначеного сценарію.
У теорії масового обслуговування важливе значення має формула Литтла (закон збереження стаціонарної черги), яка дозволяє обчислювати середню кількість вимог, що знаходяться в системі. Щоб отримати формулу Литтла, розглянемо СМО загального виду, яку зображено на рис. 5. у вигляді «чорного ящика», і будемо спостерігати за її вхідними та вихідними потоками вимог.
Рис. 5. СМО загального виду
Процес деякий випадковий процес надходження вимог до системи за проміжок часу (0, t). Процес визначає вихідний потік вимог із системи на цьому ж проміжку. Відобразимо обидва випадкових процеси у вигляді графіків, наведених на рис. 6.
Рис. 6. Вхідні та вихідні випадкові процеси в СМО
Кількість вимог, що знаходяться в системі в будь-який момент часу £, можна знайти як =.
Заштрихована площа між двома кривими визначає загальну роботу (добуток кількості вимог на час перебування їх у СМО) на проміжку часу (0, t), яка вимірюється у вимогах за секунду.
Інтенсивність надходження вимог до СМО за час спостереження (0, t) можна визначити як
(4.1)
а середній час перебування вимог у системі за той же проміжок часу як
(4.2)
Середня кількість вимог, що перебували в системі за проміжок часу (0, t),
(4.3)
Використовуючи (4.1) - (4.3), отримаємо таку формулу:
(4.4)
Для того щоб СМО була в стані рівноваги, потрібно, щоб середній час перебування вимог у системі був більшим за середній час їх обслуговування. Припустимо, що для СМО, яка розглядається, і , де інтенсивність надходження, а Т середній час перебування вимог у системі. У цьому випадку існує також межа для середньої кількості вимог, які знаходяться в системі, тобто . Тоді з формули (4.4) отримаємо формулу Литтла у такому вигляді:
Отже, для будь-якого закону розподілу проміжків часу між двома моментами надходження вимог і будь-якого розподілу часу їх обслуговування, кількості пристроїв для обслуговування та дисципліни обслуговування середню кількість вимог, що знаходяться в СМО, визначають через інтенсивність надходження та середній час перебування вимог у системі.
Інтуїтивне доведення формули Литтла базується на тому, що кількість вимог N у системі в момент надходження нової вимоги, буде такою ж, як і в момент, коли вимога залишає систему. Це свідчить про те, що СМО перебуває в стані рівноваги або сталому стані, тобто вимоги не можуть знаходитись у системі нескінченно довго і завжди залишають її. Як бачимо, під час виведення формули Литтла ніяких обмежень на тип СМО немає. Можна, наприклад, вважати, що СМО складається тільки з однієї черги або з одного пристрою для обслуговування.
Розглянемо одноканальну СМО з одним пристроєм для обслуговування S і чергою до нього q, яку зображено на рис. 5.
Рис. 5 СМО з одним пристроєм для обслуговування
Якщо позначити через середній час перебування вимоги в черзі, то з формули Литтла можна отримати середню кількість вимог у черзі:
Якщо позначити середній час обслуговування вимоги в пристрої через і розглядати СМО як таку, що має один пристрій, то, використовуючи формулу Литтла, можна знайти середню кількість вимог у пристрої для обслуговування:
Для СМО з одним пристроєм для обслуговування завжди має місце рівність , де Т середній час перебування вимоги в системі.
Коефіцієнт завантаження (коефіцієнт використання) пристрою для обслуговування можна визначити, якщо розділити інтенсивність надходження вимог до системи () на швидкість обслуговування цих вимог у пристрої (), тобто
де
Тоді
Покажемо, що це ймовірність того, що під час надходження вимоги до системи пристрій для обслуговування буде зайнятим. Розглянемо як задовгий проміжок часу . Відповідно до закону великих чисел, очікувана кількість вимог на проміжку часу з імовірністю 1 буде приблизно дорівнювати . Позначимо через імовірність того, що в деякий випадковий момент часу вимога, що надійшла, застане пристрій вільним. Тоді можна стверджувати, що на проміжку часу t пристрій буде зайнятим . Таким чином, з імовірністю 1 кількість обслужених за цей проміжок часу вимог буде дуже близькою до величини . Якщо всі вимоги, які надійшли за проміжок часу, вважати обслуженими, то
Таким чином, маємо , якщо, або , тобто з імовірністю вимога застає пристрій для обслуговування зайнятим, або дорівнює частці часу, протягом якого пристрій був зайнятим.
Введемо коефіцієнт варіації С як відношення стандартного відхилення , від середнього значення до середнього значення :
Для експоненціального закону розподілу коефіцієнт варіації C = 1, оскільки і для цього закону дорівнюють . Для регулярного детермінованого закону розподілу С = 0 (). Таким чином, для моделі СМО типу G/G/1 з одним пристроєм і при довільних законах надходження та обслуговування вимог середня кількість вимог визначається як
Цей вираз можна отримати, якщо відзначити, що кількість вимог, які залишилися в системі після виходу деякої вимоги, є напівмарківським процесом з укладеним ланцюгом Маркова, який визначено в моменти виходу вимоги.
Використовуючи результат Хінчина-Полячека, можна отримати середній час перебування вимог у одноканальній СМО за формулою
(5.1)
Із формули (5.1) видно, що середній час перебування вимоги в системі залежить тільки від математичного сподівання і стандартного відхилення часу обслуговування. Таким чином, час чекання визначається як
Зазвичай потрібно знати нормований час чекання:
Для моделей типу М/М/1
Для моделей типу М/D/1
Таким чином, система з регулярним законом обслуговування характеризується середнім часом чекання, удвоє меншим, ніж для системи з показовим законом обслуговування. Це закономірно, оскільки час перебування вимог у системі та їх кількість пропорційні дисперсії часу обслуговування.
Аналіз багатоканальних СМО (з кількома однаковими пристроями для обслуговування) (рис. 6.1), на відміну від одноканальних, є набагато складнішим. За допомогою теорії масового обслуговування можна отримувати аналітичні залежності в замкнутому вигляді для розрахунків характеристик роботи багатоканальної СМО в стаціонарному режимі роботи, однак лише для моделі типу М/М/т. Для СМО з іншими законами розподілу часу надходження та обслуговування вимог використовують числові методи.
Рис. 6.1. Багатоканальна СМО
Для системи, яка складається з m однакових пристроїв для обслуговування, коефіцієнт завантаження . Для багатоканальної СМО значення можна трактувати як математичне сподівання частки зайнятих пристроїв.
У теорії масового обслуговування розглядаються багатоканальні СМО типу М/М/m з m пристроями для обслуговування двох типів:
Для кожного з цих двох випадків можна побудувати системи диференціальних рівнянь, які описують усі стани СМО, а потім розвязати ці рівняння за умови, що система функціонує в стаціонарному режимі. Наведемо основні формули, потрібні для розрахунків параметрів СМО типу М/М/m.
, якщо
,
,
,
,
Використовуючи вищенаведені формули, можна розрахувати параметри СМО типу М/М/т, а потім порівняти їх з результатами імітаційного моделювання.
Основою побудови моделі є обєктний підхід, який передбачає створення моделі системи як множини обєктів, що взаємодіють між собою. У цій моделі можна виділити обєкти вимоги (покупці) і деякий ресурс (R) пристрій для обслуговування (статичний обєкт продавець). Якщо вимога претендує на ресурс, зайнятий у даний момент часу, то вона стає в чергу. Черга також є окремим обєктом списком, повязаним з ресурсом. Для системи обслуговування введемо також правило обслуговування «перший прийшов першим обслужили».
Під час моделювання для кожної пари «вимога-ресурс» потрібно зясувати, як довго вимога буде використовувати ресурс R, тобто треба зазначити проміжок часу між моментами призначення ресурсу R вимозі і звільнення цього ресурсу. Однак перш ніж ресурс буде призначено вимозі , на нього повинен надійти запит. У загальному випадку вимога може чекати в черзі до призначення ресурсу.
Опишемо алгоритм роботи системи обслуговування з погляду на «життєвий цикл» покупця, тобто від моменту його приходу до магазину до моменту виходу з нього. Оскільки покупці приходять до магазину безперервно протягом деякого періоду часу спостереження за системою (час, упродовж якого моделюється система), то потрібно відтворити потік покупців шляхом «створення» їх у моделі (генерування в деякі моменти часу моментів їх приходу до магазину). Для створення обєктів покупець використовується спеціальна підпрограма генерування (у мові GPSS цій підпрограмі відповідає блок GENERATE). Наведемо алгоритм її роботи.
Перша це підпрограма запиту і призначення ресурсу R вимозі j (у мові GPSS цій підпрограмі відповідає блок SEIZE). Алгоритм її роботи такий:
Друга це підпрограма обслуговування вимоги (у мові GPSS цій підпрограмі відповідає блок ADVANCE). Алгоритм її роботи дуже простий. Вона повинна визначити подію, яка настає після закінчення обслуговування вимоги як (де час обслуговування в пристрої), тобто створити повідомлення про подію в СМП, для того щоб передати керування підпрограмі звільнення ресурсу R вимогою .
Третя підпрограма звільнення ресурсу R вимогою (у мові GPSS цій підпрограмі відповідає блок RELEASE). Алгоритм її роботи такий.
Підпрограма знищення вимоги (у мові GPSS цій підпрограмі відповідає блок TERMINATE) потрібна для знищення структури даних, яка створюється для кожної вимоги.
Крім вищенаведених підпрограм потрібна програма керування всім процесом моделювання (ПКМ), яка запускає процес моделювання і контролює пересування кожної вимоги («життєвий цикл») під час моделювання шляхом виклику зазначених підпрограм обробки окремих подій. Інше призначення цієї програми вести список упорядкованих у часі подій СМП і просувати годинник модельного часу від події до події. У мові GPSS функції ПКМ виконує програма інтерпретатор.
Список майбутніх подій містить інформацію про всі події, які мають відбутись. Моделювання з використанням СМП гарантує, що всі події відбуватимуться в хронологічному порядку.
Планування настання кожної майбутньої події означає, що на початку кожної дії обчислюється (або встановлюється, наприклад на основі заданого статистичного розподілу) її тривалість. Це необхідно для того, щоб визначити час закінчення дії і занести цю інформацію (у першу чергу тривалість дії) у СМП. У реальному світі заздалегідь запланувати настання більшості подій неможливо, вони просто відбуваються як, наприклад, випадкові відмови устаткування або випадкові приходи покупців. Під час моделювання для кожної такої події потрібно зазначити кінцевий момент повязаної з нею деякої дії.
У будь-який визначений час моделювання СМП містить дані про всі попередньо заплановані події та повязані з цими подіями моменти часу .У СМП події упорядковані в хронологічному порядку, тобто моменти часу настання подій задовольняють умови
Час це поточне значення часу моделювання (показання годинника модельного часу). На початку моделювання подія, повязана з моментом часу , є майбутньою подією, тобто ця подія відбуватиметься першою. Після того як показання годинника, що відображає моменти зміни станів системи під час моделювання, зміниться з на , запланована для майбутнього виконання подія вилучається з СМП і виконується підпрограма події. Виконання підпрограми майбутньої події означає, що відображено новий стан системи в момент часу , який формується на основі попереднього стану моделі в момент часу і характеру майбутньої події. У момент зазначити всі майбутні події неможливо, але протягом всього процесу моделювання будь-яка запланована подія одразу ж поміщається в СМП.
Після того як нове відображення стану системи в момент часу було модифіковано, годинник модельного часу просувається до моменту часу настання наступної майбутньої події і виконується підпрограма цієї події. Цей процес повторюється до закінчення моделювання. Послідовність дій, які потрібно виконати для того, щоб годинник модельного часу був переведений і відображався новий стан системи, називається алгоритмом, який планує події або перебіг часу від події до події. На рис. 7.1 зображено структурну схему імітаційної моделі.
На початку моделювання (час моделювання = 0) ПКМ передає керування підпрограмі генерування обєктів, що визначає момент приходу першого покупця і намічає подію запиту і призначення ресурсу R у СМП на момент часу = . Оскільки інших подій у системі не зафіксовано, модельному часу присвоюється значення , викликаються підпрограма генерування обєктів і підпрограма запиту і призначення ресурсу R.
Рис. 7.1 Структурна схема імітаційної моделі
Підпрограма генерування обєктів визначає майбутню подію момент приходу другого покупця і призначає в СМП настання цієї події на момент часу . Підпрограма запиту і призначення перевіряє стан ресурсу R (продавця). Якщо ресурс R вільний, то він призначається першому покупцю, і стан ресурсу R змінюється на «зайнятий». Фіксується момент початку обслуговування вимоги . Керування передається підпрограмі обслуговування першого покупця.
Підпрограма обслуговування визначає подію закінчення обслуговування першого покупця як = + . Для цього в СМП створюється повідомлення про майбутню подію і керування передається підпрограмі звільнення ресурсу R першою вимогою в момент часу .
Таким чином, тепер у СМП є два елементи: один з наміченою подією появи другого покупця на момент часу , другий з наміченою подією закінчення обслуговування першого покупця в момент часу . Якщо < то годинник модельного часу буде переведено на час , тобто буде викликано заново підпрограму генерування обєктів і згенеровано появу другого покупця. У цей же момент часу викликається підпрограма генерування обєктів, яка намітить у СМП появу третього покупця на час , та виклик підпрограми запиту і призначення ресурсу R, але оскільки ресурс зайнятий обслуговуванням першого покупця, то другого покупця буде поставлено в чергу до ресурсу R.
У СМП знову буде два елементи: один з наміченою подією появи третього покупця на час , другий з наміченою подією закінчення обслуговування першого покупця на час . Якщо > , то годинник модельного часу буде встановлено на час = , тобто буде викликано підпрограму звільнення ресурсу R першим покупцем. Вона змінить стан ресурсу R із «зайнятий» на «вільний» і передасть керування підпрограмі знищення вимоги. Потім перевірить, чи є вимоги в черзі до ресурсу R і вибере другого покупця з черги, намітить для нього подію для підпрограми запиту і призначення ресурсу R для другого покупця.
Викликана в цей же момент модельного часу підпрограма знищення ліквідує структуру даних (посилання на адресу) першого покупця. Ця ж підпрограма, якщо необхідно, може обчислювати час перебування першого покупця в системі () для подальшого статистичного оцінювання часу перебування покупців у системі.
Надалі життєвий цикл інших покупців у системі відбуватиметься за описаним вище алгоритмом.
Під час побудови алгоритму потрібно зазначати час закінчення процесу моделювання за допомогою одного із трьох способів.
У процесі моделювання збирається статистична інформація про роботу моделі під час кожного просування модельного часу. Це можуть бути відомості про довжину черги, час перебування в черзі та пристрої для обслуговування, завантаження або стан пристрою тощо. Для збору інформації створюється спеціальна підпрограма, яка накопичує її, а після закінчення моделювання видає у вигляді стандартного статистичного звіту.
У мові GPSS статистична інформація накопичується в стандартних числових атрибутах і доступна в процесі моделювання тільки для зчитування. Доступ до стандартних числових атрибутів дає можливість керувати процесом руху вимог, наприклад обмежувати довжину черги або час перебування в черзі.
Головним результатом курсової роботи є аналіз моделей систем масового обслуговування.
Основні результати курсової роботи: