最短路问题专题介绍.pptx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最短路问题算法及应用 1 问题描述 2 算法介绍 2.1 dijkstra算法 2.2 floyd算法 3 应用举例 3.1 物流中心选址 3.2 物流配送问题 3.3 多目标运输问题 主要内容 定义1 对简单图G的每一边e赋予一个实数,记为w(e),称为边e的 权,而每边都赋予权的图称为赋权图。 定义2 (u,v)-路的边权之和称为该路的长,而u,v间路长达到最小的 路称顶点u和v的最短路。 在给定赋权图G中,求两个互异顶点间的最短路,简记为最短路问题。 最短路问题是最优化问题之一,广泛应用于生产实践中的许多问题,如线路安排、厂区选址、设备更新等。 1 问题描述 基本思想:按距离u0由近及远为顺序,依次求得u0到G的各顶点的最短路和距离,直到v0(或直到G的所有顶点),算法结束。 2 算法介绍-dijkstra算法 算法步骤: 初始化(i=0):S0={vs},P(vs)=0, λ(vs)=0,对每一个v≠vs,令T(v)=+∞, λ(v)=M,k=s Step1:如果Si=V,算法终止,否则转入step2; Step2:考察每个使(vk,vj) ∈ A且vj不属于Si的点vj。如果T(vj)P(vk)+wkj,则把T(vj)修改为P(vk)+wkj,把 λ(vj)修改为k,否则转入step3; Step3:令T(vji)=min{T(vj)| vj不属于Si}。如果T(vji)+∞,则把vji的T标号变为P标号,令Si+1=Si ∪{vji},k=ji,i=i+1,转入step1. Matlab程序(见附件) 2 算法介绍-floyd算法 算法步骤: Step1:输入图G的权矩阵W,对所有i,j,有dij=wij,k=1; Step2:更新dij,对所有i,j,若dijdik+dkj,则令dij=dik+dkj; Step3:若dii0,则存在一条含有顶点vi的负回路,停止;或者k=n停止,否则转入step2. Matlab程序(见附件) 3.1 物流中心选址 3 应用举例 步骤: 求出最短路径矩阵U; 矩阵U每一行求和; 最小值行标号为选址地点。 参考文献: F I oyd最短路径算法在配送中心选址中的应用,湖南农业大学学报 Matlab程序(见附件) 3.2 物流配送问题 3 应用举例 问题抽象:物流配送问题可以抽象为必须通过指定点的最短路问题。 分两种情况:车辆回到原点;车辆不回到原点。 举例:考虑2点的情况 由始点k1到终点k2,经过指定点t1、t2的最短路经过4个顶点的顺序只能是如下两种情况,k1→t1→t2→k2和k1→t2→t1→k2. 若要满足所求得的路是最短路,那么4个顶点中相邻顶点之间的路也一定是最短路。 于是分别计算k1→t1,t1→t2,t2→k2和k1→t2,t2→t1,t1→k2之间的最短路;然后前三者相加得d1,后三者相加得d2,比较d1与d2之值,取较小者作为最终的输出结果。 由此可以看出,算法的时间与随问题规模增大呈指数增长,所以最短路算法不适合大规模配送问题求解。 考虑经过2点的Matlab程序(见附件) 3.3 多目标运输问题 3 应用举例 求次短路 Matlab程序 参考文献: 多目标最短路模型及算法,西南交通大学大学学报

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档