
- •Моделювання систем
- •Передмова
- •Моделі процесів і систем
- •Класифікація моделей
- •Основні визначення та класифікація систем масового обслуговування
- •Характеристики систем масового обслуговування
- •Вхідний потік вимог
- •Стратегії керування потоками вимог
- •Класифікація систем масового обслуговування
- •Метод статистичних випробовувань
- •Генератори випадкових чисел
- •Моделювання випадкових подій та дискретних випадкових величин
- •Моделювання неперервних випадкових величин
- •Моделювання нормально-розподілених випадкових величин
- •Моделювання випадкових векторів
- •Моделювання випадкових функцій
- •Статистична обробка результатів моделювання
- •Визначення кількості реалізацій під час моделювання випадкових величин
- •Основне меню 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-критерію Ст’юдента
Функції типу e, l і м
Функція типу Е. Як відомо, в дискретній числовій функції типу D значення аргументу Х повинні бути типу Expression, а значення функції К –типу integer, real або Name. В дискретній атрибутивній функції типу Е аргумент Х також повинен бути типу Expression, а Y може бути типу integer, real, Name, СЧА або вираз в дужках. Наприклад:
Vibor FUNCTION P3,E4
1,V$Norrn1/7,V$Norm2/12,R$Usel/14,FN$Sprav
Функція типу Е обчислюється так само, як і функція типу D, з тією лише різницею, що після знаходження аргументу X обчислюється відповідний СЧА або вираз в дужках.
Функція типу L. У функції типу Е аргумент X може бути типу Expression, тобто після обчислення приймати будь-які значення. У списковій числовій функції типу L аргумент Х може бути тільки типу integer. Причому аргумент розглядається як порядковий номер. Значення функції – integer, real або Name. Наприклад:
Blok FUNCTION Q$Dlina,L5
1,Met1/2,Met2/3,Met3/4,Met4/5,Met5
За порядковим номером і знаходиться значення функції. Якщо в результаті обчислення аргумент менший за 1 або більший його заданого максимального значення, то відбувається зупинка відповідно до помилок “Недодатний аргумент списку функції” або “Аргумент спискової функції дуже великий”. Значення аргументу повинні починатися з 1 і збільшуватися на 1 для кожної наступної пари даних. Якщо аргумент матиме значення, що починається не з одиниці, а, наприклад, з двох, або буде нецілим, наприклад 1.5, тоді виникне помилка “Неприпустимий порядковий номер в списку”. В ході моделювання обчислене значення аргументу автоматично перетвориться в ціле, тому може мати нецілі значення.
Функція типу М. Значення спускової атрибутивної функції типу М може мати тип не тільки integer, real або Name, а також СЧА або вираз у дужках. Аргумент функції визначається цілим типом і розглядається як порядковий номер. Тому він має повинен починатися з 1 і зростати на 1 для кожної наступної пари даних. Наприклад:
Posl FUNCTION X$Kvart,M4
1, Q$Stan/2, V$Ter3/3, S$Usel/4, V$Zirk/5, FN$Susp
Функція М обчислюється аналогічно функції типу L, але після знаходження аргументу – порядкового номера обчислюється відповідний СЧА або вираз в дужках. Наприклад, при Х = 2 обчислюється арифметична змінна із назвою Ter3. При 1 > Х > 5 оголошуються відповідно помилки “Недодатний аргумент списку функції” і “Аргумент спискової функції є достатньо великий”.
Контрольні запитання і завдання
Які правила створення назв для ідентифікації об’єктів змінних і програм?
Розкрийте зміст локальних, глобальних змінних і матриць користувача. За допомогою яких операторів вони задаються? Наведіть приклади.
Яким чином можна задати і викликати експеримент, як спеціальний вид процедур? Чим вони між собою відрізняються?
Як будуються вирази в Plus-процедурах і які типи даних можуть мати їхні значення?
З яких елементів складаються вирази і за допомогою яких операторів і викликів процедур ці елементи об’єднуються? Наведіть приклади.
Яка специфіка використання Plus-операторів? В чому полягає відмінність з використанням операторів GPSS? Продемонструйте це на конкретних прикладах?
Які ви знаєте Plus-оператори? Охарактеризуйте їхнє призначення?
Які існують типи бібліотек? Наведіть приклади готових до використання в будь-якому Plus-виразі процедур з вбудованої бібліотеки.
За допомогою операторів мови Plus складіть процедуру для обчислення значення виразів:
,
,
якщо x = 1.25, y = 5.62, z = 0.45.
За допомогою операторів мови Plus протабулюйте функцію однієї змінної
на проміжку [4,5; 21] з кроком 1,5. a =1,35, b=8,4.
Здійснити моделювання випадкової величини, рівномірно розподіленої в інтервалі (0, 9).
За допомогою операторів мови Plus протабулюйте функцію
на проміжку [1, 8] з кроком 1.
Задано дійсне число x = 1.685 і ціле число n = 10. За допомогою операторів мови Plus розробіть програму для обчислення значення скінченої суми c = f[x,n] згідно з наведеним нижче математичним виразом.
Задано дійсне число x = 2.7 і цілі числа m = 10 і n = 10. За допомогою операторів мови Plus написати програму для обчислення значень елементів матриці
за заданою формулою
.
Визначити середнє, мінімальне та максимальне значення елементів масиву.
Задано дійсне число x = 5.8 і цілі числа m = 10 і n = 10. За допомогою операторів мови Plus написати програму для обчислення значень елементів матриці
за заданою формулою
Обчислити добуток елементів масиву.
За допомогою операторів мови Plus написати програму для обчислення значення матричного виразу 2.8 · АТ + В · (А – 0.5 · В).
Формули для обчислення значень елементів матриць А і В взяти із попередніх завдань.
Здійснити моделювання пуасонівського вхідного потоку із значенням інтенсивності, що дорівнює 7, протягом 12 годин. Одиниця модельного часу – 21 хвилина.
Навести фрагмент програми для моделювання процесу повідомлень на сервер, якщо інтервали часу між надходженнями розподілені за рівномірним законом на інтервалі [a, b] сек. Одиниця модельного часу – 1 сек.
За результатами випробувань випадкової величини, що наведена у табл. 8.4, визначити GPSS-функцію.
Таблиця 8.4
Значення випадкової величини |
Відносна частота |
Сумарна частота |
Діапазон |
Інтервал |
3 |
0.11 |
0.10 |
0.0 ... 0.14 |
1 |
8 |
0.23 |
0.25 |
0.14 ... 0.25 |
2 |
14 |
0.14 |
0.50 |
0.25 ... 0.55 |
3 |
22 |
0.20 |
0.60 |
0.55 ... 0.85 |
4 |
36 |
0.25 |
1.00 |
0.85 ... 1.0 |
5 |
Задати дискретну GPSS-функцію, наведену у табл. 8.5, та побудувати її графік. Навести фрагмент програми використання такої функції у блоці GENERATE.
Таблиця 8.5
Значення функції |
2 |
4 |
5 |
8 |
9 |
10 |
Ймовірність |
0.04 |
0.1 |
0.2 |
0.4 |
0.6 |
0.6 |
Задати дискретну GPSS-функцію, наведену у табл. 8.6, та побудувати її графік. Навести фрагмент програми використання такої функції у блоці GENERATE.
Таблиця 8.6
Значення функції |
6 |
10 |
12 |
14 |
18 |
25 |
Ймовірність |
0.1 |
0.05 |
0.04 |
0.3 |
0.3 |
0.1 |
Задати кусково-неперервну GPSS-функцію для моделювання випадкової величини, заданої у табл. 8.7. Аргументом функції є випадкове число, рівномірно-розподілене в інтервалі (0, 1), а в середині кожного інтервалу випадкова величина з однаковою ймовірністю приймає одне з цілих значень даного інтервалу.
Таблиця 8.7
Номер інтервалу |
1 |
2 |
3 |
4 |
Ймовірність |
0.6 |
0.3 |
0.2 |
0.1 |
Інтервал |
3-8 |
9-14 |
14-35 |
35-45 |
Змоделювати пуасонівський потік вимог з параметром 0,38 год–1 і з середнім значенням часу поступлення 29 хв.
Змоделювати пуасонівський потік вимог з параметром 0,8 одиниць/годину і з середнім значенням часу поступлення 5 діб.
“Якщо експеримент вдався, значить,
щось тут не так”
(перший закон Фінейгла)
Розділ 9
Технології моделювання у GPSS World
повний факторний експеримент
одно- та двофакторний дисперсійний аналіз
дисперсійний аналіз
технологія дисперсійного та регресійного аналізу у GPSS World
організація експериментів користувача у GPSS World
Існуючі технології GPSS World для проведення експериментів з імітаційними моделями, які дозволяють провести дисперсійний аналіз, регресійний аналіз та власний експеримент користувача. У GPSS World дисперсійний аналіз називається відсіюючим експериментом, а регресійний – оптимізуючим експериментом. Для проведення дисперсійного та регресійного аналізів у GPSS World вбудовані автоматичні генератори експериментів. Перед їх вивченням розглянемо основні поняття теорії планування експериментів.