n=5;C=[0 15 16 0 0

0 0 0 13 14

0 11 0 17 0

0 0 0 0 8

0 0 0 0 0]; %弧容量

b=[0 4 1 0 0

0 0 0 6 1

0 2 0 3 0

0 0 0 0 2

0 0 0 0 0]; %弧上单位流量的费用

wf=0;wf0=Inf; %wf 表示最大流量, wf0 表示预定的流量值

for(i=1:n)for(j=1:n)f(i,j)=0;end;end %取初始可行流 f 为零流

while(1)

for(i=1:n)for(j=1:n)if(j~=i)a(i,j)=Inf;end;end;end%构造有向赋权图

for(i=1:n)for(j=1:n)if(C(i,j)>0&f(i,j)==0)a(i,j)=b(i,j);

elseif(C(i,j)>0&f(i,j)==C(i,j))a(j,i)=-b(i,j);

elseif(C(i,j)>0)a(i,j)=b(i,j);a(j,i)=-b(i,j);end;end;end

for(i=2:n)p(i)=Inf;s(i)=i;end %用 Ford 算法求最短路, 赋初值

for(k=1:n)pd=1; %求有向赋权图中 vs 到 vt 的最短路

for(i=2:n)for(j=1:n)if(p(i)>p(j)+a(j,i))p(i)=p(j)+a(j,i);s(i)=j;pd=0;end;end;end

if(pd)break;end;end %求最短路的 Ford 算法结束

if(p(n)==Inf)break;end %不存在 vs 到 vt 的最短路, 算法终止. 注意在求最小费用最大流时构造有

%向赋权图中不会含负权回路, 所以不会出现 k=n

dvt=Inf;t=n; %进入调整过程, dvt 表示调整量

while(1) %计算调整量

if(a(s(t),t)>0)dvtt=C(s(t),t)-f(s(t),t); %前向弧调整量

elseif(a(s(t),t)<0)dvtt=f(t,s(t));end %后向弧调整量

if(dvt>dvtt)dvt=dvtt;end

if(s(t)==1)break;end %当 t 的标号为 vs 时, 终止计算调整量

t=s(t);end %继续调整前一段弧上的流 f

pd=0;if(wf+dvt>=wf0)dvt=wf0-wf;pd=1;end%如果最大流量大于或等于预定的流量值

t=n;while(1) %调整过程

if(a(s(t),t)>0)f(s(t),t)=f(s(t),t)+dvt; %前向弧调整

elseif(a(s(t),t)<0)f(t,s(t))=f(t,s(t))-dvt;end %后向弧调整

if(s(t)==1)break;end %当 t 的标号为 vs 时, 终止调整过程

t=s(t);end

if(pd)break;end %如果最大流量达到预定的流量值

wf=0; for(j=1:n)wf=wf+f(1,j);end;end %计算最大流量

zwf=0;for(i=1:n)for(j=1:n)zwf=zwf+b(i,j)*f(i,j);end;end %计算最小费用

f %显示最小费用最大流

wf %显示最小费用最大流量

zwf %显示最小费用, 程序结束

mysql最小费用最大流问题_图论-网络流之最小费用最大流问题相关推荐

  1. mysql最小费用最大流问题_算法笔记_140:最小费用最大流问题(Java)

    packagecom.liuzhen.practice;importjava.util.ArrayList;importjava.util.Scanner;public classMain {publ ...

  2. 数组排序最小复杂度_进行排序的最小缺失数

    数组排序最小复杂度 Problem statement: 问题陈述: Given an array of n integers. Find the minimum number of elements ...

  3. 最小硬币问题_进行更改的最小硬币数量

    最小硬币问题 Description: 描述: This is classic dynamic programming problem to find minimum number of coins ...

  4. mysql最小费用最大流问题_最小费用最大流问题

    复杂网络中,单源单点的最小费用最大流算法(MCMF)应用广泛. 在实际网络问题中,不仅考虑从 Vs到 Vt的流量最大,还要考虑可行流在网络传送过程中的费用问题,这就是网络的最小费用最大流问题. 最小费 ...

  5. 【图论】最小费用最大流(网络流进阶)

    本文 前置基础:最大流问题(Dinic算法) && 单源最短路径(SPFA算法) 洛谷 P3381 [模板]最小费用最大流 所谓最小费用最大流,其实就是在最大流问题的基础上,再给边加上 ...

  6. 图论-网络流⑦-费用流解题

    图论-网络流⑦-费用流解题 上一篇:图论-网络流⑥-费用流 下一篇:图论-网络流⑧-有上下界的网络流 参考文献: https://www.luogu.com.cn/blog/user9012/solu ...

  7. 最小费用最大流算法 网络流

    最小费用最大流算法 图片来源 <趣学算法> 人民邮电出版社 陈小玉 代码实现 /* 参考:<趣学算法>陈小玉 人民邮电出版社 最小费用最大流---最小费用路算法 问题分析:在实 ...

  8. 0x6A.图论 - 网络流初步

    目录 一.网络流基本概念 二.最大流 1)Edmonds−KarpEdmonds-KarpEdmonds−Karp算法 luogu P2740草地排水 Edmonds-Karp增广路,最大流模板 2) ...

  9. 图论 —— 网络流 —— 基本概念与建模技巧

    [基本概念] 1.网络流 给定一个有向图 G=(V,E),在这个图中: 有唯一的一个源点 S(入度为 0,出发点) 有唯一的一个汇点 T(出度为 0,结束点) 图中的每条弧(u,v)都有一非负容量 c ...

最新文章

  1. 网络推广外包专员浅析为何网站网络推广外包中有排名却没有转化率
  2. subversion commit 报错A checksum mismatch occurred
  3. Ruby on Rails: 使用devise+cancan+rolify建立完整的权限管理系
  4. 面向对象设计原则-Principles and Patterns读书笔记三
  5. Maven 在 mac os M1芯片 上的安装
  6. Android基础知识大纲
  7. linux入门系统那个好,初学Linux哪个发行版本好?这些更合适!
  8. [转]小品:宋江同志在梁山泊招安动员大会上的讲话
  9. python一个函数调用另一个函数_python下如何在目录下让Python文件去调用另一个文件内的函数或类...
  10. nginx.conf添加lua.conf配置
  11. Maxtocode 2.0 试用版发布
  12. opencv4找不到opencv2/core/core.hpp: No such file or directory
  13. 数据结构实验一,第10题:基于顺序存储结构的图书信息表的图书去重
  14. Ubuntu16.04添加Pycharm快捷方式在启动器并修复问号图标问题
  15. Linux之磁盘与文件系统管理
  16. 工作三年的java程序员修行之路
  17. 生产制造追溯系统-再说条码打印
  18. word转excel排版不变怎么转?
  19. 一篇文章带你读懂批处理命令
  20. VSCode 出现 正在保存“xxxx.vue”: 从 “‘Vetur‘, ‘ESLint‘“(configure)中获取代码操作。

热门文章

  1. Ext动态加载Toolbar
  2. Objective-C Runtime 运行时与类的内部构造
  3. RANSAC与圆柱拟合
  4. 打开VM虚拟机,遇见问题“无法连接MKS:套接字连接次数太多;正在放弃。”
  5. MyBatis复习(八):MyBatis 分页插件 PageHelper
  6. PTA c语言 求幂级数展开的部分和
  7. 逆波兰式数学表达式求解
  8. java jdbc封装_JDBC封装-Java(新手)
  9. asp.net ftp上传文件到服务器,.net 文件上传到服务器上
  10. 联想笔记本java环境变量_联想ThinkPad笔记本如何添加系统环境变量?