Цель работы: научиться прописывать дискретные и непрерывные функции, менять приоритеты генерируемых транзактов
Задачи: промоделировать работу заданной системы с использованием различных функций распределений, в процессе движения транзактов менять их приоритет, сгенерировать отчет, проанализировать полученные результаты.
Запись функций — задается в модуле задания FUNCTION формата:
< n FUNCTION A,B>
n — номер или имя функции,
А — операнд, указывающий на аргумент функции, обычно случайное число,
В — тип функции (Dm, Cm) — дискретная или непрерывная с числом точек табуляции m.
В процессе моделирования иногда приходится менять как дисциплину обслуживания, так и приоритет транзакта. Для этой цели используется оператор PRIORITY, формат которого имеет вид:
< PRIORITY A >
A — не имеет значения по умолчанию, определяет новое значение приоритета для транзакта. Транзакты удаляются при этом из системы и возвращаются обратно с новым приоритетом, становясь последними в список данного приоритета. Уровень приоритета в последней версии
Приведем пример использования оператора:
PRIORITY 5
В примере у транзакта переназначается приоритет на 5.
Самостоятельная работа 7
Модель приемного покоя
Темп прихода пациентов подчиняется распределению Пуассона, среднее время их появления равно 30 мин. Затем они подходят в регистрацию, 45 % из них в состоянии ожидать приема у врача, обозначьте их CW, а 55 % требуется немедленная помощь, их обозначим NIA.
Регистратор тратит какое-то время на заполнение карты больного и выяснение обстоятельств, время распределено по экспоненте со средним значением 10 мин.
В приемном покое принимают два доктора, пациенты NIA имеют больший приоритет по сравнению с CW. На осмотр пациентов NIA доктор тратит 45 мин (экспоненциально распределенных), 75 % осмотренных вынуждены сдавать анализы и ждать результата исследований, а 25 % уходят домой. После получения анализов (экспоненциальное распределение со средним 30 мин) пациенты NIA снова должны пройти к любому доктору, но уже имея более низкий приоритет по сравнению с пациентами CW, время вторичного ожидания распределено экспоненциально со средним 15 мин, после чего пациенты уходят. Пациенты CW проходят к доктору один раз, время их осмотра распределено по экспоненте со средним значением 30 мин, и они имеют приоритет меньший, чем у пациентов NIA, идущих на прием первый раз, но больший, чем у тех же пациентов, приходящих второй раз с результатами анализов.
Проведите моделирование за период 240 ч, полагая, что за это время не произойдет изменения каких-либо параметров. Создайте очереди во всех четырех возможных точках ожидания и оцените полученные результаты.
Допущения, сделанные в модели.
Транзакты (пациенты) поступают с одного генератора с приоритетом 10, проходят через классификацию, а затем разделяются на два потока, у пациентов NIA приоритет возрастает до 15, а затем этот поток делится на два, идущих на сдачу анализов и уходящих домой, при этом у первых приоритет снижается до 5 и они вновь идут к доктору, после чего покидают систему. Пациенты CW не меняют своего приоритета за все время моделирования.
Таблица обозначений.
Временная дискрета: 1 мин.
Объект | Объект в системе |
Транзакты Фрагмент 1 модели Фрагмент 2 модели Фрагмент 3 модели Фрагмент 4 модели | Приход пациентов на регистрацию Пациенты Пациенты Транзакт управления |
Функции NURSE | Регистратор |
Очереди CWLINE NIALINE1 NIALINE2 NURSE | Очередь пациентов CW Очередь пациентов NIA Вторичная очередь пациентов NIA Очередь к регистратору |
Памяти DOCTORS | Доктора, ведущие прием |