算法:匈牙利算法

分配问题

设n个代理和n个任务。 可以分配任何代理以执行任何任务,这会产生一些费用,该费用可能会因代理任务分配而异。 要求执行所有任务,方法是将每个任务恰好分配给一个代理,将每个任务恰好分配给一个代理,以使分配的总成本最小化。

也称作指派问题。

算法

匈牙利算法是一种在多项式时间内求解任务分配问题的组合优化算法。 Hungarian Algorithm。

基本步骤:

img

可以输入系数矩阵,在线使用匈牙利算法来求解任务分配问题的一个网站

匈牙利算法的时间复杂度为 \(O(n^3)\)

问题分类

带权重的匹配

引入KM算法,Kuhn-Munkres算法
https://github.com/saebyn/munkres-cpp

posted @ 2022-06-21 14:44  天下太平  阅读(581)  评论(0编辑  收藏  举报