《现代优化技术-靳志宏》作业1-最短路-du

《现代优化技术-靳志宏》作业1-最短路-du

ID:41967067

大小:149.50 KB

页数:8页

时间:2019-09-05

《现代优化技术-靳志宏》作业1-最短路-du_第1页
《现代优化技术-靳志宏》作业1-最短路-du_第2页
《现代优化技术-靳志宏》作业1-最短路-du_第3页
《现代优化技术-靳志宏》作业1-最短路-du_第4页
《现代优化技术-靳志宏》作业1-最短路-du_第5页
资源描述:

《《现代优化技术-靳志宏》作业1-最短路-du》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、作业1:Dijkstra最短路径算法一Matlab实现1120140359杜剑交通运输规划与管理1)问题描述Dijkstra最短路算法用于寻找路网中两点间权数最小的路径,最短路问题的实际应用包括:设备更新、工厂布局、运输路径选择、线路安排等。Matlab是处理矩阵运算的有效工具,此处采用Matlab进行求解。2)Matlab编码a)数值输入与参数设计:输入路网矩阵G,计算路网中节点数N=size(G,l)o设置vl为临时标号阵列,v0为永久标号阵列,当某节点转为永久编号时其数值由1变为0,节点加入v0。编码:vl=ones(1,N);v0=l;vl(v0)=0;

2、输出为:vO=1vl=01111111b)算法终止条件:算法循环使用while语句,考虑路网不存在最短路、及最多循环N次两个终止情况,设置终止条件,编码如下:ifsize(vOr2)==N,break;end足兆出while循环ifisinf(Dmin),error,end报•错c)forj=l:N%设置两层循环,加两条判断语句。ifvl(j)fori=l:Nifvl(i)==0D(j)=min(D(j),D(i)+G(i,j));endD(j)=min(D(j),G(vO(1),i)+G(iAj));endendend外层中ifvl(j),表明j为临时编号点时

3、进入第二层循环,为永久编号点时j=j+lo内层循环是在j为临时编号点条件下,确定通过其他各个点到达j点的最短路D(j)cifvl(i)==OD(j)=min(D(j),D(i)+G(i,j));endD(j)=min(D(j),G(vO(1),i)+G(izj));其中,D(j)、D(i)指起点到达ji点的最短路长度;G(i,j)为路网中第i行j列,即由i点到j点的直线距离;vO为永久编号阵列;vl为临时编号阵列,ifvl(i)==0用于判断i点是否为永久编号点。a)fork=1:N,通过求minD(k),确定下一个永久编号点。D=G(vOr:);DT=D;f

4、ori=l:Nifvl(i)==0%对匚是否为永久编号做判断DT(i)=inf;endend[Dminid]=min(DT);v0=[vOid];记录最短路径长度,修改永久编号阵列。3)算例输入参数G,vO(1)如下:G=[inf2infinfinfinf;inf1infinfinf;inf7inf512inf;infinf9inf;0・»b.MWorkspace®Ef・IdisptDvOM:G«(in2infinf1inf1:inf1:infi:clcinf15infinf3inf8;infinf1inf3inf46;infinf29inf4inf3;infi

5、nfinfinf863inf];DesktcpWindowHelp♦N门3CurrentFolder:E:FR^Tlz14iB

6、iN=size(G,1)・■节点魏vO«l.■匕U号码•vO九永久阿刿”vlBonesn>l).Ml为临时壊空为列0vlD・forisl:NifvHi)~O定为永久Ml号$D2(i)«inf:WH%4(^M^7niAKi■nd»in>9error,end八知*皿5为无穷•来明就优无直詰・?!出•汗*运行程序:血"MewCommandWindow0・■b—Inf11A»—D-♦ndD

7、rksp^Name亠Comm>n

8、)fori=l:Nifv

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。