最小费用流 - 连续最短路算法 (SSP)

算法控制及视图

当前步数: 0
当前总流量: 0
当前阶段: 初始化
请点击“自动演示”或“下一步”开始运行算法演示。

算法流程

1. 初始化总流量 f = 0, 总费用 cost = 0;
2. while (未达到目标流值 v0) {
3. 根据当前流量 f,构建残量网络 N'(f);
4. // 规则: 未满弧产出正向弧(费w),有流弧产出反向弧(费-w)
5. 在 N'(f) 中使用 SPFA 寻找从 s 到 t 的最小费用增广路 P;
6. if (找不到路径 P) break; // 已达当前网络最大流
7. 找到路径 P 上的瓶颈容量 Δ = min(P残余容量);
8. 计算本次实际增广量 δ = min(Δ, v0 - |f|);
9. 沿增广路 P 推送流量 δ;
10. 更新流量 f,累加总费用 (cost += δ * 单位路径费用);
11. }
12. 算法结束,输出最终的流量 f 与总费用 cost;

图结构管理

节点管理 (4个属性)

边管理 (4个属性)

已访问