1 / 161
文档名称:

04讲(路线规划)ppt课件.ppt

格式:ppt   大小:1,939KB   页数:161页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

04讲(路线规划)ppt课件.ppt

上传人:相惜 2021/11/8 文件大小:1.89 MB

下载得到文件列表

04讲(路线规划)ppt课件.ppt

相关文档

文档介绍

文档介绍:配送线路规划
第四章
两点间路径问题
T标号(Tentative Label);
P标号(Permanent Label)
2
2021/11/8
多点间路径问题
3
2021/11/8
*
*
Floyd算法
Floyd算法是寻找加权图(权值可为负)中任意两个结点间最短路径的算法。
思路:
两结点间的最短路径要么是相邻时最短,要么是以通过几个中间结点为跳板时距离最短。
算法每次以其中一个结点为跳板,如果以该结点为跳板后两结点间路径缩短,则更新这两结点间的路径。
算法执行V次结束,直到测试完每个充当跳板的结点。
4
2021/11/8
*
P *
*
*
Floyd算法
过程:
Floyd算法采用邻接矩阵W作为图的存储结构,W[i,j]表示结点vi和vj之间的距离(权重);
D(k)记录经历k步后,两点间的路径长,k=0, ..., n ,初始时,W=D(0);
P记录每步更新时结点间经历的中间结点,通过对P矩阵的回溯操作,可得两点间的最短路径,初始时,P为0矩阵。
5
*
*
Floyd算法
算法第k步的更新规则:
以结点k为跳板,测试通过该结点后,两点间距离是否缩短,若距离不缩短则保留k-1步的结果,D(k)[i,j]=D(k-1)[i,j],
若距离缩短则更新两点间的距离,D(k)[i,j]=D(k-1)[i,k]+D(k-1)[k,j],
即,D(k)[i,j]=min{D(k-1)[i,j], D(k-1)[i,k]+ D(k-1)[k,j]}
如果第k个结点对缩短vi和vj间的路径做出贡献,P[i,j]=k。
6
2021/11/8
*
*
Floyd算法
Floyd算法实例:
图G及算法初始状态(D(0)=W, P=0)如下所示:
7
2021/11/8
*
*
Floyd算法
8
*
*
Floyd算法
矩阵D(4)中,无穷大元素表明其坐标对应的结点间无路径可达,其它元素表示两点间最短路径的长度。最终P指示如何通过回溯得到两结点间的最短路径。例:2到4的最短路径经过3, 则有2-3-4;2到3经过1, 则有2-1-3-4;2到1再无结点(P中对应0),回溯结束,2到4之间最短路径为2-1-3-4,D(2,4)=9
9
运输问题(略)
10