
- •Москва, 2004
- •Введение
- •1. Основные понятия теории моделирования
- •1.1 Понятие модели. Виды моделей
- •Цель (человека)
- •1.2. Общие вопросы моделирования систем
- •1.3. Основные требования к моделям
- •1.4. Принципы моделирования
- •1.5 Вопросы для самоконтроля
- •5. Основные требования к моделям.
- •6. Принципы моделирования.
- •2. Компьютерное моделирование
- •2.1 Этапы моделирования
- •2.2 Определение цели моделирования.
- •Определение типа системы;
- •Описание рабочей нагрузки;
- •Декомпозиция системы.
- •2.3 Определение типа системы
- •2.4 Описание рабочей нагрузки.
- •2.5 Декомпозиция системы
- •2.6 Выбор между имитационной или аналитической моделью
- •2.7 Вопросы для самоконтроля
- •6. Декомпозиция системы.
- •3.Формализация модели.
- •3.1 Классификация схем построения имитационной модели
- •3.2. Представление динамики системы
- •3.3. Генераторы случайных чисел
- •3.4 Моделирование случайных факторов
- •3.5 Управление модельным временем
- •3.5.1 Виды представления времени в модели
- •3.5.2 Изменение времени с постоянным шагом
- •3.5.3 Моделирование по особым состояниям
- •3.6. Моделирование параллельных процессов
- •3.6.1. Виды параллельных процессов
- •3.6.2. Механизм реализации параллельных процессов в языках моделирования
- •3.7 Вопросы для самоконтроля
- •8. Виды представления времени в модели.
- •4. Программная реализация модели
- •5.Планирование модельных экспериментов
- •5.1 Задачи планирования экспериментов. Стратегическое и тактическое планирование.
- •5.2. Стратегическое планирование имитационного эксперимента
- •5.2.1. Цель стратегического планирования эксперимента
- •5.2.2. Способы построения стратегического плана
- •5.3. Тактическое планирование экспериментов
- •5.4 Вопросы для самоконтроля
- •6. Обработка и анализ результатов моделирования
- •6.1 Основная идея регрессионного анализа
- •6.2 Общая схема проведения расчетов
- •6.3 Оценка качества имитационной модели
- •6.3.1 Адекватность модели
- •6.3.2 Оценка устойчивости
- •6.3.3 Оценка чувствительности
- •6.4 Калибровка модели
- •6.5 Вопросы для самоконтроля
- •6. Оценка чувствительности.
- •7.1 Основные понятия теории массового обслуживания
- •7.2 Марковский процесс
- •7.2.1 Понятие марковского процесса
- •7.2.2 Потоки событий
- •7.3 Уравнения Колмогорова для вероятностей состояний. Финальные вероятности состояний
- •7.4 Схема гибели/размножения.
- •7.5 Формула Литтла.
- •7.6 Моделирование смо как Марковского процесса
- •7.7. Моделирование смо по событиям
- •Заключение
3.4 Моделирование случайных факторов
Д
ля
моделирования случайного события
А, вероятность которого равна рА,
достаточно сформировать одно равномерно
распределенное случайное число х
(ррсч) (0,1). При попадании х в интервал
(0, рс] считают, что событие наступило,
в противном случае – нет, т.е.
1, если х рс
А=
0, если х рс
)
Рис. 3.1 Моделирование случайного события
Пусть, например, вероятность отказа ВС составляет ро=0,3. Чтобы определить, возникнет ли событие (отказ) на очередном шаге моделирования, достаточно сгенерировать с помощью датчика равномерно распределенных случайных чисел одно случайное число и сравнить его с вероятностью отказа (рис. 3.1).
Для моделирования полной группы несовместных случайных событий А={A1, A2, …AN} с вероятностями р1, р2, pN также достаточно одного значения х. Событие Aj из группы А считается наступившим, если выполняется условие
j-1
j
А= Aj pi < x < pi; j=1,N (*)
i=0 i=0
П
ример.
Предположим, что в каждый момент времени
может происходить обращение к одному
из 3-х модулей оперативной памяти ВС.
Вероятности обращения к каждому из них
р1=0.3, р2=0.5, р3=0.2. Чтобы
узнать, из какого именно модуля будут
считаны данные, необходимо определить,
в какой интервал попадает полученное
от датчика случайное число х
(рис.3.2).
Если группа событий не полна, то вводят фиктивное событие An+1 с вероятностью pn+1, такой, что сумма вероятностей всех событий становится равной 1, т.е. дополняют группу до полной. После этого генерируют число х и проверяют условие (*). При А=An+1 считают, что ни одно из событий не наступило, система осталась в прежнем состоянии.
Для моделирования дискретных случайных величин (СВ) чаще всего используется метод последовательных сравнений. Число х последовательно сравнивают со значениями суммы р1+р2+…, где р1 – вероятность наименьшего значения СВ, р2 – вероятность следующего по величине значения и т.д. При первом же выполнении условия
n
x< pi , проверка прекращается и СВ принимает значение yn.
i=1
Пример. Случайная величина может принимать значения (3,7,10).
р1(3)=0.7, р2(7)=0.2, р3(10)=0.1 Пусть х=0.528, тогда значение СВ равно 3. Для х=0.817 значение СВ – 7.
Для моделирования непрерывных случайных величин упрощенный табличный метод основан на замене закона распределения СВ специальными расчетными соотношениями, которые позволяют вычислять значения СВ по значению ррсч(0,1). Такие соотношения получены для всех наиболее распространенных распределений и приведены в справочной литературе.
Например, для
нормального закона распределения u=
(*), где xi
– ррсч (0,1); для показательного распределения
u= - 1/*ln(х).
Пример1. Любая величина, зависящая от большого количества случайных факторов, может считаться распределенной по нормальному закону. Например, игра в «дартс». Координаты точек попадания дротика можно считать распределенным по нормальному закону, где m – координаты центра круга, а S -- отклонение от цели по осям. Пусть m=(0,0), Sx=Sy=5. Для моделирования очередной точки попадания надо получить две последовательности ррсч(0,1), по 12 чисел в каждой, и подставить их для каждой координаты в формулу для нормального закона распределения (*).
Пример 2. Доказано, что интервалы времени между отказами распределены по экспоненциальному закону. Чтобы в модели получить величину промежутка времени между двумя соседними отказами, достаточно сгенерировать одно ррсч(0,1) х и подставить его в формулу u= - 1/*ln(х)
В одной и той же ИМ могут фигурировать различные случайные факторы, распределенные по разным законам. Одни могут быть представлены как случайные события, а другие – как случайные величины. И если они все будут использовать один и тот же датчик случайных чисел, то с математической точки зрения их нельзя считать независимыми. В связи с этим, для моделирования каждого случайного фактора стараются использовать отдельный генератор.