МОДЕЛИРОВАНИЕ И ОПТИМИЗАЦИЯ ФУНКЦИОНИРОВАНИЯ СОВРЕМЕННОГО ЦЕНТРА ОБСЛУЖИВАНИЯ ЗВОНКОВ С ПОМОЩЬЮ СИСТЕМ МАССОВОГО ОБСЛУЖИВАНИЯ О. С. Тарамин, С. А. Дудин Белорусский государственный университет Минск, Беларусь E-mail: taramin@mail.ru, dudin85@mail.ru Исследуется многолинейная система массового обслуживания с конечным буфером и нетерпеливыми запросами. На вход системы поступает марковский поток запросов. Времена обслуживания запросов каждым прибором имеют распределения фазового типа. В случае занятости всех приборов в момент прихода запрос с вероятностью, зависящей от числа запросов в системе, ожидает обслуживания в буфере, а с дополнительной вероятностью покидает систему. Во время ожидания запросы могут проявлять нетерпеливость и покидать систему. Найдено стационарное распределение вероятностей состояний системы, получены формулы для нахождения основных характеристик производительности. Ключевые слова: центр обслуживания звонков, марковский входной поток, фазовое распределение времени обслуживания, нетерпеливые запросы. ВВЕДЕНИЕ Центр обслуживания звонков, или call-центр, используется для получения и передачи информации, поступающей в виде запросов по телефону. На сегодняшний день большинство компаний используют центры по обслуживанию звонков для общения со своими клиентами. Примерами могут служить банки, компании, связанные с продажами товаров и услуг, интернет-магазины, центры поддержки, экстренные службы, горячие линии и т. д. С помощью теории массового обслуживания можно решать широкий круг задач по моделированию и оптимизации функционирования реального call-центра, что, в свою очередь, может привести к существенному увеличению экономической эффективности и снижению расходов на его содержание и обслуживание. В статье рассматривается многолинейная система обслуживания с нетерпеливыми запросами, которая может эффективно использоваться для моделирования и оптимизации функционирования реального центра обслуживания звонков. В модели предполагается, что входной поток запросов является марковским (МАР – Markovian Arrival Process), который позволяет учитывать коррелированность длин соседних интервалов между моментами поступления запросов. Полезность МАР-потока для моделирования входного потока в телекоммуникационные системы обсуждалась в работах [1, 2]. 51 Обслуживание звонков осуществляется конечным числом приборов (операторов). Время обслуживания запроса каждым прибором имеет распределение фазового типа. Как известно, класс распределений фазового типа включает в себя многие традиционно используемые в теории массового обслуживания распределения и всюду плотен в классе всех распределений на неотрицательной полуоси. Вследствие этого произвольное распределение теоретически может быть с любой точностью аппроксимировано распределением фазового типа. В случае занятости всех операторов в момент поступления звонка абоненту предлагается подождать, при этом ему могут сообщать его номер в очереди и ориентировочное время ожидания. В зависимости от его номера в очереди абонент принимает решение, ожидать или уйти из системы без обслуживания. Во время ожидания абонент также может разрывать соединение из-за нетерпеливости. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ Рассматривается система массового обслуживания, состоящая из N приборов и буфера конечного размера R N . В систему поступает марковский входной поток запросов, заданный неприводимой цепью Маркова ν t , t ≥ 0, с непрерывным временем и конечным пространством состояний {0,...,W } . Время пребывания цепи в состоянии ν экспоненциально распределено с положительным параметром λ ν . Когда время пребывания в состоянии ν истекло, с вероятностью p ν( k, ν′) процесс ν t переходит в состояние ν′ и при этом генерируется k запросов, k = 0,1, ν, ν′ = 0,W . Поведение МАР-потока полностью характеризуется матрицами Dk , k = 0,1, которые опредеk = 0, ν ≠ ν′, и ляются следующим образом: ( Dk ) ν , ν′ = λ ν p ν( k,ν′) , k = 1 ( D0 )ν ,ν = −λ ν , ν = 0,W . Матрица D (1) = D0 + D1 представляет собой инфинитезимальный генератор цепи ν t , t ≥ 0 . Средняя интенсивность поступления запросов λ имеет вид λ = χD1e, где χ – вектор стационарного распределения цепи Маркова ν t , t ≥ 0 . Вектор χ является единственным решением системы линейных алгебраических уравнений χD(1) = 0, χe = 1. Здесь и далее e – вектор-столбец, состоящий из единиц, 0 – векторстрока, состоящая из нулей. Более подробное описание МАР-потока приведено в [3]. Время обслуживания запроса каждым прибором имеет распределение фазового типа, то есть время обслуживания запроса можно интерпретировать как время, за которое цепь Маркова с непрерывным временем ηt , t ≥ 0, имеющая несущественные состояния {1,, M } и поглощающее состояние M + 1 , достигнет поглощающего состояния. Начальное состояние цепи Маркова ηt , t ≥ 0, в момент начала обслуживания запроса определяется в соответствии с вероятностным вектором β = (β1 , , βM ) . Переходы цепи ηt , t ≥ 0, которые не приводят к окончанию обслуживания, задаются субгенератором S размера M × M . Интенсивности переходов в поглощающее состояние описываются вектором S0 = − Se. Среднее время обслуживания задается формулой b1 = β(− S ) −1 e . Более подробную информацию о распределении фазового типа можно найти в [4, 5]. 52 Если в момент прихода запроса все приборы заняты и число запросов в буфере равно i, i = 0, R − N − 1 , то этот запрос с вероятностью qi покидает систему, а с дополнительной вероятностью становится в очередь. Если в момент прихода запроса свободные места в буфере отсутствуют, запрос покидает систему. Также предполагается, что запрос покидает систему через экспоненциально распределенное с параметром α, 0 < α < ∞, время с момента попадания в буфер, если он не попал на обслуживание. ПРОЦЕСС ИЗМЕНЕНИЯ СОСТОЯНИЙ СИСТЕМЫ. СТАЦИОНАРНОЕ РАСПРЕДЕЛЕНИЕ ЧИСЛА ЗАПРОСОВ В СИСТЕМЕ Пусть it , it = 0, R, – число запросов в системе, ν t , ν t = 0,W , – состояние управляющего процесса МАР-потока поступления запросов, ηt( l ) , ηt( l ) = 0, min{it , N }, – число приборов, в которых процесс обслуживания находится на фазе l в момент времени t, t ≥ 0, l = 1, M . Процесс ξ t = {it , ν t , ηt(1) ,, ηt( M ) }, t ≥ 0, является регулярной неприводимой цепью Маркова с непрерывным временем. Перенумеруем состояния цепи ξt в лексикографическом порядке. Множество состояний, имеющих значение (i, ν) двух первых компонент цепи, будем называть макросостоянием (i, ν) . Пусть Q – генератор цепи Маркова ξt , t ≥ 0, сформированный из блоков Qi , j , состоящих из матриц (Qi , j ) ν, ν′ интенсивностей переходов цепи ξt , t ≥ 0, из макросостояния (i, ν) в макросостояние ( j, ν′), ν, ν′ = 0,W . Диагональные элементы матрицы Qi ,i отрицательны, и их модули определяют интенсивность выхода из соответствующего состояния цепи Маркова. Лемма 1. Генератор Q = (Qi , j )i , j ≥0 имеет блочно-трехдиагональную структуру, где ненулевые блоки имеют вид: Qi ,i = D0 ⊕ Ai ( N , S ) + I W Δ( i ) , i = 0, N − 1, QN , N = D0 ⊕ AN ( N , S ) + q0 D1 ⊗ I K + IW Δ( N ) , Qi ,i = D0 ⊕ AN ( N , S ) + qi − N D1 ⊗ I K − αi I W K + IW Δ( N ) , i = N + 1, R − 1, QR , R = D(1) ⊕ AN ( N , S ) − α R I WK + I W Δ( N ) , ~ Qi ,i −1 = I W ⊗ LN −i ( N , S ), i = 1, N , Qi ,i −1 = IW ⊗ ( L0 ( N , S ) PN −1 (β)) + α i IWK , i = N + 1, R, Qi ,i +1 = D1 ⊗ Pi (β), i = 0, N − 1, Qi ,i +1 = (1 − qi − N ) D1 ⊗ I K , i = N , R − 1. Здесь I – единичная матрица, O – нулевая матрица, в случае необходимости порядок матрицы указывается при помощи нижнего индекса; W = W + 1; 53 K = C NM+−M1 −1 ; α i = (i − N )α; ⊗ и ⊕ означают операции Кронекеровых произведений и ~ ⎛ 0 0⎞ ~ ⎟⎟; Δ( i ) = diag{ Ai ( N , S )e + LN − i ( N , S )e}, i = 1, N , Δ(0) = O1×1 . суммы матриц; S = ⎜⎜ ⎝ S0 S ⎠ ~ Детальное описание матриц Pi (β), Ai ( N , S ) и LN −i ( N , S ) и рекурсивный алгоритм для их вычислений представлены в работах [6, 7]. Доказательство леммы опирается на анализ переходов цепи Маркова ξ t ,t ≥ 0, за бесконечно малый интервал времени с последующей группировкой интенсивностей соответствующих переходов в блоки матрицы Q . Так как цепь Маркова ξ t = {it , ν t , ηt(1) ,, ηt( M ) }, t ≥ 0, регулярная и неприводимая, а также имеет конечное пространство состояний, то существуют следующие пределы (стационарные вероятности): π(i, ν, η(1) ,, η( M ) ) = lim P{it = i, ν t = ν, ηt(1) = η(1) ,, ηt( M ) = η( M ) }, t →∞ i = 0, R, ν = 0,W , η( l ) = 0, min{i, N }, l = 1, M . Перенумеруем стационарные вероятности цепи ξt в лексикографическом порядке и сформируем из них векторы π(i, ν), состоящие из вероятностей π(i, ν, η(1) ,, η( M ) ), записанных в лексикографическом порядке по компонентам ( η(1) ,, η( M ) ) , и векторы πi = ( π(i, 0), π(i,1), , π(i, W )), i = 0, R. Известно, что вектор-строка (π0 , , π R ) – единственное решение системы линейных алгебраических уравнений (π0 , , π R )Q = 0, (π0 , , πR )e = 1. В случае, когда размерность системы, приведенной выше, невелика, ее легко решить с помощью компьютера стандартными методами. В противном случае может быть использован специальный устойчивый алгоритм, приведенный в теореме 1. Теорема 1. Векторы πi , i = 0, R, вычисляются следующим образом: πi = πi −1Ti −1 = π0 Fi , i = 1, R, где матрицы Fi вычисляются рекуррентно: F0 = I , Fi = Fi −1Ti −1 , i = 1, R , матрицы Ti , i = 0, R − 1, вычисляются с помощью обратной рекурсии: Ti = −Qi ,i +1 (Qi +1,i +1 + Ti +1Qi + 2,i +1 ) −1 , i = R − 2, R − 3, ,0, при начальном условии TR −1 = −QR −1,R (QR , R ) −1 , а вектор π0 является единственным решением следующей системы: R π0 (Q0,0 + T0Q1,0 ) = 0, π0 ∑ Fl e = 1. l =0 54 ХАРАКТЕРИСТИКИ ПРОИЗВОДИТЕЛЬНОСТИ СИСТЕМЫ R Среднее число запросов в системе L = ∑iπi e. i =1 Среднее число занятых мест в буфере Nbuffer = R ∑ (i − N )π e. i i = N +1 N Среднее число занятых приборов N server = ∑iπi e + N i =1 R ∑ π e. i i = N +1 Интенсивность выходящего потока обслуженных запросов R λ out = N server / b1 = ∑πi ( IW ⊗ Lmax{ N −i ,0} ( N , S ))e. i =1 Вероятность потери запроса на входе в систему из-за заполненности буфера P ( ent −loss ) = λ −1π R ( D1 ⊗ I K )e. Вероятность ухода запроса на входе в систему из-за нежелания ожидать R −1 P ( esc−loss ) = λ −1 ∑qi − N πi ( D1 ⊗ I K )e. i=N Вероятность потери произвольного запроса P ( loss ) = 1 − λ out / λ. Вероятность того, что произвольный запрос попадет в буфер и уйдет из него изза нетерпеливости P ( imp−loss) = P( loss) − P( ent −loss) − P ( esc−loss) . ЗАКЛЮЧЕНИЕ В данной статье исследована многолинейная система массового обслуживания с конечным буфером и нетерпеливыми запросами. Построен процесс функционирования данной системы, найдено стационарное распределение вероятностей состояний системы, получены формулы для нахождения основных характеристик производительности. ЛИТЕРАТУРА 1. 2. 3. 4. 5. 6. 7. Heyman, D. P. Modelling multiple IP traffic streams with rate limits / D. P. Heyman, D. Lucantoni // IEEE. ACM Transactions on Networking. 2003. Vol. 11. P. 948–958. Klemm, A. Modelling IP traffic using the batch Markovian arrival process / A. Klemm, C. Lindermann, M. Lohmann // Performance Evaluation. 2003. Vol. 54. P. 149–173. Lucantoni, D. New results on the single server queue with a batch Markovian arrival process / D. Lucantoni // Communication in Statistics-Stochastic Models. 1991. Vol. 7. P. 1–46. Бочаров, П. П. Теория массового обслуживания / П. П. Бочаров, А. В. Печинкин. М.: РУДН, 1995. 528 с. Neuts, M. Matrix-Geometric Solutions in Stochastic Models – An Algorithmic Approach / M. Neuts. Johns Hopkins University Press, 1981. 332 p. Ramaswami, V. Independent Markov processes in parallel / V. Ramaswami // Comm. Statist.-Stochastic Models. 1985. Vol. 1, № 3. P. 419–432. Ramaswami, V. Algorithms for the multi-server queue with phase-type service. / V. Ramaswami, D. Lucantoni // Comm. Statist.-Stochastic Models. 1985. Vol. 1, № 3. P. 393–417. 55