- •Министерство образования
- •Имитационное моделирование систем массового обслуживания
- •Порядок выполнения лабораторных работ
- •Лабораторная работа n1 моделирование систем массового обслуживания с одним прибором
- •Simulate
- •Simulate
- •Simulate
- •Лабораторная работа n2 mоделирование многоканальных систем
- •С и с т е м а б е з о т к а з о в
- •Лабораторная работа n3 моделирование многофазных систем
- •0,0/0.1,0.104/0.2,0.222/0.3,0.355/0.4,0.509
- •Фрагмент программы:
- •Лабораторная работа n4 mоделирование сложных систем
- •График функции покрытия
- •М о д е л и р о в а н и е с л о жн ы х с и с т е м с п о м о щ ь ю с е т е й п е т р и
- •Литература
- •Варианты заданий
Лабораторная работа n2 mоделирование многоканальных систем
Условия выполнения задания: введение ограничений на внутренние параметры системы (времена обслуживания); поиск оптимального варианта решения задачи в соответствии с выбранными критериями для систем без отказов и с отказами.
С и с т е м а б е з о т к а з о в
Сформулируем задание для системы массового обслуживания – парикмахерской так, чтобы она представляла многоканальную систему.
Постановка задачи
В парикмахерскую с 3 мастерами приходят клиенты двух типов. Клиенты первого типа желают только бриться, интервал времени их прихода равен 8±2 минуты. Клиенты второго типа хотят только стричься, они приходят в интервале 10±5 минут. Первый мастер является квалифицированным специалистом, он бреет и стрижёт, и к нему всегда очередь. На бритьё идет 7±3 минуты, на стрижку - 15±3 минуты. Второй мастер только бреет за 20±5 минуты, а третий только стрижёт за 20±5 минут. Все клиенты сначала идут к первому мастеру, если у него очередь больше 3 человек, то они отправляются к другим мастерам. Смоделировать работу парикмахерской в течение 8 часового рабочего дня без перерыва.
Ограничения на параметры системы
Исходные значения времен обслуживания системы (внутренние параметры) принимаем как средние значения. Вводим минимальное и максимальное значения для каждого параметра. Полученные интервалы времени обслуживания представляются как нормативы обслуживания. Поиск оптимального варианта осуществляется в области, определяемой нормативами обслуживания.
Нормативы обслуживания: первый мастер М1: стрижка – (10±3 – 18±3) мин, бритье – (5±3 – 10±3) мин; второй мастер М2 – (15±3 – 25±5) мин; третий мастер М3 – (15±5 – 25±5) мин.
Функциональная схема системы
Line11
М1
Клиенты второго типа
Line12
М2
М3
Line3
Таблица определений
Элементы GPSS |
Назначение |
Транзакты: |
|
1-й сегмент модели |
Клиенты на бритьё |
2-й сегмент модели |
Клиенты на стрижку |
3-й сегмент модели |
Таймер |
Приборы: |
|
М1 |
Мастер и бреет, и стрижёт |
М2 |
Мастер только бреет |
М3 |
Мастер только стрижёт |
Очереди: |
|
LINE11 |
Клиенты бриться к первому мастеру |
LINE12 |
Клиенты стричься к первому мастеру |
LINE2 |
Клиенты бриться ко второму мастеру |
LINE3 |
Клиенты стричься к третьему мастеру |
Исходный текст GPSS-программы
SIMULATE
GENERATE 8,2
IF Q$LINE12>3,MET2
MET1 QUEUE LINE12
SEIZE М1
DEPART LINE12
ADVANCE 7,3
RELEASE M1
GOTO PAR
MET2 QUEUE LINE2
SEIZE M2
DEPART LINE2
ADVANCE 20,5
RELEASE M2
GOTO PAR
GENERATE 10,5
IF Q$LINE11>3,MET4
MET3 QUEUE LINE11
SEIZE M1
DEPART LINE11
ADVANCE 15,3
RELEASE M1
GOTO PAR
MET4 QUEUE LINE3
SEIZE M3
DEPART LINE3
ADVANCE 20,5
RELEASE M3
PAR TERMINATE
GENERATE 480
TERMINATE 1
START 1
END
Клиенты первого типа приходят бриться к первому мастеру М1, если очередь к нему превышает 3 человека, то они переходят (метка МЕТ2) ко второму мастеру по бритью (М2), затем обслуживание и выход из парикмахерской (метка PAR).
Клиенты второго типа приходят стричься к первому мастеру М1, если очередь стричься превышает 3 человека, то они идут (метка МЕТ4) к третьему мастеру по стрижке (М3), затем обслуживание и выход из парикмахерской (метка PAR).
Выходные данные программы
Facility Average Number Average
utilization entries time/tran
M1 .99 44 10.77
M2 .86 21 19.64
M3 .83 20 19.99
Queue Maximum Average Total Zero Percent
(AD set) contents contents entries entries zeros
LINE11 4 3.46 25 0 .00
LINE12 4 3.54 27 1 3.70
LINE2 12 4.54 32 1 3.13
LINE3 5 2.39 24 2 8.33
Queue Average $Average Current
(AD set) time/trans time/trans contents
LINE11 66.51 66.51 4
LINE12 62.89 65.31 4
LINE2 68.07 70.27 11
LINE3 47.70 52.04 4
Полученные результаты показывают, что в парикмахерской второй мастер имеет самую большую очередь. Скорректируем работу парикмахерской, изменив время обслуживания вторым мастером в заданных пределах с 205 до 15±3 минуты.
Queue Maximum Average Total Zero Percent
(AD set) contents contents entries entries zeros
LINE11 4 3.47 25 0 .00
LINE12 4 3.51 26 1 3.85
LINE2 7 3.21 34 1 2.94
LINE3 5 1.72 24 3 12.50
Очередь ко второму мастеру остается большой. Чтобы уменьшить ее, поставим параллельно второму мастеру М2 с временем обслуживания 153 ещё одного мастера М4 с временем обслуживания (255) .
Фрагмент программы:
MET2 IF Q$LINE2>3,MET21
***********
MET21 QUEUE LINE4
SEIZE M4
DEPART LINE4
ADVANCE 25,5
RELEASE M4
GOTO PAR
Результаты выполнения измененной программы
Facility Average Number Average
utilization entries time/tran
M1 .99 44 10.77
M2 .86 27 15.28
M4 .16 3 24.90
M3 .83 20 20.02
Queue Maximum Average Total Zero Percent
(AD set) contents contents entries entries zeros
LINE12 4 3.46 27 1 3.70
LINE2 4 2.38 30 1 3.33
LINE4 1 .00 3 2 66.67
LINE11 4 3.43 25 0 .00
LINE3 3 .93 22 1 4.55
Queue Average $Average Current
(AD set) time/trans time/trans contents
LINE12 61.49 63.85 4
LINE2 38.05 39.36 3
LINE4 .96 2.89 0
LINE11 65.87 65.87 4
LINE3 20.39 21.36 2
По результатам выполнения программы видно, что добавленный мастер М4 имеет низкую загрузку, поэтому распределим загрузку между мастерами М2 и М4 равномерно, изменив время работы второго мастера с 153 на 255 мин.
Результаты выполнения программы
Facility Average Number Average
utilization entries time/tran
M1 .99 44 10.77
M2 .86 17 24.27
M4 .63 13 23.44
M3 .81 19 20.38
Queue Maximum Average Total Zero Percent
(AD set) contents contents entries entries zeros
LINE11 4 3.41 26 0 .00
LINE12 4 3.53 26 1 3.85
LINE2 4 2.84 20 1 5.00
LINE3 2 .32 19 6 31.58
LINE4 2 .26 15 2 13.33
Queue Average $Average Current
(AD set) time/trans time/trans contents
LINE11 62.97 62.97 4
LINE12 65.18 67.79 4
LINE2 68.20 71.79 3
LINE3 8.20 11.99 0
LINE4 8.24 9.51 2
Такое сочетание значений параметров определяет оптимальный вариант. Итак, для оптимальной конфигурации исходной системы при заданной плотности 82 для первого и 105 для второго входных потоков необходимо четыре мастера: М1 с временем обслуживания 73 и 153; М2 с временем обслуживания 255; М3 с временем обслуживания 205; М4 с временем обслуживания 255.
С и с т е м а с о т к а з а м и
Система с отказами имеет те же характеристики, но отличается от предыдущей модели добавлением блоков OUT1 и OUT2 для подсчета не обслуженных клиентов, количество которых не должно превышать 5-10%.
Функциональная схема системы
Line11
М1
Клиенты второго типа
Line12
М2
Line2
М3
OUT1 OUT2 Line3
Исходный текст GPSS-программы
SIMULATE
GENERATE 8,2
MET1 IF Q$LINE12>3, MET2
QUEUE LINE12
SEIZE M1
DEPART LINE12
ADVANCE 7,3
RELEASE M1
GOTO PAR
МET2 IF Q$LINE2>3, OUT1
QUEUE LINE2
SEIZE M2
DEPART LINE2
ADVANCE 20,5
RELEASE M2
GOTO PAR
GENERATE 10,5
MET3 IF Q$LINE11>3, MET4
QUEUE LINE11
SEIZE M1
DEPART LINE11
ADVANCE 15,3
RELEASE M1
GOTO PAR
MET4 IF Q$LINE3>3, OUT2
QUEUE LINE3
SEIZE M3
DEPART LINE3
ADVANCE 20,5
RELEASE M3
GOTO PAR
OUT1 SAVEVALUE A+,1,XF
TERMINATE
GOTO STOP
OUT2 SAVEVALUE B+,1,XF
TERMINATE
GOTO STOP
PAR TERMINATE
STOP
GENERATE 480
TERMINATE 1
START 1
END
Выходные данные программы
Facility Average Number Average
utilization entries time/tran
M1 .99 44 10.77
M2 .86 21 19.64
M3 .83 20 19.99
Queue Maximum Average Total Zero Percent
(AD set) contents contents entries entries zeros
LINE12 4 3.54 27 1 3.70
LINE2 4 2.55 24 1 4.17
LINE11 4 3.46 25 0 .00
LINE3 4 2.15 23 2 8.70
Queue Average $Average Current
(AD set) time/trans time/trans contents
INE12 62.89 65.31 4
LINE2 51.08 53.30 3
INE11 66.51 66.51 4
LINE3 44.78 49.04 3
Contents of savevalues (non-zero)
Savevalue name Value
A 8.00
B 1.00
За установленное время было обслужено 85 клиентов, 9 отказано. По результатам видно, что большее количество отказов было сделано клиентам, которые пришли побриться. Скорректируем работу парикмахерской, изменив время обслуживания вторым мастером М2 в заданных пределах с 205 до 15±3 мин.
Выходные данные измененной программы
Facility Average Number Average
utilization entries time/tran
M1 .99 43 11.02
M2 .86 27 15.28
M3 .82 20 19.75
Queue Maximum Average Total Zero Percent
(AD set) contents contents entries entries zeros
LINE12 4 3.51 26 1 3.85
LINE2 4 2.30 31 1 3.23
LINE11 4 3.47 25 0 .00
LINE3 4 1.64 23 3 13.04
Queue Average $Average Current
(AD set) time/trans time/trans contents
LINE12 64.85 67.44 4
LINE2 35.69 36.88 4
LINE11 66.71 66.71 4
LINE3 34.22 39.35 3
Contents of savevalues (non-zero)
Savevalue name Value
A 3.00
B 1.00
Данный вариант устраивает, так как за установленное время было обслужено 90 клиентов, 4 отказа, это составляет меньше 10%, что вполне допустимо.