Теория массового обслуживания
!!! ВНИМАНИЕ !!! Этот раздел будет состоять из нескольких страниц, остальные из которых в данный момент находится в стадии написания. Но уже написанная часть достаточно интересная, поэтому я считаю, что будет полезно уже сейчас сделать её доступной читателям
Давно-давно, когда мы были студентами, этот раздел математики у нас выпил немало студенческой крови. А между тем, этот раздел чрезвычайно интересный!
- Моделирование СМО — для тех, кто уже всё знает.
Датский инженер Агнер Эрланг работал в телефонной компании и занялся в начале XX в. рассчётами, касающимися работы телефонной станции: какая доля попыток позвонить не будет успешной, т.к. заняты все линии, сколько нужно иметь линий связи, если абоненты могут дожидаться освобождения линии или если будут прекращать попытку. В технике фамилия датского инженера осталась в виде единицы измерения абонентской нагрузки Эрланг (Эрл).
1 Эрл - это занятие одной телефонной линии в течение 1 часа.
Позже возник целый раздел математики - Теория Массового Обслуживания, который позволяет решать различные задачи, касающиеся далеко не только телефонии.
Я не ставлю себе целью написать целый учебник по ТМО. Такого роду материалов в интернете много. «Изюминкой» моей статьи должен стать интерактивный онлайн-расчётник, который позволит менять исходные данные и смотреть, как будет меняться поведение системы.
Главные понятия Теории:
- Система массового обслуживания (СМО)
- объект, принимающий заявки и осуществляющий их обслуживание. Для обслуживания в состав СМО может входить один или несколько приборов
- Сеть массового обслуживания (СеМО)
- несколько СМО, между которыми заявки циркулируют. Заявка поступает в какую-либо СМО сети, а получив обслуживание, может поступить в другую СМО сети либо покинуть её.
- Заявка
- объект, поступающий в СМО и требующий обслуживания. Также может называться требованием, запросом или как-то ещё.
- Прибор
- часть СМО, которая осуществляет обслуживание заявки. Также может называться обслуживающим устройством, каналом, либо это может быть работник или целая бригада.
- Очередь
- множество заявок, поступивших в СМО, обслуживание которых ещё не началось по причине занятости всех приборов в системе.
- Накопитель
- Часть СМО, в которой содержится очередь.
Исходные данные для рассчётов в ТМО
- λ - интенсивность потока заявок
- среднее количество заявок, поступающих в систему в течение заданного количества времени. Единица измерения - заявок в час (час-1)
- μ - интенсивность обслуживания
- среднее количество заявок, которое прибор может обслужить в течение заданного количества времени. Единица измерения - заявок в час (час-1)
- n - количество обслуживающих приборов
- количество приборов в составе СМО, каждый из которых может обслуживать заявки. Поступающая заявка обслуживается в любом свободном приборе, т.е. все приборы работают параллельно.
- Характер потока заявок и обслуживания
- По своей сути, закон распределения случайной величины времени между поступлением заявок (если речь идёт о потоке заявок) или продолжительности обслуживания конкретной заявки (если речь идёт об интенсивности обслуживания). Может иметь экспоненциальное, нормальное, равномерное или ещё какое угодно распределение. Поток заявок может вообще иметь детерминированный характер (по расписанию), а продолжительность обслуживания может быть и константной
- m - Размер накопителя
- Размером накопителя определяется характер СМО: при нулевом размере заявка получает отказ в обслуживании при отсутствии свободных приборов. Если накопитель бесконечный, все заявки будут ожидать обслуживания по мере освобождения приборов. Если же размер накопителя конечный, то при наличии свободных мест заявка помещается в очередь, а при заполнении накопителя заявка получает отказ в обслуживании
Основные показатели работы СМО
- ρ - коэффициент загрузки
- отношение интенсивности потока заявок к суммарной интенсивности обслужвания. Коэффициент загрузки позволяет определить, будет ли система справляться с задачами или из-за перегрузки будет неработоспособной.
- Вероятность наличия в системе n заявок, вероятность простоя системы
- наибольшее количество задач ТМО требует найти оптимальное количество обслуживающих приборов или размер накопителя.
- Вероятность и среднее время ожидания
- доля заявок, которые попадают в очередь, среднее время пребывания заявок в ожидании начала обслуживания
- Вероятность отказа
- доля заявок, получающих отказ в обслуживании. Неактуально для систем с бесконечным накопителем.
Какие задачи позволяет решать ТМО?
Вот несколько типичных задач, которые могут быть решены с применением аппарата теории массового обслуживания. На этой странице скоро появится расчётник, который позволит найти решение этих задач.
- Классическая задача. Справочная служба имеет многолинейный телефонный номер,
в среднем разговор оператора с абонентом длится 3 минуты, а в течение суток
поступает 600 звонков. Сколько нужно иметь телефонных линий (и посадить
операторов), чтобы не более 2% звонков оставались без ответа по причине
занятости всех линий? А если звонков будет 300 или 1400 в течение суток?
В терминах ТМО задача звучит так:- λ = 25 звонков в час (600 звонков поделить на 24 часа)
- μ = 20 звонков в час (60 минут поделить на 3)
- m = 0 (при занятости всех линий звонящий абонент услышит гудки «занято»)
- Найти n, при условии, что вероятность отказа 2%
- В резервуар водонапорной башни железнодорожной станции непрерывно поступает
вода - по кубометру воды за 3 минуты. От водонапорной башни воду получают
три гидроколонки для снабжения паровозов водой. На каждую колонку заезжает
паровоз в среднем раз в 2 часа и берёт от 10 до 30 кубометров воды
(количество воды равномерно распределено в указанном диапазоне). При
переполнении резервуара вода вытекает из переливной трубы, чего желательно
избегать. Какой объём резервуара требуется водонапорной башне?
В терминах ТМО задача звучит так:- λ = 20 м3 в час
- μ = 10 м3 в час (математическое ожидание разового
расхода 20 м
, делить на промежуток в 2 часа) - n = 2 - количество каналов обслуживания (гидроколонок)
- Найти m - размер накопителя, т.е. резервуара при условии нулевой вероятности отказа
- В кассу вокзала приходит в среднем по 200 человек в час. Каждого будущего
пассажира кассир обслуживает в среднем 4 минуты. Сколько должно работать касс,
чтобы касса успевала обслужить каждого желающего? А сколько должно работать
касс, чтобы люди стояли в очереди не более 20 минут?
В терминах ТМО:- λ = 200 человек в час
- μ = 15 человек в час (60 минут поделить на 4)
- m = ∞, т.е. в очереди может быть бесконечно много людей
- Найти n, при котором S имеет конечную величину
Пора уже что-то посчитать!
Вычислительные мощности, доступные каждому в XXI веке колоссальны, и позволяют легко и непринуждённо проводить ресурсоёмкий расчёт - имитационное моделирование. В таблице ниже осуществляется моделирование простенькой одиночной системы массового обслуживания. Можно изменять любые из исходных данных и наблюдать, как система отзывается. Можно, например, увеличить интенсивность потока заявок и наблюдать, как система будет «утопать» в заявках (или увеличится поток отказов, если размер накопителя конечен). А вслед за этим можно увеличить количество приборов в системе и наблюдать, как показатели работы придут в норму. В этом расчёте предельная длина очереди равна 1000. Для большинства применений это можно считать бесконечно большим накопителем, однако следует помнить, что если в накопителе окажется больше тысячи заявок, расчёт будет некорректным.
Параметр | Величина | Пояснение |
Исходные данные | ||
λ | в час - Интенсивность потока заявок | |
Pμ(t) | Закон распределения времени обслуживания: экспоненциальный. Подробнее о законах распределения |
|
μ | в час - Интенсивность потока обслуживания (каждым прибором) | |
n | Количество каналов обслуживания (не более 50) | |
Результаты моделирования (на момент) | ||
t | Время моделирования | |
S | Состояние СМО, т.е. количество заявок на обслуживании + в накопителе | |
S-n | Длина очереди | |
Статистика, показатели работы системы | ||
— | Количество поступивших заявок | |
p0 | Вероятность простоя СМО | |
P1-n | Загруженность обслуживающих приборов | |
SMAX | Максимальное количество заявок в системе за время моделирования | |
pW | Вероятность ожидания | |
TW | Среднее время ожидания, мин. | |
TWmax | Максимальное время ожидания, мин. | |
Pn | Распределение вероятностей пребывания
СМО в различных состояниях |
|
TW | Распределение времени ожидания
в очереди |
Если интересно, см. подробное описание математической модели в этой таблице. Даже такая модель позволяет делать интересные наблюдения. Например, можно сравнить несколько СМО с одинаковой производительностью μ×n, обслуживающих одинаковый поток заявок λ, но содержащих различное количество обслуживающих приборов n. В зависимости от того, стремимся ли мы сократить количество обслуживающих аппаратов или же вероятность ожидания, выгодным будет либо наличие одного высокопроизводительного прибора, или десятка низкопроизводительных. Также видно, что среднее арифметическое времени ожидания - величина коварная. Надо будет сделать расчёт медианной величины...
См. также:
- Законы распределения случайных величин
- Моделирование системы массового обслуживания — более серьёзный расчёт с более гибко регулируемыми параметрами