
Лекции / Лекция 10
.rtfВ имитационном моделировании удобнее использовать такую процедуру, когда стратифицирующая переменная не служит откликом модели. Для этого она определяется непосредственно из последовательности случайных чисел, с помощью которых происходит процесс моделирования.
Стратифицирующую переменную можно определить следующим образом:
здесь 0<c<1 - константа, ri - i-тое случайное число в последовательности значений датчика случайных чисел, использованных для генерирования одного значения отклика x.
При этом общее количество случайных чисел m в одном имитационном опыте должно быть известно. При таком конструировании стратифицирующей переменной y мы должны добиться того, чтобы она коррелировала с переменной отклика x.
Пример: Моделируется одноканальная система массового обслуживания. Переменной отклика x служит среднее время ожидания требования в очереди. Пусть в каждом имитационном опыте рассматриваются m1 требований в системе массового обслуживания. Интервал времени между прибытием двух соседних требований и время обслуживания подчиняются экспоненциальному закону распределения. Для моделирования одного значения экспоненциальной случайной величины достаточно одного значения датчика случайных чисел. Для моделирования работы системы необходимо m=2m1 случайных чисел - для задания времени между прибытием требований и времени обслуживания.
Имитационную модель нам нужно строить так, чтобы размер очереди возрастал с ростом значения случайных чисел ri. Для генерирации времени vi между прибытием требований используют формулу:
.
А для времени обслуживания:
,
(i=1,m1).
Так как все ri лежат в интервале от 0 до 1, то с ростом ri величина vi будет уменьшаться (то есть требования будут поступать чаще), а wi будет возрастать (т.е. обслуживаться будут дольше). Поэтому время пребывания в очереди x будет расти. Следовательно, x и y будут положительно коррелированы.
Еще одно условие, которое должно выполняться для стратифицирующей переменной– это известные вероятности слоев pk. Их можно вычислить, поскольку y – это биномиально распределенная случайная величина. Вероятность успеха для нее:
Мы можем образовать k слоев, разделив область значений Y на k непересекающихся интервалов.
m = 500 k = 5,
S1 = [0,100), S2 = [100,200),..., S5 = [400,500].
В этом случае вероятность слоя вычисляется, например, для р2 следующим образом:
.
При проведении пропорциональной стратификации из общего числа 500 повторений работы модели nk должны проводиться в k-том слое для переменной y. Причем, эти наблюдения должны быть выбраны из k-того слоя случайным образом.
nk = pk n, (k=1,...,K).
Опишем процедуру проведения опыта для второго слоя, когда m = 500 и количество слоев к=5.
Алгоритм.
Шаг 1. Выберем случайным образом y из второго слоя:
.
Блок– схема выбора y следующая:
--Генерация сл.
Величины. U[0,1]

sump: = 0
Generate r


g := 100
sump:=sump + p(y = g/yS)
да
нет
g: = g+1
y: = g
Шаг
2.
После получения значения стратифицирующей
переменной y,
мы проводим имитационный опыт. Для этого
необходимо сгенерировать m
= 500 случайных чисел. При этом ровно y
случайных чисел должно быть больше, чем
константа c,
стоящая в определении переменной g.
Всего таких наборов существует
.
Требуется выбрать один из них случайно.
Реализуем его с помощью выборки без
возвращения.
Блок– схема получения такого набора:
i:=1
Generate R


нет да
Generate r


Generate r




Выход = f(c*r)
Выход =
f(c+(1-c)*r)
i:=i+1; m:=m-1
y:=y-1
i:= i+1
m:=m-1
да
здесь f(z) – выходное значение модели при случайной величине z.
Шаг 3. Пункты 1 и 2 повторять n2 раз, где n2=p2*n – количество опытов при заданном значении стратифицированной переменной.
Описанная процедура требует дополнительного времени при моделировании, поэтому частое ее использование оказывается невозможным. Вместо этого можно предположить стратификацию после выборки. При этом будет храниться лишь массив значений стратифицированных переменных. А затем при обработке результатов эксперимента будут вычисляться средние значения в каждом классе, и вычисляться стратифицированная оценка стандартным способом.
Описанный метод дает уменьшение дисперсии согласно проведенным опытам в среднем на 20 %.