- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab图论程序算法大全
图论算法matlab实现
求最小费用最大流算法的 MATLAB 程序代码如下:
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)0f(i,j)==0)a(i,j)=b(i,j);
elseif(C(i,j)0f(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(dvtdvtt)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 %显示最小费用最大流
图 6-22
wf %显示最小费用最大流量
zwf %显示最小费用, 程序结束__
Kruskal 避圈法:
Kruskal 避圈法的MATLAB 程序代码如下:
n=8;A=[0 2 8 1 0 0 0 0
2 0 6 0 1 0 0 0
8 6 0 7 5 1 2 0
1 0 7 0 0 0 9 0
0 1 5 0 0 3 0 8
0 0 1 0 3 0 4 6
0 0 2 9 0 4 0 3
0 0 0 0 8 6 3 0];
k=1; %记录A中不同正数的个数
for(i=1:n-1)for(j=i+1:n) %此循环是查找A中所有不同的正数
if(A(i,j)0)x(k)=A(i,j); %数组x 记录A中不同的正数
kk=1; %临时变量
for(s=1:k-1)if(x(k)==x(s))kk=0;break;end;end %排除相同的正数
k=k+kk;end;end;end
k=k-1 %显示A中所有不同正数的个数
for(i=1:k-1)for(j=i+1:k) %将x 中不同的正数从小到大排序
if(x(j)x(i))xx=x(j);x(j)=x(i);x(i)=xx;end;end;end
T(n,n)=0; %将矩阵T 中所有的元素赋值为0
q=0; %记录加入到树T 中的边数
for(s=1:k)if(q==n)break;end %获得最小生成树T, 算法终止
fo
您可能关注的文档
- 第二单元分数乘法·教材分析.doc
- 算法设计与分析历年题目(02-05).doc
- 线路的优化模型.doc
- 粉尘安全参数指标.docx
- 考博英语的典型语句练习.doc
- 能量量子化__光的波粒二象性__物质波.doc
- 自适应波束形成开题报告.doc
- 自适应波束成形算法LMS、RLS、VSSLMS.doc
- 自适应滤波算法分析.doc
- 西峡一高高二地理上学期期终考试考前强化练习B级.doc
- 环保岗位环保责任制度范文(4篇) .pdf
- 生态工业园区建设特色及对策研究-以山东潍坊经济开发区为例 .pdf
- 河南省信阳市第一高级中学2025届高三历史上学期期中试题扫描版.pdf
- 湖北工业大学工程技术学院全日制本专科教育合同审核审批表【模板】.pdf
- 生物实验室安全管理制度7篇 .pdf
- 生产统计的岗位职责 .pdf
- 浅析古筝曲《抒情幻想曲》 .pdf
- 河北省保定市竞秀区乐凯中学2023-2024学年八年级上学期月考数学试题.pdf
- 湘教版2021-2022学年七年级下学期地理期中考试试卷A卷精编 .pdf
- 甘肃省金昌市永昌县2023-2024学年高一上学期期中考试语文试题(含答案.pdf
最近下载
- 项目的实施流程.pdf VIP
- 2024年6月8日浙江杭州市直遴选笔试真题及答案解析.doc VIP
- 新人教版初中数学九年级上册《第二十三章旋转:23.1图形的旋转》公开课教案_4.pdf
- invt英威腾chf100a变频器使用说明书.doc
- 《生物化学课程标准.doc VIP
- 2023年黑龙江大学法学专业《民法学》期末试卷A(有答案).docx VIP
- GB_T 20001.3-2015 标准编写规则 第3部分:分类标准(OCR).pdf VIP
- 开放式和针阀式热流道比较.ppt
- 义务教育版(2024)三年级全一册第6课《视频记录片段》课件.pptx VIP
- 重庆市XX住宅工程分户验收表格填写样例.docx
文档评论(0)