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

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

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

Вимоги користувача до моделі.Сформулюємо основні вимоги до моделі процесу функціонування системи .

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

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

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

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

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

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

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

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

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

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

Мал. 1. Взаємозв'язок етапів моделювання систем

Перерахуємо ці підетапи:

1.1 - постановка задачі машинного моделювання системи; 1.2 – аналіз завдання моделювання системи; 1.3-визначення вимог до вихідної інформації про об'єкт моделювання та організація її збору; 1.4 - висування гіпотез та прийняття припущень; 1.5 - визначення параметрів та змінних моделі; 1.6 – встановлення основного змісту моделі; 1.7 – обґрунтування критеріїв оцінки ефективності системи; 1.8 – визначення процедур апроксимації; 1.9 – опис концептуальної моделі системи; 1.10 – перевірка достовірності концептуальної моделі; 1.11 – складання технічної документації за першим етапом; 2.1 – побудова логічної схеми моделі; 2.2 – отримання математичних співвідношень; 2.3 – перевірка достовірності моделі системи; 2.4 – вибір інструментальних засобів для моделювання; 2.5 – складання плану виконання робіт з програмування; 2.6 -специфікація та побудова схеми програми; 2.7 - верифікація та перевірка достовірності схеми програми; 2.8 – проведення програмування моделі; 2.9 – перевірка достовірності програми; 2.10 – складання технічної документації за другим етапом; 3.1 – планування машинного експерименту з моделлю системи; 3.2 – визначення вимог до обчислювальних засобів; 3.3 – проведення робочих розрахунків; 3.4 – аналіз результатів моделювання системи; 3.5 – подання результатів моделювання; 3.6 – інтерпретація результатів моделювання; 3.7 - підбиття підсумків моделювання та видача рекомендацій; 3.8 – складання технічної документації за третім етапом.

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

МОСКІВСЬКИЙ ТЕХНОЛОГІЧНИЙ ІНСТИТУТ
Комп'ютерне моделювання
Бужинський В.А. ктн
доцент

Москва
2014

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

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

Тема №1. Основні поняття комп'ютерного моделювання.
Тема № 2. Побудова моделюючих алгоритмів: формалізація та
алгоритмізація процесів.
Тема №3. Універсальність математичних моделей.
Тема №4. Математичні моделі складних систем.
Тема № 5. Безперервно-детерміновані, дискретно-детерміновані, дискретно-імовірнісні та безперервно-ймовірні моделі.

Вебінар №2
Побудова моделюючих алгоритмів:
формалізація та алгоритмізація процесів
1. Формалізація моделі
2. Алгоритмізація процесу

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

За допомогою формальних мов будуються формальні
інформаційні моделі Математика є найбільш широко
використовуваним формальним мовою. З використанням математичних
понять та формул будуються математичні моделі.
У природничих науках (фізиці, хімії та ін.) будуються
формальні моделі явищ та процесів. Часто для цього застосовується
універсальна математична мова алгебраїчних формул (до зан. № 3).
Однак у деяких випадках використовуються спеціалізовані
формальні мови (у хімії - мова хімічних формул, у музиці - нотна
грамота і т. д.) (?).

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

Першим етапом будь-якого дослідження є постановка задачі, яка
визначається заданою метою.
Завдання формулюється звичайною мовою. За характером постановки всі
Завдання можна розділити на дві основні групи. До першої групи можна
віднести завдання, в яких потрібно дослідити, як зміняться
Показники об'єкта при певному впливі на нього, «що буде,
якщо?…». Друга група завдань: який треба вплинути на
об'єкт, щоб його параметри задовольняли деякому заданому
умові, «як зробити, щоб?..».
Другий етап – аналіз об'єкта. Результат аналізу об'єкта – виявлення його
складових (елементарних об'єктів) та визначення зв'язків між ними.
Третій етап – розробка інформаційної моделі об'єкта. Побудова
Модель повинна бути пов'язана з метою моделювання. Кожен об'єкт має
велика кількість різних властивостей. У процесі побудови моделі
виділяються головні, найбільш суттєві властивості, які
відповідають цілі
Все те, про що йшлося вище – це формалізація, тобто заміна
реального об'єкта чи процесу його формальним описом, тобто. його
інформаційною моделлю.

10.

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

11.

12.

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

13.

Послідовність команд з управління об'єктом,
виконання яких призводить до досягнення заздалегідь поставленої
Цілі називається алгоритмом управління.
Походження поняття "алгоритм".
Слово «алгоритм» походить від імені математика
середньовічного Сходу Мухаммеда аль-Хорезмі (787-850). Ним були
запропоновано прийоми виконання арифметичних обчислень з
багатозначними числами. Пізніше у Європі ці прийоми назвали
алгоритмами від латинського написання імені аль-Хорезмі. В наш час
поняття алгоритму не обмежується лише арифметичними
обчисленнями.

14.

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

15.

Властивості алгоритмів:
Дискретність - алгоритм має бути розбитий на кроки (окремі
закінчені дії).
Визначеність – у виконавця не повинно виникати
двозначностей у розумінні кроків алгоритму (виконавець
має приймати самостійні рішення).
Результативність (кінцевість) - алгоритм повинен призводити до
кінцевого результату за кінцеве число кроків.
Зрозумілість - алгоритм має бути зрозумілим для виконавця.
Ефективність - з можливих алгоритмів вибирається той
алгоритм, який містить менше кроків або його виконання
потрібно менше часу.

16.

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

17.

У процесі алгоритмізації вихідний алгоритм розбивається окремі
пов'язані частини, які називають кроками, або приватними алгоритмами.
Розрізняють чотири основні типи приватних алгоритмів:
лінійний алгоритм;
алгоритм із розгалуженням;
циклічний алгоритм;
допоміжний, чи підлеглий, алгоритм.
Лінійний алгоритм - набір інструкцій, що виконуються
послідовно у часі один за одним.
Алгоритм із розгалуженням - алгоритм, що містить хоча б одне
умова, внаслідок перевірки якого ЕОМ забезпечує перехід на
один із двох можливих кроків.
Циклічний алгоритм - алгоритм, що передбачає повторення
однієї й тієї ж дії над новими вихідними даними. Необхідно
помітити, що циклічний алгоритм легко реалізується за допомогою двох
раніше розглянуті типи алгоритмів.
Допоміжний, чи підлеглий, алгоритм - алгоритм, раніше
розроблений і повністю використовуваний при алгоритмізації конкретної
завдання.

18.

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

19.

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

20.

Словесний спосіб опису алгоритмів - це, по суті, звичайна мова, але
з ретельним відбором слів і фраз, які не допускають зайвих слів,
двозначностей та повторень. Доповнюється мова звичайними математичними
позначеннями та деякими спеціальними угодами.
Алгоритм описується як послідовності кроків. На кожному кроці
визначається склад виконуваних дій та напрямок подальших
обчислень. При цьому, якщо на поточному кроці не вказується, який крок повинен
виконуватися наступним, здійснюється перехід до наступного кроку.
приклад. Скласти алгоритм знаходження найбільшого числа із трьох заданих
чисел a, b, c.
Порівняти a та b. Якщо a>b, то як максимум t прийняти a, інакше (a<=b) в
як максимум прийняти b.
Порівняти t та c. Якщо t>c, перейти до кроку 3. Інакше (t максимуму c(t=c).
Прийняти t як результат.
Недоліки словесного способу опису алгоритмів:
відсутність наочності,
недостатня точність.

21.

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

22.

Опис алгоритмів за допомогою програм - алгоритм, записаний на
мовою програмування, називається програмою.
Словесна та графічна форми запису алгоритму призначені для
людини. Алгоритм, призначений для виконання на комп'ютері,
записується мовою програмування (мові, зрозумілому ЕОМ). Зараз
відомо кілька сотень мов програмування. Найбільш популярні:
Сі, Паскаль, Бейсік і т.д.
приклад. Скласти алгоритм знаходження найбільшого числа із трьох
заданих чисел a, b, c.
program MaxFromThree;
var
a, b, c, result: Real;
begin
Write ("Введіть a, b, c");
ReadLn (a, b, c);
if a>b then result:= a else result:= b;
if c>result then result:= c;
WriteLn ("Максимальне з трьох чисел одно:", result:9:2)
end.
(?)

23.

Приклад 1
Даний одновимірний масив, обчисліть середнє арифметичне. (?)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Рішення завдання
Program test;
Var i, summ: Integer;
massiv: array of Integer;
Begin
summ:=0;
for i:=1 to 5 do
begin
Write("Введіть елемент масиву:");
ReadLn (massiv [i]);
summ: = summ + massiv [i];
end;
Write("середнє арифметичне масиву дорівнює:", summ/5);
WriteLn;
End.
(?)

24.

Приклад 2
Побудувати алгоритм процесу кидання тіла під кутом до горизонту
(?)

25.

В.В. Васильєв, Л.А. Сімак, А.М. Рибнікова. Математичне та
комп'ютерне моделювання процесів та систем у середовищі
MATLAB/SIMULINK. Навчальний посібник для студентів та аспірантів. 2008
рік. 91 стор.
Комп'ютерне моделювання фізичних завдань у
Microsoft Visual Basic. Підручник Автор: Алексєєв Д.В.
СОЛОН-ПРЕС, 2009 р
Автор: Орлова І.В., Половніков В.А.
Видавництво: Вузовський підручник
Рік: 2008

26.

Анфілатов, В. С. Системний аналіз в управлінні [Текст]: навч. посібник / В. С.
Анфілатов, А. А. Ємельянов, А. А. Кукушкін; за ред. А. А. Ємельянова. - М.:
Фінанси та статистика, 2002. - 368 с.
Вєніков, В.А.. Теорія подібності та моделювання [Текст] / В. А. Вєніков, Г. В.
Вініков.- М.: Вищ.шк., 1984. - 439 с.
Євсюков, В. Н. Аналіз автоматичних систем [Текст]: навчально-методичне
посібник для виконання практичних завдань/В. Н. Євсюков, А. М. Чорноусова. -
2-ге вид., Вик. - Оренбург: ІПК ГОУ ОГУ, 2007. - 179 с.
Зарубін, В. С. Математичне моделювання в техніці [Текст]: навч. для вузів /
За ред. В. С. Зарубіна, О. П. Крищенко. - М.: Вид-во МДТУ ім.Н.Е.Баумана, 2001. -
496 с.
Колесов, Ю. Б. Моделювання систем. Динамічні та гібридні системи [Текст]:
уч. посібник/Ю.Б. Колесов, Ю.Б. Сеніченков. - СПб. : БХВ-Петербург, 2006. – 224 с.
Колесов, Ю.Б. Моделювання систем. Об'єктно-орієнтований підхід [Текст] :
Уч. посібник/Ю.Б. Колесов, Ю.Б. Сеніченков. - СПб. : БХВ-Петербург, 2006. – 192 с.
Норенков, І. П. Основи автоматизованого проектування [Текст]: навч.
вузів / І. П. Норенков. - М.: Вид-во МДТУ ім. Н.Е.Баумана, 2000. - 360 с.
Скуріхін, В.І. Математичне моделювання [Текст]/В. І. Скуріхін, В. В.
Шифрін, В. В. Дубровський. - К.: Техніка, 1983. - 270 с.
Чорноусова, А. М. Програмне забезпечення автоматизованих систем
проектування та управління: навчальний посібник [Текст]/А. М. Чорноусова, В.
Н. Шерстобітова. – Оренбург: ОГУ, 2006. – 301 с.

ФОРМАЛІЗАЦІЯ ТА АЛГОРИТМІЗАЦІЯ ПРОЦЕСУ ФУНКЦІОНУВАННЯ СИСТЕМ

НАСЛІДНІСТЬ РОЗРОБКИ І МАШИННОЇ РЕАЛІЗАЦІЇ МОДЕЛЕЙ СИСТЕМ

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

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

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

Вимоги користувача до моделі.Сформулюємо основні вимоги до моделі Мпроцесу функціонування системи S.

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

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

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

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

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

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

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

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

Моделювання систем за допомогою ЕОМ можна використовувати у таких випадках:

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

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

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

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

Етапи моделювання систем.Розглянемо основні етапи моделювання системи S, до яких належать: побудова концептуальної моделі системи та її формалізація; алгоритмізація моделі системи та її машинна реалізація; отримання та інтерпретація результатів моделювання системи.

Мал. 1. Взаємозв'язок етапів моделювання систем

Взаємозв'язок перерахованих етапів моделювання систем та їх складових (підетапів) може бути представлений у вигляді мережевого графіка, показаного на рис. 1. Перерахуємо ці підетапи: 1.1 – постановка задачі машинного моделювання системи; 1.2 – аналіз завдання моделювання системи; 1.3 - визначення вимог до вихідної інформації про об'єкт моделювання та організацію її збору; 1.4 - висування гіпотез та прийняття припущень; 1.5 - визначення параметрів та змінних моделі; 1.6 – встановлення основного змісту моделі; 1.7 – обґрунтування критеріїв оцінки ефективності системи; 1.8 – визначення процедур апроксимації; 1.9 – опис концептуальної моделі системи; 1.10 – перевірка достовірності концептуальної моделі; 1.11 – складання технічної документації за першим етапом; 2.1 – побудова логічної схеми моделі; 2.2 – отримання математичних співвідношень; 2.3 – перевірка достовірності моделі системи; 2.4 – вибір обчислювальних засобів для моделювання; 2.5 – складання плану виконання робіт з програмування; 2.6 – побудова схеми програми; 2.7 – перевірка достовірності схеми програми; 2.8 – проведення програмування моделі; 2.9 – перевірка достовірності програми; 2.10 – складання технічної документації за другим етапом; 3.1 – планування машинного експерименту з моделлю системи; 3.2 – визначення вимог до обчислювальних засобів; 3.3 – проведення робочих розрахунків; 3.4 – аналіз результатів моделювання системи; 3.5 – подання результатів моделювання; 3.6 – інтерпретація результатів моделювання; 3.7 - підбиття підсумків моделювання та видача рекомендацій; 3.8 – складання технічної документації за третім етапом.

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

ПОБУДУВАННЯ КОНЦЕПТУАЛЬНОЇ МОДЕЛІ СИСТЕМИ ТА ЇЇ ФОРМАЛІЗАЦІЯ

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

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

Розглянемо механізм переходу від опису процесу функціонування певної гіпотетичної системи моделі цього процесу. Для наочності введемо уявлення про опис властивостей процесу функціонування системи S, тобто про її концептуальну модель
як сукупності деяких елементів умовно зображених квадратами так, як показано на рис. 2, а.Ці квадрати є описом деяких підпроцесів досліджуваного процесу функціонування системи. S, впливу зовнішнього середовища Еі т. д. Перехід від опису системи до її моделі у цій інтерпретації зводиться до виключення з розгляду деяких другорядних елементів опису (елементи 5-8, 39-41, 43-47 ). Передбачається, що вони не суттєво впливають на перебіг процесів, що досліджуються за допомогою моделі. Частина елементів ( 14, 15, 28, 29, 42 ) замінюється пасивними зв'язками , що відбивають внутрішні властивості системи (рис. 2, б). Деяка частина елементів 1-4, 10, 11, 24, 25 замінюється вхідними факторами хта впливами зовнішнього середовища . Можливі та комбіновані заміни: елементи 9, 18, 19, 32, 33 замінені пасивним зв'язком та впливом зовнішнього середовища Е . Елементи 22, 23, 36, 37 відбивають вплив системи на довкілля у.

Мал. 2. Модель системи: а -концептуальна; б - блокова

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

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

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

(1)

Якби функції
були відомі, то співвідношення (1) виявилося б ідеальною математичною моделлю процесу функціонування системи S. Однак на практиці отримання моделі досить простого виду для великих систем найчастіше неможливе, тому зазвичай процес функціонування системи Sрозбивають ряд елементарних підпроцесів. При цьому необхідно проводити розбиття на підпроцеси, щоб побудова моделей окремих підпроцесів було елементарно і не викликало труднощів при формалізації. Таким чином, на цій стадії сутність формалізації підпроцесів полягатиме у підборі типових математичних схем. Наприклад, для стохастичних процесів це можуть бути схеми імовірнісних автоматів (Р-схеми),схеми масового обслуговування (Q-схеми)і т.д., які досить точно описують основні особливості реальних явищ, що становлять підпроцеси, з погляду прикладних завдань, що вирішуються.

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

Підетапи першого етапу моделювання.Розглянемо докладніше основні підетапи побудови концептуальної моделі
системи та її формалізації (див. рис. 1).

1.1. Постановка задач машинного моделювання системи.Дається чітке формулювання завдання дослідження конкретної системи Sта основна увага приділяється таким питанням, як: а) визнання існування завдання та необхідності машинного моделювання; б) вибір методики вирішення завдання з урахуванням наявних ресурсів; в) визначення масштабу завдання та можливості розбиття її на підзавдання.

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

1.2. Аналіз задачі моделювання системи.Проведення аналізу завдання сприяє подоланню труднощів, що виникають надалі при її вирішенні методом моделювання. На другому етапі основна робота зводиться саме до проведення аналізу, включаючи: а) вибір критеріїв оцінки ефективності процесу функціонування системи S; б) визначення ендогенних та екзогенних змінних моделі М;в) вибір можливих методів ідентифікації; г)виконання попереднього аналізу змісту другого етапу алгоритмізації моделі системи та її машинної реалізації; д) виконання попереднього аналізу змісту третього етапу отримання та інтерпретації результатів моделювання системи.

1.3. Визначення вимог до вихідної інформації про об'єкт моделювання та організацію її збору.Після встановлення завдання моделювання системи Sвизначаються вимоги до інформації, з якої отримують якісні та кількісні вихідні дані, необхідні вирішення цього завдання. Ці дані допомагають глибоко розібратися у сутності завдання, методах її розв'язання. Таким чином, на цьому підетапі проводиться: а) вибір необхідної інформації про систему Sта зовнішньому середовищі Е;б) підготовка апріорних даних; в) аналіз наявних експериментальних даних; г) вибір методів та засобів попередньої обробки інформації про систему.

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

1.4. Висунення гіпотез та прийняття припущень.Гіпотези при побудові моделі системи Sслужать для заповнення «прогалин» у розумінні завдання дослідником. Висуваються також гіпотези щодо можливих результатів моделювання системи S, справедливість яких перевіряється під час проведення машинного експерименту. Припущення передбачають, деякі дані невідомі чи їх не можна отримати. Припущення можуть висуватися щодо відомих даних, які відповідають вимогам рішення поставленої задачи. Припущення дають можливість провести спрощення моделі відповідно до вибраного рівня моделювання. При висуванні гіпотез та прийнятті припущень враховуються такі фактори: а) обсяг наявної інформації для вирішення завдань; б) підзавдання, котрим інформація недостатня; в) обмеження на ресурси часу на вирішення задачи; г) очікувані результати моделювання.

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

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

1.6. Встановлення основного змісту моделі.На цьому підетапі визначається основний зміст моделі та вибирається метод побудови моделі системи, які розробляються на основі прийнятих гіпотез та припущень. У цьому враховуються такі особливості: а) формулювання завдання моделювання системи; б) структура системи Sта алгоритми її поведінки, впливу зовнішнього середовища Е;в) можливі методи та засоби вирішення задачі моделювання.

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

1.8. Визначення процедур апроксимації.Для апроксимації реальних процесів, що протікають у системі S, зазвичай використовуються три види процедур: а) детерміноване; б) імовірнісну; в) визначення середніх значень.

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

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

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

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

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

Другим етапом моделювання є етап алгоритмізації моделі та її машинна реалізація. Цей етап є етапом, спрямованим на реалізацію ідей та математичних схем у вигляді машинної моделі Мпроцесу функціонування систем S.

Процес функціонування системи Sможна розглядати як послідовну зміну її станів у k-мірному просторі. Завданням моделювання процесу функціонування досліджуваної системи Sє побудова функцій z,на основі яких можна провести обчислення характеристик процесу функціонування системи, що цікавлять. Для цього необхідні співвідношення, що пов'язують функції zзі змінними, параметрами та часом, а також початкові умовами в момент часу t=t 0 .

Існують два типи станів системи:

  • 1) особливі, властиві процесу функціонування системи лише деякі моменти часу;
  • 2) неособливі, у яких процес перебуває решта часу. У цьому випадку функція стану z i (t)можуть змінюватися стрибкоподібно, а між особливими – плавно.

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

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

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

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

Детальна схема моделюючого алгоритмумістить уточнення, які відсутні в узагальненій схемі.

Логічна схема моделюючого алгоритмупредставляє собою логічну структуру моделі процесу функціонування систем S.

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

Етапи алгоритмізації моделі та її машинної реалізації:

  • 1. Побудова логічної схеми моделі.
  • 2. Отримання математичних співвідношень.
  • 3. Перевірка достовірності моделі системи.
  • 4. Вибір інструментальних засобів для моделювання.
  • 5. Складання плану виконання робіт із програмування.
  • 6. Специфікація та побудова схеми програми.
  • 7. Верифікація та перевірка достовірності схеми програми.
  • 8. Проведення програмування моделі.
  • 9. Перевірка достовірності програми.
  • 10. Складання технічної документації на другому етапі.