Материал из РУВИКИ — свободной энциклопедии

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

Теория массового обслуживания (англ. queueing theory) — это раздел математики, посвящённый изучению очередей и процессов ожидания[1]. Математические модели очередей строятся с целью прогнозирования длины очереди и времени ожидания[1]. Теория массового обслуживания считается частью исследования операций, поскольку её результаты широко используются для обоснования решений о необходимых ресурсах при предоставлении различных услуг.

Истоки теории массового обслуживания связаны с исследованиями Агнера Крарупа Эрланга, который анализировал поступление телефонных вызовов в Копенгагенской телефонной компании[1]. Его работы стали фундаментом для инженерии телетрафика, а сама теория применяется в телекоммуникациях, транспортной инженерии, вычислительной технике[2], управлении проектами и прежде всего в организации производства, при проектировании заводов, магазинов, офисов и больниц[3].[4]

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

Правописание

[править | править код]

В академической литературе чаще встречается написание queueing, а не queuing. Например, один из ведущих журналов области называется Queueing Systems.

Теория массового обслуживания является одной из ключевых областей науки об управлении. Эта дисциплина позволяет организациям решать широкий круг задач, применяя научные и математические методы. Анализ систем обслуживания опирается на вероятностный подход, а не на детерминированный, что отражается на характеристиках работы системы (либо так называемых эксплуатационных характеристиках)[5]. К таким характеристикам относятся вероятность наличия n клиентов в системе, среднее число клиентов в системе, среднее время ожидания в очереди, среднее время пребывания в системе и др[5] Главная цель анализа — вычислить эти показатели для текущей системы и оценить, как они изменятся при различных модификациях. Это помогает принимать решения, повышающие эффективность и снижающие издержки. Основные модели — это системы с одним и несколькими обслуживающими устройствами (сервером или кассами), которые могут учитывать постоянство/случайность времени обслуживания, ограниченность очереди, конечность потока вызовов и другие параметры.[5]

Одноузловые системы обслуживания

[править | править код]

Очередь или узел массового обслуживания можно рассматривать как некоторое «чёрный ящик»: задачи (называемые также клиентами или запросами) приходят в очередь, возможно ожидают обслуживания, проходят процесс обслуживания и покидают систему.

Очередь как «чёрный ящик»: задачи поступают и покидают систему.

Однако полностью «чёрным ящиком» узел обслуживания не является: требуется некоторая информация о внутренней структуре. Очередь обслуживают один или несколько серверов, которые по одному подключаются к поступающим задачам. После завершения обслуживания сервер освобождается для нового клиента.

Узел массового обслуживания с тремя серверами: сервер a свободен и получает нового клиента, b занят — обслуживает клиента, c только что завершил обслуживание. Следующий поступивший попадёт к свободному серверу.

Пример: касса в магазине. Покупатели приходят, проходят обслуживание (оплату), уходят. Если касса занята и нет зоны ожидания, клиент уходит (нет буфера); если очередь может включать до n клиентов — очередь с буфером размера n.

Процесс рождения–смерти[править | править код]

Поведение отдельной очереди (узла обслуживания) обычно моделируется с помощью процесса рождения–смерти, где отмечаются как поступления, так и выбытия клиентов (работ, задач), а состоянием системы является число занятых/ожидающих клиентов k. При поступлении k увеличивается на 1, при выбытии — уменьшается на 1.

Переходы между состояниями происходят с интенситетами поступления и обслуживания . В большинстве моделей интенсивности считать постоянными, то есть для всей системы существует среднее (поступление) и (обслуживание).

Процесс рождения–смерти. В кружках — состояния, которые меняются с теми или иными интенсивностями λi и μi.
Очередь c одним сервером, интенсивности поступления λ и обслуживания μ.

Уравнения баланса[править | править код]

Стационарные уравнения для процесса рождения–смерти (уравнения баланса):

Например:

и

В общем виде

Требование даёт:

совместно с формулой для полностью определяет стационарное распределение.

Обозначения Кендалла[править | править код]

Очереди обычно описываются с помощью обозначения Кендалла в виде A/S/c, где A — распределение поступления, S — распределение времени обслуживания, c — число серверов[6]. Например, M/M/1 — простейшая модель с одним сервером, где входной поток — пуассоновский процесс, времена обслуживания экспоненциальны (M — от Markov). В M/G/1 буква G означает любое распределение вероятностей времени обслуживания.

Пример анализа M/M/1[править | править код]

Очередь с одним сервером:

  • — интенсивность поступления (среднее число клиентов в единицу времени)
  • — средняя интенсивность обслуживания (обратное среднему времени обслуживания)
  • n — число клиентов в системе
  • — вероятность наличия n клиентов в системе в стационарном режиме

Уравнения баланса:

Отсюда:

, где — классическое геометрическое распределение.

Простая двухуравневая модель[править | править код]

Базовая система Эрланга (модификация закона Литтла):

,

где λ — интенсивность поступления, σ — интенсивность ухода без обслуживания (отказ, dropout), μ — интенсивность обслуживания, L — средняя длина очереди.

Время ожидания W при экспоненциальных законах определяется как:

или

Такие модели используются, например, в эпидемиологических задачах[7].

В 1909 году Агнер Краруп Эрланг впервые опубликовал работу по теории массового обслуживания, работая в Копенгагенской телефонной компании[8]. Он применил пуассоновский процесс для моделирования входящего потока вызовов и решил задачу M/D/1 (1917), а затем M/D/k (1920)[9].

  • M — «марковский» (memoryless): поступления происходят по пуассоновскому процессу;
  • D — «детерминированный»: фиксированное время обслуживания;
  • k — число серверов.

При недостатке серверов работы встают в очередь.

Очередь M/G/1 была решена Феликсом Полячеком (1930)[10], а позднее — в вероятностном виде Александром Хинчиным; решение известно как формула Полячека–Хинчина[9].

С 1940-х теория массового обслуживания активно развивается математиками[11]. В 1953 году Дэвид Джордж Кендалл задал современное обозначение очередей и решил задачу GI/M/k[12]. В 1957 Феликс Полячек исследовал GI/G/1 с помощью интегрального уравнения[13]. Джон Кингман дал оценку среднего времени ожидания в G/G/1 — формула Кингмана[14].

Леонард Клейнрок применял теорию массового обслуживания к коммутации сообщений (1960-е) и пакетной коммутации (1970-е). Его работы оказали большое влияние на развитие сетей ARPANET — предшественника Интернета.

Разработка матричных методов позволила учитывать фазовые распределения времени обслуживания и прихода[15].

Модели с связанными орбитами применяются, в частности, в теории беспроводных сетей и обработке сигналов[16].

Современные приложения теории массового обслуживания охватывают также разработку материальных продуктов с учётом пространственно-временных параметров[17].

Так, задачи вычисления характеристик для M/G/k-систем во многих случаях до сих пор остаются открытыми[9].[11]

Дисциплины обслуживания

[править | править код]

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

Первым пришёл — первым обслужен (FIFO, First come, first served)
Пример работы очереди FIFO
Классический принцип: каждый клиент обслуживается по мере поступления, предпочтение у того, кто ждал дольше[18].[19]
Последним пришёл — первым обслужен (LIFO)
предпочтение новому клиенту с минимальным временем ожидания; модель также называют стеком[19].
Processor sharing
Совместное разделение ресурсов между всеми клиентами (например, процессорное время делится поровну)[19].
Приоритеты
Особо важные заявки обслуживаются раньше (приоритетные очереди бывают вытесняющими и невытесняющими)[19][20].
Минимальное время выполнения
обслуживается задача с наименьшим объёмом работы[21].
Прерываемое обслуживание минимальной задачи
обслуживается задача с минимальным исходным объёмом[22].
Минимальное оставшееся время
выбирается задача с наименьшим оставшимся временем[23].
Устройство обслуживания
  • Один сервер: одна очередь, один обслуживающий;
  • Несколько параллельных серверов с одной очередью: клиенты в общей очереди обслуживаются несколькими серверами;
  • Несколько независимых очередей: клиенты сами выбирают, к какому столу встать.
Ненадёжный сервер
отказы происходят случайно (чаще всего по пуассоновскому закону); после отказа требуется настройка или ремонт, клиент ожидает восстановления работы сервера[24].
Поведение клиентов
  • Отказ от входа (balking) — если очередь слишком длинна, клиент не встаёт в очередь;
  • Перестановка (jockeying) — клиент меняет очередь, если считает, что в другой обслужат быстрее;
  • Ожидание сверх нормы и уход (reneging) — клиент покидает очередь из-за слишком долгого ожидания.

Клиенты, не получившие обслуживание по разным причинам, называются отказниками (dropouts).

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

[править | править код]

Сети массового обслуживания — это системы, состоящие из нескольких взаимосвязанных очередей, между которыми клиенты могут перемещаться после обслуживания. Состояние сети из m узлов описывается вектором из m компонент (x1, ..., xm).

Самые простые — тандемные очереди (сети Джексона), для которых найдены эффективные решения (продукт-форма стационарного распределения, анализ средних значений)[25].[26][27] Если число клиентов в системе постоянно (замкнутая сеть) — работают формулы Гордона–Ньюэлла, которые затем были обобщены для BCMP-сетей, допускающих произвольные режимы обслуживания и модели маршрутизации[28]. Быстрые алгоритмы для вычисления нормирующей константы были предложены Джеффри Бузеном[29].

Изучались также сети с неоднородным приоритетным обслуживанием (сети Келли), различные типы входных потоков (G-сети по Эролу Геленбе)[30].

Алгоритмы маршрутизации[править | править код]

В дискретных сетях при ограничениях на активность узлов часто используются max-weight-алгоритмы или маршрутизация по обратному давлению для оптимального распределения пропускной способности[18]. Выбор конкретного алгоритма очередей влияет на работу всей сети[31].

Модель среднего поля[править | править код]

Модель среднего поля рассматривает поведение долей очередей в разных состояниях при бесконечно большом числе узлов. Воздействие остальных очередей на любую фиксированную приближается дифференциальным уравнением. В стационарном случае результат совпадает с изначальной стохастической моделью[32].

Приближения при высокой загрузке[править | править код]

При больших загрузках систему приближённо описывают с помощью отражённого броуновского движения[33], орнштейновского процесса и других моделей диффузии[34]. Число измерений процесса соответствует числу очередных узлов.

Детеминированные (флюидные) пределы[править | править код]

Флюидные модели — это определённые (детерминированные) аналоги стохастических моделей, появляющиеся при масштабировании времени и пространства. Для флюидной аппроксимации можно строго доказать устойчивость системы, но возможны ситуации, когда стохастическая сеть устойчива, а её флюидная аппроксимация — нет[35].

Применение теории массового обслуживания[править | править код]

Теория массового обслуживания широко применяется в компьютерных науках и информационных технологиях. Например, в сетевых устройствах (маршрутизаторах, коммутаторах) анализ очередей позволяет оптимизировать работу при передаче данных и повышать эффективность использования ресурсов.

Принципы теории массового обслуживания актуальны и в повседневной жизни — например, при очередях в магазинах или в общественном транспорте. Понимание закономерностей позволяет оптимизировать процессы и повысить удовлетворённость пользователей. В любой сфере, где возникает ожидание, применимы методы этой теории[36].

Примечания

[править | править код]
  1. 1 2 3 Sundarapandian, V. Гл. 7. Теория массового обслуживания // Probability, Statistics and Queueing Theory. — PHI Learning, 2009. — ISBN 978-81-203-3844-9.
  2. Lawrence W. Dowdy, Virgilio A.F. Almeida, Daniel A. Menasce Performance by Design: Computer Capacity Planning by Example. Дата обращения: 12 июня 2024. Архивировано 6 мая 2016 года.
  3. Schlechter, Kira. Hershey Medical Center to open redesigned emergency room (2 марта 2009). Архивировано 29 июня 2016 года. Дата обращения: 12 июня 2024.
  4. Mayhew, Les. Использование теории массового обслуживания для анализа времени ожидания в отделениях неотложной помощи с учётом четырёхчасового стандарта правительства / Mayhew, Les, Smith, David. — Cass Business School, декабрь 2006. — ISBN 978-1-905752-06-5.
  5. 1 2 3 Taylor, Bernard W. Introduction to management science. — 13-е. — New York : Pearson, 2019. — ISBN 978-0-13-473066-0.
  6. Tijms, H.C, Algorithmic Analysis of Queues, гл. 9 в A First Course in Stochastic Models, Wiley, Chichester, 2003
  7. Hernández-Suarez, Carlos (2010). “An application of queuing theory to SIS and SEIS epidemic models”. Mathematical Biosciences and Engineering. 7 (4): 809—823. DOI:10.3934/mbe.2010.7.809. PMID 21077709.
  8. Agner Krarup Erlang (1878–1929). Pass.maths.org.uk (30 апреля 1997). Дата обращения: 12 июня 2024. Архивировано 7 октября 2008 года.
  9. 1 2 3 Kingman, J. F. C. (2009). “The first Erlang century—and the next”. Queueing Systems. 63 (1—4): 3—4. DOI:10.1007/s11134-009-9147-4.
  10. Pollaczek, F. Ueber eine Aufgabe der Wahrscheinlichkeitstheorie, Math. Z. 1930.
  11. 1 2 Whittle, P. (2002). “Applied Probability in Great Britain”. Operations Research. 50 (1): 227—239. DOI:10.1287/opre.50.1.227.17792. JSTOR 3088474.
  12. Kendall, D.G. Stochastic processes occurring in the theory of queues and their analysis by the method of the imbedded Markov chain, Ann. Math. Stat., 1953
  13. Pollaczek, F. Problèmes Stochastiques posés par le phénomène de formation d'une queue.
  14. Kingman, J. F. C. (1961-10). “The single server queue in heavy traffic”. Mathematical Proceedings of the Cambridge Philosophical Society. 57 (4): 902. DOI:10.1017/S0305004100036094. JSTOR 2984229. Проверьте дату в |date= (справка на английском)
  15. Ramaswami, V. (1988). “A stable recursion for the steady state vector in markov chains of m/g/1 type”. Communications in Statistics. Stochastic Models. 4: 183—188. DOI:10.1080/15326348808807077.
  16. Morozov, E. Stability analysis of a multiclass retrial system with coupled orbit queues // Proceedings of 14th European Workshop. — 2017. — Vol. 17. — P. 85–98. — ISBN 978-3-319-66582-5. — doi:10.1007/978-3-319-66583-2_6.
  17. Carlson, E.C.; Felder, R.M. (1992). “Simulation and queueing network modeling of single-product production campaigns”. Computers & Chemical Engineering. 16 (7): 707—718. DOI:10.1016/0098-1354(92)80018-5.
  18. 1 2 Manuel, Laguna. Business Process Modeling, Simulation and Design : [англ.]. — Pearson Education India, 2011. — P. 178. — ISBN 978-81-317-6135-9.
  19. 1 2 3 4 Penttinen A. Глава 8 — Queueing Systems, конспект лекций S-38.145 — Introduction to Teletraffic Theory.
  20. Harchol-Balter, M. Scheduling: Non-Preemptive, Size-Based Policies // Performance Modeling and Design of Computer Systems. — 2012. — P. 499–507. — ISBN 978-1-139-22642-4. — doi:10.1017/CBO9781139226424.039.
  21. Andrew S. Tanenbaum. Modern Operating Systems / Andrew S. Tanenbaum, Herbert Bos. — Pearson, 2015. — ISBN 978-0-13-359162-0.
  22. Harchol-Balter, M. Scheduling: Preemptive, Size-Based Policies // Performance Modeling and Design of Computer Systems. — 2012. — P. 508–517. — ISBN 978-1-139-22642-4. — doi:10.1017/CBO9781139226424.040.
  23. Harchol-Balter, M. Scheduling: SRPT and Fairness // Performance Modeling and Design of Computer Systems. — 2012. — P. 518–530. — ISBN 978-1-139-22642-4. — doi:10.1017/CBO9781139226424.041.
  24. Dimitriou, I. (2019). “A Multiclass Retrial System With Coupled Orbits And Service Interruptions: Verification of Stability Conditions”. Proceedings of FRUCT 24. 7: 75—82.
  25. Archived copy. Дата обращения: 12 июня 2024. Архивировано 29 марта 2017 года.
  26. Jackson, J. R. (1957). “Networks of Waiting Lines”. Operations Research. 5 (4): 518—521. DOI:10.1287/opre.5.4.518. JSTOR 167249.
  27. Jackson, James R. (1963-10). “Jobshop-like Queueing Systems”. Management Science. 10 (1): 131—142. DOI:10.1287/mnsc.1040.0268. JSTOR 2627213. Проверьте дату в |date= (справка на английском)
  28. Baskett, F.; Chandy, K. Mani; Muntz, R.R.; Palacios, F.G. (1975). “Open, closed and mixed networks of queues with different classes of customers”. Journal of the ACM. 22 (2): 248—260. DOI:10.1145/321879.321887. S2CID 15204199.
  29. Buzen, J. P. (1973). “Computational algorithms for closed queueing networks with exponential servers” (PDF). Communications of the ACM. 16 (9): 527—531. DOI:10.1145/362342.362345. S2CID 10702. Архивировано из оригинала (PDF) 2016-05-13. Дата обращения 2024-06-12. Используется устаревший параметр |url-status= (справка)
  30. Gelenbe, Erol (1993-09). “G-Networks with Triggered Customer Movement”. Journal of Applied Probability. 30 (3): 742—748. DOI:10.2307/3214781. JSTOR 3214781. S2CID 121673725. Проверьте дату в |date= (справка на английском)
  31. Newell, G. F. Applications of Queueing Theory : [англ.]. — 1982. — ISBN 978-94-009-5972-9. — doi:10.1007/978-94-009-5970-5.
  32. Bobbio, A. Analysis of Large Scale Interacting Systems by Mean Field Method // 2008 Fifth International Conference on Quantitative Evaluation of Systems / A. Bobbio, M. Gribaudo, M. S. Telek. — 2008. — P. 215. — ISBN 978-0-7695-3360-5. — doi:10.1109/QEST.2008.47.
  33. Chen, H.; Whitt, W. (1993). “Diffusion approximations for open queueing networks with service interruptions”. Queueing Systems. 13 (4): 335. DOI:10.1007/BF01149260.
  34. Yamada, K. (1995). “Diffusion Approximation for Open State-Dependent Queueing Networks in the Heavy Traffic Situation”. The Annals of Applied Probability. 5 (4): 958—982. DOI:10.1214/aoap/1177004602. JSTOR 2245101.
  35. Bramson, M. (1999). “A stable queueing network with unstable fluid model”. The Annals of Applied Probability. 9 (3): 818—853. DOI:10.1214/aoap/1029962815. JSTOR 2667284.
  36. Gross, D., & Harris, C. M. (1998). Fundamentals of Queueing Theory. John Wiley & Sons.

Литература

[править | править код]