Зміст
Введення
1 Постановка завдання
2 Побудова
концептуальної моделі
2.1
Опис концептуальної моделі СМО
2.2
Опис процесу функціонування СМО
2.3 Побудова логічної схеми
2.4 Аналіз задачі
моделювання 2.4.1 Критерії оцінки ефективності процесу функціонування СМО
2.4.2 Перевірка вірогідності моделі системи
2.4.3 Параметри і
змінні моделі СМО
2.5 Висування гіпотез і прийняття пропозицій
2.6 Визначення процедур апроксимації
3 Алгоритмізація і машинна реалізація моделі системи
3.1
Вибір обчислювальних засобів
моделювання СМО
3.2
Програмування моделі
4 Отримання і інтерпретація результатів моделювання
4.1
Планування машинного експерименту
4.2 Аналіз результатів моделювання
4.3 Форма представлення результатів моделювання
Висновок
Список використаних джерел
Додаток А - Лістинг програми
Додаток Б -
Статистичні дані
Введення
Бурхливе зростання промисловості та
науки в усіх сферах людської діяльності призвів в даний час до такого
стану речей, що створення і розробка будь-яких нових технологій, технічних засобів (машин, приладів, обладнання і т. п.), а також методик їх застосування для потреб людини стає важким, а в деяких випадках неможливим, без інтенсивного застосування наукових методів
пізнання і пошуку.
Однією з таких обов'язкових сторін наукового дослідження є метод моделювання, без якого не обходиться жодна конструкторська і ні одна
дослідницька робота.
Будь-яке знову досліджуване явище чи
процес нескінченно складно і різноманітне і тому до кінця
принципово не пізнавано і не ізучаема. Тому, приступаючи до вивчення явища чи процесу, дослідник замінює його схематичне моделлю, яка вибирається тим складнішою, ніж докладніше і точніше потрібно вивчити згадане явища. У моделі зберігається лише найсуттєвіші сторони досліджуваного явища, а все мало істотні властивості і закономірності відкидаються.
Які сторони досліджуваного явища необхідно зберегти в моделі і які відкинути, залежить від постановки задачі досліджень. Мета і завдання досліджень формулюються перед початком розробки теорії ще невивченого явища або уточнення вже існуючої теорії з метою більш адекватного опису досліджуваного процесу або явища.
При вирішенні будь-якої задачі основну роль грають експеримент і модель, а також аналіз отриманих результатів. Модель дає правильно поставлений експеримент, а експеримент уточнює модель. Експеримент має два напрямки:
обробка результатів та
планування експерименту.
Достовірність моделі досягається за допомогою спостереження і логічно правильної обробки даних.
Моделювання широко застосовується в техніці. Це і дослідження
гідроенергетичних об'єктів і космічних ракет, спеціальні моделі для налагодження приладів
управління і тренування персоналу, керуючого різними складними об'єктами. Многообразно застосування моделювання у військовій техніці. Останнім часом особливе значення пробрела моделювання біологічних і
фізіологічних процесів.
Загальновідома роль моделювання суспільно-історичних процесів. Застосування моделей дозволяє проводити контрольовані експерименти в
ситуаціях, де експериментування на реальних об'єктах є практично неможливим або з якихось причин (економічним, моральним і т. д.) недоцільним.
Велике значення на сучасному етапі розвитку науки і техніки набувають завдання передбачення, управління, розпізнавання. Метод еволюційного моделювання виник при спробі відтворення на ЕОМ поведінки людини.
Еволюційне моделювання було запропоновано як альтернатива евристичному та біонічними підходу, моделювати мозок людини в нейронних структурах і мережах. При цьому основна ідея звучала так: замінити
процес моделювання
інтелекту моделюванням процесу його еволюції.
Таким чином, моделювання перетворюється в один з універсальних методів пізнання в поєднанні з ЕОМ.
1 Постановка завдання
Розподілений
банк даних системи збору інформації організований на базі ЕОМ, з'єднаних дуплексним каналом зв'язку. Вступник запит обробляється на першій ЕОМ та з вірогідністю 50% необхідна
інформація виявляється на місці. В іншому випадку необхідна посилка запиту в другу ЕОМ. Запити надходять через 10 ± 3 с, первинна
обробка запиту займає 2с, видача відповіді вимагає 18 ± 2 с, передача по каналу зв'язку займає 3с. Тимчасові характеристики другого ЕОМ аналогічні першою.
Змоделювати проходження 400 запитів. Визначити необхідну ємність накопичувачів перед ЕОМ, що забезпечує безвідмовну роботу системи, і функцію розподілу часу обслуговування заявки.
У цій роботі передбачається змоделювати роботу надходження і обробку запитів на 2 - х ЕОМ від розподіленого банку, визначити характеристики процесу функціонування СМО: розрахувати коефіцієнти завантаження каналів, потрібну ємність накопичувачів перед ЕОМ, забезпечуючи безвідмовну роботу системи.
Всю роботу можна умовно розділити на три етапи:
· На першому етапі передбачається розробити концептуальну модель СМО, вивести
математичну модель процесу функціонування СМО, провести глибокий аналіз задачі моделювання і на його основі за необхідності висунути гіпотези і прийняти
відповідні припущення.
· На другому етапі передбачається провести
вибір обчислювальних засобів для моделювання СМО, виконати безпосередньо машинну реалізацію моделі системи, протестувати програму.
· На третьому, заключному, етапі передбачається зафіксувати результати моделювання СМО при декількох прогонах програми, проаналізувати їх, представити в зручній для сприйняття формі, інтерпретувати їх і зробити відповідні висновки.
2 Побудова концептуальної моделі та її формалізація
2.1 Опис концептуальної моделі СМО
На підставі умови задачі побудуємо концептуальну схему процесу функціонування даної системи, наведену на малюнку 2.1.
SHAPE \ * MERGEFORMAT
Нак-ль № 1, Черга N запитів
|
Нак-ль № 2, Черга m запитів
|
Малюнок 2.1 - Концептуальна схема моделі системи
Таким чином, в роботі СМО можливі наступні ситуації:
- Режим нормального обслуговування, коли запит обробляється на першій ЕОМ з вірогідністю 50%, інакше - на другий, або, при наявності вільних місць у двох чергах, чекає свого часу;
- Режим відмови в обслуговуванні, коли запит залишає систему внаслідок зайнятості ЕОМ і переповненні черги іншими запитами.
SHAPE \ * MERGEFORMAT
Малюнок 2.2 - Структурна схема
Структурна схема моделі є вираженням концептуальної,
перекладеної на мову мат. схем. Враховуючи, що
процеси, що відбуваються в СМО, є процесами обслуговування заявок, використовуємо для їх формалізації апарат Q-схем.
Відповідно до
концептуальною моделлю, використовуючи символіку Q-схем, структурна схема моделі може бути представлена у вигляді, показаному на малюнку 2.2, де Н - накопичувачі, К - канали, І - джерело.
Накопичувачі Н1 і Н2 імітують процес очікування користувачів в черзі, який відбувається при зайнятості ЕОМ
обробкою запитів. Пунктирні лінії означають обробку запитів ЕОМ № 2 за умови, що на ЕОМ № 1
відповідь на запит відсутній.
Канали К1 і К2 імітують безпосередньо обробку запитів на ЕОМ.
2.2 Опис процесу функціонування СМО
З використанням введених позначень опишемо процес функціонування СМО.
Джерело генерує
сигнали випадковим чином через певні проміжки часу (10 ± 3 сек). Вступники заявки потрапляють у чергу в накопичувач № 1 і очікують в ній, якщо перша машина зайнята.
Як тільки перша машина звільняється і в накопичувачі є заявки відбувається первинна обробка запиту протягом 2 сек, після якої якщо потрібна інформація знаходиться на першій ЕОМ то вона продовжує оброблятися протягом 18 ± 2 сек, інакше заявка надходить в чергу в накопичувач № 2.
Процес функціонування і тимчасові характеристики ЕОМ № 2 ідентичні. Заявка повністю обробляє на ЕОМ № 1 з ймовірністю 50%, це забезпечується шляхом підрахунку кількості запитів оброблених на першій ЕОМ і числа запитів пройшли через накопичувач № 1. Якщо перше число менше або дорівнює 50% другого числа, то запит обробляється на першій ЕОМ.
2.3 Побудова логічної схеми
Для більш повного
розуміння алгоритму моделі необхідно побудувати логічну схему моделі. Побудова логічної схеми моделі системи з таких блоків дає ряд переваг на стадії її машинної розробки, а також спрощує розуміння структури моделі. При побудові блокової моделі проводиться розбиття загального процесу функціонування системи на окремі більш дрібні за масштабом
процеси.
Існує 2 види схем для розгляду логічної структури моделі процесу функціонування систем: узагальнені схеми і детальні схеми моделюючих алгоритмів.
Укрупненная (узагальнена) схема моделі задає загальний порядок дій без будь-яких уточнюючих деталей. Детальна схема моделі містить уточнення, відсутні в узагальненій схемі, і показує, що слід виконати на кожному кроці і як це виконати. При її побудові враховується, що моделює механізм має блочну структуру. Фактично узагальнена схема - це узагальнений вигляд блок-схеми, що показує основні етапи.
SHAPE \ * MERGEFORMAT
Надходження заявки через 10 ± 3 сек
|
Малюнок -2.3.1. Логічна узагальнена схема
2.4 Аналіз задачі моделювання
2.4.1 Критерії оцінки ефективності процесу функціонування СМО
У розглянутій задачі в якості критеріїв оцінки ефективності процесу функціонування СМО виступають наступні ймовірнісно-часові характеристики:
- Ймовірність відмови внаслідок переповнення черги;
- Коефіцієнти завантаження ЕОМ.
Ці ймовірнісно-часові характеристики взаємопов'язані між собою: чим більше коефіцієнти завантаження каналів, тим більша кількість людей буде обслуговано (мала ймовірність відмови). Але, в той же час, при великих коефіцієнтах завантаження можливі збої в системі, через обмеження кількості чоловік у черзі.
Таким чином, про ефективність процесу функціонування СМО ми будемо судити за кількістю збійних
сигналів: чим менше їх, тим ефективніше система.
2.4.2 Перевірка вірогідності моделі системи
Перевірка вірогідності моделі системи є важливою на етапі реалізації моделі. Оскільки модель є наближений опис процесу функціонування реальної системи, то до тих пір, поки не доведена достовірність моделі, не можна стверджувати, що з її допомогою ми отримали результати, адекватні тим, які могли б бути отримані при проведенні реального експерименту з системою. При цьому перевіряються можливість вирішення постановленій завдання, точність відображення задуму в логічній схемі, повнота логічної схеми моделі, правильність використовуваних
математичних співвідношень. Тільки після цього можна вважати, що є логічна схема моделі, придатна для подальшої
роботи з реалізації моделі на ЕОМ.
Так як побудована модель заснована на доказах, визнаними вірними, вона
відповідає вимозі відповідності. Справді, легко простежити і переходи заявок, та управляючі, і структурованість моделі.
Підготовлену в такому вигляді, її буде легше програмувати, а знайдені
математичні вирази з'являться основою отримання результатів. Так як формули не викликають сумнівів, складені схеми не
суперечать концептуальної, то приймаємо модель достовірної і приступаємо до машинної реалізації.
2.4.3 Параметри і змінні моделі СМО
Перш, ніж перейти до опису
математичної моделі, необхідно визначити параметри системи, вхідні і вихідні змінні, впливу зовнішнього середовища.
Для модельованої СМО як параметр може бути обрана ємність накопичувачів Н1 і Н2, які представляють собою черги заявок. Ємність буферних накопичувачів Н1 і Н2 будемо вимірювати у кількості запитів, які можуть у них (чергах) перебувати. У моделі ці параметри підбираються для ефективності роботи ЕОМ.
В якості ендогенних (залежних) змінних моделі СМО задамо: число запитів, які залишили систему не обслуговуваними через заповнювання накопичувачів. У моделі мінлива являє собою вихідну характеристику і обчислюється постійним підсумовуванням покидають систему не обслужених заявок.
Як екзогенних (незалежних) змінних моделі СМО виберемо час посилки сигналів у джерелі, що представляє собою випадкову величину, що генерується
датчиком випадкових чисел з необхідним законом розподілу.
2.5 Висування гіпотез і прийняття припущень
Виходячи з відомостей, можна зробити висновок про можливість побудови моделі на підставі наявного обсягу вихідної інформації, і її подальшої машинної реалізації за умови прийняття низки гіпотез і припущень щодо функцій розподілу параметрів процесів, що відбуваються в СМО, і впливів зовнішнього середовища.
Аналізуючи умову задачі, приходимо до висновку, що потік запитів, що надходять СМО представляє собою почергове надходження запитів з рівномірним законом розподілу між моментами їх появи і, отже, з однаковою інтенсивністю.
Аналізуючи наявну вихідну інформацію про СМО, можна зробити висновок, що завантаженість каналів, так само як і черги, буде не повною, а число необслуженной запитів буде зведена до нуля, тобто СМО забезпечить обслуговування всіх заявок, що надійшли.
2.6 Визначення процедур апроксимації
Для можливості апроксимації числових значень цікавлять характеристик системи S необхідно в
процесі моделювання провести апроксимації, для чого зазвичай використовуються процедури: детермінована, ймовірна і (або) процедура визначення середніх значень.
- Детерміновані процедури, при яких результати моделювання однозначно визначаються з даної сукупності вхідних впливів змінних і параметрів системи (у цьому випадку випадкові елементи відсутні). Цей тип нам не підходить, так як у нас є в наявності елемент випадковості при надходженні заявок в систему;
- Імовірнісні (рандомізовані) застосовуються, коли випадкові елементи, включаючи вплив зовнішнього середовища, впливають на функціонування системи і необхідно отримати закон розподілу вихідних змінних системи;
- Визначення середніх значень, коли результатом моделювання є
середні значення вихідної змінної при наявності випадкових змінних чи випадкових впливів;
Для розглянутої задачі моделювання СМО будемо використовувати як ймовірнісну процедуру, так і процедуру визначення середніх значень. Використання ймовірнісної процедури пояснюється тим, що у функціонуванні СМО присутні випадкові елементи, що впливають на результати моделювання. Процедура визначення середніх значень при моделюванні процесу функціонування СМО використовуються з причини
того, що інтерес представляють середні значення вихідних змінних при наявності випадкових чинників: середнє число заявок в черзі, і середнє завантаження ЕОМ.
3 Алгоритмізація і машинна реалізація моделі системи
3.1 Вибір обчислювальних засобів моделювання СМО
На другому етапі моделювання
математична модель, сформована на першому етапі, втілюється в конкретну машинну модель. Цей етап являє собою етап практичної діяльності, спрямованої на реалізацію ідей і математичних схем у вигляді машинної моделі процесу функціонування системи, орієнтованої на використання конкретних програмно - технічних засобів
Процеси, що відбуваються в СМО (надходження запитів в систему через різні проміжки часу, звільнення і заняття ЕОМ у різні моменти часу), мають дискретний і рівномірний характер. З урахуванням цього, а також виходячи з прагнення скорочення витрат часу на розробку моделі СМО, для машинної реалізації моделі процесу функціонування СМО була обрана
мова об'єктно-орієнтованого
програмування Delphi 6.
Ми вибрали
саме цю середу тому, що вона є найбільш оптимальною для вирішення всіх поставлених завдань в ході курсового проекту. Програмне середовище Delphi 6.0 містить в собі візуальні компоненти, такі як TButton, TLabel, TChart, TEdit, TPanel і багато інших, які спрощують і оптимізують роботу розробника. Важливо відзначити, що в середовищі Delphi дуже просто відобразити вихідні величини, за допомогою компонентів TChart і TStringrig.
Виходячи з цих міркувань можемо сказати, що для роботи даної моделі достатньо будь-якого сучасного IBM PC сумісного комп'ютера, що
працює під
управлінням ОС
Windows 98 і вище.
3.2 Програмування моделі
Програмування в середовищі Delphi, можна розділити на два етапи: створення інтерфейсу і написання програмного коду.
Основна
робота програми здійснюється наступним чином:
Джерело генерує заявки через дискретні проміжки часу, в які проводиться зміна станів елементів системи. Виходячи з постановки задачі незмінні дані є тривалість
моделювання (400 сек), час надходження запитів (10 ± 3сек), первинна обробка запиту (2 сек), видача відповіді (18 ± 2 сек), й змінювані - ємність накопичувача № 1 і № 2 , маніпулюючи якими досягається оптимальність системи. Після введення ємності накопичувача № 1 і № 2 слід натиснути на кнопку «Виконати» для початку роботи програми. Після чого в нижньому вікні будуть виведені всі знайдені параметри системи і столбцовая діаграма, що відображає кількість сигналів в накопичувачі № 1 у одиницю часу, в яку в кожну одиницю часу додається обсяг накопичувача № 1 (рис 3.2.1).
Малюнок 3.2.1-Зовнішній вигляд програми.
Лістинг програми представлений в додатку А.
4 Отримання і інтерпретація результатів моделювання
4.1 Планування машинного експерименту
Перед проведенням робочих
розрахунків на ЕОМ має бути складений план проведення експерименту. Проведення планування машинних експериментів покликане дати можливість отримати максимальний обсяг необхідної інформації про об'єкт моделювання при мінімальних
витратах ресурсів ЕОМ. Вирішуються приватні задачі планування конкретного машинного експерименту при вже заданих умовах його проведення та обраних інструментальної ЕОМ та її математичного забезпечення.
Так як модель стохастичності, в ній присутній випадковий елемент (час надходження заявок), то й результати не будуть однакові для двох запусків програми. Але тим не менш, можна визначити якесь число, до якого буде прагнути конкретний параметр (раніше ми вибрали з трьох методів апроксимації метод визначення середніх значень). Для цього необхідно збільшити кількість прогонів програми, або, кажучи мовою теорії ймовірностей, число дослідів. Це число повинне бути кінцевим, і точність результатів при ньому досить висока.
Визначимо кількість прогонів необхідних для отримання достовірної інформації за формулою (1):
(1)
де: p - частота = n1 / n;
n1 - число фіналів в n - експериментах;
Q - довірча ймовірність;
Ф
-1-зворотна функція Лапласа.
Таблиця 4.1.1-Обернена функція Лапласа.
Q
| 0.9
| 0.95
| 0.98
| 0.99
|
(Ф -1 * Q / 2) 2
| 2.7
| 3.84
| 5.7
| 6.61
|
Виходячи із завдання Q = 0.95, Е = 0.05 отже (Ф
-1 * Q /
2) 2
= 3,84
Проведемо 10 експериментів на моделі (n = 10) і простежимо за значенням
розрахункової величини - ймовірністю відмови. Оскільки по при довжині черги накопичувача № 1 рівної 5, збійних сигналів немає, то, отже, ймовірність відмови буде дорівнює 0, що робить неможливим розрахунок кількості прогонів. Тому будемо вести розрахунок при довжині черги накопичувача № 1 і № 2 рівною 1, тільки при цьому значенні спостерігається поява збійних сигналів.
Таблиця 4.1.2 - Експериментальні дані.
№ експ
| Кол.-во збоїв
| № експ
| Кількість збоїв
|
1
| 8
| 6
| 10
|
2
| 10
| 7
| 8
|
3
| 10
| 8
| 7
|
4
| 6
| 9
| 10
|
5
| 9
| 10
| 9
|
n = 8 +10 +10 +6 +9 +10 +8 +7 +10 +9 = 87;
p1 = 8 / 87 = 0,091954; p6 = 10/87 = 0,114943;
р2 = 10/87 = 0,114943; р7 = 8 / 87 = 0,091954;
р3 = 10/87 = 0,114943; Р8 = 7 / 87 = 0,08046;
р4 = 6 / 87 = 0,068966; Р9 = 10/87 = 0,114943;
Р5 = 9 / 87 = 0,103448; Р10 = 9 / 87 = 0,103448;
Вибираємо найгіршу (більшу) ймовірність - 0,114943 і підставляємо її у формулу (1):
Отже, щоб точність експериментів становила 0.95 необхідно зробити 156 експерименту.
Статистичні дані та результати всіх прогонів представлені у додатку Б.
4.2 Аналіз результатів моделювання За отриманими результатами моделювання розрахуємо
математичне очікування величини - ймовірність відмови-за формулою (2):
M [X] = X1 * P1 + X2 * P2 ... ... ... .. Xn * Pn, (2)
де P = Ni / N;
N - кількість дослідів (прогонів);
Ni - кількість появ Xi в дослідах.
По додатку Б визначаємо x, n, p (таблиця 4.2)
Таблиця 4.2 - Результати моделювання
Xi
| 0
| 0,00421941
| 0,0126582
| 0,00843882
| 0,0168776
|
Ni
| 36
| 38
| 33
| 48
| 1
|
Pi
| 0,230769231
| 0,24358974
| 0,2115385
| 0,30769231
| 0,0064103
|
М [X] = 0 + 0,0010278 + 0,0026777 + 0,00259656 + 0,0001082 = 0,0064103
Дисперсію розрахуємо за формулою (3):
D [X] = Σ (Xi-M)
2 * Pi (3)
D [X] = 0,0000095 + 0,0000012 + 0,0000083 + 0,0000013 + 0,0000007 = 0,00002
4.3 Форма представлення результатів моделювання
У кожному конкретному випадку доцільно вибирати найбільш підходящу форму представлення результатів моделювання (
таблиці, графіки, діаграми, гістограми, схеми тощо), тому що це суттєво впливає на ефективність подальшого використання результатів моделювання (наприклад, замовником). У більшості випадків зручніше результати моделювання зводити в таблиці.
У розглянутій задачі моделювання СМО на екран
монітора остаточний результат виводиться в окремому вікні, у вигляді таблиці.
Висновок
У цій роботі успішно були розроблені концептуальна, математична і машинна моделі процесу функціонування СМО.
Отримані на ЕОМ результати моделювання процесу функціонування СМО відображають основні особливості функціонування реального об'єкта і дозволяють якісно і кількісно оцінити його поведінку. На основі отриманих оцінок характеристик можна зробити наступні висновки і дати відповідні рекомендації.
Отримані результати моделювання системи показують досить ефективну роботу системи при середньому завантаженні ЕОМ № 1 98% і ЕОМ № 2 80%, при цьому в системі відбувається мінімальна кількість збоїв і йде
100% обслуговування заявок. Для поліпшення параметрів системи можна збільшити ємність накопичувача № 1 до 7 заявок, але при цьому його завантаженість знизиться в середньому до 40%.
В цілому створення програми, що моделює систему масового обслуговування, можна вважати вдалим. Алгоритм розроблявся максимально простий і ефективний. Результати моделювання показали не тільки ефективність роботи даної системи, але і можливі шляхи підвищення її продуктивності.
Список використаних джерел
1. Бусленко Н.П.
Моделювання складних систем / / - М.:
Наука, 1978. - 51с.
2. Ліфшиц А.Л.
Статистичне моделювання СМО, М., 1978. -216 С.
3. Мухін О. І.
Моделювання систем.
Конспект лекцій - 1985. - 95С.
4. Рад Б.Я., Яковлєв С.О. Моделювання систем / /
Підручник для ВНЗ-М.: Вища
школа, 1985. - 224 с.
5. Рад Б.Я., Яковлєв С.О. Моделювання систем / / Курсове проектування-М.: Вища школа, 1988. - 232 с.
6.
Архангельський А. Я.
Програмування в Delphi 5.-М.: ЗАТ «Видавництво БІНОМ», 2000.-1070 с.
7. Бобровський С. І. Delphi 5: Навчальний курс. - СПб.: Пітер, 2002. - 640 с.
8. Вендров А. М. Проектування програмного забезпечення ЕІС. М.: «Фінанси та статистика», 2000. - 452 с.
Додаток А
(Обов'язковий) Лістинг програми
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin, ExtCtrls, TeEngine, Series, TeeProcs, Chart;
type
TForm1 = class (TForm)
Button1: TButton;
ListBox1: TListBox;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Image1: TImage;
Label1: TLabel;
Label3: TLabel;
GroupBox4: TGroupBox;
Label6: TLabel;
seNak: TSpinEdit;
Label7: TLabel;
seNak2: TSpinEdit;
Label2: TLabel;
Label4: TLabel;
Chart1: TChart;
Series1: TBarSeries;
procedure Button1Click (Sender: TObject);
procedure FormCreate (Sender: TObject);
private
{Private declarations}
public
{Public declarations}
procedure Kanal;
procedure Istok;
procedure Kanal_2;
end;
var
Form1: TForm1;
ZKan, zkan_2: boolean;
t1, t2, n, t, tIstok, InSig, VNak, Sboy, OutSig, tkan, SZKan, SZNak, sekanal_2, sboy_2, outsig_2, SZNak_2, szkan_2, tkan_2, vnak_2: integer;
in_k1: byte;
{Var nak_2: byte; {накопичувач для каналу № 2}
{Colnak1-кол-во сигналів, пройдених через накопичувач 1}
{In_k1-true-сигнал обслуг-ся каналом № 1, false-сигнал обслуг-ся каналом № 2}
implementation
{$ R *. dfm}
procedure TForm1.Button1Click (Sender: TObject);
var j: integer;
begin
VNak: = 0; {Накопичувач}
Sboy: = 0;
sboy_2: = 0;
InSig: = 0; {підрахунок посланих сигналів}
OutSig: = 0; {підрахунок кількості сигналів, які залишили систему обслуговуваними}
vnak_2: = 0;
outsig_2: = 0;
SZNak: = 0; {підрахунок середньої зайнятості накопичувача в сигналах}
SZNak_2: = 0; {підрахунок середньої зайнятості накопичувача в сигналах}
SZKan: = 0; {підрахунок кількості одиниць часу, який канал перебуває у стані зайнятості}
szkan_2: = 0;
ZKan: = False; {стан каналу}
ZKan_2: = false;
in_k1: = 0;
ListBox1.Items.Clear;
T: = 0;
tIstok: = T +7 + random (7);
Series1.Clear;
Repeat
Istok;
Kanal;
kanal_2;
SZNak: = SZNak + VNak;
SZNak_2: = SZNak_2 + VNak_2;
inc (t);
Series1.Add (vnak); {додавання даних у діаграму про накопичувач № 1}
Until T> 400;
with ListBox1.Items do
begin {zkan_2: boolean; sekanal_2, sboy_2, outsig_2, szkan_2, tkan_2: integer;}
{Add ('Повинно вступити сигналів:' + IntToStr (400 div 10));}
Add ('Вступлю сигналів:' + IntToStr (InSig));
Add ('Опрацьовано сигналів каналом № 1:' + IntToStr (OutSig));
Add ('Опрацьовано сигналів каналом № 2:' + IntToStr (OutSig_2));
Add ('Збійний сигналів:' + IntToStr (Sboy + sboy_2));
if ZKan then Inc (VNak);
Add ('врахованих сигналів:' + IntToStr (VNak + vnak_2 + Sboy + sboy_2 + OutSig + OutSig_2));
if ZKan_2 then Inc (VNak);
if t-t1 <3 then Inc (VNak);
if t-t2 <3 then Inc (VNak);
Add ('Залишилося в системі сигналів:' + IntToStr (VNak));
Add ('Середня зайнятість накопичувача № 1 (у сиг.):' + FloatToStrF (SZNak/400, ffNumber, 8,2));
Add ('Середня зайнятість накопичувача № 1 (у%):' + IntToStr (Round (SZNak/400/seNak.Value * 100)));
Add ('Середня зайнятість накопичувача № 2 (у сиг.):' + FloatToStrF (SZNak_2/400, ffNumber, 8,2));
Add ('Середня зайнятість накопичувача № 2 (у%):' + IntToStr (Round (SZNak_2/400/seNak2.Value * 100)));
Add ('Середня зайнятість каналу № 1 (у%):' + IntToStr (Round (SZKan/400 * 100)));
Add ('Середня зайнятість каналу № 2 (у%):' + IntToStr (Round (SZKan_2/400 * 100)));
end;
end;
procedure TForm1.Kanal;
begin
if ZKan
then
begin
Dec (tKan);
Inc (SZKan); {підрахунок кількості одиниць часу, який канал перебуває у стані зайнятості}
if tKan = 0 {час, що залишився до кінця обробки
сигналу} then
begin
ZKan: = False;
if in_k1 = 1 then begin
Inc (OutSig) {підрахунок кількості сигналів, які залишили канал № 1 обслуговуваними};
t1: = t;
end
else begin
if vnak_2 <seNak2.Value then inc (vnak_2)
else inc (sboy_2);
end;
end;
end;
if not ZKan and (VNak> 0)
then
begin
Dec (VNak);
if in_k1 = 1 then in_k1: = 0
else in_k1: = 1;
ZKan: = True;
if in_k1 = 1 then tKan: = 2 +16 + random (5) {18 + / -2: кількість одиниць часу, що відводиться на обробку одного сигналу}
else tKan: = 2;
end;
end;
procedure TForm1.Istok;
begin
{If T mod N = 0
then
tIstok: = T +7 + random (7); {джерело}
if T = tIstok
then
begin
tIstok: = T +7 + random (7); {джерело}
Inc (InSig); {підрахунок посланих сигналів}
if VNak <seNak.Value {ємність накопичувача}
then begin
Inc (VNak);
end
else Inc (Sboy);
end;
end;
procedure TForm1.FormCreate (Sender: TObject);
begin
randomize;
end;
procedure TForm1.Kanal_2;
begin
if ZKan_2
then
begin
Dec (tKan_2);
Inc (SZKan_2); {підрахунок кількості одиниць часу, який канал перебуває у стані зайнятості}
if tKan_2 = 0 {час, що залишився до кінця обробки сигналу}
then
begin
ZKan_2: = False;
Inc (OutSig_2); {підрахунок кількості сигналів, які залишили систему обслуговуваними}
t2: = t;
end;
end;
if not ZKan_2 and (VNak_2> 0)
then
begin
Dec (VNak_2);
ZKan_2: = True;
tKan_2: = 16 + random (5); {кількість одиниць часу, що відводиться на обробку одного сигналу}
end;
end;
end.
Додаток Б (Обов'язковий) Статистичні дані
№ експ.
| Надійшло заявок, шт
| Необслужено заявок, шт
| Імовірність відмови,%
| Завантаження накопичувача № 1,%
|
1
| 38
| 0
| 0
| 46
|
2
| 39
| 1
| 0,004219
| 57
|
3
| 41
| 3
| 0,012658
| 57
|
4
| 40
| 2
| 0,008439
| 59
|
5
| 40
| 3
| 0,012658
| 50
|
6
| 39
| 2
| 0,008439
| 60
|
7
| 40
| 3
| 0,012658
| 58
|
8
| 38
| 1
| 0,004219
| 40
|
9
| 41
| 3
| 0,012658
| 66
|
10
| 42
| 4
| 0,016878
| 62
|
11
| 40
| 2
| 0,008439
| 52
|
12
| 40
| 3
| 0,012658
| 60
|
13
| 38
| 0
| 0
| 39
|
14
| 41
| 3
| 0,012658
| 58
|
15
| 40
| 2
| 0,008439
| 46
|
16
| 40
| 2
| 0,008439
| 59
|
17
| 40
| 2
| 0,008439
| 68
|
18
| 39
| 1
| 0,004219
| 50
|
19
| 40
| 2
| 0,008439
| 53
|
20
| 39
| 1
| 0,004219
| 32
|
21
| 39
| 2
| 0,008439
| 48
|
22
| 39
| 1
| 0,004219
| 60
|
23
| 37
| 0
| 0
| 26
|
24
| 40
| 0
| 0
| 42
|
25
| 38
| 0
| 0
| 50
|
26
| 38
| 1
| 0,004219
| 52
|
27
| 40
| 2
| 0,008439
| 64
|
28
| 39
| 1
| 0,004219
| 32
|
29
| 40
| 2
| 0,008439
| 59
|
30
| 40
| 3
| 0,012658
| 50
|
31
| 39
| 2
| 0,008439
| 66
|
32
| 38
| 1
| 0,004219
| 50
|
33
| 39
| 3
| 0,012658
| 45
|
34
| 40
| 1
| 0,004219
| 56
|
35
| 37
| 2
| 0,008439
| 65
|
36
| 38
| 3
| 0,012658
| 50
|
37
| 38
| 0
| 0
| 54
|
38
| 37
| 0
| 0
| 53
|
39
| 39
| 1
| 0,004219
| 45
|
40
| 39
| 2
| 0,008439
| 48
|
41
| 39
| 0
| 0
| 48
|
42
| 40
| 1
| 0,004219
| 49
|
43
| 37
| 2
| 0,008439
| 50
|
44
| 38
| 0
| 0
| 59
|
45
| 38
| 1
| 0,004219
| 38
|
46
| 37
| 2
| 0,008439
| 39
|
47
| 40
| 0
| 0
| 40
|
48
| 39
| 0
| 0
| 50
|
49
| 38
| 0
| 0
| 56
|
50
| 40
| 1
| 0,004219
| 53
|
51
| 37
| 2
| 0,008439
| 55
|
52
| 37
| 0
| 0
| 49
|
53
| 39
| 1
| 0,004219
| 66
|
54
| 38
| 2
| 0,008439
| 33
|
55
| 39
| 0
| 0
| 56
|
56
| 39
| 3
| 0,012658
| 65
|
57
| 40
| 0
| 0
| 45
|
58
| 41
| 2
| 0,008439
| 58
|
59
| 41
| 2
| 0,008439
| 56
|
60
| 37
| 2
| 0,008439
| 59
|
61
| 38
| 1
| 0,004219
| 48
|
62
| 38
| 3
| 0,012658
| 59
|
63
| 38
| 3
| 0,012658
| 67
|
64
| 40
| 3
| 0,012658
| 56
|
65
| 39
| 2
| 0,008439
| 65
|
66
| 39
| 0
| 0
| 48
|
67
| 40
| 1
| 0,004219
| 68
|
68
| 41
| 2
| 0,008439
| 59
|
69
| 37
| 3
| 0,012658
| 48
|
70
| 37
| 0
| 0
| 56
|
71
| 38
| 2
| 0,008439
| 45
|
72
| 38
| 3
| 0,012658
| 56
|
73
| 39
| 0
| 0
| 64
|
74
| 40
| 1
| 0,004219
| 56
|
75
| 39
| 2
| 0,008439
| 45
|
76
| 37
| 3
| 0,012658
| 36
|
77
| 38
| 0
| 0
| 42
|
78
| 40
| 1
| 0,004219
| 46
|
79
| 37
| 2
| 0,008439
| 43
|
80
| 40
| 2
| 0,008439
| 48
|
81
| 41
| 2
| 0,008439
| 59
|
82
| 41
| 1
| 0,004219
| 56
|
83
| 37
| 0
| 0
| 55
|
84
| 38
| 3
| 0,012658
| 54
|
85
| 38
| 2
| 0,008439
| 53
|
86
| 39
| 0
| 0
| 52
|
87
| 39
| 3
| 0,012658
| 57
|
88
| 39
| 2
| 0,008439
| 55
|
89
| 40
| 1
| 0,004219
| 42
|
90
| 41
| 0
| 0
| 53
|
91
| 41
| 2
| 0,008439
| 61
|
92
| 38
| 3
| 0,012658
| 56
|
93
| 38
| 2
| 0,008439
| 65
|
94
| 39
| 0
| 0
| 49
|
95
| 37
| 1
| 0,004219
| 65
|
96
| 38
| 2
| 0,008439
| 67
|
97
| 38
| 3
| 0,012658
| 62
|
98
| 39
| 0
| 0
| 53
|
99
| 40
| 1
| 0,004219
| 54
|
100
| 40
| 2
| 0,008439
| 48
|
101
| 40
| 3
| 0,012658
| 50
|
102
| 38
| 3
| 0,012658
| 60
|
103
| 39
| 1
| 0,004219
| 45
|
104
| 39
| 2
| 0,008439
| 46
|
105
| 37
| 0
| 0
| 56
|
106
| 37
| 3
| 0,012658
| 52
|
107
| 40
| 2
| 0,008439
| 38
|
108
| 40
| 1
| 0,004219
| 46
|
109
| 37
| 3
| 0,012658
| 47
|
110
| 38
| 3
| 0,012658
| 42
|
111
| 39
| 2
| 0,008439
| 56
|
112
| 39
| 1
| 0,004219
| 51
|
113
| 40
| 1
| 0,004219
| 60
|
114
| 40
| 0
| 0
| 65
|
115
| 41
| 1
| 0,004219
| 53
|
116
| 41
| 1
| 0,004219
| 57
|
117
| 41
| 2
| 0,008439
| 42
|
118
| 39
| 0
| 0
| 46
|
119
| 38
| 0
| 0
| 56
|
120
| 37
| 0
| 0
| 51
|
121
| 37
| 3
| 0,012658
| 53
|
122
| 39
| 2
| 0,008439
| 59
|
123
| 40
| 1
| 0,004219
| 40
|
124
| 40
| 3
| 0,012658
| 45
|
125
| 41
| 0
| 0
| 47
|
126
| 41
| 1
| 0,004219
| 48
|
127
| 40
| 2
| 0,008439
| 50
|
128
| 38
| 0
| 0
| 56
|
129
| 38
| 1
| 0,004219
| 60
|
130
| 39
| 2
| 0,008439
| 64
|
131
| 38
| 2
| 0,008439
| 49
|
132
| 37
| 1
| 0,004219
| 50
|
133
| 40
| 0
| 0
| 40
|
134
| 37
| 3
| 0,012658
| 48
|
135
| 39
| 3
| 0,012658
| 47
|
136
| 38
| 2
| 0,008439
| 49
|
137
| 40
| 3
| 0,012658
| 43
|
138
| 41
| 3
| 0,012658
| 40
|
139
| 39
| 3
| 0,012658
| 42
|
140
| 38
| 2
| 0,008439
| 41
|
141
| 37
| 1
| 0,004219
| 46
|
142
| 39
| 0
| 0
| 49
|
143
| 39
| 0
| 0
| 56
|
144
| 40
| 0
| 0
| 57
|
145
| 40
| 1
| 0,004219
| 59
|
146
| 41
| 2
| 0,008439
| 58
|
147
| 39
| 0
| 0
| 57
|
148
| 39
| 1
| 0,004219
| 50
|
149
| 38
| 2
| 0,008439
| 50
|
150
| 38
| 2
| 0,008439
| 60
|
151
| 38
| 1
| 0,004219
| 64
|
152
| 37
| 2
| 0,008439
| 67
|
153
| 38
| 1
| 0,004219
| 42
|
154
| 38
| 3
| 0,012658
| 53
|
155
| 39
| 2
| 0,008439
| 62
|
156
| 39
| 1
| 0,004219
| 48
|