networkx network_simplex 没有浮点数的函数溢出警告

networkx network_simplex function overflow warning without floating numbers

我正在尝试将 networkx network_simplex() 函数与有向图一起使用。

官方文档中说:

This algorithm is not guaranteed to work if edge weights or demands are floating point numbers (overflows and roundoff errors can cause problems). As a workaround you can use integer numbers by multiplying the relevant edge attributes by a convenient constant factor (eg 100).

但是,我没有在边缘权重或需求上使用任何浮点数,我该如何解决这个问题?

这是我正在尝试的代码片段 运行:

flow_cost, flow_dict = nx.network_simplex(directed_graph)

您可以在下面找到 directed_graph 规格。 我说我的边权重或需求不是浮点数,我错了吗?

PS:这是我发现与该主题相关的唯一问题:python networkX network simplex

对我来说,解决方案是:

权重和需求字典包含 numpy.int32 个整数。我首先将它们更改为 numpy.int64 整数,仍然收到相同的警告。最后,我将它们更改为原生 python 整数,意思是 int().

它解决了这个问题。