
- •Принятие решений в условиях неопределенности и в условиях риска
- •Принятие решений в условиях неопределенности
- •Принятие решений в условиях риска
- •Стохастическое программирование
- •Вероятностные модели управления запасами
- •2.1. Одноэтапная модель управления запасами
- •Одноэтапная модель с учетом затрат на оформление заказа
- •Многоэтапная модель управления запасами
- •Управление запасами с учетом издержек на производство
- •3. Марковские цепи
- •Марковские цепи. Уравнение Колмогорова-Чэпмена
- •3.2 Марковские цепи с дискретным временем. Теорема о предельных вероятностях
- •3.3. Марковские цепи с непрерывным временем. Уравнения Колмогорова
- •Пуассоновский процесс
- •Простейший поток
- •Пуассоновский поток как марковский процесс. Немарковские потоки
- •Сложный пуассоновский процесс и процессы риска в страховой математике
- •Системы массового обслуживания
- •Марковские системы массового обслуживания
- •Процессы рождения и гибели. Одноканальная марковская смо с бесконечной очередью
- •Многоканальная марковская смо с ожиданием. Дисциплины взаимопомощи
- •Задача о ремонте станков
- •Немарковские модели смо
- •6. Марковские процессы принятия решений
- •6.1. Модели с конечным горизонтом планирования. Задача о замене оборудования
- •6.2. Задача о наилучшем выборе
- •Модели с бесконечным горизонтом планирования
- •7. Статистическое моделирование
- •7.1. Моделирование случайных величин
- •7.2. Моделирование случайных процессов в страховой и финансовой математике
- •Моделирование систем массового обслуживания
- •Статистический анализ данных. Методы уменьшения дисперсии
- •7.5. Метод Монте Карло марковских цепей. Метод отжига в задачах комбинаторной оптимизации
- •Приложение Сводка определений и теорем теории вероятностей и математической статистики
- •Литература
- •Оглавление
- •Глава 1. Принятие решений в условиях неопределенности и в условиях риска
- •Глава 2. Вероятностные модели управления запасами
- •Глава 3. Марковские цепи
- •Глава 4. Пуассоновский процесс
- •Глава 5. Системы массового обслуживания
- •Глава 6. Марковские процессы принятия решений
- •Глава 7. Статистическое моделирование
Моделирование систем массового обслуживания
Рассмотрим задачу
моделирования одноканальной СМО с
каким-то распределением времени
обслуживания. Предположим, что времена
между поступлениями заявок независимы
и имеют какое-то общее распределение.
Все это означает, что мы будем моделировать
систему вида
.
Заявки обслуживаются в порядке
очередности.
Пусть заявка с номером приходит в момент времени ,
.
Обозначим через
время между приходом
-ой
и
-ой
заявок:
.
Пусть
-ая
заявка обслуживается время
,
а время, которое эта заявка будет ждать
обслуживания, обозначим
.
Покажем, что выполняются рекуррентные
соотношения
.
(7.16)
Действительно,
-ая
заявка покидает систему в момент времени
,
а
-ая
заявка приходит в момент времени
.
Следовательно, время ожидания
-ой
заявки равняется
(7.17)
при условии, что правая часть (7.16) положительна, и 0, если она отрицательна. Таким образом,
.
Соотношение (7.18)
позволяет нам моделировать последовательность
времени ожиданий
.
Пусть последовательность
образует последовательность независимых
случайных величин с функцией распределения
,
а последовательность
является последовательностью независимых
величин с функцией распределения
.
Предположим для простоты, что мы можем
вычислить обратные функции
и
и , следовательно, можем применить метод
обратного преобразования. Обозначим
через
и
две независимые последовательности с
равномерным распределением
.
Положив
,
вычисляем рекуррентным образом
.
Среднее значение времени ожидания оценивается как
.
(7.18)
Если у системы существует предельный стационарный режим, то для оценки (7.18) среднего времени ожидания в стационарном режиме надо выбрать достаточно большое значение . Если мы хотим оценить какую-то характеристику СМО, относящуюся к начальному периоду функционирования системы, то мы должны моделировать интересующую нас величину какое-то количество раз, всякий раз используя независимые последовательности случайных чисел, и затем вычислить выборочное среднее.
Приведем теперь более подробное описание алгоритма моделирования одноканальной СМО, позволяющего собирать статистическую информацию о ее характеристиках. Алгоритм отслеживает цепочку событий, которые происходят с системой и обновляют необходимые статистики в те моменты времени, когда происходят эти события. Под событием понимается уход или приход очередной заявки. Такой метод называется методом моделирования дискретных событий.
Пусть время между поступлениями заявок
имеет функцию распределения
,
время обслуживания имеет функцию
распределения
.
Предположим, что первая заявка приходит
в систему в момент времени 0. Дисциплина
обслуживания - FIFO. Введем
обозначения:
– время прихода очередной заявки в
систему
– время ухода очередной заявки из
системы
– время наступления очередного
события (текущее время)
– текущее количество заявок в очереди
– время моделирования
– количество заявок, вставших в очередь
за время моделирования
– суммарное время ожидания всех заявок
– время простоя канала обслуживания
за период моделирования
– суммарное время обслуживания всех
заявок
– суммарное время пребывания заявки
в системе
– количество поступивших заявок за
время моделирования.
Шаг 1. Задать время моделирования , закон распределения времени обслуживания , закон распределения времени между поступлениями заявок
Шаг 2. Установить начальные условия:
=0
=0
=0
=0
=0
=0
=1
Шаг 3. Прогенерировать случайное число из распределения . Промоделировать время ухода очередной заявки:
Шаг 4. Прогенерировать случайное число из распределения . Промоделировать время прихода очередной заявки:
Шаг 5. Если следующим событием является
уход заявки, т.е. если
,
то переход к шагу 6; в противном случае
переход к шагу 14
Шаг 6. Если очередь пуста, т.е. если
,
то переход к шагу 11; в противном случае
переход к шагу 14
Шаг 7. Установить время наступления очередного события (ухода заявки):
И обновить время простоя канала обслуживания:
Шаг 8. Установить время наступления очередного события (прихода заявки):
Увеличить количество поступивших заявок на единицу:
Шаг 9. Если текущее время больше времени моделирования , то переход к шагу 19, в противном случае переход к шагу 3
Шаг 10. Обновить суммарное время ожидания:
Шаг 11. Установить время наступления очередного события (ухода заявки):
Уменьшить количество заявок в очереди на единицу:
Шаг 12. Прогенерировать случайное число из распределения . Промоделировать время ухода очередной заявки:
Шаг 13. Если текущее время больше времени моделирования , то переход к шагу 19, в противном случае переход к шагу 5
Шаг 14. Обновить суммарное время ожидания:
Шаг 15. Установить время наступления очередного события (прихода заявки):
Увеличить количество поступивших заявок на единицу:
Шаг 16. Если уход и приход очередных
заявок совпадают
,
то переход к шагу 9, в противном случае
переход к шагу 17
Шаг 17. Увеличить текущее количество заявок в очереди на единицу:
Увеличить общее количество заявок, вставших в очередь, на единицу:
Шаг 18. Если текущее время больше времени моделирования , то переход к шагу 19, в противном случае возврат к шагу 4
Шаг 19. Вычислить и вывести на печать следующие статистики:
Суммарное время обслуживания всех заявок :
Суммарное время пребывания всех заявок в системе :
Среднее время пребывания заявки в
системе
:
Среднее время пребывания заявки в канале
обслуживания
:
Среднее
время пребывания заявки в очереди
:
Среднее время пребывания в очереди
заявок, стоявших в очереди
:
Доля времени, в течение которого
происходит обслуживание
:
.
Для моделирования сложных систем и сетей массового обслуживания используются специализированные языки моделирования GASP, GPSS, SIM SCRIPT, СЛЕНГ и др.