Моделирование систем массового обслуживания
Достаточно часто при анализе экономических систем приходится решать т. н. задачи массового обслуживания, возникающие в следующей ситуации. Пусть анализируется система технического обслуживания автомобилей, состоящая из некоторого количества станций различной мощности. На каждой из станций (элементе системы) могут возникать, по крайней мере, две типичных ситуации:
· число заявок слишком велико для данной мощности станции, возникают очереди и за задержки в обслуживании приходится платить;
· на станцию поступает слишком мало заявок и теперь уже приходится учитывать потери, вызванные простоем станции.
Ясно, что цель системного анализа в данном случае заключается в определении некоторого соотношения между потерями доходов по причине очередей и потерями по причине простоя станций. Такого соотношения, при котором математическое ожидание суммарных потерь окажется минимальным.
Так вот, специальный раздел теории систем — теория массового обслуживания, позволяет
· использовать методику определения средней длины очереди и среднего времени ожидания заказа в тех случаях, когда скорость поступления заказов и время их выполнения заданы;
· найти оптимальное соотношение между издержками по причине ожидания в очереди и издержками простоя станций обслуживания;
· установить оптимальные стратегии обслуживания.
Обратим внимание на главную особенность такого подхода к задаче системного анализа — явную зависимость результатов анализа и получаемых рекомендаций от двух внешних факторов: частоты поступления и сложности заказов (а значит — времени их исполнения).
Но это уже связи нашей системы с внешним миром и без учета этого факта нам не обойтись. Потребуется провести исследования потоков заявок по их численности и сложности, найти статистические показатели этих величин, выдвинуть и оценить достоверность гипотез о законах их распределения. Лишь после этого можно пытаться анализировать — а как будет вести себя система при таких внешних воздействиях, как будут меняться ее показатели (значение суммарных издержек) при разных управляющих воздействиях или стратегиях управления.
Очень редко при этом используется сама система, производится натуральный эксперимент над ней. Чаще всего такой эксперимент связан с риском потерь заказчиков или неоправданными затратами на создание дополнительных станций обслуживания.
Поэтому следует знать о таком особом подходе к вопросу моделирования систем как метод статистических испытаний или метод Монте Карло.
Вернемся к примеру с анализом работы станций обслуживания. Пусть у нас всего лишь одна такая станция и заранее известны:
l —средняя скорость поступления заказов и
m —средняя скорость выполнения заказов (штук в единицу времени), и таким образом задана величина b = l / m— интенсивность нагрузки станции.
Уже по этим данным оказывается возможным построить простейшую модель системы. Будем обозначать X число заказов, находящихся в очереди на обслуживании в единицу времени, и попытаемся построить схему случайных событий для определения вероятности P(X).
Событие — в очереди находятся точно X заказов может наблюдаться в одной из четырех ситуаций.
· В очереди было Xзаказов (A1), за это время не поступило ни одного нового заказа (A2) и за это же время не был выполнен ни один заказ из находящихся в работе (A3).
· В очереди было X - 1заказов (B1), за это время поступил один новый заказ (B2) и за это же время не был выполнен ни один заказ из находящихся в работе (B3).
· В очереди было X + 1заказов (C1), за это время не поступило ни одного нового заказа (C2) и за это же время был выполнен один заказ из находящихся в работе (C3).
· В очереди было Xзаказов (D1), за это время поступил один новый заказа (D2) и за это же время был выполнен один заказ из находящихся в работе (D3).
Такая схема событий предполагает особое свойство "технологии" нашей системы — вероятность поступления более одного заказа за рассматриваемую единицу времени и вероятность выполнения более одного заказа за то же время считаются равными 0.
Это не такое уж "вольное" допущение — длительность отрезка времени всегда можно уменьшить до необходимых пределов.
А далее все очень просто. Перемножая вероятности событий A1..3, B1..3, C1..3, D1..3, мы определим вероятности каждого из вариантов интересующего нас события — в течение заданного нами интервала времени длина очереди не поменялась..
Несложные преобразования суммы вероятностей всех четырех вариантов такого события приведут нас к выражению для вероятности длины очереди в X заказов:
P(X) = bx · (1-b),{3-13}
а также для математического ожидания длины очереди:
MX = b / (1-b).{3-14}
Оценить полезность такого моделирования позволят простые примеры. Пусть мы решили иметь всего лишь 50%-ю интенсивность нагрузки станции, то есть вдвое "завысили" ее пропускную способность по отношению к потоку заказов.
Тогда для b = 0.5имеем следующие данные:
Таблица 3.4
Очередь | 4 и более | ||||
Вероятность | 0.5 | 0.25 | 0.125 | 0.0625 | 0.0625 |
Обобщим полученные результаты:
· вероятность отсутствия очереди оказалась точно такой же, как и ее наличия;
· очередь в 4 и более заказа практически невероятна;
· математическое ожидание очереди составляет ровно 1 заказ.
Наше право (если мы и есть ЛПР!) — принять такую интенсивность или отказаться от нее, но все же у нас есть определенные показатели последствий такого решения.
Полезно проанализировать ситуации с другими значениями интенсивности нагрузки станции.
Таблица 3.5
b | 1 / 2 | 3 / 4 | 7 / 8 | 15 / 16 |
Mx |
Обратим теперь внимание еще на одно обстоятельство — мы полагали известной информацию только о средней скорости (ее математического ожидания) выполнения заказов. Иными словами, мы считали время выполнения очередного заказа независящим ни от его "содержания" (помыть автомобиль или ликвидировать следствия аварии), ни от числа заказов, "стоящих в очереди".
В реальной жизни это далеко не всегда так и хотелось бы хоть как-то учесть такую зависимость. И здесь теория приходит на помощь (тому, кто понимает ее возможности).
Если нам представляется возможность установить не только само m(среднюю или ожидаемую скорость обработки заказа), но и разброс этой величины Dm(дисперсию), то можно будет оценить среднее число заказов в очереди более надежно (именно так — не точнее, а надежнее!):
Mx = 0.5· . {3 - 15}