最大匹配

(函数来自 pyomo.contrib.incidence_analysis.matching)

pyomo.contrib.incidence_analysis.matching.maximum_matching(matrix_or_graph, top_nodes=None)[source]

返回提供的矩阵或二分图的最大基数匹配

如果提供了一个矩阵,匹配将作为从行索引到列索引的映射返回。如果提供了一个二分图,还必须提供一组“顶部节点”。这些节点对应于“二分集”之一。然后,匹配将作为从“顶部节点”到另一组节点的映射返回。

Parameters:
  • matrix_or_graph (SciPy稀疏矩阵NetworkX图) – 将计算其最大匹配的矩阵或图

  • top_nodes (list) – 表示图中二分集的整数节点。当且仅当提供NetworkX图时必须提供。

Returns:

max_matching – 从第一个二分集合中的整数节点(行索引)到第二个集合中的节点(列索引)的字典映射。

Return type:

dict