- •1. Имитационное моделирование случайных потоков Описание моделируемой системы
- •Компьютерное моделирование потоков событий. Моделирование с постоянным шагом по времени
- •Компьютерное моделирование потоков событий. Моделирование по состояниям
- •Связь характеристик св с параметрами законов распределения
- •Характеристики св
- •Генерация случайных величин по заданному закону распределения
- •3. Использование метода имитационного компьютерного моделирования для оценки производительности поточных линий
Компьютерное моделирование потоков событий. Моделирование по состояниям
При таком виде моделирования генерация потока сводится к получению последовательных моментов времени появления очередного события. В зависимости от исходных условий генерируются интервалы (k) времени между (k – 1)-м и k-м событиями.
Алгоритм 3
t(0) = 0; k = 0
Пока t(k) < Tmod выполнять:
Вычисление вектора параметров a(k)
Генерация ~ Distr(a(k))
k = k + 1; t(k) = t(k-1) +
Задание или генерация атрибутов k-го события.
Здесь k – порядковый номер события, Distr(a(k)) – закон распределения интервала с вектором a(k) параметров k-го события.
Вариант алгоритма с прерыванием потока по числу сгенерированных событий имеет вид:
Алгоритм 4
t(0) = 0; k = 0
Пока k < Nmod выполнять:
Вычисление вектора параметров a(k)
Генерация ~ Distr(a(k))
k = k + 1; t(k) = t(k-1) +
Задание или генерация атрибутов k-го события.
Пример
Особенности моделируемого потока событий:
интервалы между событиями в потоке – независимые и одинаково распределенные по показательному закону Ex(a) случайные величины.
среднее значение интервала зависит от текущего времени на момент появления предыдущего события и изменяется согласно зависимости: M(t) = m0 + m1 cos(2t/Ta).
атрибутом каждого события является приоритет P, равный 1 или 2 с вероятностями соответственно p(1) и p(2) = 1 - p(1).
Смоделировать поток на отрезке времени [0; Tmod].
Алгоритм 3 (пример)
t(0) = 0; k = 0
Пока t(k) < Tmod выполнять:
Вычисление a = 1 / ( m0 + m1cos(2t(k)/Ta))
Генерация: = -1 / a Ln(Rnd)
k = k + 1; t(k) = t(k - 1) +
Генерация приоритета k-го события: z = Rnd; если z < p(1), то P(k) = 1, иначе P(k) = 2.
Дополнительная информация:
Связь характеристик св с параметрами законов распределения
Закон распределения |
МО |
Дисперсия |
1. Биномиальный |
np |
npq |
2. Пуассона |
a |
a |
3. Геометрический |
r/(1-r) |
r2/(1-r) |
4. Равномерный |
(a+b)/2 |
(b-a)2/12 |
5. Экспоненциальный |
1/a |
1/a2 |
6. Нормальный |
m |
σ2 |
7. Бета-распределение |
см. ниже |
|
8. Распределение Эрланга |
(k+1)/ |
(k+1)/2 |
Для бета-распределения:
Характеристики св
,
Генерация случайных величин по заданному закону распределения
Равномерное
Распределение Эрланга
,
где a – первый параметр закона Эрланга, b – второй.
Нормальное распределение
Для получения нормальных чисел можно использовать формулу
,
где m и – параметры нормального распределения.
Показательное (экспоненциальное) распределение
,
где a – параметр экспоненциального распределения
Бета-распределение
Метод Йонка:
Генерация ПСЧ x1 и x2
Если (x1)1/a + (x2)1/b 1, то переход к п.1, иначе yi = (x1)1/a / ((x1)1/a + (x2)1/b)
Алгоритм для дискретных величин
Генерация
k = 0; p = p(k)
x = x – p
Если x < 0, то перейти к п.5, иначе: p = p (k); k = k+1; перейти к п.3
y = k.
Пуассона
Биномиальное
Геометрическое
Общее замечание
-случайное число, распределенное по равномерному закону с параметрами a=0, b=1 (возвращается функцией random без параметров в Pascal и C++; при этом не забывать инициализировать генератор случайных чисел перед вызовом этих функций – RANDOMIZE).
- случайное число, распределенное по заданному закону распределения.
2. Статистическая обработка результатов компьютерного моделирования
Исходные данные имеют вид таблицы, пример которой приведен ниже.
Таблица
Трассировка длины очереди
k |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
t |
5.10 |
8.11 |
14.81 |
17.38 |
32.44 |
35.24 |
37.01 |
37.21 |
38.64 |
40.15 |
44.35 |
46.62 |
47.72 |
60.11 |
r |
5 |
6 |
7 |
6 |
7 |
6 |
5 |
4 |
3 |
4 |
5 |
4 |
5 |
4 |
Здесь k – порядковый номер очередного изменения длины очереди, t – момент времени этого изменения, r – длина очереди (число заявок в очереди) в результате этого изменения.
Для получения таблицы с исходными данными для заданного варианта следует программно реализовать алгоритм, позволяющий искусственно смоделировать необходимые данные
Алгоритм
Генерация ППСЧ z(k) ~ Distrz(a), k = 1, … , N.
Преобразование z(k) в знаковый массив zs(k) = sign(z(k) - Mz))
Формирование массива длины очереди по формуле
Генерация моментов времени изменения длины очереди t(0) = 0; t(k) = t(k - 1) + Distrτ(b), k = 1, … , N.
Распределения Distrz(a) - вспомогательных случайных величин z и Distrτ(b) - интервалов времени τ между изменениями длины очереди, параметры a и b этих распределений, объем выборки N и математическое ожидание Mz приведены в таблице вариантов заданий.
По полученной трассировочной таблице длины очереди строится трассировочный график, описывающий динамику изменения длины очереди во времени. Для рассматриваемого примера он приведен на рис.50.
Распределение длины очереди – дискретное. Его оценка приведена в таблице
r |
3 |
4 |
5 |
6 |
7 |
P*(r) |
0.025 |
0.272 |
0.202 |
0.139 |
0.362 |
Рис.50
Значения оценок вероятностей P*(r) длины очереди получены по формуле
Здесь в числителе стоит сумма отрезков времени моделируемого интервала, в течение которых длина очереди была равна r, а в знаменателе – длина моделируемого интервала от Tн до Tк. Например, для r = 4 получим
P*(r = 4) = ((37.21 – 37.01) + (40.15 – 38.64) +
+ (46.62 – 44.35) + (60.11 – 47.72)) / (60.11 – 0) = 0.272
Зная оценку закона распределения длины очереди, легко вычислить оценки числовых характеристик: среднего значения, дисперсии, среднеквадратического отклонения и коэффициента вариации