如何将矩阵转换为具有权重的二分图

时间:2017-12-15 01:59:27

标签: java r algorithm matrix graph

我的矩阵是

   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)这是一个应该使用匈牙利算法的例子吗?

1 个答案:

答案 0 :(得分:1)

正如Petar已经提到的,矩阵w表示二分图。对于每一行,您在第一组中有一个节点,对于每一列,您在第二组中有一个节点。现在每个条目w [i] [j]表示节点i和节点j之间的边(具有权重w [i] [j])。

最佳工作分配(或最大二分匹配)正是匈牙利算法解决的任务。实际上,您不需要在图结构中转换矩阵,因为HA通常直接在矩阵上运行。