Поволжский Государственный Университет Телекоммуникаций и Информатики Моделирование систем Отчет по лабораторной работе №7 «Модель парикмахерской» Выполнил: студент группы ИСТ-72 Уксусов Кирилл Проверил: доц. Тимофеев А.В. Самара 2010 Задание В парикмахерскую могут приходить клиенты двух типов. Клиенты первого типа желают только стричься. Распределение интервалов их прихода 35±10 мин. Клиенты второго типа желают постричься и побриться. Распределение интервалов их прихода 60±20 мин. Парикмахер обслуживает клиентов в порядке «первый пришел – первым обслужен». На стрижку уходит 18±6 мин., а на бритье 10±2 мин. В парикмахерской оборудовано только одно место для обслуживания клиентов, менеджер рассматривает возможность установки второго дополнительного места. Методом имитационного моделирования определите, насколько целесообразно оборудование второго места и прием на работу второго парикмахера. Доходы от работы парикмахерской определяются количеством клиентов, обслуженных в течение рабочего дня (9 часов с часовым перерывом на обед), убытки определяются временем простоев парикмахера (в отсутствие клиентов) и количеством не обслуженных клиентов в очереди. Моделирование проведите для рабочей недели (6 дней по 8 часов). Выполнение Составим структуру модели в соответствии с заданием: В данной структуре в 1-ом (1 client coming) блоке генерируется единственный тег, который запускает на вход парикмахерской два потока клиентов: первого типа (2 client 1 stream) и второго (3 client 2 stream). В этих блоках обрабатываются задержки между приходами клиентов. Далее тэги переходят в 4-й блок (4 haircutting) который соответствует стрижке, далее если обрабатываемый тэг являлся тэгом клиента, которому нужна было только стрижка, то он «выходит из парикмахерской», чему соответствует 6-й блок (6 exit 1), или, если клиенту нужна была стрижка и бритье, то тэг, ему соответствующий, переходит в 5-ый блок (5 shaving), который отвечает за бритье клиента, и после этого, он также «выходит», чему соответствует 7-й блок (7 exit 2). Опишем необходимые переменные: Структура 2-го блока client 1 stream В данном блоке мы определеям элемент массива посетителей как клиент, кото-рому необходима только стрижка (client_type[tag]:=1;) Также указываем среднее значение интервала распределение времени, и стандартное отклонение (35±10 мин). Структура 3-го блока client 2 stream В данном блоке мы определеям элемент массива посетителей как клиент, кото-рому необходима только стрижка (client_type[tag]:=2;) Также указываем среднее значение интервала распределение времени, и стандартное отклонение (60±20 мин). Очередь для 4 блока определим как FIFO – первым вошел — первым вышел. Описание 4 блока haircutting В данном блоке мы описываем поведение тэга, после стрижки длительностью в 18±6 мин., статус парикмахера снова становится равным 0, что означает что он освободился, если же клиенту требловалась и стрижка и бритье, то тэг переходит в 5-ый блок. Парикмахер тем самым остается в занятом состоянии, это достигается условием: if client_type[tag]==1 then St:=0; Описание 4 блока shaving В данном блоке мы описываем поведение тэга, после стрижки длительностью в 10±2 мин., далее статус парикмахера становится равным 0, что означает, что парикмахер освободился. St:=0; Описание разветвителя Т для 4 блока В данном случае, чтобы наша схема работала, мы прописываем следующие условия: client_type[tag]==2; - если это условия выполняется, тэг переходит в 5-ый блок client_type[tag]==1; - в блок выхода Прогон модели По графикам можно определить примерное время простоя клиентов в очереди, в среднем клиент ожидает в очереди около 120 минут, максимальное время составил около 180 минут. Максимальное количество ожидающих в очереди равно 9, среднее — окодо 6 человек. Об этом свидетельствует также представленная таблица с характеристиками о простое и количестве клиентов в очереди. Вывод: Характеристики очереди говорят о высокой степени нагрузки, мксимальное количество ожидающих очереди клиентов составляет 9, а среднее около 7. Среднее время ожидания в очереди составило око 120 минут, что говорит о высокой загруженности парикмахера, поэтому целесообразно нанять на работу второго парикмахера.