Имя материала: Имитационное моделирование экономических процессов

Автор: Снетков Н.Н.

§2. моделирование случайных величин

Использование случайных величин является наиболее универсальным и поэтому наиболее распространенным способом учета в модели случайных факторов, присущих реальным экономическим системам или процессам. Примерами случайных величин могут служить: интервал времени до появления очередного клиента, длительность проведения технического обслуживания автомобиля, объем данных, считываемых из оперативной памяти ЭВМ и т.д. Случайные величины могут быть дискретные или непрерывные. Рассмотрим моделирование тех и других величин.

 

2.1. Моделирование дискретной случайной величины

Дискретная случайная величина может быть задана табличной зависимостью:

 

X

Xi

X2

 

 

Р

pi

p2

...

 

Здесь pj - вероятность того, что дискретная случайная величина X примет значение Xj. При этом р1 + р2 + ...+ pn = 1. Разделим интервал (0,1) на п отрезков, длины которых пропорциональны заданным вероятностям. Если случайное число z, вырабатываемое датчиком случайных чисел, равномерно распределенных в интервале (0,1), попадет в интервал p*, то случайная величина X примет значение x* Таким образом, при моделировании дискретных случайных величин фактически используется та же процедура, что и при моделировании ПГНС.

 

49

2.2. Моделирование непрерывных случайных величин

При разработке имитационных моделей с использованием универсальных языков программирования используются разработанные методы моделирования различных законов распределения СВ. Если закон СВ распределения известен, то она может быть достаточно адекватно представлена в имитационной модели. Ниже в качестве дополнительного материала представлены методы моделирования СВ, которые могут быть использованы про создании имитационных моделей на основе универсальных языков программирования.

Метод обратной функции

Пусть имеется некоторая непрерывная случайная величина х, заданная функцией распределения F(x). Можно доказать, что значения этой функции равномерно распределены в интервале (0,1). Поэтому между случайной величиной z, равномерно распределенной в том же интервале, и функцией распределения случайной величины х существует взаимно однозначное соответствие, т.е.

z = F(x). (1)

Отсюда следует, что

х = F1 (z), (2)

 

где F1 - обратная функция.

Следовательно, если уравнение (1) имеет аналитическое решение, то для моделирования случайной величины х можно использовать датчик случайных чисел, генерирующий величину z, и затем осуществить расчет по формуле (2).

Моделирование случайных величин с показательным распределением

Пусть имеется случайная величина х с показательным распределением. Функция распределения имеет вид

 

50

2.2.4. Моделирование случайных величин с нормальным распределением

Нормальное распределение НСВ - это распределение, которое имеет плотность распределения вероятностей

2о У

 

f(y)=—l2= exP

y

где my - математическое ожидание;

Oy - среднее квадратическое отклонение. Функция распределения

7 У

 

Метод обратной функции для нормального распределения неприменим, так как после подстановки соответствующей функции распределения выражение (2) не имеет аналитического решения. Поэтому в данном случае применяется другой метод.

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

Напоминание

Центральная предельная теорема теории вероятностей (теорема Ляпунова) гласит: если СВ xi, Х2,... Xn независимы, одинаково распределены и имеют конечные математическое ожидание и дисперсию, то распределение суммы этих СВ при увеличении n приближается к нормальному (теорема применима при n > 10).

Как показали исследования, уже при сложении более десяти случайных величин с равномерным распределением в интервале (0,1) получается случайная величина, которая с точностью, достаточной для большинства практических задач, может считаться распределенной нормально.

 

52

Процедура розыгрыша нормально распределенной случайной величины заключается в следующем.

12

v=I zi-

i=1

Сложим 12 случайных величин с равномерным распределением в интервале (0,1), т.е. составим сумму

Использовав известные теоремы о сумме математических ожиданий и дисперсий независимых случайных величин, можно установить, что в данном случае случайная величина v имеет следующие характеристики: математическое ожидание

M(V) = £ M(z) = 12 ■ 2 = 6; i=i 2

дисперсия:

12 1

D(V) = I D(z) = 12     = 1;

i=1 12 среднее квадратическое отклонение

a(V) = +4W) = 1

Нормируем и центрируем случайную величину v, т.е. перейдем к величине

П = [v - M(V)] / a(V) = v - 6.

От нормированной и центрированной величины п перейдем к случайной величине у с заданными параметрами M(Y) и o(Y) по формуле

где M(Y) - известное математическое ожидание случайной величины у;

y = M(Y) + a(Y) ■ ц. a(Y) - известное квадратическое отклонение случайной величины у.

 

53

2.2.5. Моделирование случайных величин с усеченным нормальным распределением

Усеченное нормальное распределение случайной величины х задается четырьмя параметрами: математическим ожиданием М(Х), средним квадратическим отклонением о(Х), а также минимальным и максимальным значениями хг и х2 (точками усечения).

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

0          при x < x1

F(X):

[O0(t) — Ф0(і1) A   при x1 < x < x2

1          при x > x2

где

Функция Лапласа Фо - это функция распределения нормированной и центрированной случайной величины t. Эта функция табулирована.

= x — M(X)    = x1 — M(X)  = x2 — M(X)

A==   o(X)1 '  1 =    o(X)    '  2       o(X) '

Ф0(12) — Фо(І1);

 

1   t   t2

&o(t) = -f= Je Tdt л/2п 0

= y—My

 

Существуют также формулы для расчета математического ожидания, дисперсии и среднего квадратического отклонения случайной величины х. Однако с достаточной для практики точностью при моделировании случайной величины с усеченным нормальным распределением можно обой-

 

54

тись без расчетов по формулам. Для определения возможных значений случайной величины с этим распределением можно использовать алгоритм, схема которого приведена на рис. 3.8.

 

 

 

Процедура

 

1—►

 

«Норм»(г|)

 

Оператор 1 обращается к процедуре моделирования возможных значений нормированной и центрированной случайной величины п с нормальным распределением. Оператор 2 вычисляет значение случайной величины с заданными параметрами M(Y) и а(У).

 

55

Условный оператор 3 проверяет условие попадания случайной величины у в неусеченную область. При выполнении этого условия значение случайной величины у с усеченным нормальным распределением считается найденным. В противном случае управление в алгоритме передается вновь на вход оператора 1 и генерируется другая случайная величина.

 

2.2.6. Моделирование случайных величин с произвольным распределением

Пусть случайная величина х задана в интервале (ao, an) кусочно-постоянной функцией f(x). Это значит, что интервал разбит на п частичных интервалов и плотность распределения f(x) на каждом из них постоянна (рис. 3.9).

Рис. 3.9. Плотность распределения произвольной функции

 

Целесообразно выбрать величины ak так, чтобы вероятности попадания в любой частичный интервал Pk были одинаковы, т.е.

к

f (x)dx

1

n

 

56

(к = 1,2,...,n).

Из условия постоянства функции на каждом частичном интервале следует, что случайная величина х может быть определена по формуле

X = ak-i + z(ak - ak-i)           (к = 1,2,...,n),

где z - возможное значение (реализация) случайной величины, равномерно распределенной в интервале (0,1); ak-i - левая граница частичного интервала; ak - правая граница частичного интервала. Попадание в любой частичный интервал можно рассматривать как событие, входящее в полную группу несовместных событий. Поэтому процедура моделирования в общем случае состоит в следующем:

С помощью датчика случайных чисел с равномерным распределением, вырабатывающего величину z, моделируют дискретную случайную величину - номер интервала k.

Вторично разыгрывают случайную величину z и определяют возможное значение случайной величины х.

Схема алгоритма показана на рис. 3.10.

 

57

2.2.7. Моделирование случайных величин с заданными параметрами средствами Matlab

При создании имитационной модели средствами Matlab процедура отображения в ней СВ существенно упрощается. Разработчику достаточно иметь представление о том, какие генераторы случайных чисел входят в состав компоненты Toolboxes-Statistics. Как нам уже известно, таких генераторов

 

58

более 20. Технология использования в S-модели любого из них одинакова и состоит в выполнении следующих действий:

Открыть встроенную справочную систему Matlab (раздел Toolboxes-Statistics).

В списке Random Namber Generation выбрать функцию, соответствующую требуемому закону распределения.

Двойным щелчком ЛКМ на выбранной строке открыть страницу справочника, содержащую описание данного генератора; при этом в верхнем левом поле окна будет выведено название генератора; выделите его с помощью мыши и скопируйте в буфер обмена (используя комбинацию клавиш <Ctrl> + <C>).

В блок-диаграмме выбрать блок, в котором будет использоваться генератор, и открыть окно его настроек.

Вставить из буфера обмена название генератора (сочетание клавиш <Ctrl> + <V>).

Ввести требуемые значения параметров «запуска» генератора.

В качестве примера использования генератора СЧ рассмотрим S-модель, содержащую случайную величину, распределенную по нормальному закону. Согласно теории вероятностей, большинство случайных явлений и процессов, зависящих от многих одновременно действующих факторов, подчиняется именно этому закону.

Пусть имеется вычислительная система, содержащая 2 дисковых накопителя различной емкости: 2,1 Гбайт (назовем его HD1) и 4,3 Гбайт (HD2). Данные поступают на каждый из накопителей от своего источника. Объем очередной «порции» информации является случайной величиной, распределенной по нормальному закону.

Для первого источника закон распределения СВ имеет параметры m1=70 Мб, v1=5M6; для второго источника -m2 = 120 Мб, v1=10M6. Требуется сравнить эффективность использования накопителей. В качестве показателей эффективности выберем коэффициент использования дискового пространства - Ки. Эта величина может быть рассчитана как от-

 

59

ношение объема памяти, использованного на интервале моделирования, к полной емкости накопителя.

Блок-диаграмма S-модели, позволяющей решить поставленную задачу, показана на рис. 3.11.

Из рисунка видно, что блок-диаграмма состоит из двух достаточно самостоятельных частей. Каждая из них моделирует работу одного из накопителей. Поскольку обе части модели по структуре полностью одинаковы, поясним назначение входящих в них блоков применительно к первой, моделирующей работу накопителя HD1.

Блок Matlab Fcn играет роль источника данных (или, как будет рассмотрено позднее, - это модель рабочей нагрузки накопителя); в качестве параметра настройки блока указано имя генератора нормального распределения с соответствующими аргументами: normrnd(70,5);

Блок Discrete - Time Integrator выполняет суммирование объема данных, поступающих от источника в накопитель; все параметры имеют значения, установленные по умолчанию;

Блок Fcn обеспечивает расчет значения Ки (вычисляемое выражение выводится на пиктограмме блока) для текущего значения модельного времени;

Блок Display выводит на экран вычисленное значение Ки; по истечении интервала моделирования оно представляет собой итоговую оценку данного показателя для накопителя HD1.

Немного забегая вперед (чтобы дать студентам возможность практически опробовать работу модели), отметим, что перед запуском модели целесообразно установить (в меню Simulation) способ изменения модельного времени Fixed-step, а также запретить выдачу предупреждений о неподключенных портах блоков (на вкладке Diagnostics).

По окончании сеанса моделирования в окнах Display будут выведены значения Ки для обоих накопителей практически одновременно.

 

60

 

61

62

Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |