
- •Учебное пособие по дисциплине «Моделирование» содержание
- •1. Основные определения и понятия теории моделирования, области использования
- •2. Основные методы моделирования
- •3. Классификация видов моделирования
- •4. Математические модели систем
- •5. Основные подходы к построению моделей системы
- •6. Введение в имитационное моделирование систем
- •6.1. Проблемы применения имитационного моделирования
- •6.2. Принцип t и особых состояний z
- •6.3. Пример использования принципа при моделировании системы
- •6.4. Пример использования принципа особых состояний при моделировании системы
- •7. Математические основы имитационного моделирования
- •7.1. Методы генерации случайных чисел
- •7.2. Методы имитационного моделирования случайных величин
- •7.3. Имитационное моделирование случайных событий
- •8. Статистическое моделирование
- •8.1. Метод статистического моделирования
- •8.2. Обработка результатов моделирования
- •9. Элементы теории Марковских случайных процессов, используемые при моделировании систем
- •9.1. Потоки событий
- •9.2. Марковский случайный процесс
- •9.3. Марковский случайный процесс «гибели и размножения»
- •10. Элементы теории массового обслуживания, применяемые при моделировании систем
- •10.1. Основные определения и понятия. Структура смо. Классификация смо
- •10.2. Системы массового обслуживания, в которых протекает Марковский случайный процесс «гибели и размножения»
- •10.2.1. Основные типы систем, соответствующие процессу «гибели и размножения»
- •10.2.2. Расчет характеристик смо на основе использования аналитического метода
- •1. Расчет многоканальных систем без потерь с неограниченным ожиданием и бесконечным потоком требований на входе (разомкнутые системы)
- •2. Расчет многоканальных систем с отказами и бесконечным потоком требований на входе (разомкнутые системы)
- •3. Расчет многоканальных систем без потерь с источником конечного числа требований (замкнутые системы)
- •4. Смо с «взаимопомощью» между каналами
- •5. Смо с ошибками в обслуживании
- •11. Инструментальные средства моделирования
- •11.1. Классы инструментальных средств
- •11.2. Технология разработки имитационной модели
- •11.3. Моделирование работы вычислительной системы в среде gpss/World
- •3. Моделирование одноканальных устройств
- •4. Очереди. Блоки queue и depart
- •5. Моделирование многоканальных устройств
- •11.4. Моделирование значений случайной величины с заданным законом распределения и обработка результатов моделирования средствами gpss/World
- •1. Моделирование последовательности значений случайных величин с заданным законом распределения
- •2. Обработка результатов моделирования
- •11.5. Основные направления развития инструментальных средств моделирования
- •Список литературы
6.4. Пример использования принципа особых состояний при моделировании системы
Пусть рассматриваемая система – библиотека, в которой работает один библиотекарь. Задан интервал прихода между читателями (равномерный 2-6). Задан интервал обслуживания (равномерный 3-4). Реализовать моделирование работы библиотеки по обслуживанию 100 читателей. Рассчитать среднее время ожидания в очереди и вероятность простоя библиотекаря.
1 шаг. Выберем входные, промежуточные и выходные переменные
входные и промежуточные переменные:
Т инт. прих. – интервал между приходом читателей;
Т инт. обс. – интервал облуживания читателя
Т прих. – момент прихода очередного читателя;
Т нач. обс. – момент начала обслуживания очередного читателя;
Т ок. обс. – момент окончания обслуживания очередного читателя;
выходные переменные:
Т ож. – время ожидания читателя в очереди;
Т простоя – время простоя библиотекаря до прихода очередного читателя;
Т ож.ср. – среднее время ожидания читателя в очереди;
Т простоя – суммарное время простоя библиотекаря;
Р простоя – вероятность простоя библиотекаря.
В табл. 2. и рис. 6 приведены данные ручного моделирования обслуживания первых четырех читателей для иллюстрации принципа особых состояний моделирования системы. Интервалы прихода читателей и интервалы обслуживания заданы произвольно.
Таблица 2. Имитационное моделирование обслуживания читателей
Номер шага (читателя) |
T инт. прихода |
T инт. обсл |
T прихода |
T начала. обс. |
T ок. обс. |
T ожидания в очереди |
T простоя библиот. |
1 |
3 |
4 |
3 |
3 |
7 |
0 |
3 |
2 |
5 |
3 |
8 |
8 |
11 |
0 |
1 |
3 |
2 |
4 |
10 |
11 |
15 |
1 |
0 |
4 |
3 |
4 |
13 |
15 |
19 |
2 |
0 |
… |
|
|
|
|
|
|
|
100 |
|
|
|
|
|
|
|
Рис. 6.
2 шаг. Разработка блок-схемы алгоритма имитации СМО (рис. 7)
3 шаг. В соответствии с разработанной блок-схемой составляется программа имитации работы СМО на любом языке программирования с использованием любых программных средств.
4 шаг. Расчет показателей эффективности СМО с помощью разработанной программы имитации.
5 шаг. Анализ полученных результатов, оценка эффективности СМО.
Рис. 7. Блок-схема алгоритма имитации работы СМО
7. Математические основы имитационного моделирования
7.1. Методы генерации случайных чисел
Существует три способа генерации случайных чисел:
Аппаратный - в основе лежит какой-либо физический эффект (например, шумы в электронных устройствах, случайные числа вырабатываются с помощью специального датчика. Этот способ не гарантирует качество последовательности случайных чисел непосредственно во время моделирования. С помощью этого способа нельзя получать одинаковые последовательности. Используется редко.
Табличные - случайные числа оформлены в виде таблицы в оперативной памяти или на внешнем носителе. При этом способе запас чисел ограничен, вычислительные ресурсы используются неэффективно. Используется редко.
Программный (алгоритмический) - случайные числа формируются с помощью специальных программ. Каждое случайное число вычисляется с помощью соответствующей программы по мере возникновения потребностей при моделировании системы на ЭВМ. Этот способ наиболее распространен.
Программная имитация случайных воздействий сводится к генерированию некоторых стандартных (базовых) процессов и к их последующему функциональному преобразованию. Чаще всего в качестве базовой последовательности используют независимые случайные величины, равномерно распределенные на интервале (0,1).
Непрерывная случайная величина имеет равномерное распределение в интервале (a,b), если ее функции плотности и распределения соответственно примут вид
Для получения случайных чисел на ЭВМ используются алгоритмы, поэтому такие последовтельности, являющиеся по сути детерминированными, называются псевдослучайными. ЭВМ оперирует n-разрядными числами, поэтому поэтому на ЭВМ вместо непрерывной совокупности равномерных случайных чисел интервала (0,1) используют дискретную последовательность 2n случайных чисел того же интервала - закон распределения такой дискретной последовательности называется квазиравномерны распределением.
Требования к идеальному генератору случайных чисел:
Последовательность должна состоять из квазиравномернло распределенных чисел.
Числа должны быть независимыми.
Последовательности случайных чисел должны быть воспроизводимыми.
Последовательности должны иметь неповторяющиеся числа.
Последовательности должны получаться с минимальными затратами вычислительных ресурсов.
Наибольшее применение в практике моделирования на ЭВМ для генерации последовательностей псевдослучайных числе находят алгоритмы вида:
xi+1=Ф(xi),
представляющие собой реккурентные соотношения первого порядка.
Одна из первых процедур исторически сложившихся – метод серединных квадратов.
Пример. x0 = 0,2152 , (x0)2=0,04631104 , x1 = 0,6311 , (x1)2=0,39828721, x2=0,8287 и т.д. Пусть имеется 2n-разрядное число меньше 1, возведем его в квадрат, а затем отберем средние 2n разрядов.
Недостаток подобных методов - наличие корреляции между числами последовательности, а иногда случайность вообще отсутствует, например:
x0 = 0,4500 , (x0)2=0,20250000, x1 = 0,2500 , (x1)2=0,06250000, x2=0,2500 и т.д.
Широкое применение получили конгруэнтные процедуры генерации псевдослучайных последовательностей.
В основе лежит понятие конгруэнтности. Два целых числа и конгруэнтны (сравнимы) по модулю m, где m - целое число, тогда и только тогда, когда существует такое целое число k, что -=km, т.е. если разность делится на m и если числа и дают одинаковые остатки от деления на абсолютную величину числа m.
Пример: =9375 и =1875: 9375-1875=7500=4*1875
9375-6875=2500=4*625.
Большинство конгруэнтных процедур генерации случайных чисел основаны на следующей формуле:
где
- неотрицательные целые числа.
По целым числам последовательности {Xi} можно построить последовательность {xi}={Xi/M} рациональных чисел из единичного интервала (0,1).
Конгруэнтная процедура получения последовательности псевдослучайных чисел квазиравномерно распределенных чисел может быть реализована мультипликативным или смешанным методом.
Мультипликативный метод.
Задает последовательность неотрицательных целых чисел {Xi} не превосходящих М по формуле:
,
где
-
неотрицательные целые числа.
Выражение
означает:
равен остатку от деления
на
M.
В силу детерминированности метода получают воспроизводимые последовательности.
В качестве X0
выбирают
произвольное нечетное число; М – число
определяющее, наибольшее значение
получаемых случайных чисел, при машинной
реализации
,
р – основание системы счисления, g
– число бит в машинном слове.
Смешанный метод.
Задает последовательность неотрицательных целых чисел {Xi} не превосходящих М по формуле:
,
где
- неотрицательные целые числа.
С вычислительной точки зрения метод сложнее, но введение дополнительного параметра позволяет уменьшить возможную корреляцию между генерируемыми числами.
В настоящее время почти все библиотеки стандартных программ для вычисления последовательностей равномерно распределенных СЧ основаны на конгруэнтной процедуре.
Применяемые генераторы случайных чисел перед моделированием должны пройти тщательное предварительное тестирование на равномерность, стохастичность и независимость получаемых последовательностей случайных чисел.
Методы улучшения качества последовательностей случайных чисел:
Один из методов: использование рекуррентных формул порядка r:
Но применение этого способа приводит к увеличению затрат вычислительных ресурсов на получение чисел.