我有一个27000弧的定向网络,每个弧都有一个重量。
使用代码:
G=nx.Graph(G)
nx.maximum_flow(G,'CHN',"CHL")
我收到错误:
NetworkXUnbounded:无限容量路径,流量无限制在上面。
有谁知道如何获得最大流量值?
顺便说一句,当我跑:G.edges(data=True)
时,我会收到一本包含这样内容的词典:
('BGR', 'NCL', {'Edge Id': u'3727', 'weight': 334716.84}),
('BGR', 'ARE', {'Edge Id': u'3606', 'weight': 28347011.33}),
('BGR', 'ARG', {'Edge Id': u'3733', 'weight': 26294089.16}),
('BGR', 'SDN', {'Edge Id': u'3591', 'weight': 78929738.06}),
感谢。
答案 0 :(得分:1)
这不是很多信息。
但我很确定原因很简单:你没有定义任何容量。很明显,流量没有上限,因为我们可以通过图形推动无限量的流量! (因为没有明确的容量被解释为无限容量)
容量(字符串)
图G的边缘应具有属性容量,该容量指示边缘可以支持多少流量。如果此属性不存在,则认为边缘具有无限容量。默认值:'capacity'。
还有一句话:你在这里解决最大流量问题。没有使用重量!这些是针对max-flow-min-cost和co。 (也支持networkx)。