
- •Моделювання систем
- •Передмова
- •Моделі процесів і систем
- •Класифікація моделей
- •Основні визначення та класифікація систем масового обслуговування
- •Характеристики систем масового обслуговування
- •Вхідний потік вимог
- •Стратегії керування потоками вимог
- •Класифікація систем масового обслуговування
- •Метод статистичних випробовувань
- •Генератори випадкових чисел
- •Моделювання випадкових подій та дискретних випадкових величин
- •Моделювання неперервних випадкових величин
- •Моделювання нормально-розподілених випадкових величин
- •Моделювання випадкових векторів
- •Моделювання випадкових функцій
- •Статистична обробка результатів моделювання
- •Визначення кількості реалізацій під час моделювання випадкових величин
- •Основне меню 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-критерію Ст’юдента
Інтерактивні можливості gpss World
Важливим аспектом використання GPSSW є можливість моделювання систем в інтерактивному режимі. Це дозволяє ввести в модель будь-який оператор безпосередньо в процесі моделювання. Єдиним винятком є оператор GENERATE.
Для моделювання в інтерактивному режимі необхідно мати діючу вимогу. Її можна одержати за допомогою команди STOP для переривання процесу моделювання. Ця команда реєструє стан системи моделювання, коли вимога намагається ввійти в будь-який блок.
Використання інтерактивного режиму моделювання розглянемо на конкретному прикладі.
Досліджується робота ділянки цеху для оброблення деталей, які надходять з інтервалом 53±5 одиниць часу з рівномірним законом розподілу. Відомий час оброблення деталей. Він коливається в межах 49±7 одиниць часу з рівномірним законом розподілу. Потрібно визначити параметри функціонування системи.
Нехай імітаційна модель наведена у вікні редактора (рис.6.5).
Рис. 6.5. Імітаційна модель ділянки цеху
Для компілювання моделі виконаємо наступні дії: Command → Create Simulation (Створити виконувану модель). Відкриється вікно JOURNAL з повідомленнями про результати компіляції (рис. 6.6).
Рис. 6.6. Вікно JOURNAL для імітаційної моделі
Оскільки на даний момент активним стає вікно JOURNAL, тому воно перекриває вікно моделі.
Для відкриття діалогового вікна BLOCK ENTITIES (Блокові елементи) виконуються наступні дії: Window → Simulation Window (Вікно моделювання) → Blocks Window (Вікно блоків) → BLOCK ENTITIES.
У діалоговому вікні BLOCK ENTITIES (рис. 6.7) двічі активізуємо перший блок GENERATE і кнопку Place (Розмістити) на панелі інструментів у верхній частині діалогового вікна.
Рис. 6.7. Діалогове вікно BLOCK ENTITIES
Тут розміщені такі кнопки:
Find (Знайти);
Continue (Продовжити процес моделювання після його зупинення);
Halt (Перервати) – перервати процес моделювання;
Step (Крок) – зробити один крок і зупинити процес моделювання;
Place (Розмістити) – розмістити умову зупинки у вказаному блоці;
Remove (Видалити) – видалити умову зупинки у вказаному блоці.
Для моделювання системи виконують наступні дії: Command → START. Відкриється діалогове вікно Start Command, показане на рис. 6.8. Замість 1 вводиться необхідне число деталей, які передбачається обробити на ділянці цеху, наприклад, 1000. Натискаємо кнопку ОК.
Рис. 6.8. Діалогове вікно Start Command
Для перегляду повідомлень у вікні JOURNAL активізуємо пункт Window головного меню. Відкриється меню, зображене на рис. 6.9.
Рис. 6.9. Меню пункту Window головного меню
У нижній частині меню повідомляється, що на даний момент у системі GPSSW відкриті три вікна:
STANOK – вікно моделі під іменем STANOK;
STANOK.9.sim – JOURNAL для моделі під іменем STANOK з повідомленнями, які мають розширення .sim;
STANOK.9:2 - BLOCK ENTITIES для моделі STANOK.
Перед назвою останнього вікна стоїть прапорець (у цей момент воно є активним). За допомогою мишки можна активізувати будь-яке відкрите вікно.
Активізуємо назву другого вікна – STANOK.9.sim – JOURNAL. Відкриється вікно з повідомленням про зупинку моделювання (на рис. 6.10).
Для створення активної вимоги повернемося до діалогового вікна BLOCK ENTITIES. Виконаємо команди GENERATE → Remove (на панелі інструментів).
Рис. 6.10. Вікно JOURNAL з повідомленням про зупинення моделі
Створеній активній вимозі можна присвоїти назву й значення. Для цього виконаємо команди Command → Custom (Замовити). Відкриється діалогове вікно Simulation Command, у якому вводиться оператор ASSIGN, наприклад, у вигляді, представленому на рис. 6.11. Натискаємо кнопку ОК.
Тепер активна вимога має параметр з іменем Zatraty, що містить задане значення.
Рис. 6.11. Діалогове вікно Simulation Command
Для перегляду всіх параметрів цієї вимоги, у тому числі і для введеного параметра з назвою Zatraty, виконуються наступні дії: Window → Simulation Snapshot (Стоп-кадр моделювання). У меню, що відкрилося, активізуємо пункт СЕС Snapshot. Відкриється вікно CURRENT EVENTS CHAIN SNAPSHOT (Стоп-кадр списка поточних подій), яке може виглядати так, як показано на рис. 6.12. Тепер вікно можна закрити.
Переглянути значення параметра активного транзакта можна також за допомогою команди SHOW (Показати). Для цього потрібно виконати: Command → SHOW. З’явиться діалогове вікно Show Command (Показати команду), у якому вводиться назва активної вимоги – Р$Zatraty. (рис. 6.13).
Рис. 6.12. Стоп-кадр ланцюга поточних подій в моделі
Активізуємо кнопку ОК. Значення параметра Р$Zatraty з'явиться у вікні JOURNAL і в рядку стану в нижній частині головного вікна системи GPSSW. Тепер активізуємо вікно JOURNAL за допомогою пункту Window головного меню. Відкриється вікно із фіксацією введеного значення нового параметра вимоги (рис. 6.14).
Рис. 6.13. Діалогове вікно Show Command
Для включення індикатора сліду активної вимоги використовується оператор TRACE (Трасувати). Для цього виконаємо: Command → Custom. Відкриється діалогове вікно Simulation Command, у якому вводиться оператор TRACE. Натискаємо кнопку ОК. Отримаємо додаткове повідомлення у вікні JOURNAL (Журнал) з фіксацією часу й номеру вимоги.
Рис. 6.14. Вікно JOURNAL для моделі
Для продовження моделювання виконаємо команди: Command → Continue. Процес моделювання продовжиться. Відкриється змінене вікно JOURNAL (рис. 6.15), у якому кожний вхід у блок TRACE закінчується слідом, тому що індикатор сліду вимоги включений.
Система GPSSW може також викликати командні файли, що складаються з інструкцій INITIAL або інших команд. Це можна виконати або в інтерактивному режимі, ввівши у діалоговому вікні Custom Command (Замовлені команди) команду INCLUDE (Включити), або поміщаючи інструкції в модель.
Рис. 6.15. Змінене вікно JOURNAL для моделі
Нехай програма з назвою STANOK_1.GPS виглядає так, як зображено на рис. 6.16.
Рис. 6.16. Програма моделювання STANOK_1
Для того, щоб змінити значення двох величин, що зберігаються в X1 і Х2, потрібно створити текстовий файл, у якому будуть перебувати їхні нові значення. Активізуємо кнопку New на стандартній панелі інструментів. Відкриється діалогове вікно Новий документ (рис. 6.1). У ньому активізуємо опцію Text File (Текстовий файл), а потім ОК.
Відкриється вікно з назвою Untitled Text File 1 (Неіменований текстовий файл 1). У цьому вікні вводяться початкові значення (рис. 6.17).
Рис. 6.17. Текстове вікно Untitled Text File 1
На стандартній панелі інструментів активізуємо кнопку Save, що призведе до відкриття діалогового вікна Зберегти як (рис. 6.18). У ньому вводимо у поле Назва файла, наприклад STANOK_1, вибираємо Тип файлу –Text File (*.txt) і натискаємо кнопку Зберегти.
Рис. 6.18. Діалогове вікно Зберегти як
Тепер можна переходити до використання текстового файлу. Для цього виконуємо команди Command → Create Simulation (Створити виконувану модель). Відкриється вікно JOURNAL з повідомленнями про результати компіляції. Дальше Command → Custom. Відкриється діалогове вікно Simulation Command, яке зображене на рис. (6.19). Натискаємо кнопку ОК. З’явиться вікно JOURNAL з повідомленням про результати включення текстового файлу, яке виглядає так:
INCLUDE "Stanok_1.txt"
Рис. 6.19. Діалогове вікно Simulation Command
Операцію завершуємо командами: Command → Retranslate (Перекомпілювати).
Тепер можна переходити до моделювання процесу із уже новими початковими значеннями вхідних величин. Текстовий файл можна ввести безпосередньо у вихідну модель.