《数学模型floyd算法.ppt》由会员分享,可在线阅读,更多相关《数学模型floyd算法.ppt(16页珍藏版)》请在三一办公上搜索。
1、Tsinghua University,Uncertainty Theory Laboratory,1,最短路算法,任意一对顶点之间的最短路算法:Floyd算法,Tsinghua University,Uncertainty Theory Laboratory,2,1、求距离矩阵的方法,2、求路径矩阵的方法,3、查找最短路路径的方法,(一)算法的基本思想,(三)算法步骤,Tsinghua University,Uncertainty Theory Laboratory,3,算法的基本思想,Tsinghua University,Uncertainty Theory Laboratory,4,算
2、法原理 求距离矩阵的方法,Tsinghua University,Uncertainty Theory Laboratory,5,算法原理 求路径矩阵的方法,在建立距离矩阵的同时可建立路径矩阵R,即当vk被插入任何两点间的最短路径时,被记录在R(k)中,依次求 时求得,可由 来查找任何点对之间最短路的路径,Tsinghua University,Uncertainty Theory Laboratory,6,算法原理 查找最短路路径的方法,pk,p2,p1,p3,q1,q2,qm,则由点i到j的最短路的路径为:,Tsinghua University,Uncertainty Theory La
3、boratory,7,算法步骤,自定义floyd函数,function d,r=floyd(w)n=length(w);for i=1:n for j=1:n d(i,j)=w(i,j);r(i,j)=j;endendfor k=1:n for i=1:n for j=1:n if d(i,k)+d(k,j)d(i,j)d(i,j)=d(i,k)+d(k,j);r(i,j)=k;end end endend,clear;w=0,9,inf,3,inf;9,0,2,inf,7;inf,2,0,2,4;3,inf,2,0,inf;inf,7,4,inf,0;d,r=floyd(w),选址问题-中心
4、问题,clear;w=0,3,inf,inf,inf,inf,inf;3,0,2,inf,1.8,2.5,inf;inf,2,0,6,2,inf,inf;inf,inf,6,0,3,inf,inf;inf,1.8,2,3,0,4,inf;inf,2.5,inf,inf,4,0,1.5;inf,inf,inf,inf,inf,1.5,0;d,r=floyd(w)S=max(d)%求矩阵各列的最大值s=min(S),Tsinghua University,Uncertainty Theory Laboratory,11,S(v1)=10,S(v2)=7,S(v3)=6,S(v4)=8.5,S(v5
5、)=7,S(v6)=7,S(v7)=8.5,S(v3)=6,故应将消防站设在v3处。,Tsinghua University,Uncertainty Theory Laboratory,12,选址问题-重心问题,Tsinghua University,Uncertainty Theory Laboratory,13,clear;w=0,3,inf,inf,inf,inf,inf;3,0,2,inf,inf,4,inf;inf,2,0,6,2,inf,inf;inf,inf,6,0,1,inf,inf;inf,inf,2,1,0,4,inf;inf,4,inf,inf,4,0,1.5;inf,i
6、nf,inf,inf,inf,1.5,0;d,r=floyd(w)q=3,2,7,1,6,1,4;for i=1:7 m1=0;for j=1:7 m1=m1+q(j)*d(i,j);end m(i)=m1;endmmin(m),Tsinghua University,Uncertainty Theory Laboratory,14,d=0 3.0000 5.0000 8.0000 7.0000 7.0000 8.5000 3.0000 0 2.0000 5.0000 4.0000 4.0000 5.5000 5.0000 2.0000 0 3.0000 2.0000 6.0000 7.500
7、0 8.0000 5.0000 3.0000 0 1.0000 5.0000 6.5000 7.0000 4.0000 2.0000 1.0000 0 4.0000 5.5000 7.0000 4.0000 6.0000 5.0000 4.0000 0 1.5000 8.5000 5.5000 7.5000 6.5000 5.5000 1.5000 0m=132 78 70 92 70 106 130ans=70,Tsinghua University,Uncertainty Theory Laboratory,15,实验八、最佳灾情巡视路线(节选部分),实验内容:求出下图中O到其它各点的最短路线(要求求出最短路线及其最短距离)(节选了教材上337面图中的16个点:即15、16、17、18、20、21、22、23、25、26、I、K、M、N、O、P等16个点),Tsinghua University,Uncertainty Theory Laboratory,16,