Моделирование работы потока клиентов в парикмахерской

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

данные, примеры, основные принципы моделирования.

Для построения математической модели воспользуемся формулами и приме-рами расчетов, рассмотренными в учебнике Вентцель Е.С. Исследование операций.

 

ОСНОВНАЯ ЧАСТЬ

 

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