Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы прикладного мод-я.doc
Скачиваний:
4
Добавлен:
12.11.2019
Размер:
125.95 Кб
Скачать

Компьютерное моделирование потоков событий. Моделирование по состояниям

При таком виде моделирования генерация потока сводится к получению последовательных моментов времени появления очередного события. В зависимости от исходных условий генерируются интервалы (k) времени между (k – 1)-м и k-м событиями.

Алгоритм 3

  1. t(0) = 0; k = 0

  2. Пока t(k) < Tmod выполнять:

    1. Вычисление вектора параметров a(k)

    2. Генерация ~ Distr(a(k))

    3. k = k + 1; t(k) = t(k-1) +

    4. Задание или генерация атрибутов k-го события.

Здесь k – порядковый номер события, Distr(a(k)) – закон распределения интервала с вектором a(k) параметров k-го события.

Вариант алгоритма с прерыванием потока по числу сгенерированных событий имеет вид:

Алгоритм 4

  1. t(0) = 0; k = 0

  2. Пока k < Nmod выполнять:

    1. Вычисление вектора параметров a(k)

    2. Генерация  ~ Distr(a(k))

    3. k = k + 1; t(k) = t(k-1) + 

    4. Задание или генерация атрибутов k-го события.

Пример

Особенности моделируемого потока событий:

  • интервалы между событиями в потоке – независимые и одинаково распределенные по показательному закону Ex(a) случайные величины.

  • среднее значение интервала зависит от текущего времени на момент появления предыдущего события и изменяется согласно зависимости: M(t) = m0 + m1 cos(2t/Ta).

  • атрибутом каждого события является приоритет P, равный 1 или 2 с вероятностями соответственно p(1) и p(2) = 1 - p(1).

Смоделировать поток на отрезке времени [0; Tmod].

Алгоритм 3 (пример)

  1. t(0) = 0; k = 0

  2. Пока t(k) < Tmod выполнять:

    1. Вычисление a = 1 / ( m0 + m1cos(2t(k)/Ta))

    2. Генерация:  = -1 / a Ln(Rnd)

    3. k = k + 1; t(k) = t(k - 1) + 

    4. Генерация приоритета 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

Для бета-распределения:

Характеристики св

,

Генерация случайных величин по заданному закону распределения

  1. Равномерное

  1. Распределение Эрланга

,

где a – первый параметр закона Эрланга, b – второй.

  1. Нормальное распределение

Для получения нормальных чисел можно использовать формулу

,

где m и  – параметры нормального распределения.

  1. Показательное (экспоненциальное) распределение

,

где a – параметр экспоненциального распределения

  1. Бета-распределение

Метод Йонка:

  • Генерация ПСЧ x1 и x2

  • Если (x1)1/a + (x2)1/b  1, то переход к п.1, иначе yi = (x1)1/a / ((x1)1/a + (x2)1/b)

Алгоритм для дискретных величин

  1. Генерация

  2. k = 0; p = p(k)

  3. x = xp

  4. Если x < 0, то перейти к п.5, иначе: p = p (k); k = k+1; перейти к п.3

  5. y = k.

  1. Пуассона

  1. Биномиальное

  1. Геометрическое

Общее замечание

-случайное число, распределенное по равномерному закону с параметрами 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 – длина очереди (число заявок в очереди) в результате этого изменения.

Для получения таблицы с исходными данными для заданного варианта следует программно реализовать алгоритм, позволяющий искусственно смоделировать необходимые данные

Алгоритм

  1. Генерация ППСЧ z(k) ~ Distrz(a), k = 1, … , N.

  2. Преобразование z(k) в знаковый массив zs(k) = sign(z(k) - Mz))

  3. Формирование массива длины очереди по формуле

  1. Генерация моментов времени изменения длины очереди 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

Зная оценку закона распределения длины очереди, легко вычислить оценки числовых характеристик: среднего значения, дисперсии, среднеквадратического отклонения и коэффициента вариации