matlablingo程序代码1最短距离.docx

上传人:牧羊曲112 文档编号:3161192 上传时间:2023-03-11 格式:DOCX 页数:4 大小:37.54KB
返回 下载 相关 举报
matlablingo程序代码1最短距离.docx_第1页
第1页 / 共4页
matlablingo程序代码1最短距离.docx_第2页
第2页 / 共4页
matlablingo程序代码1最短距离.docx_第3页
第3页 / 共4页
matlablingo程序代码1最短距离.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《matlablingo程序代码1最短距离.docx》由会员分享,可在线阅读,更多相关《matlablingo程序代码1最短距离.docx(4页珍藏版)》请在三一办公上搜索。

1、matlablingo程序代码1最短距离例 9 某公司在六个城市 c1, c2, c6 中有分公司,从 i ci到cj的直接航程票价记在下述矩阵的(I,j)位置上。,请帮助该公司设计一张城市c1到其它城市间的票价最便宜的路线图。 clc,clear a=zeros(6); a(1,2)=50;a(1,4)=40;a(1,5)=25;a(1,6)=10; a(2,3)=15;a(2,4)=20;a(2,6)=25; a(3,4)=10;a(3,5)=20; a(4,5)=10;a(4,6)=25; a(5,6)=55; a=a+a; a(find(a=0)=inf; pb(1:length(a)

2、=0;pb(1)=1;index1=1;index2=ones(1,length(a); d(1:length(a)=inf;d(1)=0;temp=1; while sum(pb)a(i,k)+a(k,j) a(i,j)=a(i,k)+a(k,j); path(i,j)=k; end end end end a, path 我们使用LINGO9.0编写的FLOYD算法如下: model: sets: nodes/c1.c6/; link(nodes,nodes):w,path; !path标志最短路径上走过的顶点; endsets data: path=0; w=0; text(mydata

3、1.txt)=writefor(nodes(i):writefor(nodes(j): format(w(i,j), 10.0f),newline(1); text(mydata1.txt)=write(newline(1); text(mydata1.txt)=writefor(nodes(i):writefor(nodes(j): format(path(i,j), 10.0f),newline(1); enddata calc: w(1,2)=50;w(1,4)=40;w(1,5)=25;w(1,6)=10; w(2,3)=15;w(2,4)=20;w(2,6)=25; w(3,4)=10;w(3,5)=20; w(4,5)=10;w(4,6)=25;w(5,6)=55; for(link(i,j):w(i,j)=w(i,j)+w(j,i); for(link(i,j) |i#ne#j:w(i,j)=if(w(i,j)#eq#0,10000,w(i,j); for(nodes(k):for(nodes(i):for(nodes(j): tm=smin(w(i,j),w(i,k)+w(k,j); path(i,j)=if(w(i,j)#gt# tm,k,path(i,j);w(i,j)=tm); endcalc end

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号