微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否有与匈牙利方法类似的算法,但用于求解大小为 n*m 的矩阵?

如何解决是否有与匈牙利方法类似的算法,但用于求解大小为 n*m 的矩阵?

是否有与匈牙利方法类似的算法,但用于求解大小为 n*m 的矩阵?

(n - 工人,m - 任务,m > n,每个工人必须至少有 1 个任务)

添加虚拟工人的变体是不正确的,因为在这种情况下,至少有 1 个任务将没有工人。

示例:

T1 T2 T3 T4
W1 2 9 6 3
W2 2 3 5 7
W3 5 5 7 2

结果是:

W1 - T2

W2 - T4

W3 - T1、T3

解决方法

如果您希望将每个任务分配给一个工作人员,即使这意味着每个工作人员分配了多个任务,请使用虚拟行运行一次算法

T1 T2 T3 T4
W1 2 9 6 3
W2 2 3 5 7
W3 5 5 7 2
D1 0 0 0 0

这会将 W1 分配给 T1,W2 分配给 T2,W3 分配给 T4,D1 分配给 T3。由于 T3 被分配给一个虚拟工人,它基本上没有被分配。如果您删除分配给工作人员的所有任务并添加虚拟列,您可以使用

再次运行它
D1 D2 T3
W1 0 0 6
W2 0 0 5
W3 0 0 7

这会将 T3 分配给 W2。所以最后的任务是:
W1到T1
W2到T2和T3
W3到T4

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。