Опубликован: 20.04.2011 | Уровень: для всех | Доступ: платный
Лекция 15:

Сети очередей

< Лекция 14 || Лекция 15: 12345 || Лекция 16 >
Многомерные сети очередей

В этой секции мы рассматриваем сети очередей с более чем одним типом клиентов. Клиенты одного и того же типа принадлежат заданному классу или цепочке. В Лекции 10 мы рассматривали системы с потерями, обслуживающие несколько типов клиентов (услуг), и замечали, что может быть получена мультипликативная форма и может быть применен алгоритм свертывания.

M/M/1 -система организации очереди с одним обслуживающим прибором

Pис.14.7 иллюстрирует систему организации очереди с одним обслуживающим прибором и с N = 2 типа заявок от клиентов (цепочек). Заявки от клиентов прибывают в систему согласно Пуассоновскому потоку вызовов с интенсивностью \lambda_j ( j = 1, 2) . Состояние (i, j) определено как состояние i заявок клиента типа 1 и j заявок от клиента типа 2. Интенсивность обслуживания \mu_{i,j} в состоянии (i, j) может быть выбрана зависящей от состояния, например:

\mu_{ij}=\frac{i}{i+j}*\mu_1+\frac{j}{i+j}*\mu_2.

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

Одна из интерпретаций соответствует совместному использованию процессора, то есть все (i+j) клиентов совместно используют обслуживающий прибор, а производительность сервера является постоянной. Зависимость состояния от типа клиента происходит из-за разности в интенсивности обслуживания двух типов клиентов. То есть число заявок от клиентов, покидающих систему, в единицу времени зависит от типа клиентов, обслуживаемых в настоящее время.

Можно показать, что обслуживаемая заявка с вероятностью i/(i+j) принадлежит к типу 1 и с вероятностью j/(i+j) - к типу 2 независимо от дисциплины обслуживания.

Pис.14.8 дает часть диаграммы переходов состояний. Диаграмма обратима, так как поток по часовой стрелке равняется потоку против часовой стрелки. Следовательно, есть местное равновесие, и все вероятности состояния могут быть выражены с помощью p(0, 0) :

 M/M/1-система организации очереди с двумя типами (цепочками) клиентов.

Рис. 14.7. M/M/1-система организации очереди с двумя типами (цепочками) клиентов.
 Диаграмма переходов состояний для многомерной системы M/M/1 с совместным использованием процессора.

Рис. 14.8. Диаграмма переходов состояний для многомерной системы M/M/1 с совместным использованием процессора.
p(i,j)=\frac{A_1^i}{i!}*\frac{A_2^j}{j!}*(i+j)!*p(0,0). ( 14.14)

Используя нормализацию, получаем p(0, 0) :

\sum_{i=0}^{\infty}\sum_{j=0}^{\infty} p(i,j)=1

По сравнению с многомерной B-формулой Эрланга, здесь существует дополнительный коэффициент (i+j)!. Мультипликативная форма выражения между цепочками (на узле) потеряна, но мультипликативная форма между узлами все еще поддерживается.

Примем, что есть N различных типов клиентов (цепочек) вероятности состояния для единственного узла, и получаем:

p(i)=p(i_1, i_2, \dots, i_N)=\left \{ \Pi_{j=1}^N A_j^{i_j} \right \}* \frac{\left \{ \sum_{j=1}^Ni_j \right \}}{\left \{ \Pi_{j=1}^N i_j! \right \}}*p(0). ( 14.15)

Это может быть выражено полиномиальным распределением (4.37):

p(i)=\left \Pi_{j=1}^N A_{j^{i_j} \right \}* {i_1+i_2 +\dots +i_n\choose i_1, i_2, \dots, i_n}*p(0). ( 14.16)

Для бесконечного числа мест ожидания вероятности состояния общего количества клиентов:

p(j)=p\{i_1+i_2+\dots +i_N=j\}.

Если \mu_i = \mu, то система идентична M/M/1 - системе с интенсивностью поступления \lambda=\sum_i \lambda_i:

p(j)=(A_1+A_2+ \dots +A_N)^j*p(0)\\

=A^j*(1-A)

Чтобы получить этот результат, используется биноминальное разложение. Диаграмма переходов состояний на рис.14.8 может также интерпретироваться как диаграмма переходов состояний системы M/G/1-LCFS-PR (приоритетное возвращение к работе). Очевидно, что M/G/1-LCFS-PR обратимо, потому что процесс в диаграмме переходов состояний проходит одинаково как вперед из нуля, так и назад, чтобы вернуться в нуль.

Можно показать, что диаграмма переходов состояний нечувствительна к распределению времени обслуживания, так что она справедлива для системы организации очереди M/G/1. Pис.14.8 соответствует диаграмме переходов состояний для системы организации очереди с одним обслуживающим прибором и гиперэкспоненциально распределенными временами обслуживания (см. (10.7)), например. M/H_2 /1-LCFS-PR или PS.

Заметим, что для M/M/1 (FCFS, LCFS, SIRO) необходимо, чтобы все клиенты имели одно и то же среднее время обслуживания, которое должно быть экспоненциально распределенным. Другими словами, обслуживаемый клиент не будет случайным клиентом среди (i+j) клиентов в системе.

В заключение заметим, что системы организации очереди c одним обслуживающим прибором и большим количеством типов клиентов будут иметь мультипликативную форму только тогда, когда узел имеет симметричную систему организации очереди: M/G/1-PS, M/G/1-LCFS -PR или M/M/1 с одним и тем же временем обслуживания для всех клиентов.

М/М/п система организации очереди

Мы можем также получить рассмотренные выше результаты для системы с n обслуживающими приборами. Для (i+j) \le n

получаем ту же самую вероятность относительного состояния, что и для многоразмерной B-формулы Эрланга. Для (i+j)>n получаем решение только для простого случая, когда \mu_i=\mu то есть когда все типы (цепочки) клиентов имеют одно и то же среднее время пребывания в системе. Мы тогда находим вероятности состояния, данные в (10.9), и система имеет мультипликативную форму. M/M/1 можно рассматривать как частный случай M/M/n и по аналогии с системами с потерями (Лекция 12).

Закрытые сети очередей с несколькими цепочками

Рассмотрение сетей очередей, имеющих много цепочек, аналогично случаю с единственной цепочкой. Основное различие состоит в том, что классическая формула и алгоритмы заменены соответствующей многомерной формулой.

Алгоритм свертывания

Алгоритм по существу такой же, как и в случае единственной цепочки.

Шаг 1. Рассмотрим каждую цепочку так, как будто она является единственной в сети. Найдите относительную нагрузку в каждом узле, решая уравнения равновесия потока (14.5). В произвольном опорном узле принимаем, что нагрузка равна единице. Для каждой цепочки мы можем выбрать в качестве опорного узла свой узел. Для цепочки j в узле k относительная интенсивность прибытия \lambda_k^j (используем верхний индекс, чтобы указать номер цепочки) получается из:

\lambda_k^j=\sum_{i=1}^Kp_{ik}^j*\lambda_i^j, \quad j=1, \dots, N ( 14.17)

где:

K - число узлов,

N - число цепочек,

p_{ik}^j - вероятность, что клиент цепочки j перейдет с узла i к узлу k.

Мы выбираем произвольный узел как опорный узел, например узел 1, то есть \lambda_1^j = 1. Относительная нагрузка в узле k клиентов цепочки j тогда:

\alpha_k^j=\lambda_k^j*s_k^j

где s+k^j - среднее время обслуживания в узле k для клиентов цепочки j. Обратите внимание, что j - индекс, а не степень.

Шаг 2. На основе значений относительных нагрузок, найденных на шаге 1, мы получаем многомерные вероятности состояния для каждого узла. Каждый узел рассматривается отдельно. Далее, усекаем пространство состояний согласно числу клиентов в каждой цепочке. Например, для узла k (1 \le k \le K) :

p_k=p_k(i_1, i_2, \dots, i_N), \quad 0 \le i_j \le S_j, \quad j=1,2,\dots, N,

где S_j - число заявок от клиентов в цепочке j.

Шаг 3. Чтобы найти вероятности состояния полной сети, сверты ваем вероятности состояния каждого узла подобно случаю единственной цепочки, - разница в том, что в данном случае свертывание многомерно. Когда выполним последнее свертывание, получим критерии качества работы последнего узла. Снова изменяя порядок узлов, мы можем получить критерии качества работы всех узлов.

Общее количество состояний увеличивается быстро. Например, если цепочка j имеет S заявок клиентов, то общее количество состояния в каждом узле становится:

\Pi_{j=1}^N(S_j+1)

Пути N цепей с S_j заявками в цепи j могут быть распределены в сети очередей с K узлами:

C=\Pi_{j=1}^NC(S_j,k_j ( 14.18)

где k_j (1 \le k_j < K) - номер узлов, посещенных клиентом в цепи j, и:

C(S_j, k_j)={S_j+k_j-1\choose k_j-1}={S_j+k_j-1\choose S_j}. ( 14.19)

Алгоритм лучше всего проиллюстрировать примером.

Пример 14.7.1: Модель Пальма восстановления машин с двумя типами клиентов

Уже отмечалось в Примере 14.4.1, что эта система может быть смоделирована как сеть очередей с двумя узлами.

Узел 1 соответствует терминалам (машинам), в то время как узел 2 - центральному процессору (ремонтником). Узел 2 - система с одним обслуживающим прибором, тогда как узел 1 смоделирован как система с бесконечным числом обслуживающих приборов. Число клиентов в цепочках - ( S_1 = 2, S_2 = 3 ) и среднее время обслуживания в узле k - s_k^j.

Относительная нагрузка цепочки 1 обозначена \alpha_1 в узле 1 и \alpha_2 в узле 2. Точно так же нагрузка в цепочке 2 обозначена \beta_1 и соответственно \beta_2. Применяя алгоритм свертывания, получаем:

Шаг 1.

Цепочка 1: S_1 = 2 клиента

Относительная нагрузка: \alpha_1=\lambda_1*s_1^1, \quad \alpha_2=\lambda_1*s_2^1.

Цепочка 2: S_2 = 3 клиента

Относительная нагрузка: \beta_1=\lambda_1*s_1^2, \quad \beta_2=\lambda_2*s_2^2.

Шаг 2.

Для узла 1 ( IS ) вероятность относительного состояния (см10.9):

q_1(0,0)=1 \qquad q_1(0,2)=\frac{\beta_1^2}{2}\\
q_1(1,0)=\alpha_1 \qquad q_1(1,2)=\frac{\alpha_1*\beta_1^2}{}\\
q_1(2,0)=\frac{\alpha_1^2}{2} \qquad q_1(2,2)=\frac{\alpha_1*\beta_1^2}{2}\\
q_1(0,1)=\beta_1 \qquad q_1(0,3)=\frac{\beta_1^3}{6}\\
q_1(1,1)=\alpha_1*\beta_1 \qquad q_1(1,3)=\frac{\alpha_1*\beta_1^3}{6}\\
q_1(2,1)=\frac{\alpha_1^2*\beta_1}{2} \qquad q_1(2,3)=\frac{\alpha_1^2*\beta_1^3}{12}

Для узла 2 (обслуживающий прибор) (см.14.15) мы имеем:

q_2(0,0)1 \qquad q_2(0,2)=\beta_2^2\\
q_2(1,0)=\alpha_2 \qquad q_2(1,2)=3*\alpha_2*\beta_2^2\\
q_2(2,0)=\alpha_2^2 \qquad q_2(2,2)=6*\alpha_2^2*\beta_2^2\\
q_2(0,1)=\beta_2 \qquad q_2(0,3)=\beta_2^3\\
q_2(1,1)=2*\alpha_2*\beta_2 \qquad q_2(1,3)=4*\alpha_2*\beta_2^3\\
q_2(2,1)=3*\alpha_2^2*\beta_2 \qquad q_2(2,3)=10*\alpha_2^2*\beta_2^3

Шаг 3.

Затем мы делаем свертку. Мы знаем, что общее количество клиентов - (2,3), то есть нас интересуют только состояния (2, 3):

q_[12}(2,3)=q_1(0,0)*q_2(2,3)+q_1(1,0)*q_2(1,3)\\

+q_1(2,0)*q_2(0,3)+q_1(0,1)*q_2(2,2)\\

+q-1(1,1)*q_2(1,2)+q_2(2,1)*q_2(0,2)\\

+q_1(2,2)*q_2(2,1)+q_1(1,2)*q_2(1,1\\

+q_1(2,2)*q_2(0,1)+q-1(0,3)*q_2(2,0)\\

+q_1(1,3)*q_2(1,0)+q_1(2,3)*q_2(0,0)

Использование полученных значений дает:

q_{12}(2,3)=+1*10*\alpha_2^2*\beta_2^3+\alpha_1*4*\alpha_2*\beta_2^3\\
+\frac{\alpha_1^2}{2}*\beta_2^3+\beta_1*6*\alpha_2^2*\beta_2^2\\
+\alpha_1*\beta_1*3*\alpha_2*\beta_2^2+\frac{\alpha_1*\beta_1^2}{2}*\beta_2^2\\
+\frac{\beta_1^2}{2}*3*\alpha_2^2*\beta_2+\frac{\alpha_1*\beta_1^2}{2}*2*\alpha_2*\beta_2\\
+\frac{\alpha_1^2*\beta_1^2}{4}*\beta_2+\frac{\beta_1^3}{6}*\alpha_2^2\\
+\frac{\alpha_1*\beta_1^3}{6}*\alpha_2+\frac{\alpha_1^2*\beta_1^3}{12}*1

Обратите внимание, что \alpha_1 и \alpha_2 (цепочка 1) появляются во второй степени, тогда как \beta_1 и \beta_2 (цепочка 2) - в третьей степени, что соответствует числу клиентов в каждой цепочке. Из-за этого существенны только относительные нагрузки, а абсолютные вероятности получают нормализацией, делением всех элементов q_{12}(2, 3) . Теперь достаточно просто получить детальные вероятности состояния. Только в состоянии с элементами (\alpha_1^2 * \beta_1^3)/12 центральный процессор (ремонтник) свободен. Если два типа клиентов идентичны, модель упрощается и сводится к модели Пальма восстановления машин с 5-ю терминалами.

В этом случае мы имеем:

E_{1,5}(x)=\frac{\frac{1}{12}*\alpha_1^2*\beta_1^3}{q_{12}(2,3)}.

Выбирая, \alpha_1   \beta_1   \alpha и \alpha_2   \beta_2   1, получаем:

\frac{\frac{1}{12}*\alpha_1^2*\beta_1^3}{q_{12}(2,3)}=\frac{\frac{\alpha^5}{2}}{10+4 \alpha +\frac 12 \alpha^2+6 \alpha +3 \alpha^2+\frac 12 \alpha^3+\frac 32 \alpha^2+ \alpha^3+\frac 14 \alpha^4+\frac 16 \alpha^3+\frac 16 \alpha^4+\frac{1}{12} \alpha^5}=\\
=\frac{\frac{\alpha^5}{5!}}{1+ \alpha+\frac{\alpha^2}{2}+\frac{\alpha^3}{3!}+\frac{\alpha^4}{4!}+\frac{\alpha^5}{5!}},

то есть, как и ожидалось, B- формулу Эрланга.

< Лекция 14 || Лекция 15: 12345 || Лекция 16 >
Нияз Сабиров
Нияз Сабиров

Здравствуйте. А уточните, пожалуйста, по какой причине стоимость изменилась? Была стоимость в 1 рубль, стала в 9900 рублей.

Елена Сапегова
Елена Сапегова

для получения диплома нужно ли кроме теоретической части еще и практическую делать? написание самого диплома требуется?

Муслим Джалалудинов
Муслим Джалалудинов
Россия, Махачкала
Дмитрий Свиридов
Дмитрий Свиридов
Россия