Flows#

Maximum Flow#

maximum_flow(flowG, _s, _t[, capacity, ...])

查找最大单商品流。

maximum_flow_value(flowG, _s, _t[, ...])

查找最大单商品流的值。

minimum_cut(flowG, _s, _t[, capacity, flow_func])

计算最小 (s, t)-割的值和节点划分。

minimum_cut_value(flowG, _s, _t[, capacity, ...])

计算最小 (s, t)-割的值。

Edmonds-Karp#

edmonds_karp(G, s, t[, capacity, residual, ...])

使用Edmonds-Karp算法找到最大单商品流。

Shortest Augmenting Path#

shortest_augmenting_path(G, s, t[, ...])

使用最短增广路径算法寻找最大单商品流。

Preflow-Push#

preflow_push(G, s, t[, capacity, residual, ...])

使用最高标签预流推进算法找到最大单商品流。

Dinitz#

dinitz(G, s, t[, capacity, residual, ...])

使用Dinitz算法寻找最大单商品流。

Boykov-Kolmogorov#

boykov_kolmogorov(G, s, t[, capacity, ...])

使用Boykov-Kolmogorov算法找到最大单商品流。

Gomory-Hu Tree#

gomory_hu_tree(G[, capacity, flow_func])

返回无向图 G 的 Gomory-Hu 树。

Utils#

build_residual_network(G, capacity)

构建一个残差网络并初始化零流。

Network Simplex#

network_simplex(G[, demand, capacity, weight])

在有向图 G 中找到满足所有需求的最低成本流。

min_cost_flow_cost(G[, demand, capacity, weight])

找到满足有向图 G 中所有需求的最低成本流的成本。

min_cost_flow(G[, demand, capacity, weight])

返回一个满足有向图 G 中所有需求的最低成本流。

cost_of_flow(G, flowDict[, weight])

计算图G上由flowDict给定的流的费用。

max_flow_min_cost(G, s, t[, capacity, weight])

返回一个最小成本的最大 (s, t)-流。

Capacity Scaling Minimum Cost Flow#

capacity_scaling(G[, demand, capacity, ...])

找到有向图 G 中满足所有需求的最低成本流。