Задание на лабораторные работы, страница 11
Описание файла
Документ из архива "Задание на лабораторные работы", который расположен в категории "". Всё это находится в предмете "моделирование систем" из 8 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "моделирование систем" в общих файлах.
Онлайн просмотр документа "Задание на лабораторные работы"
Текст 11 страницы из документа "Задание на лабораторные работы"
Анализ однофазной однолинейной системы обслуживания типа M/M/1.
Пример 1. В систему поступают требования по закону Пуассона с интенсивностью . Обслуживание требований происходит по экспоненциальному закону с интенсивностью
. Смоделировать функционирование системы по обслуживанию 500 требований. Осуществить табуляцию параметра М1 — времени пребывания в модели транзакта, обрабатываемого программой в данный момент (М1— стандартный числовой атрибут). Проанализировать статистику по устройству, очереди, данные по табулируемой величине (среднее, дисперсию). Сравнить результаты моделирования математического ожидания и дисперсии табулируемой величины с аналитическими расчетами тех же величин.
Решение примера 1 приводится как программа 1.
Программа 1 |
simulate TEXP1 TABLE M1,0,10,100 *************************************************************** exp1 FUNCTION RN1,C45 0,0/0.1813,0.2/0.3297,0.4/0.4512,0.6/0.5507,0.8/0.6321,1.0 0.6988,1.2/0.7534,1.4/0.7981,1.6/0.8347,1.8/0.8647,2.0/0.8892,2.2 0.9093,2.4/0.9257,2.6/0.9392,2.8/0.9502,3.0/0.9592,3.2/0.9666,3.4 0.9727,3.6/0.9776,3.8/0.9817,4.0/0.9850,4.2/0.9877,4.4/0.9899,4.6 0.9918,4.8/0.9933,5.0/0.9945,5.2/0.9955,5.4/0.9963,5.6/0.9970,5.8 0.9975,6.0/0.9980,6.2/0.9983,6.4/0.9986,6.6/0.9989,6.8/0.9991,7.0 0.9993,7.2/0.9994,7.4/0.9995,7.6/0.9996,7.8/0.9997,8.0/0.9997,8.2 0.9998,8.4/0.9998,8.6/0.9998,8.8 ****************************************************************
QUEUE 1
START 500 ;END |
На рис.1 и в табл.1 представлена функция экспоненциального распределения отрезков времени t как случайной величины.
Р
ис.1. Функция экспоненциального распределения случайных отрезков времени
Таблица 1 | |
Таблица экспоненциального распределения вероятностей при единичной интенсивности (=1) | |
t | F(t) |
0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 2.2000 2.4000 2.6000 2.8000 3.0000 3.2000 3.4000 3.6000 3.8000 4.0000 4.2000 4.4000 4.6000 4.8000 5.0000 5.2000 5.4000 5.6000 5.8000 6.0000 6.2000 6.4000 6.6000 6.8000 7.0000 7.2000 7.4000 7.6000 7.8000 8.0000 8.2000 8.4000 8.6000 8.8000 9.0000 9.2000 9.4000 9.6000 9.8000 10.0000 | 0 0.1813 0.3297 0.4512 0.5507 0.6321 0.6988 0.7534 0.7981 0.8347 0.8647 0.8892 0.9093 0.9257 0.9392 0.9502 0.9592 0.9666 0.9727 0.9776 0.9817 0.9850 0.9877 0.9899 0.9918 0.9933 0.9945 0.9955 0.9963 0.9970 0.9975 0.9980 0.9983 0.9986 0.9989 0.9991 0.9993 0.9994 0.9995 0.9996 0.9997 0.9997 0.9998 0.9998 0.9998 0.9999 0.9999 0.9999 0.9999 0.9999 1.0000 |
Формат записи оператора FUNCTION:
exp1 FUNCTION RN1,C45
В поле метки оператора описания FUNCTION записывается имя функции (в программе это exp1). В поле <A> оператора FUNCTION задается аргумент функции. В программе в качестве аргумента задано случайное число, которое генерируется RN1 в интервале (0, 1) по равномерному закону. С помощью случайного числа производится линейная интерполяция, когда значение аргумента попадает между точками значений координат функции, заданных табличным способом. В поле <B> задается тип функции (в программе С — непрерывная числовая функция) с количеством пар точек табличных значений моделируемой функции (в программе это число равно 45). В данной версии GPSS количество пар точек функции не должно превышать 50 значений. Каждое последующее значение аргумента пары точек (X[i]) должно быть больше предыдущего. Это следует из того, что функция распределения вероятностей является монотонно возрастающей, лежащей в интервале [0, 1]. За оператором описания функции следуют операторы (числовые) задания координат моделируемой функции. Эти операторы попарно разделяются прямым слешом / и значения каждой пары точек разделяются запятыми.
Формат записи блока GENERATE в функциональном режиме:
10 GENERATE 10,FN$exp1
В поле <A> задается среднее значение интервала времени, через которое генерируется транзакт в систему. Величина 10 определяется как обратная величина заданной интенсивности =0.1. В поле <B> задается имя функции (exp1), которая связывается со служебным атрибутом FN (через знак $).
Описанный формат вытекает из способа формирования случайных чисел, распределенных по экспоненциальному закону:
где — искомые интервалы времени,
— интенсивность входящего потока требований,
— случайное число, распределенное равномерно из интервала (0, 1], индекс
Формат записи блока ADVANCE в функциональном режиме:
50 ADVANCE 5,FN$exp1
В поле <A> задается среднее значение интервала времени, которое затрачивается на обслуживание одного требования. Величина 5 определяется как обратная величина заданной интенсивности обслуживания =0.2. В поле <B> задается имя функции (exp1), которая связывается со служебным атрибутом FN (через знак $). Описанный формат также вытекает из способа формирования случайных чисел, распределенных по экспоненциальному закону в соответствии с (1), где только вместо задается
— интенсивность обслуживания.
Задание к примеру 1.
1) Исследовать приведенную программу при одном, двух и трех прогонах. Сравнить результаты моделирования по файлу стандартного отчета.
2) Из приведенной таблицы отобрать значения функции распределения в количестве 10, 25, 35 пар точек. Сравнить результаты моделирования.
3) Произвести описание экспоненциального распределения, заданного в виде таблицы в случае интенвиности =0.1, а не =1. Сравнить результаты моделирования, когда в поле <A> блока GENERATE будет задана функция с не единичной интенсивностью. Поле <B> при этом пусто.
4) В программе изменить счетчик числа завершений: 1000, 2000 (т.е. в операторе START).
5) Изменить отношение : 0.2, 0.7, 0.9. Произвести моделирование по приведенной программе со значениями
и
, полученные из заданного отношения. При возникновении очереди определить по формуле Литтла среднее значение транзактов, находящихся в системе.
6) Вычислить аналитически среднее значение времени пребывания в системе транзакта и дисперсию среднего значения времени пребывания.
7) По данным файла стандартного отчета построить гистограмму распределения заданного стандартного числового атрибута М1 при различных значениях поля <B> оператора TABLE: 2, 5, 7.
Пример 2. В систему поступают требования в соответствии с табличными данными, приведенными в табл.2. Обслуживание требований происходит по равномерному закону в интервале 12 2 мин. Смоделировать функционирование системы по обслуживанию 500 требований. Осуществить табуляцию параметра QT — времени пребывания транзакта в очереди (QT— стандартный числовой атрибут). Проанализировать статистику по устройству, очереди, данные по табулируемой величине (среднее, дисперсию).
Рассматриваемый пример приводится для пояснения функционирования оператора FUNCTION в режиме задания дискретной числовой функции.
Таблица 2 | |
t (мин) | P — значение функции |
0.0 2.3 2.4 3.5 5.6 7.7 8.2 9.5 10.3 11.9 12.1 13.7 16.3 19.1 21.6 28.3 31.4 32.7 | 0.0000 0.0007 0.0032 0.0116 0.0339 0.0821 0.1674 0.2936 0.4503 0.6145 0.7602 0.8694 0.9755 0.9918 0.9977 0.9995 0.9999 1.0000 |
В соответствии с данными таблицы 1 на рис.2 при водится график зависимости функции Р от аргумента t. Программное решение примера 2 приводится как программа 2.
Рис.2. Дискретная функциональная зависимость
Программа 2 |
simulate TAB1 table QT1,0,2,80 DDF1 FUNCTION RN1,D18 ;Описание дискретной функции 0,0/0.0007,2.3/0.0032,2.4/0.0116,3.5/0.032,5.6/0.0821,7.7/ 0.1674,8.2/0.2936,9.5/0.4503,10.3/0.6145,11.9/0.7602,12.1/ 0.8694,13.7/0.9755,16.3/0.9918,19.1/0.9977,21.6/0.9995,28.3/ 0.9999,31.4/1.000,32.7 ************************************************************************** 10 GENERATE FN$DDF1 20 QUEUE 1 30 SEIZE U1 40 DEPART 1 50 ADVANCE 12,2 60 RELEASE U1 70 TABULATE TAB1 80 TERMINATE 1 START 500 ;END |
Комментарии к программе 2.
Формат записи оператора FUNCTION для дискретной числовой функции: