Scientific journal PHYSICAL AND MATHEMATICAL EDUCATION
Has been issued since 2013.
Науковий журнал Ф1ЗИКО-МАТЕМАТИЧНА ОСВ1ТА
Видасться з 2013.
http://fmo-journal.fizmatsspu.sumy.ua/
Федусенко О.В. Використання програмного модуля 'штацшного моделювання роботи л'карняно': палати при eue4eHi систем масового обслуговування. Ф'!зико-математична освта. 2018. Випуск 1(15). С. 327-331.
Fedusenko O. Use Of The Program Module Of The Immated Modeling Of The Work Of The Hospital Chamber In The Studies Of Mass-Service Systems. Physical and Mathematical Education. 2018. Issue 1(15). Р. 327-331.
УДК 519.876.5
О.В. Федусенко
Кшвський нацональний унверситет iменi Тараса Шевченко, Украна
[email protected] DOI 10.31110/2413-1571-2018-015-1-063
ВИКОРИСТАННЯ ПРОГРАМНОГО МОДУЛЯ 1М1ТАЦ1ЙНОГО МОДЕЛЮВАННЯ РОБОТИ Л1КАРНЯНО1 ПАЛАТИ ПРИ ВИВЧЕН1 СИСТЕМ МАСОВОГО ОБСЛУГОВУВАННЯ
Анотаця. Стаття присвячена проблемi вивчення студентами систем масового обслуговування та '¡м'тацшного моделювання, оскльки ц теми е досить складними та часто не мають наочних приклад'в. В статт'1 запропоновано програмний модуль, який дозволить покроково провести '¡мта^йне моделювання системи масового обслуговування з в'дмовами. У програмному модул'1, що розробляеться автором, система масового обслуговування представлена у вигляд'1 л'карняноiпалати.
У статт'1 розглянутi основнi принципи побудови систем масового обслуговування та '¡м'тацшного моделювання. Наведено основнi етапи '¡мта^йного моделювання. Сформована задача '¡мта^йного моделювання роботи л'карняноi палати, як системи масового обслуговування з в/'дмовами, визначен основнi функцiональнi вимоги до програмного модуля та наведено початков'1 значення величин для моделювання. Головними функ^ональними вимогами до модуля е можлив'сть проведення покрокового моделювання та його в'дображення, як у вигляд'1 таблицi, так i у вигляд'1 г'!стограми, а також можлив'!сть читання початкових даних з файлу та збереження отриманих результат'!в у текстовий файл або експорт ¡х у Excel. При розробц програмного модуля автором використано сучасну методолог'ю об'екто-ор'!ентованого програмування SOLIDв'дпов'дно дояко: iпобудовано д'юграму класв програмного модуля, що наведена у статт'1. Використання даноi методологи дозволяе, в майбутньому, досить легко розширювати та пдтримувати подальше функц'юнування модуля, додаючи до нього як новi функ^ональн можливост'1, так i нов'1 модул'1.
Автором описано алгоритм роботи модулю в'дпов'дно до д/'аграми клаав та надано результати роботи програмного модуля. Результати роботи програмного модуля наведено як в табличному так i в графiчному представлен'!, у вигляд'1 г'!стограми. Отриман результати, майже повнстю, збгаються з результатами наведеними в iнших досл'дженнях, а похибка знаходиться у допустимому iнтервалi.
Розроблений програмний модуль може бути використано студентами пд час вивчення дисципл'ни «Моделювання систем», що дозволить п/'двищити як'сть навчання за рахунок використання наочного прикладу моделювання системи масового обслуговуванняз в'дмовами.
Ключов! слова: система масового обслуговування, iмiтацiйне моделювання, об'ектно-ор'!ентоване програмування, SOLID.
Постановка проблеми. Системами масового обслуговування(СМО) називають TaKi системи, в яких у випадковi моменти часу надходять заявки на обслуговування. При цьому заявки, що надмшли обслуговуються за допомогою наявних у розпорядженн системи кaнaлiв обслуговування [1].
Основними компонентами системи масового обслуговування будь-якого виду е [2]:
- Вхщний потт вимог, що поступають або заявок на обслуговування;
- Дисциплша черги;
- Мехаызм обслуговування.
Розрiзняють два основних види систем масового обслуговування [3]:
- Системи з вщмовами, в яких заявка, що надмшла в систему в момент, коли вс канали зайнят^ отримуе вщмову i вщразу ж покидае чергу;
- Системи з очтуванням (чергою), в яких заявка, що надмшла в момент, коли ва канали обслуговування зайнят^ стае в чергу i чекае, поки не звтьниться один з кaнaлiв. Системи масового обслуговування з очтуванням дтяться на системи з обмеженим очтуванням i системи з необмеженим очтуванням.
ISSN 2413-158X (online) ISSN 2413-1571 (print)
Як правило для вивчення роботи СМО використовуеться iMiTau,ikrne моделювання.
Ытацмне моделювання е вщносно новим i динамiчним методом дослiдження поведшки систем управлiння. Цей метод полягае в тому, що за допомогою комп'ютера вiдтворюеться поведiнка дослiджуваноí системи управлЫня, а дослiдник, керуючи ходом процесу iмiтацií та оглядаючи одержуван результати, робить висновок про ii властивостi та якостi поведiнки[2].
Математичною основою машинноí iмiтацií е метод Монте-Карло у розвиток якого значний внесок був внесений роботами Н.П. Бусленко, Д.1. Голенко, 1.М. Соболя i др.
Ытацмне моделювання - процес конструювання моделi реально)' системи i постановки експериментiв на цш моделi з метою або зрозумiти поведiнку системи, або оцiнити, в рамках обмежень, рiзнi стратегГ'', що забезпечують функцiонування цiеí системи[4].
Типова послщовшсть iмiтацiйного моделювання включае наступи етапи[5]:
- концептуальний: розробка концептуальноí схеми i пiдготовка областi вихщних даних;
- математичний: розробка математичних моделей та обГрунтування методiв моделювання;
- програмний: вибiр засобiв моделювання i розробка програмних моделей;
- експериментальний: перевiрка адекватностi i коректування моделей, планування обчислювальних експеримен^в, безпосередньо моделювання, штерпрета^я результатiв.
Однiею з проблем вивчення роздЫв дисциплiн, що присвячено системам масового обслуговування, е вщсутнкть наочного прикладу використання СМО та iмiтацiйного моделювання fx роботи. Тому, актуальна розробка програмного модуля iмiтацiйного моделювання, який дозволить покроково провести моделювання системи масового обслуговування з вщмовами та наочно вщобразить отриман результати у виглядi пстограми.
Мета CTaTTi. Метою даного дослщження е розробка програмного модуля моделювання роботи лтарняно!! палати, як системи масового обслуговування з вщмовами. Для розробки даного модуля використовуеться мова програмування C#.
Виклад основного матертлу. Задача моделювання роботи лiкарняноí палати мае наступний вигляд, який наведено в робот [6]. В середньому за день n, при ктькосп днiв N, у палату лтары надходять z хворих. Здоров'я людини оцшюеться за певною шкалою. Кожен хворий проходить тест, результати якого рiвномiрно розподтеы на iнтервалi вщ k1 до k2 балiв. Коли в палат немае вiльниx мкць, xворi з оцiнкою вище k3 балiв на лiкування не приймаються.
k3=k2-a
Всього в палатi m мiсць. Хворий виписуеться з палати, коли його оцшка стае вище k4 балiв.
k4>k2+4
Оцiнка хворого змЫюеться протягом доби на величину, рiвномiрно розподiлену на iнтервалi вщ -l1 до l2 балiв. Коли в палат немае вiльниx мкць, але надходить потенцiйний хворий з не! виписуеться хворий, оцiнка якого дорiвнюе або вище k5 балiв.
k5=k2+a
Потрiбно оцiнити такi величини: середый час перебування хворого в палат, завантаження палати, число вiдмов в лтуваны, число виписаних достроково.
Отже програмний модуль моделювання лiкарняноí палати, з використанням системи масового обслуговування, повинен виконувати наступи основы функцп:
- введення основних параметрiв моделювання та íx збереження;
- можливкть проведення покрокового моделювання та його вщображення;
- проведення моделювання та збереження результатв у файл;
- перегляд результат моделювання у графiчному вигляд^
- експорт результатiв моделювання у MS Excel.
Для написання модулю була обрана мова програмування C# та об'ектно-орiентований пщхщ. При написанш модуля максимально будуть використовуватися принципи SOLID - п'ять основних принцитв ООП[7]:
• Принцип единоí вiдповiдальностi (Single responsibility). На кожен об'ект повинен бути покладений один единий обов'язок.
• Принцип вщкритост / закритост (Open-closed). Программ сутностi повинн бути вiдкритi для розширення, але закрит для модифiкацií.
• Принцип постановки Барбари Лiсков (Liskov substitution). Об'екти в програмi можуть бути замЫеы íx нащадками без змши властивостей програми.
• Принцип подту iнтерфейсу (Interface segregation). Багато спецiалiзованиx iнтерфейсiв краще, нiж один уыверсальний
• Принцип iнверсií залежностей (Dependency Invertion). Залежностi повиннi будуватися вщносно абстракцiй, а не деталей.
Дiаграма класiв модулю з використанням основних принцитв SOLID буде мати наступний вигляд (рис. 1).
Як можна побачити, дiаграма клаав вмiщуе два штерфейси для запису IWrite та читання IRead. Даннi iнтерфейси реалiзованi за допомогою класiв WriteF - запис у файл,WriteExcel - експортування у Excel, Read - читання з форми, ReadF - читання з файлу.
Для збер^ання основних вхщних параметрiв використовуеться статичний клас Znac, а для накопичення статистичних даних використовуеться статичний клас Stat_all. Для вщображення статистичних даних використовуеться клас Stat_gist,поля якого вмiщують наступи масиви значень:col - масив ктькост днiв перебування у лiкарнi, cis - масив кiлькостi хворих, що перебували певний термЫ у лiкарнi,ver - масив ймовiрностей перебування у лтары певний термiн. Розрахунок ймовiрностi вiдбуваеться за допомогою методу ras_ver. Побудова гiстограми та функцп ймовiрностi вiдбуваеться за допомогою методiв graf та grafl вiдповiдно.
Рис. 1. Дiаграма клаав
Головним класом модулю е клас Palata, якiй у якостi поля patients вмЩуе список пацieнтiв. А Ышими полями е статистичнi значення. Основним методом е метод run який працюе за наступним алгоритмом.
1. Перерахування уах поточних оцiнок пащентв,яш вже лiкуються у палатi за допомогою методу change_mark класу Patient.
2. Знаходження уах пащентв як вже вилiкуваннi, тобто оцiнка стану яких бтьше або дорiвнюе k4, та виписка таких пацiентiв.
3. Додавання нових z пацiентiв за допомогою методу add_patient. Додавання вщбуваеться наступним чином:
3.1 Якщо в палат е втьне мiсце, то патент додаеться у палату.
3.2 Якщо у палат немае втьного мкця та оцiнка пацiента менша за k3, то шукаеться патент оцiнка якого дорiвнюе або вище за k5.
3.3 Якщо патента знайдено у пунктi 3.2 то вш виписуеться за допомогою методу vip, якщо ж такого патента не знайдено, то новий хворий отримуе вщмову.
4. Збiльшення термшу лiкування хворих, що лежать у палат(поле day_in_hosp класу Patient). Розглянемо приклад роботи модуля, введемо наступи вхщж параметри:
N=1000,
z=2,
k1=30,
k2=44,
a=3,
k4=49,
m=25,
l1=-0.2,
l2=1.2.
Головне вiкно програмного модуля з вхщними даними та умовами задачi наведено на рис. 2. Вхщы дан можна як ввести з клавiатури, так i зчитати з тдготовленого текстового файлу.
Результат покрокового моделювання у виглядi таблицi та пстограми наведено на рис.3. Червоним кольором позначено пащентв, яких не можна виписувати, зеленим - пащентв як вже закiнчили лiкування i будуть виписанi, а синiм кольором - пащентв, якi не закiнчили лтування, але можуть бути виписанi.
Розглянемо роботу модуля в цтому. Для цього оберемо пункт «Моделювання» та проведемо 10 експериментв (рис. 4).
Отриман результати майже зб^аються з результатами наведеними у робот Труб 1.1.[6], похибка заходиться у допустимому Ытервалк
Висновки. Використання модуля iмiтацiйного моделювання роботи лтарняно'( палати при вивченнi роздту СМО у таких дисциплiнах, як наприклад, «Моделювання систем», дозволить тдвищити якiсть засвоення учбового матерiалу, осктьки студенти можуть провести покрокове дослщження роботи iмiтацiйноí моделi СМО.
Серед подальших дослщжень i3 u,ie'i тематики доречно запропонувати розробку навчально''' iнформацiйноí системи з даного роздту, яка буде вмiщувати дектька модулiв з рiзними варiантами СМО.
Введения оеновних аамх
Н ЮПИ I 2 И 30 к2 44 а 3 к4 ¡¡Ц т 25 11 -02 12 1.2 | Зберегти | Заванта*птй~|
Моделювання Покрокове моделювання
Задача моделювання роботи пкарняноГ палати мае наступний вигляд. В серецньому за день пу палат/ лгарн| надходять гхворих Здоров'я людини ои]нюеться за певною шкалою
Кохен хворий проводить тест, результата якого рнвном|рно розподпеы на ¡нтервап вщ к 1 до к2 бапю Коли в палат! немае вшьних мюиь , хвор) з ои]нкою вище кЗ оалю на лкування не приймаютьоя. кЗ=к2-а
Веього в палат] т мюць. Хворий виписуетъся з пала™, копи його оц|нка стае вище
к- балю.
к4*к2-+4
Ошнка хворого злтнюетъся протнгом доби на величину.
р|вном|рно розподпену на ¡нтервал! в|дЧ1 до |2бал|в.
Коли н папатп немае в|льних могь, але надходитъ потенцйний хворий.
з неГ виписуетъся хворий, оцнка якого дорёнюе або вище к5 балю.
к5=к2ча
Рис. 2. Головне вкно модулю з основними вх'дними параметрами
Рис. 3. Результати покрокового моделювання
1 Ктьк^експервмен-пв ™ Г ^СК \ \ Пстограма ]
Загальна Повнсгпо Не принята на Не принят! Виписано Веього Середне - .. юлькютъ лкування л1кування(>кЗ) на лкуеання достроково прийнято завантаження ^
► 2000 837 857 77 210 856 0,88712 16.781025558402
2000 545 896 5 529 570 0,91304 11.42286238970...
2000 246 133Э 55 335 271 0,972120000000... 51.35770313977...
2000 Э11 563 6 495 936 0.879039999999... 10.65101460241...
2000 393 1055 5 522 418 0,93072 8,745996351508..
2000 Э51 758 33 239 970 0,871679999999... 14.12629625523...
2000 552 867 5 551 577 0.91264 11.64512557234...
2000 259 1369 56 291 284 0,97228 59.704180811112
2000 822 603 5 545 847 0.911440000000... 11.01174112142...
* 2000 349 1146 7 473 374 0,93588 8,821749287252..
Веього
20000 5865 9453 254 4190 6103 0,918596 20.42676950891..
11-1|
Рис. 4. Результати моделювання Список використаних джерел
1. Большаков А.С. Моделирование в менеджменте. Учебное пособие. М.: Информационно-издательский дом «Филинъ», Рилант, 2000. 464 с.
2. Таха Х. Введение в исследование операцй М.: Издательский дом "Вильямс", 2005. 912 с.
3. Томашевський В.М. Моделювання систем. К.: Видавнича група BHV, 2007. 352с.
4. ХусаЫов Д.Я. Введення в моделювання динамiчних систем: Навч. поабник/ Д.Я. Хусашов, 1.1. Харченко, А.В. Шатирко. К.: Ки'вський нацюнальний уыверситет iменi Тараса Шевченка, 2010. 162 с.
5. Аристов С.А. Имитационное моделирование экономических систем: Учеб. пособие. Екатеринбург: Урал.гос.экон.ун-та. 2004. 123 с.
6. Труб И.И. Объектно-ориентированное моделирование на С++. Учебный курс/ И.И.Труб. СПб.: Питер, 2006. 411 с.
7. Мартин Р., Мартин М. Принципы, паттерны и методики гибкой разработки на языке С#/ Р. Мартин, М. Мартин. Символ-Плюс, 2011. 768 с.
W3MK0-MATEMATMHHA OCBITA ($MO)
BunycK 1(15), 2018
References
1. Bolshakov A.S. Modeling in management. Textbook / A.C. Bolshakov. - M .: Information-publishing house "Filin", Rilant, 2000. - 464p.
2. Taha H. Introduction to the study of operations / H. Taha. M .: Publishing house "Williams", 2005. - 912p.
3. Tomashevsky V.M. Modeluvannya systems / V.M. Tomashevsky. - K.: Vidavnicha group BHV, 2007 -352p.
4. Khusainov D.Ya. Introduced in modulyuvannya dynamical systems: Nav. posibnik / D.Ya. Khusainov, I. I. Kharchenko, A.V. Shatirko. K .: Kyiv National Taras Shevchenko University, 2010. 162p.
5. Aristov S.A. Simulation of economic systems: Proc. allowance. Ekaterinburg: Ural.gos.econ.un.-that. 2004. 123p.
6. Trub I.I. Object-oriented modeling in C ++. Training course / I.Trub.- St. Petersburg: Peter, 2006. 411p.
7. Martin R., Martin M. Principles, patterns and techniques of flexible development in C # / R. Martin, M.Martin. - Symbol-Plus, 2011. - 768p.
USE OF THE PROGRAM MODULE OF THE IMMATED MODELING OF THE WORK OF THE HOSPITAL CHAMBER IN THE STUDIES
OF MASS-SERVICE SYSTEMS Fedusenko Olena
Kyiv National Taras Shevchenko University Abstract. The article is devoted to the problem of student study of mass service systems and simulation modeling, since these topics are quite complex and often do not have vivid examples. The article proposes a software module that will allow step by step simulation of mass service system with failures. In the program module developed by the author, the system of mass service is presented as a hospital chamber.
In the article the basic principles of building mass service systems and simulation modeling are considered. The main stages of simulation modeling are given. The task of simulation modeling of the hospital chamber, as a system of mass service with failures, is determined, the basic functional requirements for the software module are defined and the initial values of the values for modeling are given. The main functional requirements of the module is the possibility of step-by-step modeling and its display, both in the form of a table and in the form of a histogram, as well as the ability to read the initial data from the file and save the results to a text file or export them to Excel. In developing the software module, the author used the modern methodology of object-oriented programming SOLID according to which and built a diagram of the classes of the program module, which is given in the article. The use of this methodology allows, in the future, to expand and maintain the further functioning of the module rather easily, adding to it both new functionality and new modules.
The author describes the algorithm of the module operation in accordance with the class diagram and provides the results of the program module. The results of the program module work are presented both in tabular and graphical representation, in the form of a histogram. The obtained results, almost completely, coincide with the results presented in other studies, and the error is in the allowable range.
The developed software module can be used by students during the study of the discipline "Modeling systems", which will improve the quality of learning through the use of a visual example of simulation of mass service with failures. Keywords: Mass service system, simulation modeling, object-oriented programming, SOLID.