- •1 Имитационное моделирование системы массового обслуживания
- •1.1 Анализ динамики функционирования смо
- •1.2 Формализация модели смо средствами gpss
- •1.3 Имитационное моделирование смо в среде gpss World
- •Общая информация о результатах работы модели:
- •Информация о блоках:
- •Информация об объектах типа «устройство»:
- •Информация об объектах типа «очередь»
- •Информация о сохраняемых величинах (ячейках)
- •2 Анализ и оптимизация системы массового обслуживания
- •2.1 Формализация модели смо для задач анализа и оптимизации
- •2.2 Модификация имитационной модели
- •2.3 Реализация модельных экспериментов и анализ результатов
2 Анализ и оптимизация системы массового обслуживания
2.1 Формализация модели смо для задач анализа и оптимизации
В качестве дополнительных задач анализа и оптимизации функционирования СМО заданием на курсовое проектирование определены следующие задачи:
-
вероятность формирования пакета каждого типа;
-
коэффициенты использования устройств обслуживания S1 и S2 отдельно по заявкам каждого типа и пакетам.
Рассмотрим способы решения задач анализа и оптимизации и, при необходимости, дополнительную формализацию модели СМО.
Решение первой задачи анализа – определение вероятности формирования пакета – не требует дополнительной формализации. Задача решается модификацией имитационной модели СМО в GPSS World, состоящей во введении дополнительных счетчиков. Т.к. всего имеется 3 типа заявок, то всего может получиться 6 различных комбинации заявок в пакете (1-1, 1-2, 1-3, 2-2, 2-3 и 3-3).
Во второй задачи анализа – определения коэффициентов обслуживания устройств S1 и S2 отдельно по заявкам каждого типа и пакетам – требуется так же ввести некоторые дополнительные счетчики времени обслуживания заявок каждого типа и пакетов в отдельности.
2.2 Модификация имитационной модели
Рассмотрим принципиальные особенности модификаций исходной имитационной вероятностной модели СМО в среде GPSS World, реализованных для решения задач анализа и оптимизации.
При решении первой задачи анализа для сбора информации о сформированных пакетах необходимо проинициализировать дополнительные переменные, а так же добавить блок, регистрирующий формирования пакетов каждого типа. Для определения типа пакета будем использовать счетчик. При добавлении в пакет заявки типа 1 счетчик увеличивается на 1, при добавлении заявки 2 типа – 5, 3 типа – 10. После формирования пакета содержимое счетчика анализируется, после чего происходит увеличение соответствующего счетчика пакетов.
Модифицированные фрагменты имитационной вероятностной модели СМО, использованной для решения первой задачи анализа, в среде GPSS World имеют следующий вид.
********** Инициализация переменных **********
INITIAL X$Counter,0 ;счетчик типа
INITIAL X$CP11,0 ;счетчик пакетов типа 11
INITIAL X$CP12,0 ;счетчик пакетов типа 12
INITIAL X$CP13,0 ;счетчик пакетов типа 13
INITIAL X$CP22,0 ;счетчик пакетов типа 22
INITIAL X$CP23,0 ;счетчик пакетов типа 23
INITIAL X$CP33,0 ;счетчик пакетов типа 33
******** УСТРОЙСТВО S1 ********
To_S1 TEST E BV$BVAR,1,To_S12 ;проверка коэф. использования устройства S1
TEST E P$C,1,LP2 ;проверка типа заявки
SAVEVALUE Counter+,1 ;увеличение счетчика
TRANSFER ,To_Pak ;переход к формированию пакета
LP2 TEST E P$C,2,LP3 ;проверка типа заявки
SAVEVALUE Counter+,5 ;увеличение счетчика
TRANSFER ,To_Pak ;переход к формированию пакета
LP3 SAVEVALUE Counter+,10 ;увеличение счетчика
To_Pak ASSEMBLE 2 ;формирование пакета из 2-х заявок
TEST E X$Counter,2,LP12 ;проверка счетчика
SAVEVALUE CP11+,1 ;увеличение счетчика пакетов типа 11
TRANSFER ,DALEE ;переход к след. устройству
LP12 TEST E X$Counter,6,LP22 ;проверка счетчика
SAVEVALUE CP12+,1 ;увеличение счетчика пакетов типа 12
TRANSFER ,DALEE ;переход к след. устройству
LP22 TEST E X$Counter,10,LP13 ;проверка счетчика
SAVEVALUE CP22+,1 ;увеличение счетчика пакетов типа 22
TRANSFER ,DALEE ;переход к след. устройству
LP13 TEST E X$Counter,11,LP23 ;проверка счетчика
SAVEVALUE CP13+,1 ;увеличение счетчика пакетов типа 13
TRANSFER ,DALEE ;переход к след. устройству
LP23 TEST E X$Counter,15,LP33 ;проверка счетчика
SAVEVALUE CP23+,1 ;увеличение счетчика пакетов типа 23
TRANSFER ,DALEE ;переход к след. устройству
LP33 SAVEVALUE CP33+,1 ;увеличение счетчика пакетов типа 33
Для решения второй задачи необходимо так же введение дополнительных счетчиков суммарного времени обслуживания для заявок каждого типа и пакетов. Коэффициент обслуживания заявок каждого типа и пакетов определим по формуле:
(3)
где ti – время обработки одной заявки или пакета i-го типа (где тип 1-заявка А…);
tм – общее время моделирования.
Модифицированные фрагменты имитационной вероятностной модели СМО, использованной для решения второй задачи анализа, в среде GPSS World имеют следующий вид.
********** Инициализация переменных **********
INITIAL X$S1_1,0 ;время обслуживания заявок типа 1 в устройстве S1
INITIAL X$S1_2,0 ;время обслуживания заявок типа 2 в устройстве S1
INITIAL X$S1_3,0 ;время обслуживания заявок типа 3 в устройстве S1
INITIAL X$S2_1,0 ;время обслуживания заявок типа 1 в устройстве S2
INITIAL X$S2_2,0 ;время обслуживания заявок типа 2 в устройстве S2
INITIAL X$S2_3,0 ;время обслуживания заявок типа 3 в устройстве S2
INITIAL X$S1_P,0 ;время обслуживания пакетов в устройстве S1
INITIAL X$S2_P,0 ;время обслуживания пакетов в устройстве S2
******** УСТРОЙСТВО S1 ********
To_S12 QUEUE Q_S1 ;поступление в очередь устройства S1
SEIZE U_S1 ;занимаем устройство S1
DEPART Q_S1 ;извлечение заявки из очереди устройства S1
MARK Y ;фиксация времени начала обслуживания
ADVANCE(Gamma(1,0,0.1724,2)) ;обслуживание
MARK Z ;фиксация времени завершения обслуживания
TEST E P$C,1,QWE21 ;проверка типа заявки
SAVEVALUE S1_1+,(P$Z-P$Y) ;увеличение счетчика
TRANSFER ,REL ;переход к след. устройству
QWE21 TEST E P$C,2,QWE31 ;проверка типа заявки
SAVEVALUE S1_2+,(P$Z-P$Y) ;увеличение счетчика
TRANSFER ,REL ;переход к след. устройству
QWE31 TEST E P$C,3,QWE41 ;проверка типа заявки
SAVEVALUE S1_3+,(P$Z-P$Y) ;увеличение счетчика
TRANSFER ,REL ;переход к след. устройству
QWE41 SAVEVALUE S1_P+,(P$Z-P$Y) ;увеличение счетчика
REL RELEASE U_S1 ;освобождение устройства S1
******** УСТРОЙСТВО S2 ********
To_S2 QUEUE Q_S2 ;поступление в очередь устройства S2
SEIZE U_S2 ;занимаем устройство S2
DEPART Q_S2 ;извлечение заявки из очереди устройства S2
MARK Y ;фиксация времени начала обслуживания
ADVANCE(Exponential(1,0,1/(X$Cnt/0.45))) ;обслуживание
MARK Z ;фиксация времени завершения обслуживания
TEST E P$C,1,QWE22 ;проверка типа заявки
SAVEVALUE S2_1+,(P$Z-P$Y) ;увеличение счетчика
TRANSFER ,REL2 ;переход к след. устройству
QWE22 TEST E P$C,2,QWE32 ;проверка типа заявки
SAVEVALUE S2_2+,(P$Z-P$Y) ;увеличение счетчика
TRANSFER ,REL2 ;переход к след. устройству
QWE32 TEST E P$C,3,QWE42 ;проверка типа заявки
SAVEVALUE S2_3+,(P$Z-P$Y) ;увеличение счетчика
TRANSFER ,REL2 ;переход к след. устройству
QWE42 SAVEVALUE S2_P+,(P$Z-P$Y) ;увеличение счетчика
REL2 RELEASE U_S2 ;освобождение устройства S2