2011年第4期 福州大学学报 (哲学社会科学版) No.4 20ll
(总第 104期) JOURNALOFFUZHOUUNIVERSITY (ml0sophyandS~iflSciences) SerialNo.1o4
Dijkstra最短路径算法的C语言实现
张 勤
(福州大学八方物流学院,福建福州 350108)
摘 要:将物流配送过程中的直达送货或大规模的一级配送问题转化为最短路径问题,在传统的Dijks~a方法的
基础上,采用C语言编程实现。通过程序的运行,可以发现该方法实现简单、准确。同传统的Dijks~a计
算方法相比,明显节省计算时间,尤其适用于复杂的最短路径问题的求解。
关键词:物流配送;最短路径问题;Dijks~a算法;C语言
中图分类号:F259.22 文献标识码:A 文章编号:1002—3321(2011)04-OO24—04
引言 系满足:Za:zW,这种情况下通常是单独的点对点
最短路径问题是重要的最优化问题之一,它 运输模式,可以将问题转化为指定点对间最短路
不仅可以直接应用于解决生产实际的许多问题, 径问题。因此,本文基于物流配送过程中的最短
如管道铺设、厂区布局、设备更新等,而且经常被 路径问题中各节点用户间的距离均为正值,在传
作为一个基本工具,用于解决物流配送系统中的 统Dijks 方法的基础上采用 C语言编程求解实
线路优化问题。 现,以期减少计算量和计算时间。
最短路径问题 (Sho~estPathProblem,SPP)可 表 1 各种算法的比较分析
以描述为:货车在最短的时间内将货物从甲地运 算法 计算复杂性 适用范围
往乙地,从甲地到乙地的路径选择不唯一,交通能 狄克斯特拉算法 11
v2次运算 正权网络图
力也不同,因此有多种行车路线。假设货车的运 (D~kstra)
行速度恒定,那么该问题相当于需要找到一条从 福特算法 11v3次运算 正、 负权 网络图
甲地到乙地的最短路径。…在实际中采用固定路 福劳特算法 2Ⅳ3次运算 正、负权网络图
线和固定运输单位的运输模式。
但茨希算法 2Ⅳ3次运算 正、负权网络图
目前,求解最短路径问题的方法很多,有狄克
斯特拉算法 (Dijks )、福特算法、福劳特算法、但
一 、 问题描述
茨希算法等,表 1给出以上各种方法的计算复杂
给定一个赋权有向图D= (,A),对每一个
性和适用范围分析。可以看出狄克斯特拉算法
弧 口=(t)i,),相应地有权 ∞(n)=∞,设 为
(Dijkstra)在求解弧的权值为正时,是最优 的
D中的一条路,即
方法。】
= {(秽 i2),(i2’ ),…,( I, )}
在物流配送网络中,区域内的直达配送或跨
区域间的一级配送经常会出现以下情况,运输车 称 为从点 。到 的一条路,点 。称为始点 ,