Моделирование работы потока клиентов в парикмахерской
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
данные, примеры, основные принципы моделирования.
Для построения математической модели воспользуемся формулами и приме-рами расчетов, рассмотренными в учебнике Вентцель Е.С. Исследование операций.
ОСНОВНАЯ ЧАСТЬ
1.Описание моделируемой системы
По условию задачи клиенты приходят в парикмахерскую по следующему графику: из первого потока приходит 10 клиентов в час, из второго - 2 клиента в час. В парикмахерской работает 4 мастера. Каждый мастер обслуживает клиента за 15 минут. Если свободных мастеров нет, то клиенты из первого потока становятся в очередь, а клиенты из второго потока - уходят из парикмахерской.
2.Структурная схема системы и ее описание
Рис.2.1. Структурная схема процесса функционирования парикмахерской
Анализ условия задачи и структурной схемы позволяет сказать, что в процессе обслуживания клиентов возможны следующие ситуации:
1)Режим нормального обслуживания клиентов - когда клиенты, приходящие в парикмахерскую с обоих потоков поступают на обслуживание, если в данный момент есть свободный мастер;
2)Режим занятия очереди клиентами из первого потока, случае отсутствия свободных мастеров;
)Режим отказа в обслуживании клиентам из второй очереди, в случае отсутствия свободных мастеров.
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
480 28 4 0 15600LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY
1 GENERATE 80 0 0
2 TRANSFER 80 0 0
3 GENERATE 15 0 0
4 TEST 15 0 0
MET1 QUEUE 95 0 0
6 TRANSFER 95 0 0
A1 SEIZE 27 0 0
8 DEPART 27 0 0
9 ADVANCE 27 1 0
10 RELEASE 26 0 0
11 TERMINATE 26 0 0
A2 SEIZE 27 0 0
13 DEPART 27 0 0
14 ADVANCE 27 1 0
15 RELEASE 26 0 0
16 TERMINATE 26 0 0
A3 SEIZE 26 0 0
18 DEPART 26 0 0
19 ADVANCE 26 1 0
20 RELEASE 25 0 0
21 TERMINATE 25 0 0
A4 SEIZE 15 0 0
23 DEPART 15 0 0
24 ADVANCE 15 0 0
25 RELEASE 15 0 0
BYBY TERMINATE 15 0 0
27 GENERATE 1 0 0
28 TERMINATE 1 0 0ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY27 0.825 14.67 1 96 0 0 0 027 0.812 14.44 1 97 0 0 0 026 0.806 14.88 1 95 0 0 0 015 0.468 15.00 1 0 0 0 0 0MAX CONT. ENTRIES ENTRIES(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
LINE 1 0 95 95 0.00 0.00 0.00 0
&nb