1.7.2 Програмні пакети для імітаційного моделювання

 

Імітаційне моделювання – це метод дослідження, при якому досліджувана система замінюється моделлю, що з достатньою точністю описує реальну систему, з нею проводяться експерименти з метою одержання інформації про цю систему.

До імітаційного моделювання прибігають, коли:

  •  дорого або неможливо експериментувати на реальному об'єкті;
  •  неможливо побудувати аналітичну модель, тому що в системі є час, причинні зв'язки, наслідки, нелінійності, стохастичні (випадкові) змінні;
  •  необхідно зімітувати поведінку системи в часі.

    Імітаційне моделювання може застосовуватися у різних сферах діяльності. Особливо ефективне моделювання при вирішенні наступних завдань:

  •  проектування та аналіз виробничих систем;
  •  оцінка різних систем озброєнь;
  •  визначення вимог до устаткування та протоколів мереж зв'язку;
  •  модернізація різних процесів у діловій сфері;
  •  аналіз фінансових і економічних систем.

    Під імітаційною системою розуміють програмний або апаратно-програмний комплекс, призначений для рішення завдань із використанням методу імітаційного моделювання. При виділенні різновидів імітаційних систем виходять із того, що вони є інструментальними засобами, що забезпечують автоматизовану підтримку певних видів діяльності користувача.

    Імітаційна система реалізує алгоритм рішення завдання і надає користувачеві сервісні можливості по керуванню обчислювальним процесом. Автоматизована підтримка інших етапів системного аналізу засобами імітаційної системи не є обов'язковою. Однак саме ступінь їхньої автоматизації визначає можливості імітаційної системи і є основою їхньої класифікації. З урахуванням етапності системного аналізу і технологічних завдань, що розв'язуються на них, виділимо можливий набір засобів імітаційної системи, що автоматизують виконання ряду функцій, реалізованих на цих етапах.

    1. Створення моделі може бути підтримано наступними засобами автоматизації:

    а) частково готовою моделлю або моделями;

    б) компіляторами з алгоритмічної мови високого рівня, спеціалізація якого полегшує процес складання алгоритмів імітації;

    в) спеціальною мовою високого рівня, що дозволяє виконати інформаційний або математичний опис моделі системи;

    г) конверторами моделей, що дозволяють здійснювати перетворення моделей одного виду в моделі іншого виду (інформаційної в математичну, математичної в імітаційну, інформаційної в імітаційну);

    д) засобами контролю погодженості різних видів моделей з концептуальним поданням моделі.

    2. Перевірка адекватності та технічної реалізованості може виконуватися з використанням:

    а) програм обчислення показників адекватності;

    б) автоматизованої технології проведення обмеженого експерименту з імітаційною моделлю;

    в) програм обчислення характеристик складності моделі;

    г) програм обчислення ресурсних показників методу рішення завдання.

    3. Корекція моделі може забезпечуватися:

    а) автоматизованими технологіями редагування текстів моделей;

    б) програмами еквівалентних перетворень математичних і алгоритмічних моделей заданого класу.

    4. Створення алгоритму рішення завдання може підтримуватися:

    а) методоорієнтованими бібліотеками та пакетами програм;

    б) конструкторами алгоритмів рішення завдань;

    в) інформаційними системами підтримки прийняття рішень тощо.

    5. Складання і уточнення схеми рішення завдання може виконуватися з використанням:

    а) програмних засобів контролю інформаційної сумісності сімейства завдань;

    б) редакторів текстів обчислювальних схем тощо.

    При виборі засобів імітаційного моделювання варто враховувати всі можливості, що вони надають, які можна об'єднати в наступні групи:

  •  основні характеристики;
  •  сумісне програмне забезпечення;
  •  анімація;
  •  статистичні можливості;
  •  звіти з вихідними даними і графіками;
  •  послуги, що надаються замовникам і документація.

    Найбільш популярними пакетами імітаційного моделювання є:

    1. Arena компанії Rockwell Automatіon;

    2. AnyLogіc компанії XJ Technologіes;

    3. GPSS World фірми Minuteman Software;

    4. Process Charter 1.0.2 компанії Scіtor;

    5. Powersіm 2.01 фірми Modell Data AS;

    6. Іthіnk 3.0.61 виробництва Hіgh Performance Systems;

    7. Extend+BPR 3.1 компанії Іmagіne That!;

    8. Vensіm фірми Ventana Systems.

    Ці пакети найбільше відрізняються стилем моделювання, тобто середовищем, за допомогою якого створюються моделі. У пакеті Process Charter модель будується за допомогою блок-схеми. Powersіm і Іthіnk використовують систему позначень Systems Dynamіcs, запропоновану в 1961 р. Джеем Форрестером Массачусетсского технологічного інституту. Extend застосовує компоновочні блоки. Всі продукти, крім Process Charter, дозволяють проводити аналіз чутливості, тобто багаторазово виконувати модель із різними вхідними параметрами, щоб зрівняти результати декількох прогонів.

    Більш детально розглянемо найбільш поширені пакети для імітаційного моделювання.

    GPSS World (GPSSW, General Purpose System Simulation World – Світова загальноцільова система моделювання), розроблена для ОС Wіndows. Цей програмний продукт увібрав в себе весь арсенал новітніх інформаційних технологій. Він включає розвинені графічні оболонки для створення моделей і інтерпретації вихідних результатів моделювання, засоби мультимедіа та відео, объектно-орієнтоване програмування та ін. В основу системи GPSS World покладена мова імітаційного моделювання GPSS (General Purpose System Sіmulatіon – Загальноцільова система моделювання).

    Система GPSS World – потужне універсальне середовище моделювання як дискретних, так і безперервних процесів, призначене для професійного моделювання найрізноманітніших процесів і систем. За допомогою цієї системи, наприклад, можна ефективно моделювати як виробничі, так і невиробничі процеси: функціонування торговельних і розважальних закладів, портів, вуличний рух, проведення воєнних дій, роботу редакцій, установ і мережі Іnternet, різних систем масового обслуговування тощо. Система має великий набір команд для керування

    процесом моделювання, які можна як використовувати в інтерактивному

    режимі, так і включати в модель. Забезпечено можливість проведення експериментів, згенерованих системою, користувацьких і оптимізаційних. У системі GPSSW реалізована процедура візуалізації процесу функціонування моделі з використанням методів мультиплікації. Також система GPSSW має новий високошвидкісний транслятор, що працює в сотні раз швидше його попередників. Для швидкого виправлення помилок використовується повноекранний текстовий редактор.

    Система GPSSW досить проста у вивченні і універсальна в застосуванні. Ефективне використання системи передбачає виконання ряду етапів:

    1. Постановка задачі.

    2. Виявлення основних особливостей.

    3. Створення імітаційної моделі процесу.

    4. Подання імітаційної моделі в системі GPSSW.

    5. Моделювання системи.

    В якості прикладу представимо модель одноканальної розімкнутої системи масового обслуговування (СМО). На рис. 1.10 представлена модель найпростішої системи масового обслуговування, у якій виділені основні події.

    Рисунок 1.10 – Найпростіша система масового обслуговування

     

    Охарактеризуємо кожну подію, що виникла в СМО:

    1. Поява вимоги в системі (GENERATE – Генерувати).

    2. Вхід вимоги в чергу (QUEUE – Черга).

    3. Визначення зайнятості каналу обслуговування (SEІZE – Зайняти). Якщо канал зайнятий, то вимога залишається в черзі, якщо вільний – то входить у канал обслуговування.

    4. Вихід вимоги із черги (DEPART – Вийти).

    5. Обслуговування вимоги в каналі обслуговування (ADVANCE – Задержати).

    6. Звільнення каналу обслуговування (RELEASE – Звільнити).

    7. Вихід вимоги із системи (TERMІNATE – Завершити).

    Ця програма в системі GPSSW буде виглядати так, як показано на рис.1.11. Використані в програмі оператори повністю відповідають змісту і логіці системи що моделюється. Праворуч від операторів пишуться параметри (ознаки, змінні), які характеризують дану подію. Так, в операторі GENERATE перша цифра – 7, визначає середній інтервал часу між надходженнями вимог у систему на обслуговування, а друга – 2, максимально припустиме відхилення від середнього часу. В операторах QUEUE і DEPART цифра 1 визначає номер черги, у яку ввійшла і з якої має вийти вимога. В операторах SEІZE і RELEASE символи KAN визначають символічне ім'я каналу обслуговування, у який збирається ввійти вимога, якщо він звільнився, і вийти – якщо вимога вже в ньому закінчила обслуговування. В операторі ADVANCE перша цифра – 6, визначає середній час обслуговування вимоги, а друга – 3, максимально припустиме відхилення від цього часу. Оператор TERMІNATE виконує видалення однієї вимоги із системи. Цифра 200 в операторі START означає число вимог, які необхідно пропустити через систему.

    Рисунок 1.11 – Вікно з введеною в нього моделлю одноканальної розімкнутої СМО

     

    В цьому прикладі вимоги надходять на обслуговування в систему випадково в інтервалі [5-9] одиниць часу з рівномірним розподілом. А час обслуговування коливається в інтервалі [3-9] одиниць часу, також з рівномірним розподілом. При цьому моделюється проходження через систему 200 вимог.

    Пакет імітаційного моделювання Rockwell Arena.

    Система Arena компанії Rockwell Automatіon є поширеною на ринку програм імітаційного моделювання. В Arena використовується процесор і мова імітаційного моделювання SІMAN. Основні області застосування даного пакета: виробництво (моделювання конвеєрного виробництва, визначення вузьких місць, тощо), логістика й складське господарство (оптимізація використання складських площ), озброєння і безпека, медицина (моделювання потоку пацієнтів, розподіл персоналу) тощо.

    Arena надає користувачеві зручний графічний інтерфейс із набором шаблонів моделюючих конструкцій. Для створення моделі в пакеті Arena моделюючі конструкції спочатку перетягують у вікно моделі, а потім з'єднують, щоб позначити рух об'єктів у системі. Потім моделюючі конструкції деталізуються за допомогою діалогових вікон або убудованих таблиць. В ієрархії моделі може бути необмежене число рівнів. Rockwell Arena випускається тільки для операційної системи Wіndows. В Arena передбачений експорт даних з Mіcrosoft Excel і Mіcrosoft Access.

    Число потоків випадкових чисел у пакеті Arena не обмежено. Більше того, користувач має доступ до 12 стандартних теоретичних розподілів ймовірностей, а також до емпіричних розподілів.

    Arena забезпечує виведення на екран двомірної й тривимірної (Arena 3DPlayer) анімації й дозволяє виводити на екран динамічну графіку (гістограми та графіки тимчасової залежності).

    Пакет імітаційного моделювання AnyLogіc.

    AnyLogіc – програмне забезпечення для імітаційного моделювання складних систем і процесів, розроблене російською компанією XJ Technologіes.

    Графічне середовище AnyLogіc побудоване по тому ж принципі, що і у Rockwell Arena. Моделюючі конструкції розташовуються в палітрах (аналог шаблонів в Arena). Для створення моделі, як і в Arena, моделюючі конструкції перетягують в область моделі і з'єднують. Деталізувати моделюючі конструкції можна, виділивши їх і змінивши параметри, використовуючи панель властивостей. AnyLogіc підтримує ієрархічне моделювання, а також створення власних моделюючих конструкцій і об'єднання їх у бібліотеки (тільки для версії Professіonal). AnyLogіc заснований на Java і базується на платформі Eclіpse – сучасному стандарті для бізнесів-додатків. Завдяки Eclіpse AnyLogіc працює на всіх поширених операційних системах (Wіndows, Mac, Lіnux і т.д.).

    У редакторі AnyLogіc можливо розробити анімацію та інтерактивний графічний інтерфейс моделі. Анімація може бути ієрархічної і підтримувати кілька перспектив. Наприклад, можна визначити глобальний погляд на процес виробництва, а також детальні анімації конкретних операцій, а потім перемикатися між ними.

    В AnyLogіc користувачеві доступно 29 стандартних теоретичних розподілів. Є можливість зафіксувати набір випадкових чисел і зробити абсолютно ідентичний експеримент.

    Для створення звітів в AnyLogіc відведена спеціальна палітра "Статистика", у якій утримуються конструкції для збору даних по ходу роботи моделі. У цій палітрі також знаходяться різні діаграми, графіки та гістограми.

    Для порівняння систем на практиці були побудовані дві ідентичні моделі (для AnyLogіc і для Arena) мережі передачі даних. Процес побудови моделі в AnyLogіc і в Arena мало відрізняються, як і зовнішній вигляд моделей.

    У представленій моделі за основу прийняті пакети даних, джерелами яких є комп'ютери віддалених користувачів. У моделі є ресурси мережевих адаптерів і маршрутизатора. Ємність маршрутизатора дорівнює 1, тобто в кожний момент часу, маршрутизатор може обробляти тільки один пакет.

    За допомогою даної моделі можна оцінити максимальне навантаження мережі із заданою пропускною здатністю.

    З рис. 1.12 видно, що в Arena на відміну від AnyLogіc, немає окремої конструкції для черг. Черги створюються разом з ресурсами обмеженої ємності.

    Прогін моделі на AnyLogіc виявився в декілька разів швидше, ніж в Arena. Після прогону моделі, Arena вивела на екран результати моделювання у вигляді звіту, що містить наступну інформацію: середній, максимальне й мінімальний час перебування пакетів даних; середні довжини черг; завантаженість ресурсів тощо.

    Прогін моделі в AnyLogіc здійснюється в окремому вікні у вигляді презентації. Єдиною убудованою статистикою, що збирається для черг в AnyLogіc, є середня довжина черги; для ресурсів – завантаження. Для одержання додаткових даних про систему, необхідно створювати власні збирачі статистики.

    Рисунок 1.12 – Модель в Arena

     

    Рисунок 1.13 – Модель в AnyLogіc

     

    Крім розглянутих спеціалізованих пакетів для імітаційного моделювання, пакет розширення MatLab Simulink for Windows також служить для імітаційного моделювання моделей, що складаються із графічних блоків із заданими властивостями (параметрами). Компоненти моделей, у свою чергу, є графічними блоками і моделями, які містяться в ряді бібліотек і за допомогою миші можуть переноситися в основне вікно та з'єднуватися один з одним необхідними зв'язками. До складу моделей можуть включатися джерела сигналів різного виду, віртуальні прилади, що реєструють, графічні засоби анімації. Подвійне клацання мишею на блоці моделі виводить вікно зі списком його параметрів, які користувач може змінювати. Запуск імітації забезпечує математичне моделювання побудованої моделі з наочним візуальним поданням результатів.

    Пакет заснований на побудові блокових схем шляхом переносу блоків з бібліотеки компонентів у вікно редагування створюваної користувачем моделі. Потім модель запускається на виконання. На рис. 1.14 показаний процес моделювання простої системи – гідравлічного циліндра. Контроль здійснюється за допомогою віртуальних осцилографів – на рис.1.15 видно екрани двох таких осцилографів і вікно простої підсистеми моделі. Можливе моделювання складних систем, що складаються з безлічі підсистем. Sіmulіnk складає і вирішує рівняння стану моделі і дозволяє підключати в потрібні її точки різноманітні віртуальні вимірювальні прилади.

    Рисунок 1.14 – Процес моделювання гідравлічного циліндра

     

    Рисунок 1.15 – Приклад моделювання системи гідравлічного циліндра за допомогою розширення Sіmulіnk