система массового обслуживания

Надстройка "Системы массового обслуживания"

Магазины, больницы, банки, МФЦ, телефонные компании и т.д. - все это системы массового обслуживания (СМО). В целом системы неплохо описываются математическими формулами и моделями. Эти формулы известны, и как правило, позволяют сделать необходимый расчет. Для успешного функционирования любой СМО следует оптимально соотносить уменьшение потерь от длинных очередей с увеличением затрат на содержание дополнительных каналов обслуживания. Издержки на содержание каналов обслуживания обычно можно считать прямо пропорциональными числу каналов, а издержки от ожидания клиентов (или сотрудников) в очереди – пропорциональными длине очереди или времени ожидания, которые, согласно формулам теории очередей, резко падают с увеличением числа каналов обслуживания. В результате можно оценить оптимальное число каналов обслуживания, минимизирующее полные издержки, связанные с функционированием системы массового обслуживания. Надстройка для MS Excel «Системы массового обслуживания» предназначена для расчета параметров и анализа исследуемой СМО с пуассоновским потоком заявок, а также при нестандартном потоке заяок. Нестандартный поток заявок моделируется методом Монте-Карло. Достаточно выбрать вид СМО и ввести ее параметры и надстройка рассчитает все важные характеристики системы. Результаты выводятся в обычном листе Excel.

Описание надстройки "Системы массового обслуживания"

Запустите файл надстройки «Queueing Systems NN.nn.xlam».

При открытии файла появится сообщение об опасности макросов. Ответьте «Включить макросы» (вся рабочая часть надстройки и есть макросы, т.е. программа на языке VBA).

После запуска файла в MS Excel появится панель управления надстройкой:

Панель надстройки Системы массового обслуживания

Неограниченная очередь

Начало работы. Блок "Метод расчета".

Работа с надстройкой начинается с блока "Метод расчета". Здесь имеется два флажка, выбор одного из которых полностью меняет работу надстройки.

При выборе Формулы ТМО надстройка расчитывает параметры систем массового обслуживания по известным формулам теории массового обслуживания. Достаточно выбрать вид СМО и ввести ее параметры и надстройка рассчитает все характеристики системы, которые возможно рассчитать в теории.

При выборе МК - моделирование появится другая панель. МК - моделирование используетя для расчета параметров систем массового обслуживания с помощью простейшего статистического моделирования характеристик в случае, когда требования теории к функции распределения потоков клиентов или обслуживания не удовлетворяются.

Your browser does not support the HTML5 canvas tag.
Запуск надстройки. Команда Рассчитать.

После выбора Формулы ТМО на панели интерфейса надстройки необходимо отметить все параметры системы массового обслуживания, которую нужно проанализировать.

Для запуска надстройки нажмите на клавишу Рассчитать:

Клавиша запуска надстройки Системы массового обслуживания
Результат выбора Формулы ТМО.

Сводка результатов расчетов отображается на листе Excel. Для данных, выбранных на панели надстойки итоговый отчет имеет вид:

Вывод решения надстройки Системы массового обслуживания
Фактически надстройка решила задачу:

Компания планирует поставить аппарат по продаже напитков, закусок и кофе в торговом центре. Она оценивает поток клиентов 8 человек в час. В среднем автомат тратит 6 минут на обслуживание каждого клиента. Предполагая пуассоновский поток заявок и экспоненциальное распределение для времени обслуживания найти: a. Долю времени, когда автомат загружен; b. Долю времени, когда он бездействует; c. Среднее число клиентов у автомата; d. Среднее число клиентов в очереди у автомата; e. Среднее время, затрачиваемое клиентом для получения денег; f. Среднее время, которое клиент проводит в очереди; g. С какой вероятностью возле автомата будут стоять более 3 клиентов.

Замечания по вводу данных

Программа требует ввода трех характеристик - λ , μ и S :

λ - интенсивность входного потока (среднее число клиентов, приходящих в систему за единицу времени).
Предполагается пуассоновский входной поток - при этом поступление клиентов в систему независимое, а время между поступлениями заявок распределено экспоненциально.
Значение λ можно ввести как натуральное, десятичное и даже дробное числа в формате a / b. Но нельзя вводить смешаное число!

Your browser does not support the HTML5 canvas tag.

μ - средняя скорость, с которой каждый сервер может обслуживать клиентов. Иначе – среднее число клиентов, которых сервер может обслужить в единицу времени, или пропускная способность сервера (если он загружен на 100%). Функция распределения для потока обслуживания тоже экспоненциальная.
Значение μ можно ввести как натуральное, десятичное и даже дробное числа в формате a/b. Но нельзя вводить смешаное число!
Если величина введенного числа выходит за допустимые смысловые границы, которые устанавливает модель для данного входного параметра, программа выдает предупреждающее сообщение и требует изменить ввод.

S - количество серверов. В модели предполагается, что все серверы совершенно одинаковы, т.е. среднее время обслуживания клиентов строго одинаково, а функция распределения времени обслуживания экспоненциальная у всех серверов. (Технический предел числа серверов - 30.)
Формат S натуральное число, меньше 31. Если нужно сравнить характеристики системы при нескольких значениях S, можно задать интервал значений количества серверов, например: 1-5 или 4-10. В результате вы получите сводную страничку характеристик.

Как интенсивность потока, так и скорость обслуживания (или пропускная способность) имеют одинаковую размерность: количество клиентов за единицу времени. Безразлично, какую единицу времени выбрать. Главное, чтобы она была одинакова и для λ, и для μ . В листе результатов расчета будет использована выбранная единица времени.
Обратите внимание, если μ * S < = λ, т.е. входной поток больше (или равен) суммарного потока обслуживания, то обслужить всех клиентов невозможно, и очередь неограниченно растет. В этом случае ни о каких средних характеристиках системы говорить невозможно (система нестационарна), и расчет не будет выполнен.
Если выбрать "МК - моделирование"

При выборе МК - моделирование появится новая панель интерфейса надстройки.

Панель интерфейса надстройки при выборе МК - моделирование

Надстройка готова выполнить статистическое моделирование (моделирование методом Монте-Карло ).
Для ввода параметров статистики добавлен блок "Статистика моделирования". Надстройка позволяет использовать не экспоненциальные распределения потоков клиентов или обслуживания, а Бета-распределение.

Your browser does not support the HTML5 canvas tag.

ΔTmin - минимальный интервал времени между заявками клиентов

ΔTλ - наиболее вероятное время между посуплениями заявок клиентов

ΔTmax - максимальный интервал времени между заявками клиентов.
При его определением необходимо исключить заявки при форс-мажорных обстоятельствах.

ΔTmin - минимальное время обслуживания клиентов в системе

ΔTμ - наиболее часто встречающееся время обслуживания клиентов

ΔTmax - максимально наблюдаемое время обслуживания клиентов.
При его определении необходимо исключить обслуживание при форс-мажорных обстоятельствах.

Наглядное сравнение экспоненциального распределения и бета-распределения входного потока и скорости обслуживания клиентов.

Для сравнения наведите курсор на диаграмму:

Статистика моделирования. Так как моделирование всегда начинается с пустой системы без обслуживающихся клиентов, то выход модельной системы на стационарное состояние занимает некоторое заранее неизвестное время. Ввиду этого цепочка моделируемых событий не должна быть слишком короткой. Значение по умолчанию (1000 единиц времени) чаще всего вполне подходит. Однако имеет смысл посмотреть, не отличаются ли результаты моделирования при более длинной заданной цепочке.
Параметр Число опытов" задает количество повторений моделирования цепочки событий. Чаще всего с учетом практически требуемой точности моделирования достаточно 100 повторений. Так как время моделирования (в сек) указано в результатах расчета, всегда можно сориентироваться, не приведет ли увеличение задаваемой статистики к неприемлемо длительному расчету.

Ограниченная очередь

При выборе чекбокса Ограниченная очередь в панели надстройки появится новый блок Длина очереди.

Панель надстройки Системы массового обслуживания Ограниченная очередь
При отметке "Ограниченная очередь" в блоке "Модель СМО" надстройка расчитывает характеристики системы, в которой число клиентов не ограничено, но длина очереди ожидания (т.е. число клиентов поступивших в систему, но еще не обслуживающихся) не может быть больше заданной.

Программа требует ввода четырех характеристик - λ, μ, S и N.

Блок Длина очереди надстройки СМО

N - максимально возможная длина очереди (ограничение либо техническое, либо психологическое).
Параметр определяет количество клиентов (сверх тех, кто уже обслуживается серверами), которое будет поставлено системой в очередь на обслуживание.
Если поступающий клиент сталкивается с очередью максимальной заданной длины, он отвергается системой без обслуживания, что позволяет говорить о потерянных клиентах, которых при неограниченной очереди нет в принципе.

Выбираем МК - моделирование

При выборе МК - моделирование в интерфейсе надстройки появляется блок Длина очереди.

Блок длина очереди при выборе чекбокса МК-моделирование
При отметке "Монте-Карло-моделирование" в блоке "Метод расчета" надстройка должна выполнить статистическое моделирование (моделирование методом Монте-Карло ). Поэтому на панель надстройки добавлен блок "Статистика моделирования". В принципе, параметры по умолчанию в нем можно не менять.

Программа требует ввода от четырех характеристик до восьми характеристик - λ (или ΔTmin, ΔTλ и ΔTmax) , μ (или ΔTmin, ΔTμ и ΔTmax), S и N, если используются не экспоненциальные распределения потоков клиентов или обслуживания.

В задачах СМО "Ограниченная очередь" требование μ*S <= λ, т.е. входной поток больше суммарного потока обслуживания, не работает. Входной поток может быть больше суммарного потока обслуживания, и программа в этом случае выполнит расчет.

Ограниченная популяция

При выборе чекбокса Ограниченная популция в панели надстройки появится новый блок Популяция клиентов.

Панель надстройки Системы массового обслуживания Популяция клиентов
При отметке "Ограниченная популяция" надстройка расчитывает характеристики системы, в которой число клиентов ограничено и прямо задано. В этом случае очередь хоть и не ограничивается специально, но очевидно равна числу клиентов в системе минус число серверов.

Программа требует ввода четырех характеристик - λ, μ, S и K.

Блок Популяция клиентов надстройки СМО

K - размер популяции.
Число потенциальных клиентов, которые могут подать заявку на обслуживание. Максимальное значение K=50.

Очевидно, что S <= K. Так как при S > K часть серверов никогда не работает.
Так же, что при μ*S <= λ*K система обслуживания не справляется с потоком заявок. Надстройка в этом случает выдаст сообщение об ошибке.

Выбираем МК - моделирование
Панель надстройки Системы массового обслуживания Ограниченная популяция МК - моделирование

Программа требует ввода от четырех - λ , μ, S и K - до восьми характеристик: Блок Поток заявок ΔTmin, ΔTλ, ΔTmax, Блок Поток обслуживания ΔTmin, ΔTμ, ΔTmax, S и K (если используются не экспоненциальные распределения потоков клиентов или обслуживания).

Обратите внимание на различие в смысле входного параметра λ для моделей с бесконечной популяцией (с неограниченной или с ограниченной очередью) и данной моделью. Дело в том, что интенсивность входного потока в том смысле, в котором это понятие используется в моделях с бесконечной популяцией, в данной модели невозможно определить. Если в начальный момент в системе с популяцией из N членов нет заявок на обслуживания, то интенсивность входного потока будет равна λ*N. Однако, по мере увеличения числа ждущих в очереди заявок, число членов популяции, от которых может поступить заявка на обслуживание уменьшается. Значит уменьшается интенсивность входного потока. Таким образом, эта величина не является в данной модели постоянным параметром.
Если клиенты приходят в систему извне, популяция считается бесконечной (как в предыдущих рассмотренных моделях). Если же “клиенты” – это ткацкие станки в цехе, которые останавливаются при обрыве нити и ждут обслуживания со стороны ткачихи (сервера), то популяция конечна (ее численность равна числу станков, находящихся в зоне ответственности этой ткачихи). Программа допускает N<=50. При больших значениях N, система приближается по свойствам к системе с бесконечной популяцией.
Скачать надстройку "Системы массового обслуживания"
Скачать надстройку Скачать надстройку "Системы массового обслуживания" (примерно 180 кб)
Основная версия надстройки работает в 32-bit и 64-bit версиях MS Excel начиная с MS Office 2007. Более старые версии MS Excel не поддерживаются.
Файл надстройки имеет название: "«Queueing Systems уу. mm. xlam" (в зависимости от версии), может запускаться как обычный файл MS Excel (при этом нужно согласиться с запуском макросов надстройки), либо подключаться автоматически как любая надстройка.
О том, как подключить настройку, читайте здесь.