
- •Моделювання систем
- •Передмова
- •Моделі процесів і систем
- •Класифікація моделей
- •Основні визначення та класифікація систем масового обслуговування
- •Характеристики систем масового обслуговування
- •Вхідний потік вимог
- •Стратегії керування потоками вимог
- •Класифікація систем масового обслуговування
- •Метод статистичних випробовувань
- •Генератори випадкових чисел
- •Моделювання випадкових подій та дискретних випадкових величин
- •Моделювання неперервних випадкових величин
- •Моделювання нормально-розподілених випадкових величин
- •Моделювання випадкових векторів
- •Моделювання випадкових функцій
- •Статистична обробка результатів моделювання
- •Визначення кількості реалізацій під час моделювання випадкових величин
- •Основне меню gpss World
- •Меню File
- •Меню Edit
- •Панель інструментів gpss World
- •Вікно моделі у системі gpss World
- •Інтерактивний перегляд значень виразів
- •Налаштування параметрів моделювання
- •4.1. Основне меню gpss World
- •4.2. Подання моделей у вигляді блок-діаграм
- •4.3. Основні складові системи gpssw
- •4.4. Об'єкти обчислювальної категорії
- •4.4.1. Константи
- •4.4.2. Системні числові атрибути
- •4.4.3. Арифметичні і логічні оператори
- •4.4.4. Бібліотечні математичні функції
- •4.4.5. Змінні користувача
- •4.4.6. Вирази в операторах gpss
- •4.4.7. Зберігаючі комірки
- •4.4.8. Матриці зберігаючих комірок. Оголошення та ініціалізація матриць
- •4.4.9. Арифметичні змінні й арифметичні вирази
- •4.4.10. Булеві змінні
- •4.4.11. Типи функцій
- •5.1. Введення транзактів у модель і вилучення їх із неї
- •5.2. Блоки для зміни значень параметрів транзактів
- •5.3. Блоки апаратної категорії зайняття та звільнення одноканальних пристроїв
- •5.4. Блоки перевірки стану та передавання керування в одноканальних пристроях
- •5.5. Блоки статистичної категорії
- •5.6. Блоки для зміни послідовності руху транзактів у моделі
- •5.7. Блоки апаратної категорії для переривань одноканальних пристроїв
- •5.8. Блоки апаратної категорії для переведення одноканальних пристроїв у стан недоступності
- •5.9. Створення і застосування списків користувача
- •Основні етапи моделювання у системі gpssw
- •Команди gpss World
- •Інтерактивні можливості gpss World
- •Відлагодження моделей у gpss World
- •Блоки зайняття та звільнення багатоканальних пристроїв
- •Блоки апаратної категорії для переведення багатоканальних пристроїв у стан недоступності та відновлення доступності
- •Блоки перевірки стану багатоканальних пристрів
- •Моделювання перемикачів
- •Основні елементи мови
- •Побудова виразів
- •Plus-оператори та їх призначення
- •Вбудована бібліотека процедур
- •Генератори випадкових чисел
- •Реалізація методу Ньютона для розв’язування нелінійних рівнянь за допомогою мови Plus
- •Налагодження Plus-процедур
- •Команда integrate і блок integration для моделювання неперервних систем
- •Використання plus-процедур для моделювання неперервних систем
- •Використання функцій в імітаційних моделях
- •Генерування випадкових чисел для дискретних рівномірних розподілів
- •Генерування випадкових чисел для дискретних нерівномірних розподілів
- •Генерування випадкових чисел для неперервного рівномірного розподілу
- •Генерування випадкових чисел для неперервних нерівномірних розподілів
- •Функції типу e, l і м
- •9.1. Основні відомості з теорії планування експериментів
- •9.1.1. Повний факторний експеримент
- •Оцінювання точності результатів моделювання
- •Дисперсійний аналіз
- •Однофакторний дисперсійний аналіз
- •9.2.2. Двофакторний дисперсійний аналіз
- •9.3. Технологія дисперсійного аналізу у gpss World
- •9.4. Технологія регресійного аналізу у gpss World
- •9.5. Організація експериментів користувача у gpss World
- •Initial Rezult_tf,unspecified ;Ініціалізація матриці результатів
- •Загальні положення
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання
- •Контрольні запитання
- •Загальні положення
- •Завдання для виконання роботи
- •Контрольні запитання
- •Загальні положення
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання
- •Контрольні запитання
- •Загальні положення
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання
- •Контрольні запитання
- •Загальні положення
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання одноканальних розімкнутих смо
- •Індивідуальні завдання для моделювання одноканальних замкнутих смо
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання багатоканальних розімкнутих смо
- •Індивідуальні завдання для моделювання багатоканальних замкнутих смо
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання роботи транспортного конвеєра
- •Індивідуальні завдання для моделювання роботи ділянки цеху
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання роботи еом для оброблення завдань з різними пріоритетами
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання роботи вузла комутації повідомлень
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання поширення вірусу на системному диску
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для проведення дисперсійного аналізу для дослідження вагомості впливу змінних користувача на об’єкт моделі
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для розроблення експерименту користувача
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання проведення регресійного аналізу для оптимізації і кількісного прогнозу поведінки системи
- •Контрольні запитання
- •Елементи стандартного звіту
- •Загальна інформація про результати роботи моделі
- •Інформація про імена
- •Інформація про блоки
- •Інформація про об’єкти типу «пристрій»
- •Інформація про об’єкти типу «черга»
- •Інформація про об’єкти типу «багатоканальний пристрій»
- •Інформація про таблиці
- •Інформація про списки користувача
- •Табличні значення критеріїв
- •Значення t-критерію Ст’юдента
Генерування випадкових чисел для дискретних нерівномірних розподілів
Визначення інтервалів надходження та обслуговування вимог або інших величин у багатьох випадках зумовлює генерування випадкових чисел з дискретним нерівномірним розподілом. Розглянемо приклади використання функцій типу D.
1) IML FUNCTION X$A2,D5
1.2, 6.9/2.1, 1.6/5.33, 9.2/5, 8/9.7, 12.03
2) RAM FUNCTION RN1,D5
0,0/.3, 7.3/.4, 6.7/.8, 8.93/1.0, 0.1
Функція типу D з випадковим аргументом використовується для моделювання дискретного ймовірнісного розподілу. Під час обчислення функції з потоку вибирається число у діапазоні (0,1) і знаходиться менше значення X із списку даних функції, яке є більшим або дорівнює вибраному випадковому числу. Відповідне значення Y повертається як значення функції.
3) Нехай функція, яка використовується у моделі, задана таблично. Згідно з цією табл. 8.2, випадкова величина повинна отримувати значення 3, 7, 13, 21, 33 з частотою 0,12; 0,18; 0,25; 0,32; 0,13 відповідно.
Таблиця 8.2
Значення випадкової величини |
Відносна частота |
Сумарна частота |
Діапазон |
Інтервал |
3 |
0,12 |
0,12 |
0,0...0,12 |
1 |
7 |
0,18 |
0,3 |
0,12...0,3 |
2 |
13 |
0,25 |
0,55 |
0,3...0,55 |
3 |
21 |
0,32 |
0,87 |
0,55...0,87 |
4 |
33 |
0,13 |
1,0 |
0,87...1,0 |
5 |
Згенеруємо число в інтервалі (0, 1). Нехай ним буде 0,687528. Це число потрапляє в інтервал 4. Шуканим значенням випадкової величини є 21.
Таким чином, для згенерування випадкових чисел відповідно до деякого дискретного розподілу використовується таблиця, якою задана функція. Дані такої таблиці, а саме значення випадкової величини і сумарної частоти випадання значення випадкової величини користувач задає за допомогою функції типу D – дискретного типу. У списку даних функції типу D значення аргументу Х повинні бути типу Expression, а значення функції Y – типу integer, real або Name. Джерелом випадкових чисел виступає генератор RN3. Для нашого прикладу функція, задана табл. 8.2, буде визначена командою FUNCTION так:
NNN FUNCTION RN3,D5
.12,3/.3,7/.55,13/.87,21/1,33
Функція має назву NNN. Випадкова величина може мати п'ять різних значень. Сумарні частоти і відповідні їм п'ять значень функції записано як п'ять пар чисел. Зазначимо, що пари чисел, які визначають координати Х і Y точки не тільки дискретної, але і функції будь-якого типу, мають відповідати правилам, вказаним у розділі 4.4.11.
Розглянемо інші випадки застосування функцій у моделях.
Як відомо, блок TRANSFER має такі режими роботи, як вибірковий (PICK) і функціональний (FN). У режимі PICK вибір блоку, до якого прямує активний транзакт, проводиться випадково. Блоки повинні бути розташовані один за одним і переходи до кожного з них рівноймовірні. У режимі FN блоки розташовані не один за одним і вибір кожного з них не рівно ймовірний. В цьому випадку слід використовувати функцію і блок TRANSFER в режимі FN. У моделі для режиму FN це виглядатиме так:
FFF FUNCTION RN15,D5
0.3,Met1/0.45,Met2/0.65,Met3/0.82,Met4/1,Met5
GENERATE (Exponential(215,0,10))
TRANSFER FN,FFF
. . .
Met1. . .
Met2. . .
Met3. . .
Met4. . .
Met5. . .
Блок GENERATE генерує транзакти. При вході транзакта в блок TRANSFER обчислюється функція FFF з аргументом RN15. У даному прикладі значеннями функції є мітки блоків. Відповідно до вибраної мітки і проводиться безумовний перехід активного транзакта до блоку, поміченого цією міткою.
Функцію типу D можна використовувати в блоці GENERATE для генерування транзактів з дискретними довільними інтервалами. Наприклад:
MMM FUNCTION RN215,D4
.2,5.1/.48,8.3/.85,9.1/1,6.4
GENERATE FN$MMM
TERMINATE 1
Блок GENERATE генерує транзакти з інтервалами 5.1, 8.3, 9.1 і 6.4. Вірогідність їх появи складає 0.2, 0.28, 0.37 і 0,15. У цьому можна переконатися на приведеному прикладі, задаючи в команді START операнд А рівним 1, 2, 3, 4 і аналізуючи час завершення моделювання.
Так само функцію типу D можна застосовувати в блоці ADVANCE.
Часто необхідно блоком організувати на одному і тому ж ОКП або БКП обслуговування вимог з різними часовими характеристиками. В цьому випадку як аргумент функції можна використовувати який-небудь параметр транзакта. Наприклад:
AAA FUNCTION P1,D4
1,5.32/2,4.63/3,5.49/4,4.86
GENERATE FN$NNN
TERMINATE 1
ADVANCE FN$AAA
При вході активного транзакта в блок ADVANCE обчислюється функція з назвою AAA, аргументом якої є параметр Р1. Отриманий результат і використовується як час затримування.