Расчет систем со случайным выбором на обслуживание

КРАТКИЕ СООБЩЕНИЯ X

УДК 519.872

РАСЧЕТ СИСТЕМ СО СЛУЧАЙНЫМ ВЫБОРОМ НА ОБСЛУЖИВАНИЕ

Ю. И. Рыжиков,

доктор техн. наук, профессор Военно-космическая академия им. А. Ф. Можайского

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

The verification of known special approaches to queuing systems with random choice by imitation has detected noticeable errors in the high order moments of waiting time distribution. It is proposed to construct embedded Markov chain which describe the changing of queue length in multi-channel system before service completing - until the marked demand is selected. The final result is the Laplace transform of waiting time distribution. An algorithm is tested for Poissonian input flow and generalized for recurrent flow.

Постановка задачи

Подавляющее большинство работ по теории очередей посвящено системам с выборкой из очереди по принципу FCFS (первый пришел — первый обслужен). Однако значительный интерес вызывает и другой принцип — случайный выбор из очереди (RANDOM). Он особенно типичен для связных приложений и ситуаций с разъездными бригадами обслуживания (ремонтными, аварийными, скорой помощи, групп быстрого реагирования и т. п.), где очередность обработки заявок не определяется моментами их поступления. Различные подходы к этой задаче предлагаются или воспроизводятся в работах [1-7]. В работах [2, 3, 6] обсуждаются чисто марковские системы M/M/n. В частности, в них выводятся формулы для коэффициентов увеличения высших моментов времени ожидания в сравнении с дисциплиной FCFS:

R = (1 -р/2)-1;

R3 = (4 + 2р)/(2 -р)2.

В статье Кингмана [5] выполнен анализ системы M/G/1, к сожалению, не доведенный до расчетных зависимостей. Дисперсия времени ожидания для этой же системы приводится в справочнике Дж. Мартина [1]. В работе Розенлунда [7] для

модели GI/M/n получены преобразования Лапласа—Стилтьеса (ПЛС) распределения времени ожидания и рекуррентный алгоритм вычисления моментов. Фрагмент его итоговой таблицы приведен в табл. 1.

Наконец, в статье Картера и Купера [4] рассматриваются системы GI/M/n и M/G/n. Здесь подтверждены известные результаты для систем M/M/n и M/D/1, рассчитана система M/Ek/1.

Все перечисленные результаты выводятся весьма громоздкими методами, к тому же различными для разных классов моделей, с трудно прослеживаемой аргументацией и с привлечением эвристических приемов. Это делает весьма желательной их проверку на простой и надежной имитационной модели. В табл. 2 приведены результаты имитационного моделирования системы M/M/3 с дисциплинами FCFS и RANDOM при 500 тыс. испытаний.

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

Таблица 1. Поправки к ¥1¥0-моментам

Порядок моментов В/Ы/и Е4/Ы/я Ы/Ы/и

0.5 0.7 0.9 0.5 0.7 0.9 0.5 0.7 0.9

2 1.2550 1.5005 1.8125 1.2884 1.5164 1.8148 1.3333 1.5385 1.8182

3 1.9782 3.0602 4.7698 2.0776 3.1149 4.7793 2.2222 3.1953 4.7934

4 3.6889 7.6951 16.238 3.9570 7.8927 16.286 4.3704 8.1896 16.356

Таблица 2. Расчет и имитация марковской системы

Р Моменты FCFS (расчет) FCFS (имитация) RANDOM (имитация) Отношение RANDOM/FCFS

0.2368 0.2346 0.2346 1.0000

0.5 Ш2 0.4737 0.4628 0.5362 1.1585

1.4211 1.3572 2.2109 1.6290

1.1488 1.1494 1.1494 1.0000

0.7 5.3611 5.2108 7.1150 1.3654

37.528 34.162 86.600 2.5350

7.3535 7.6507 7.3628 0.9624

0.9 132.36 140.17 226.70 1.6173

3573.9 3687.5 14980 4.0624

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

Вложенная цепь Маркова для простейшего входящего потока

Рассмотрим режим полной занятости системы 01/0/п/Б и обозначим:

J = Б - п — максимальную длину очереди;

Бп(1) — распределение интервалов между последовательными завершениями обслуживания;

Бп (#) — распределение интервала от прибытия «меченой» заявки до ближайшего завершения обслуживания;

X — интенсивность входящего потока.

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

^=]—-е-ис!в:(^, -=0,1,...

0 -'

и с заменой вП(0 на Бп(^ — аналогичный набор {— вероятностей прибытия ровно - заявок за время между смежными обслуживаниями. Введем также вектор P = {р0, р1,..., рг1} стационарного распределения вероятностей длины очереди в момент прибытия меченой заявки. Построим вложенную цепь Маркова изменения числа заявок в оче-

реди непосредственно перед очередным выбором на обслуживание. Элементы матрицы R* переходов за время ожидания первого обслуживания должны вычисляться согласно

гиі = qн-1(j -1)/], і = о, J, і = і +1, Т

(было і заявок, пришли меченая и еще і - і - 1 > 0). Дробный множитель учитывает вероятность невы-бора меченой и, следовательно, продолжения процесса. Процесс завершается выбором меченой заявки с вероятностью 1/ і. Вектор-столбец ^ определяет вероятности перехода в поглощающее состояние. Его компоненты

Т *

г* = У-^—.

і &+і+1

Продолжение процесса (переходы на интервалах между смежными обслуживаниями) возможно при начальных состояниях і = 2, Т. Соответственно переход і ^ і получается после прибытия І - і + 1 заявок (одна заявка уходит сразу после начала отсчета интервала). Итак, элементы новой матрицы R

Гі,і = qі-і+1(і -1)/і, и і = 2 J,

а элементы нового вектора вероятностей поглощения

г =2 ^

і=0

і + і -1

Введем ПЛС временных распределений:

Р*(в) — от прибытия меченой заявки до ближайшего обслуживания;

Р(в) — между смежными завершениями обслуживания;

юй(в) — ожидания меченой заявки, завершаемого через Ь шагов марковской цепи, Ь = 1, 2, ...

Нетрудно видеть, что

го^в) = р*(8)РТ*,

ю-

Ю,(«) = в («^ Р(в)Т, ,(в) = P*(s)PR*P(s)[RP(s)]T,

ю

,(в) = р*(в^*р(в)^р<в)(-2 Т.

Суммируя эти выражения по всем Ь, находим

(

ю(в) = Р (в)Р

Ь-2 Л

Т* + R*P(s) £№)] Т

Ь=2

= Р*(8)Р (Т* + R*p(S)[I ^Р(а)]-1 Т).

Искомые моменты распределения могут быть получены численным дифференцированием ю(в) (точнее, построенного в окрестности в = 0 интерполяционного многочлена) с последующей сменой знака у нечетных производных.

Тестирование базовой схемы на модели

М/М/п

Описанную расчетную схему целесообразно тестировать применительно к простейшей ситуации — с показательными распределениями. При этом нет проблем с потоком заявок: все остаточные распределения остаются показательными с исходным параметром X, а связанные с процессом обслуживания распределения суть Бп (г) = Б*(г) = 1 - е~пц и соответственно Р(в) = Р (в) = пц/(пц + в). При X = 1, коэффициенте загрузки р = 0,7 и шаге Н = 103ц для построения таблицы ю(в) при интерполировании по Стирлингу были получены значения моментов времени ожидания ю1 = 1,1479, ю2 = 7,3481, ю3 = 91,338. Соотнесенные с аналогичными результатами при дисциплине FCFS, они дают коэффициенты роста Ь1 = 1,0000, Ь2 = 1,3706, Ь3 = = 2,4339. Хорошее их согласие с полученными на имитационной модели позволяет считать основной алгоритм правильным и применить его к более сложным случаям: с немарковским распределением обслуживания и произвольным рекуррентным потоком заявок.

Немарковское распределение длительности обслуживания

В данном случае получение распределения интервалов до очередного обслуживания становится самостоятельной проблемой. Дополнительная

функция распределения (ДФР) интервала от прибытия меченой заявки до ближайшего завершения обслуживания может быть подсчитана согласно

Ви (г) =

В

Для работы с этой формулой вычислим моменты Б*(г) через моменты В*(г), аппроксимируя ДФР последнего распределением Вейбулла:

Б*

с моментами Ъ*т = Wm/ЬГ( + т/Ь), т = 1, 2,... Подставляя (2) в формулу (1), убеждаемся, что интересующее нас распределение Бп (г) вновь описывается формулой (2) с заменой W на W/n. Соответственно вычисляются и его моменты.

Вторым удобным вариантом аппроксимации ДФР является гиперэкспоненциальная Н2. В этом

случае параметры ДФР Б(г) = 2 2= 1у1е ^ определяются по трем моментам {Ъг} исходного распреде-

—* ^ 2 г

ления, а остаточного Б (г) = 2;=12;;е_Уг — по трем модифицированным ъ* = Ъ+1 /\ + 1)Ъ1 ]. Соответ-

ственно:

( 2

і=1

2 2іе ~Уіі =2( И

) і=0

Бп (г) =

Моменты этого распределения

ът,п =1 ‘т-‘ бп (г)И=т! 2 ()—-Лг'

і2и-іе +(и-і) У2 (

і?и-і

- =0 [\1 + (п - -)У2 ]т

т = 1, 2,...

Для основного режима марковской цепи приходится строить распределение интервалов между смежными завершениями обслуживания в п-каналь-

В

и-1.

В(г).

ной системе. Здесь (см. [3]) Бп (г) =

В данной ситуации аппроксимация распределениями Вейбулла не имеет смысла, а гиперэкспонен-циальная аппроксимация приводит к

( 2

\я-1 .

2 2іе~Уіі 2 у^і'

, і=1 , і=1 ,

Ви (г) =

= 2 ( "-1 )2і22-1-іЄ"[іУ1 +(и-1-і) ї2 ] ( 2

і=0

2 и-1

=2 и£(Г И

і=1 і=0

2 у

-Ніг

-1 'і 2і 2и-1-іе-[іУ1 +(и-1-і)Ї2 +^і(

Ее моменты можно считать по формулам

2 n-1 ,

bm,n - m!ЕУі Е

n-1

zjz"-l-j

zlz2

1=1 -=0 [\1 + (п -1 --)У2 + Ц ]

т = 1, 2,...

Далее по найденным моментам подбирается аппроксимация, обеспечивающая удобное вычисление {д-}. В частности, для гамма-плотности

Ъ(г) = т(тг)а-1 е~тг /Г(а) параметры выражаются через среднее Ъ1 и дисперсию D согласно а = Ъ1 / D, т = а/Ъ1. Теперь

qO -

qj- qj -1Т

A + m

m

A + m А а + j -1 j

, j -1,2, ...

Применение гамма-плотности с поправочным многочленом, который строится на основе теории обобщенных многочленов Лагерра, позволяет выравнивать произвольное число моментов. При этом сохраняется возможность рекуррентного вычисления {д-}, но по более сложному алгоритму.

Рекуррентный поток

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

1. Для начального шага марковской цепи коэффициенты {д-} считаются как вероятности прибытия ровно - заявок рекуррентного потока за модифицированный интервал между смежными об-служиваниями (отсчет времени начинается с прибытием меченой заявки).

2. На последующих шагах расчет начинается с завершения очередного обслуживания, которое приходится на случайную точку интервала между смежными заявками. Соответственно, поток заявок представляется как рекуррентный с запаздыванием, а интервалы между обслуживаниями не модифицируются.

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

Литература_________^

1. Мартин Дж. Системный анализ передачи данных: Пер. с англ. М.: Мир, 1975. Т. 2. 431 с.

2. Риордан Дж. Вероятностные системы обслуживания: Пер. с англ. М.: Связь, 1966. 164 с.

3. Саати Т. Л. Элементы теории массового обслуживания и ее приложения: Пер. с англ. М.: Сов. радио, 1965. 510 с.

А1(г) = А(г). Очевидно, вероятность неприбытия заявок q0(t) = 1 -А(г) = А(г), а вероятность появления

ровно Ь> 1 требований потока qh(г) = АЬ(г) - АЬ+1 (г).

Обозначим через а(в) ПЛС от плотности распределения А(г). Тогда производящая функция ПЛС интересующих нас вероятностей

Q(s) -1Е zk \ak (s) - аА+1 (s)l- a s k-0

1 - a

as

ЕаА (s).

*=0

Здесь а есть средний интервал между смежными заявками, а дробь перед суммой — ПЛС от остаточного распределения интервалов между ними. Таким образом, для рекуррентного потока

дЬ(г) = аЬ 1 ^а (в)ак(в)^, Ь = 0,1,... (через Ь 1 обозначен оператор обратного ПЛС). Контрольное суммирование ПЛС дает 1/в, откуда следует равенство суммы {дЬ(г)} единице. Произведение сверток в последней формуле имеет прозрачную вероятностную интерпретацию: чтобы за время г пришло ровно Ь заявок, в него должны уложиться Ь полных интервалов между заявками и один остаточный (последний). Напомним, что отсчет времени здесь начинается сразу после прибытия очередной заявки.

В случае рекуррентного потока с запаздыванием интервал времени до прибытия первой заявки является случайной модификацией типового. Это позволяет по аналогии с предыдущим вариантом сразу записать итоговые формулы в виде

д0(г) = А*(г); дк(г) = аП1 [(а*(в))2аЬ-1(в)], к = 1,2,...

Условие нормировки {д-} здесь проверяется (и выполняется) аналогично. Эти выражения должны интегрироваться с учетом вышеуказанных распределений длительности шагов марковской цепи.

Заключение

Результаты статьи позволяют с единых позиций подойти к расчету ПЛС распределения времени ожидания для многоканальных систем со случайным выбором заявок из очереди и произвольными распределениями длительности обслуживания и интервалов между заявками.

4. Carter G. M., Cooper R. B. Queues with service in random order //Opns res. 1972. Vol. 20. N 2. P. 389-407.

5. Kingman J. F. C. On queues in which customers are served in random order //Proc. Cambr. Phil. Soc. 1962. Vol. 58. N 1. P. 79-91.

6. Morse P. M. Queues, inventories, and maintenance. N.Y.: Wiley, 1958. 202 p.

7. Rosenlund S. I. The random order G/M/m queue // Naval Res. Logistics. 1980. Vol. 27. N 2. P. 207-215.