Для моделирования случайных величин с заданными законами распределения в
GPSS возможно использование библиотечных функций или
задание требуемой функции распределения в табличном виде путем аппроксимации
непрерывными функциями.
Встроенная библиотека GPSS содержит функции для
моделирования случайных величин, имеющих следующие законы распределения:
•
равномерное (Uniform);
•
экспоненциальное (Exponential);
•
гамма (Gamma);
•
вейбулловское (Weibull);
•
нормальное (Normal);
•
логнормальное (LogNormal);
•
биномиальное (Binomial);
•
геометрическое (Geometric);
•
дискретное равномерное (Discrete Uniform);
•
пуассоновское (Poisson);
•
логистическое (Logistic);
•
логлапласово (LogLaplace);
•
треугольное (Triangular).
Для моделирования случайной величины, имеющей равномерное
распределение, используется библиотечная функция
UNIFORM(Stream,Min,Max)
Stream - номер генератора случайных чисел (от 1 до 7);
Min- наименьшее возможное значение; Мах - наибольшее
возможное значение.
Например:
GENERATE (UNIFORM(4,2,8));
генерация транзактов через интервалы
времени, равномерно распределенные на отрезке [2; 8], с использованием 4-го
генератора случайных чисел ADVANCE (UNIFORM(2,
3, 5) ) ; задержка транзактов на время, имеющее
равномерное распределение на отрезке [3; 5], с использованием 2-го генератора
случайных чисел
Аналогичные действия выполняются при следующей записи блоков
GENERATE 5,3 ; генерация транзактов через интервалы
времени, равномерно распределенные на отрезке [2; 8] ADVANCE
4,1 ; задержка транзактов на время, имеющее равномерное распределение на
отрезке [3; 5]
Для моделирования случайной величины, имеющей экспоненциальное
распределение, используется библиотечная функция
EXPONENTIAL(Stream,
Locate, Scale)
Stream - номер генератора случайных чисел (от 1 до 7);
Locate - величина сдвига (константа, добавляемая к
значению моделируемой величины);
Scale - параметр формы распределения (математическое
ожидание случайной величины при Locate =0).
Пример 2. Приведем пример использования функции
генерации случайной величины, имеющей экспоненциальное распределение, при
моделировании входящего потока транзактов (в данном случае - простейшего
потока).
10 INITIAL X$Time01d,
0 ; инициализация ячейки, сохраняющей
время моделирования предыдущего транзакта
20 Inter FVARIABLE ACl-X$Time01d
; определение переменной, равной
интервалу между текущим модельным временем и временем моделирования предыдущего
транзакта 30 Distrib TABLE V$Inter,
0,1, 20 ; определение таблицы с 20 интервалами, правая граница 1-го интервала
равна 0, ширина интервалов равна 1
40 GENERATE (Exponential(1,
0, 4 ) ) ; генерация транзактов через интервалы времени, имеющие
экспоненциальное распределение с математиче-
равным 4,
с ким ожид а ни ем, сдвига
; добавление в таблицу нового значения времени между поступающими транзактами
текущего модельного
; сохранение времени
; уменьшение счетчика завершений на 1
50 TABULATE Distrib
60 SAVEVALUE TirneOld,AC1
7
0 TERMINATE 1
80 START
50 0 0 |
; задание начального значения счетчика завершений и запуск моделирования
В результате моделирования в таблице Distrib была
накоплена выборка значений случайной величины, имеющей экспоненциальное
распределение, объемом 5000 элементов. Гистограмма частот, соответствующая
таблице Distrib, полученная средствами
GPSS (см. подразд. 2.7), представлена на рисунке 6.
A.
Untitled. 19.sim:2
- TABLE
WINDOW
Mean: 4.036
^Untitled.20.sim:2
TABLE WINDOW |
|
|
|
|
|
B0B |
DISTRIB |
Mean: |
6.036 |
|
|
|
|
|
S.D.: 4.072 |
1600 0 |
|
1—1 |
|
1—1 |
|
|
ГТТТт-г-1-п-П |
0' 1' 2' |
3| „1 |
'
5 |
6 |
' 7 |
1
81
9'
10' II1
12'
13'
14'
15'
16' 17'
'18 |
Рисунок 6 - Экранные формы
гистограмм, соответствующих таблице Distrib:
а - без сдвига (Locate = 0); б - со
сдвигом (Locate = 2) |
На рисунке 6, б представлена гистограмма частот времени между поступающими
транзактами в случае, когда строка 40 ИМ в примере 2 заменена строкой
40 GENERATE (Exponential(1,2,4))
; генерация транзактов через интервалы времени, имеющие экспоненциальное
распределение с математическим ожиданием, равным 4, со сдвигом на 2 единицы
вправо
Для моделирования случайной величины, имеющей гамма-
распределение, используется библиотечная функция
GAMMA(Stream, Locate, Scale, Shape)
Stream - номер генератора случайных чисел (от 1 до 7);
Locate - величина сдвига (константа, добавляемая к
значению моделируемой величины, см. выше);
Scale - параметр масштаба функции распределения;
Shape - параметр, определяющий форму кривой
гамма-распределения.
Если аргумент Shape функции GAMMA
- есть целое число, то гамма- распределение вырождается в
распределение Эрланга к-то порядка, где к=
Shape. А если Shape = 1, то
гамма-распределение совпадает с экспоненциальным
распределением.
Для моделирования случайной величины, имеющей вейбулловское
распределение (распределение Вейбулла-Гнеденко),
используется библиотечная функция
WEIBULL(Stream, Locate, Scale, Shape)
Stream - номер генератора случайных чисел (от 1 до 7);
Locate - величина сдвига (константа, добавляемая к
значению моделируемой величины, см. выше);
Scale - параметр масштаба функции распределения;
Shape - параметр, определяющий форму распределения.
Вейбулловское распределение широко используется в теории надежности для
описания времени безотказной работы систем на различных этапах их эксплуатации.
Так в период приработки, когда интенсивность отказов систем уменьшается,
Shape <1; в период нормальной эксплуатации
Shape = 1; в период старения, когда интенсивность
отказов системы со временем возрастает, Shape > 1.
Для моделирования случайной величины, подчиняющейся нормальному
закону распределения, используется библиотечная функция
NORMAL(Stream,Mean,StdDev)
Stream - номер генератора случайных чисел (от 1 до 7);
Mean - математическое ожидание;
StdDev - среднеквадратическое отклонение.
Для генерации случайной величины, имеющей логнормальный закон
распределения, используется библиотечная функция
LOGNORMAL(Stream,
Locate, Scale,
Shape)
Stream - номер генератора случайных чисел (от 1 до 7);
Locate - величина сдвига (константа, добавляемая к
значению моделируемой величины, см. выше);
Scale - параметр масштаба функции распределения;
Shape - параметр, определяющий форму распределения.
|