微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当总节点需求不为零时使用networkx的python运输问题

如何解决当总节点需求不为零时使用networkx的python运输问题

graph representation

有6个节点有消极和积极的需求。我需要计算出最好的变体来满足尽可能多的消费者。我正在尝试使用 networkx python 库来解决它:

import networkx as nx

G = nx.DiGraph()

G.add_node("1",demand=15)
G.add_node("2",demand=25)
G.add_node("3",demand=60)
G.add_node("4",demand=-55)
G.add_node("5",demand=-35)
G.add_node("6",demand=-40)

G.add_edge("1","2",weight=2)
G.add_edge("1","3",weight=1)
G.add_edge("1","6",weight=3)

G.add_edge("2",weight=4)
G.add_edge("2",weight=5)

G.add_edge("3","4",weight=3)

G.add_edge("4","5",weight=6)

G.add_edge("5",weight=2)

flowCost = nx.min_cost_flow_cost(G)
print(flowCost)

但据我所知,问题在于我的消极和积极要求的总结不是零,我得到了错误

networkx.exception.NetworkXUnfeasible: total node demand is not zero

那么有没有办法解决这个问题?也许最好使用一些不同的库?

解决方法

尝试添加此代码:

G.add_node("7",demand = 30)
G.add_edge("4","7",weight = 7)
G.add_edge("5",weight = 7)
G.add_edge("6",weight = 7)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。