1、资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 最短路径动态规划问题及其程序设计 林旭东 (深圳大学 管理学院,广东 深圳 518060) [摘 要]本文以最短路径问题为例,在给出佛洛伊德算法的基础上,设计了求解该算法的计算程序,这样可大大提高最短路径计算的效率。 [关键词]最短路径; 动态规划; 程序设计 1 佛洛伊德算法 已知有n个顶点的有向图,佛洛伊德算法能够求解出每一对顶点之间的最短路径。假设使用邻接矩阵d ( i, j)来对图进行存储, d ( i, j)表示υi 到υj 之间的距离,可是该距离不一定是最短距离。佛洛伊德算法的基本思想是:为
2、求顶点υi→υj 之间的最短距离,需要进行n次试探。首先将υ0 加入路[收稿日期] - 12 - 22[作者简介]林旭东(1972 - ) ,男, 湖北武汉人,深圳大学管理学院副教授,博士后,主要研究方向:数量模型与决策分析。径,考虑路径υi →υ0 →υj 是否存在,如果存在,则比较υi →υj和υi →υ0 →υj 的路径长度,取长度短的路径作为υi →υj 的路径,记作(υi ,υj ) 。接着在路径上再增加一个顶点υ1 ,比较υi→υ1 →υj 和(υi ,υj )的路径长度, 取长度短的路径作为(υi ,υj) 。不断将顶点υ2 ,υ3 , .,υn - 1加入进行试探, 最后得到
3、的(υi ,υj )必定为υi →υj 的最短路径。若使用数组dk ( i, j)表示加入顶点k后,最短路径长度的变化情况,使用数组pk ( i, j)表示加入顶点k后,最短路径上顶点的变化情况,这样佛洛伊德算法就会产生一组d 0 ( i, j) ,d1 ( i, j) , ., dn - 1 ( i, j)和一组p0 ( i, j) , p1 ( i, j) , ., pn - 1 ( i, j) 。 R2 = 01314 014 01286 0 01197 01263 01394 01146 01211 01281 01392 01116
4、01231 01308 01346 01115 , R3 = 01367 01409 01224 0 01402 01412 01186 0 01367 01409 01224 0 01326 01435 01239 0 。 (2) 利用层次分析法确定指标权重:A = (01123, 01769,01108) , A1 = (01201, 01206, 01324, 01269) , A2 = (01189,01323, 01195, 01293) , A3 = (01203, 01286, 01168, 013
5、43) 。 (3) 对Vi和U作综合评价。对Vi作综合评价,则有B1 =A1 ×R1 = (01356 8, 01380 3, 01222 2, 01040 6) , B2 = A2 ×R2= (01231 8, 01305 6, 01359 1, 01103 5) , B3 =A3 ×R3 = (01362 9, 01418 8, 01218 3)。对U作综合评价,则有B = A ×R = A ×[B1 ,B2 , B3 ]T = (01261 3, 01327 0, 01327 1, 01084 6) 。 (4) 计算综合评价值:W = B ×CT = 21765,表明广西北部湾经济
6、区物流竞争力相对比较强,这主要得益于该区域优越的物流竞争环境和强的竞争潜力。因此, 广西北部湾经济区物流业有比较好的发展前景。 4 结束语 实践表明,灰色综合评价法应用于区域物流竞争力的综合评价是有效的、 可靠的, 既能够评价一个区域物流竞争力所属的评价灰类,又能够对不同区域的物流竞争力进行选优排序,还能得出评价指标各组成要素的优劣排序, 所得评价信息可满足不同的评价需求。然而,同其它定量分析方法一样,灰色综合评价法对区域物流竞争力的评价, 仍有一定的局限性和不确定性。比如指标设置的代表性程度、 专家评分以及指标权重的确定等都具有一定的主观性和随机性。因此,在实际工作中应及时剔除突发
7、因素的影响, 使模型评估结果更加符合实际。 主要参考文献 [ 1 ]姚建华. 物流产业竞争力评价指标体系研究[ J ]. 商业经济文荟, (1) : 20 - 23. [ 2 ]李旭宏,李玉民,顾政华, 等. 基于层次分析法和熵权法的区域物流发展竞争态势分析[ J ]. 东南大学学报:自然科学版, , 34(3) : 398 - 401. [3 ]谢如鹤,邱祝强,陈宝星. 区域物流产业竞争力指标体系及其应用 [ J ]. 工业工程, , 11 (1) : 109 - 112. [ 4 ]邵万清. 物流产业评价指标与方法的探讨[ J ]. 物流科技, , 29(11)
8、 : 8 - 10. [ 5 ]胡笙煌. 主观指标评价的多层次灰色评价法[ J ]. 系统工程理论与实践, 1996 (1) : 12 - 21. [ 6 ]肖艳. 区域物流竞争力评价研究[D ]. 重庆:重庆大学机械工程学院, . [ 7 ]苏飞,唐万生. 商业银行授信风险分析的灰色综合评价法[ J ]. 哈尔滨理工大学学报, , 9 (4) : 47 - 51. [ 8 ]邓聚龙. 灰色系统理论教程[M ]. 武汉: 华中理工大学出版社,1991: 144 - 162.84经济管理 最后dn - 1 ( i, j)和pn - 1 ( i, j)就是顶点υi 到υj 之间的
9、最短距离和相应路径。 2 动态规划求解的佛洛伊德算法程序设计 如图1所示:给定一个线路网络,两点之间连线上的数字表示两点间的距离,求一条从A到E的路线,使总距离为最短。下面设计的程序要求用邻接矩阵存储图1 上三角阵。令υ1 ,υ2 , .,υ9 分别表示图1中点A, B1 , B2 , C1 , C2 , C3 , D1 ,D2 和E,则图1能够表示为(用99999表示∞) : 图1 动态规划的最短路径图 d ( i, j) = 99999 5 2 99999 99999 99999 99999 99999
10、 99999 99999 99999 99999 3 7 99999 99999 99999 99999 99999 99999 99999 99999 6 3 99999 99999 99999 99999 99999 99999 99999 99999 99999 6 99999 99999 99999 99999 99999 99999 99999 99999 3 8
11、99999 99999 99999 99999 99999 99999 99999 99999 1 99999 99999 99999 99999 99999 99999 99999 99999 99999 3 99999 99999 99999 99999 99999 99999 99999 99999 7 99999 99999 99999 99999 99999 99999 99999 99999 99999
12、 为了减少上述问题的计算工作量,我们编制求解动态规划算法的VBA程序如下: Sub js ( ) Dim n, i, j, k As Integer n = 9 Dim d (9, 9) , p (9, 9) , path (9) , distance As Integer Rem将数据存于数组d ( i, j)中 For i = 1 To n For j = 1 To n d ( i, j) =Cells ( i, j) Next j Next i For i = 1 To n For j = i + 1 To n If d ( i, j) <
13、 99999 Then d ( j, i) = d ( i, j) End If Next j Next i Rem定义距离矩阵 For i = 1 To n For j = 1 To n p ( i, j) = 0 Next j Next i For i = 1 To n For j = 1 To n If i = j Then p ( i, j) = 99999 Else p ( i, j) = i End If Next j Next i Rem计算距离和路径 For k = 1 To n Fo
14、r i = 1 To n For j = 1 To n If i < > j Then If d ( i, k) + d ( k, j) < d ( i, j) Then d ( i, j) = d ( i, k) + d ( k, j) p ( i, j) = k End If End If Next j Next i Next k Rem输出距离和路径 distance = d (1, n) For i = 1 To n path ( i) = 0 Next i Count = 9 i = 1
15、While Count > 1 path ( i) = p (1, Count) i = i + 1 Count = p (1, Count) Wend Cells(20, 1) = distance For i = 1 To n Cells (21, i) = path ( i) Next i End Sub 主要参考文献 [ 1 ]朱顺泉. 管理科学研究方法[M ]. 北京:清华大学出版社, . [ 2 ]运筹学编写组. 运筹学[M ]. 北京:清华大学出版社, 1992. [ 3 ]丁以中,等. 管理科学[M ]. 北京:清华大学出版社, . [ 4 ]杨世胜. 计算机在企业管理中应用[M ]. 上海:上海交通大学出版社, 1985.85






