Теория массового обслуживания
Теория массового обслуживания (англ. queueing theory) — это раздел математики, посвящённый изучению очередей и процессов ожидания[1]. Математические модели очередей строятся с целью прогнозирования длины очереди и времени ожидания[1]. Теория массового обслуживания считается частью исследования операций, поскольку её результаты широко используются для обоснования решений о необходимых ресурсах при предоставлении различных услуг.
Истоки теории массового обслуживания связаны с исследованиями Агнера Крарупа Эрланга, который анализировал поступление телефонных вызовов в Копенгагенской телефонной компании[1]. Его работы стали фундаментом для инженерии телетрафика, а сама теория применяется в телекоммуникациях, транспортной инженерии, вычислительной технике[2], управлении проектами и прежде всего в организации производства, при проектировании заводов, магазинов, офисов и больниц[3].[4]
Правописание
В академической литературе чаще встречается написание queueing, а не queuing. Например, один из ведущих журналов области называется Queueing Systems.
Описание
Теория массового обслуживания является одной из ключевых областей науки об управлении. Эта дисциплина позволяет организациям решать широкий круг задач, применяя научные и математические методы. Анализ систем обслуживания опирается на вероятностный подход, а не на детерминированный, что отражается на характеристиках работы системы (либо так называемых эксплуатационных характеристиках)[5]. К таким характеристикам относятся вероятность наличия n клиентов в системе, среднее число клиентов в системе, среднее время ожидания в очереди, среднее время пребывания в системе и др[5] Главная цель анализа — вычислить эти показатели для текущей системы и оценить, как они изменятся при различных модификациях. Это помогает принимать решения, повышающие эффективность и снижающие издержки. Основные модели — это системы с одним и несколькими обслуживающими устройствами (сервером или кассами), которые могут учитывать постоянство/случайность времени обслуживания, ограниченность очереди, конечность потока вызовов и другие параметры.[5]
Одноузловые системы обслуживания
Очередь или узел массового обслуживания можно рассматривать как некоторое «чёрный ящик»: задачи (называемые также клиентами или запросами) приходят в очередь, возможно ожидают обслуживания, проходят процесс обслуживания и покидают систему.
Однако полностью «чёрным ящиком» узел обслуживания не является: требуется некоторая информация о внутренней структуре. Очередь обслуживают один или несколько серверов, которые по одному подключаются к поступающим задачам. После завершения обслуживания сервер освобождается для нового клиента.
Пример: касса в магазине. Покупатели приходят, проходят обслуживание (оплату), уходят. Если касса занята и нет зоны ожидания, клиент уходит (нет буфера); если очередь может включать до n клиентов — очередь с буфером размера n.
Процесс рождения–смерти
Поведение отдельной очереди (узла обслуживания) обычно моделируется с помощью процесса рождения–смерти, где отмечаются как поступления, так и выбытия клиентов (работ, задач), а состоянием системы является число занятых/ожидающих клиентов k. При поступлении k увеличивается на 1, при выбытии — уменьшается на 1.
Переходы между состояниями происходят с интенситетами поступления и обслуживания . В большинстве моделей интенсивности считать постоянными, то есть для всей системы существует среднее (поступление) и (обслуживание).
Уравнения баланса
Стационарные уравнения для процесса рождения–смерти (уравнения баланса):
Например:
и
В общем виде
Требование даёт:
совместно с формулой для полностью определяет стационарное распределение.
Обозначения Кендалла
Очереди обычно описываются с помощью обозначения Кендалла в виде 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)
- Классический принцип: каждый клиент обслуживается по мере поступления, предпочтение у того, кто ждал дольше[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 2 3 Sundarapandian, V. Гл. 7. Теория массового обслуживания // Probability, Statistics and Queueing Theory. — PHI Learning, 2009. — ISBN 978-81-203-3844-9.
- ↑ Lawrence W. Dowdy, Virgilio A.F. Almeida, Daniel A. Menasce Performance by Design: Computer Capacity Planning by Example. Дата обращения: 12 июня 2024. Архивировано 6 мая 2016 года.
- ↑ Schlechter, Kira. Hershey Medical Center to open redesigned emergency room (2 марта 2009). Архивировано 29 июня 2016 года. Дата обращения: 12 июня 2024.
- ↑ Mayhew, Les. Использование теории массового обслуживания для анализа времени ожидания в отделениях неотложной помощи с учётом четырёхчасового стандарта правительства / Mayhew, Les, Smith, David. — Cass Business School, декабрь 2006. — ISBN 978-1-905752-06-5.
- ↑ 1 2 3 Taylor, Bernard W. Introduction to management science. — 13-е. — New York : Pearson, 2019. — ISBN 978-0-13-473066-0.
- ↑ Tijms, H.C, Algorithmic Analysis of Queues, гл. 9 в A First Course in Stochastic Models, Wiley, Chichester, 2003
- ↑ 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.
- ↑ Agner Krarup Erlang (1878–1929). Pass.maths.org.uk (30 апреля 1997). Дата обращения: 12 июня 2024. Архивировано 7 октября 2008 года.
- ↑ 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.
- ↑ Pollaczek, F. Ueber eine Aufgabe der Wahrscheinlichkeitstheorie, Math. Z. 1930.
- ↑ 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.
- ↑ 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
- ↑ Pollaczek, F. Problèmes Stochastiques posés par le phénomène de formation d'une queue.
- ↑ 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=(справка на английском) - ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 1 2 Manuel, Laguna. Business Process Modeling, Simulation and Design : [англ.]. — Pearson Education India, 2011. — P. 178. — ISBN 978-81-317-6135-9.
- ↑ 1 2 3 4 Penttinen A. Глава 8 — Queueing Systems, конспект лекций S-38.145 — Introduction to Teletraffic Theory.
- ↑ 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.
- ↑ Andrew S. Tanenbaum. Modern Operating Systems / Andrew S. Tanenbaum, Herbert Bos. — Pearson, 2015. — ISBN 978-0-13-359162-0.
- ↑ 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.
- ↑ 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.
- ↑ Dimitriou, I. (2019). “A Multiclass Retrial System With Coupled Orbits And Service Interruptions: Verification of Stability Conditions”. Proceedings of FRUCT 24. 7: 75—82.
- ↑ Archived copy. Дата обращения: 12 июня 2024. Архивировано 29 марта 2017 года.
- ↑ Jackson, J. R. (1957). “Networks of Waiting Lines”. Operations Research. 5 (4): 518—521. DOI:10.1287/opre.5.4.518. JSTOR 167249.
- ↑ Jackson, James R. (1963-10). “Jobshop-like Queueing Systems”. Management Science. 10 (1): 131—142. DOI:10.1287/mnsc.1040.0268. JSTOR 2627213. Проверьте дату в
|date=(справка на английском) - ↑ 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.
- ↑ 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=(справка) - ↑ 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=(справка на английском) - ↑ Newell, G. F. Applications of Queueing Theory : [англ.]. — 1982. — ISBN 978-94-009-5972-9. — doi:10.1007/978-94-009-5970-5.
- ↑ 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.
- ↑ Chen, H.; Whitt, W. (1993). “Diffusion approximations for open queueing networks with service interruptions”. Queueing Systems. 13 (4): 335. DOI:10.1007/BF01149260.
- ↑ 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.
- ↑ 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.
- ↑ Gross, D., & Harris, C. M. (1998). Fundamentals of Queueing Theory. John Wiley & Sons.
Литература
- Gross, Donald. Fundamentals of Queueing Theory / Donald Gross, Carl M. Harris. — Wiley, 1998. — ISBN 978-0-471-32812-4.
- Zukerman, Moshe. Introduction to Queueing Theory and Stochastic Teletraffic Models. — 2013.
- Deitel, Harvey M. An introduction to operating systems. — revisited first. — Addison-Wesley, 1984. — P. 673. — ISBN 978-0-201-14502-1.
- Gelenbe, Erol. Analysis and Synthesis of Computer Systems / Erol Gelenbe, Isi Mitrani. — World Scientific, 2-е изд., 2010. — ISBN 978-1-908978-42-4.
- Newell, Gordron F. Applications of Queueing Theory. — Chapman and Hall, 1971-06-01.
- Leonard Kleinrock. Information Flow in Large Communication Nets, (MIT, Cambridge, 1961)
- Leonard Kleinrock. Information Flow in Large Communication Nets (RLE Quarterly Progress Report, 1961)
- Leonard Kleinrock. Communication Nets: Stochastic Message Flow and Delay (McGraw-Hill, 1964)
- Kleinrock, Leonard. Queueing Systems: Volume I – Theory. — New York : Wiley Interscience, 1975-01-02. — P. 417. — ISBN 978-0-471-49110-1.
- Kleinrock, Leonard. Queueing Systems: Volume II – Computer Applications. — New York : Wiley Interscience, 1976-04-22. — P. 576. — ISBN 978-0-471-49111-8.
- Lazowska, Edward D. Quantitative System Performance: Computer System Analysis Using Queueing Network Models / Edward D. Lazowska, John Zahorjan, G. Scott Graham … [и др.]. — Prentice-Hall, Inc, 1984. — ISBN 978-0-13-746975-8.
- Jon Kleinberg. Algorithm Design / Jon Kleinberg, Éva Tardos. — Pearson, 2013-06-30. — ISBN 978-1-292-02394-6.


