Лабораторная работа №11 / LAB1
.DOCМинистерство общего и профессионального образования
Санкт-Петербургский Государственный Электротехнический Университет
Кафедра автоматизированных систем обработки информации и управления
Отчет
по лабораторной работе № 1:
"Исследование элементов системы моделирования GPSS
на имитационных моделях процессов
массового обслуживания".
Вариант № 5
Выполнили: Гудков И.В.
Демаков О.А.
Снежко А.Л.
гр.: 7331
Проверил: Яковлев С.А.
Санкт-Петербург
2000
Цель работы: изучение особенностей использования для проведения машинных экспериментов статистической категории объектов пакета GPSS/PC, освоение навыков их практического применения при решении задач моделирования систем, формализуемых в виде схем массового обслуживания.
Краткие сведения о пакете GPSS/PC
Пакет моделирования дискретных систем GPSS/PC построен в предположении, что моделью сложной дискретной системы является описание ее элементов и логических правил их взаимодействия в процессе функционирования моделируемой системы. Предполагается также, что для определенного класса моделируемых систем можно выделить небольшой набор абстрактных элементов - объектов. Причем набор логических правил также ограничен и может быть описан небольшим числом стандартных операций. Комплекс программ, описывающих функционирование объектов и выполняющих логических операций, является основой для создания программной модели системы данного класса.
Объекты GPSS подразделяются на семь категорий и 14 типов. Объекты GPSS позволяют описать их взаимодействие сравнительно несложными наборами операций и достаточно просто и наглядно представить процесс функционирования исследуемой системы S, формализуемой в виде Q-схемы, с помощью этих объектов языка.
Кроме того, для облегчения пользователю процесса построения модели в GPSS разработан язык блок-диаграмм, позволяющий упростить переход от алгоритма к программе модели системы S. Каждый блок GPSS имеет свой графический аналог. С помощью набора графических аналогов отображается пространственная конструкция модели, упрощая дальнейшую линеаризацию программы модели.
Построение блок-диаграмм знакомит программиста с набором операторов языка. Набор операторов языка однозначно соответствует набору блоков для описания блок-диаграммы. Вследствие этого очевидно, что построение блок-диаграммы является не самоцелью, а лишь промежуточным этапом при написании имитационной модели исследуемой системы с использованием операторов языка GPSS/PC. При этом процесс создания модели можно изобразить в виде схемы, показанной на рис. 1.
Исходное описание моделируемой системы
S
Перевод блок-диаграммы
в программу на GPSS/PC
Декомпозиция системы
в виду блок-диаграммы GPSS
Формализация системы
в терминах
Q-схем
Рис. 1. Процесс создания модели с использованием GPSS
Основой GPSS являются программы, описывающие функционирование выделенного конечного набора объектов, и специальная диспетчирующая программа - симулятор, основные функции которого следующие:
-
обеспечение заданных программистом маршрутов продвижения динамических объектов, называемых далее транзактами (сообщениями);
-
планирование событий, происходящих в модели, путем регистрации времени наступления каждого события и выполнения их в нарастающей временной последовательности;
-
регистрация статистической информации о функционировании модели;
-
продвижение модельного времени в процессе моделирования системы.
В работе используются следующие обозначения:
И - источник заявок;
Н - накопитель заявок;
К - канал обслуживания;
LA(i) - интенсивность i-го потока заявок (потоки заявок в данной лабораторной работе считаются распределенными по пуассоновскому закону);
MU(j) - интенсивность обслуживания в j-м канале;
l(k) - емкость k-го накопителя.
Для расчета недостающих параметров системы необходимо воспользоваться аппаратом теории массового обслуживания. Ограничением является необходимость установления стационарного режима загрузки системы RO<1.
Задания к работе
Задание 1. Построить модель варианта Q-cхемы, представленной на рис. 2., и обеспечить сбор статистических данных о процессе функционирования исследуемого варианта системы.
Смоделировать процесс функционирования Q-схемы на интервале времени (0,Т), где Т=1000 единиц времени (ед. вр.).
И1 Н1
К1
И2 Н2
LA(1)=LA(2)=0.1 l(1)=l(2)=10 MU(1)=…
Рис. 2. Исследуемая Q-схема
Задание 2. Необходимо исследовать на машинной модели Q-схему, структура которой приведена на рис. 3. Исследуемая система представляет собой двухфазную Q-схему с отказами. В качестве выходных потоков системы рассматриваются: потоки обслуженных заявок NO и потерянных заявок двух типов N1 и N2. Предполагается, что интервалы времени между моментами поступления заявок из источников И1 и И2 имеют экспоненциальное распределение, а время обслуживания в каналах К1, К2 и К3 постоянно.
Интенсивности поступления заявок из источников И1 и И2 соответственно равны LA(1) = 0,02 1/ед. вр. и LA(2) = 0,04 1/ед. вр., а емкости накопителей Н1, Н2, Н3 и Н4 - L(1) = L(3) = L(4) = 10 и L(2) = 20. Время обслуживания заявок в каналах К1, К2 и К3 задано в исходной программе. Заявки от источников И1 и И2 обслуживаются каналами К2 и К3 соответственно.
И1 Н1 Н3 К2
К1
И2 Н2 Н4 К3
Рис. 3. Структура системы к заданию 2
Необходимо провести моделирование процесса функционирования данной Q-схемы на интервале времени (0, Т), Т = 1000 ед. вр.
Необходимо в исходную программу, текст которой приведен на рис. 4, внести изменения, обеспечивающие определение вероятностей переполнения накопителей Q-схемы:
010 SIMULATE
020 EXPON FUNCTION RN1,C24
0,0/.100,.104/.200,.222/.300,.355/.400,.509
.500,.690/.600,.915/.700,1.200/.750,1.380
.800,1.600/.840,1.830/.880,2.120/.900,2.300
.920,2.520/.940,2.810/.950,2.990/.960,3.200
.970,3.500/.980,3.900/.990,4.600/.995,5.300
.998,6.200/.999,7/1,8
090 SVE1 EQU 1
100 SVE2 EQU 2
110 SVE3 EQU 3
120 SVE4 EQU 4
130 SVE1 STORAGE 10
140 SVE2 STORAGE 20
150 SVE3 STORAGE 10
160 SVE4 STORAGE 10
170 GENERATE 50,FN$EXPON
180 ASSIGN 1,1
190 ENTER 1,1
200 TRANSFER ,WAY
210 GENERATE 25,FN$EXPON
220 ASSIGN 1,2
230 ENTER 2,1
240 WAY SEIZE 1
250 LEAVE P1
260 ADVANCE 17
270 RELEASE 1
280 TEST E P1,1,KAN3
290 ENTER 3,1
300 SEIZE 2
310 LEAVE 3,1
320 ADVANCE 50
330 RELEASE 2
340 TERMINATE
350 KAN3 ENTER 4,1
360 SEIZE 3
370 LEAVE 4,1
380 ADVANCE 25
390 RELEASE 3
400 TERMINATE
410 GENERATE 1,,1000
420 TERMINATE 1
430 START 1
440 END
Рис. 4. Текст исходной программы для выполнения задания 2
Выполнение работы
Задание 1. Исходя из заданных условий и необходимости обеспечения ограничений по загрузке системы RO = 1, получаем MU(1) = 50 сообщений.
Текст соответствующей GPSS-программы приведен на рис. 5. Результаты моделирования, выведенные на печать, показаны на рис. 6.
При помощи статистической таблицы строится функция распределения выходного потока заявок Q-схемы, гистограмма которой выведена на печать (рис. 7).
010 SIMULATE
020 EXPON FUNCTION RN1,C24
0,0/.100,.104/.200,.222/.300,.355/.400,.509
.500,.690/.600,.915/.700,1.200/.750,1.380
.800,1.600/.840,1.830/.880,2.120/.900,2.300
.920,2.520/.940,2.810/.950,2.990/.960,3.200
.970,3.500/.980,3.900/.990,4.600/.995,5.300
.998,6.200/.999,7/1,8
090 TBL1 TABLE AC1,100,100,10
100 SVE1 EQU 1
110 SVE2 EQU 2
120 SVE1 STORAGE 10
130 SVE2 STORAGE 10
140 GENERATE 10,FN$EXPON
150 ASSIGN 1,1
160 ENTER 1
170 TRANSFER ,WAY
180 GENERATE 10,FN$EXPON
190 ASSIGN 1,2
200 ENTER 2
210 WAY SEIZE 1
220 LEAVE P1
230 ADVANCE 50
240 RELEASE 1
250 TABULATE TBL1
260 TERMINATE
270 GENERATE 1,,1000
280 TERMINATE 1
290 START 1
300 WINDOW TABLES
Рис. 5. Текст программы моделирования Q-схемы
FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY
1 20 0.996 49.80 1 23 0 0 0 20
STORAGE CAP. REMAIN. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
1 10 0 0 10 22 1 9.60 0.961 0 89
2 10 0 0 10 18 1 9.07 0.907 0 94
TABLE MEAN STD.DEV. RETRY RANGE FREQUENCY CUM.%
TBL1 504.00 281.37 0
- 100 1 5.26
100 - 200 2 15.79
200 - 300 2 26.32 300 - 400 2 36.84
400 - 500 2 47.37
500 - 600 2 57.89
600 - 700 2 68.42
700 - 800 2 78.95
800 - 900 2 89.47
900 - 2 100.00
Рис. 6. Результаты моделирования Q-схемы
TBL1
Mean: 504.00
S.D.: 281.37
10
-
¦
¦
¦
¦
+
¦
¦
¦ __ __ __ __ __ __ __ __ __
¦ __ __ __ __ __ __ __ __ __ __
+-------------------------------------------------------------------+
¦ 100 300 500 700 900 ¦
¦ 200 400 600 800 ¦
+-------------------------------------------------------------------------------
Рис. 7. Гистограмма результатов моделирования выходного потока
Задание 2. Необходимо определить вероятности переполнения накопителей. Текст получившийся программы представлен на рис.8.
010 SIMULATE
020 EXPON FUNCTION RN1,C24
0,0/.100,.104/.200,.222/.300,.355/.400,.509
.500,.690/.600,.915/.700,1.200/.750,1.380
.800,1.600/.840,1.830/.880,2.120/.900,2.300
.920,2.520/.940,2.810/.950,2.990/.960,3.200
.970,3.500/.980,3.900/.990,4.600/.995,5.300
.998,6.200/.999,7/1,8
090 INITIAL X1,0
100 INITIAL X2,0
110 INITIAL X3,0
120 INITIAL X4,0
130 VER1 FVARIABLE 100#X1/SC1
140 VER2 FVARIABLE 100#X2/SC2
150 VER3 FVARIABLE 100#X3/SC3
160 VER4 FVARIABLE 100#X4/SC4
170 SVE1 EQU 1
180 SVE2 EQU 2
190 SVE3 EQU 3
200 SVE4 EQU 4
210 SVE1 STORAGE 10
220 SVE2 STORAGE 20
230 SVE3 STORAGE 10
240 SVE4 STORAGE 10
250 GENERATE 50,FN$EXPON
260 ASSIGN 1,1
270 GATE SF 1,MRK1
280 SAVEVALUE 1+,1
290 MRK1 ENTER 1,1
300 TRANSFER ,WAY
310 GENERATE 25,FN$EXPON
320 ASSIGN 1,2
330 GATE SF 2,MRK2
340 SAVEVALUE 2+,1
350 MRK2 ENTER 2,1
360 WAY SEIZE 1
370 LEAVE P1
380 ADVANCE 17
390 RELEASE 1
400 TEST E P1,1,KAN3
410 GATE SF 3,MRK3
420 SAVEVALUE 3+,1
430 MRK3 ENTER 3,1
440 SEIZE 2
450 LEAVE 3,1
460 ADVANCE 50
470 RELEASE 2
480 TERMINATE
490 KAN3 GATE SF 4,MRK4
500 SAVEVALUE 4+,1
510 MRK4 ENTER 4,1
520 SEIZE 3
530 LEAVE 4,1
540 ADVANCE 25
550 RELEASE 3
560 TERMINATE
570 GENERATE 1,,10000
580 SAVEVALUE 5,V$VER1
590 SAVEVALUE 6,V$VER2
600 SAVEVALUE 7,V$VER3
610 SAVEVALUE 8,V$VER4
620 TERMINATE 1
630 START 1
640 END
Рис.8. Программа, реализующая задание 2 с изменениями
FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY
1 585 0.993 16.99 1 590 0 0 0 30
2 182 0.909 49.99 1 573 0 0 0 2
3 396 0.989 24.99 1 583 0 0 0 4
STORAGE CAP. REMAIN. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
1 10 0 0 10 194 1 6.16 0.616 0 3
2 20 0 0 20 421 1 12.59 0.629 0 2
3 10 8 0 5 184 1 1.62 0.162 0 0
4 10 6 0 10 400 1 6.21 0.621 0 0
SAVEVALUE VALUE RETRY
1 +82 0
2 +126 0
3 +0 0
4 +34 0
5 +42 0
6 +29 0
7 +0 0
8 +8 0
Рис. 9. Результаты моделирования
Вероятность переполнения накопителя Н1 равна 42%, Н2 - 29%, Н3 - 0 и Н4 - 8%.