
- •Моделювання систем
- •Передмова
- •Моделі процесів і систем
- •Класифікація моделей
- •Основні визначення та класифікація систем масового обслуговування
- •Характеристики систем масового обслуговування
- •Вхідний потік вимог
- •Стратегії керування потоками вимог
- •Класифікація систем масового обслуговування
- •Метод статистичних випробовувань
- •Генератори випадкових чисел
- •Моделювання випадкових подій та дискретних випадкових величин
- •Моделювання неперервних випадкових величин
- •Моделювання нормально-розподілених випадкових величин
- •Моделювання випадкових векторів
- •Моделювання випадкових функцій
- •Статистична обробка результатів моделювання
- •Визначення кількості реалізацій під час моделювання випадкових величин
- •Основне меню 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-критерію Ст’юдента
Команда integrate і блок integration для моделювання неперервних систем
GPSS World дозволяє створювати неперервні або дискретно-неперервні моделі. У таких моделях динаміка зміни стану оцінюється похідними за часом. Для розв’язування системи звичайних диференціальних рівнянь будь-якого порядку в GPSS World використовується команда INTEGRATE і блок INTEGRATION. Інтегрування здійснюється модифікованим методом Рунге-Кутта-Фехлберга п'ятого порядку зі змінною довжиною кроку (RKF4(5)).
Команда INTEGRATE встановлює інтегрування диференціальних рівнянь і граничні значення змінної. Формат команди:
Name INTEGRATE А,[В],[С],[D],[Е]
де Name – назва змінної користувача; операнд А – похідна змінної користувача за часом; операнд В – перше граничне значення змінної; операнд С вказує мітку блоку, куди спрямовується згенерований транзакт у випадку перевищення змінною першого граничного значення у будь-якому напрямку; операнд D – друге граничне значення змінної; операнд Е – мітка блоку, куди спрямовується згенерований транзакт у випадку перевищення змінної другого граничного значення у будь-якому напрямку.
Рис. 8.4. Фрагмент повідомлень трасування моделі
Команда INTEGRATE може мати нуль, один або два граничних значення (пороги).
Операнди В і С використовуються разом або зовсім не використовуються. Це також стосується і використання операндів D i E.
Досягнення змінних користувача у процесі моделювання першого або другого граничних значень зумовлює створення нового транзакта з пріоритетом „0”, який переходить у блоки, помічені операндами С, Е.
Операнди А, В і D можуть бути іменем, числом, рядком, виразом у дужках або СЧА, а також викликами Plus-процедур.
Таким чином, змінні, що інтегруються безперервно, можуть використовуватися й у дискретній частині процесу моделювання, а також для зміни граничних значень.
Приклад 1.
у_ INTEGRATE (x_^2 # y_+ SQR(x_^2 + y_^2))
х_ EQU 1
у_ EQU 1
Приклад визначає однорідне диференціальне рівняння першого порядку
з початковими умовами x0=1, y0=1.
Вираз в команді INTEGRATE використовується як похідна за часом. Початкові умови змінних задаються командами EQU.
Позначення зі знаком підкреслення використовуються для того, щоб введені позначення випадково не збіглися зі СЧА.
Приклад 2.
х_ INTEGRATE (y_),0.8,Mitkal
у_ INTEGRATE (–x_)
х_ EQU 1
у_ EQU 0
Приклад визначає систему двох звичайних диференціальних рівнянь з розв’язком х = cosy і у = – sinx. Для змінної користувача х_ задається граничне значення. Коли змінна перетинає значення 0,8 у будь-якому напрямку, створюється новий транзакт і скеровується в блок з міткою Mitkal.
Таким чином, для налаштування інтегрування
диференціального рівняння
необхідно:
командою INTEGRATЕ оголосити змінну Y_ , а вираз для похідної записати у дужках
Y_ INTEGRATE (f())
змінній Y_ та усім змінним, які входять у вираз , присвоїти початкові значення за допомогою оператора EQU або операторів присвоювання PLUS-процедур.
Приклад 3.
Якщо у неперервних моделях використовуються диференціальні рівняння вищих порядків, то їх необхідно записати у вигляді системи диференціальних рівнянь першого порядку. Нехай маємо
Введенням нових змінних це диференціальне рівняння третього порядку можна записати у вигляді системи трьох диференціальних рівнянь першого порядку:
Відповідно у GPSS World маємо
Y_ INTEGRATE U
U_ INTEGRATE V
V_ INTEGRATE ((5/30)#U_– (6/30)#Y_)
Y_ EQU 5.0
U_ EQU 1.0
V_ EQU 1.0
Початкові значення для U_, V_, Y_ задаються оператором EQU відповідно до початкових умов моделювання систем.
Блок INTEGRATION призначений для того, щоб розпочати або завершити процес інтегрування змінної користувача. Формат блоку:
INTEGRATION А,[В]
де операнд А – назва змінної користувача, заданої командою INTEGRATE; операнд В вказує на стан процесу інтегрування і приймає значення ON або OFF. За замовчуванням – ON.
Приклади:
INTEGRATION Shvudkist
INTEGRATION Shvudkist,OFF
У першому прикладі процес інтегрування за часом змінної користувача Shvudkist активізується з входженням транзакта в блок INTEGRATION. У другому прикладі вхід активного транзакта в блок INTEGRATION зупиняє процес інтегрування змінної користувача Shvudkist. Процес інтегрування буде продовжений тоді, коли буде включений стан ON.
Моделювання протікає в неперервній і дискретній фазах, що чергуються. Під час дискретної фази модельний час не змінюється. Між такими моментами процес моделювання протікає в неперервній фазі. Протягом цієї фази через невеликі збільшення значення модельного часу відбувається інтегрування.
Процес моделювання переходить з неперервної фази у дискретну тоді, коли при досягненні змінною граничного значення генерується транзакт. Таким чином, неперервна й дискретна фази взаємозалежні. У дискретній фазі змінним користувача, навіть якщо вони інтегруються, можуть бути задані нові значення. Це можна зробити за допомогою команди EQU або Plus-операторів присвоєння.
Допустиме значення похибки інтегрування встановлюється на сторінці Simulation (Моделювання) задаванням необхідного значення в полі Integration Tolerance (Допустиме відхилення інтегрування). За замовчуванням це значення дорівнює –10-6.