一篇文章带你搞定数学建模中的最短路径问题(含MATLAB代码)

文章目录

    • 一、最短路径问题和算法的类型
    • 二、Dijkstra 算法
    • 三、采用 graphshortestpath 最短路径函数

一、最短路径问题和算法的类型

按路径长度的不同定义可将最短路径问题分为两大类:普通路径长度和一般路径长度。后者是指路径权被定义为其上边权的其他函数,如路径的权为其包含的所有边权之积,边权的最大值或其他更复杂的函数。
再如,在交通网络中,在道路的交叉口转弯时,可能会增加一个“转弯罚数”(turn penalty)。
一篇文章带你搞定数学建模中的最短路径问题(含MATLAB代码)_第1张图片

二、Dijkstra 算法

寻求从一固定起点 v0 到其余各点的最短路径的最有效算法之一是Dijkstra 算法,它是一种迭代算法。为叙述方便,我们把从起点 v0 到顶点 v 的最短路径简称为 v 的最短路径。

要求:加权图中无负权。
出发点:最短路径上的任何子段仍是最短路径,距 v0远的顶点的最短路径必经过距 v0近的顶点。因此可按与 v0的距离由近及远地逐个求出各顶点的最短路径和长度。

从最短运输路线问题来演示MATLAB 中Dijkstra 算法的具体使用

你可能感兴趣的:(MATLAB,建模学习笔记,matlab,数学建模,最短路径,dijkstra)