Моделирование систем. Лабораторный практикум
.pdfyy Каково будет время моделирования, если изменить блок GENERATE 70?
yy Как изменится время моделирования, если изменить блок START 3?
yy Какие параметры GENERATE и START необходимо установить, чтобы сохранить прежнее время моделирование при TERMINATE 2?
yy Какие параметры GENERATE и START необходимо установить, чтобы сохранить время моделирования, составляющее 560 ед. при TERMINATE 2?
1.4. Требования к отчету о выполнении работы
Отчет составляется с использованием программы Microsoft Word с учетом всех требований, предъявляемых к оформлению материала данного вида (титульный лист, цель, задачи и т.д.). К скриншотам результатов моделирования следует сформулировать краткие аналитические пояснения. В заключение необходимо сделать выводы на основе полученных результатов моделирования.
Контрольные вопросы
1.Какова основная задача блока GENERATE?
2.Какова основная задача блока TERMINATE?
3.Какова основная задача блока START?
4.Какие операнды входят в блоки GENERATE, TERMINATE и START?
5.Каким образом можно определить время моделирования на основе операндов блоков GENERATE, TERMINATE и START?
21
Лабораторная работа 2 Системы массового обслуживания с одним
прибором и очередью
(2 часа)
2.2. Цель работы
Цель работы – освоение методов моделирования систем массового обслуживания с одним прибором и очередью.
2.2. Теоретическое введение
Независимо от того, люди или предметы задействованы в обслуживании, мы будем называть их приборами. Приборы характеризуются двумя основными свойствами:
1)каждый прибор в любой момент времени может обслуживать только одно требование; если появляется другое требование, то оно должно встать в очередь, либо пойти в другое место;
2)когда на прибор поступает требование, в модели необходимо пропустить время, необходимое для его обслуживания.
Так как в системе может быть несколько приборов, приборам должны быть даны имена (включающие 3–5 символов или цифры). Число приборов зависит от размера оперативной памяти ЭВМ.
Работу приборов в системе массового обслуживания в программе GPSS можно описать с помощью следующих блоков.
Блоки SEIZE (занять) и RELEASE (освободить)
При использовании прибора имеем следующие ситуации, связанные с его работой:
1)перед занятием прибора можем ожидать своей очереди;
2)если прибор свободен и подходит наша очередь, то занимаем его;
3)прибор остается в состоянии занятости в течение некоторого интервала времени;
4)когда обслуживание заканчивается, прибор освобождается. Блок SEIZE осуществляет только изменение статуса при-
бора с «незанято» на «занято». После входа транзакта другие
22
транзакты уже не могут в него войти и вынуждены ожидать освобождения. Программная запись блока SEIZE выглядит следующим образом: SEIZE ААА, где ААА – имя прибора обслуживания.
Блоком, осуществляющим вывод транзактов из блока обслуживания, является RELEASE ААА, где ААА – имя прибора обслуживания.
При моделировании прибора необходимо собирать информацию, описывающую работу прибора и позволяющую ответить на следующие вопросы.
1.В течение какого временного интервала был занят при-
бор?
2.Сколько раз прибор был занят?
3.Каков средний интервал времени занятости?
Ответы на подобные вопросы распечатываются автоматически в конце моделирования. Блоки SEIZE и RELEASE являются парными.
Блок ADVANCE (реализация задержки во времени)
Процесс обслуживания (или задержки продвижения транзакта в модели) осуществляет блок ADVANCE А,В.
Интервал задержки транзактов задается случайной величиной, определяемой операндами А и В, где:
А – среднее время задержки транзакта на обслуживание; В – половина поля допуска равномерно распределенного
интервала времени задержки транзакта.
Использование блока ADVANCE наглядно можно продемонстрировать на следующем примере:
SEIZE JOE – вход в прибор обслуживания;
ADVANCE 16,4 – задержка на (16 ± 4) единиц времени; RELEASE JOE – освобождение прибора обслуживания.
Блоки QUEUE (встать в очередь) и DEPART (покинуть очередь)
В любых системах массового обслуживания число ресурсов ограничено. Если прибор занят, то транзакт должен встать в очередь на обслуживание или покинуть систему. Сбор статистических данных, описывающих ожидание, осуществляют блоки QUEUE и DEPART. Присоединение к очереди осущест-
23
вляет блок QUEUE А,В, а блок DEPART А,В осуществляет уход транзакта из очереди.
Операнд А – символьное или численное имя очереди, к которой необходимо присоединиться или которую надо покинуть.
При входе транзакта в блок QUEUE выполняется следующая подпрограмма:
1)«счетчик входов» для данной очереди увеличивается на единицу;
2)запись «счетчика текущего содержимого» для данной очереди также увеличивается на единицу;
3)транзакт «привязывается» к очереди с указанием ее имени;
4)транзакт «привязывается» к очереди с запоминанием значения текущего модельного времени.
Операнд В указывает, на какое значение должен быть модифицирован счетчик содержимого очереди. По умолчанию это значение равно 1.
Регистратор очереди используется для сбора соответствующей статистики. Без его использования занятый прибор все равно не пропустит транзакт, он автоматически поставит его
вочередь. Часто в целях экономии машинного времени блоки QUEUE и DEPART не используют.
Транзакт отмечает факт своего присутствия в очереди входом в блок, где осуществляется привязка к очереди по имени и времени входа в очередь. Транзакт может побывать за время ожидания в очереди в нескольких местах модели. Однако он не может одновременно присутствовать более чем в пяти очередях.
Ниже приведен пример классического использования операторов при описании одноканальной системы массового обслуживания с очередью:
QUEUE ООН – занятие очереди;
SEIZE JOE – вход в прибор обслуживания; DEPART ООН – освобождение места в очереди;
ADVANCE 16,4 – задержка на (16 ± 4) единиц времени; RELEASE JOE – освобождение прибора обслуживания. Статистические данные, собранные о работе прибора, со-
держат следующую информацию:
1)имя прибора обслуживания;
2)доля времени, в течение которого прибор был занят;
24
3)число обслуживаний;
4)средняя продолжительность одного обслуживания; Статистические данные, собранные об очереди, содержат
следующую информацию:
1)имя очереди;
2)максимальная длина очереди, зарегистрированная за время моделирования;
3)среднее значение длины очереди;
4)общее число входов в очередь;
5)общее число входов в очередь без последующего ожидания («нулевые» входы);
6)процент нулевых входов от общего числа входов;
7)среднее время нахождения в очереди (включая «нулевые» входы);
8)среднее время нахождения в очереди («нулевые» входы исключаются);
9)текущее значение содержимого очереди на момент окончания моделирования.
2.3. Задание для выполнения лабораторной работы
Интервалы прихода клиентов в мастерскую с одним мастером распределены равномерно в интервале 18 ± 6 мин. Время обслуживания также распределено равномерно в интервале 16 ± 4 мин. «Кто первым пришел, тот первым и обслуживается». Промоделируйте работу парикмахерской в течение 8 ч модельного времени. Соберите статистические данные об очереди. За единицу времени примите 1 мин.
2.4. Требования к отчету о выполнении работы
Отчет составляется с использованием программы Microsoft Word с учетом всех требований, предъявляемых к оформлению материала данного вида (титульный лист, цель, задачи и т.д.). К скриншотам результатов моделирования следует сформулировать краткие аналитические пояснения. В заключение необходимо сделать выводы на основе полученных результатов моделирования.
25
Контрольные вопросы
1.Перечислите основные функции блока SEIZE и RELEASE
2.Каково основное назначение блока ADVANCE?
3.В каких ситуациях необходимо использовать блоки QUEUE и DEPART?
4.Какие параметры моделирования в программе GPSS лучше всего отражают эффективность работы системы массового обслуживания?
5.На основе результатов моделирования сделайте заключение об эффективности работы парикмахерской в целом.
26
Лабораторная работа 3 Расширение системы массового обслуживания с одним прибором и очередью
(2 часа)
3.1. Цель работы
Цель работы – изучение принципов моделирования расширенных СМО, включающих несколько приборов обслуживания, приоритетное обслуживание и перерывы в обслуживании.
3.2. Теоретическое введение
Для успешного выполнения работы необходимо четко и твердо усвоить, а также уметь применять теоретический материал, содержащийся в лабораторных работах 1 и 2. Необходимо повторить предназначение основных блоков и операндов, рассматриваемых в этих лабораторных работах, чтобы успешно смоделировать систему массового обслуживания в соответствии с заданием, приведенным в разд. 3.3, предусматривающим совместное использование этих блоков.
3.3. Задания для выполнения лабораторной работы
Задание 3.3.1
Рассмотрите работу автомойки, в которую приезжают автомобилисты для следующих целей:
1)только помыть машину; распределение интервалов их прихода – 35 ± 10 мин;
2)помыть машину и пропылесосить салон; интервалы их прихода – 60 ± 20 мин.
Дисциплина обслуживания бесприоритетная – «первым пришел, первым обслужен». Время работы – с 8 до 20 ч. Время обслуживания распределено соответственно: помыть машину – 16 ± 4 мин; пропылесосить салон – 18 ± 6 мин.
Напишите программу:
1)работы автомойки со сбором данных об общей очереди;
27
2)работы автомойки со сбором данных об очередях для мойки и чистки машин;
3)предусматривающую перерыв на обед в 12 ч на 45 мин;
4)предусматривающую несколько перерывов:
yy с 10 ч до 10 ч 15 мин; yy с 12 ч до 12 ч 15 мин;
5) для подсчета нагрузки мойщика при различных вариантах обслуживания.
В третьем задании необходимо использовать введение транзактов с высшим приоритетом. Значение «1» в операторе GENERATE на 5-й позиции определяет граничное число транзактов; значение «1» в операторе GENERATE на 6-й позиции определяет уровень приоритета.
Транзакт с более высоким приоритетом будет занимать прибор обслуживания либо в 12 ч (момент времени 240), либо тогда, когда прибор станет свободен после обслуживания. В этом случае прибор будет оставаться недоступным для клиентов – транзактов до тех пор, пока не истекут 45 мин модельного времени. В данном случае клиенты будут приходить и ждать обслуживания.
Задание 3.3.2
Промоделируйте систему массового обслуживания, приведенную в задании к лабораторной работе 2, изменив условие следующим образом: в мастерскую приходят клиенты трех типов с различными уровнями приоритета и с разным временем обслуживания. Выбор параметров осуществите таким образом, чтобы очередь была как можно меньше при наибольшем значении коэффициента использования прибора.
3.4. Требования к отчету о выполнении работы
Отчет составляется с использованием программы Microsoft Word с учетом всех требований, предъявляемых к оформлению материала данного вида (титульный лист, цель, задачи и т.д.). К скриншотам результатов моделирования следует сформулировать краткие аналитические пояснения. В заключение необходимо сделать выводы на основе полученных результатов моделирования.
28
Контрольные вопросы
1.Какова степень загруженности автомойки при непрерывном режиме работы и при перерывах каждого вида?
2.При каком варианте работы автомойки обслуживается максимальное количество клиентов?
3.Каков наиболее оптимальный вариант работы автомойки, определенный на основе результатов моделирования?
4.Перечислите возможности повышения загруженности парикмахерской в зависимости от типа клиентов.
5.Какие программные блоки возможно использовать при описании приоритетов клиентов?
29
Лабораторная работа 4 Система с одним прибором и очередью для приоритетной дисциплины обслуживания
(2 часа)
4.1. Цель работы
Цель работы – закрепление навыков использования приемов моделирования одноканальных СМО.
4.2. Теоретическое введение
Для успешного выполнения работы необходимо четко и твердо усвоить, а также уметь применять теоретический материал, содержащийся в лабораторных работах 1 и 2. Также необходимо изучить опыт совместного использования освоенных программных блоков, который был получен при выполнении лабораторной работы 3.
4.3. Задания для выполнения лабораторной работы
Рассмотрите склад, на котором работает один кладовщик, выдающий запчасти механикам. Возможны две категории запроса на запчасти:
Время прихода механиков |
Время обслуживания |
за запчастями, с |
кладовщиком, с |
420 ± 360 |
300 ± 90 |
350 ± 240 |
100 ± 30 |
Запросы второй категории удовлетворяются в первую очередь.
Выполните моделирование работы склада в течение 8-ча- сового рабочего дня. Проведите моделирование для простой и приоритетной дисциплин обслуживания и определите следующие позиции:
1) уменьшится ли среднее число ожидающих в очереди механиков;
30
