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

Надіслати свою гарну роботу до бази знань просто. Використовуйте форму нижче

Студенти, аспіранти, молоді вчені, які використовують базу знань у своєму навчанні та роботі, будуть вам дуже вдячні.

Розміщено на http://www.allbest.ru/

  • Вступ
  • 1. Теоретичні основи моделювання систем у середовищі імітаційного моделюванняAnyLogic
  • 2. Реалізація моделі системи обробки інформації серед комп'ютерного моделюванняAnyLogic
  • Висновок

Вступ

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

Відмінна риса моделювання - виділення основних властивостей системи, що цікавлять розробників і дослідників, та їх оцінка (якісна та кількісна) з урахуванням змін, що варіюються, і обмежень. Саме ця обставина робить моделювання основним та необхідним етапом у розробці будь-яких систем та вивченні процесів та явищ реального світу.

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

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

комп'ютерне моделювання імітаційне анімація

1. Теоретичні основи моделювання систем серед імітаційного моделювання AnyLogic

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

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

Сучасні системи моделювання підтримують весь арсенал новітніх інформаційних технологій, включаючи розвинені графічні оболонки з метою конструювання моделей та інтерпретації вихідних результатів моделювання, мультимедійні засоби, анімацію у реальному масштабі часу, об'єктно-орієнтоване програмування, Internet - рішення та інших. У цьому посібнику описуються методи прийоми побудови моделей за допомогою інструментальної системи AnyLogic

Пакет AnyLogic - вітчизняний професійний інструмент нового покоління, який призначений для розробки та дослідження імітаційних моделей. Розробник продукту – компанія "Екс Джей Текнолоджіс" (XJ Technologies), м. Санкт-Петербург.

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

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

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

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

1.1 Засоби AnyLogic для імітаційного моделювання систем

Дві фази моделювання. AnyLogic використовується для розробки імітаційних моделей, що виконуються, і подальшого їх прогону для аналізу. Розробка моделі виконується в графічному редакторі AnyLogic із використанням численних засобів підтримки, які спрощують роботу. Побудована модель компілюється вбудованим компілятором AnyLogic і запускається на виконання. У процесі виконання моделі користувач може спостерігати її поведінку, змінювати параметри моделі, виводити результати моделювання в різних формах і виконувати різноманітні комп'ютерні експерименти з моделлю. Для реалізації спеціальних обчислень та опису логіки поведінки об'єктів AnyLogic дозволяє використовувати потужну сучасну мову Java. Активні об'єкти, класи та екземпляри активних об'єктів. Основними будівельними блоками AnyLogic є активні об'єкти, які дозволяють моделювати будь-які об'єкти реального світу. Клас у програмуванні є потужним засобом, що дозволяє структурувати складну систему. Клас визначає шаблон, відповідно до якого будуються окремі екземпляри класу. Ці екземпляри можуть бути визначені як інші активні об'єкти. Активний об'єкт є екземпляром класу активного об'єкта. Щоб створити модель AnyLogic, необхідно створити класи активних об'єктів (або використовувати об'єкти бібліотек AnyLogic) та встановити їх взаємозв'язки. AnyLogic інтерпретує створювані графічно класи активних об'єктів у класи Java, тому можна скористатися всіма перевагами об'єктно-орієнтованого моделювання.

Активні об'єкти можуть містити вкладені об'єкти, причому рівень вкладеності не обмежений. Це дозволяє виробляти декомпозицію моделі будь-яку кількість рівнів деталізації.

Активні об'єкти мають чітко визначені інтерфейси взаємодії. Вони взаємодіють зі своїм оточенням лише за допомогою своїх інтерфейсних елементів. Це полегшує створення систем зі складною структурою, а також робить активні об'єкти, які повторно використовуються. Створивши клас активного об'єкта, можна створити будь-яку кількість об'єктів – екземплярів цього класу. Кожен активний об'єкт має структуру (сукупність включених до нього активних об'єктів та його зв'язку), і навіть поведінка, обумовлене сукупністю змінних, параметрів, стейтчартів тощо. Кожен екземпляр активного об'єкта в працюючій моделі має свою власну поведінку, він може мати свої значення параметрів, функціонує незалежно від інших об'єктів, взаємодіючи з ними та із зовнішнім середовищем. Візуальна розробка моделі. При побудові моделі використовуються засоби візуальної розробки (введення станів та переходів стейтчарта, введення піктограм змінних тощо), завдання чисельних значень параметрів, аналітичних записів співвідношень змінних та аналітичних записів умов настання подій. Основною технологією програмування в AnyLogic є візуальне програмування – побудова за допомогою графічних об'єктів та піктограм ієрархій структури та поведінки активних об'єктів.

AnyLogic є надбудовою над мовою Java - однією з найпотужніших і водночас найпростіших сучасних об'єктно-орієнтованих мов. Всі об'єкти, визначені користувачем при розробці моделі за допомогою графічного редактора, компілюються в конструкції мови Java, а потім відбувається компіляція всієї зібраної програми Java, що задає модель, виконуваний код. Хоча програмування зведено до мінімуму, розробнику моделі необхідно мати деяке уявлення про цю мову (наприклад, синтаксично знати правильні конструкції).

1.2 Засоби опису поведінки об'єктів

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

1.3 Анімація поведінки моделі

AnyLogic має зручні засоби представлення функціонування моделі, що моделюється, в живій формі динамічної анімації, що дозволяє "побачити" поведінку складної системи. Візуалізація процесу функціонування системи, що моделюється, дозволяє перевірити адекватність моделі, виявити помилки при завданні логіки. Засоби анімації дозволяють користувачеві легко створювати віртуальний світ (сукупність графічних образів, ожилу мнемосхему), керований динамічними параметрами моделі за законами, визначеними користувачем за допомогою рівнянь і логіки об'єктів, що моделюються. Графічні елементи, додані на анімацію, називаються динамічними, оскільки всі параметри: видимість, колір тощо. - можна зробити залежними від змінних та параметрів моделі, що змінюються з часом при виконанні моделі.

1.4 Інтерфейс користувача

Після запуску AnyLogic відкривається робоче вікно, в якому для продовження роботи потрібно створити новий проект або відкрити існуючий.

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

Малюнок 1 – Вікно проекту.

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

Малюнок 2 – Вікно властивостей.

Вікнопалітри містить елементи (графічні об'єкти), які можна додати на структурну діаграму. Елементи розбиті за групами, які відображаються на різних вкладках. Щоб додати об'єкт палітри на діаграму, клацніть спочатку елемент на панелі, а потім клацніть по діаграмі.

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

Запускати та налагоджувати модель можна за допомогою меню Модель та панелі інструментів:

Малюнок 3 – Панель інструментів.

1.5 Основні елементи побудови моделі

Для виконання цієї курсової роботи нам знадобляться такі елементи бібліотек Enterprise Library, як:

Source. Створює заявки. Зазвичай використовується як початкова точка потоку заявок. Заявки можуть бути або базового для заявок класу Entity або будь-якого класу користувача, успадкованого від цього базового класу. Ви можете налаштувати об'єкт так, щоб він створював заявки інших типів, вказавши конструктор потрібного класу в параметрі Нова заявка, а також задати дію, яка повинна виконуватися перед тим, як нова заявка залишить об'єкт, та зв'язати із заявкою певну фігуру анімації;

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

Delay. Затримує заявки на певний період. Час затримки обчислюється динамічно, може бути випадковим, залежати від поточної заявки чи інших умов. Цей час може, зокрема, обчислюватися як довжина фігури, заданої як фігура анімації цього об'єкта, поділеної на "швидкість" заявки. Одночасно може бути затримано відразу кілька заявок (не більше заданої місткості об'єкта capacity);

Sink. Знищує заявки, що надійшли. Зазвичай використовується як кінцева точка потоку заявок. Щоб заявки видалялися з моделі та знищувалися, потрібно з'єднати вихідний порт останнього блоку процесної діаграми з портом об'єкта Sink або Exit.;

NetworkEnter. Використовується для моделювання транспортних мереж. Реєструє заявку в мережі та поміщає її у заданий вузол мережі. Після додавання до мережі заявка може переміщатися по мережі та використовувати мережні ресурси. Заявка не може одночасно знаходитися відразу в кількох мережах, тому перед додаванням в іншу мережу вона повинна бути видалена спочатку з поточної мережі за допомогою об'єкта NetworkExit. Крім того, Ви можете задати швидкість переміщення заявки через мережу (яку згодом можна буде змінити). Операція додавання до мережі займає нульовий час. Відразу після додавання до мережі заявку буде відображено на анімації (у випадковому місці всередині початкового вузла);

NetworkMoveTo. Використовується для моделювання транспортних мереж. Переміщує заявку до нового місця мережі. Якщо до заявки приєднані якісь ресурси, вони переміщаються разом із заявкою. При цьому незалежно від швидкості ресурсів переміщатиметься така група із заявки та її ресурсів буде зі швидкістю заявки. Час, який заявка проведе в цьому об'єкті, дорівнюватиме довжині найкоротшого з можливих шляхів з поточного розташування заявки у вузол призначення, поділеної на швидкість заявки (зверніть увагу, що Ви можете динамічно змінювати цю швидкість за допомогою методу entity. setNetworkSpeed ​​()). Заявка буде відображатися на анімації мережі, що рухається вздовж вибраного маршруту.

NetworkExit. Використовується для моделювання транспортних мереж. Видаляє заявку з мережі. Заявка при цьому перестає відображатись на анімації мережі. При видаленні заявки з моделі (наприклад, за допомогою об'єкта Sink) вона обов'язково має бути попередньо видалена з мережі (якщо на момент видалення вона знаходиться);

Network. Використовується для моделювання транспортних мереж. Задає топологію мережі та керує мережевими ресурсами. В одній моделі може бути кілька мереж, і кожна мережа визначається одним об'єктом Network. Топологія мережі задається групою фігур: прямокутники задають вузли мережі, а лінії та ламані – сегменти.

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

2. Реалізація моделі системи обробки інформації серед комп'ютерного моделювання AnyLogic

Система обробки інформації містить мультиплексний канал та три міні-ЕОМ. Сигнали від датчиків надходять на вхід каналу через інтервали часу 10±5 мкс. У каналі вони буферизуються та попередньо обробляються протягом 10±3 мкс. Потім вони надходять на обробку ту мініЕОМ, де є найменша по довжині вхідна черга. Ємності вхідних накопичувачів у всіх міні-ЕОМ розраховані на зберігання величин 10 сигналів. Час обробки сигналу в будь-якій міні-ЕОМ дорівнює 33 мкс.

Змоделювати процес обробки 500 сигналів, що надходять із датчиків. Визначити середні часи затримки сигналів у каналі та мініЕОМ та ймовірності переповнення вхідних накопичувачів. Забезпечити прискорення обробки сигналу ЕОМ до 25 мкс при досягненні сумарної черги сигналів значення 25 одиниць.

Спочатку створимо візуальну модель системи обробки інформації. Для цього скористаємося вкладкою презентація, в якій скористаємося елементом rectangle (прямокутник) та polyline (ламана). В результаті чого отримаємо:

Рисунок 4 – Зовнішній вигляд системи обробки інформації.

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

Після створення структури системи обробки її елементи необхідно об'єднати у групу. Для цього необхідно виділити всі фігури, що входять до групи та натиснути правий клік миші та вибрати угруповання.

Малюнок 5 - Угруповання елементів системи обробки.

Тепер, відповідно, приступимо до реалізації алгоритму роботи та її візуалізації.

Для візуалізації сигналу будемо використовувати вбудоване зображення "message" із бібліотеки "Малюнки".

Рисунок 6 – Зображення сигналу.

Для створення нових заявок будемо використовувати елемент "sourse".

Малюнок 7 – Реалізація генерації сигналів.

Тепер потрібно задати параметри генерації. В даній задачі сказано, що сигнали від датчиків надходять на вхід каналу через інтервали часу 10±5 мкс, також за завданням необхідно змоделювати процес обробки 500 сигналів. Для цього встановимо основні властивості об'єктів:

Рисунок 8 – Завдання властивостей генерації сигналів.

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

Малюнок 9 - Налаштування властивостей елемента network.

Далі необхідно, щоб фігури анімації з'являлися у зоні першого прямокутника і належали мережі network. Для цього до елемента sourse приєднаємо елемент networkEnter, що міститься в основній бібліотеці.

Малюнок 10 - Генерація та введення в мережу сигналів.

Тепер необхідно змусити дані сигнали переміщатися з генерації блоку до блоку буферизації. Для цього використовуватимемо елемент networkMoveTo для вказівки місця, до якого повинні рухатися сигнали. Щоб рух відбувався згідно з алгоритмом, поставленим за умови даної задачі, необхідно в основних властивостях елемента networkMoveTo задати назву відповідної кінцевої фігури.

Малюнок 11 - Вказівка ​​пункту прибуття деталей

Далі заявки повинні чекати протягом заданого часу в буфері каналу, для цього використовуємо елементи "queue" та "delay".

Малюнок 12 – Реалізація буфера.

За умовою в каналі сигнали буферизуються та попередньо обробляються протягом 10±3 мкс, для цього виставимо параметри елемента delay:

Рисунок 13 – Параметри буфера каналу.

Далі необхідно визначити найменшу чергу у накопичувачах ЕОМ, для цього скористаємося двома елементами "selectOutput"

Малюнок 14 - розгалуження каналу на 3 ЕОМ.

Рисунок 15 - Параметри першого елемента selectOutput.

Рисунок 16 - Параметри другого елемента selectOutput.

Відповідно до умови, далі сигнал надходить на ЕОМ. Для завдання напряму використовуємо три елементи networkMoveTo.

Малюнок 17 - Забезпечення переміщення сигналів ЕОМ.

За умовою, ємності вхідних накопичувачів у всіх міні-ЕОМ розраховані на зберігання величин 10 сигналів. Час обробки сигналу в будь-якій міні-ЕОМ дорівнює 33 мкс. Знову будемо використовувати блок, що складається із двох елементів: queue та delay.

Рисунок 18 - Реалізація обробки сигналів на різних ЕОМ.

Так як за умовою повинно забезпечуватися прискорення обробки сигналу в ЕОМ до 25 мкс при досягненні сумарної черги сигналів значення 25 одиниць, значення затримки будемо приймати змінний параметр t, який буде змінюватися завдяки функції f.

Рисунок 19 – Параметри обробки сигналів.

Рисунок 20 - Функція зміни часу обробки та її тіло.

Далі додамо ще один елемент networkMoveTo для пересування сигналів до виходу із системи, елемент networkExit для реалізації вилучення елемента з мережі та елемент sink для знищення заявок (сигналів).

Тепер подивимося результат реалізації частини моделі, у якій відбувається генерація сигналів та надходження їх на ЕОМ з подальшою обробкою.

Рисунок 21 - Реалізація та візуалізація надходження сигналів із супутнім процесом обробки.

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

Малюнок 22 - Відображення значень буфера та накопичувачів.

Значення параметра "буфер_каналу" визначаються в елементі "queue":

Малюнок 23 - Визначення кількості заявок у буфері в даний час.

Значення параметрів накопичувачів визначаються в елементах queue1, queue2 та queue3 відповідно:

Малюнок 24 - Визначення кількості заявок у накопичувачі в даний час.

За умови завдання крім реалізації системи обробки необхідно визначити середні часи затримки сигналів у каналі та міні-ЕОМ та ймовірності переповнення вхідних накопичувачів. Для обчислення цих величин введемо такі параметри:

Рисунок 25 – Параметри для обчислення значень.

Кожен із цих параметрів показуватиме значення для окремої ЕОМ відповідно. Крім величин, заданих за умови завдання, обчислимо середній час обробки сигналів кожної з ЕОМ (заради інтересу). Щоб спростити процес обчислення, запровадимо ще кілька допоміжних змінних:

Малюнок 26 – Допоміжні змінні.

Отже, для знаходження величин необхідно задати наступні дії для елементів queue1, queue2 і queue3 відповідно:

Малюнок 26 - Знаходження величин.

Для наочності наведемо кілька графіків із значеннями знайдених параметрів:

Малюнок 27 - Графік середнього часу затримки накопичувачах.

Рисунок 28 – Графік середнього часу обробки сигналів.

Ми не будемо наводити графік значень ймовірності переповнення накопичувачів ЕОМ, так як з урахуванням параметрів побудованої моделі переповнення накопичувачів виключається, і ці ймовірності дорівнюють нулю.

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

Рисунок 29 – Підсумковий вид моделі обробки інформації.

Висновок

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

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

Візуалізація даного проекту була зроблена за типом транспортної мережі, в якій шляхи - це канали, а точки генерації та обробки сигналів - це початкові та кінцеві пункти.

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

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

Список використаної літератури

1. К.М. Мезенцев - Моделювання систем серед AnyLogic.

2. М.В. Кисельова - Імітаційне моделювання систем серед AnyLogic.

3. Карпов Ю. – Імітаційне моделювання систем. Введення у моделювання з AnyLogic.

Розміщено на Allbest.ru

Подібні документи

    Концептуальна модель процесу обслуговування покупців у магазині. Опис системи моделювання GPSS. Розробка моделюючої програми спеціалізованою мовою імітаційного моделювання в середовищі AnyLogic. Результати обчислювальних експериментів.

    курсова робота , доданий 12.07.2012

    Оптимальний час обслуговування користувачів як основна мета роботи комп'ютерного залу бібліотеки. Побудова моделі діяльності підписного відділу за допомогою засобу імітаційного моделювання AnyLogic. Опис процесів та побудова сценарію.

    курсова робота , доданий 19.06.2015

    Огляд засобів комп'ютерного імітаційного моделювання щодо створення веб-програми для візуалізації імітаційних моделей. Система імітаційного моделювання AnyLogic, Arena, SimuLab. Серверна, клієнтська частина. Модель роботи відділу банку та ділянки цеху.

    дипломна робота , доданий 25.05.2015

    AnyLogic як інструмент комп'ютерного моделювання нового покоління. Процес розробки моделей та реалізація імітаційних моделей для поширення епідемічного захворювання. Розробка систем зворотного зв'язку (діаграми потоків та накопичувачів).

    контрольна робота , доданий 21.07.2014

    Створення систем імітаційного моделювання AnyLogic, Arena, SimuLab, Simbigraph та Forio. Серверна та клієнтська частина. Розробка моделі роботи відділу банку, ділянки цеху, руху автобуса за маршрутом та соціальною мережею. Опис веб-програми.

    дипломна робота , доданий 25.05.2015

    Особливості моделювання біологічних систем із використанням програми "AnyLogic". Вплив різних чинників на популяції жертв та хижаків. Принципи імітаційного моделювання та її загальний алгоритм з допомогою ЕОМ. Аналіз результатів моделювання.

    курсова робота , доданий 30.01.2016

    Опис програмного забезпечення AnyLogic, що підтримує три методи імітаційного моделювання (системна динаміка, дискретно-подійне та агентне моделювання). Розробка моделі процесу переходу пасажирів на монорейки через каси та турнікети.

    контрольна робота , доданий 21.05.2015

    p align="justify"> Технологічна схема системи. Структурно-функціональна модель обробки повідомлень системою керування технологічним процесом. Потік повідомлень у загальному вигляді. Моделювання в середовищі GPSS та в середовищі C#, їх результати. Алгоритм імітаційного моделювання.

    курсова робота , доданий 14.12.2012

    Сутність концептуального та фізичного моделювання. Опис графічного середовища AnyLogic як єдиного інструменту імітаційного моделювання. Основні етапи створення моделі, що дозволяє наочно проаналізувати вплив реклами покупців.

    курсова робота , доданий 30.05.2014

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

ВСТУП

Імітаційне моделювання

Моделювання – метод розв'язання задач, при використанні якого досліджувана система замінюється більш простим об'єктом, що описує реальну систему та називається моделлю.

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

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

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

Імітаційне моделювання – розробка комп'ютерних моделей та постановка експериментів на них. Метою моделювання зрештою є прийняття обґрунтованих, доцільних управлінських рішень. p align="justify"> Комп'ютерне моделювання стає сьогодні обов'язковим етапом у прийнятті відповідальних рішень у всіх галузях діяльності людини у зв'язку з ускладненням систем, в яких людина повинна діяти і якими вона повинна управляти. Знання принципів та можливостей імітаційного моделювання, вміння створювати та застосовувати моделі є необхідними вимогами до інженера, менеджера, бізнес-аналітика.


Призначення та можливості інструментального середовища AnyLogic

Сучасні системи моделювання підтримують весь арсенал новітніх інформаційних технологій, включаючи розвинені графічні оболонки для цілей конструювання моделей та інтерпретації вихідних результатів моделювання, мультимедійні засоби, анімацію в реальному масштабі часу, об'єктно-орієнтоване програмування, Internet - рішення та ін. у посібнику описуються методи та прийоми побудови моделей за допомогою інструментальної системи AnyLogic.

Пакет AnyLogic – професійний інструмент нового покоління, призначений для розробки та дослідження імітаційних моделей. Розробник продукту - компанія "Екс Джей Текнолоджіс" (XJ Technologies), м. Санкт-Петербург; електронна адреса: www.xjtek.ru.

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

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

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

При розробці моделі можна використовувати елементи візуальної графіки: діаграми станів (стейтчарти), сигнали, події (таймери), порти тощо; синхронне та асинхронне планування подій; бібліотеки актив-


них об'єктів.

Зручний інтерфейс та численні засоби підтримки розробки моделей у AnyLogic роблять не тільки використання, а й створення комп'ютерних імітаційних моделей у цьому середовищі моделювання доступними навіть для початківців.

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

У цьому посібнику описуються три імітаційні моделі: дискретно-подієва, системно-динамічна та агентна. Для кожної моделі наводиться докладна постановка проблеми, розбирається структура моделі, описується процес побудови моделі в середовищі AnyLogic та вивчається її поведінка.


ЗАСОБИ ANYLOGIC ДЛЯ ІМІТАЦІЙНОГО МОДЕЛЮВАННЯ СИСТЕМ

Основні концепції

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

Для реалізації спеціальних обчислень та опису логіки поведінки об'єктів AnyLogic дозволяє використовувати потужну сучасну мову Java.

Активні об'єкти, класи та екземпляри активних об'єктів. Основними будівельними блоками моделі AnyLogic є активні об'єктиякі дозволяють моделювати будь-які об'єкти реального світу.

Клас у програмуванні є потужним засобом, що дозволяє структурувати складну систему. Клас визначає шаблон, відповідно до якого будуються окремі екземпляри класу. Ці екземпляри можуть бути визначені як інші активні об'єкти.

Активний об'єкт є екземпляром класуактивний об'єкт. Щоб створити модель AnyLogic, ви повинні створити класи активних об'єктів (або використовувати об'єкти бібліотек AnyLogic) та встановити їх взаємозв'язки. AnyLogic інтерпретує створювані вами графічно класи активних об'єктів у класи Java, тому ви можете користуватися всіма перевагами об'єктно-орієнтованого моделювання.

Активні об'єкти можуть містити вкладені об'єкти, причому рівень вкладеності не обмежений. Це дозволяє виробляти декомпозицію моделі будь-яку кількість рівнів деталізації.


Активні об'єкти мають чітко визначені інтерфейси взаємодії – вони взаємодіють зі своїм оточенням лише за допомогою своїх інтерфейсних елементів.

Це полегшує створення систем зі складною структурою, а також робить активні об'єкти, які повторно використовуються. Створивши клас активного об'єкта, можна створити будь-яку кількість об'єктів – екземплярів даного класу.

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

Візуальна розробка моделі. При побудові моделі використовуються засоби візуальної розробки (запровадження станів та переходів стейтчарта, запровадження піктограм змінних тощо), завдання чисельних значень параметрів, аналітичних записів співвідношень змінних та аналітичних записів умов настання подій. Основною технологією програмування в AnyLogic є візуальне програмування – побудова за допомогою графічних об'єктів та піктограм ієрархій структури та поведінки активних об'єктів.

Вбудована мова Java. AnyLogic є надбудовою над мовою Java– однією з найпотужніших і водночас найпростіших сучасних об'єктно-орієнтованих мов. Усі об'єкти, визначені користувачем під час розробки моделі за допомогою графічного редактора, компілюються у конструкції мови Java, а потім відбувається компіляція всієї зібраної програми на Java, що задає модель, виконуваний код. Хоча програмування зведене до мінімуму, розробнику моделі необхідно мати деяке уявлення про цю мову (наприклад, знати синтаксично правильні конструкції).

Засоби опису поведінки об'єктів. Основними засобами опису


ня поведінки об'єктів є змінні, події та діаграми станів. Зміннівідображають мінливі характеристики об'єкта. Подіїможуть наступати із заданим інтервалом часу та виконувати задану дію. Діаграми станів (або стейтчарти)дозволяють візуально уявити поведінку об'єкта в часі під впливом подій чи умов, вони складаються з графічного зображення станів і переходів між ними (тобто це кінцевий автомат). Будь-яка складна логіка поведінки об'єктів моделі може бути виражена за допомогою комбінації стейтчартів, диференційних та алгебраїчних рівнянь, змінних, таймерів та програмного коду на Java. Алгебраїчні та диференціальні рівняння записуються аналітично.

Інтерпретація будь-якого числа процесів, що паралельно протікають, в моделі AnyLogic прихована від користувача. Жодних зусиль розробника моделі для організації квазіпаралелізмуінтерпретації не потрібно; відстеження всіх подій виконується системою автоматично.

Модельний та реальний час. Поняття модельного часу є базовим у системах імітаційного моделювання. Модельний час- Це умовний логічний час, в одиницях якого визначено поведінку всіх об'єктів моделі. У моделях AnyLogic модельний час може змінюватися або безперервно, якщо поведінка об'єктів описується диференціальними рівняннями, або дискретно, перемикаючись з моменту настання однієї події до моменту наступної наступної події, якщо в моделі присутні лише дискретні події. Моменти настання всіх подій, що плануються в дискретній моделі, виконавча система зберігає в так званому календарі подій, вибираючи звідти найбільш ранню подію для виконання пов'язаних з ним дій. Значення поточного часу в моделях AnyLogic можна отримати за допомогою функції time().

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


одиницях. При моделюванні фізичних процесів усі параметри та рівняння мають бути виражені в одних і тих самих одиницях вимірювання фізичних величин.

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

В AnyLogic прийнято два режими виконання моделей: режим віртуального часу та режим реального часу. У режимі віртуального часупроцесор працює з максимальною швидкістю без прив'язки до фізичного часу. Цей режим використовується для факторного аналізу моделі, набору статистики, оптимізації параметрів моделі тощо. Оскільки анімація та інші вікна спостереження за поведінкою моделі зазвичай суттєво уповільнюють швидкість інтерпретації моделі на комп'ютері, підвищення швидкості виконання ці вікна потрібно закрити.

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

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


Анімація поведінки моделі. AnyLogic має зручні засоби представлення функціонування моделі, що моделюється, в живій формі динамічної анімації, що дозволяє «побачити» поведінку складної системи. Візуалізація процесу функціонування системи, що моделюється, дозволяє перевірити адекватність моделі, виявити помилки при завданні логіки.

Засоби анімації дозволяють користувачеві легко створювати віртуальний світ (сукупність графічних образів, ожилу мнемосхему), керований динамічними параметрами моделі за законами, визначеними користувачем за допомогою рівнянь та логіки об'єктів, що моделюються. Графічні елементи, додані на анімацію, називаються динамічними, оскільки всі параметри: видимість, колір тощо. – можна зробити залежними від змінних та параметрів моделі, які змінюються з часом під час виконання моделі.

За допомогою досконалої технології візуалізації моделей AnyLogic, що працюють, можна створювати інтерактивні анімації довільної складності, пов'язуючи графічні об'єкти (в т.ч. імпортовані креслення) у вбудованому редакторі з об'єктами моделі. Як і модель, анімація має ієрархічну структуру, яка динамічно змінюватися. Можливе створення кількох точок зору або кількох рівнів детальності в межах однієї анімації. Елементи управління та розвинена бізнес-графіка перетворюють анімацію моделі на справжню панель управління для оцінки ефективності рішень. AnyLogic підтримується як двовимірна, так і тривимірна анімація.

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


Користувальницький інтерфейс

Після запуску AnyLogic відкривається робоче вікно, в якому для продовження роботи потрібно створити новий проект або відкрити вже існуючий.

Починаючи з версії 6.4, AnyLogic надає користувачам можливість використовувати шаблони моделей при створенні нових моделей. Щоб створити новий проект, натисніть відповідну кнопку на панелі інструментів або виберіть пункт меню Файл | Створити проекті потім з спадного меню – Модель. Відкриється діалогове вікно Нова модель, де задається ім'я та місцезнаходження нового проекту. Далі дотримуйтесь вказівок Майстри створення моделі. Можна створювати нову модель з нуля або використовувати шаблон.

Під час відкриття проекту (нового чи існуючого) AnyLogic завжди відкриває середовище розробки проекту – графічний редактор моделі (рис. 1). Розглянемо основні складові цього редактора.

Вікно проектузабезпечує легку навігацію за елементами проекту, такими як пакети, класи і т.д. Оскільки проект організований ієрархічно, він відображається у вигляді дерева: сам проект утворює верхній рівень дерева робочого проекту, пакети – наступний рівень, класи активних об'єктів і повідомлень – наступний тощо. Можна копіювати, переміщати та видаляти будь-які елементи дерева об'єктів, легко керуючи робочим проектом.


Одна з гілок у дереві проекту має назву Simulation:Main(Експеримент). Експеримент зберігає набір налаштувань, за допомогою яких конфігурують роботу моделі. Один експеримент створюється автоматично під час створення проекту. Це простий експериментз ім'ям Simulation, що дозволяє візуалізувати модель за допомогою анімації та підтримує інструменти для налагодження моделі. Простий експеримент використовується у більшості випадків. Підтримується ще кілька типів експериментів різних завдань моделювання.

Структурна діаграма. При побудові моделі необхідно задати її структуру (тобто описати, із яких частин складається модель системи) і поведінка окремих об'єктів системи. В AnyLogic структурними елементами моделі є так звані активні об'єкти. Активний об'єкт має структуру та поведінку. Елементи структури – це інші активні об'єкти, включені як складові елементи даного активного об'єкта, та зв'язки, які існують між активованими активними об'єктами. Активні об'єкти можуть містити події, стейтчарти, змінні, функції, рівняння, параметри.


Структура активного об'єкта задається графічно на структурній діаграмі. Поведінка задається за допомогою стейтчарту та визначає реакції активного об'єкта на зовнішні події – логіку його дій у часі.

Діаграма станів(або стейтчарт – statechart)– це модифіковані графи переходів кінцевого автомата. Стейтчарт дозволяє графічно задати простір станів алгоритму поведінки об'єкта, а також події, які є причинами спрацьовування переходів з одних станів до інших, та дії, що відбуваються при зміні станів. Стейтчарти відповідають стандарту UML. Вони зберігають графічний вигляд, атрибути та семантику виконання, визначену в UML ( Unified Modeling Language). Стейтчарти в AnyLogic підтримують такі типи подій: сигнал– об'єкт може надіслати сигнал іншому об'єкту, щоб повідомити його про щось; таймаут- Протягом заданого проміжку часу в стейтчарті нічого не відбувається; подія– подія, при якій значення булевого виразу стає

"Істина".

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

Вікно властивостей. У редакторі AnyLogic для кожного виділеного елемента моделі існує вікно властивостей, в якому вказуються властивості (параметри) цього елемента. При виділенні будь-якого елемента у вікні редактора знизу з'являється вікно властивостей, що показує параметри виділеного елемента. Вікно властивостей містить декілька вкладок. Кожна вкладка містить елементи керування, такі як поля введення, прапорці, перемикачі, кнопки та


т.д., за допомогою яких можна переглядати та змінювати властивості елементів моделі. Кількість вкладок та його зовнішній вигляд залежить від типу вибраного елемента. Вікно палітри . Містить елементи (графічні об'єкти), які можна додати на структурну діаграму. Елементи розбиті по групах, які відображаються на різних вкладках. Щоб додати об'єкт палітри на діаграму, клацніть спочатку елемент на панелі, а потім клацніть по діа-

Параметри.Активний об'єкт може мати параметри. Параметри зазвичай використовуються для визначення характеристик об'єкта. Ви можете встановити різні значення параметрів для різних об'єктів одного і того ж класу, що потрібно в тих випадках, коли об'єкти мають однакову поведінку, але їх характеристики різні. Можливий опис параметрів будь-яких Java-Класів.

Щоб створити параметр класу активного об'єкта (мал. 2), у вікні Проектклацніть по класу активного об'єкта. У вікні Властивостіклацніть по кнопці Новий параметр.Задайте властивості параметра у діалоговому вікні, що відкрилося. Параметр.

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


змінними інших активних об'єктів. Тоді при зміні значення однієї змінної негайно змінюватиметься і значення пов'язаної з нею залежної змінної іншого об'єкта. Цей механізм забезпечує безперервну та/або дискретну взаємодію об'єктів.

Надсилання повідомлень. AnyLogic дозволяє передавати інформацію від одного об'єкта іншому шляхом передачі спеціальних пакетів даних – повідомлень. За допомогою передачі повідомлень можна реалізувати механізм оповіщення – повідомлення будуть представляти команди або сигнали, що надсилаються системою керування. Можна також змоделювати потік заявок, у цьому випадку повідомлення являтимуть собою заявки - об'єкти, які виробляються, обробляються, обслуговуються або ще якимось чином піддаються впливу процесу, що моделюється (документи в моделі бізнес-процесу, клієнти в моделі системи масового обслуговування, деталі в виробничих моделях).

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

Щоб з'єднати порти вкладених об'єктів, клацніть на кнопці панелі інструментів. З'єднувач, а потім клацніть по черзі по обох портах. Щоб додати точку вигину , клацніть мишею по кнопці панелі інструментів Редагувати точки.

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

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

Для запуску моделі клацніть по кнопці Виконати, потім виберіть експеримент зі списку. Після цього відкриється вікно презентації,


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

У вікні презентації можна побачити: анімовану діаграму моделі, вікна інспекту елементів моделі, анімацію, що ожила, діаграми станів, графіки статистики.

Проведення експериментів

За допомогою експериментів задаються конфігураційні установки моделі. AnyLogic підтримує кілька типів експериментів: простий експеримент, експеримент для варіювання параметрів, оптимізаційний та ін. На рис. 3 показано вікно вибору експерименту.


Простий експеримент. Завдання виду «що – якщо» (так звана пряме завдання імітаційного моделювання ІМ) в AnyLogic вирішуються за допомогою простого експерименту. Простий експеримент (з ім'ям Simulation) створюється автоматично під час створення проекту. Він дає змогу візуалізувати модель за допомогою анімації, графіків (діаграм) тощо. Широкі можливості для відображення даних надає бібліотека бізнес-графіки (Business Graphics Library).

Для побудови, наприклад, графіка залежності змінних від часу в полі анімації спочатку потрібно побудувати прямокутник, в межах якого буде розміщуватися графік, після чого в будь-яке місце поля редактора перенести екземпляр об'єкта ChartTimeіз Business Graphics Library. Потім у вікні властивостей даного об'єкта слід налаштувати параметри, що визначають колір і товщину ліній, імена змінних, що відображаються, назви змінних, які відображатимуться, колір тексту і т.д.

Простий експеримент використовується в більшості випадків при розробці та аналізі моделей, створених у AnyLogic. Зокрема, він підтримує засоби для налагодження моделі. Можна організувати кілька простих експериментів з різними значеннями вихідних факторів і, зробивши один із цих експериментів поточним, запустити модель на виконання.

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

В AnyLogic доступний механізм автоматичного запуску моделі


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

Щоб запустити такий експеримент, потрібно виконати таке:

Створити експеримент для варіювання параметрів;

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

Запустити модель, вибравши цей експеримент як поточний.

Такий вид експерименту не підтримує візуалізації роботи моделі за допомогою анімації.

Оптимізаційний експеримент. Використовується для вирішення задач кількісного аналізу(Розрахунок показників ефективності системи). Пошук тих значень факторів, які визначають найкращий варіант рішення, називається зворотним завданням ІМ. Зворотні завдання моделювання відповідають на питання про те, яке рішення в галузі допустимих рішень звертає в максимум показник ефективності системи. Для вирішення оберненого завдання багаторазово вирішується пряме завдання. У разі коли кількість можливих варіантів рішення невелика, рішення зворотного завдання зводиться до простого перебору всіх можливих рішень. Порівнюючи їх між собою, можна знайти оптимальне рішення.

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


Як блок реєстрації значень вихідних показників і вибору чергового наближення при оптимізації (рис. 4) користувач може використовувати будь-який зовнішній оптимізатор або оптимізатор OptQuest, вбудований в AnyLogic. Оптимізатор OptQuestрозроблений нещодавно на основі метаевристик розсіяного пошуку (scatter search) та пошуку «табу» (tabu search). Цей оптимізатор є найкращим із пропонованих на ринку професійних пакетів оптимізації для вирішення складних проблем оптимізації.

Умову припинення експерименту виконано

Оптимізатор OptQuestзапускається прямо із середовища розробки моделі. Щоб налаштувати оптимізацію в AnyLogic, необхідно виконати наступне:

1) створити у розробленій моделі оптимізаційний експеримент;

2) задати оптимізаційні параметри та області їх зміни;

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

4) поставити цільову функцію, тобто. досліджувану реакцію системи;

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

6) поставити умови припинення експерименту.

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


Порядок виконання роботи

Лабораторні роботи призначені для версії 6.х продукту AnyLogic,

для версії 5.х можуть відрізнятися.

Модель AnyLogic є файлом з ім'ям, заданим користувачем, і розширенням. alp. При створенні нової моделі можна відразу вказати повний шлях та ім'я каталогу, в якому перебуватиме ваша модель.

Під час виконання лабораторної роботи необхідно навчитися створювати дискретно-подійні моделі за допомогою бібліотеки Enterprise Library пакету AnyLogic. Для цього активно використовуйте довідковий посібник з Enterprise Library та навчальний посібник з Enterprise Library (меню Довідка).

Під час виконання лабораторної роботи студент спочатку виконує загальне завдання, а потім індивідуальне завдання за варіантом, запропонованим викладачем.

Завдання до лабораторної роботи

За допомогою елементів бібліотеки Enterprise Library побудуємо модель простої системи масового обслуговування – модель банківського відділення.

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

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

1. Створення нового проекту.

Створіть нову модель. Перейменуйте клас Mainв Model. У властивостях експерименту Simulationзадайте виконання моделі в режимі реального часу з виконанням однієї одиниці модельного часу за одну секунду. У цій моделі під одиницею модельного часу ми розумітимемо одну хвилину роботи банківського відділення.

2. Створення блок-схеми.

Створіть блок-схему моделі, яка поки що складатиметься лише з банкомату. Для цього перетягніть у вікно структури елементи бібліотеки Enterprise Library і з'єднайте їх так, як показано на рис. 6.

Об'єкт sourceгенерує заявки (entities) певного типу через заданий часовий інтервал. Заявки являють собою об'єкти, які виробляються, обробляються, обслуговуються або ще якимось чином піддаються впливу процесу, що моделюється: це можуть бути клієнти в


системи обслуговування, деталі в моделі виробництва, документи в моделі документообігу та ін. У прикладі заявками будуть відвідувачі банку, а об'єкт sourceмоделюватиме їхній прихід до банківського відділення.



Об'єкт queueмоделює чергу клієнтів, які чекають на обслуговування. Об'єкт delayмоделює затримку. У нашому прикладі він буде іміто-

вати банкомат, який витрачає певний час на обслуговування клієнта.

Об'єкт sinkпозначає кінець блок-схеми.

3. Запуск моделі.

Для кожної моделі, створеної в Enterprise Library, автоматично створюється блок-схема з наочною візуалізацією процесу, за допомогою якої можна вивчити поточний стан моделі, наприклад, довжину черги, кількість обслужених осіб і т.д.

Для запуску моделі (рис. 7) клацніть мишею по кнопці Запустити. Відкриється вікно із презентацією запущеного експерименту. AnyLogic автоматично поміщає на презентацію кожного простого експерименту заголовок та кнопку, що дозволяє запустити модель і перейти на презентацію, намальовану вами для головного класу активного об'єкта цього експерименту ( Main).

Клацніть на цій кнопці. AnyLogic перейде в режим роботи моделі. За допомогою візуалізованої блок-схеми ви можете простежити, скільки людей перебуває в черзі, скільки людей зараз обслуговується і т.д.


На рис. 8 видно, що 4 особи стоять у черзі, а 23 особи залишили чергу (блок queue), з них 22 обслужили (блок sink), а один ще обслуговується у банкомату (блок delay).

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


4. Зміна даних моделі.

Встановіть дані моделі, змінюючи властивості створених об'єктів (рис. 9).

У якості interarrivalTimeоб'єкта sourceвкажіть, як часто до відділення приходять клієнти exponential(0.67).

Інтервал між приходом клієнтів розподілений експоненційно із середнім значенням, що дорівнює 1.5 одиниці модельного часу. Зауважте, що аргумент функції exponential()дорівнює 0.67, тому що як аргумент задається інтенсивність приходу клієнтів.

Функція exponential()є стандартною функцією генератора випадкових чисел AnyLogic. AnyLogic надає функції та інших випадкових розподілів, таких як нормальний, рівномірний, трикутний і т.д. За детальним описом функцій та їх параметрів звертайтеся до посібника користувача або довідника класів (див. методи класу Func). Для виклику посібника користувача, довідника класів AnyLogic виберіть відповідні пункти меню Довідка.

У якості capacityоб'єкта queue(рис. 10) задайте максимальну довжину черги – 15.


У якості delayTimeоб'єкта delay(мал. 11) задайте час затримки (час обслуговування) – triangular(0.8, 1, 1.3).

Обслуговування клієнта займає приблизно 1 хвилину. Тут час обслуговування розподілено за трикутним законом із середнім значенням, рівним 1 хвилині, мінімальним – 0.8 та максимальним – 1.3 хвилини.

Запустіть модель та проаналізуйте її роботу.

5. Збір статистики.

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

У системі збирається статистика за довжиною черги для блоку queue(length) та статистика за коефіцієнтом використання для блоку delay(utiliza- tion). Щоб увімкнути збір статистики для об'єкта, встановіть перемикач Увімкнути збір статистикина вкладці Основнівластивостей об'єкта.

, Linux

Енциклопедичний YouTube

    1 / 1

    BUY321 - Measuring time-in-system в AnyLogic

Субтитри

Історія

На початку 1990-х у комп'ютерній науці спостерігався великий інтерес до побудови опису взаємодії паралельних процесів, що математично трактується. Що позначилося на підходах до аналізу коректності паралельних та розподілених програм. Група вчених із Санкт-Петербурзького Політехнічного університету розробила програмне забезпечення для аналізу коректності системи; новий інструмент назвали COVERS (Паралельна Верифікація та Моделювання). Аналізована система процесів задавалася графічно, за допомогою опису її структури та поведінки окремих паралельних компонентів, які могли взаємодіяти з оточенням – з іншими процесами та середовищем. Інструмент використовувався у дослідницьких проектах компанії Хьюлетт-Паккард (англ. Hewlett-Packard).

У 1998 р. успіх цього дослідження надихнув лабораторію організувати комерційну компанію із місією створення нового програмного забезпечення для імітаційного моделювання. Акцент під час розробки ставився на прикладні методи: моделювання стохастичних систем, оптимізацію та візуалізацію моделі. Нове програмне забезпечення, випущене в 2000 р., було засноване на останніх перевагах інформаційних технологій: об'єктно-орієнтований підхід, елементи стандарту UML, мови, програмування Java, сучасного GUI, і т.д.

Продукт отримав назву AnyLogic, тому що він підтримував усі три відомі методи моделювання:

А також будь-яку комбінацію цих підходів у межах однієї моделі. Першої версії було присвоєно індекс 4 – Anylogic 4.0, оскільки нумерація продовжила історію версій попередньої розробки – COVERS 3.0.

Величезний крок уперед був зроблений у 2003 році, коли був випущений AnyLogic 5, орієнтований на бізнес-моделювання. За допомогою AnyLogic стало можливим розробляти моделі в наступних галузях:

Останньою версією програми є AnyLogic 7. AnyLogic 7 написаний мовою програмування Java в популярному середовищі розробки Eclipse . AnyLogic є крос-платформним програмним забезпеченням, працює як під керуванням операційної системи Windows, так і під Mac OS і Linux.

AnyLogic та Java

AnyLogic включає графічну мову моделювання, а також дозволяє користувачеві розширювати створені моделі за допомогою мови Java. Інтеграція компілятора Java в AnyLogic надає більш широкі можливості при створенні моделей, а також створення Java, аплетів, які можуть бути відкриті будь-яким браузером. Ці аплети дозволяють легко розміщувати моделі AnyLogic на веб-сайтах. На додаток до Java-аплетів, AnyLogic Professional підтримує створення Java-додатків, у цьому випадку користувач може запустити модель без інсталяції AnyLogic.

Методи імітаційного моделювання

Моделі AnyLogic можуть бути засновані на будь-якій з основних парадигм імітаційного моделювання: дискретно-подійному моделюванні, системної динаміки і агентному моделюванні.

Системна динаміка та дискретно-подійне (процесове) моделювання, під яким ми розуміємо будь-який розвиток ідей GPSS – це традиційні усталені підходи, агентне моделювання – відносно новий. Системна динаміка оперує переважно з безперервними у часі процесами, тоді як дискретно-подійне та агентне моделювання - з дискретними.

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

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

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

При розробці моделей AnyLogic можна використовувати концепції та засоби з декількох методів моделювання. Наприклад, агентної моделі можна використовувати методи системної динаміки для представлення змін стану середовища; у безперервній моделі динамічної системи можна врахувати дискретні події. Наприклад, управління ланцюжками постачання за допомогою імітаційного моделювання вимагає опису учасників ланцюга постачання агентами: виробники, продавці, споживачі, мережа складів. При цьому виробництво описується в рамках дискретно-подійного (процесного) моделювання, де продукт чи його частини – це заявки, а автомобілі, потяги, штабелери – ресурси. Самі поставки є дискретними подіями, але при цьому попит на товари може описуватися безперервною системно-динамічною діаграмою. Можливість змішувати підходи дозволяє описувати процеси реального життя, а чи не підганяти процес під доступний математичний апарат.

Можливості програми

Середовище моделювання

Графічна середовище моделювання AnyLogic включає наступні елементи :

  • Stock & Flow Diagrams(Діаграма потоків і накопичувачів) застосовується при розробці моделей, використовуючи метод системної динаміки.
  • Statecharts(Карти станів) в основному використовується в агентних моделях для визначення поведінки агентів. Але також часто використовується в дискретно-подійному моделюванні, наприклад, для симуляції машинних збоїв.
  • Action charts(Блок-схеми) використовується для побудови алгоритмів. Застосовується у дискретно-подійному моделюванні (маршрутизація дзвінків) та агентному моделюванні (для логіки рішень агента).
  • Process flowcharts(процесні діаграми) основна конструкція, що використовується для визначення процесів дискретно-подійного моделювання.

Середовище моделювання також включає: низькорівневі конструкції моделювання (змінні, рівняння, параметри, події тощо), форми подання (лінії, квадрати, овали тощо), елементи аналізу (бази даних, гістограми, графіки), стандартні картинки та форми експериментів.

Середовище моделювання AnyLogic підтримує проектування, розробку, документування моделі, виконання комп'ютерних експериментів з моделлю, включаючи різні види аналізу – від аналізу чутливості до оптимізації параметрів моделі щодо певного критерію.

Бібліотеки AnyLogic

AnyLogic включає набір наступних стандартних бібліотек:

Файл:3D Animation of a Grain Terminal Model.png

3D-анімація моделі зернового терміналу

Анімація моделей

AnyLogic підтримує інтерактивну анімацію моделей у 2D та 3D.

Так, AnyLogic дозволяє імпортувати креслення САПР у вигляді DXF-файлів та використовувати їх для візуалізації моделей. Ця функціональність найчастіше використовується у дискретно-подійному моделюванні для анімації процесів усередині заводів, складів, лікарень тощо.

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

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

Файл:GIS-Based Supply Chain Simulation Model.png

Імітаційна модель ланцюга поставок із ГІС

Геопросторові моделі, інтеграція з ГІС

Моделі AnyLogic можуть використовувати карти як інструмент анімації, що часто потрібно при моделюванні ланцюгів постачання та логістики. AnyLogic підтримує традиційний shapefile-формат даних, SHP від ​​Esri. Крім того, AnyLogic використовує тайлові карти від безкоштовних провайдерів, включаючи OpenStreetMap. Тайлові карти дозволяють розробникам використовувати в моделі картографічні дані та автоматично створювати маршрути для агентів. Основна функціональність тайлових карт у AnyLogic включає наступне:

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

Можна розміщувати агентів у певних точках на карті та задавати рух агентів існуючими маршрутами та дорогами.

Можна використовувати вбудований пошук карти, щоб розміщувати елементи моделі в потрібних точках.

Інтеграція моделі з IT-інфраструктурою

Моделі AnyLogic експортуються у вигляді Java-застосунків, які можна запускати окремо від середовища розробки або інтегрувати з іншими програмами. Зокрема, експортована модель може бути вбудована в інше програмне забезпечення і працювати як додатковий модуль для систем типу ERP, MRP або TMS. Моделі також інтегруються з файлами TXT, MS Excel, MS Access та будь-якими базами даних (MS SQL, My SQL, Oracle та ін.). Крім того, кожна модель має свою вбудовану базу даних на HSQLDB.

Безкоштовна освітня версія

Починаючи з 2015 року, версія AnyLogic Personal Learning Edition (PLE) доступна безкоштовно для цілей освіти та самоосвіти. Ліцензія PLE не обмежена за часом, але моделі, створені в цій версії, обмежені за розміром.

Для публічних досліджень в освітніх закладах користувачі можуть придбати версію University Researcher, яка не обмежує розмір моделі та містить більшу частину функціональності Professional.

anyLogistix – інструмент оптимізації ланцюгів постачання

У AnyLogic немає окремої бібліотеки для моделювання ланцюгів постачання, т.к. компанія направила свої зусилля на розробку окремого інструменту для цієї галузі - anyLogistix. Цей родинний AnyLogic продукт був вперше представлений в 2014 році під назвою AnyLogic Logistics Network Manager і був перейменований в anyLogistix в 2015 році.

В основі anyLogistix лежить двигун AnyLogic, ГІС-технології та новий інтерфейс, орієнтований на менеджерів з галузі ланцюгів поставок. Інструмент включає алгоритми та технології, характерні та застосовні для проектування та оптимізації ланцюгів поставок. anyLogistix повністю інтегрований з AnyLogic: так, розробники моделей можуть використовувати AnyLogic для розширення функціональності об'єктів усередині anyLogistix, наприклад, складів, заводів, постачальників, політик поповнення запасів, постачання та перевезень.

Федеральне агентство з освіти Уральський державний технічний університет - УПІ

імені першого Президента Росії Б.М. Єльцина

М. В. Кисельова

ІМІТАЦІЙНЕ МОДЕЛЮВАННЯ СИСТЕМ У СЕРЕДОВИЩІ ANYLOGIC

Навчально-методичний посібник

Науковий редактор професор, доктортехнічних наук Л. Г. Доросинський

Друкується за рішенням редакційно-видавничої ради УДТУ-УПІ від 26.05.2009 р.

Єкатеринбург УГТУ-УПІ

УДК 004.434:004.94(075.8) ББК 32.973.26-018.2я73

Рецензенти:

кафедра «Автоматизації та інформаційних технологій» – Уральський державний коледж імені І. І. Ползунова (доцент, канд. техн. наук В. В. Кійко);

С. Н. Кисельов, ген. директор ЗАТ "Уральський регіональний міжгалузевий центр науково-технічного розвитку".

Кисельова М. В.

К44 Імітаційне моделювання систем у середовищі AnyLogic: навчально-методичний посібник / М. В. Кисельова. Єкатеринбург: УГТУ - УПІ,

Навчально-методичний посібник призначений для вивчення методів та засобів побудови імітаційних моделей в інструментальному середовищі AnyLogic.

Містить три лабораторні роботи зі створення імітаційних моделей – дискретно-подійної, системно-динамічної та агентної. Для кожної моделі наводиться докладна постановка проблеми, розбирається структура та реалізація моделі в середовищі AnyLogic. Вивчаються прийоми візуалізації наочної досліджуваного процесу, інтерактивної анімації з можливістю зміни параметрів системи по ходу моделювання процесу.

Бібліогр.: 4 назв. Мал. 67.

УДК 004.434:004.94(075.8)

ББК 32.973.26-018.2я73

© УГТУ-УПІ, 2009

© Кисельова М. В., 2009

ВСТУП Імітаційне моделювання

Моделювання – спосіб вирішення завдань, під час використання якого досліджувана система замінюється простішим об'єктом, що описує реальну систему і називається моделлю.

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

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

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

Імітаційне моделювання – розробка комп'ютерних моделей та постановка експериментів на них. Метою моделювання зрештою є прийняття обґрунтованих, доцільних управлінських рішень. Комп'ютерне моделювання стає сьогодні обов'язковим етапом у прийнятті відповідальних рішень у всіх сферах діяльності людини у зв'язку з ускладненням систем, в яких людина повинна діяти і якими вона повинна керувати. Знання принципів та можливостей імітаційного моделювання, вміння створювати та застосовувати моделі є необхідними вимогами до інженера, менеджера, бізнес-аналітика.

Призначення та можливості інструментального середовища AnyLogic

Сучасні системи моделювання підтримують весь арсенал новітніх інформаційних технологій, включаючи розвинені графічні оболонки з метою конструювання моделей та інтерпретації вихідних результатів моделювання, мультимедійні засоби, анімацію у реальному масштабі часу, об'єктно-орієнтоване програмування, Internet - рішення та інших. У цьому посібнику описуються методи прийоми побудови моделей за допомогою інструментальної системи AnyLogic

Пакет AnyLogic – вітчизняний професійний інструмент нового покоління, призначений для розробки та дослідження імітаційних моделей. Розробник продукту - компанія "Екс Джей Текнолоджіс" (XJ Technologies), м. Санкт-Петербург; електронна адреса: www.xjtek.ru.

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

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

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

Під час розробки моделі можна використовувати елементи візуальної графіки: діаграми станів (стейтчарти), сигнали, події (таймери), порти тощо; синхронне та асинхронне планування подій; бібліотеки актив-

них об'єктів.

Зручний інтерфейс та численні засоби підтримки розробки моделей у AnyLogic роблять не тільки використання, а й створення комп'ютерних імітаційних моделей у цьому середовищі моделювання доступними навіть для початківців.

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

У цьому посібнику описуються три імітаційні моделі: дискретноподійна, системно-динамічна та агентна. Для кожної моделі наводиться докладна постановка проблеми, розбирається структура моделі, описується процес побудови моделі серед AnyLogic і вивчається її поведінка.

AnyLogic – інструмент імітаційного моделювання, з яким працюють понад 15000 користувачів у 60 країнах світу. Програмний продукт призначений для проектування та оптимізації бізнес-процесів чи будь-яких складних систем, таких як виробничий цех, аеропорт, госпіталь тощо. Інструмент підтримує всі методи бізнес-моделювання – системну динаміку, дискретно-подійне (процесне) та агентне моделювання. Основний упор у розробці продукту зроблено на його гнучкість та простоту використання для недосвідчених у створенні моделей користувачів. Серед користувачів великі міжнародні компанії, державні структури, міжнародні альянси: НАТО, НАСА, Boeing, IBM, General Motors, HSBS, PWC, Accenture, Jonson&Jonson.

2014: AnyLogic 7

1990-1998

На початку 1990-х років у комп'ютерній науці спостерігався великий інтерес до побудови опису взаємодії паралельних процесів, що математично трактується. Що позначилося на підходах до аналізу коректності паралельних та розподілених програм. Група вчених із Санкт-Петербурзького політехнічного університету розробила програмне забезпечення для аналізу коректності системи; новий інструмент назвали COVERS (Паралельна Верифікація та Моделювання). Аналізована система процесів задавалася графічно, за допомогою опису її структури та поведінки окремих паралельних компонентів, які могли взаємодіяти з оточенням – з іншими процесами та середовищем. Інструмент використовувався у дослідницьких проектах компанії Hewlett-Packard.

1998 року успіх цього дослідження надихнув лабораторію організувати комерційну компанію з місією створення нового програмного забезпечення для імітаційного моделювання. Акцент під час розробки ставився на прикладні методи: моделювання стохастичних систем, оптимізацію та візуалізацію моделі. Нове програмне забезпечення, випущене 2000 р., було засноване на останніх перевагах інформаційних технологій: об'єктно-орієнтований підхід, елементи стандарту UML, мови програмування Java, сучасного GUI тощо.

Продукт отримав назву AnyLogic, тому що він підтримував усі три відомі методи моделювання:

  • системна динаміка;
  • дискретно-подійне моделювання|дискретно-подійне (процесне) моделювання;
  • Агентне моделювання.

А також будь-яку комбінацію цих підходів у межах однієї моделі. Першої версії було присвоєно індекс 4 – Anylogic 4.0, оскільки нумерація продовжила історію версій попередньої розробки – COVERS 3.0.

Величезний крок уперед був зроблений у 2003 році, коли був випущений AnyLogic 5, орієнтований на бізнес-моделювання. За допомогою AnyLogic стало можливим розробляти моделі в наступних галузях:

AnyLogic & Java

AnyLogic включає графічну мову моделювання, а також дозволяє користувачеві розширювати створені моделі за допомогою мови Java. Інтеграція компілятора Java в AnyLogic надає більш широкі можливості при створенні моделей, а також створення аплетів Java, які можуть бути відкриті будь-яким браузером. Ці аплети дозволяють легко розміщувати моделі AnyLogic на веб-сайтах. На додаток до аплетів Java, AnyLogic Professional підтримує створення Java додатків, в цьому випадку користувач може запустити модель без інсталяції AnyLogic.

Методи імітаційного моделювання

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

Системна динаміка та дискретно-подійне (процесове) моделювання, під яким ми розуміємо будь-який розвиток ідей GPSS – це традиційні усталені підходи, агентне моделювання – відносно новий. Системна динаміка оперує переважно з безперервними у часі процесами, тоді як дискретно-подійне та агентне моделювання - з дискретними.

Системна динаміка та дискретно-подійне моделювання історично викладаються абсолютно різним групам студентів: менеджмент, інженери з організації виробництва та інженери-розробники систем управління. У результаті виникли три різних спільноти, що практично не перетинаються, які майже ніяк не спілкуються один з одним.

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

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

При розробці моделей в AnyLogic можна використовувати концепції та засоби з кількох методів моделювання, наприклад, в агентній моделі використовувати методи системної динаміки для представлення змін стану середовища або безперервної моделі динамічної системи врахувати дискретні події. Наприклад, управління ланцюжками постачання за допомогою імітаційного моделювання вимагає опису учасників ланцюга постачання агентами: виробники, продавці, споживачі, мережа складів. При цьому виробництво описується в рамках дискретно-подійного (процесного) моделювання, де продукт чи його частини – це заявки, а автомобілі, потяги, штабелери – ресурси. Самі поставки є дискретними подіями, але при цьому попит на товари може описуватися безперервною системно-динамічною діаграмою. Можливість змішувати підходи дозволяє описувати процеси реального життя, а чи не підганяти процес під доступний математичний апарат.

Середовище моделювання

  • Action charts(Блок-схеми) використовується для побудови алгоритмів. Застосовується у дискретно-подійному моделюванні (маршрутизація дзвінків) та агентному моделюванні (для логіки рішень агента).
  • Process flowcharts(процесні діаграми) основна конструкція, що використовується для визначення процесів дискретно-подійного моделювання.
  • Середовище моделювання також включає: низькорівневі конструкції моделювання (змінні, рівняння, параметри, події тощо), форми подання (лінії, квадрати, овали тощо), елементи аналізу (бази даних, гістограми, графіки), стандартні картинки та форми експериментів.

    Середовище моделювання AnyLogic підтримує проектування, розробку, документування моделі, виконання комп'ютерних експериментів з моделлю, включаючи різні види аналізу – від аналізу чутливості до оптимізації параметрів моделі щодо певного критерію.

    Бібліотеки AnyLogic

    AnyLogic включає набір наступних стандартних бібліотек:

    • Enterprise Libraryрозроблена для підтримки дискретно-подійного моделювання у таких галузях як Виробництво, Ланцюги поставок, Логістика та Охорона здоров'я. Використовуючи Enterprise Library, Ви можете змоделювати системи реального світу з погляду заявок (англ. entity) (угод, клієнтів, продуктів, транспортних засобів, тощо), процесів (послідовності операцій, черг, затримок) та ресурсів. Процеси визначені у формі блокової діаграми.
    • Pedestrian Libraryстворена для моделювання пішохідних потоків у «фізичному» навколишньому середовищі. Це дозволяє створювати моделі з великою кількістю пішохідного трафіку (як станції метро, ​​перевірки безпеки, вулиці тощо). Моделі підтримують облік статистики густини руху в різних областях. Це гарантує прийнятну роботу пунктів обслуговування з обмеженнями по завантаженості, оцінює довжину простоювання у певних областях, і виявляє потенційні проблеми з внутрішньою геометрією – такі як ефект додавання надто великої кількості перешкод – та іншими явищами. У моделях, створених за допомогою Pedestrian Library, пішоходи рухаються безперервно, реагуючи на різні види перешкод (стіни, різні види областей) так само, як і звичайні пішоходи. Пішоходи моделюються як взаємодіючі агенти зі складною поведінкою. Для швидкого опису потоків пішоходів Pedestrian Library забезпечує високорівневий інтерфейс у вигляді блокової діаграми.
    • Rail Yard Libraryпідтримує моделювання, імітацію та візуалізацію операцій сортувальної станції будь-якої складності та масштабу. Моделі сортувальної станції можуть використовувати комбіновані методи моделювання (дискретно-подійне та агентне моделювання), пов'язані з діями при транспортуванні: навантаженнями та розвантаженнями, розподілом ресурсів, обслуговуванням, різними бізнес-процесами.

    Примітки

    Література

    • Карпов, Ю. Г.Імітаційне моделювання систем. Введення в моделювання з AnyLogic 5. – СПб: БХВ-Петербург, 2006. – 400 с. -


    Останні матеріали розділу:

    Малі сторожові кораблі пр
    Малі сторожові кораблі пр

    Хоча радянське надводне кораблебудування почалося з будівництва сторожів (СКР) типу «Ураган», кораблям цього класу мало уваги приділялося...

    Найбільші російські богатирі (16 фото) Чурила Пленкович - Богатир заїжджий
    Найбільші російські богатирі (16 фото) Чурила Пленкович - Богатир заїжджий

    Київ-град стояв на трьох горах і височів над усіма російськими містами. Словом, столиця. Великим та мудрим був київський князь Володимир. Його...

    Новини модернізації крейсерів «Орлан
    Новини модернізації крейсерів «Орлан

    Тяжкий атомний ракетний крейсер (ТАРКР). У 1964 р. в СРСР розпочато дослідження можливості будівництва великого військового надводного...