ACM SIGMOD Record ( IF 1.1 ) Pub Date : 2022-06-01 , DOI: 10.1145/3542700.3542712 Nikos Mamoulis 1
The optimal assignment problem is a classic combinatorial optimization problem. Given a set of n agents A, a set T of m tasks, and an n×m cost matrix C, the objective is to find the matching between A and T, which minimizes or maximizes an aggregate cost of the assigned agent-task pairs. In its standard definition, n = m and we are looking for the 1-to-1 matching with the minimum total cost. From a graph theory perspective, this is a weighted bipartite graph matching problem. A classic algorithm for solving the assignment problem is the Hungarian algorithm (a.k.a. Kuhn-Munkres algorithm) [3], which bears a O(n3) computational cost (assuming that n = m); this is the best run-time of any strongly polynomial algorithm for this problem. There are many variants of the assignment problem, which differ in the optimization objective (i.e., minimize/maximize an aggregate cost, achieve a stable matching, maximize the number of agents matched which their top preferences, etc.) and in whether there are constraints on the number of matches for each agent or task.
中文翻译:
技术视角:二分匹配:当计算作业成本占主导地位时,在现实世界中该怎么做 寻找最佳作业:ACM SIGMOD 记录:第 51 卷,第 1 期
最优分配问题是一个经典的组合优化问题。给定一组 n 个代理 A、一组 T 的 m 个任务和一个 n×m 成本矩阵 C,目标是找到 A 和 T 之间的匹配,它最小化或最大化分配的代理-任务对的总成本. 在其标准定义中,n = m,我们正在寻找具有最小总成本的一对一匹配。从图论的角度来看,这是一个加权二分图匹配问题。解决分配问题的经典算法是匈牙利算法(又名 Kuhn-Munkres 算法)[3],它的计算成本为 O(n3)(假设 n = m);这是针对此问题的任何强多项式算法的最佳运行时间。分配问题有许多变体,它们的优化目标不同(即,