Моделирование работы станции скорой помощи

 














КОНТРОЛЬНАЯ РАБОТА

по дисциплине: Моделирование

МОДЕЛИРОВАНИЕ РАБОТЫ СТАНЦИИ СКОРОЙ ПОМОЩИ



СОДЕРЖАНИЕ


ВВЕДЕНИЕ

. ПОСТАНОВКА ЗАДАЧИ

. ФОРМАЛИЗАЦИЯ ИМИТАЦИОННОЙ МОДЕЛИ

. ВЫБОР СИСТЕМЫ МОДЕЛИРОВАНИЯ И ПРОГРАММИРОВАНИЕ МОДЕЛИ ЕЁ СРЕДСТВАМИ

.1 ВЫБОР СИСТЕМЫ МОДЕЛИРОВАНИЯ

.2 ПРОГРАММИРОВАНИЕ МОДЕЛИ

. ПЛАНИРОВАНИЕ И ПРОВЕДЕНИЕ ЭКСПЕРИМЕНТА НА ИМИТАЦИОННОЙ МОДЕЛИ

. ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ



ВВЕДЕНИЕ


Имитационное моделирование - метод, позволяющий строить модели, описывающие процессы так, как они проходили бы в действительности. Такую модель можно «проиграть» во времени как для одного испытания, так и заданного их множества. При этом результаты будут определяться характером процессов. По этим данным можно получить достаточно устойчивую статистику.

Таким моделированием зачастую прибегают для принятия каких-либо решений. Ведь намного проще и дешевле экспериментировать на модели, чем на реальном объекте. Целью такого моделирования является разработка симулятора исследуемой предметной области для проведения различных экспериментов.

После экспериментов на основе полученных данных и их анализа выбирают то решение, которое является самым оптимальным.

Целью данной курсового проекта является смоделировать работу станции скорой помощи. Провести эксперименты, анализ полученных данных и сделать соответствующие выводы.



1.ПОСТАНОВКА ЗАДАЧИ


Моделирование работы станции скорой помощи. На станцию скорой помощи поступают вызовы по телефону. Станция имеет пять каналов для одновременного приема вызовов. Время между попытками вызова скорой помощи распределено согласно закону Эрланга второго порядка (среднее время - 1,5 мин). Абоненты тратят 15 c на набор номера и, если застают все каналы занятыми, через 20 c повторяют вызов. Так происходит до тех пор, пока вызов не будет принят. Время приема вызова составляет 1 мин. На станции скорой помощи для обслуживания вызовов имеется 15 автомобилей. Время, затраченное на проезд к больному, зависит от расстояния до его дома. Распределение расстояния приведено в Таблице 1:


Таблица 1

Вероятность0,150,220,170,280,18Расстояние, км581121520

После предоставления помощи автомобили возвращаются на станцию. Скорость движения автомобилей равномерно распределена в интервале 35-55 км/ч. Время оказания помощи больному распределено в соответствии c нормальным законом со средним значением 25 мин и среднеквадратическим отклонением 4 мин. Оценить среднее время от момента начального вызова скорой помощи до окончания помощи больному и средний пробег автомобиля за пять дней работы.



2.ФОРМАЛИЗАЦИЯ ИМИТАЦИОННОЙ МОДЕЛИ


Для формализации нашей модели воспользуемся Q-схемой, так как наша система является системой массового обслуживания.


Рисунок 1 - Q-схема модели.


Данная Q-схема состоит из:

·x - входной поток заявок на обслуживание;

·K1 - многоканальное устройство с максимальной ёмкостью, которое подразумевает набор номера абонентом.

·K2 - многоканальное устройство с заданной ёмкостью i и занятой ёмкостью j, которое подразумевает приём станцией медицинского обслуживания вызова абонента. Ёмкость i - это количество каналов на станции для одновременного приёма вызовов.

·K3 - многоканальное устройство с максимальной ёмкостью, которое подразумевает повтор вызова абонентом d в случае полностью занятой ёмкости K2.

·H - накопитель заявок с максимальной ёмкость, который подразумевает очередь абонентов на предоставление помощи.

·K4 - многоканальное устройство с заданной ёмкостью m, которое подразумевает предоставление помощи абонентам. Ёмкость m - это количество автомобилей на станции скорой помощи.

·y - выходной поток заявок.


3.ВЫБОР СИСТЕМЫ МОДЕЛИРОВАНИЯ И ПРОГРАММИРОВАНИЕ МОДЕЛИ ЕЁ СРЕДСТВАМИ


.1 ВЫБОР СИСТЕМЫ МОДЕЛИРОВАНИЯ


Для дискретно-событийного моделирования существует несколько систем. Одними из известных систем являются Arena, AnyLogic и GPSS.не был выбран в качестве системы моделирования, так как он не обладает удобным графическим интерфейсом, что замедляет процесс построения модели и повышает вероятность ошибки.

Оба пакета Arena и AnyLogic обладают графическим интерфейсом, но имеют между собой некоторые различия. Например, в то время как Arena поддерживает только дискретно-событийное моделирование, AnyLogic поддерживает все три известных метода имитационного моделирования: системная динамика, дискретно-событийное моделирование, агентное моделирование. Система AnyLogic работает на всех распространённых операционных системах, а Arena только на Windows. В Arena используется язык имитационного моделирования SIMAN, а в AnyLogic основан на Java, который является более известным и востребованным в настоящее время. Так же в AnyLogic пользователю доступно 29 стандартных теоретических распределений, что на 17 больше, чем в системе Arena. Ко всему этому в AnyLogic ещё предусмотрена возможность создания собственных сборщиков статистики.

После сравнения систем Arena и AnyLogic, было принято решение использовать AnyLogic, так как он является более универсальным.


3.2 ПРОГРАММИРОВАНИЕ МОДЕЛИ

скорая помощь имитационная модель

При программировании модели была использована библиотека Enterprise Library, которая разработана для поддержки дискретно-событийного моделирования. Так же были использованы специальные сборщики статистики.


Рисунок 2 - Программирование модели


В ходе программирования был создан пользовательский класс MyClass для сбора статистики. Этот класс включает в себя следующие переменные: nachalVyzov - время самого первого вызова абонента, rasstoyanieDoKlienta - расстояние до клиента, vremyaDorogi - время на дорогу до клиента.

Источник vyzovy создаёт заявки абонентов. Класс созданной заявки MyClass. При выходе из этого объекта в переменную nachalVyzov записывается текущий момент модельного времени.

После создания заявки объект nabor_nomera задерживает её. Эта задержка подразумевает набор номера абонентом.

После объекта nabor_nomera заявка идёт на объект принятия решений zanyatost_stancii. При выполнении условия, что в объекте задержки stanciya ёмкость не полностью занята, заявка идёт на выход true, иначе false. Этот объект является проверкой на занятость всех каналов станции медицинской помощи.

Если все каналы станции заняты, то есть ёмкость объекта stanciya полностью занята, то заявка идёт на объект задержки povtor_vyzova, который является повтором вызова.

Если хотя бы один канал станции свободен, то заявка поступает на объект stanciya. Этот объект подразумевает приём вызова станцией. При входе в этот объект происходят следующие действия:

·запись в переменную rasstoyanieDoKlienta величины из пользовательского распределения вероятности myDistribution, которая создана с помощью табличной функции tableFunction;

·добавление значения этой переменной в сборщик статистики rastoyanie_do_klienta.

После объекта stanciya заявка поступает на объект ochered_na_avto. Этот объект захватывает для заявки один ресурс из объекта avto, который является набором автомобилей на станции. Сам же объект ochered_na_avto подразумевает очередь на оказание помощи, то есть очередь на свободную машину. При входе в этот объект в переменную vremyaDorogi записывается рассчитанное, исходя из условия задачи, случайное значение.

После того как заявка захватила один ресурс, она идёт на объект vremya_na_dorogu, который подразумевает время, потраченное автомобилем на дорогу до клиента. Время задержки у этого объекта равно переменной vremyaDorogi.

После этого объекта заявка поступает на объект okazanie_pomoshi. Этот объект подразумевает время, потраченное на оказание больному помощи. При выходе из этого объекта в сборщик статистики okaz_pomoshi записывается разность между текущим моментом модельного времени и переменной nachalVyzov.

После оказания помощи больному, автомобиль едет обратно на станцию. За это отвечает объект vremya_na_obratnuy_dorogu, время задержки у которого так же равно переменной vremyaDorogi.

После этого в объекте osvobogdenie_avto происходит освобождение ресурса (автомобиля).

После всего этого заявка уничтожается в объекте sink.

С помощью сборщиков данных rasstoyanie_do_klienta и okaz_pomoshi строятся гистограммы Распределение времени оказания помощи и Распределение расстояния до клиента.

В конце прогона срабатывает событие event, при выполнении которого происходит запись в параметр probeg_avto значения среднего пробега автомобиля за 5 суток.

При программировании модели так же был создан небольшой интерфейс для пользователя. Интерфейс пользователя указан на Рисунке 3.


Рисунок 3 - Интерфейс пользователя


Этот интерфейс позволяет варьировать количество каналов и количество автомобилей при прогоне эксперимента. Для пользователя на экране в реальном времени отображаются текущие значения этих количеств.

Так же для пользователя предусмотрен просмотр движения автомобилей по ломанной линии. Автомобили представлены в виде разноцветных точек, которые при движении к больному двигаются вперёд, а при движении на станцию - назад. В Сборе данных и Гистограммах пользователь может посмотреть информацию, такую как количество повторов вызовов, время оказания помощи и его распределение, количество абонентов, которым не оказали помощь, средний пробег автомобиля за 5 суток и расстояние до клиента и его распределение.


4.ПЛАНИРОВАНИЕ И ПРОВЕДЕНИЕ ЭКСПЕРИМЕНТА НА ИМИТАЦИОННОЙ МОДЕЛИ


Проведём эксперимент по исследованию характеристик изучаемой системы с целью оценки влияния факторов на реакцию системы. В Таблице 2 приведены факторы и реакции системы для проведения эксперимента.


Таблица 2

Независимые переменный (эндогенные, факторы)Зависимые переменные (экзогенные, реакции системы)1. Количество каналов на станции, обслуживающих звонки. 2. Количество автомобилей.1. Сколько раз был совершён повтор вызова. 2. Среднее время оказания помощи (начиная с первого вызова). 3. Количество абонентов, которым не оказали помощь. 4. Средний пробег автомобиля за 5 суток.

Для выбранных факторов возьмём основной (нулевой) уровень и интервалы варьирования для каждого фактора:


Таблица 3

Факторы (обозначение)Содержательная интерпретация факторовУровни факторовИнтервалы варьирования-10+1X1Количество каналов на станции, обслуживающих звонки5671X2Количество автомобилей20406020

Теперь составим матрицу планирования, соответствующую полному факторному эксперименту 2k, проведём имитационный эксперимент с моделью системы в каждой точке факторного пространства при модельном времени 7200, где единица модельного времени равна минуте, и определим реакции системы при выбранных уровнях факторов. Матрица планирования представлена в Таблице 4:


Таблица 4

№ испытанияПФЭРеакции системыX1X2Y1Y2Y3Y41+1 7+1 60382.865481521.8772+1 7-1 2002419.22849541542.9533-1 5+1 602259.138891504.3984-1 5-1 20312401.16449521530.491

В Таблице 4 указаны следующие реакции системы:

·Y1 - сколько раз был совершён повтор вызова;

·Y2 - среднее время оказания помощи (начиная с первого вызова);

·Y3 - количество абонентов, которым не оказали помощь.

·Y4 - средний пробег автомобиля за 5 суток.

После испытаний по Таблице 4 видно, что все два фактора влияют на систему. В большей степени на неё влияет количество автомобилей на станции, так как они оказывают помощь, и если их будет мало, то они будут просто не успевать ездить и оказывать помощь больным. Количество каналов на станции не сильно влияет на систему, в основном только на количество совершённых повторов. Но полученные результаты по реакции системы на повтор вызовов можно считать достаточно малыми, так как испытания проводились при модельном времени 7200, где единица модельного времени равна минуте.

Для более эффективной работы станции скорой помощи достаточно только увеличить количество автомобилей.



5.ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ


Для запуска эксперимента необходимо запустить html-файл Model. Он является Java-апплетом - прикладной программой, которая написана на языке программирования Java. После запуска программа выполнится в веб-обозревателе. На Рисунке 4 показана стартовая страница эксперимента, с помощью которой можно задавать необходимые настройки.


Рисунок 4 - Страница настроек эксперимента


Модельное время эксперимента составляет 7200 единиц, где единица модельного времени равна минуте. Эти настройки с помощью этой страницы изменить нельзя.

Все настройки устанавливаются с помощью верхней панели управления. Нижняя панель состояния показывает информацию о прогоне. Её можно изменить с помощью кнопки .

Чтобы изменить режим выполнения эксперимента, например, уменьшить скорость реального времени, то необходимо нажать на кнопку . Увеличить скорость реального времени можно кнопкой . Между этими кнопками показывается текущая скорость. Например, на Рисунке 4 показана скорость, равная единице.

Чтобы запустить эксперимент в виртуальном времени с максимальной скоростью, необходимо нажать кнопку .

После настроек режима выполнения эксперимента нужно выбрать количество каналов на станции, обслуживающих звонки, и количество автомобилей. Для этого необходимо нажать кнопку , после чего «Открыть презентацию класса Main».

Прогон эксперимента при этом не начинается, он становится в паузу. С помощью бегунков «Количество каналов» и «Количество автомобилей» можно варьировать соответствующие значения.

После выбора значений можно запустить прогон с помощью кнопки . Если на неё нажать на странице настроек, то эксперимент запустится с установленными по умолчанию значениями количества каналов и количества автомобилей, равные соответственно 5 и 15.

Во время прогона эксперимента с помощью верхней панели управления можно изменять его скорость, останавливать или прекращать выполнение.



Рисунок 5 - Остановленный прогон модели


При запущенном прогоне эксперимента можно посмотреть на движение автомобилей. Это показано в виде ломанной кривой и передвигающихся по ней разноцветных точек, которые при движении автомобиля к абоненту двигаются вправо, а при движении на станцию - влево.



Рисунок 6 - Запущенный прогон модели


После окончания прогона в Сборе данных можно увидеть количество повторов вызовов, время оказания помощи, количество абонентов, которым не оказали помощь, средний пробег автомобиля за 5 суток и расстояние до клиента. Так же в Гистограммах можно посмотреть распределение времени оказания помощи и распределение расстояния до клиента, которые получены на основании собранных данных. В Блок-схеме показана работа самой модели.



ЗАКЛЮЧЕНИЕ


В данном курсовом проекте была смоделирована работа станции скорой помощи. В ходе работы был проведён эксперимент, с помощью которого было выяснено, что для более эффективной работы станции необходимо увеличить количество автомобилей.

В постановке задачи указано, что количество автомобилей на станции равно 15. Этого мало из-за того, что звонки на станцию поступают очень интенсивно, распределение расстояния от станции до больного составляет от 5 до 20 километров, а скорость движения автомобилей равномерно распределена в интервале 35-55 км/ч. С помощью эксперимента было выяснено, что оптимально иметь хотя бы 60 автомобилей. При таком количестве число не обслуженных больных за 5 суток становится достаточно малым. Этими значениям в принципе можно пренебречь, так как в нашей системе мы не учитывали случаи, при которых абоненты перестают звонить или отменяют свои вызовы.

Количество каналов на станции, равное 5, хватает. За 5 суток при таком количестве абоненты перезванивают около 30 раз, что тоже является достаточно малым.



СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ


1.Справка AnyLogic Professional.

2.http://www.cyberforum.ru/gpss/thread575456.html


КОНТРОЛЬНАЯ РАБОТА по дисциплине: Моделирование МОДЕЛИРОВАНИЕ РАБОТЫ СТАНЦИИ СКОРОЙ ПОМОЩИ

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ