Клавіатура Монітор НМД НГД Принтер
Рис. 5.6. Структура персонального комп'ютера із загальною шиною
З основних пристроїв комп'ютера виділимо ті, які повинні бути відображені в моделі, а саме: мікропроцесор (МП), оперативну пам'ять (ОП), монітор, накопи- чувач на жорстких магнітних дисках (НМД), накопичувач на гнучких магнітних дисках (НГД), принтер, клавіатуру та контролери цих пристроїв — контролер клавіатури (КК), контролер монітору (KM), контролер НМД (КНМД), контро лер (КНГД), контролер принтера (КП).
Функціонування комп'ютера можна описати таким чином. Користувачі з клавіатури вводять команди, що складаються з кількох інструкцій, які викликають програмні модулі. Кожну інструкцію будемо вважати одним кроком завдання. Програма та дані знаходяться на магнітних дисках і завантажуються в оперативну пам'ять за окремою командою. Роботу користувача з клавіатурою в моделі можна не враховувати, припускаючи, що набір команд з клавіатури відображається на екрані монітора. Для перенесення програми з магнітних дисків у пам'ять комп'ютера організується вхідний буфер. Якщо обсяг пам'яті достатній для виконання першого кроку, то після завантаження програми в пам'ять і надання їй часу процесора вона може опрацьовуватися ним доти, доки не видасть запит до магнітних дисків або принтера. У той час, коли здійснюється введення-виведення даних на зовнішні пристрої, процесор може виконувати інше завдання. Після виконання операції введення-виведення даних завдання знову чекає в черзі, доки йому не буде надано час процесора. Якщо крок завдання закінчився, то звільняється пам'ять і здійснюється виведення даних на принтер через вихідний буфер.
Вважається, що на жорсткому диску знаходяться програми операційної системи і системні програми, а також бібліотеки користувача. Під час виконання програми вона може запитувати вхідні дані з гнучкого диска. Роботу операційної системи і системних програм до уваги не прийматимемо, припускаючи, що вони в однаковій мірі впливають на програми користувачів.
5.9.1. Концептуальна модель персонального комп'ютера
Всі пристрої, продуктивність яких впливає на час виконання завдання на комп'ютері, будемо розглядати як ресурси системи. Такі пристрої, як монітор, процесор, накопичувачі на магнітних дисках і принтер, не можна експлуатувати в режимі розподілу часу, тобто в конкретний час їх може використовувати тільки одне завдання. У пам'яті ж одночасно можуть знаходитись кілька завдань. Завдання може одночасно використовувати кілька ресурсів.
Враховуючи те, що швидкість роботи контролерів пристроїв уведення-виве- дення значно перевищує швидкість роботи самих пристроїв, будемо вважати, що швидкість роботи пристроїв визначається швидкістю роботи самих пристроїв, а не їх контролерів.
Тоді структурну схему концептуальної моделі комп'ютера можна відобразити так, як зображено на рис. 5.7. Зазначені на схемі лічильники необхідні для підра- хування кількості завдань, які надійшли до комп'ютера і залишили його.
Вхідні і вихідні буфери можна об'єднати відповідно з монітором і пристроєм для друку. Тоді в концептуальній моделі будуть явно задані такі ресурси: МП, ОП, НМД, НГД, МОНІТОР, ПРИНТЕР.
Рис. 5.7. Концептуальна модель комп'ютера
З огляду на мету моделювання визначимо, що на виході моделі необхідно отримати дані про середній час виконання завдань і пропускну здатність комп'ютера (кількість завдань, виконаних за певний час). Вхідні дані визначають закон розподілу надходження завдань у комп'ютер, число кроків у кожному завданні та ємність пам'яті, загальний час виконання кроку завдання процесором, частоту запитів до зовнішніх накопичувачів і пристроїв, розподіл обсягу виведеної на друк інформації, обсяг інформації, яка зчитується або записується на зовнішні накопичувані, обсяг інформації, що вводиться. Ці дані можна отримати за допомогою програм тестування реального комп'ютера. Крім цих даних необхідно задати параметри для пристроїв комп'ютера, такі як швидкодія процесора, ємність пам'яті, накопичувачів на магнітних дисках, вхідних і вихідних буферів, мінімальний та максимальний час пошуку даних на магнітних дисках, швидкість друку на принтері, швидкість уведення інформації з клавіатури.
5.9.2. Розроблення імітаційної моделі
Для розроблення моделі скористаємось подійним алгоритмом моделювання. Для кожної пари «завдання—ресурс» будемо визначати, як довго деяке завдання J використовуватиме деякий ресурс R, тобто визначатимемо інтервал часу, коли завданню J буде призначено ресурс R і коли воно звільнить цей ресурс.
Однак перед тим, як ресурс R буде призначено завданню J, повинна надійти вимога на його використання. У загальному випадку завдання може чекати в черзі надання ресурсу.
Тоді під час створення імітаційної моделі комп'ютера можна користуватись такими двома способами.
Створити та підтримувати протягом моделювання список подій у хронологічному порядку.
Створити підпрограми опрацювання подій кожного типу і викликати їх тоді, коли подія даного типу стає першою в списку подій. Всі підпрограми подій можуть змінювати список подій, створюючи нові події та плануючи їхнє виконання в деякому майбутньому модельному часі.
Діаграму подій імітаційної моделі комп'ютера зображено на рис. 5.8.
{8}
Надходження
11
Звільнення ОП
{7}
і
Запит-призначення пристрою друку
12
Введення команди з клавіатури на монітор
Запит-призначення монітора
І
Запит-призначення НМД
1
Запит-призначення НМДПошук, затримка, пересилання НМД - пристрій друку
Пошук, затримка, пересилання НМД - монітор
{1}
{9}
Звільнення НМД
Звільнення НМД
{2}
Звільнення монітора
{10}
13 Звільнення пристрою друку
Вихід
14
1
6 Запит-призначення ОП
1.
{5}
Запит-призначення НМД
1
Запит-призначення НМД
Пошук, затримка, пересилання НМД - ОП
Звільнення НМД
т
Звільнення НМД
{6}
{4}
1
Запит-призначення МП
W-
{2}~ {3>- {4}-
{5}- {6}~ {7}- {8}- {9}-
{10}-
Обчислення (Розрахунок)
Звільнення МП
1
{3}
Запит-призначення НГД
Затримка, пересилання НГД - ОП
Звільнення НГД
10
вхідний буфер порожній, пересилання не завершено; введення інформації завершено; запит до НМД; крок завдання не завершено; запит до НМД; крок завдання завершено; кроків завдань більше немає; ще є кроки завдання?; вхідний буфер повний, друк не завершено; друк завершено
Рис. 5.8. Діаграма подій імітаційної моделі комп'ютера Тепер опишемо алгоритми роботи цих підпрограм. Підпрограма Запит-призначення
Якщо ресурс R вільний і його можна негайно виділити завданню J, то він позначається як зайнятий і планується настання наступної події для завдання J. У протилежному випадку запит від завдання J ставиться в чергу до ресурсу R.
Підпрограма Звільнення
Ресурс R позначається як вільний і планується наступна подія для завдання J. Якщо черга до ресурсу R не порожня, планується подія Запит-призначення чергового завдання К для ресурсу R і завдання вибирається з черги до ресурсу R. У протилежному випадку підпрограма не виконує ніяких дій.
Для того щоб простежити шляхи проходження завдань по ресурсам комп'ютера, необхідно визначити ще дві події і відповідні підпрограми: Надходження та Вихід. Між цими подіями не існує явного зв'язку. Якщо уявити персональний комп'ютер як деякий узагальнений ресурс, то підпрограма Надходження завжди призначає цей узагальнений ресурс завданню, яке надійшло.
Підпрограма Надходження
Готує характеристику (параметри) завданню J, тобто фіксує час надходження завдання до ПК. Визначає вимоги завдання до ресурсів. Планує наступну подію для J і прибуття наступного завдання К.
Підпрограма Вихід
Підпрограма Вихід є набагато простішою за підпрограму Звільнення. Вона лише знищує характеристику завдання J.
Структурну схему програми імітаційної моделі комп'ютера наведено на рис. 5.9.
Рис. 5.9. Структурна схема програми імітаційної моделі комп'ютера: 1 — підпрограма ініціалізації; 2 — ПКМ; 3 — підпрограма події 1 (Надходження); 4 — підпрограма події 2 (Запит-призначення МОНІТОРА); 5 — Звільнення МОНІТОРА; ... 15 — підпрограма події 13 (Вихід); 16 — Вибірка; 17 — перевірка завершення моделювання
Програма ініціалізації готує структури даних, необхідні для моделювання, та задає їм початкові значення. Програма керування моделюванням вибирає (викликає) наступну подію, яка після виконання підпрограми повертає керування ПКМ, а потім збільшує модельний час до наступної події. Обидва ці завдання виконуються шляхом перевірки запису в списку подій. Кожний запис у цьому списку містить:
тип події, яка використовується для виклику відповідної підпрограми події;
ім'я або номер завдання, що передається як аргумент усім підпрограмам події;
тип події, що буде викликатись за даною подією.
Якщо необхідно враховувати пріоритетне планування, алгоритм роботи підпрограми обробки події процесора значно ускладнюється. Програми, які виконуються комп'ютером, можуть мати різний пріоритет, наприклад програми операційної системи і програми користувачів. Якщо поява більш пріоритетного завдання може перервати виконання процесором завдання з меншим пріоритетом, то необхідно дозволити процесору виконувати завдання з більшим пріоритетом, як тільки воно з'явиться в черзі. У цьому випадку подію звільнення процесора від завдання потрібно вивести зі списку подій за допомогою програми Запит-призначення для процесора і процесор призначити завданню з більш високим пріоритетом. Ця ж підпрограма повинна поставити перерване завдання в чергу до процесора для того, щоб надати їй його знову для доопрацювання перерваної програми. Надходження завдання з більшим пріоритетом може також перервати завдання, яке виконує процесор, тобто в цьому випадку може утворитись список перерваних завдань.
На діаграмі подій є події, після яких можливе одночасне настання двох подій. Ці події є взаємовиключними. Порядок звертання до тих або інших подій залежить від логіки та характеристик завдань, виконуваних користувачем.
Наприклад, після звільнення НМД для 7-го завдання необхідно запланувати настання однієї з таких подій:
Запит-призначення НМД;
Запит-призначення МП;
Звільнення ОП;
Звільнення принтера.
Наприклад, Запит-призначення МП буде заплановано в тому випадку, якщо завдання J було тільки що завантажене в пам'ять або запит на НМД був задовільний, а обчислення для поточної команди завдання ще не завершене. Таким чином, інформація про послідовність виконання подій у програмі повинна утримуватись у самій моделі та безперервно опрацьовуватись у процесі моделювання.
Підпрограму Вибірка призначено для збору статистичних даних у процесі моделювання. Наприклад, пропускну здатність комп'ютера можна визначити, якщо підрахувати завдання, які залишили комп'ютер у підпрограмі Вихід, і поділити їх на час моделювання після виходу всіх завдань. Також потрібно збирати статистичні дані про завантаження ресурсів. Для цього необхідно визначити загальний час використання ресурсу та поділити його на загальний час моделювання.
Для визначення середнього часу виконання завдань користувачів у системі позначимо через tt середній час проходження по перших і завданнях, а через tj — час проходження завдання/ Тоді середній час виконання завдань знайдемо як
(5.1)
Для наступного завдання,/ + 1 формула (5.1) буде мати такий вигляд:
(5.2)
Аналогічно запишемо оцінку вибіркової дисперсії of+1, використовуючи визначення для оцінки дисперсії та знаючи erf, отримаємо за допомогою кількох алгебричних дій вираз
+ (5-3)
і + 1 (г +1)
Формули (5.2) і (5.3) дають змогу рекурентно обчислювати всі послідовні значення відповідно для оцінювання математичного сподівання та дисперсії (of = 0). Потрібно тільки знати значення і, сі;2, ti+\ і t{.
5.9.3. Процесно-орієнтований алгоритм моделювання персонального комп'ютера
СМП
ПУМ
Для того щоб урахувати взаємодію процесів у моделі, потрібно вести два списки подій: список майбутніх подій (СМП) і список умовних подій (СУП) (рис. 5.10). Основна увага при розробці моделюючого алгоритму зосереджується на шляхах проходження завдання в моделі і взаємодіях процесів, що виконуються паралельно. Підпрограма процесу описує «життєвий цикл» завдання в системі.
Початок
Ініціалізація]
Рис. 5.10. Списки подій для моделі комп'ютера, орієнтованої на процеси
Якщо наступна подія для модельованого завдання повинна відбутись у деякий модельний час, то цю подію можна планувати безумовно, і для неї додається запис у СМП. Якщо це зробити неможливо, наприклад через взаємодію з іншими завданнями, які в даний момент займають необхідні ресурси, то запит подається в СУП. Після цього керування повертається до ПКМ, яка здійснює повернення в підпрограму процесу через точку входу, що є безпосередньо наступною за оператором ЧЕКАТИ (умови) доти, доки завдання не буде вибране для обслуговування цим ресурсом. Таким чином, підпрограми процесів повинні мати ряд точок входу та виходу з процесів.
На рис. 5.11 зображено схему частини процесу для надання завдання МП для обчислювання. У цій схемі ПКМ, а не програма процесу, планує та призначає ресурси. Схему можна модифікувати, щоб це завдання вирішувала програма процесу.Дійсно, ресурси розглядаються як пасивні об'єкти, і ця схема не моделює в явному вигляді поведінку ресурсу.
Точка входу
Рис. 5.11. Фрагмент блок-схеми призначення процесора завдання
Фрагмент блок-схеми, яка в явному вигляді моделює поведінку ресурсу, зображено на рис. 5.12.
Рис. 5.12. Фрагмент схеми, яка
в явному вигляді моделює поведінку ресурсу
5.10. Перевірка достовірності і правильності імітаційних моделей
Технологія імітаційного моделювання охоплює всі етапи життєвого циклу моделі — від її створення до впровадження та супроводження. У розділі 5.3 було визначено основні взаємопов'язані етапи імітаційного моделювання, після кожного з яких необхідно робити перевірки, щоб довести відповідність моделі цілям моделювання. Перш за все під час перевірки моделі потрібно відповісти на два основних запитання:
Чи правильно побудовано імітаційну модель?
Чи побудовано правильну імітаційну модель?
Перше питання стосується верифікації (verification) — перевірки достовірності моделі, яка доводить, що модель правильно і з достатньою точністю переведено від однієї форми в іншу. Перевірка достовірності моделі пов'язана з правильною побудовою моделі. Точність перетворення формулювання проблеми в модельний опис і точність перетворення модельного зображення із логічної блок-схеми у розроблену комп'ютерну програму оцінюються під час перевірки достовірності моделі.
Друге питання стосується валідації (validation), тобто обґрунтованості моделі, відповідності її задуму, або доказу правильності моделі. Модель повинна в межах галузі використання працювати з потрібною точністю, і її використання повинне відповідати цілям моделювання. Це стосується порівняння поведінки моделі з поведінкою системи.
Останнім часом використовують ще один термін — акредитація (accreditation), тобто офіційне свідчення того, що імітаційна модель прийнятна для застосування в межах деякої області, обумовлених цілями моделювання.
Існує багато методів для перевірки достовірності та правильності імітаційної моделі й довіри до неї. У праці Болкі [71] розглянуто понад 100 методів для дослідження звичайних і об'єктно-орієнтованих імітаційних моделей та загальні принципи перевірки моделей. Перевірка достовірності і правильності моделі, тестування, адекватність, легалізація і дії щодо оцінювання довіри насамперед пов'язані з вимірюванням і оцінюванням точності під час моделювання та імітації. Обґрунтування адекватності моделі доводить, що модель працює, у межах використання, із задовільною точністю, сумісною з метою імітаційного моделювання.
Ітераційна процедура проектування імітаційної моделі передбачає порівняння результатів моделювання та вихідних змінних реальної системи за умови, що вхідні дані однакові, у результаті чого визначається точність моделі. Модель вважається досить точною, якщо її вихідні змінні відрізняються від вихідних даних модельованої системи менш ніж на задані граничні значення. Отже, точність моделі визначається різницею між вихідними даними системи та моделі. Під час порівняння двох варіантів моделі для визначення кращого необхідно використовувати однакові послідовності випадкових чисел. За показник якості критерію оцінювання точності можна брати похибку, яка визначається як різниця між середніми значеннями вихідних величин системи та моделі. Якщо для деякої вихідної змінної системи у і (і = 1, ..., т) знайдено п значень, то
1 "
Еі -y'ij)' і=1,-,т; j = і, ..., п,
п і=1
де y\j — і-та вихідна змінна моделі.
У разі використання похибки як показника якості критерію Е\ можливий значний розкид конкретних і-х значень для величин у у та у'у. Тому такий критерій буде кращим у тому разі, якщо в ньому використовуються функції розподілу для Уу та у'у, тобто відповідно Ffy) та -F;(z/'). Тоді можна визначити похибку як
+СС
j\Fi(y)-Fi(y')\dy.
о
Доцільніше використовувати оцінку Еь ніж Е{, бо перша дає змогу порівнювати локально, або поточково, ці дві функції і підсумовувати абсолютні значення їх різниць. Завдяки цьому можна уникнути часткової компенсації похибок через різницю знаків. Здобуття результатів моделювання, розподіли яких ідентичні або близькі, є необхідною, але не достатньою умовою для того, щоб модель була точною в межах області розумних значень вхідних змінних. У цьому разі цілком можливо, що поведінка деяких процесів у моделі відрізнятиметься від поведінки цих самих процесів у системі, навіть якщо модель за деяких вхідних умов демонструє такі самі вихідні розподіли, як і система. Причому ефективнішим критерієм оцінювання, ніж Е{ та Е2, буде той, в якому використовується розподіл різниці значень для у у та у\у Як такий критерій можна застосувати середнє арифметичне квадратів різниць значень:
1 "
£з -y'ijf, і=1,-,Щ j=l,...,n.
п
Отже, ітераційне проектування імітаційної моделі має мінімізувати обрані критерії Ех, Е2, Е3. Критерії Е2, £3 можуть використовуватись і для детермінованих моделей, хоча вони мають вигляд випадкових і визначають розкид значень вихідної величини.
Складності під час оцінювання точності моделі виникають тоді, коли модельованої системи не існує або вона є недоступною для проведення експериментів. У цьому разі необхідно використовувати ті самі методи, що й під час перевірки правильності моделі з використанням контрольних завдань і залученням експертів.
Порівнюючи два або більше варіантів імітаційної моделі, звичайно не цікавляться абсолютними показниками для кожної моделі, а тільки звертають увагу на характеристики, які порівнюють. Для порівняння потрібно знати діапазони змін основних вхідних змінних і провести якісний аналіз варіантів порівнюваних моделей, як, наприклад, зображено на рис. 5.13. Передбачається, що розглядається два варіанти моделі мережі обробки інформації А та В, для яких основним критеріємвибору системи є час її реакції на запит користувача £від, який залежить від кількості увімкнутих терміналів N. На рис. 5.13, а видно, що варіант А в цьому діапазоні зміни навантаження кращий за варіант В. Якщо маємо графіки, зображені на рис. 5.13, б, то необхідне уточнення значень параметрів.
а б
Рис. 5.13. Графіки часу реакції для різних варіантів моделей
Показники якості імітаційних моделей звичайно залежать від кількох параметрів, для визначення яких потрібно будувати складну поверхню в багатовимірному просторі. Тому дуже важливо ретельно планувати проведення експериментів для такої моделі [18].
Важливе значення має тестування моделі, за результатами якого встановлюють, чи існують у моделі похибки або помилки, а також визначають, чи функціонує вона належним чином. Деякі тести призначено для оцінювання точності поведінки (тобто, обґрунтованості) моделі, а деякі — для перевірки точності модельного перетворення з однієї форми в іншу (перевірку достовірності). Наведемо принципи, за якими слід здійснювати тестування моделі.
Перевірка повинна провадитись протягом усього життєвого циклу моделювання.
Результати перевірки не повинні розглядатись як бінарна змінна, де модель абсолютно правильна або неправильна.
Імітаційна модель, побудована відповідно до деякої мети, і рівні довіри до неї також повинні бути оцінені щодо тієї ж мети.
Перевірка повинна провадитись без упередженості до розробника.
Достовірність моделі можна вимагати тільки за умов, відносно яких модель перевірена, підтверджена і буде використовуватись.
Повне тестування імітаційної моделі неможливе.
Перевірка і тестування моделі повинні бути заплановані ще під час її розроблення.
Помилки повинні бути виявлені якомога раніше в життєвому циклі моделі.
Успішне тестування кожної підмоделі (модуля) не означає повної довіри до моделі.
10. Обґрунтованість імітаційної моделі не гарантує довіри до отриманих результатів імітації.Життєві цикли моделі не повинні інтерпретуватись як строго послідовні. Наявністю неточностей, виявлених під час перевірки моделі, може бути зумовлене повернення до більш раннього етапу і проведення повторних багаторазових дій з метою удосконалення моделі. Технологія моделювання починається з визначення проблеми і закінчується отриманням результатів. Перевірки і тестування моделі дають змогу ідентифікувати і виправляти якісні неточності на усіх технологічних етапах моделювання за допомогою циклічного повторення етапів, де їх було знайдено.
Під час досліджень модель повинна математично і логічно, з визначеним ступенем наближення, відтворювати модельовану систему, процес або явище. Логічні елементи моделей повинні відповідати логічним елементам системи, а математичний апарат має відображати функції, реалізовані в модельованій системі. Вхідні дані повинні бути інформативними, тобто містити всю необхідну інформацію про модельовану систему. Під час оцінювання правильності побудови імітаційної моделі потрібно розглядати весь ланцюжок її перетворення, починаючи з вхідних даних та формального представлення і закінчуючи результатами моделювання. Тому оцінку достовірності моделі зазвичай розглядають на рівнях концепції і реалізації імітаційної моделі. Концептуальна модель розробляється й описується під час неперервного спостереження за об'єктом моделювання і навколишнього середовища, тому для перевірки достовірності концептуальної моделі використовують метод обернених перетворень моделі.
Враховуючи те, що розробка концептуальної моделі починається з постановки задачі і закінчується створенням концептуальної моделі, перевірку починають з аналізу концептуальної моделі, повертаються до прийнятих апроксимацій і спрощень, а потім розглядають реальний процес. Для перевірки концептуальної моделі залучають експертів, які не брали участі в розробленні моделі.
Перевірка достовірності моделі на рівні її реалізації пов'язана з розглядом наступного ланцюжка її перетворень. Починають з логічної схеми (алгоритму роботи моделі), переходять до схеми програми і потім розглядають саму програму моделі. Фактично на цьому етапі потрібно відповісти на такі запитання:
Чи дає можливість модель виконати поставлене завдання?
Чи точно відтворена модель у логічній схемі?
Чи є повною запропонована логічна схема і чи притаманна їй необхідна послідовність?
Чи правильно використано математичні рівняння?
Далі переходять до перевірки програмної реалізації. Для цього порівнюються функції, виконувані програмою, і логічні схеми. Для перевірки достовірності програми її знову переводять у логічну схему, потім перевіряють окремі модулі програми і всю програму в цілому, використовуючи для цього засоби тестування і налагодження (трасування) зі спеціально підібраними тестами.
На заключному етапі перевірки правильності моделі здійснюються контрольні прогони, а потім робочі розрахунки. Контрольні прогони використовуються для оцінювання чутливості моделі до зміни вхідних даних, а також для перевірки правильності роботи моделі.
Аналіз чутливості тісно пов'язують з точністю результатів порівняння статистичних гіпотез. Для цього можна використати планування проведення експерименту і статистичні критерії для оцінювання відгуків у різних варіантах моделей.
Остаточне налагодження моделі здійснюється на контрольних завданнях, які готуються незалежно від засобів реалізації моделі. Збіг результатів моделювання і контрольних варіантів свідчить про відповідність і коректність моделі до завдань даного типу. Контрольні варіанти можна побудувати зі спрощеними вхідними даними, для яких заздалегідь відомо, як повинна поводитись модельована система і які результати повинні бути на виході.
З цією ж метою імітаційну модель може бути спрощено до такого рівня, який дозволить побудувати аналітичну модель. Тоді можна порівнювати результати імітаційного моделювання й аналітичні розрахунки, але тільки в межах спрощеної моделі.
Для іншого методу перевірки адекватності використовують контрольні завдання, визначені за результатами роботи реальної системи, якщо вона існує. У разі виявлення чутливості моделі до деяких вхідних даних необхідно уточнити ці дані і відкоригувати ті блоки моделей, на які вони впливають більшою мірою, тобто перейти до детальнішого опису цих блоків. Чим детальніше побудовано модель, тим ширша сфера її застосування і тим стійкіша вона до зміни вхідних даних.
Висновки
Імітаційне моделювання можна застосовувати як універсальний підхід для прийняття рішень в умовах невизначеності та для врахування в моделях факторів, які важко формалізуються.
Імітаційне моделювання включає такі взаємопов'язані етапи: + формулювання проблеми і змістовна постановка задачі;
+ розроблення концептуальної моделі; + розроблення і програмна реалізація імітаційної моделі; + перевірка правильності та достовірності моделі; + організація та планування проведення експериментів; + прийняття рішень за результатами моделювання.
У змістовній постановці задачі формулюються цілі моделювання, описуються основні характеристики системи, вхідні та вихідні змінні, їх взаємозв'язок, зовнішні впливи на систему, а також визначаються основні критерії функціонування системи та обмеження.
+ Концептуальною називається абстрактна модель, яка виявляє причинно-на- слідкові зв'язки, властиві досліджуваному об'єкту в межах, визначених цілями дослідження. Це формальний опис об'єкта моделювання, який відображає концепцію (погляд дослідника на проблему).
Під формалізацією розуміють такий опис моделі, який припускає використання математичних методів дослідження, тобто на завершення цього етапу розробляється логіко-математичний опис модельованої системи з урахуванням динаміки її функціонування.
Мови моделювання залежно від способу визначення внутрішньосистемного часу традиційно поділяють на три групи: неперервні, дискретні та неперервно-дискретні (комбіновані).
Терміном модельний час називають арифметичну величину, яка має додатні зростаючі значення та під час моделювання відображає плин часу в моделі.
Побудова діаграми подій — ефективний проміжний етап перетворення концептуальної моделі в програму імітаційної моделі; він дає змогу здебільшого пропускати етап алгоритмізації моделі та переходити безпосередньо до розроблення програми.
Обґрунтування адекватності моделі доводить, що модель, у межах сфери застосування працює із задовільною точністю, сумісною з метою моделювання.
Контрольні запитання та завдання
Які засоби формалізованого зображення можуть використовуватись для концептуальних та імітаційних моделей? Наведіть приклади.
Якими параметрами імітаційної моделі можна характеризувати вибраний рівень деталізації? Чому детальніша модель дорожча? Чому вона більш стійка до змін вхідних даних?
Перерахуйте основні затрати на розроблення та експлуатацію імітаційної моделі.
Як можна відобразити структуру імітаційної моделі? Чи залежить структура моделі від вибраних засобів моделювання?
У чому полягають істотні відміни моделювання, орієнтованого на події та процеси? Наведіть приклади подій та процесів для СМО.
Які проблеми виникають під час розробки засобів автоматизації побудови моделей? Наведіть види цих засобів та назвіть їх переваги.
Побудуйте схему алгоритму і програму моделювання СМО з одним пристроєм. Оцініть трудомісткість її програмування алгоритмічною мовою програмування та мовою GPSS. Які переваги має програмування мовою GPSS?
Від чого залежить точність результатів моделювання? Проаналізуйте цю проблему, починаючи від етапу збору вхідних даних для імітаційної моделі. Як пов'язані між собою точність і адекватність моделі?
Имитационное моделирование (ситуационное моделирование) — метод, позволяющий строить модели, описывающие процессы так, как они проходили бы в действительности. Такую модель можно «проиграть» во времени как для одного испытания, так и заданного их множества. При этом результаты будут определяться случайным характером процессов. По этим данным можно получить достаточно устойчивую статистику.
Имитационное моделирование — это метод исследования, при котором изучаемая система заменяется моделью, с достаточной точностью описывающей реальную систему, с которой проводятся эксперименты с целью получения информации об этой системе. Экспериментирование с моделью называют имитацией (имитация — это постижение сути явления, не прибегая к экспериментам на реальном объекте).
Имитационное моделирование — это частный случай математического моделирования. Существует класс объектов, для которых по различным причинам не разработаны аналитические модели, либо не разработаны методы решения полученной модели. В этом случае аналитическая модель заменяется имитатором или имитационной моделью.
Имитационным моделированием иногда называют получение частных численных решений сформулированной задачи на основе аналитических решений или с помощью численных методов.
Имитационная модель — логико-математическое описание объекта, которое может быть использовано для экспериментирования на компьютере в целях проектирования, анализа и оценки функционирования объекта.
К имитационному моделированию прибегают, когда:
дорого или невозможно экспериментировать на реальном объекте;
невозможно построить аналитическую модель: в системе есть время, причинные связи, последствие, нелинейности, стохастические (случайные) переменные;
необходимо сымитировать поведение системы во времени.
Цель имитационного моделирования состоит в воспроизведении поведения исследуемой системы на основе результатов анализа наиболее существенных взаимосвязей между её элементами или другими словами — разработке симулятора (simulation modeling) исследуемой предметной области для проведения различных экспериментов.
Имитационное моделирование позволяет имитировать поведение системы во времени. Причём плюсом является то, что временем в модели можно управлять: замедлять в случае с быстропротекающими процессами и ускорять для моделирования систем с медленной изменчивостью. Можно имитировать поведение тех объектов, реальные эксперименты с которыми дороги, невозможны или опасны. С наступлением эпохи персональных компьютеров производство сложных и уникальных изделий, как правило, сопровождается компьютерным трёхмерным имитационным моделированием. Эта точная и относительно быстрая технология позволяет накопить все необходимые знания, оборудование и полуфабрикаты для будущего изделия до начала производства. Компьютерное 3D моделирование теперь не редкость даже для небольших компаний.
Имитация, как метод решения нетривиальных задач, получила начальное развитие в связи с созданием ЭВМ в 1950-х — 1960-х годах.
Можно выделить две разновидности имитации:
Метод Монте-Карло (метод статистических испытаний);
Метод имитационного моделирования (статистическое моделирование).
Виды имитационного моделирования
Три подхода имитационного моделирования
Подходы имитационного моделирования на шкале абстракции
Агентное моделирование — относительно новое (1990-е-2000-е гг.) направление в имитационном моделировании, которое используется для исследования децентрализованных систем, динамика функционирования которых определяется не глобальными правилами и законами (как в других парадигмах моделирования), а наоборот, когда эти глобальные правила и законы являются результатом индивидуальной активности членов группы. Цель агентных моделей — получить представление об этих глобальных правилах, общем поведении системы, исходя из предположений об индивидуальном, частном поведении её отдельных активных объектов и взаимодействии этих объектов в системе. Агент — некая сущность, обладающая активностью, автономным поведением, может принимать решения в соответствии с некоторым набором правил, взаимодействовать с окружением, а также самостоятельно изменяться.
Дискретно-событийное моделирование — подход к моделированию, предлагающий абстрагироваться от непрерывной природы событий и рассматривать только основные события моделируемой системы, такие как: «ожидание», «обработка заказа», «движение с грузом», «разгрузка» и другие. Дискретно-событийное моделирование наиболее развито и имеет огромную сферу приложений — от логистики и систем массового обслуживания до транспортных и производственных систем. Этот вид моделирования наиболее подходит для моделирования производственных процессов. Основан Джеффри Гордоном в 1960-х годах.
Системная динамика — парадигма моделирования, где для исследуемой системы строятся графические диаграммы причинных связей и глобальных влияний одних параметров на другие во времени, а затем созданная на основе этих диаграмм модель имитируется на компьютере. По сути, такой вид моделирования более всех других парадигм помогает понять суть происходящего выявления причинно-следственных связей между объектами и явлениями. С помощью системной динамики строят модели бизнес-процессов, развития города, модели производства, динамики популяции, экологии и развития эпидемии. Метод основан Джеем Форрестером в 1950 годах.
Области применения
Бизнес-процессы
Боевые действия
Динамика населения
Дорожное движение
ИТ-инфраструктура
Математическое моделирование исторических процессов
Логистика
Производство
Рынок и конкуренция
Сервисные центры
Цепочки поставок
Уличное движение
Управление проектами
Экономика здравоохранения
Экосистема
Информационная безопасность
|