logo

3.2.1. Модель работы парикмахерской

В качестве простого примера, описывающего реальную систему, рассмотрим модель работы парикмахерской. Прежде всего, нам нужна информация о параметрах системы: потоке клиентов, наличии рабочих площадей, затратах времени и материалов парикмахерами и т.д. Допустим, что парикмахерская работает в течение 10 часов в день. Среднее число клиентов в каждый час работы приведено в табл. 3.1. Время работы парикмахера с одним клиентом зависит от различных факторов, квалификации и опыта работника, состояния волос клиента и др. Допустим, что все работники обладают примерно одинаковыми навыками и единственным существенным различием. Фактором, влияющим на время обслуживания, является пол клиента. Предположим, что распределение времени обслуживания мужчин можно аппроксимировать треугольной функцией распределения с минимальным, наиболее вероятным, и максимальным значениями 4, 6 и 8 минут соответственно. Для женщин примем соответствующие параметры функции распределения: 9, 11 и 14 минут.

Таблица 3.1

Прибытие клиентов в парикмахерскую

Час работы

1

2

3

4

5

6

7

8

9

10

Среднее

количество клиентов

5

6

8

10

10

10

9

7

5

3

На рис. 3.9 представлена модель, описывающая работу парикмахерской. Назовём эту модель BarberShop1. Установим в ней нужные параметры. В блоке Create в поле Name напечатайте Arrival, в поле Entity Type – Client (Клиент), в поле Type выберите значение параметра Schedule, в поле Schedule Name запишите название расписания прибытия клиентов – ArrivalSchedule, а в поле Max Arrivals – Infinite (рис. 3.10).

Рис. 3.9. Модель, описывающая работу парикмахерской

Рис. 3.10. Параметры блока Create

После блока Create следует поставить блок Decide, который будет разделять клиентов на мужчин и женщин. Будем считать, что мужчины чередуются с женщинами случайным образом и соотношение полов составляет 50 на 50. Поэтому в диалоговом окне блока Decide в поле Type выберем 2-way by Chance (что означает два варианта, чередующихся случайным образом), а в поле Percent True (0-100) – 50 % (рис. 3.11).

Рис. 3.11. Параметры блока Decide

Дальше идут два блока Assign (Присвоить). Они нужны для того чтобы установить параметры, по которым мужчины и женщины будут различаться далее в программе. Итак, в одном блоке Assign, открыв диалог заполнения поля Assignments, установим в поле Type – Attribute, в поле Attribute Nameduration и в поле New Value – TRIA(4,6,8) (рис. 3.12). Сделанные установки означают, что каждому клиенту, опознанному как мужчина, заранее присваивается время, которое уйдёт на его обслуживание. Подобным же образом мы поступаем с клиентами женского пола в другом блоке Assign, где соответственно надо установить другие параметры функции распределения: TRIA(9,11,14) (рис. 3.13).

Рис. 3.12. Параметры диалога Assignments в блоке Assign

В блоке Process, открыв диалог заполнения поля Resources, заполняем его так, как показано на рис. 3.14 (здесь Barber означает парикмахер). Далее, в поле Delay Type выберем Expression, а в поле Expression напишем Duration. Заполнение других полей не должно вызывать вопросов. Окончательный вид окна ввода параметров блока Process представлен на рис. 3.15. С заполнением единственного поля параметров бока Dispose также не должно возникать проблем.

Рис. 3.13. Параметры второго блока Assign

  

Рис. 3.14. Окно Resources в блоке Process

Рис. 3.15. Параметры блока Process

Для завершения модели надо заполнить расписание Arrival Schedule. Для этого сделайте щелчок левой клавишей мыши на модуле Schedule в окне проекта. В окне таблиц появится таблица расписаний. Есть два способа заполнения расписаний: при помощи таблицы и через диалог. В первом случае можно открыть таблицу щелчком левой клавишей мыши на кнопке 0 rows в колонке Durations. Настройка таблицы производится в процессе диалога, инициированного нажатием кнопки Options. Мы пока сможем обойтись параметрами настройки, установленными по умолчанию. Среднее число прибывающих клиентов в расчете на один час устанавливается наведением курсора на соответствующую отметку таблицы и щелчком левой клавишей мыши.

Примечание. Цифры на оси Y означают средние значения числа объектов, входящих в систему в расчете на промежуток времени в один час, независимо от масштаба оси X.

Заполненное, согласно табл. 3.1, расписание выглядит так, как показано на рис. 3.16. Чтобы редактировать расписание через диалог, надо сделать щелчок на клавише 0 rows правой клавишей мыши и выбрать команду: Edit via Dialog в появившемся меню. На рис. 3.17 приведён вид заполненного, в соответствии с табл. 3.1, диалогового окна Schedule.

Рис. 3.16. Параметры расписания ArrivalSchedule.

Рис. 3.17. Вид заполненного диалога Schedule

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4