Добавил:
tg: @petmanchenko Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛР №4 Вар 1 Изменённая дисциплина обслуживания в системе с одним прибором и очередью

.docx
Скачиваний:
0
Добавлен:
02.02.2025
Размер:
252.96 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Факультет Информационных систем и технологий

Кафедра Информационных управляющих систем

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

Отчет по лабораторной работе №4

Вариант №1

«Изменённая дисциплина обслуживания в системе с одним прибором и очередью»

Выполнил:

Студент гр. ИСТ-931

Гетманченко П.А.

Проверил:

к.т.н., доцент

Королёв В.В.

Санкт-Петербург

2021

Постановка задачи

В зубной кабинет с одним креслом пациент приходит каждые (15±2) мин. по записи. Каждые (60±10) мин. приходят пациенты с острой болью, которые проходят к стоматологу без очереди. Лечение плановых клиентов происходит за (14±6) мин., а пациентов с острой болью - за (10±3) мин. Начало приёма врача - 8:00, в 11:00 врач делает перерыв на 30 мин. Смоделируйте работу кабинета за шестичасовой рабочий день. Рассчитайте прибыль врача, если стоимость визита планового пациента 100 руб., а пациента с острой болью - 50 руб. На обед врач уходит, обслужив пациента, который сейчас находится в кресле.

Код:

SIMULATE

GENERATE 15,2,,,1

QUEUE b

SEIZE a

DEPART b

ADVANCE 14,6

RELEASE a

TERMINATE

GENERATE 60,10,,,2

QUEUE b

SEIZE a

DEPART b

ADVANCE 10,3

RELEASE a

TERMINATE

* блок перерыва

GENERATE ,,180,1,3 // 2 первые переменные – кто-то заходит в очередь, поэтому опускаем, 180 – смещение (действует через 180 мин., через 3 ч.), 3 – приоритет (самый высокий), если время подходит к перерыву, то ему приоритетнее уйти на перерыв

QUEUE b

PREEMPT a

DEPART b

ADVANCE 30

RETURN a

TERMINATE

GENERATE 360 // перевод в мин. (6 ч.)

TERMINATE 1

START 1

Пояснения:

GENERATE – создает поток транзакций и отправляет их на вход модели, например, каждые 330±250 единиц времени. Транзакции начинают свое существование после оператора GENERATE, проходят следующие операторы, и уходят из модели на операторе TERMINATE.

QUEUE – этот оператор симулирует очередь и собирает соответствующую статистику. В конце симуляции он выдаст максимальный размер очереди и среднее время ожидания. Каждому оператору QUEUE должен быть поставлен в соответствие оператор DEPART, который запускается тогда, когда транзакт выходит из очереди.

После оператора QUEUE транзакт попытается пройти оператор SEIZE.

SEIZE – симулирует “захват прибора”. Прибор имеет размерность один: если он уже занят, то SEIZE пропустит следующий транзакт. Каждому оператору SEIZE должен быть поставлен в соответствие оператор RELEASE, который запускается тогда, когда прибор оканчивает обрабатывать транзакт.

ADVANCE – замораживает объект, например, на 280±150 единиц времени.

PREEMPT - операция захвата устройства выполняется транзактом с помощью блока PREEMPT (прервать). Номер захватываемого устройства задается в этом блоке в поле А. Если транзакт захватил устройство посредством блока PREEMPT, то освобождать его он должен в блоке RETURN (восстановить). Номер освобождаемого устройства задается в блоке RETURN в поле А.

Результат работы программы

Результат работы программы виден на рисунках 1-2.

Рисунок 1 – результат работы программы №1

Рисунок 2 – результат работы программы №2