您的当前位置:首页正文

2011高教社杯全国大学生数学建模竞赛7

来源:个人技术集锦


B题 交巡警服务平台的设置与调度

摘要

本组主要使用推理的方法,建立一个关于交警可出警距离的树状模型。

在第一问中先通过编程算出个节点间的距离,使用Dijkstra算法,然后参照犯罪率以及人口数进行尽可能的合理分配交警的出警线路以及对被两个或两个以上交警平台同时覆盖的节点进行如何有次序的安排平台出动警员。 经过筛选,选择围堵的最佳方法。 其后的问题便是第一问的推广。

正文

一、模型准备:

(1)问题的实际背景 “有困难找警察”,是家喻户晓的一句流行语。警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。为了更有效地贯彻实施这些职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台。每个交巡警服务平台的职能和警力配备基本相同。由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。 (2)题目的要求;

试就某市设置交巡警服务平台的相关情况,建立数学模型分析研究下面的问题:

(1)附件1中的附图1给出了该市中心城区A的交通网络和现有的20个交巡警服务平台的设置情况示意图,相关的数据信息见附件2。请为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。

对于重大突发事件,需要调度全区20个交巡警服务平台的警力资源,对进出该区的13条交通要道实现快速全封锁。实际中一个平台的警力最多封锁一个路口,请给出该区交巡警服务平台警力合理的调度方案。

根据现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际情况,拟在该区内再增加2至5个平台,请确定需要增加平台的具体个数和位置。

(2)针对全市(主城六区A,B,C,D,E,F)的具体情况,按照设置交巡警服务平台的原则和任务,分析研究该市现有交巡警服务平台设置方案(参见附件)的合理性。如果有明显不合理,请给出解决方案。

如果该市地点P(第32个节点)处发生了重大刑事案件,在案发3分钟后接到报警,犯罪嫌疑人已驾车逃跑。为了快速搜捕嫌疑犯,请给出调度全市交巡警服务平台警力资源的最佳围堵方案。 (3)必要的信息 :

(1)关于全市交通路口节点数据、全市交通路口的路线、全市交巡警平台、全市区出入口的位置、六城区的基本数据的表格信息已经粘贴在附录一上。

二、问题分析:

本题为城区道路网络中警车出警问题。在进行警车线路配置时,首先考虑警车最大出警范围,在此条件下,以犯罪率等为次要条件出动警车,尽量使警车3分钟内的线路覆盖到最大。

问题一在开始只要求分配20个平台的出警线路,在用实际均衡度进行衡量其分配是否合理。再对盲区区进行合理分配,增加适当数量的交警平台。在封锁A区的问题中主要求解各个平台到达A区出入口中距离最长之中的最小值。

问题二把增加交警平台的问题扩大到全市,然后在逃犯逃跑路线问题上找出围堵的最佳范围。

三、模型假设:

1、为了计算简便,不考虑交巡警从接警到出警的时间。

2、假设在每个交巡警3分钟能到达的地点之内的所有事发现场都在每一个节点(即此段路上离开交巡警平台最远的节点)上。

3、假设交巡警平台Si出动距离不可达节点B(j)即超过3km,假设此道路上任意点发生事件的概率相等。

4、假设在每个指定的交巡警平台只能一次处理一个案发事件,且每个节点在短时间内发生一个案件或发生两件或两件以上的案件时,已出警的警察可以独立解决,即视为只发生一起案件。

5、在交巡警出发处理案件时,假设每一条道路都是双行道,不考虑转弯对速度的影响也不考虑红绿灯对警车的影响。

6、在所有问题中,除了在追捕罪犯时考虑警车跨区行动,其余封锁,处理事件之时全部各司其职,即本区事件只有本区交巡警平台负责。

四、模型构成:

1、使用matlab程序算出给定的两两节点之间的距离,所有数据参见附录一

2、按照任意给定路线的起点对于此点到其他任意节点为重点,可使用使用matlab软件, 运用Dijkstra算法求两个指定顶点之间的最短路径

3、计算任意节点周围相邻节点的编号,经过筛选从而计算1-20号节点,即交巡警平台所在位置所能服务的最大范围,(在其中可能会有两个或两个以上的交巡警平台服务一个节点的情况,进行分类讨论)建立一个表格,如附录二

对“附图-1”图表进行分析: (1)、首先在图中不考虑交巡警平台自己发生事故出警的时间 (2)、考虑案发率,如表4-1所示:

平台

1

2 1.144 18.3

3 1.03 10.3

4 1.022 9.2

5 1.155 12.7

6 1.167 10.5

7 1.713 13.7

8 1.4 15.4

9 1.35 13.5

10 1.6 1.6

案发率 0.995 总数

20.9

平台 总数

11 3.9

12 2.0 4.0

13 1.575 6.3

14 2.5 2.5

15 2.1 2.1

16 1.34 6.7

17 1.35 8.1

18 1.006 18.1

19 0.893 12.5

20 1.109 12.2

案发率 1.3

表4-1

(3)、对于一个节点有n(n>1)个平台对其服务的情况,首先考虑每个平台管辖区域内的平均案发率,如表4-2:

节点 控制平台总数 交巡警平台 出警先后

25 2 31 4 32 3 33 3 34 3 35 3 36 3 37 3 40 2 42 3 43 3 44 3 45 3 46 3 47 4 48 3 50 2 51 2 52 2 56 2 58 3 59 2 64 4 65 4 66 5 67 4 68 4 69 3 70 3 71 3 72 4 73 4 74 4 75 3 76 4 77 3 78 3 79 3 80 3 81 2 82 2 83 2 84 2 85 2 11、12

7、8、9、15 7、8、9 7、8、9 7、8、9 8、9、16 8、9、16 8、9、16 2、17 1、2、17 1、2、17 1、2、3 8、9、15 8、9、15 5、6、7、8 5、6、7 5、6 5、6 5、6 5、6 4、5、6 5、6

1、3、4、19 1、3、4、19 1、2、3、4、19 1、2、3、19 1、2、3、19 1、2、19 1、2、17 1、2、8

1、2、17、18 1、2、18、19 1、2、18、19 1、2、19 1、2、3、19 1、18、19 1、18、19 1、18、19 1、18、19 18、19 18、19 18、19 18、19 18、19 先12后11

先9再8再7后15 先9再8后7 先9再8后7 先9再8后7 先16再9后8 先16再9后8 先16再9后8 先2后17 先1再2后17 先1再2后17 先1再3后2 先9再8后15 先9再8后15 先5再6再8后7 先5再6后7 先5后6 先5后6 先5后6 先5后6 先4再5后6 先5后6

先19再1再4后3 先19再1再4后3 先19再1再4再3后2 先19再1再3后2 先19再1再3后2 先19再1后2 先1再2后17 先1再2后8

先1再18再2后17 先19再1再18后2 先19再1再18后2 先19再1后2 先19再1再3后2 先19再1后18 先19再1后18 先19再1后18 先19再1后18 先19后18 先19后18 先19后18 先19后18 先19后18

87 88 89 90 91 2 2 2 2 2 18、19 18、19 18、19 18、19 18、19 先19后18 先19后18 先19后18 先19后18 先19后18

表4-2

在此处的“先、再、后”是指在优先出警平台已经出警时,再选取次优先的出警平台。 例如第73号平台发生事故,正好此时第19号平台正在处理事故80平台的事故,则派遣第1号平台的交巡警出警,以此类推。 (4)、对于任意一个交警平台在3分钟内都不能到达的节点,如表4-3:

节点 控制平台总数 平台 28 无 29 无 38 无 39 无 61 无 92 无 表4-3

考虑指派最近的交巡警平台进行服务,则对其改进的表格为:

节点 控制平台总数 平台 28 1 15 29 1 15 38 1 16 39 1 2 61 1 7 92 1 18 表4-3

综上所述,可以做出以下分配

节点 1 2 3 4 5 6 7 8 9

案发率 1.7 2.1

控制平台总数 1 1 1 1 1 1 1 1 1

交巡警平台 1 2 3 4 5 6 7 8 9

出警先后 无 无 无 无 无 无 无 无 无

2.2 1.7 2.1 2.5 2.4 2.4 2.1

10 1.6 11 2.6 12 2.4 13 2.2 14 2.5 15 2.1 16 2.6 17 2.5 18 1.9 19 1.8 20 1.9 21 1.4 22 1.4 23 2.4 24 1.1 25 1.6 26 1.2 27 0.8 28 1.3 29 1.4 30 2.1 31 1.6 32 1.5 33 1.4 34 1.7 35 1.4 36 1.1 37 0.1 38 1.2 39 1.4 40 1.7 41 1.4 42 1.4 43 1.7 44 1.1 45 1.4 46 1.2 47 1.6 48 1.4 49 1.2 50 1.1 51 0.8 52 0.6 53 1.4

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 4 3 3 3 3 3 3 1 1 2 1 3 3 3 3 3 4 3 1 2 2 2 1

10 11 12 13 14 15 16 17 18 19 20 13 13 13 13

11、12 11 11 15 15

7

7、8、9、15 7、8、9 7、8、9 7、8、9 8、9、16 8、9、16 8、9、16 16 2 2、17 17 1、2、17 1、2、17 1、2、3 8、9、15 8、9、15 5、6、7、8 5、6、7 5 5、6 5、6 5、6 5

无 无 无 无 无 无 无 无 无 无 无 无 无 无 无

先12后11 无 无 路程>3km 路程>3km 无

先9再8再7后15 先9再8后7 先9再8后7 先9再8后7 先16再9后8 先16再9后8 先16再9后8 路程>3km 路程>3km 先2后17 无

先1再2后17 先1再2后17 先1再3后2 先9再8后15 先9再8后15 先5再6再8后7 先5再6后7 无 先5后6 先5后6 先5后6 无

54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92

0.9 1 0.5 0.8 1.1 0.9 0.7 0.6 1.2 1.4 0.8 0.7 0.8 0.8 0.9 1.1 0.9 1.1 0.8 0.9 1.1 0.8 1.1 0.8 0.8 0.8 0.8 1.4 1.1 0.9 1 1.2 1.4 1.1 0.9 1.4 0.9 0.9

1 1 2 1 3 2 1 1 1 1 4 4 5 4 4 3 3 3 4 4 4 3 4 3 3 3 3 2 2 2 2 2 1 2 2 2 2 2 1

3 3 5、6 4

4、5、6 5、6 4 7 4 4

1、3、4、19 1、3、4、19 1、2、3、4、19 1、2、3、19 1、2、3、19 1、2、19 1、2、17 1、2、8 1、2、17、18 1、2、18、19 1、2、18、19 1、2、19 1、2、3、19 1、18、19 1、18、19 1、18、19 1、18、19 18、19 18、19 18、19 18、19 18、19 20

18、19 18、19 18、19 18、19 18、19 18

无 无 先5后6 无

先4再5后6 先5后6 无 路程>3km 无 无

先19再1再4后3 先19再1再4后3 先19再1再4再3后2 先19再1再3后2 先19再1再3后2 先19再1后2 先1再2后17 先1再2后8 先1再18再2后17 先19再1再18后2 先19再1再18后2 先19再1后2 先19再1再3后2 先19再1后18 先19再1后18 先19再1后18 先19再1后18 先19后18 先19后18 先19后18 先19后18 先19后18 无

先19后18 先19后18 先19后18 先19后18 先19后18 路程>3km

表4-4

2、对于增设交巡警平台的问题,首先考虑交警在3km内未覆盖的节点以及1-20个交警平台

3、首先考虑对没有覆盖的节点进行平台的增加,若案发率太低(案发率<1)则不建议建点,其次考虑此节点的发案率远大于所有交巡警对此节点服务的数量,例如:

节点 23

案发率

控制平台总数

交巡警平台

出警先后

1 13 无 2.4

发案率2.4起>交巡警平台数1个

注:若节点与平台是同一点,则不考虑增设平台

(1)、经过筛选,以下节点是交警在3km内未覆盖的节点:28、29、38、39、61、92.

(2)、如表4-5 未覆盖的节点 半径3km内的节点 案发率 说明 28 29(0.94868km) 0.8 案发率低建议建点在29 29 28(0.94868km) 1.3 建点 38 39(0.3km) 1.2 案发率比39略低建议在39建点 39 39(0.3km) 1.4 建点 61 无 0.6 不建点 92 87(2.138km) 0.8 不建点 91(2.002km) 表4-5

(3)从案发率考虑时,挑选发案率>节点数的点: 节点 案发率 控制平台总数 交巡警平台 出警先后 21 1 13 无 1.4 22 1 13 无 1.4 23 1 13 无 2.4 24 1 13 无 1.1 26 1 11 无 1.2 28 1 15 路程>3km 1.3 29 1 15 路程>3km 1.4 30 1 7 无 2.1 38 1 16 路程>3km 1.2 39 1 2 路程>3km 1.4 41 1 17 无 1.4 49 1 5 无 1.2 53 1 5 无 1.4 62 1 4 无 1.2 63 1 4 无 1.4 86 1 20 无 1.4 表4-6

按表格所示,最为明显的是节点23、30。故添加在23、30添加平台。

综上所述,新增的平台为23、30、28、39

4、在对A区进行封锁的问题中,首先通过matlab编程,实现从各个交巡警平台1-20到达指定的节点(12、14、16、21、22、23、24、28、29、30、38、48、62)的所有路程,其中最为特殊的是下表所示的部分:(为了视图简便 缩短位数 故忽略小数部分)

交巡警平台编号

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

指1928

0

172

151

162

113

113

85

102

97

141

424

460

401

341

47

273

296

251

271

232

定节点

1929

5.

177

156

155

106

106

80

111

107

151

415

451

391

331

57

264

286

241

261

223

在表中我们注意到:若对节点28进行封锁使用平台15,则对节点29进行封锁使用平台,7,在表格选取数据中可保证各个平台离指定节点的最大距离中80.1546为最小值(单位:0.1km)

即在第7平台对第29号节点进行封锁时保证其他指定节点已有警车到达进行封锁,且方法不唯一,例如: 方法一 方法二 出警的平台 所要到达的节点 出警的平台 所要到达的节点 3 62 4 48 4 48 2 38 2 38 6 30 6 30 7 29 7 29 9 16 9 16 10 12 10 12 11 24 11 24 12 23 12 23 13 22 13 22 14 21 14 21 15 28 15 28 20 62 ......

作为最优规划,经过排列组合找出的最优规划为: 出警的平台 所要到达的节点 10 12 16 14 9 16 14 21 13 22 11 23 12 24 15 28 7 29 5 30 2 38 6 48 4 62 表4-7

四、模型求解:

距离 :km 7.58659 6.74166 1.53254 3.26497 0.90554 4.6751 3.59163 4.75184 8.01546 3.18293 3.98219 2.50641 0.35 1、附件1中的附图1给出了该市中心城区A的交通网络和现有的20个交巡警服务平台的设置情况示意图,相关的数据信息见附件2。请为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。

综上可知:各交巡警服务平台分配管辖范围为:

节点 1 2 3 4 5 6 7 8 9 10 11 12 13

案发率 1.7

控制平台总数 1 1 1 1 1 1 1 1 1 1 1 1 1

交巡警平台 1 2 3 4 5 6 7 8 9 10 11 12 13

出警先后 无 无 无 无 无 无 无 无 无 无 无 无 无

2.1 2.2 1.7 2.1 2.5 2.4 2.4 2.1 1.6 2.6 2.4 2.2

14 2.5 15 2.1 16 2.6 17 2.5 18 1.9 19 1.8 20 1.9 21 1.4 22 1.4 23 2.4 24 1.1 25 1.6 26 1.2 27 0.8 28 1.3 29 1.4 30 2.1 31 1.6 32 1.5 33 1.4 34 1.7 35 1.4 36 1.1 37 0.1 38 1.2 39 1.4 40 1.7 41 1.4 42 1.4 43 1.7 44 1.1 45 1.4 46 1.2 47 1.6 48 1.4 49 1.2 50 1.1 51 0.8 52 0.6 53 1.4 54 0.9 55 1 56 0.5 57 0.8

1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 4 3 3 3 3 3 3 1 1 2 1 3 3 3 3 3 4 3 1 2 2 2 1 1 1 2 1

14 15 16 17 18 19 20 13 13 13 13

11、12 11 11

15 15 7

7、8、9、15 7、8、9 7、8、9 7、8、9 8、9、16 8、9、16 8、9、16 16 2

2、17 17 1、2、17 1、2、17 1、2、3 8、9、15 8、9、15 5、6、7、8 5、6、7 5 5、6 5、6 5、6 5 3 3 5、6 4

无 无 无 无 无 无 无 无 无 无 无

先12后11 无 无

路程>3km 路程>3km 无

先9再8再7后15 先9再8后7 先9再8后7 先9再8后7 先16再9后8 先16再9后8 先16再9后8 路程>3km 路程>3km 先2后17 无

先1再2后17 先1再2后17 先1再3后2 先9再8后15 先9再8后15 先5再6再8后7 先5再6后7 无

先5后6 先5后6 先5后6 无 无 无

先5后6 无

58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92

1.1 0.9 0.7 0.6 1.2 1.4 0.8 0.7 0.8 0.8 0.9 1.1 0.9 1.1 0.8 0.9 1.1 0.8 1.1 0.8 0.8 0.8 0.8 1.4 1.1 0.9 1 1.2 1.4 1.1 0.9 1.4 0.9 0.9

3 2 1 1 1 1 4 4 5 4 4 3 3 3 4 4 4 3 4 3 3 3 3 2 2 2 2 2 1 2 2 2 2 2 1

4、5、6 5、6 4 7 4

4

1、3、4、19 1、3、4、19 1、2、3、4、19 1、2、3、19 1、2、3、19 1、2、19 1、2、17 1、2、8 1、2、17、18 1、2、18、19 1、2、18、19 1、2、19 1、2、3、19 1、18、19 1、18、19 1、18、19 1、18、19 18、19 18、19 18、19 18、19 18、19 20

18、19 18、19 18、19 18、19 18、19 18

先4再5后6 先5后6 无 路程>3km 无

先19再1再4后3 先19再1再4后3 先19再1再4再3后2 先19再1再3后2 先19再1再3后2 先19再1后2 先1再2后17 先1再2后8 先1再18再2后17 先19再1再18后2 先19再1再18后2 先19再1后2 先19再1再3后2 先19再1后18 先19再1后18 先19再1后18 先19再1后18 先19后18 先19后18 先19后18 先19后18 先19后18 无

先19后18 先19后18 先19后18 先19后18 先19后18 路程>3km

表4-4

2、对于重大突发事件,需要调度全区20个交巡警服务平台的警力资源,对进出该区的13条交通要道实现快速全封锁。实际中一个平台的警力最多封锁一个路口,请给出该区交巡警服务平台警力合理的调度方案。

由上文提到的规划可知,最优规划为: 出警的平台 10 所要到达的节点 12 距离 :km 7.58659 时间:分钟 7.6

16 9 14 13 11 12 15 7 5 2 6 4 14 16 21 22 23 24 28 29 30 38 48 62 6.74166 1.53254 3.26497 0.90554 4.6751 3.59163 4.75184 8.01546 3.18293 3.98219 2.50641 0.35 表4-7

6.7 1.5 3.2 0.9 4.7 3.6 4.8 8.0 3.2 4.0 2.5 0.4

3、根据现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际情况,拟在该区内再增加2至5个平台,请确定需要增加平台的具体个数和位置。

综上可知,需要增加平台的具体个数为4个和位置为节点23、28、30、39

4、针对全市(主城六区A,B,C,D,E,F)的具体情况,按照设置交巡警服务平台的原则和任务,分析研究该市现有交巡警服务平台设置方案(参见附件)的合理性。如果有明显不合理,请给出解决方案。

根据A区曾设平台的方法,以此类推,先算出各个区所有平台的3km内可以服务的节点,从中筛选出盲点(任意交警平台在3min内都到不了的节点)和热点(此节点发案率>管辖此点的平台数)

经过筛选,可得表4-8数据 区域编号 规划是否良好 增加平台的标号 B 很好 无 C 很好 无 D 好 371 E 较差 385、386、390、406、407、416、417、444、449、467、472、473、474、 F 较好 486、540 表4-8

5、如果该市地点P(第32个节点)处发生了重大刑事案件,在案发3分钟后接到报警,犯罪嫌疑人已驾车逃跑。为了快速搜捕嫌疑犯,请给出调度全市交巡警服务平台警力资源的最佳围堵方案。 解题分析如下:

5.1、假设犯罪嫌疑人的车速与警车的速度同为60km/h。

且不考虑罪犯在两节点之间的路程中调头,但可以在节点原地调头 5.2、解出p点到A区的13个边界点的时间,如下 单位:min 边界 12 时间 13.7 14 10.0 16 3.30 21 13.3 22 13.9 23 15.3 24 14.4 28 8.89 29 9.16 30 1.72 38 6.49 48 2.43 62 9.13 5.3、与交巡警平台到边界节点的时间做对比,寻找可在第一时间围堵的点,即 罪犯到各个边界时间-3>交巡警到达各个边界的时间,其中第一次分配方案如下: 边界编号 派遣交巡警的平台号 12 12 14 13 16 可以实现平台16号封锁其中一个边界,可能逃到F区,下文中在进行分析 38 21 14 22 可能逃跑到E区 23 11 24 10 28 可以实现平台15号封锁其中一个边界,可能逃到D区,下文中在进行分析 29 30 可能逃跑到C区 48 可能逃跑到C区 62 1 表4-9

5.4、进一步分析:

5.4.1、由任意两点的最短距离列表可知: 从节点32到边界16,罪犯用时3.3min 从节点32到边界38,罪犯用时6.5min

为了给下一步布控留下足够的时间,则优先封锁节点16。

根据图上观察:若罪犯从38出A区以后只能到达节点561,可以看到F区 480平台可以较迅速的赶到,故进行计算:

警车线路:480-562-561,用时4.5min

罪犯线路:32-38-561,用时(8.8-3)=5.8min

8.8为实际罪犯用时,8.8-3为警察反应时间,可见警车480.号可以围堵罪 犯

5.4.2、由图观察可知:若罪犯从22出A区以后只能到达节点372,其中罪犯从节 点32逃往22已用时13.9min,且节点372为交巡警平台,有足够的时间进 行封堵

5.4.3、根据地图可知D区交巡警平台320是距离边界点371较近的一点,根据线路 320-349-371可知交巡警用时7.4min到达371,若罪犯从A区28出逃则用 时15.9min,此时警车有足够的时间反应、封锁

故在封锁节点28、29的选择上,考虑A区平台15封锁29,E区平台320 封锁371

5.4.4、由于节点30和节点48距离案发地P很近,在3min时可能罪犯已经进入C 编程对C区进行全面封锁。 结果如下: B区节点编号 指定平台编号 177 177 183 175 190 168 202 174 203 178 235 173 237 此节点可能为罪犯原路返回的情况 239 可能逃往A区 248 167 264 可能逃往D区 317 181 表4-10

进一步分析:若罪犯会从237处逃往A区,A区此时已经封锁,只以C联通。 若从239向A区逃跑时,平台29已经封锁

若从C区节点264出逃则下一目的地只有361,由图所示D区中平台322 此时已经封锁节点361

综上所述,封锁的所有步骤如下:(所有警员接到封锁命令马上行动,没有先后) 边界编号 派遣交巡警的平台号 12 12 14 13 16 16 38 不封 21 22 23 24 28 29 30 48 62 177 183 190 202 203 235 237 239 248 264 317 561 371 361

14 372 11 10 不封 15 不封 不封 1 177 175 168 174 178 173 不封 不封 167 不封 181 480 320 322 表4-11

附录一

在函数界面中编辑:

function [d,DD]=dijkstra(D,s) [m,n]=size(D); d=inf.*ones(1,m); d(1,s)=0; dd=zeros(1,m); z=ones(1,m); dd(1,s)=1;

y=s;

while length(find(dd==1))if dd(i)==0

if d(i)>d(y)+D(y,i) z(i)=y; end

d(i)=min(d(i),d(y)+D(y,i)); end end

ddd=inf; for i=1:m

if dd(i)==0&&d(i)end

yy=find(d==ddd); for i=1:length(yy) if dd(yy(1,i))==0 y=yy(1,i); dd(1,y)=1; end end end

DD=zeros(m,m); for i=2:m

DD(i,z(i))=1; DD(z(i),i)=1; end

主窗口编程如下:

A为一个1*143矩阵,数据为“cumcm2011B附件2_全市六区交通网路和平台设置的数据表”中“全市交通路口的路线”中A列:全市交通网中连接两路口节点路线的起点标号

中1-91的所有数。

B为一个1*143矩阵,数据为“cumcm2011B附件2_全市六区交通网路和平台设置的数据表”中“全市交通路口的路线”中B列:全市交通网中连接两路口节点路线的终点标号中1-91的所有数。

C为一个1*143矩阵,数据为对应Ai-Bi之间的距离。

E=eye(92)

for m=1:1:92;

for n=1:1:92; E(m,n)=inf; end End

for i=1:1:143 x=A(i); y=B(i);

if x<=92&&y<=92 E(x,y)=C(i) E(y,x)=C(i) end end

for m=1:1:92; E(m,m)=0; End

D=E;

H=ones(92,92); for i=1:1:92;

[d,DD]=dijkstra(D,1); H(:,i)=d'; F=ones(1,92); F=D(1,:); F(:,1)=[]; G=ones(92,1); G=D(:,1); G(1,:)=[]; D(1,:)=[]; D(:,1)=[]; D(92,:)=F; G(92,:)=0; D(:,92)=G;

end

附录三

附图-1

附图-1是查询各个交警到各个平台时间小于30的点,单位为0.1km

1 0 2 19 0 3 21 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 26 19 18 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

0 0 0 29 27

0 28 0 25 0 29 12 27 6 23 25 11 13 17 8 24 16 16

21 0 0 0 15 20 9 16 21 18 13 5 4 9

0 0 0 27 9 5 24 18

0 0 0 30 11

6

0 17 0 27 0

37 38 39 40 19 41 42 26 16 43 18 8 44 28 9 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 26 65 24 66 20 28 67 16 24 68 12 21 69 5 14 70 10 9 71 11 20 72 16 16 73 10 24 74 6 26 75 9 26 76 13 29 77 16 78 6 79 13 80

18

12 15 25 5 8 12 17 12 23 13 21 19 26 23 15 17 4 10 21 19 15 25 18 28 23 27 28

26 15 9 15 13 21 25 13 23 19 23 27 24 16

14 11 17

11 27 9 10 18 18 24 26 30 26 28 20 24 27 19 13

8

27 27 24 27 22 29 30 26 18 14 10 11 4 9

81 82 83 84 85 86 87 88 89 90 91 92

1

2

3

4

5 6

7

8 9

10

11 12

13

14 15

16

17 7 27 11 22 5 22 15 12 23 4 4 26 15 22 13 18 9 20 13 24 16 18

19

20

因篇幅问题不能全部显示,请点此查看更多更全内容