Вузливиконують сполучні, керуючі і допоміжні функції в імітаційній моделі, наприклад, для вибору напрямків руху заявок у МІМ, зміни їхніх параметрів і пріоритету, поділу заявок на частини, об’єднання і т.п.
Звичайно кожному типу елементарної моделі, за винятком лише деяких вузлів, у програмній системі відповідає визначена процедура (підпрограма). Тоді МІМ можна представити як алгоритм, котрий складається з впорядкованих звертань до цих процедур, відображаючих поведінку системи.
В процесі моделювання відбуваються зміни модельного часу, котрий частіше всього приймається дискретним, і вимірюється в тактах. Час змінюється після того, як закінчена імітація чергової групи подій, що відносяться до поточного моменту часу tk. Імітація супроводжується накопиченням в окремому файлі статистики даних: кількості заявок, які вийшли із системи опрацьованими і неопрацьованими, сумарного часу зайнятості для кожного пристрою, середньої довжини черг і т.п. Імітація закінчується коли поточний час перевищить заданий відрізок часу або коли вхідні джерела опрацюють задане число заявок. Після цього проводиться опрацювання накопичених даних, у результаті одержуємо значення необхідних вихідних параметрів.
У програмах імітаційного моделювання СМО переважно реалізується подійний метод організації обчислень. Суть подійного методу полягає в відслідковуванні на моделі послідовності подій у тому ж порядку, у якому вони відбувалися б у реальній системі. Обчислення проводяться тільки для тих моментів часу і тих частин (процедур) моделі, до яких відносяться події. Даний метод може істотно прискорити моделювання в порівнянні з інкрементним методом, у якому на кожному такті аналізуються стани всіх елементів моделі.
Розглянемо можливу схему реалізації подійного методу імітаційного моделювання.
Моделювання починається з перегляду операторів генерації заявок, тобто з звертання до моделей джерел вхідних потоків. Для кожного незалежного джерела таке звертання дозволяє розрахувати момент генерації першої заявки. Цей момент разом із іменем –
вказівкою на заявку – заноситься в список майбутніх подій (СМП), а відомості про заявку, що генерується – у список заявок (СЗ). Запис у СЗ містить у собі ро’я заявки, значення її параметрів (атрибутів), місце, що займається в даний момент у МІМ. У СМП події впорядковуються по збільшенню моментів настання.
Далі зі СМП вибирається сукупність відомостей про події, що відносяться до найбільш раннього моменту часу. Ця сукупність переноситься в список поточних подій (СПП), із якого беруться вказівки на події. Звертання по вказівці до СЗ дозволяє встановити місце в МІМ заявки А, з якою пов’язана подія, що моделюється. Нехай цим місцем є пристрій В. Далі програма моделювання виконує такі дії:
1) змінює параметри стану пристрою В; наприклад, якщо заявка А звільняє В, а черга до В не була порожня, то відповідно до заданої дисципліни обслуговування з черги до В вибирається заявка С и надходить на обслуговування в В;
2) прогнозується час настання наступної події, пов’язаної з заявкою С, шляхом звертання до моделі пристрою В, у якій розраховується тривалість обслуговування заявки С; відомості про цю майбутню подію заносяться в СМП і СЗ;
3) відбувається імітація руху заявки А в МІМ по маршруту, визначеному заданою програмою моделювання, доти, поки заявка не прийде на вхід деякого ОА; тут або заявка затримується в черзі, або шляхом звертання до моделі цього ОА прогнозується настання деякої майбутньої події, пов’язаної з наступним шляхом заявки А; відомості про цю майбутню подію також заносяться в СМП і СЗ;
4) у файл статистики добавляються згадані вище дані.
Після відпрацювання всіх подій, що відносяться до моменту часу tk, відбувається збільшення модельного часу до значення, що відповідає найближчій майбутній події, і розглянутий процес імітації повторюється.
Імітаційне моделювання базується на відтворені на ЕОМ розгорнутого в часі процесу функціонування системи з обов’язковим врахуванням її взаємодії із зовнішнім середовищем. Для створення імітаційної моделі необхідно провести:
1. Побудову моделі досліджуваної системи на основі моделей підсистем, які об’єднані одним з видів взаємодій.
2. Вибір інформативних характеристик об’єкта, способів їх одержання та методів їх аналізу.
3. Побудову моделі впливу зовнішнього середовища на систему у вигляді імітаційних моделей зовнішніх факторів.
4. Вибір способу дослідження імітаційної моделі відповідно до методів планування імітаційного експерименту.
Умовно імітаційну модель представляють у вигляді діючих програмно чи апаратно реалізованих блоків:
Структура імітаційної моделі
• Блок імітації зовнішніх впливів (БІЗВ) – формує реалізації випадкових чи детермінованих процесів, які імітують впливи зовнішнього середовища на об’єкти.
• Блок опрацювання результатів (БОР) – дає змогу одержати інформативні характеристики об’єкта. Для цього він використовує інформацію, що надходить від блоку математичної моделі об’єкта.
• Блок математизації об’єкта (БМО).
• Блок керування імітаційною моделлю (БКІМ) – реалізовує способи дослідження моделі та автоматизовує процес проведення імітаційного експерименту.
Метою імітаційного моделювання є конструювання або побудова імітаційної моделі та проведення імітаційного експерименту з цією моделлю для вивчення функціювання та поведінки досліджуваної системи обо об’єкта.
До переваг імітаційного моделювання відносяться:
1) можливість проведення експериментів над моделями системи, для яких натурні експерименти неможливі з етичних та небезпечних для життя причин.
2) вирішення задач, до яких не застосовні аналітичні методи за причини їх складності або відсутності.
3) можливість аналізу загальносистемних функцій для складних систем.
4) скорочення термінів для прийняття проектних рішень та проведення оцінки їх ефективності.
5) можливість проведення аналізу варіантів структури великих систем та їх поведінки під дією тих чи інших впливів.
4.Побудова структурної моделі
Структурна модель показує, з яких компонентів складається система і які зв’язки існують між ними:
5.Побудова функціональної моделі
6.Побудова концептуальної моделі
Концептуальною моделлю об’єкта називають сукупність характеристик , властивостей та особливостей функціонування об’єкта і припущення щодо ступеня впливу на вихідні потоки . Це абстрактна модель, що визначає склад і структуру системи, властивості елементів та причинно-наслідкові зв’язки, притаманні досліджуваній системі і необхідні для досягнення цілі моделювання.
Основними поняттями концептуальної моделі є: дані, дані користувача, керуючі дані, пакет, вузол комутації, канал зв’язку і мережа передачі даних.
Дані – це факти описані у формалізованому вигляді. Виділяють дані користувача(вводяться ни сисему) і керуючі дані(служать для керування роботи системи).
Мережа передачі даних – сукупність пристроїв, що служить для передачі даних.
Вузол комутації – виконує функцію комутації даних. Їх перерозподілу.
Канал зв’язку – сукупність засобів, що забезпечують доставку даних в необхідне місце призначення.
Пакет – дані, що мають заголовок і обмежену довжину.
Концептуальна модель є основою для розробки математичної моделі. Створенням математичної моделі досягається дві мети:
– для однозначного розуміння процесу функціонування системи дається її формалізований опис;
– дає можливість представити опис системи у такому вигляді, який дозволяє проведеня аналітичного дослідженя.
Концептуальна модель зображена вище складається з вхідного потоку заявок, черги, та обслуговуючого присрою. Заявки першого типу надходять із середнім інтервалом 1.5 хв. , а другого -- 3 хв. Відхилення генерується підпрограмою генератором за допомогою експотенційного закону розподілу. В залежності від типу заявки вона обслуговується три або дві хвилини. Процес моделювання триває доти, доки система не опрацює 1000 заявок.
7.Математичне та програмне забезпечення
При виконанні данного завдання були використані формули теорії ймовірності. Це формули для отримання псевдовипадкових чисел.
Всі необхідні величини генеруються за експотенційним законом розподілу. Розглянемо закони що використовуються в даній роботі.
Генератор випадкових чисел(рівномірний закон розподілу)
Найбільш поширений алгоритм для одержання псевдо випадкових чисел був запропонований Д. Лемером.
У алгоритмі Лемера беруться два цілих числа: множник і модуль .
Послідовність випадкових чисел обчислюється в такий спосіб: число , відоме з попереднього кроку, обчислюється добуток , число ділиться на . Одержуємо ціле число і цілочисельний залишок , що можна представити у вигляді:
(2)
так як - число між 0 і , то потрібно його ще розділити на , щоб одержати число між 0 і 1:
(3)
Співвідношення (2) записується звичайно у вигляді
(4)
Експоненційний закон розподілу.
Щільність розподілу:
; ; ; (2 )
(3)
де l - параметр розподілу, .
Потрібно знайти формулу для моделювання випадкової величини X за допомогою рівномірно розподіленої випадкової величини .
Знаходимо обернену стосовно F функцію. Маємо :
(4)
Так, як 1-R має той же розподіл, що і R, то зручніше при знаходженні значень випадкової величини X користуватися формулою :
(5)
Випадкове число з експонентним розподілом обчислюється по формулі