Моделирование работы потока клиентов в парикмахерской
Поток клиентов в парикмахерскую можно разбить на два вида. Одни из них (их интенсивность 10 клиентов в час), застав всех мастеров занятыми, становятся в очередь. Другие (их интенсивность 2 клиента в час) в этой ситуации уходят. В парикмахерской работают 4 мастера. Среднее время обслуживания одного клиента 15 мин. Все потоки — простейшие, пуассоновские. Смоделировать работу парикмахерской… Читать ещё >
Моделирование работы потока клиентов в парикмахерской (реферат, курсовая, диплом, контрольная)
Министерство образования и науки Российской Федерации
Государственное образовательное учреждение высшего профессионального образования
Северо-Кавказский государственный технический университет
Факультет информационных технологий и телекоммуникаций
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовому проекту (работе) по Моделированию систем
на тему: Моделирование работы потока клиентов в парикмахерской
Автор проекта (работы) Рыков Д.П.
Специальность 230 102.65
Автоматизированные системы обработки
информации и управления
Руководитель проекта Е. Г. Степанова
Ставрополь 2011 г.
ЗАДАНИЕ
по курсовому проектированию
1. Тема Моделирование работы потока клиентов в парикмахерской
2. Поток клиентов в парикмахерскую можно разбить на два вида. Одни из них (их интенсивность 10 клиентов в час), застав всех мастеров занятыми, становятся в очередь. Другие (их интенсивность 2 клиента в час) в этой ситуации уходят. В парикмахерской работают 4 мастера. Среднее время обслуживания одного клиента 15 мин. Все потоки — простейшие, пуассоновские. Смоделировать работу парикмахерской в течение 8 ч. Определить коэффициенты загрузки мастеров и вероятность отказа для клиентов второго вида.
3. Содержание расчетно-пояснительной записки (перечень подлежащих разработке вопросов)
1 Описание моделируемой системы 2 Структурная схема модели системы и ее описание 3 Математическая модель и ее описание 4 Описание машинной программы решения задачи 5 Результаты моделирования и их анализ
4. Перечень графического материала (с точным указанием обязательных чертежей Структурная схема модели, Временная диаграмма, Q-схема, Укрупненная схема, Блок-диаграмма GPSS модели
5.
Литература
пособия
Советов Б.Я., Яковлев С. А. Моделирование систем. — М.:Высш. шк., 1995. Советов Б. Я., Яковлев С. А. Моделирование систем. Практикум. — М.:Высш. шк., 1999. Вентцель Е. С. Исследование операций. — М.:Радио и связь, 1972.
модель программа парикмахерская клиент
АННОТАЦИЯ
В данной курсовой работе требуется разработать модель работы парикмахерской дома быта. Предложены различные варианты по оптимизации модели, выбран наиболее экономически выгодный из них. Программа реализована на языке имитационного моделирования GPSS.
ВВЕДЕНИЕ
ОСНОВНАЯ ЧАСТЬ
1. Описание моделируемой системы
2. Структурная схема модели системы и ее описание
3. Временная диаграмма и ее описание
4. Q-схема системы и ее описание
5. Укрупненная схема моделирующего алгоритма
6. Детальная схема моделирующего алгоритма и ее описание
7. Математическая модель и ее описание
8. Описание машинной программы решения задачи
9. Результаты моделирования и их анализ
10. Описание возможных улучшений в работе системы ЗАКЛЮЧЕНИЕ СПИСОК ЛИТЕРАТУРЫ Приложение 1
Приложение 2
Приложение 3
В данном курсовом проекте задача поставлена следующим образом: Поток клиентов в парикмахерскую дома быта можно разбить на два вида. Одни из них (их интенсивность 10 клиентов в час), застав всех мастеров занятыми, становятся в очередь. Другие (их интенсивность 2 клиента в час) в этой ситуации уходят. В парикмахерской работают 4 мастера. Среднее время обслуживания одного клиента 15 мин.
Смоделировать работу парикмахерской в течение 8 ч. Определить коэффициенты загрузки мастеров и вероятность отказа для клиентов второго вида.
Разработка, отладка и модификация программ имитации является очень трудоемкими процессами, если для их программирования применять языки низкого уровня. В связи с этим, одновременно с появлением первых имитационных программ начались исследования по автоматизации имитационного моделирования. Одним из подходов к решению этой проблемы стало создание языков программирования, ориентированных на описание задач имитационного моделирования. Чтобы оттенить особенности метода имитационного моделирования, рассмотрим кратко другие методы моделирования.
По способу воспроизведения свойств исследуемой (моделируемой) системы различают несколько методов моделирования. Остановимся в качестве примера на некоторых из них.
а) Натурное моделирование, т. е. воспроизведение явления в той же субстанции, но в другом масштабе.
б) Электрическое (электронное) моделирование. Под этим термином понимают воспроизведение динамики изменения состояния системы с помощью электрических величин (тока, напряжения) в электронных схемах. Такое моделирование широко применяется при исследованиях, выполняемых с помощью АВМ.
в) Математическое моделирование. Под математическим моделированием обычно понимается описание системы в терминах некоторой математической теории, например, теории массового обслуживания, теории дифференциальных уравнений и т. д. Зная математическую модель системы можно изучить (по крайней мере, принципиально) интересующие нас сведения, если, конечно, при ее составлении учитывались необходимые свойства.
При построении концептуальной, формализованной модели системы воспользуемся теоретическими основами, приведенными учебных пособиях: Советов Б. Я., Яковлев С. А. «Моделирование систем», Советов Б. Я., Яковлев С. А. «Моделирование систем. Практикум». В данной литературе приведены все не-обходимые данные, примеры, основные принципы моделирования.
Для построения математической модели воспользуемся формулами и приме-рами расчетов, рассмотренными в учебнике Вентцель Е. С. «Исследование операций».
ОСНОВНАЯ ЧАСТЬ
1. Описание моделируемой системы
По условию задачи клиенты приходят в парикмахерскую по следующему графику: из первого потока приходит 10 клиентов в час, из второго — 2 клиента в час. В парикмахерской работает 4 мастера. Каждый мастер обслуживает клиента за 15 минут. Если свободных мастеров нет, то клиенты из первого потока становятся в очередь, а клиенты из второго потока — уходят из парикмахерской.
2. Структурная схема системы и ее описание
Рис. 2.1. Структурная схема процесса функционирования парикмахерской
Анализ условия задачи и структурной схемы позволяет сказать, что в процессе обслуживания клиентов возможны следующие ситуации:
1) Режим нормального обслуживания клиентов — когда клиенты, приходящие в парикмахерскую с обоих потоков поступают на обслуживание, если в данный момент есть свободный мастер;
2) Режим занятия очереди клиентами из первого потока, случае отсутствия свободных мастеров;
3) Режим отказа в обслуживании клиентам из второй очереди, в случае отсутствия свободных мастеров.
3. Временная диаграмма и ее описание
Рис. 3.1. Временная диаграмма процесса
На временной диаграмме:
Ось п1 — моменты прихода клиентов из 1 потока (через каждые 6 минут);
Ось п2 — моменты прихода клиентов из 2 потока (через каждые 30 минут);
Ось оч — пребывание клиентов в очереди;
Ось пар1 — обслуживание клиента 1 парикмахером;
Ось пар2 — обслуживание клиента 2 парикмахером;
Ось пар3 — обслуживание клиента 3 парикмахером;
Ось пар4 — обслуживание клиента 4 парикмахером;
t1, t2, t3, …, t12 — время прихода клиентов.
tз1, tз2, tз3, …, tз12 — время обслуживания клиентов мастерами (15 минут).
4. Q-схема системы и ее описание
Рис. 4.1. Qсхема процесса функционирования парикмахерской
Источник И1 имитирует приход клиентов 1 потока через каждые 6 мин, а источник И2 — приход клиентов 2 потока через каждые 30 минут. Система клапанов регулирует процесс занятия пользователями (в терминах Q-схем — заявками) каналов К1, К2, К3, К4 соответствующих перфораторам с теми же номерами на структурной схеме. Если канал К1 занят, то клапан 1 закрыт, а клапан 2 открыт; если канал К2 занят, то клапан 3 закрыт, а клапан 4 открыт; если канал К3 занят, то клапан 5 закрыт, а клапан 6 открыт, если канал К4 занят, то клапан 7 закрыт, а клапан 8 открыт. Таким образом, если все каналы заняты, то заявка из 1 источника остается в накопителе Н1, а заявка из 2 источника через открывшийся клапан 8 уходит в поток отказов
5. Детализированная схема моделирующего алгоритма
Рис. 5.1. Детализированная схема
6. Обобщенная схема моделирующего алгоритма
Рис. 6.1. Обобщенная схема
7. Математическая модель
Перед построением детального моделирующего алгоритма необходимо определить переменные и уравнения математической модели. В нашем случае это будут:
— число обслуженных клиентов;
— число клиентов, получивших отказ;
уравнения модели:
(7.1)
(7.2)
где — вероятность отказа в обслуживании;
— коэффициент загрузки i-го парикмахера, где i=1,2,3,4;
— суммарное время занятости i-го мастера;
T — общее имитируемое время работы парикмахерской.
7. Описание машинной программы решения задачи
Имитационная модель данной задачи реализована при помощи языка моделирования GPSS-PC.
Листинг программы приведен в приложении 1, комментарии к данной программе — в приложении 2.
Опишем блоки программы.
Для создания транзактов, входящих в модель, служит блок GENERATE (генерировать).
При помощи блока TRANSFER определяется дальнейший путь транзакта.
В блоке TEST GE проверяется длина очереди и в случае невыполнения условия транзакт отсылается на метку BYBY блока TERMINATE.
Блок QUEUE увеличивает длину очереди. Блок DEPART служит для уменьшения длины очереди.
С помощью блока ADVANCE происходит обработка транзакта за заданный период времени.
Блок SEIZE имитирует устройство, в нашем случае это мастер. Блок REALESE соответствует освобождению устройства.
Блок TERMINATE уничтожает транзакт.
Блоки TERMINATE, GENERATE и START вместе делают задержку на 480 единиц машинного времени, что соответствует 8-часовому рабочему дню.
8. Результаты моделирования и их анализ
Файл стандартной выходной статистики создается с помощью команды REPORT. Отформатированный файл статистики состоит из подразделов, содержащих стандартную статистику об объектах GPSS использованных в модели.
START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY
0 480 28 4 0 15 600
LINE LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY
20 1 GENERATE 80 0 0
30 2 TRANSFER 80 0 0
50 3 GENERATE 15 0 0
60 4 TEST 15 0 0
70 MET1 QUEUE 95 0 0
80 6 TRANSFER 95 0 0
90 A1 SEIZE 27 0 0
100 8 DEPART 27 0 0
110 9 ADVANCE 27 1 0
120 10 RELEASE 26 0 0
130 11 TERMINATE 26 0 0
140 A2 SEIZE 27 0 0
150 13 DEPART 27 0 0
160 14 ADVANCE 27 1 0
170 15 RELEASE 26 0 0
180 16 TERMINATE 26 0 0
190 A3 SEIZE 26 0 0
200 18 DEPART 26 0 0
210 19 ADVANCE 26 1 0
220 20 RELEASE 25 0 0
230 21 TERMINATE 25 0 0
240 A4 SEIZE 15 0 0
250 23 DEPART 15 0 0
260 24 ADVANCE 15 0 0
270 25 RELEASE 15 0 0
280 BYBY TERMINATE 15 0 0
290 27 GENERATE 1 0 0
300 28 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY
PAR1 27 0.825 14.67 1 96 0 0 0 0
PAR2 27 0.812 14.44 1 97 0 0 0 0
PAR3 26 0.806 14.88 1 95 0 0 0 0
PAR4 15 0.468 15.00 1 0 0 0 0 0
QUEUE MAX CONT. ENTRIES ENTRIES (0) AVE.CONT. AVE. TIME AVE.(-0) RETRY
LINE 1 0 95 95 0.00 0.00 0.00 0
Из отчета выходной характеристики следует, что за период моделирования 480 единиц машинного времени было сгенерировано 80 транзактов первого потока и 15 транзактов второго потока.
При этом в устройства поступили 27, 27, 26 и 15 транзактов соответственно.
Максимальное значение очереди LINE — 1.
Согласно формулам (7.1), (7.2), исходным и полученным данным имеем:
11. Описание возможных улучшений в работе системы
Для получения улучшений работы системы рассмотрим такие показатели как коэффициенты загруженности парикмахеров и длина очереди клиентов первого потока. Время поступления потока клиентов и время обслуживания клиентов являются независимыми от разработчика имитационной модели и не могут быть им изменены в целях оптимизации системы. Так как, при просмотре отчета программы при заданных условиях видно, что коэффициенты загрузки мастеров недостаточно высоки, то следует найти оптимальное состояние системы, изменяя для этого количество парикмахеров. Все данные сведены в таблице 11.1. Выходные статистики при моделируемых состояниях системы приведены в приложении 3.
Таблица 11.1
№ парикмахера | При 2 парикмахерах | При 3 парикмахерах | При 4 парикмахерах | ||||
Кз | Длина очереди | Кз | Длина очереди | Кз | Длина очереди | ||
0,987 | 0,981 | 0,825 | |||||
0,975 | 0,968 | 0,812 | |||||
——-; | 0,962 | 0,806 | |||||
——-; | ——-; | 0,468 | |||||
На основе полученных результатов пришли к выводу, что наиболее оптимальна система при 3 парикмахерах, так как их коэффициенты загруженности максимальны и длина очереди близка к минимуму.
ЗАКЛЮЧЕНИЕ
Анализируя полученные результаты, видим, что при начальных условиях система не является оптимальной, так как коэффициенты загруженности не всех парикмахеров стремятся к максимуму. После поиска оптимального решения было установлено, что система наиболее рентабельна и экономически выгодна при работе в парикмахерской 3 мастеров.
Советов Б.Я., Яковлев С. А. Моделирование систем. — М.:Высш. шк., 1995.
Советов Б.Я., Яковлев С. А. Моделирование систем. Практикум. — М.:Высш. шк., 1999.
Вентцель Е. С. Исследование операций. — М.:Радио и связь, 1972.
Приложение 1. Листинг программы
10 SIMULATE
20 GENERATE 6
30 TRANSFER, MET1
50 GENERATE 30
60 TEST GE LINE, 1, BYBY
70 MET1 QUEUE LINE
80 TRANSFER ALL, A1, A4,5
90 A1 SEIZE PAR1
100 DEPART LINE
110 ADVANCE 15
120 RELEASE PAR1
130 TERMINATE
140 A2 SEIZE PAR2
150 DEPART LINE
160 ADVANCE 15
170 RELEASE PAR2
180 TERMINATE
190 A3 SEIZE PAR3
200 DEPART LINE
210 ADVANCE 15
220 RELEASE PAR3
230 TERMINATE
240 A4 SEIZE PAR4
250 DEPART LINE
260 ADVANCE 15
270 RELEASE PAR4
280 BYBY TERMINATE
290 GENERATE 480
300 TERMINATE 1
310 START 1
Приложение 2. Комментарии к программе
Табл. П. 2.1
Номер строки | Номер блока | Описание | |
Генерация транзактов через каждые 6 минут | |||
Перемещение транзакта на метку MET1 | |||
Генерация транзактов через каждые 30 минут | |||
Проверка: длина очереди >=1 | |||
Занятие транзактом очереди LINE | |||
Определение рабочего пути транзакта | |||
Занятие транзактом устройства PAR1 | |||
Освобождение транзакта из очереди LINE | |||
Обработка транзакта устройством в течении 15 минут | |||
Освобождение транзактом устройства PAR1 | |||
Уничтожение транзакта | |||
Занятие транзактом устройства PAR2 | |||
Освобождение транзакта из очереди LINE | |||
Обработка транзакта устройством в течении 15 минут | |||
Освобождение транзактом устройства PAR2 | |||
Уничтожение транзакта | |||
Занятие транзактом устройства PAR3 | |||
Освобождение транзакта из очереди LINE | |||
Обработка транзакта устройством в течении 15 минут | |||
Освобождение транзактом устройства PAR3 | |||
Уничтожение транзакта | |||
Занятие транзактом устройства PAR4 | |||
Освобождение транзакта из очереди LINE | |||
Обработка транзакта устройством в течении 15 минут | |||
Освобождение транзактом устройства PAR4 | |||
Уничтожение транзакта | |||
Генерация работы модели в течении 480 минут (8 часов) | |||
Приложение 3. Поиск оптимального решения
Выходная статистика при работе парикмахерской с 3 мастерами:
START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY
0 480 18 2 0 13 072
LINE LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY
20 1 GENERATE 79 0 0
30 2 TRANSFER 79 0 0
50 3 GENERATE 16 0 0
60 4 TEST 16 0 0
70 MET1 QUEUE 95 0 0
80 6 TRANSFER 95 31 0
90 A1 SEIZE 32 0 0
100 8 DEPART 32 0 0
110 9 ADVANCE 32 1 0
120 10 RELEASE 31 0 0
130 11 TERMINATE 31 0 0
140 A2 SEIZE 32 0 0
150 13 DEPART 32 0 0
160 14 ADVANCE 32 1 0
170 15 RELEASE 31 0 0
280 BYBY TERMINATE 31 0 0
290 17 GENERATE 1 0 0
300 18 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY
PAR1 32 0.987 14.81 1 59 0 0 31 0
PAR2 32 0.975 14.62 1 60 0 0 31 0
QUEUE MAX CONT. ENTRIES ENTRIES (0) AVE.CONT. AVE. TIME AVE.(-0) RETRY
LINE 31 31 95 20 15.20 76.80 97.28 0
Выходная статистика при работе парикмахерской с 2 мастерами:
START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY
0 480 23 3 0 16 176
LINE LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY
20 1 GENERATE 80 0 0
30 2 TRANSFER 80 0 0
50 3 GENERATE 15 0 0
60 4 TEST 15 0 0
70 MET1 QUEUE 95 0 0
80 6 TRANSFER 95 1 0
90 A1 SEIZE 32 0 0
100 8 DEPART 32 0 0
110 9 ADVANCE 32 1 0
120 10 RELEASE 31 0 0
130 11 TERMINATE 31 0 0
140 A2 SEIZE 31 0 0
150 13 DEPART 31 0 0
160 14 ADVANCE 31 1 0
170 15 RELEASE 30 0 0
180 16 TERMINATE 30 0 0
190 A3 SEIZE 31 0 0
200 18 DEPART 31 0 0
210 19 ADVANCE 31 1 0
220 20 RELEASE 30 0 0
280 BYBY TERMINATE 30 0 0
290 22 GENERATE 1 0 0
300 23 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY
PAR1 32 0.981 14.72 1 96 0 0 1 0
PAR2 31 0.968 15.00 1 94 0 0 1 0
PAR3 31 0.962 14.90 1 95 0 0 1 0
QUEUE MAX CONT. ENTRIES ENTRIES (0) AVE.CONT. AVE. TIME AVE.(-0) RETRY
LINE 2 1 95 49 0.28 1.42 2.93 0