用networkx解决图论问题(3)
在人员分派问题中,工作人员适合做的各项工作效益未必一致,需要制订一个分派方案,使公司总效益最大。解决这个问题可以用库恩-曼克莱斯(Kuhn-Munkres)算法。
例:假设要分配5个人做5项不同的工作,每个人做不同工作产生的效益由邻接矩阵
$ W = (w_{ij})_{5\times5} = \begin{bmatrix} 3 & 5 & 5 & 4 & 1 \\ 2 & 2 & 0 & 2 & 2 \\ 2 & 4 & 4 & 1 & 0 \\ 0 & 2 & 2 & 1 & 0 \\ 1 & 2 & 1 & 3 & 3 \end{bmatrix} $
表示。试求使效益达到最大的分配方案。
1 | # -*- coding: utf-8 -*- |