Задача о назначениях

Материал из Systems analysis Wiki
Перейти к навигации Перейти к поиску

Задача о назначениях ((англ. assignment problem), AP) — классическая задача комбинаторной оптимизации, заключающаяся в нахождении взаимно‑однозначного соответствия между двумя равными по мощности множествами (агентами и задачами) с целью минимизации суммарной стоимости назначений[1]. В терминах теории графов задача эквивалентна поиску совершенного паросочетания минимальной стоимости во взвешенном двудольном графе[2]. Задача относится к разделам исследования операций, линейного программирования и теории паросочетаний и представляет собой частный случай транспортной задачи с единичными объёмами поставок и спроса.

В стандартной постановке задана квадратная матрица стоимостей C=(cij) размера n×n, где cij — стоимость назначения i‑го агента j‑й задаче. Требуется найти перестановку σ множества {1,…,n}, минимизирующую ∑i=1nci,σ(i). Задача полиномиально разрешима: наиболее известный алгоритм — венгерский метод (алгоритм Куна–Манкреса) — решает её за O(n3) операций[3].

Исторический контекст и предпосылки

Корни задачи о назначениях восходят к XIX веку. Карл Густав Якоби в 1830–1840‑х годах разработал алгоритм решения задачи в контексте систем дифференциальных уравнений; результаты были опубликованы посмертно в 1890 году на латинском языке[4].

В XX веке теоретическую базу заложили венгерские математики. Денеш Кёниг в 1931 году доказал теорему о равенстве размера максимального паросочетания и минимального вершинного покрытия в двудольных графах (теорема Кёнига). Енё Эгервари в том же году обобщил результат на взвешенный случай, показав конструктивный способ сведения взвешенной задачи к бинарной[5].

Термин «assignment problem» впервые появился в 1952 году в работе Воутоу и Ордена. В 1955 году Гарольд Кун опубликовал венгерский метод ((англ. Hungarian method)), названный в честь Кёнига и Эгервари[2]. В 1957 году Джеймс Манкрес провёл строгий анализ алгоритма Куна и доказал его сильную полиномиальность, за что алгоритм стали называть алгоритмом Куна–Манкреса[3]. Первоначальная оценка сложности составляла O(n4). В 1971–1972 годах Джек Эдмондс и Ричард Карп, а также Томидзава независимо модифицировали алгоритм до O(n3)[6].

К 2007 году — пятидесятилетию работы Куна — насчитывались сотни вариаций задачи, систематизированных в обзоре Пентико[5]. Наиболее полное изложение истории и алгоритмов содержится в монографии Буркарда, Делль'Амико и Мартелло (2012)[1].

Математическая формулировка

Целочисленная линейная программа

Классическая задача о назначениях формулируется как задача целочисленного линейного программирования (ЦЛП). Пусть имеется множество агентов I={1,…,n} и множество задач J={1,…,n}. Вводятся бинарные переменные xij∈{0,1}, где xij=1, если агент i назначен на задачу j[1]:

min⁡∑i=1n∑j=1ncijxij

при ограничениях:

∑j=1nxij=1,i=1,…,n(каждый агент назначен ровно одной задаче)
∑i=1nxij=1,j=1,…,n(каждая задача назначена ровно одному агенту)

Матрица X=(xij) при таких ограничениях представляет собой перестановочную матрицу — матрицу, в каждой строке и каждом столбце которой ровно одна единица. Множество всех допустимых решений задачи — множество всех перестановок Sn, число которых равно n![7].

Тотальная унимодулярность и линейная релаксация

Матрица ограничений задачи о назначениях является тотально унимодулярной ((англ. totally unimodular)): все миноры этой матрицы принимают значения из множества {−1,0,1}. Это свойство гарантирует, что все вершины многогранника назначений ((англ. assignment polytope, Birkhoff polytope)) являются целочисленными, то есть перестановочными матрицами. Следовательно, оптимальное решение линейной релаксации (замена xij∈{0,1} на 0≤xij≤1) автоматически целочисленно, и задача может быть решена методами линейного программирования без дополнительного требования целочисленности[7].

Данный результат является частным случаем теоремы Биркгофа–фон Неймана ((англ. Birkhoff–von Neumann theorem)), утверждающей, что множество дважды стохастических матриц представляет собой выпуклую оболочку перестановочных матриц[1].

Двойственная задача

Двойственная задача линейного программирования имеет вид:

max⁡∑i=1nui+∑j=1nvj

при ограничениях:

ui+vj≤cij,∀i∈I, j∈J

где ui и vj — двойственные переменные (потенциалы). По теореме сильной двойственности оптимальные значения прямой и двойственной задач совпадают. Условие дополняющей нежёсткости ((англ. complementary slackness)) утверждает, что в оптимальном решении xij=1 возможно только при равенстве ui+vj=cij. Это свойство лежит в основе венгерского метода[2].

Связь с теорией паросочетаний и потоков

Задача о паросочетании

Задача о назначениях эквивалентна задаче нахождения совершенного паросочетания минимальной стоимости ((англ. minimum‑cost perfect matching)) в полном взвешенном двудольном графе G=(U,V,E), где |U|=|V|=n, каждая вершина в U соответствует агенту, каждая вершина в V — задаче, а вес ребра (i,j) равен cij[1].

По теореме Кёнига–Эгервари размер максимального паросочетания в двудольном графе равен размеру минимального вершинного покрытия; для взвешенного случая это обобщается на равенство стоимости оптимального паросочетания и оптимального покрытия[5].

Задача о минимальном стоимостном потоке

Задача о назначениях также сводится к задаче о потоке минимальной стоимости ((англ. minimum‑cost flow)) в сети с источником s, стоком t и двудольными вершинами. Источник соединяется с каждым агентом ребром пропускной способности 1 и нулевой стоимости; каждая задача соединяется со стоком аналогично; рёбра между агентами и задачами имеют пропускную способность 1 и стоимость cij. Максимальный поток стоимости n в такой сети соответствует совершенному паросочетанию[7].

Алгоритмы решения

Для линейной задачи о назначениях разработан ряд точных полиномиальных алгоритмов. Все они гарантируют нахождение глобального оптимума, но различаются по практической эффективности на различных классах входных данных.

Венгерский метод (алгоритм Куна–Манкреса)

Венгерский метод — классический комбинаторный алгоритм, представляющий собой реализацию примально‑двойственного метода для пары взаимно двойственных задач линейного программирования[2]. Алгоритм работает с двойственными переменными (потенциалами) ui,vj и порождённым подграфом равенств G=={(i,j):ui+vj=cij}.

В матричной интерпретации алгоритм выполняет следующие шаги[3]:

  1. Редукция по строкам: из каждого элемента строки вычитается минимальный элемент этой строки.
  2. Редукция по столбцам: из каждого элемента столбца вычитается минимальный элемент этого столбца. В результате матрица содержит нули, соответствующие потенциальным назначениям.
  3. Покрытие нулей: находится минимальное число горизонтальных и вертикальных линий (строк и столбцов), покрывающих все нули.
  4. Проверка оптимальности: если число линий равно n, в матрице существует совершенное паросочетание нулей — оптимальное решение найдено.
  5. Корректировка матрицы: если число линий меньше n, выбирается минимальный непокрытый элемент δ, вычитается из всех непокрытых элементов и прибавляется к элементам на пересечении двух линий. Возврат к шагу 3.

Графовая реализация использует поиск увеличивающих путей ((англ. augmenting paths)) в подграфе равенств. На каждой итерации либо увеличивается размер текущего паросочетания, либо корректируются потенциалы, расширяя подграф равенств. Модификация Эдмондса–Карпа и Томидзавы обеспечивает сложность O(n3) за счёт более эффективного поиска кратчайших увеличивающих путей и обновления потенциалов[6].

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

Алгоритм Йонкера–Волгенанта (LAPJV)

Алгоритм Йонкера–Волгенанта ((англ. Jonker–Volgenant algorithm), LAPJV), предложенный в 1987 году, основан на последовательном поиске кратчайших увеличивающих путей ((англ. shortest augmenting path)) с использованием потенциалов[9]. Алгоритм имеет ту же асимптотическую сложность O(n3), однако на практике часто работает существенно быстрее венгерского метода благодаря более эффективным структурам данных и стратегиям инициализации. Реализации LAPJV входят в стандартные библиотеки SciPy (scipy.optimize.linear_sum_assignment) и MATLAB[9].

Для разреженных графов алгоритмы с кучами Фибоначчи достигают сложности O(mn+n2log⁡n), где m — число рёбер[7].

Аукционный алгоритм

Аукционный алгоритм ((англ. auction algorithm)), предложенный Димитрием Бертсекасом в 1980‑х годах, моделирует процесс назначения как аукцион: агенты итеративно «делают ставки» на задачи, повышая их «цены» до достижения равновесия[10]. Алгоритм естественно допускает параллельную реализацию, поскольку ставки агентов могут вычисляться независимо, что делает его привлекательным для распределённых систем и реализаций на графических процессорах[10].

Методы линейного программирования

Благодаря тотальной унимодулярности задача может быть решена стандартными методами линейного программирования — симплекс‑методом или методом внутренних точек — без дополнительного требования целочисленности. На практике специализированные комбинаторные алгоритмы значительно превосходят общие LP‑солверы по скорости на задачах о назначениях, однако LP‑подход удобен при наличии дополнительных ограничений, выходящих за рамки классической постановки[7].

Сравнение алгоритмов

Алгоритм Сложность Тип решения Особенности
Венгерский метод O(n3) Точное Классический; примально‑двойственный подход
LAPJV (Йонкер–Волгенант) O(n3) Точное Часто быстрее на практике; реализован в SciPy
Аукционный алгоритм O(n3) (с ε‑масштабированием) Точное Параллелизуем; подходит для распределённых систем
Min‑cost flow O(n3) Точное Естественен при обобщениях с ограничениями потока
Симплекс‑метод (LP) Экспоненциальная в худшем случае Точное Универсален; медленнее специализированных методов
Метод внутренних точек O(n3.5log⁡n) Точное Полиномиальный LP‑метод; высокие константы

Варианты целевой функции

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

Минимаксная (bottleneck) задача

Линейная минимаксная задача о назначениях ((англ. Linear Bottleneck Assignment Problem), LBAP) минимизирует не сумму, а максимальную стоимость назначенного ребра[7]:

minσ∈Snmaxi=1,…,nci,σ(i)

LBAP разрешима за O(n2.5) операций с помощью бинарного поиска по порогу стоимости с проверкой существования совершенного паросочетания в соответствующем подграфе[1].

Лексикографическая задача

В лексикографической задаче о назначениях вектор стоимостей назначений сортируется по невозрастанию и минимизируется в лексикографическом порядке. Данная постановка возникает, когда требуется обеспечить справедливость распределения — минимизировать наихудшую стоимость, затем вторую наихудшую и так далее[7].

Алгебраические обобщения

Более общие варианты заменяют операции суммирования и минимизации операциями над алгебраическими структурами — например, полукольцами. Такой подход позволяет моделировать задачи на кратчайшие пути и другие задачи дискретной оптимизации в единой рамке[7].

Вариации и обобщения

Классическая линейная задача о назначениях допускает многочисленные обобщения, отражающие различные практические требования. Большинство из них являются NP‑трудными.

Несбалансированные и ограниченные назначения

В практике часто число агентов не равно числу задач (несбалансированная задача, (англ. unbalanced assignment problem)). Стандартное решение — введение фиктивных агентов или задач с нулевой (при минимизации) или штрафной стоимостью[1].

Запрещённые назначения ((англ. forbidden assignments)) моделируются присвоением соответствующим элементам матрицы стоимости +∞ (или достаточно большого числа) либо явным исключением рёбер в графовой постановке[7].

При задачах максимизации (например, максимизации прибыли) применяют эквивалентное преобразование: c'ij=Cmax−pij, где pij — прибыль от назначения.

Обобщённая задача о назначениях (GAP)

Обобщённая задача о назначениях ((англ. Generalized Assignment Problem), GAP) вводит ограничения на ресурсы (ёмкости) агентов. Каждый агент i обладает ресурсом объёма bi; назначение задачи j агенту i потребляет aij единиц ресурса и имеет стоимость cij. Требуется назначить каждую задачу ровно одному агенту с минимальной суммарной стоимостью при условии ∑jaijxij≤bi для каждого i[11].

GAP является NP‑трудной. Для её решения разработаны точные методы (метод ветвей и границ; лагранжева релаксация) и эвристические подходы (жадные методы, локальный поиск, метаэвристики). Современные работы предлагают расширенные формулировки ((англ. extended formulations)) с более сильными линейными релаксациями и новыми классами валидных неравенств[12].

Квадратичная задача о назначениях (QAP)

Квадратичная задача о назначениях ((англ. Quadratic Assignment Problem), QAP) моделирует ситуации, где стоимость зависит от пар назначений. Классическая постановка включает матрицу потоков F=(fkl) между объектами и матрицу расстояний D=(dij) между позициями[1]:

minσ∈Sn∑k=1n∑l=1nfkldσ(k),σ(l)

QAP является NP‑трудной и одной из наиболее сложных задач комбинаторной оптимизации; точное решение возможно лишь для экземпляров умеренного размера (порядка нескольких десятков). На практике применяются метод ветвей и границ, табу-поиск, генетические алгоритмы и другие метаэвристики. Типичное приложение QAP — задача размещения оборудования ((англ. facility layout problem))[13].

Другие расширения

Многообразие практических приложений порождает ряд дополнительных обобщений классической задачи:

  • Многократная задача о назначениях: каждый агент может выполнять несколько задач при ограничениях по мощности[5].
  • Стохастическая задача о назначениях: стоимости или доступность ресурсов являются случайными величинами; решения строятся с учётом распределений и критериев риска[7].
  • Динамическая (онлайн) задача: задачи и агенты поступают во времени, решения принимаются последовательно без полной информации о будущих поступлениях[5].
  • Многокритериальные постановки: одновременный учёт нескольких критериев — стоимости, времени, качества[14].

Случайные и асимптотические аспекты

Развита теория асимптотического поведения оптимального значения задачи о назначениях при случайных стоимостях. Для матрицы C, элементы которой являются независимыми одинаково распределёнными случайными величинами с экспоненциальным распределением (параметр 1), математическое ожидание оптимальной стоимости при n→∞ стремится к[15]:

limn→∞𝔼[minσ∈Sn∑i=1nci,σ(i)]=π26=ζ(2)≈1,6449

Этот результат, известный как гипотеза Пароизи и доказанный Линусоном и Вёстлундом в 2004 году, имеет значение для анализа средней сложности и поведения алгоритмов на случайных данных[15].

Применения

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

Исследование операций и производство

Классические приложения включают назначение работников на рабочие места или смены, распределение работ по станкам для минимизации суммарного времени обработки, планирование смен и расписаний (назначение экипажей, бригад, преподавателей)[1].

Логистика и транспорт

В транспортной логистике задача используется для распределения транспортных средств по маршрутам (назначение такси клиентам с минимизацией времени подъезда, распределение вагонов по поездам, назначение ворот в аэропортах). Задача о назначениях также выступает как подзадача при решении более сложных задач маршрутизации, включая задачу коммивояжёра[14].

Компьютерное зрение и сопоставление данных

В компьютерном зрении задача о назначениях применяется для ассоциации данных ((англ. data association)) при многообъектном слежении ((англ. multi‑object tracking)): на каждом кадре наблюдения сопоставляются с существующими треками[7]. Другие применения включают сопоставление ключевых точек на изображениях, выравнивание сетей ((англ. network alignment)) и назначение задач процессорным ядрам в параллельных вычислениях[14].

Рецензирование статей и грантов

Задача о назначении рецензентов ((англ. Reviewer Assignment Problem), RAP) формулируется как обобщённая задача о назначениях с целевой функцией максимизации суммы сходств экспертизы при ограничениях на нагрузку и конфликты интересов. Реальные системы — TPMS, Erie — решают эту задачу с помощью ЦЛП, генетических алгоритмов или min‑cost flow[16].

Экономика, биоинформатика и здравоохранение

В экономике модели паросочетаний используются при анализе рынков сопоставлений ((англ. matching markets)) и механизмов распределения ресурсов. В биоинформатике задача применяется при выравнивании генных и белковых последовательностей, сопоставлении структурных элементов биомолекул. В здравоохранении — для назначения пациентов врачам, оптимизации распределения трансплантационных ресурсов и планирования палат[14].

Практическая эффективность

На матрицах размером n≤1000 современные реализации (LAPJV) решают задачу за секунды на стандартном оборудовании. Для n≈5000 требуются оптимизированные реализации; для n>104 — специализированные разреженные версии алгоритмов[9].

Размер задачи n Типичное время (LAPJV) Примечание
102 миллисекунды Любая реализация
103 секунды Стандартные библиотеки (SciPy, MATLAB)
104 десятки секунд — минуты Оптимизированные реализации
105 требуется специализация Разреженные методы, параллелизация

Для GAP точные методы решают экземпляры до n≈100–500 в зависимости от структуры ёмкостей; бо́льшие экземпляры требуют эвристик. Для QAP точная оптимизация ограничена размерами порядка нескольких десятков[5].

Ограничения классической модели

Классическая линейная задача о назначениях предполагает строгое соотношение один‑к‑одному между агентами и задачами, аддитивную линейную структуру целевой функции без взаимодействий между парами назначений, а также детерминированные и заранее известные стоимости cij[1]. В реальных задачах могут присутствовать ограничения совместимости и логические зависимости между назначениями, ограничения по мощности и ресурсам (приводящие к GAP), а также стохастические или нечётко заданные стоимости, требующие методов робастного или стохастического программирования[7].

Открытые проблемы и направления исследований

Несмотря на полную теоретическую изученность классической линейной задачи, для её обобщений остаётся ряд открытых вопросов[5][12]:

  • Формулировки и неравенства: улучшение линейных релаксаций для GAP и связанных задач с целью сокращения вычислительных затрат при решении крупных экземпляров.
  • Гибридные методы: разработка алгоритмов, сочетающих точные методы и метаэвристики с гарантированной оценкой качества.
  • Параллельные и распределённые реализации: эффективное использование многопроцессорных систем, графических процессоров и облачных сред.
  • Интеграция с машинным обучением: использование нейронных сетей для оценки стоимостей, прогнозирования параметров и выбора эвристик в алгоритмах назначения.
  • Онлайн‑алгоритмы: динамические задачи с поступлением данных в реальном времени, требующие адаптивных решений без полной информации.
  • Квантовые алгоритмы: потенциальное применение квантовых вычислений для ускорения решения задач большой размерности.
  • Справедливость и этика: включение ограничений на справедливость ((англ. fairness constraints)) в модели назначения, особенно в социально значимых приложениях — здравоохранении, распределении должностей, рецензировании.

Программные реализации

  • SciPy: scipy.optimize.linear_sum_assignment — реализация на основе LAPJV.
  • Google OR-Tools: линейные и обобщённые задачи о назначениях.
  • CPLEX, Gurobi: коммерческие LP/ILP‑солверы.
  • LEMON: библиотека для сетевых задач на C++.

См. также

Ссылки

Литература

  • Burkard, R. E., Dell'Amico, M., Martello, S. (2012). Assignment Problems. Revised ed. Philadelphia: SIAM. ISBN 978-1-61197-222-1.
  • Kuhn, H. W. (1955). The Hungarian Method for the Assignment Problem. Naval Research Logistics Quarterly, 2(1–2), 83–97. PDF.
  • Kuhn, H. W. (2012). A tale of three eras: The discovery and rediscovery of the Hungarian Method. European Journal of Operational Research, 219(3), 641–651.
  • Munkres, J. (1957). Algorithms for the Assignment and Transportation Problems. Journal of the Society for Industrial and Applied Mathematics, 5(1), 32–38.
  • Pentico, D. W. (2007). Assignment problems: A golden anniversary survey. European Journal of Operational Research, 176(2), 774–793.
  • Jonker, R., Volgenant, A. (1987). A Shortest Augmenting Path Algorithm for Dense and Sparse Linear Assignment Problems. Computing, 38, 325–340.
  • Edmonds, J., Karp, R. M. (1972). Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems. Journal of the ACM, 19(2), 248–264.
  • Bertsekas, D. P. (1992). Auction Algorithms for Network Flow Problems: A Tutorial Introduction. Computational Optimization and Applications, 1, 7–66.
  • Aksoy, M., Yanik, S., Amasyali, M. F. (2023). Reviewer Assignment Problem: A Systematic Review of the Literature. arXiv:2304.00353.
  • Aldous, D. J. (2001). The ζ(2) limit in the random assignment problem. Random Structures and Algorithms, 18(4), 381–418.
  • Loiola, E. M. et al. (2007). A survey for the quadratic assignment problem. European Journal of Operational Research, 176(2), 657–690.

Примечания

  1. ↑ 1,00 1,01 1,02 1,03 1,04 1,05 1,06 1,07 1,08 1,09 Burkard, R. E., Dell'Amico, M., Martello, S. (2012). Assignment Problems. Revised ed. Philadelphia: SIAM. ISBN 978-1-61197-222-1.
  2. ↑ 2,0 2,1 2,2 2,3 Kuhn, H. W. (1955). The Hungarian Method for the Assignment Problem. Naval Research Logistics Quarterly, 2(1–2), 83–97. https://web.eecs.umich.edu/~pettie/matching/Kuhn-hungarian-assignment.pdf
  3. ↑ 3,0 3,1 3,2 Munkres, J. (1957). Algorithms for the Assignment and Transportation Problems. Journal of the Society for Industrial and Applied Mathematics, 5(1), 32–38.
  4. ↑ Kuhn, H. W. (2012). A tale of three eras: The discovery and rediscovery of the Hungarian Method. European Journal of Operational Research, 219(3), 641–651. DOI: 10.1016/j.ejor.2011.11.008.
  5. ↑ 5,0 5,1 5,2 5,3 5,4 5,5 5,6 Pentico, D. W. (2007). Assignment problems: A golden anniversary survey. European Journal of Operational Research, 176(2), 774–793. DOI: 10.1016/j.ejor.2005.09.014.
  6. ↑ 6,0 6,1 Edmonds, J., Karp, R. M. (1972). Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems. Journal of the ACM, 19(2), 248–264.
  7. ↑ 7,00 7,01 7,02 7,03 7,04 7,05 7,06 7,07 7,08 7,09 7,10 7,11 Burkard, R. E., Çela, E. Linear Assignment Problems and Extensions. Technical report, University of Technology Graz. https://www.andrew.cmu.edu/course/42-731/handouts/Burkard_LAP_review.pdf
  8. ↑ Ndlovu, A. N. (2020). Development of an Accelerating Hungarian Method for Assignment Problems. SSRN Preprint. https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3724157
  9. ↑ 9,0 9,1 9,2 Jonker, R., Volgenant, A. (1987). A Shortest Augmenting Path Algorithm for Dense and Sparse Linear Assignment Problems. Computing, 38, 325–340.
  10. ↑ 10,0 10,1 Bertsekas, D. P. (1992). Auction Algorithms for Network Flow Problems: A Tutorial Introduction. Computational Optimization and Applications, 1, 7–66.
  11. ↑ Chan, K. C. Y., Magnanti, T. L., Phillips, R. L. (2003). Solving the Generalized Assignment Problem: An Optimizing and Heuristic Approach. INFORMS Journal on Computing, 15(3), 249–271. DOI: 10.1287/ijoc.15.3.249.16075.
  12. ↑ 12,0 12,1 A New Extended Formulation of the Generalized Assignment Problem and Some Associated Valid Inequalities (2023). https://www.bohrium.com/paper-details/a-new-extended-formulation-of-the-generalized-assignment-problem-and-some-associated-valid-inequalities/
  13. ↑ Loiola, E. M., de Abreu, N. M. M., Boaventura-Netto, P. O., Hahn, P., Querido, T. (2007). A survey for the quadratic assignment problem. European Journal of Operational Research, 176(2), 657–690.
  14. ↑ 14,0 14,1 14,2 14,3 Abu Bakar, A. R. et al. (2019). A Brief Review on Classic Assignment Problem and its Applications. IOSR Journal of Engineering, 9(9), 73–81. https://iosrjen.org/Papers/vol9_issue9/Series-1/M0909017381.pdf
  15. ↑ 15,0 15,1 Aldous, D. J. (2001). The ζ(2) limit in the random assignment problem. Random Structures and Algorithms, 18(4), 381–418.
  16. ↑ Aksoy, M., Yanik, S., Amasyali, M. F. (2023). Reviewer Assignment Problem: A Systematic Review of the Literature. arXiv:2304.00353 [cs.IR]. https://arxiv.org/abs/2304.00353