МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ДЕРЖАВНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
КОМП’ЮТЕРНЕ МОДЕЛЮВАННЯ СИСТЕМ
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторних робіт для студентів спеціальності 7.080403
“Програмне забезпечення автоматизованих систем”
Затверджено
на засіданні кафедри
ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Протокол N 5 від 28.10.99 р.
Львів 2000
Комп’ютерне моделювання систем: Методичні вказівки до лабораторних робіт для студентів спеціальності 7.080403 “Програмне забезпечення автоматизованих систем”. / Укл. В.М. Семотюк. – Львів: Видавництво ДУ “Львівська політехніка”, 2000. – 27 с.
Укладач Семотюк В.М., канд. техн. наук, доц.
Відповідальний за випуск Базилевич Р. П., д-р техн. наук, проф.
Рецензенти Матвійчук Я.М., д-р техн. наук, проф.,
Мельник Р.А., канд. техн. наук, доц.
НАВЧАЛЬНЕ ВИДАННЯ
КОМП’ЮТЕРНЕ МОДЕЛЮВАННЯ СИСТЕМ
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторних робіт для студентів спеціальності 7.080403
“Програмне забезпечення автоматизованих систем”
Укладач Семотюк Володимир Миколайович
Редактор Гораль Н. Ю.
Формат 60(84 1/16.
Умовн. друк.арк. 1,4. Умовн. фарбо-відб. 1,34.
Тираж 15 прим. Зам. 055.
Тиражування здійснене на кафедрі програмного забезпечення
Відповідальний за тиражування – Базилевич Р.П.
ВСТУП
Дані лабораторні роботи призначені для практичного закріплення студентами теоретичних знань з дисципліни “Комп’ютерне моделювання систем”. В реальних умовах складні системи зазнають дії випадкових факторів, тому основна увага в роботах зосереджується на методах формувння випадкових потоків та контролю їх якості і подальшому дослідженні систем за допомогою статистичних методів. Як об’єкт дослідження переважно розглядаються складні виробничі системи та їх імітаційні моделі.
Крім формулювання завдання, кожна лабораторна робота містить теоретичну частину, що коротко висвітлює матеріал дисципліни, який пов’язаний з роботою, та методичні вказівки до виконання лабораторної роботи, де викладаються методи та алгоритми розв’язання відповідних задач.
ЛАБОРАТОРНА РОБОТА 1
Формування вхідних потоків і контролю їх якості для комп’ютерного моделювання складних систем статистичними методами
Мета роботи: одержання послідовностей псевдовипадкових квазірівномірно розподілених чисел запропонованими методами та перевірка їх якості. Робота складається з чотирьох частин.
1. Одержати послідовності псевдовипадкових квазірівномірно розподілених чисел при заданих параметрах для кожного з нижчевказаних способів:
а) методу серединних квадратів;
б) мультиплікативного методу;
в) за допомогою вбудованих функцій із програмного забезпечення комп’ютера.
2. Кожну з генерованих послідовностей перевірити на рівномірність двома методами:
а) за гістограмою;
б) за непрямими ознаками.
3. Кожну з генерованих послідовностей провірити на незалежність методом, основаним на обчисленні кореляційного моменту.
4. Перевірити одержані послідовності на стохастичність.
І. Одержання послідовності псевдовипадкових квазірівномірно розподілених чисел
1. Теоретична частина
При статистичному моделюванні використовують базові послідовності випадкових величин, що характеризуються незалежністю та рівномірністю розподілу на інтервалі (0,1). Однак на комп’ютері такий розподіл одержати неможливо, оскільки він оперує тільки з n-розрядними числами. Тому замість неперервної сукупності використовують дискретну послідовність 2n випадкових чисел з того ж інтервалу. Закон розподілу дискретної послідовності називають квазірівномірним розподілом. Випадкова величина, що має квазірівномірний розподіл на інтервалі (0,1), набуває значення Хi = i/(2n-1) з ймовірністю p = 1/ 2 , i=0,1,...,2 n .
Одержувані на комп’ютері за допомогою ідеального генератора псевдовипадкові послідовності чисел повинні задовольняти такі вимоги:
1) складатися з квазірівномірно розподілених чисел;
2) містити статистично незалежні числа;
3) бути відтворюваними;
4) містити неповторювані числа;
5) одержуватись з мінімальними затратами часу і пам’яті.
Найчастіше алгоритми генерації псевдовипадкових послідовностей використовують рекурентні співвідношення
xi+1 = Ф(xi), ( 1 )
для яких x0 і параметри функції задані. Добру послідовність випадкових чисел з інтервалу (0,1) можна одержати на основі функції (1), графік якої досить густо заповнює одиничний квадрат.
Розглянемо деякі методи генерування послідовності випадкових чисел з квазірівномірним розподілом, які знайшли застосування в практиці статистичного моделювання.
Метод серединних квадратiв . Його основна iдея полягає у видiленнi середнiх розрядiв квадратiв певних чисел. Вибиремо 2n-розрядне число менше від 1: xi =0, a1 ,a2 ,...,a2n (мантиса має 2n розрядів). Піднесемо його до квадрата: xi =0,b1,b2 ...b4n (мантиса має 4n розрядів), виберемо середні 2n розрядiв: xi +1 =0, bn+1 ... b3n. Число xi +1 буде черговим числом псевдовипадкової послiдовностi.
Наприклад, якщо x0=0.2152, то x02=0.04631104, тобто x1=0.6311. Далі x12=0.39828721 і x2=0.8287 i т.д.
Мультиплікативний метод. Вiн оснований на утвореннi за рекурентним спiввiдношенням допомiжної послiдовностi цiлих чисел, з якої одержується базова послiдовнiсть. Ця допомiжна послiдовнiсть невiд’ємних цiлих чисел {Xi}, кожен член якої задовольняє умову Xi<M , задається формулою
Xі+1= Xi(mod M), (2)
де Xi , , M – невiд’ємнi цiлi числа. Тобто цiле число Xі+1 знаходять як остачу вiд дiлення на М добутку множника на Xi. За цiлими числами послiдовностi {Xi } будують послiдовнiсть {xi} рацiональних чисел з iнтервалу (0,1), як xi =Xi/M.
2. Методичні вказівки до виконання роботи
В данiй лабораторнiй роботi треба дослiдити описанi методи генерування послiдовностi випадкових чисел, а також методи, реалiзованi в наявних обчислювальних засобах. Процедури генерації випадкових чисел слід реалізувати, використовуючи початкові значення та параметри згідно з варіантом. При реалізації методу серединних квадратів частину програми, що здійснює операції з розрядами, виконати на АСЕМБЛЕРІ.
Для машинної реалізації мультиплікативного методу зручно вибирати М = рg, де р – кількість цифр в системі числення даної машини (p=2 для двійкової і p=10 для десяткової); g – кількість біт в машинному слові. Тоді знаходження остачі від ділення на М зводиться до виділення g молодших розрядів дільника, а перетворення Х в раціональний дріб з інтервалу (0,1) – підстановкою зліва від Х двійкової чи десяткової коми.
Алгоритм для двійкової машини має вигляд (при М=2g):
1) вибрати Х0 – довільне непарне число;
2) обчислити коефіцієнти =8t3, де t0 , ціле;
3) знайти добуток *X0 , що містить 2g розрядів;
4) взяти g молодших розрядів для Х1;
5) визначити х1 =Х1/2g з інтервалу (0,1);
6) присвоїти Х0=Х1;
7) перейти на крок 3.
При реалізації мультиплікативного методу всі операції, зв’язані з обробкою розрядів слова , виконати мовою АСЕМБЛЕР.
ІІ. Перевірка послідовності випадкових чисел на рівномірність
1. Методичні вказівки до виконання завдання
В методі дослідження послідовності {xi} псевдовипадкових квазірівномірно розподілених чисел по гістограмі інтервал (0,1) розбивають на m рівних частин, тоді при генераціїї {xi } кожне з чисел xj з ймовірністю pj =1/m, j=1,2..m, попадає в один з підінтервалів. Всього в кожний з підінтервалів попадає Nj чисел послідовності {xi }, i=1,2..N, причому
N =.
Відносна частота попадання випадкових чисел в кожний з підінтервалів дорівнює Nj/N. Якщо послідовність псевдовипадкових чисел є квазірівномірно розподілена, то при досить великому N експериментальна гістограма (ламана лінія) наблизиться до прямої 1/m. Співвідношення оцінюють за критеріями узгодження. При використанні методу перевірки за непрямими ознаками генеровану послідовність розбивають на дві послідовності:
x1 ,x3 ,x5 ,...,x2i-1;
x2 ,x4 ,x6 ,.......,x2i ; i=1 ,..., N/2.
Тоді для кожної пари чисел перевіряється умова:
, i=1,..., N/2 (1)
Якщо умова (1) виконується, то фіксується поява деякої події і в лічильник додається одиниця. Після N/2 дослідів в лічильнику буде кількість.Геометрично умова (1) означає, що точка (x2i-1 ,x2i) попадає в середину чверті круга радіусом r=1. В загальному випадку точка (x2i-1,x2i) попадає в середину квадрата. Тоді теоретична ймовірність попадання в чверть круга обчислюється за формулою
Якщо числа послідовності {xi} рівномірно розподілені, то згідно із законом великих чисел теорії ймовірностей при великих N відносна частота :
При використанні методу перевірки за гістограмою доцільно вибирати m з діапазону 20...50 , а N=(102 ...103 )*m . Для кількісної оцінки рівномірності послідовностей використати критерій узгодження Колмогорова. Для обох методів перевірки на рівномірність провести дослідження впливу на результати зміни величини N – довжини послідовності {xi}.
ІІІ. Перевірка послідовності псевдовипадкових квазірівномірно розподілених чисел на незалежність
1. Теоретична частина
Перевірка послідовності випадкових чисел на незалежність здійснюється на основі обчислення кореляційного моменту.
Випадкові величини ( і ( незалежні, якщо закон розподілу кожної з них не залежить від значення іншої. Для перевірки незалежності вводиться послідовність {xi+( }, де ( – величина зсуву послідовностей.
Кореляційний момент дискретних випадкових величин ( і ( з можливими значеннями xi і yj визначається за формулою
,
тобто є математичним сподіванням добутку відхилення випадкових величин від їх математичного сподівання. Тут Pij – ймовірність того, що (( , () набуде значення (xi ,yj ). Якщо випадкові величини незалежні , то K(( = 0 . Коефіцієнт кореляції визначається за формулою:
,
де (x, (у – середньоквадратичні відхилення ( і (.
2. Методичні вказівки до виконання
Базові послідовності випадкових чисел, які потрібно перевірити на незалежність, генеруються за допомогою програми, розробленої при виконанні першої частини роботи.
Для оцінки коефіцієнта кореляції на комп’ютері використовують вираз
,
де ;
.
При обчисленнях раціонально спочатку визначати такі суми:
Для будь якого ( = 0 для досить великих N з вірогідністю ( справедливе співвідношення
.
Якщо знайдене емпіричне значення знаходиться у вказаних межах, то з ймовірністю ( можна стверджувати, що одержана послідовність {xi} задовольняє гіпотезу про кореляційну незалежність.
IV. Перевірка послідовності випадкових чисел на стохастичність
1. Теоретична частина
Перевірка стохастичності послідовностей псевдовипадкових чисел {xi} найчастіше проводиться методами комбінацій та серій. В методі комбінацій визначають закон розподілу появи числа одиниць (нулів) в n-розрядному двійковому числі Xi .
Теоретично закон розподілу j одиниць в l розрядах двійкового числа Xi описується, зважаючи на незалежності окремих розрядів, біноміальним законом розподілу
де PT (j,l) – ймовірність появи j одиниць в l розрядах..
Враховуючи, що ймовірність p(1) появи одиниці в будь-якому розряді дорівнює ймовірності появи нуля
одержимо
.
Експериментальне значення ймовірності Pе(j,l) появи j одиниць в l-розрядному числі знаходиться як відносна частота
(2)
де N* – кількість чисел у вибірці завдовжки N, що містять j одиниць в l розрядах.
Після знаходження теоретичних і експериментальних ймовірностей P(j,l) при різних значеннях ln гіпотеза про стохастичність пeрeвіряється з використанням критеріїв узгодження.
2. Методичні вказівки до виконання
1. Блок підрахунку кількості одиниць в l розрядах двійкового числа слід реалізувати з використанням порозрядних операцій на АСЕМБЛЕРІ (або відповідними операціями алгоритмічної мови, якщо це можливо).
2. Для підтвердження гіпотези про стохастичність використаємо критерій узгодження Пірсона ((2 - критерій), який грунтується на визначенні міри розбіжності величини
(3)
де mi – кількість значень випадкової величини X, що попали в і-й підінтервал; pi – ймовірність попадання випадкової величини X в і-й підінтервал, обчислена з теоретичного розподілу; d – кількість підінтервалів, на які розбивається інтервал вимірювання при машинному експерименті.
Варіанти завдань:
№
варіанта
Метод серединних квадратів
Мультиплікативний метод
X0
Х0
1
2
3
4
5
6
7
8
0.1895
0.11327
0.1873
0.4258
0.1931
0.1736
0.2347
0.4839
5
11
29
37
307
139
149
317
13271895
18951327
45581783
18734285
17361931
19311735
48392247
23474839
Отже, для перевірки гіпотези про стохастичність інтервал (0,l) розбивається на d підінтервалів, наприклад d = 5, здійснюється обчислення ( за формулою (3). Одержане значення (2 порівнюється із знайденим в таблиці розподілу (2 критичним значенням ((2 для заданого рівня значимості ( і k=d-r-1 ступенів вільності (r – кількість параметрів теоретичного розподілу, в даному випадку r = 1 ). Якщо (2(((2 , то гіпотеза відкидається, в протилежному випадку гіпотеза про стохастичність приймається з рівнем значимості (.
Зауваження. Таблиці значень функції розподілу ((2 при різних значеннях k і ( можна знайти в довіднику з математики[1].
3. Контрольні запитання
Чому для комп’ютерного моделювання використовується квазірівномірна послідовність псевдовипадкових величин?
Які недоліки методу серединних квадратів?
На чому базуються конгруентні процедури генерації випадкових величин?
За рахунок чого генерована послідовність може стати виродженою?
Як вибираються параметри алгоритму генерації, що реалізує мультиплікативний метод?
Як можна підвищити ефективність мультиплікативного методу?
В чому суть методу дослідження рівномірності послідовності за гістограмою?
Порівняти результати дослідження послідовностей, одержаних різними способами, на рівномірність за гістограмою та за непрямими ознаками.
На чому грунтується метод перевірки послідовностей на незалежність?
Порівняти результати дослідження послідовностей, одержаних різними способами, на незалежність.
Пояснити суть алгоритму перевірки послідовності випадкових величин на стохастичність.
Порівняти результати дослідження послідовностей, одержаних різними способами, на стохастичність.
ЛАБОРАТОРНА РОБОТА 2
Побудова розкладу роботи обладнання виробничої системи
Мета роботи : побудувати розклад роботи обладнання виробничої системи. Виробнича система складає m верстатів, настроєних на виконання певної технологічної операції. На обробку надходить n партій заготовок з однаковими технологічними маршрутами, що передбачають обробку заготовок на всіх m верстатах. Для заданих у варіанті значень m і n, а також матриці T=tij нормативних значень часу на виконання операцій побудувати розклад роботи обладнання виробничої системи двома способами:
а) повним перебором всіх можливих послідовностей виконання робіт, що надійшли на обробку;
б) за алгоритмом Дудека.
Розклад оптимізувати за критерієм мінімуму затрат часу на виконання всіх робіт.
1. Теоретична частина
Суть задачі календарного планування (КП) можна пояснити на простому прикладі. Нехай виробнича ділянка повинна обробити n деталей. Позначимо:
Lij – j-ту операцію (j=1...m), передбачену технологією обробки i-ї деталі (і=1...n);
qij – індекс групи обладнання, настроєного на виконання операції Lij ;
tij – нормативний час проведення операції Lij
Всі ці дані вважаються відомими. Крім того, задамося технологічними маршрутами обробки деталей
тобто послідовністю проходження деталей через групи технологічного обладнання.
Якщо tij0 і tijk означають, відповідно, початок і кінець операції Lij , то календарним планом називають сукупність величин P={tij0}, що задовольняє обмеження:
tijk = tij0 + tij (операції виконуються без переривання).
кожна одиниця обладнання в будь-який поточний момент часу виконує тільки одну допустиму операцію з якоюсь деталлю.
При заданому критерії ефективності календарний план може бути оптимізований. Теорія розкладів пропонує багато різних методів розв’язання задач КП.
2. Методичні вказівки до виконання роботи
Розглянемо задачу побудови розкладу роботи обладнання виробничої системи. Нехай m=5 верстатів. Кожний верстат настроєний на виконання певної технологічної операції. На обробку надходить n=4 партій заготовок з однаковими технологічними маршрутами, що передбачають обробку заготовок на всіх п’яти верстатах. Матриця нормативних значень часу виконання операцій має вигляд:
Дана задача належить до класу досліджених в теорії розкладів задач про виробничу систему з m машинами. Скористаємося із розробленого в цій теорії алгоритму Дудека.
1. Складемо m-1=4 допоміжні задачі для двох фіктивних машин A і B. Відповідні кожній такій задачі матриці
нормативних затрат часу на обробку знаходяться з T за правилом:
Для наших даних одержимо
2. Розв’яжемо кожну допоміжну задачу за методом Джонсона (складання розкладу для двох машин). Згідно з правилом Джонсона робота i
передує в розкладі роботі j, якщо
При k=1 одержимо послідовність
P1 =(3-4-1-2);
при k=2,4 – послідовність
P2=P4=(3-4-2-1),
а при k=3 – послідовність
P3=(3-2-4-1).
3. Необхідно встановити час реалізації кожної з цих послідовностей і вибрати як розв’язання задачі ту з них, для якої час виявиться найменшим. Вибір можна здійснити при порівнянні відповідних графіків завантаження верстатів.
3. Контрольні запитання
В чому полягає задача побудови розкладу роботи виробничого обладнання?
Які умови накладаються при реалізації алгоритму побудови розкладу?
Що є вихідними даними для побудови алгоритму?
В чому полягає алгоритм Дудека?
Як будуються матриці нормативних затрат в алгоритмі Дудека?
В чому полягає суть методу Джонсона вибору пріоритетної роботи
Які критерії можуть бути використані для оптимізації вибору послідовності за алгоритмом Дудека?
ЛАБОРАТОРНА РОБОТА 3
Імітаційне моделювання дискретного виробництва із застосуванням статистичних методів
Мета роботи: побудова математичної моделі дискретного виробництва та імітаційне моделювання процесу виробництва з використанням статистичних методів для обробки результатів моделювання з метою визначення ефективності виробництва.
Теоретична частина
Розглянемо наближений до реальності приклад, який дозволить детальніше ознайомитись з імітаційним моделюванням складних систем на комп’ютерах, який містить змістовне описання системи, побудову формалізованої схеми і математичної моделі, а також розроблення моделюючого алгоритму, призначеного для реалізації моделі на комп’ютері.
Як приклад, розглянемо виробничий процес виготовлення підшипників роликового типу. Дослідження полягає у визначенні оптимальних інтервалів часу між послідовними налагодженнями обладнання. Річ в тім, що із збільшенням цих інтервалів зростає частота бракованих підшипників, але зате зменшуються простоювання обладнання і затрати на його ремонт. Тому ставиться задача визначення оптимальних інтервалів методом статистичного моделювання.
Змістовна постановка задачі. Конструкція підшипника містить n роликів. Залежно від типу підшипника n може змінюватися від n1 до n2 . Основним фактором, що визначає якість підшипника, є однорідність діаметра роликів. Підшипник вважається придатним, якщо розкид діаметрів роликів не перевищує величини (. Встановлено, що цей розкид зростає із збільшенням тривалості роботи обладнання після чергового налагодження.
Для характеристики розкиду діаметрів використаємо статистичні дані, одержані таким способом.
Весь інтервал часу (0,T) розбивається на підінтервали (0,t1 ),(t1, t2),...,(tr-1 ,tr ). Ролики, виготовлені за кожний з підінтервалів, розбивались на групи відповідно до значень їх діаметрів zi :(z1 ,z2 ), (z2 ,z3 ), ... , (zp-1 ,zp ). В результаті тривалих спостережень визначили частоти hij попадання роликів в певні групи за діаметром для різних інтервалів часу.
Таблиця 1
Ймовірності попадання в діапазон діаметрів залежно від інтервалів часу
Час
Діаметри
z1(z2
z2(z3
. . .
zp-1(zp
0(t1
h11
h21
. . .
hp-1,1
t1(t2
h12
h22
. . .
hp-1,2
t2(t3
h13
h23
. . .
hp-1,3
. . .
. . .
. . .
. . .
. . .
tr-1(tr
h1r
h2r
. . .
hp-1,r
Враховуючи це, треба :
дати математичне формулювання задачі про визначення залежності частки бракованих підшипників від тривалості інтервалів часу між послідовними налогодженнями обладнання;
підготувати задачу для розв’язування на комп’ютері;
виконати розв’язування і дати інтерпретацію одержаних результатів.
Це змістовна постановка задачі, далі побудуємо формалізовану схему процесу, що потрібна у випадку складних систем. Для цього спочатку формалізуємо дані змістовного описання процесу.
2. Методичні вказівки до виконання роботи
Виготовленим роликам діаметра zi можна поставити у відповідність множину чисел {zi} як значення деякої випадкової величини (, оскільки діаметри дещо відрізняються між собою. Будемо називати {zi} генеральною сукупністю. Для моделювання процесу виготовлення підшипників з генеральної сукупності вибирається випадкова вибірка zi1 ,zi2 , . . . ,zin об’ємом n. Різниця zimax -zimin називається розмахом вибірки . Підшипник добрий, якщо розмах не перевищую наперед заданої величини ( .
Якщо за деякий інтервал виготовлено M підшипників і m з них добрі, то
(1)
є частка добрих (придатних) підшипників, а
(2)
– частка бракованих підшипників
Для забезпечення стійкості результатів моделювання використовують середню частоту , обчислену за даними великої кількості реалізацій, або q, одержану на основі великої кількості вибірок з генеральної послідовності.
Можна вибрати декілька формалізованих схем процесу виробництва підшипників. Одна з них полягає в тому, що початок відліку t=0 збігається з моментом початку pоботи лінії виготовлення роликів. При цьому випадкова величина ((t), ймовірнісні характеристики якої (матсподівання , кореляційна функція K( (t1 ,t2) і інші) залежать від часу. Тому ймовірності того чи іншого значення частки бракованих підшипників теж є функцією часу t.
Ми розглянемо схему, коли виготовлення роликів і складання підшипників не зв’язані між собою синхронно. Виготовлені ролики надходять на склад і вже звідти надходять на лінію складання . Розкид діаметрів в партії залежить від тривалості інтервалів між послідовними налагодженнями обладнання. Якщо тривалість збільшується, то і розкид діаметрів збільшується.
В цьому випадку випадкова величина (, ймовірнісні характеристики якої (математичне сподівання , дисперсія , функція розподілу F((z) і інші) залежать від параметра Т, тобто від тривалості інтервалу часу між послідовними налогодженнями обладнання . Відповідно ймовірності частки бракованих і відповідно добрих підшипників будуть параметрами Т.
Для вибраної схеми запис статистичних даних про розкид діаметрів (табл. 1) невдалий, оскільки відображає оцінку одномірного закону розподілу випадкової функції ((t). Нам потрібна оцінка для закону розподілу випадкової величини (, де аргумент t був би параметром Т. Тобто таблицю треба змінити так, щоб вона містила частоти hij* попадання zi у відповідні інтервали як функції параметра Т. Частоти hij* відповідають інтервалам (0,Тi), тобто (0,T1), (0,T2) . . . (0,Tr ) і є ніби “накопиченими” частотами .
Можна зазначити, що якщо hij визначити за формулою :
(3)
де Ki – кількість всіх роликів, виготовлених за час (ti-1 ,ti ), а kij – кількість тих з них, які мають діаметри в межах (zj ,zj+1 ), то hij* обчислюються за формулою :
, (4)
де підсумування проводиться по всіх “накопичених” інтервалах часу (0,Ti) .
Крім цього, у випадку вибраної схеми немає потреби моделювати всі N реалізацій процесу. Досить мати єдину реалізацію, якщо тільки кількість вибірок з генеральної сукупності досить велика.
Таблиця 2
Ймовірності попадання в діапазон параметрів залежно від тривалості роботи обладнання
Діаметри
Параметр
z1(z2
z2(z3
. . .
zp-1(zp
0(T1
h11*
h21*
. . .
hp-1,1*
0(T2
h12*
h22*
. .
hp-1,2*
0(T3
h13*
h23*
. . .
hp-1,3*
. . .
. . .
. . .
. . .
. . .
0(Tr
h1r*
h2r*
. . .
hp-1,r*
Для перетворення формалізованої схеми процесу в математичну модель, необхідно встановити співвідношення, що зв’язують фігуруючі тут величини.
Отже, розглядається випадкова величина (, що має функцію розподілу F( (z) або густину ймовірностей f((z). Функції F( (z)) і f((z) залежать від параметра Т. Сукупність {zi} являє собою множину можливих значень випадкової величини ( при фіксованому значенні параметра Т, тобто генеральну сукупність.
З генеральної сукупності вибираються випадкові вибірки z1 , z2 , . . . , zn об’єму n. Для кожної вибірки визначають найбільше
zmax =max{z1,z2,...,zn} (5)
і найменше
zmin =min{z1,z2,...,zn} (6)
значення величини z, а також розмах
u=zmax -zmin (7)
Нехай ( = 1 якщо u v (підшипник добрий) і ( = 0, якщо u > v (підшипник бракований). Тоді кількість добрих підшипників із M розглянутих
, (8)
а кількість бракованих
=M- m (9)
Тепер можна обчислити частку добрих підшипників
(10)
і частку бракованих
(11)
Кількість вибірок M береться з міркувань статистичної стійкості величини q. В результаті досліджень встановлюється залежність q від Т, для чого вищенаведені обчислення проводяться при декількох Т з кроком (:
Tl =Tl-1+ ( (12)
Для визначення закону розподілу випадкової величини ( при моделюванні користуються функцією густини ймовірності f(z). Її оцінку знайдемо на основі статистичних даних табл. 2, значення яких hij* необхідно пронормувати і здійснити згладжування.
Використаємо те, що будь-яка функція густини f(x) задовольняє умову
(13)
Якщо fij – ординати деякої східчастої функції, постійної в середині інтервалу (zj, zj+1 ), то замість інтегралу можна записати
(14)
де zp , z1 – відповідно, верхня і нижня границі області можливих значень zi випадкової величини , (, zj+1 при j=p-1 і zj при j=1, відповідно, що відповідає і-му значенню параметра Т.
Врахуємо, що ймовірність попадання в інтервал (zj, zj+1) дорівнює hij*.
Тому
fij*(zj+1-zj)=hij*, (15)
або
(16)
Таким чином, як наближення функції густини f(z) використовується східчаста функція з ординатами fij, обчислюваними за формулою (16).
Для згладжування значень hij*(точніше fij) використовуються вирази для функції густини нормального, показникового та інших законів розподілу.
Можна також користуватися табличними значеннями fij, але в обох випадках виникає проблема інтерполяції f(z) для проміжних значень параметра Т. Найкраще мати табл.2 дуже детальною, щоб можна було використати лінійну інтерполяцію.
Отже, співвідношення математичної моделі мають вигляд
(12)
де z1,z2,...,zn – випадкова вибірка об’ємом n з генеральної сукупності, що визначається f(z)
;
Крім цього, вхідними даними задаються кількість випробувань MT, крок ( параметра T, інтервал (0,T*) параметра Т, на якому проводиться дослідження.
Моделюючий алгоритм має вигляд :
17A1P2(18A36,16P4(7K5Ф64
4K7F8H9H10A11P12(14F1315 12F1413,14K15P16(4A171 2Я18
де А1 – визначення чергового значення Т1 параметра Т (формула 12); Р2 – перевірка умови Тl(Т*; А3 – інтерполяція закону розподілу f((z) для значення параметра Т=Тl . Також реалізує формулу 16.Р4 – перевірка умови k<n, де k – кількість величин zj, що попали в чергову ((–y) вибірку об’ємом n ;К5 – лічильник кількості роликів K; Ф6 –формування чергового значення zk за допомогою випадкових чисел ; К7 – лічильник кількості вибірок ( (підшипників); F8 – формування К=0; Н9 – визначення максимального z ;Н10 – визначення мінімального z ; А11 – обчислення розмаху u ; Р12 – перевірка умови u(v ; F13 – формування (=1 ; F14 – формування (=0 ; К15 – підрахунок кількості добрих підшипників ; Р16 – перевірка умова (< MT ; А17 – обчислення частки бракованих підшипників ; Я18 – закінчення обчислень і видача результатів.
Характерно, що структура моделюючого алгоритму змінилась би мало, якщо б ми поставили задачу в більш широких припущеннях або врахували додаткові фактори, властиві процесу. Це суттєво відрізняє методи імітаційного моделювання від методів числового і аналітичного моделювання, коли певні додаткові фактори вимагають цілковитої зміни алгоритму, а часом і методу розв’язування задачі.
Контрольні запитання
Яка мета задач комп’ютерного моделювання систем?
Сформулювати постановку задачі комп’ютерного моделювання виробничої системи виготовлення роликових підшипників.
Що є вихідними даними для розв’язування задачі комп’ютерного моделювання виробничої системи виготовлення роликових підшипників?
Обгрунтувати вибір інтервалів між послідовними налагоджуваннями обладнання як параметра дослідження процесу.
Сформулювати математичну модель досліджуваної задачі комп’ютерного моделювання виробничої системи виготовлення роликових підшипників.
Відобразити блок-схему моделюючого алгоритму розв’язання задачі моделювання виробничої системи виготовлення роликових підшипників.
ЛАБОРАТОРНА РОБОТА 4
Імітаційне моделювання виробничих систем з використанням моделей систем масового обслуговування
Мета роботи:
1. Сформувати реалізації випадкових потоків однорідних подій із заданим законом розподілу, необхідних для моделювання виробничої системи з використанням моделі у вигляді системи масового обслуговування.
2. Реалізувати моделюючий алгоритм імітаційного моделювання системи масового обслуговування, що представляє виробничу систему.
3. Провести імітаційне моделювання системи масового обслуговування і статистичний аналіз результатів моделювання.
1. Теоретична частина
Способи і алгоритми формування реалізацій випадкових потоків однорідних подій. Вважаємо заданим сумісний закон розподілу f(z1,z2,...,zk)випадкових величин (1, (2,..., (k, що є інтервалами часу між послідовними появами заявок. Для одержання реалізації потоку однорідних подій t1 ,t2 ,...,tk треба сформувати реалізацію z1,z2,...,zk k-вимірного випадкового вектора (1, (2,.., (k, обчислити значення t1 ,t2 ,...,tk
t1 =z1
t2 =z1+ z2 (1)
.
tk =z1+z2+ . . . +zk
Для загального випадку потоків однорідних подій – це громіздка процедура (за рахунок формування випадкових векторів для великих k) і тому рідко використовується в практиці масового обслуговування.
Значно простіше формуються реалізації потоків однорідних подій для стаціонарних потоків з обмеженою післядією. Нехай f(z) – функція густини такого потоку, за допомогою цієї функції задається потік:
f(z)=f2(z)=f3(z)= . . . =fk(z) ,
тобто для j>1 інтервали розподілені однаково. Для першого інтервалу використовується формула Пальма :
Звідси можна знайти z1 і відповідно t1=z1. Потім формується ряд випадкових чисел z2,...,zk, що відповідають функції густини f(z) і oбчислюють t2, t3,...,tk. При цьому будемо вважати, що в нас є випадкові числа xi з рівномірним розподілом на інтервалі (0,1). І для того, щоб одержати випадкові числа yi з функцією розподілу f(y), треба розв’язати відносно yi рівняння :
(2)
Проілюструємо методику для одержання потоків заявок у вигляді потоків днорідних подій різних видів.
Формування реалізації найпростішого потоку. Розподіл довжин інтервалів між заявками (j , j>1 є експоненціальним, тобто функція густини для найпростішого потоку
f(z) =(exp(-(z).
Для першого інтервалу z1 використаємо формулу Пальма :
тобто f1(z1)=f(z) – перший інтервал розподілений як інші. Тому для побудови реалізацій найпростішого потоку формується послідовність незалежних випадкових чисел, що мають показниковий розподіл. При цьому використовуємо методику на основі формули (2):
Обчисливши інтеграл, отримаємо
1-e-(zi =Xi
Звідси
(3)
Далі для одержання послідовності моментів появи викликів t1,t2, ...,tk,... використаємо (1) .
Слід зауважити, що для обчислення значень zi згідно з (3) треба виконати порівняно багато операцій, оскільки обчислення логарифмів на комп’ютері реалізується процедурою, основаною на розкладі у степеневі ряди. Тому для формування послідовності випадкових чисел з показниковим розподілом часто використовують наближені методи.
Формування реалізації потоку з рівномірним розподілом інтервалів між заявками. Функція густини f(z) для інтервалів (j при j>1 має вигляд
0 ( z ( b,
а функція густини f1(z1) першого інтервалу ( згідно з формулою Пальма
.
Оскільки ( = 2/b , то
Для формування реалізації цього потоку використаємо (2)
,
звідки
Отже,
Оскільки (1-xi ) і xi при рівномірному розподілі в інтервалі (0,1) розподілені oднаково, то
.
Для zj, j>1 аналогічно одержимо
Звідси
і
для всіх j>1.
2. Методичні вказівки до виконання роботи
Розглянемо найпростіший приклад моделювання СМО з одним каналом (обслуговуючим пристроєм). Вважаємо, що в таку систему надходить потік заявок, що утворюють ординарний потік однорідних подій із заданим законом розподілу. Система характеризується сукупністю власних параметрів, які необхідно задати перед початком моделювання як вхідні дані. Це такі параметри :
( – час занятості каналу (тривалість обслуговування) – є випадковою величиною із законом розподілу f(().
(ж – час очікування заявки в черзі, є випадковою величиною із законом розподілу (((ж). Заявки в системі обслуговуються у послідовності, як вони надійшли в систему. Якщо при надходженні заявки канал зайнятий, то вона очікує звільнення каналу, але не більше ніж (ж. Після цього, якщо канал не звільнився, вона отримує відмову і залишає систему необслуженою.
[0,T] – інтервал функціонування системи. Заявки, що надійшли в систему у момент tj > T, в моделі не розглядаються, і з іншого боку, якщо початок обслуговування заявки t(н)>T, але час закінчення обслуговування t(св)=T, то заявка одержує відмову.
Подамо операторну схему моделюючого алгоритму такої системи :
13,14,17Ф1 P2(15 P3(8 Ф4 А5 Р6(14 F79 3F8 7,8Ф9 А10 Р11(14 K12
A131 6,11K141 2K15 P16(18 F171 16A18 Я19
Опишемо кожен з операторів цього алгоритму.
Ф1 – формування випадкових значень моментів tj надходження чергової заявки в систему (формування реалізацій потоку заявок);
Р2– перевірка умови tj< T , де T – межа інтервалу часу, на якому вивчається функціонування системи;
Р3 – перевірка умови tj <tj-1(св), де tj-1(св) – момент звільнення каналу від обслуговування попередньої заявки;
Ф4 – формування випадкових значень тривалості очікування відповідно до закону розподілу (((ж);
А5 – обчислення верхньої межі tjж інтервалу [tj ,tjж ] очікування заявки в черзі;
Р6 – перевірка умови tjж < tj-1(св);
F7 – формування моменту початку обслуговування j-ї заявки : tj(н) = tj-1(св);
F8 – формування моменту початку обслуговування j-ї заявки : tj(н) = tj;
Ф9 – формування випадкових значень тривалості обслуговування ( (часу занятості каналу) відповідно до закону f(();
А10 – обчислення моменту tj(св) закінчення обслуговування j-ї заявки (звільнення каналу);
Р11 – перевірка умови tjсв (T;
К12 – лічильник кількості m обслужених заявок;
А13 – обчислення tj(н)-tj тривалості очікування обслуговування;
К14 – лічильник кількості заявок , що отримали відмову;
К15 – лічильник кількості реалізацій N при моделюванні;
Р16 – перевірка умови N<N*, де N* – задана кількість реалізацій, необхідна для забезпечення точності ;
F17– перехід до чергової реалізації;
А18– обробка результатів моделювання;
Я19– закінчення моделювання і видача результатів.
Перед початком моделювання задаються початкові умови :
t0= 0; tj-1(св) = 0; m = 0 ; = 0 ; N = 0 ;
а також значення T, N* і закони розподілу f(() і (((ж).
Розглянемо роботу алгоритму. Оператор Ф1 формує потік однорідних подій згідно із заданим розподілом за правилами, описаними в попередньому параграфі. Ф2 перевіряє чи заявка надходить до закінчення інтервалу [0,T].
P3 – перевіряє, занятий чи вільний канал в момент надходження заявки. Якщо так, то є черга і Ф4 формує випадкові тривалості очікування t(ж), А5 вичисляє tjж , до якої заявка може очікувати, Р6 перевіряє чи заявка може дочекатися звільнення каналу. Якщо так, то
F7 – формує початок обслуговування заявки j, якщо ні, то перехід на К14 для підрахунку необслуговуваних заявок. Якщо Р3 вказує, що канал при надходженні заявки вільний, то
F8 – формує початок обслуговування, який дорівнює часу надходження заявки;
Ф9 – формує випадкове значення тривалості обслуговування (j ;
А10 – визначає час звільнення каналу після обслуговування j-ї заявки;
P11 визначає чи заявка встигла опрацюватися. Якщо так, то
К12 – підраховує кількість обслугованих заявок, А13 визначає час очікування в черзі і перехід на формування нової заявки.Якщо ж заявка не встигла опрацюватися, то
К14 – підраховує кількість відмов і далі на Ф1 для формування нової заявки.
Якщо Р2 вказує на кінець інтервалу, то закінчується дана реалізація і К15 підраховує кількість реалізацій і далі
Р16 – перевіряє чи не остання реалізація. Якщо ні, то моделювання продовжується і по
F17 – перехід на запуск нової реалізації, якщо остання, то
А18 – обробка результатів моделювання і
Я19 – кінець моделювання і видача результатів.
Оброблення результатів моделювання передбачає використання даних лічильників К12 – (кількість обслужених заявок), К14 – (кількість відмов), результату А13 – (тривалість перебування в черзі) для оцінки шуканих величин (ймовірності відмови, середнього часу очікування і т.д.).
3. Контрольні запитання
Які задачі комп’ютерного моделювання розв’язують з використанням моделей систем масового обслуговування?
Які основні етапи комп’ютерного моделювання систем з використанням моделей систем масового обслуговування?
Які основні характеристики потоків однорідних подій?
Сформулювати алгоритм формування реалізації найпростішого потоку.
Сформулювати алгоритм формування реалізації рівномірного потоку.
Які вихідні дані для алгоритму комп’ютерного моделювання систем з використанням моделей систем масового обслуговування?
Відобразити блок-схему алгоритму моделювання систем з використанням моделей систем масового обслуговування.
СПИСОК ЛІТЕРАТУРИ
Бронштейн И.Н., Семендяев К.А. Справочник по математике для инженеров и учащихся втузов. – М.: Наука, 1986. – С.74-75.
Фомин Б.Ф., Яковлев В.Б. Моделирование производственних систем. – К.: Вища школа, 1992.– 192 с.
Советов Б.Я., Яковлев С.А. Моделирование систем. – М.: Высшая школа, 1985. – 272 с.