Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Имитационное моделирование



3.2.1. Основы имитационного моделирования

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

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

По Р. Шеннону определение имитационного моделирования:

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

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

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

G=F(X,Y)

Где G – результат действия системы; X – переменные и параметры, которыми мы можем управлять; Y – переменные, которыми мы не можем управлять; F – функциональная зависимость, определяющая величину G.

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

Такое чрезмерное упрощение полезно лишь тем, что оно явно показывает зависимость функционирования системы как от контролируемых, так и от неконтролируемых параметров и переменных.

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

Перевести переменные величины в константы;

Исключить некоторые переменные или объединить их;

Предположить линейную зависимость между исследуемыми величинами;

Ввести более жесткие предположения и ограничения.

Имитационное моделирование во многом является искусством. Однако можно сформулировать следующие полезные на практике указания, согласно которым надлежит:

Разложить общую задачу исследования системы на ряд более простых задач;

Четко сформулировать цели исследования;

Подыскать аналогию;

Рассмотреть численный пример, соответствующий данной задаче;

Выбрать определенную систему обозначений;

Записать очевидные соотношения.

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

1. Простой и понятной пользователю,

2. Целенаправленной,

3. Надежной в смысле гарантии от абсурдных ответов,

4. Удобной в общении и управлении,

5. Адаптивной, позволяющей легко переходить к другим модификациям или обновлять данные.

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

3.2.2. Метод статистических испытаний

В основе метода статистических испытаний (метода Монте – Карло) лежит моделирование на ЭВМ статистического эксперимента и регистрации числовых характеристик, получаемых в эксперименте.

Результаты моделирования, полученные при воспроизведении единственной реализации процесса, в силу действия случайных факторов не смогут объективно характеризовать изучаемый объект. Поэтому искомые величины обычно определяют как среднее значение по данным большого числа реализаций процесса. Если число реализаций, используемых

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

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

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

р1(А)=m/n,

где n - число опытов; m - количество наступлений события А в n опытах.

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

mx=(1/n) ∑xk

k=1

Как известно, оценкой s2 дисперсии случайной величины Х может служить:

n

S2=(1/(n-1)) ∑(xk – mx)2

k=1

Непосредственное вычисление S2 по этой формуле неудобно, так как mx изменяется в процессе накопления значений xk, что требует запоминания всех n значений xk. Поэтому для вычисления оценки S2 удобнее пользоваться формулой

n n

S2=(1/(n-1)) ∑xk2 – (1/n(n-1))(Σxk)2

k=1 k=1

При оценке корреляционного момента Kxy для случайных величин Х и У возможными значениями употребляются выражение.

n

Kxy=(1/(n-1)) ∑(xk – mx) (y-my)

k=1

Его можно преобразовать к виду:

n n

Kxy=(1/(n-1)) ∑xkyk – (1/n(n-1))ΣxkΣxk)2,

k=1 k=1

Требующему запоминания трех величин: Σxk, Σyk, Σxkyk

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

rxy=Kxy/(sxsy)

Где sx,sy - средние квадратические отклонения величин Х и У.

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

Пусть в качестве оценки для некоторого параметра b, оцениваемого по результатам моделирования xk, выбирается величина mx, являющаяся функцией от xk. В силу случайных причин mx в общем виде будет отличаться от b. Это отличие будет характеризоваться точностью оценки (доверительным интервалом).

|b-mx| <ε

А вероятность α того, что неравенство выполняется, достоверностью ее.

α =p(|b-mx| <ε)

Воспользуемся этим соотношением для определения точности результатов, получаемых методом статистических испытаний.

Пусть целью моделирования будет вычисление вероятности p появления некоторого случайного события А, определяемого состояниями исследуемой системы. В каждой и n реализаций процесса на модели рассматриваемое событие может наступить или не наступить; другими словами количество ξ наступлений события А является случайной величиной, принимающей значение x1=1 с вероятностью p, и x2=0 с вероятностью (1-p).

Математическое ожидание и дисперсия случайной величины ξ равны

M(ξ)=x1p+x2(1-p)

D(ξ)=[x1- M(ξ)]2p+[x2- M(ξ)]2(1-p)=p(1-p)

В качестве оценки для искомой вероятности p принимается частота m/n наступления события А при n реализациях. Частоту m/n можно представить в виде

n

m/n=(1/n) ∑ ξ k

k=1

Где ξk - количество наступлений события А в реализации с номером k, (осреднение по реализациям).

Тогда математическое ожидание и дисперсию частоты m/n

M(m/n)=p, D(m/n)=p(1-p)/n

По центральной предельной теореме частота m/n при достаточно больших n имеет распределение, близкое к нормальному. Поэтому для каждого значения достоверности можно выбрать из таблиц нормального распределения такую величину tα, что точность будет равна:

ε= tα D(m/n)= tα p(1-p)/n

Отсюда можно определить количество реализаций n, необходимых для получения оценки m/n с точностью ε и достоверностью α

α 0.60 0.85 0.95 0.99
tα 0.84 1.44 1.96 2.58

n= tα2p(1-p)/(ε2)

На практике часто определяющим при выборе числа реализаций является допустимый расход времени ЭВМ. В этом случае возможны два варианта оценки точности моделирования:

-для заданных количества реализаций n, достоверности α и полученной оценки вероятности Р вычислить точность ε;

- для заданных количества реализаций n,точности ε и полученной оценки вероятности Р, вычислить достоверность α.

Другим распространенным случаем является оценка по результатам моделирования среднего значения (математического ожидания) некоторой случайной величины.

Пусть случайная величина Х имеет среднее значение a и дисперсию s2. В реализации с номером k она принимает значение xk. В качестве оценки для среднего значения используется среднее арифметическое.

n

mx=(1/n) ∑xk

k=1

По центральной предельной теореме при больших значениях n среднее арифметическое будет иметь нормальное распределение с математическим ожиданием a и дисперсией s2/n. Поэтому точность

ε= tαs n

3.2.3. Формирование случайных чисел на ЭВМ

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

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

Рассмотрим основные способы образования последовательности случайных чисел.

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

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

Напомним основные свойства равномерного распределения. Непрерывная случайная величина Х имеет равномерное распределение на интервале (а,в), если ее функция плотности равна

F(x)={ 1/(b-a) a<x<b

0 вне этого интервала

Математическое ожидание и среднее квадратическое отклонение соответственно равны:

Mx=(a+b)/2, Sx=(b-a)/(2 3)

Программные способы формирования случайной последовательности чисел, как правило используют рекуррентную формулу вида xk+1=f(xk). Полученные таким образом случайные числа не являются случайными, но отвечают установленным критериям случайности. Поэтому их называют "псевдослучайными" числами.

Большинства программ получения псевдослучайных чисел используют метод:

xk+1=(xka+c)mod m,

С помощью которого получаются равномерно распределенные целые числа в пределах от 0 до m-1. для n -разрядных целых двоичных чисел m обычно равно 2n, а x0, а и с – целые числа из той же области. Рекомендуются следующие правила по выбору x0, а и с.

-x0 – может быть произвольным.

-выбор а должен удовлетворять следующим требованиям:

а – простое число;

a(mod8)=5

m<a<m- m

-в качестве с следует выбирать нечетное число, такое, что

c/m=1/2-(1/6) 3 =0.21132

библиотечная функция rand() (прототип в файле <stdlib.h>) генерирует последовательность целых псевдослучайных чисел равномерно распределенных в интервале (0, 32767). Посредством функции srand() можно установить или восстановить исходное число последовательности псевдослучайных чисел.

Если целочисленное Х находится в пределах от 0 до m, то дробь xk/m попадает в интервал (0,1).

Можно использовать директиву define

Define RND (float)rand()/32768.0

Переход от стандартного интервала (0,1) к произвольному (а,в) осуществляется по формуле

y=a+(b-a)x

Где y принадлежит равномерному распределению на интервале (a,b), а х – равномерному распределению на (0,1)

Нормальный закон наиболее часто встречается на практике. Он характеризуется плотностью вероятности

2 2

F(x)=1(s 2x)n-(x-m) /2s

Где m -математическое ожидание, s - среднее квадратическое отклонение величины Х.

Для получения последовательности случайных чисел xk, имеющих нормальное распределение воспользуемся центральной предельной теоремой и построим xk в виде сумм последовательных случайных чисел, имеющих равномерное распределение в интервале (0,1).

Стандартный алгоритм формирования случайных чисел Х, распределенных по нормальному закону с математическим ожиданием а и средним квадратическим отклонением s, имеет вид

12

y= ∑qk-6, x=a+sy

k=1

qk принадлежит равномерному распределению на интервале (0,1), а у - нормальному на интервале (0,1) и х тоже нормальному, но на интервале (а,s).

Для формирования возможных значений случайной величины У с заданным законом распределения исходным материалом служат реализации случайной величины Х, имеющей равномерное распределение в интервале (0,1). Один из способов такого преобразования состоит в выполнении некоторой операции над числом Х.

Идея построения такой операции вытекает из теоремы: если величина У имеет плотность распределения f(y), то распределение случайной величины

X= dy

Является равномерным в интервале (0,1).

Тогда, чтобы получить число, принадлежащее совокупности случайных чисел {yk}, необходимо разрешить относительно y уравнение:

dy=xk

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

f(y)=λe-λy (y>0)

Получим для верхнего предела интегрирования ук

Где ук -случайное число, имеющее равномерное распределение в интервале (0,1) или, после вычисления интеграла

λ-e-λy=xk

Разрешая это уравнение относительно Уk, имеем

yk=(-1/λ)ln(1-xk)

Учитывая, что случайная величина 1-xk, имеет также равномерный закон распределения в интервале (0,1), соотношение можно записать

yk=(-1/λ)ln(xk)

Таким образам могут быть построены процедуры и для других законов распределения.





Дата публикования: 2015-03-26; Прочитано: 559 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.016 с)...