Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМИО.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3 Mб
Скачать
    1. Моделирование систем массового обслуживания

Рассмотрим задачу моделирования одноканальной СМО с каким-то распределением времени обслуживания. Предположим, что времена между поступлениями заявок независимы и имеют какое-то общее распределение. Все это означает, что мы будем моделировать систему вида . Заявки обслуживаются в порядке очередности.

Пусть заявка с номером приходит в момент времени ,

.

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

. (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, СЛЕНГ и др.