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()
.
它解决了这个问题。
我正在尝试将 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()
.
它解决了这个问题。