您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

适用于Python的快速最大流最小剪切库

适用于Python的快速最大流最小剪切库

我已使用图形工具完成类似任务。

graph-tool一个高效的python模块,用于图形的操纵和统计分析(又名网络)。他们甚至拥有关于最大流算法的极好的文档。

当前的 支持给定的算法:

来自文档的示例:使用Boykov-Kolmogorov查找maxflow

>>> g = gt.load_graph("flow-example.xml.gz") #producing example is in doc
>>> cap = g.edge_properties["cap"]
>>> src, tgt = g.vertex(0), g.vertex(1)
>>> res = gt.boykov_kolmogorov_max_flow(g, src, tgt, cap)
>>> res.a = cap.a - res.a  # the actual flow
>>> max_flow = sum(res[e] for e in tgt.in_edges())
>>> print max_flow
6.92759897841
>>> pos = g.vertex_properties["pos"]
>>> gt.graph_draw(g, pos=pos, pin=True, penwidth=res, output="example-kolmogorov.png")

我用随机有向图(nodes = 4000,vertices = 23964)执行了此示例,所有过程只花了11 。

替代库:

python 2022/1/1 18:31:03 有458人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶