You are on page 1of 30

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ

«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ ІМЕНІ ІГОРЯ СІКОРСЬКОГО»

ФАКУЛЬТЕТ ІНФОРМАТИКИ ТА ОБЧИСЛЮВАЛЬНОЇ ТЕХНІКИ

КАФЕДРА ІНФОРМАТИКИ ТА ПРОГРАМНОЇ ІНЖЕНЕРІЇ

КУРСОВА РОБОТА
з дисципліни «Моделювання систем»
Розробка імітаційної моделі механічного цеху технологією
Arena Simulation Software

Керівник: Виконавець:
д.т.н., проф. Стеценко І. В. Довгань В. О.
студентка ІV курсу
«Допущено до захисту» групи ІТ-94
_____________________ залікова книжка
(особистий підпис керівника) № ІТ-9405

«___» __________ 20__ р.


(особистий підпис виконавця)
Захищено з оцінкою
_____________________ «___» __________ 20__ р.
(оцінка)

Київ 2022
Національний технічний університет України «КПІ ім. І.Сікорського»
Кафедра автоматизованих систем обробки інформації та управління

Дисципліна «Моделювання систем»


Спеціальність Інформаційні управляючи системи та технології
Курс 4 Група ІТ - 94 Семестр - 7

ЗАВДАННЯ

на курсову роботу студента

Довгань Валерії Олександрівни

1.Тема роботи: Розробка імітаційної моделі, її реалізація та проведення


експериментів до завдання №8 з методички з курсової роботи

2. Термін здачі студентом закінченої роботи "20" грудня 2022 р.

3. Вихідні дані до проекту: пуассонівський потік з параметром i хвилин-1;


uодина роботи верстата дає прибуток S1 одиниць вартості; заробітна плата
ремонтників – s2 одиниць вартості в годину для першої категорії і s3 одиниць
вартості для другої

4. Зміст розрахунково-пояснювальної записки (перелік питань, що


розробляються) 1. Аналіз існуючих методів вирішення завдання 2. Розробка
концептуальної моделі 3. Вибір засобів моделювання 4. Розробка структурної
схеми імітаційної моделі та опис її функціонування 5. Результати експериментів
на моделі. Висновки. Додатки.

5. Перелік графічного матеріалу (з точним позначенням обов'язкових


креслень)
Графічного матеріалу не має.

6. Дата видачі завдання "04" жовтня 2022р.

2
КАЛЕНДАРНИЙ ПЛАН

Термін
№ Назва етапів курсового проекту (роботи) виконання Примітка
етапів
роботи
1 Отримання завдання 04.10.2022р
Формулювання теми курсової роботи 10.10.2022р
2 Аналіз можливих методів вирішення 20.10.2022р
поставленого завдання
3 Розробка концептуальної моделі 25.10.2022
4 Перший контроль за процесом 05.11.2022р
виконання курсового проекту (роботи),
консультація у викладача
5 Опис імітаційної моделі 15.11.2022р
6 Опис програмної реалізації імітаційної 25.11.2022
моделі
7 Другий контроль за процесом виконання 01.12.2022р
курсового проекту (роботи),
консультація у викладача
8 Аналіз та оцінка результатів 07.12.2022р
9 Оформлення пояснювальної записки 15.12.2022р
10 Здача пояснювальної записки 18.12.2022р
11 Захист курсового проекту (роботи) 20.12.2022р

Студент___________________________
(підпис)
Керівник __________________________ _____________________
(підпис) (прізвище, ім'я, по батькові)

«04» жовтня 2022 р.


3
РЕФЕРАТ
Курсова робота: 30 с., 8 рис., 2 табл., 3 додатків, 6 джерел літератури.
Об'єкт дослідження – механічний цех. Мета роботи – визначити склад бригади
ремонтників, при якому сумарний прибуток досягає максимуму. Метод
дослідження – імітаційне моделювання.
Проведено дослідження та тестування із різною кількістю робітників
різних типів, розроблено імітаційну модель роботи механічного цеху. Результати
моделювання використані для прийняття рішень щодо оптимальної кількості
працівників для обслуговування механічного цеху. Модель програми розроблена
вперше.
ІМІТАЦІЙНА МОДЕЛЬ, МОДЕЛЮВАННЯ СИСТЕМ, МЕХАНІЧНИЙ
ЦЕХ, КІЛЬКІСТЬ ПРАЦІВНИКІВ.

4
ЗМІСТ
ПОСТАНОВКА ЗАВДАННЯ.........................................................................................6
ВСТУП..............................................................................................................................7
1 АНАЛІЗ МОЖЛИВИХ МЕТОДІВ ТА ЗАСОБІВ ВИРІШЕННЯ
ПОСТАВЛЕНОГО ЗАВДАННЯ....................................................................................8
2 РОЗРОБКА КОНЦЕПТУАЛЬНОЇ МОДЕЛІ.............................................................9
3 ВИБІР ЗАСОБІВ МОДЕЛЮВАННЯ.......................................................................11
4 РОЗРОБКА СТРУКТУРНОЇ СХЕМИ ІМІТАЦІЙНОЇ МОДЕЛІ ТА ОПИС ЇЇ
ФУНКЦІОНУВАННЯ...................................................................................................13
5 РЕЗУЛЬТАТИ ЕКСПЕРИМЕНТІВ НА МОДЕЛІ...................................................15
ВИСНОВКИ...................................................................................................................18
ПЕРЕЛІК ПОСИЛАНЬ..................................................................................................19
ДОДАТОК А..................................................................................................................20
ДОДАТОК Б...................................................................................................................28
ДОДАТОК В...................................................................................................................30

5
ПОСТАНОВКА ЗАВДАННЯ
У механічному цеху є М верстатів. Кожний з них може виходити з ладу.
Несправності верстатів діляться на три типи. Несправності i-го типу являють
собою пуассонівський потік з параметром i хвилин-1.
У цеху є дві категорії майстрів-ремонтників. Функції розподілу часу їхньої
роботи з усунення несправностей рівномірні (табл. 0.1).
Година роботи верстата дає прибуток S1 одиниць вартості; заробітна плата
ремонтників – s2 одиниць вартості в годину для першої категорії і s3 одиниць
вартості для другої.
Визначить склад бригади ремонтників, при якому сумарний прибуток
досягає максимуму. Параметри до завдання наведено в табл. 0.2 [1].
Таблиця 0.1
Час роботи на усунення
Категорія
несправності j
майстра
j=1 j=2 j=3
1 16±4 18±4 -
2 10±3 15±6 19±5
Таблиця 0.2
Параметри
M 1 2 3 S1 S2 S3
50 1/100 1/200 1/300 7000 30 80

6
ВСТУП
Моделювання систем є актуальним питанням в розвитку комп’ютерних і
інформаційних систем. Воно дозволяє відтворювати і спрогнозувати ситуації, які
можуть зустрічатися в реальному світі. Найчастіше галузь моделювання систем
використовується для прогнозування подій, аналізу факторів що можуть вплинути
на виробництво товарів, конструювання різноманітних моделей та систем та
багато іншого.
Найчастіше звичайні люди можуть зустрітися із модельованими системами в
онлайн-іграх, 8-Д кінотеатрах, атракціонах [2].
У даній курсовій роботі буде проведено дослідження механічного цеху.
Метою дослідження є визначення оптимального складу бригади ремонтників, при
якому сумарний прибуток досягатиме максимуму.
Для успішного виконання завдання будемо використовувати метод
імітаційного моделювання.
У більшості імітаційних моделей час обслуговування і моменти появи вимог
є випадковими величинами. Отже, для моделювання таких систем необхідно
використовувати випадкові величини із заданими законами розподілу
ймовірностей, які також треба визначити перед початком моделювання.
Оскільки надходження вимог до системи носить циклічний і випадковий
характер, системи обслуговування рідко функціонують у стійкому режимі. Тому
під час моделювання таких систем треба обов'язково враховувати наявність
перехідних процесів у моделі та можливість зміни інтенсивності шотоків у часі
[2].

7
1 АНАЛІЗ МОЖЛИВИХ МЕТОДІВ ТА ЗАСОБІВ ВИРІШЕННЯ
ПОСТАВЛЕНОГО ЗАВДАННЯ
Виходячи з завдання, можна сказати, що для аналізу процесу
функціонування виробництва необхідно розробляти певні моделі для дослідження
ризиків, ефективності та інших факторів що можуть впливати на результат роботи.
Результат моделювання виробничої системи може використовуватися в прийнятті
рішень організації штату, обсягів виробництва, контролю обліку ресурсів.
Процес такого роду перетворення передбачає розв'язання комплексу
стандартних аналітичних завдань за певними аспектами економічної діяльності:
характер використання виробничих ресурсів, собівартість товарної продукції,
фінансовий стан підприємства.
Послідовність розробки імітаційної моделі складається з наступних кроків:
1) Визначення завдання модельованої системи та питання, яке буде
вирішено;
2) Збір і систематизація вхідної інформації;
3) Побудова імітаційної моделі;
4) Перевірка функціонування моделі;
5) Використання моделі для розв'язання поставленої задачі.
Характер досліджень, що виконуються за допомогою моделювання, є суто
ймовірнісним.
Найбільш поширеним є застосування моделювання для встановлення зв'язку
між узагальнюючими результатними показниками ефективності діяльності
підприємства і зовнішніми факторами, що обумовлюють певні їх значення [3].

8
2 РОЗРОБКА КОНЦЕПТУАЛЬНОЇ МОДЕЛІ
Цілями дослідження системи є визначення оптимального складу ремонтної
бригади механічного цеху. Визначити кількість ремонтників, які зможуть
ремонтувати поломки різних (трьох) типів несправностей верстатів.
Модель складається з таких елементів:
- Створення верстатів;
- Створення робітників першої і другої категорії (задаємо кількість ресурсів
під час створення, через те, що не можна присвоїти кількість ресурсу як variables,
можна лише число вписати);
- Визначення кількості вільних працівників на даний момент часу (на
початку всі робітники доступні);
- Створення поломок різних типів
- Перевірка створеної поломки;
- Якщо розглядати поломки 1го і 2го типів – їх може полагодити або
звичайний робітник, або кваліфікований.
- Якщо доступні звичайні робітники – їх кількість зменшується на 1го
і працівник «затримується» на час роботи поломки, стає недоступним для
використання. Після налагодження верстату (8-12 хв) працівник знову стає
доступним для роботи.
- Якщо звичайні робітники недоступні і є вільний кваліфікований - він
викликається. Якщо вільних немає – буде створено очікування будь – якого
вільного працівника і перевірка його кваліфікації.
- Якщо розглядати поломки 3го типу, який може полагодити лише
кваліфікований працівник – буде створення очікування вільного. Якщо доступний
хоча б один кваліфікований працівник – його буде «затримано» для виконання
завдання і потім звільнення цього працівника.
Вхідні характеристики моделі:
- У механічному цеху є М = 50 верстатів

9
- Несправності 1-го типу являють собою пуассонівський потік з
параметром 1 = 1/100 хвилин-1
- Несправності 2-го типу являють собою пуассонівський потік з
параметром 2 = 1/200 хвилин-1
- Несправності 3-го типу являють собою пуассонівський потік з
параметром 3 = 1/300 хвилин-1
- Година роботи верстата дає прибуток S1 = 7000 одиниць вартості
- Заробітна плата ремонтників s2 = 30 одиниць вартості в годину для
першої категорії і s3 = 80 одиниць вартості для другої.
Вихідні характеристики моделі:
- Прибуток за весь час роботи моделі із врахуванням загальної кількості
часу, під час якого не працювали машини
- Витрати на заробітну плату працівників
- Чистий прибуток
Формалізована модель системи роботи механічного цеху мережею Петрі
зображена на рис. 2.1.

Рис. 2.1 - Класична мережа Петрі


10
3 ВИБІР ЗАСОБІВ МОДЕЛЮВАННЯ
Для виконання роботи було надано 3 програми на вибір -
Arena/Simio/CPNTools. Розглянемо кожну з них, виділими переваги та оберемо
найоптимальнішу.
Arena Simulation Software
Програмне забезпечення Arena™ Simulation використовує метод
дискретних подій для моделювання систем, але використовуючи програмне
забеспечення також охоплює області потокового та агентного моделювання. Для
моделювання в Arena є 4 прості кроки:
1) Визначення проблеми
2) Моделювання процесу
3) Повторення процесів для визначення найкращого результату [4].
Simio Simulation Software
Simio забеспечує простоту проектування та використання програмного
продукту. Завдяки запатентованим функціям та інтуїтивно зрозумілому
інтерфейсу Simio допомагає легше приймати рішення та дозволяє візуалізувати
моделі в 3D. Інфраструктура швидкого моделювання Simio дозволяє швидко
оцінити альтернативи для зменшення ризику та максимізації впливу інвестицій в
нове обладнання чи процеси для будь-якої галузі [5].
CPNTools
CPNTools - інструмент для редагування, моделювання та аналізу мереж
Петрі. Програма дозволяє перевіряти синтаксис та генерацію коду, які
відбуваються під час створення мережі. Симулятор ефективно обробляє мережі
без синхронізації та часу. Повні та часткові стани мережі можна генерувати та
аналізувати, а стандартний звіт про стан мережі містить інформацію, таку як
властивості сутностей та об’єктів [6].
Попередня інформація надана на офіційних сайтах відповідних продуктів.
Дослідивши більше інформації про вище наведені програмні продукти для

11
роботи було обрано Arena Simulation Software, яка є простішою для роботи,
більш популярною для завдань моделювання систем. Також ця програма є
простішою для установки і легший для сприйняття інтерфейс.

12
4 РОЗРОБКА СТРУКТУРНОЇ СХЕМИ ІМІТАЦІЙНОЇ МОДЕЛІ ТА ОПИС ЇЇ
ФУНКЦІОНУВАННЯ
Згідно концептуальної моделі було розроблено наступну імітаційну
модель, зображену на рисунку 4.1.

Рисунок 4.1 – Імітаційна модель


Параметри блоків моделі наведені у додатку А.
Імітаційна модель містить наступні елементи:
Елемент Create workers – створює працівників різних категорій та зберігає
інформацію про кількість робітників, які доступні в поточний момент часу
роботи моделі. В момент часу 0 записуємо що всі працівники доступні (доступна
кількість робітників = максимальній кількості робітників).
Вузол Malfunction type 1 (2, 3) occurred – створює поломки 1го, 2го та 3го
типів відповідно. Містить в собі інформацію про те, як часто створюються
поломки відповідно до умови завдання.
Коли створюється поломка – вона іде в сутність Malfunction type is 1 (2, 3),
в блок Assign. Тут записується атрибут Malfunction type – тип поломки 1й, 2й або
3й.

13
Поломки першого і 2го типів може полагодити або звичайний працівник,
або кваліфікований. При створенні поломок цих типів модель переходить в
наступний елемент (розгалуджувач, блок if). Він визначає кількість доступних
працівників.
Якщо звичайних працівників більше за 0, то ми зменшуємо кількість
доступних працівників на 1. Наступний елемент Process реалізує затримку
працівника за допомогою action Delay на заданий в параметрах час від 8 до 12
хвилин. Після того, як працівник полагодив машину в наступному блоці Assign
він верифікується як доступний.
Якщо всі звичайні працівники зайняті (немає доступних) розгалуджувач
переходить по гілці false. Якщо є вільні кваліфіковані працівники – ідемо по гілці
true. Вже кваліфікований працівник буде лагодити поломку. Якщо вільних
працівників немає – останній розгалуджувач переходить по гілці false в елемент
Hold, в якому ми прописуємо умову очікування звільнення працівника будь –
якої категорії. Очікування буде завершено, коли кількість звичайних працівників,
або кількість кваліфікованих працівників буде більшою за 0 (тобто в момент,
коли у нас з’явиться будь – який вільний працівник). Коли вільний працівник
з’являється – переходимо в перший блок – розгалужувач і перевіряємо
кваліфікацію працівника, який буде ремонтувати поломку.
Поломка 3го типу схожа на попередні, за виключенням того, що лише
кваліфікований працівник може полагодити поломку. Після виникнення поломки
і її верифікації в елементі Hold прописуємо умову очікування кваліфікованого
працівника. Якщо вільного немає – модель очікує на звільнення хоча б одного
працівника 2го типу. Якщо є хоча б один вільний працівник – він задіється на
певний час, після чого стає вільним.
Останнім елементом утилізує сутність.

14
5 РЕЗУЛЬТАТИ ЕКСПЕРИМЕНТІВ НА МОДЕЛІ
В розділі Variables (рис. 5.1) оголошено 2 важливі величини:
ordinaryWorkerNumber - кількість звичайних ремонтників (першої категорії).
bestWorkerNumber - кількість ремонтників другої категорії.
По них будемо шукати таку кількість робітників першої і другої категорії,
щоб отримали максимальний чистий прибуток.

Рисунок 5.1 – Розділ Variables


Rows розділу Variables наведені у додатку Б.
В розділі Expression оголошено 3 формули:
Profit - кількість зароблених грошей від роботи верстаків.
WageSpending - кількість витрачених грошей на зарплати робітникам.
PureProfit - чистий прибуток = Profit - WageSpending.

Рисунок 5.2 – Розділ Expression


Rows розділу Expression наведені у додатку В.
У задачі зводиться до того, щоб знайти таку оптимальну кількість робітників
(ordinaryWorkerNumber і bestWorkerNumber), щоб PureProfit був максимальним.
Візьмемо за час реплікації (час роботи моделі) 150 днів.
Випадок 1. Візьмемо одного ремонтника другої категорії і жодного
ремонтника першої: запам'ятаємо результат чистого прибутку і проаналізуємо out
файл (рис. 5.3).

15
Рисунок 5.3 – Тестування моделі у випадку 1
За результатами тестування, наведеними на рис. 5.3 можемо бачити, що в
середньому поломки першого і другого типів очікують 10 хвилин, поки з'явиться
вільний ремонтник, в той час як поломка третього типу чекає в середньому 2
хвилини.
Випадок 2. Збільшимо кількість робітників першого типу на 1 (вони
коштують дешевше і можуть лагодити поломки першого і другого типів - що нам і
треба). Результат зображений на рисунку 5.4.

Рисунок 5.4 – Тестування моделі у випадку 2.


Бачимо, що прибуток навіть впав (через те, що великих черг не було і при
ситуації, зображеної на рис. 5.3, але там все лагодив робітник першої категорії,
який виконує роботу швидше, тому верстати працювали більше часу. А черги при
цьому і так були невеликі) , при тому сильно зросли витрати на зарплату
робітникам, і тому чистий прибуток впав. Середнє очікування поломки на
вільного робітника впав в 2 рази - до 5 хвилин.
Проте подивимся на кількість очікуючих поломок в попередньому і
поточному випадку. У першому випадку в середньому очікували 0.037 поломки
першого і другого типу, і 0.0065 поломки третього типу - це вже дуже мало, що
означає, що черг майже взагалі немає і одного робітника другої категорії вистачає.
У випадку 2 кількість очікуючих помилок першого і другого типу
зменшився 10 разів, а третього типу - в 2 рази. Проте витрати на зарплату зросли
16
сильно, тому ми і понесли втрати. Ми менше отримали прибутку через те, що
працівник першої категорії довше лагодить машину.
Випадок 3. Для експерименту спробуємо задіяти 2 робітники другої
категорії. Результат тестування наведений на рисунку 5.5.

Рисунок 5.5 – Тестування моделі у випадку 3.


У 3му випадку прибуток став більшим за випадок 1 і 2, тому що верстати
швидше лагодять, і вони більше часу працюють. Також зріс і чистий прибуток.
Тобто користь, яку надає ще один працівник другого типу, є більша за витрати на
його зарплату.
Випадок 4. Оберемо 3х кваліфікованих працівників. Результати тестування
наведені на рисунку 5.6.

Рисунок 5.6 – Тестування моделі у випадку 4.


Прибуток став більшим за випадок 3, тому що верстати швидше лагодять, і
вони більше часу працюють. Проте витрати на зарплату зросли і чистий прибуток
зменшився у порівнянні з найкращим випадком 3. Це пов'язано з тим, що черги не
настільки сильно зменшились - був середній час очікування 4 хв, а став 3 хв. Хоча
і кількість помилок, які очікували на робітника, зменшилась з 88 до 7. Проте, якщо
говорити про випадок 3, то черги зменшились з 897 до 88, що є дуже серйозно, на
відмінну від випадку 4. Тому прибуток зріс не так сильно, як зросли витрати на
зарплату робітникам.

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

18
ПЕРЕЛІК ПОСИЛАНЬ
1. Стеценко І. Методичні вказівки щодо виконання курсової роботи з
дисципліни «моделювання систем» : навч. Посіб. Київ : нац. Техн. Ун-т україни
«КПІ ім. І.Сікорського», 2020. 47 с.
2. Томашевський В. М. Моделювання систем. - К: Видавнича група ВНУ,
2005. - 352 с. URL: https://pdf.lib.vntu.edu.ua/books/2016/Tomashev_2005_352.pdf
3. Економічний аналіз: Навч. Посібник / М. А. Болюх, В. З. Бурчевський,
М. І. Горбаток та ін.; За ред. Акад. НАНУ, проф. М. Г. Чумаченка. — Вид. 2-ге,
перероб. І доп. — К.: КНЕУ, 2003. — 556 с. URL:
https://studentbooks.com.ua/content/view/117/39/
4. Arena Simulation Software. URL: https://www.rockwellautomation.com/en-
us/products/software/arena-simulation.html
5. Simio. URL: https://www.simio.com/ .
6. CPN Tools. URL: https://cpntools.org/.

19
ДОДАТОК А
Параметри блоків моделі

20
21
22
23
24
25
26
27
ДОДАТОК Б
Rows розділу Variables

28
29
ДОДАТОК В
Rows розділу Expression
Profit = (machineCount * TNOW - (TAVG(Malfunction_1.TotalTime) *
TNUM(Malfunction_1.TotalTime) + TAVG(Malfunction_2.TotalTime) *
TNUM(Malfunction_2.TotalTime) + TAVG(Malfunction_3.TotalTime) *
TNUM(Malfunction_3.TotalTime))) * machineProfit / 60

WageSpending = (ordinaryWorkerNumber * ordinaryWorkerWage +


bestWorkerNumber * bestWorkerWage) * TNOW / 60

PureProfit = Profit - WageSpending

30

You might also like