Принципи побудови моделей
Зміст
Принципи побудови моделей.
Розглянемо коротко основні принципи моделювання, які відображають достатньо багатий досвід, накопичений на даний час у галузі розроблення і використання моделей.
- Принцип інформаційної достатності.
За повної відсутності інформації про систему модель побудувати неможливо. За наявності повної інформації про систему її моделювання недоцільне. Існує деякий критичний рівень апріорних відомостей про систему (рівень інформаційної достатності), після досягнення якого можна побудувати її адекватну модель.
- Принцип доцільності.
Модель створюється для досягнення деяких цілей, які визначають на первинному етапі формулювання проблеми моделювання.
- Принцип здійсненності.
Модель, яка створюється, має забезпечувати досягнення мети дослідження з урахуванням граничних ресурсів з імовірністю, суттєво відмінною від нуля, і за кінцевий час. Звичайно задають деяке граничне значення Рp (ступінь ризику) ймовірності досягнення мети моделювання P(t), а також сам граничний термін t досягнення мети. Модель вважають здійсненною, якщо P(t) > Рp.
- Принцип множинності моделей.
Модель, яка створюється, має відображати в першу чергу ті властивості реальної системи (або явища), які впливають на вибраний показник ефективності. Відповідно під час використання будь-якої конкретної моделі пізнаються лише деякі складові реальності. Для повного її дослідження необхідно мати ряд моделей, які дали б змогу відобразити певний процес з різних боків і з різним ступенем детальності.
- Принцип агрегації.
У більшості випадків складну систему можна подати такою, що складається з агрегатів (підсистем), для адекватного формального описування яких придатними є деякі стандартні математичні схеми. Принцип агрегації дає змогу досить гнучко перебудовувати модель залежно від завдань дослідження.
- Принцип пераметризації.
У ряді випадків модельована система має у своєму складі деякі відносно ізольовані підсистеми, які характеризуються певними параметрами, у тому числі векторними. Такі підсистеми можна замінювати в моделі відповідними числовими величинами, а не описувати процес їх функціювання. У разі необхідності залежність значень цих величин від ситуації може задаватись у вигляді таблиць, графіків або аналітичних виразів (формул), наприклад за допомогою регресійного аналізу. Принцип параметризації дає змогу скоротити обсяг і тривалість моделювання, але слід мати на увазі, що параметризація знижує адекватність моделі.
Потреба в моделюванні виникає як на етапі проектування систем для оцінювання правильності прийнятих рішень, так і на етапі експлуатації – для оцінювання наслідків внесення змін у системи. У цьому випадку на різних етапах проектування (технічний або робочий проект) з уточненням вихідних даних і виявленням нових суттєвих факторів ступінь деталізації процесу в системі зростає, що має відобразитись у моделі. Отже, у моделі можуть водночас знаходитись блоки з різним ступенем деталізації, які моделюють одні й ті самі компоненти проектованої системи. Іншими словами, під час побудови моделі потрібно застосовувати методологію ітераційного багаторівневого моделювання.
Розроблення моделі доцільно починати зі створення простої вихідної моделі, яку в процесі уточнення вхідних даних і характеристик системи ускладнюють і коригують, тобто адаптують до нових умов. Водночас модель має залишатись досить наочною, тобто її структура має відповідати структурі модельованої системи, а рівень деталізації моделі повинен вибиратись з урахуванням мети моделювання, ресурсних обмежень (наприклад, час, кваліфіковані людські ресурси і кошти, виділені на проектування) і можливості отримання вхідних даних.
Отже, модель має бути багаторівневою, адаптивною, наочною, цільовою, розвиватись ітераційним способом, ускладнюватись і коригуватись у процесі утворення, що можливо тільки за умови побудови її блоковим (модульним) способом. Програмування та налагодження моделі доцільно провадити поетапно, з наступним збільшенням програмних модулів. Один із способів підвищення ефективності моделювання полягає в тому, щоб не будувати заново модель для кожної нової системи, а вирізняти окремі класи систем і створювати уніфіковані програмні моделі для класів у цілому. Узагальнені програмні моделі дають змогу моделювати будь-яку систему із заданого класу без додаткових витрат на програмування. Така методологія забезпечує єдиний системний підхід до розроблення програмних реалізацій моделей і використовується під час об'єктно-орієнтованого програмування у вигляді бібліотеки класів моделей.
Розглянутий підхід можна реалізувати також у вигляді спеціалізованої мови або пакета моделювання, що дає змогу створювати узагальнені моделі шляхом уведення засобів розмноження підмоделей, реорганізації зв'язків між ними та їх параметричного налагодження. Цей спосіб орієнтовано на фахівців, добре обізнаних з мовою моделювання. Інший спосіб реалізації цього підходу полягає в розробленні діалогових інтелектуальних систем моделювання з використанням банку моделей та бази знань, які користувач може налагоджувати на конкретну реалізацію. У цьому разі етап програмування можна повністю виключити під час програмної реалізації імітаційної моделі завдяки використанню ефективних методів взаємодії з базами даних і застосуванню засобів генерації моделей.
Технологія моделювання.
Основою моделювання є методологія системного аналізу. Це дає змогу досліджувати систему, яка проектується або аналізується, за технологією операційного дослідження, включаючи такі взаємопов'язані етапи:
- Формулювання проблеми та змістове поставлення задачі.
- Розроблення концептуальної моделі.
- Розроблення програмної реалізації моделі (зазвичай застосовується комп'ютерна модель), яка включає:
- вибір засобів програмування, за допомогою яких буде реалізовано модель;
- розроблення структурної схеми моделі та складання опису її функціонування;
- програмна реалізація моделі.
- Перевірка адекватності моделі.
- Організація та планування проведення експериментів, яке включає оцінювання точності результатів моделювання.
- Інтерпретація результатів моделювання та прийняття рішень.
- Оформлення результатів дослідження.
На першому етапі замовник формулює проблему. Організовуються зустрічі керівника проекту із замовником, аналітиками з моделювання та експертами з проблеми, яка вивчається. Визначаються цілі дослідження та спеціальні питання, відповіді на які буде одержано за результатами дослідження; встановлюються критерії оцінювання роботи, які використовуватимуться для вивчення ефективності різних конфігурацій системи; розглядаються такі показники, як масштаб моделі, період дослідження і необхідні ресурси; визначаються конфігурації модельованої системи, а також потрібне програмне забезпечення.
На цьому ж етапі провадиться цілеспрямоване дослідження модельованої системи, залучаються експерти з проблеми, що вирішується, які володіють достовірною інформацією. Збирається інформація про конфігурацію системи і способи експлуатації для визначення параметрів моделі і вхідних розподілів імовірностей.
На другому етапі розробляється концептуальна модель – абстрактна модель, яка дає змогу виявити причинно-наслідкові зв'язки, властиві досліджуваному об'єкту в межах, визначених цілями дослідження. По суті, це формальний опис об'єкта моделювання, який відображає концепцію (погляд дослідника на проблему). Вона включає в явному вигляді логіку, алгоритми, припущення й обмеження.
Згідно з цілями моделювання визначаються вихідні показники, які потрібно збирати під час моделювання, ступінь деталізації, необхідні вхідні дані для моделювання.
Рівень деталізації моделі залежить від таких чинників: цілі проекту; критерії оцінювання показників роботи; доступність даних; достовірність результатів; комп'ютерні можливості; думки експертів з проблеми, що вирішується; обмеження, пов'язані з часом і фінансуванням. Провадиться структурний аналіз концептуальної моделі, пропонується опис допущень, які обговорюються із замовником, керівником проекту, аналітиками та експертами з проблеми, яка вирішується. Розробляються моделі вхідних даних, провадиться їх статистичний аналіз, за результатами якого визначають розподіли ймовірностей, регресійні, кореляційні та інші залежності. На цьому етапі для попереднього аналізу даних широко застосовують різні статистичні пакети (наприклад, Statistica).
Для динамічних систем провадиться поопераційний аналіз функціонування модельованої системи з детальним описуванням роботи елементів системи. За результатами такого аналізу можна з'ясувати, чи можна вирішити проблему без застосування засобів моделювання. Детально опрацьована концептуальна модель дає змогу замовнику з іншого боку поглянути на роботу системи та, наприклад, визначити вузькі місця системи, які спричиняють зниження її пропускної здатності.
Одна з найскладніших проблем, з якою має справу аналітик моделювання, полягає у визначенні, чи адекватна модель системі. Якщо імітаційна модель «адекватна», її можна використовувати для прийняття рішень щодо системи, яку вона представляє, тобто ніби вони приймались на основі результатів проведення експериментів з реальною системою. Модель складної системи може тільки приблизно відповідати оригіналу, незалежно від того, скільки зусиль затрачено на її розроблення, тому що абсолютно адекватних моделей не існує.
Оскільки модель завжди має розроблятись для певної множини цілей, то модель, яка є адекватною для однієї мети, може не бути такою для дослідження іншої. Слід відзначити, що адекватна модель не обов'язково є достовірною, і навпаки. Модель може бути достовірною, але, в цьому разі, не використовуватись для прийняття рішень. Наприклад, достовірна модель не може бути адекватною з політичних або економічних причин.
Під час розроблення програмної реалізації моделі визначаються засоби для програмування, тобто мови програмування або пакети. Наприклад, можуть використовуватись мови програмування загального призначення, такі як С чи PASCAL, або спеціалізовані засоби для моделювання (наприклад, Arena, AutoMod, Extend, GPSS, iThink). Перевага використання мов програмування полягає в тому, що, як відомо, вони мають невисоку закупівельну вартість, і на виконання моделі з їх допомогою затрачується менше часу. Натомість використання програмного забезпечення моделювання сприяє зменшенню тривалості програмування і вартості всього проекту.
Серед спеціалізованих пакетів для моделювання слід відзначити MATLAB з інтерактивним модулем Simulink. Пакет MATLAB є всесвітньо визнаним універсальним відкритим середовищем, і мовою програмування водночас, в якому інтегровані засоби обчислень, візуалізації, програмування та моделювання. Здійснюється програмування моделі та її налагодження, виконуються тестові прогони моделі на основі контрольних даних, провадиться аналіз чутливості, щоб визначити, які фактори в моделі суттєво впливають на робочі характеристики системи і мають моделюватись дуже точно.
Перевірка достовірність моделі
Після кожного з вищезазначених етапів перевіряється достовірність моделі. Перевірку умовно можна розділити на два етапи: перевірка правильності створення концептуальної моделі, тобто задуму – валідація; перевірка правильності її реалізації – верифікація. Під час перевірки достовірності потрібно відповісти на запитання про відповідність моделі модельованій системі, тобто визначити, наскільки ізоморфні система та модель. Як правило, у разі моделювання вимога ізоморфізму об'єкта та моделі надмірна, бо в цьому разі складність моделі має відповідати складності об'єкта. Через те будують гомоморфні моделі, в яких виконується вимога однозначної відповідності моделі об'єкту.
Валідація – це процес, який дає змогу встановити, чи є модель (а не комп'ютерна програма) точним відображенням системи для конкретних цілей дослідження.
Верифікація – логіко-методологічна процедура встановлення істинності наукової гіпотези на підставі їхньої відповідності емпіричним даним або теоретичним положенням, що відповідають емпіричним даним .
На етапі верифікації розглядають, чи правильно перетворено концептуальну модель (модельні припущення) на комп'ютерну програму, тобто виконують налагодження програми моделювання. Це складне завдання, оскільки може існувати безліч логічних шляхів.
Етап перевірки правильності реалізації моделі включає перевірку еквівалентності перетворення моделі на кожному з етапів її реалізації та порівняння станів.
Розробляється план проведення експериментів з моделлю для досягнення поставлених цілей. Основна мета планування експериментів – вивчення поведінки модельованої системи при найменших витратах під час експериментів.
- Зазвичай провадять такі експерименти:
- порівнюють середні значення і дисперсії різних альтернатив;
- визначають важливість урахування впливу змінних та обмежень, які накладаються на ці змінні;
- визначають оптимальні значення з деякої множини можливих значень змінних.
Проведення експериментів планують для пошуку незначущих факторів. У випадку оптимізації якого-небудь числового критерію формулюють гіпотези щодо вибору найкращих варіантів структур модельованої системи або режимів її функціонування, визначають діапазон значень параметрів (режимів функціонування) моделі, у межах якого знаходиться оптимальне рішення. Визначають кількість реалізацій та час прогону моделі кожної реалізації. Провадять екстремальний експеримент, за результатами якого знаходять оптимальне значення критерію і відповідні значення параметрів. Для оцінювання точності стохастичних моделей будують довірчі інтервали для одержуваних вихідних змінних.
Далі аналізують та оцінюють результати. Наводять результати комп'ютерних експериментів у вигляді графіків, таблиць, роздруківок, а також визначають якісні і кількісні оцінки результатів моделювання. Для унаочнення моделі використовують анімацію. Обговорюють процес створення моделі та її достовірність, щоб підвищити рівень довіри до неї. За отриманими результатами формулюють висновки з проведених досліджень і визначають рекомендації щодо використання моделі й прийняття рішень.
Вищенаведені етапи моделювання взаємопов'язані, а сама процедура створення моделі ітераційна. Це пояснюється тим, що після виконання кожного етапу перевіряється правильність і достовірність моделі та в разі невідповідності моделі об'єкту здійснюється повернення до попередніх етапів з метою коригування та підстроювання моделі. Залежно від характеру внесених змін повертаються безпосередньо до попереднього етапу або до більш ранніх етапів. Детальніше технологія моделювання розглядається в наступних розділах.
На останньому етапі моделювання документально оформлюють усі результати дослідження і готують програмну документацію для використання їх під час розроблення поточних і майбутніх проектів.