
- •Моделювання систем
- •Передмова
- •Моделі процесів і систем
- •Класифікація моделей
- •Основні визначення та класифікація систем масового обслуговування
- •Характеристики систем масового обслуговування
- •Вхідний потік вимог
- •Стратегії керування потоками вимог
- •Класифікація систем масового обслуговування
- •Метод статистичних випробовувань
- •Генератори випадкових чисел
- •Моделювання випадкових подій та дискретних випадкових величин
- •Моделювання неперервних випадкових величин
- •Моделювання нормально-розподілених випадкових величин
- •Моделювання випадкових векторів
- •Моделювання випадкових функцій
- •Статистична обробка результатів моделювання
- •Визначення кількості реалізацій під час моделювання випадкових величин
- •Основне меню 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-критерію Ст’юдента
Основні етапи моделювання у системі gpssw
Система GPSS World є універсальним середовищем моделювання систем масового обслуговування. За її допомогою можна ефективно моделювати як виробничі, так і невиробничі процеси. Система GPSS World має значний набір команд для керування процесом моделювання, зокрема в інтерактивному режимі. Вона забезпечує можливість проведення згенерованих системою експериментів та візуалізацію процесу функціонування моделі.
Імітаційна модель системи масового обслуговування відображає поведінку, функціонування та зміну стану системи для заданих потоків вхідних вимог. Вихідними параметрами є величини, що характеризують властивості системи, якість її функціонування.
Технологія моделювання систем у GPSS World передбачає виконання основних взаємопов’язаних етапів:
постановка задачі комплексного моделювання системи;
аналіз задачі та визначення параметрів і змінних моделі;
створення імітаційної моделі процесу;
реалізація імітаційної моделі в системі GPSSW;
моделювання системи, аналіз та інтерпретація результатів моделювання.
На першому етапі формулюється змістовний опис процесу моделювання та складових досліджуваного процесу. Здійснюється перехід від конгнітивної моделі до основних завдань і цілей процесу моделювання. Дослідження найрізноманітніших систем і процесів методом імітаційного моделювання полягає у визначенні подій, що відбуваються в системі. Тому доцільно здійснити формалізацію процесу функціонування системи й виділити в ньому характерні події.
На другому етапі здійснюють аналіз причинно-наслідкових зв’язків окремих елементів моделі і системи у цілому. Такий аналіз дозволяє за наявності статистичних даних виявити основні особливості системи, а саме:
характер функціонування (система неперервна або дискретна);
потоки надходження вимог (регулярні, випадкові або змішані);
надходження числа вимог (ординарний або неординарний потоки);
характер взаємодії вимог (із післядією або ні);
характер поведінки вимог (з відмовами, з обмеженим очікуванням або з очікуванням без обмеження);
спосіб вибору вимог на обслуговування (із пріоритетом, у міру надходження, правила обслуговування);
час обслуговування вимог (детермінований або випадковий);
число каналів обслуговування (одноканальна або багатоканальна);
число фаз обслуговування (однофазна або багатофазна);
однорідність вимог обслуговування (однорідні й неоднорідні);
На цьому етапі варто визначити тривалість моделювання системи, одиницю модельного часу, вибрати способи подання тих або інших даних. Тут же здійснюється декомпозиція складного процесу моделювання на ряд простих сегментів. Необхідно максимально використовувати вбудовані процедури системи GPSSW. Це значно спрощує процес побудови й дослідження моделі.
Тепер перейдемо до створення імітаційної моделі процесу. На цьому етапі необхідно детально викласти всі дії, пов'язані з функціонуванням тої або іншої системи. Потрібно вказати, як вхідна інформація буде використана відповідними операторами системи.
Процес моделювання починається зі створення вихідної моделі мовою імітаційного моделювання GPSSW з використанням операторів GPSS, процедур мови програмування PLUS та PLUS-експериментів. Одним із способів моделювання є використання і модернізація існуючих моделей. У папці C:\Program Files\Minuteman Software\GPSS World Student Version\Samples Models є великий набір типових прикладів для навчання моделюванню. Інструкції до моделей можуть бути в декількох текстових об'єктах. Для звертання до текстового об'єкта в моделі використовується оператор INCLUDE, далі йде назва текстового файлу з розширенням .txt, яке записується в подвійних лапках.
Розглянемо процес створення моделі за допомогою компілятора системи GPSSW. Для введення операторів моделі використовується текстовий редактор, який викликається командами File → New головного меню і відкриває меню вибору об’єкта (рис.6.1)
Рис. 6.1. Вибір об’єкта моделювання
Для створення об’єкту вибираємо Model. Відкриється вікно текстового редактора (рис.6.2).
Введення операторів у вікно текстового редактора здійснюється традиційним способом з використанням команд головного меню, зміни параметрів шрифта (File → Font) та копіювання тексту (Edit → Copy, Edit → Paste). Для вирізання, копіювання та вставлення виділених фрагментів тексту використовуються клавіші Ctrl + X, Ctrl + C, Ctrl + V.
Можна також скористатися вікном Insert GPSS Blocks (вставити блок GPSS) і вікнами створення блоків. Для цього вибираємо Edit → Insert GPSS Blocks. В отриманому вікні (рис.6.3) вибираємо необхідний блок, наприклад, GENERATE. Активізацією лівої кнопки „миші” відкривається вікно для створення блоку GENERATE з курсором в операнді А (рис. 6.4).
Рис. 6.2. Вікно текстового редактора
Для заповнення значень інших операндів використовується клавіша Tab або курсора миші. Для внесення змін у текст використовуються також опції меню Edit. Повернення файла до свого попереднього стану здійснюється пунктом меню Undo (Ctrl+Z). Команди Delete Line (Ctrl+D) та Insert Line (Ctrl+J) знищує та створює новий рядок відповідно. Команда Search також використовується для редагування тексту, а команда Find → Replace здійснює заміну тексту.
Для зберігання об’єкта моделювання вибираємо команди File → Save As…. У відкритому вікні замість Untitled вказуємо вибрану назву та активізуємо Save (Ctrl+S). Для відкривання цієї моделі або якої-небудь іншої використовуємо послідовність команд: команди File → Open (Ctrl+О) → “Назва файлу” → Ok.
Компіляцію вихідної моделі можна виконати двома способами.
Перший спосіб: активізація пункту Command головного меню, що призведе до відкривання меню, у якому активізуємо пункт Create Simulation або Retranslate. Відкриється вікно JOURNAL, у якому вказуються дата й час початку і закінчення компіляції вихідної моделі.
Другий спосіб: виконання комбінації клавіш Ctrl+Alt+S для компіляції або Ctrl+Alt+R для рекомпіляції програми.
Рис. 6.3. Вікно блоків GPSS
Для виявлення в програмі синтаксичних помилок та їх виправлення необхідно скористатися командою Search → Next Error (Пошук → Наступна помилка).
Після виконання цих дій курсор мишки щоразу встановлюється на черговій помилці. Ці дії проводяться поки, доти не будуть усунуті всі виявлені помилки. Команда Search → Previous Error (Пошук → Попередня помилка) (Ctrl+Alt+Р) дозволяє переглянути список виявлених компілятором помилок.
Рядок з помилкою можна знайти самостійно за допомогою послідовності команд Search → GoToLine (Пошук → Перейти до рядка) (Ctrl+Alt+G).
Після виправлення усіх помилок виконується компіляція. Її можна також виконати командою Command → Retranslate (Команда → Повторна компіляція) (Ctrl+Alt+R). У вікні JOURNAL буде виведено повідомлення про відсутність помилок.
Розглянемо завершальний етап моделювання системи. Для виконання процесу моделювання вибираємо Command головного меню та команду START. Відкриється діалогове вікно Start Command, у якому визначається режим моделювання. Після активізації кнопки ОК відкриється вікно JOURNAL, у якому вказуються дата і час початку й закінчення процесу моделювання відкомпільованої моделі, а потім – вікно REPORT з результатами імітаційного моделювання.
Рис. 6.4. Вікно створення блоку GENERETE
Таким чином, встановлення необхідних настанов для моделювання систем у GPSSW здійснюється у такий спосіб:
використовуючи найбільш загальні команди пункту Command головного меню;
виконати команду Command Custom (Команда – Ввести) головного меню. Відкриється діалогове вікно Simulation Command, у якому можна ввести будь-яку інструкцію для моделювання, навіть PLUS-процедуру, і відіслати її існуючому об'єкту моделювання;
використовуючи набір функціональних клавіш з власним набором команд. Це можна зробити через пункти головного меню Edit і підменю Settings у головному вікні системи. Після натискання відповідної функціональної клавіші об'єкту моделювання посилається певна команда.
Модернізація вихідної моделі. Для модернізації вихідної моделі необхідно активізувати вікно з даною моделлю. Для цього виконуємо команду Window головного меню. У меню, що розкрилося, активізуємо назву файлу, що містить вихідну модель.
Якщо частину вікна з вихідною моделлю видно в головному вікні системи, до нього можна повернутися за допомогою “мишки”.
Налагодження моделі. Для налагодження моделі або спостереження за процесом моделювання використовуються засоби візуалізації системи GPSSW у вигляді графічних вікон, які поділяються за типами об’єктів. Вікна PLOT (Графік) і EXPRESSIONS (Вирази) дозволяють візуалізувати будь-які вирази PLUS. За допомогою вікна PLOT одночасно можна отримувати до восьми графіків, які можна масштабувати. Вікно TABLE дає можливість візуалізувати процес побудови гістограм.
Вікно BLOCKS (Блоки) описують входження транзактів у блоки і дозволяють відслідковувати їх рух по блоках моделі.
Інші вікна FACILITIES (Пристрої), LOGICWITCHES (Логічні ключі), MATRIX (Матриця), QUEUES (Черги), SEVEVALUES (Комірки), STORAGES (Ємності) призначені для отримання більш детальної інформації про стан моделювання системи. Перехід до загального огляду вікна здійснюється за допомогою команди View → Entity Details.
У GPSSW також доступні вікна відображення стану системи: списків майбутніх подій (CEC/FEC Snapshot), окремого транзакта (Transaction Snapshot), числових груп (Numeric Groups Snapshot), груп транзактів (Transaction Groups Snapshot), списків користувача (Userchains Snapshot).