我的矩阵是
3 4 1 2 2
0 1 2 3 1
0 5 5 1 3
2 2 1 0 5
1 4 2 1 3
我的任务是找到一个基于这个矩阵的最佳工作分配方案。执行第j个工作的第i个工作人员的工作效率w( ij )由上面的矩阵描述。我有两个问题:
1)我可以使用代码整齐地将此矩阵转换为二分图吗? 2)这是一个应该使用匈牙利算法的例子吗?
答案 0 :(得分:1)
正如Petar已经提到的,矩阵w表示二分图。对于每一行,您在第一组中有一个节点,对于每一列,您在第二组中有一个节点。现在每个条目w [i] [j]表示节点i和节点j之间的边(具有权重w [i] [j])。
最佳工作分配(或最大二分匹配)正是匈牙利算法解决的任务。实际上,您不需要在图结构中转换矩阵,因为HA通常直接在矩阵上运行。