灾情巡视路线
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
各组所走的路程分别为(单位:km) :212.2、125.5、215.9, 各组所走的路程总和为(单位:km) :553.6, 并求出其均衡度为:0.49。 4.2 问题二 4.2.1 问题分析 与第一题相同, 将巡视人员分为几组便将区域划分为几个部分。因此我们首 先确定在 24 小时内至少需要将巡视人员分为几组。在划分区域的过程中,经过 观察与计算发现,图中乡、村的分布十分的均匀,不存在某个区域集中出现乡或 者镇, 因此可以忽略停留时间对最小生成树与深度搜索的影响。所以我们套用第 一问的模型。 先进行粗略的分割得到大致所需的路程,然后根据最小生成树进行 深度优先算法,得到精确的路径,根据路径算出各组所需时间以及总时间。 4.2.2 模型的求解 首先计算需要把巡视人员分为几组: 乡镇停留时间:T=2 小时,村镇停留时间:t=1 小时,车速:V=35 公里/小时,乡 镇共有 17 个,村镇有 35 个, 总停留时间为 17×2+35=69 小时,要在 24 小时内 完成巡回,若不考虑汽车行驶时间,由 69/i<24(i 为分的组数)得到 i 最小为 4, 故至少要分 4 组。 由于该网络的乡(镇)、村分布较为均匀,故有可能找出停留时间尽量均衡的 分组,当分 4 组时各组停停留时间大约为 69/4=17.25 小时, 则每组分配在路途上 的时间大约为 24-17.25=6.75 小时。 根据第一问, 分三组时有个总巡视路程 602 公里,分 4 组时的总路程不会 比 603 公里大太多 , 不妨以 603 公里作为第二问的巡视总路程。路上约花 603/35=17 小时,若平均分配给 4 个组,每个组约需 17/4=4.25 小时小于 6.75 小 时,故巡视路线分成 4 组是合理的。 接下来套用第一题的最小生成树的 DFS 模型,得出了以下四个分组的路径:
表一 每两节点间距离表(部分)
4
将表格带入代码中(matlab 代码见附件一) ,得到了最小生成树中相邻的两 点的矩阵,表格如下:
27 50 46 14 1 2 7 49 50 24 14 15 2 38 1 51 50 26 14 43 1 3 2 37 26 21 43 12 3 4 37 34 21 48 43 13 4 39 34 32 48 20 47 18 4 40 32 33 26 22 18 23 3 6 37 53 22 47 18 17 6 7 53 30 20 46 15 44 7 8 30 52 46 19 42 11 8 41 52 31 19 45 37 35 41 10 52 29 45 16 35 36 10 42 29 28 24 25 40 5 41 9 28 27
tmax tmin 作为时间均衡度用具体实例分析在 ti 3
不同的 下,T、t、V 的改变对最佳巡视路线的影响,最终得到结果。
关键词:最小生成树 MTSP 深度优先搜索 贪心算法
1
一、 问题重述
今年夏天某县遭受水灾。为考察灾情、组织自救,该县领导决定带领有关 部门负责人到全县各乡(镇) 、村巡视。规定巡视路线为从县政府所在地出发, 走遍各乡(镇) 、村,又回到县政府所在地的路线。 题目给出一份已将该路段的公里数标注在公路边上的该县的乡(镇) 、村公 路网示意图。 1.给定巡查组数为三组,设计一组巡视路线使总路程最短且尽可能均衡。 2.给定巡视人员在各乡(镇)停留时间 T=2 小时,在各村停留时间 t=1 小 时,汽车行驶速度 V=35 公里/小时。求解应当分几组要在 24 小时内完成巡 视,并且给出这种分组下的最佳的巡视路线。 3.给定与问题二相同的 T , t 和 V 的假设,求解在巡视人员足够多的情况 下,完成巡视的最短时间是多少?并且给出最佳巡视路线。 4.若巡视组数已定(比如三组) ,要求尽快完成巡视,讨论 T,t 和 V 改变 对最佳巡视路线的影响。
灾情巡视路线
摘要
本题给出了某县的公路网示意图, 要求出在不同条件下灾情巡视的最佳分组 方案和路线。 这是一类图上点的遍历问题,也就是要用若干条闭合的曲线覆盖图 上的所有顶点, 并使某些指标达到最优。本文建模的主要思想即为利用逐步加入 法先生成一个可行路线,再利用最小生成树、启发式算法对路线进行优化调整, 并且使用均衡度概念来衡量各组路线的均衡性。 对于问题一,首先将图划分为三个区域,使每组巡视一个区域。在建立模型 的过程中, 首先使用了逐步加入法,粗略的得到三个区域的划分以及总共需要的 时间。接下来使用最小生成树算法,得到权值最小的路径。根据最小生成树,最 后运用深度优先搜索法,得到所求的精确路线。各组所走的路程分别为(单位: km) :212.2、125.5、215.9,路程总和为 553.6,均衡度为:0.49。 对于问题二,与第一题相同,将巡视人员分为几组便将区域划分为几个部 分。在划分区域的过程中,忽略停留时间对最小生成树与深度搜索的影响。所 以套用第一问的模型。先粗略的分割得到大致所需的路程,然后根据最小生成 树的深度优先算法计算,得到精确的路径,根据路径算出各组所需时间以及总 时间。各组所需走的路程分别为(单位/km) :142.5、152.1、194.6、189.2,各 组所需时间分别为(单位/h) :21.07、 21.34、 22.56、23.40,均衡度为:0.3。 对于问题三,最短距离即为从原点到到最远点的距离,从而求出最短时间, 在其他组的路径中,要保证时间小于最短时间。以此原则寻找其他路径,并使最 后的路径包括所有的村、镇、乡。在寻找路径的过程中,使用贪心算法,在每点 周围寻找路径最短的相邻点, 以此保证路径最优, 最后得到的所需组数为 22 组。 对于问题四, 使用理论分析对问题四进行讨论。 先将巡视时间用路程、 速度、 停留时间等变量表示。其次定义
G 11 J 19 L 7 6 5 2 O 各组所走的路程分别为(单位:km) :136.5、191.1、232.1 各组所走的路程总和为(单位:km) :559.7 并求出其均衡度为:0.54.
接下来求取该图的最小生成树:在一个给定的无向图 G =(V,E) 中,(u,v) 代表连接顶点
表二 最小生成树相邻两节点标号矩阵 根据表格画出最小生成树图:
图二 最小生成树路径图 最后根据最小生成树进行深度优先搜索,得到最终精确路径。 深度优先遍历图的方法是,从图中某顶点 v 出发: (1)访问顶点 v ; (2)依次从 v 的未被访问的邻接点出发,对图进行深度优先遍历;直至图 中和 v 有路径相通的顶点都被访问; (3)若此时图中尚有顶点未被访问,则从一个未被访问的顶点出发,重新
5
进行深度优先遍历,直到图中所有顶点均被访问过为止。 基于最小生成树的深度优先搜索过程流程图如下:
图三 基于最小生成树的深度优先搜索过程流程图
6
根据这种方法(Matlab 源代码见附件二) ,可得到以下路线:
: O P 28 27 26 N 24 23 21 K 22 17 16 I 15 I 18 J 19 L 20 25 M O : O 1 B A 34 35 33 31 32 30 Q 29 R O : O 2 5 6 7 E 11 G 13 14 H 12 F 10 F 9 E 84 D 3C O
:O C B 34 35 32 30 Q 29 R 31 33 A 1 O :O P 28 27 26 N 24 23 22 17 16 I 15 I 18 K 21 20 M O :O 2 3 D 4 8 E 9 F 10 F 12 H 14 13
2
三、 符号说明
四、 模型的建立与求解
4.1 问题一 4.1.1 问题分析 题目给定巡查组数为三组,要求设计一组巡视路线使总路程最短且尽可能 均衡。因此考虑将图划分为三个区域,使每组巡视一个区域。划分过程中既要 总路程最短,又应尽量使各组均衡,即各组通过的路程数接近,经过的乡、村 数目接近。在建立模型的过程中,首先使用了逐步加入法,粗略的得到三个区 域的划分以及总共需要的时间。接下来使用最小生成树算法,得到权值最小的 路径。根据最小生成树,最后运用深度优先搜索法,得到所求的精确路线。 4.1.2 树的深度优先搜索模型的建立与求解 通过对问题一进行分析, 锁定问题一的关键为如何对该公路网络图进行区域 划分。 本文首先使用逐步加入法得到一个使得总路程较短的初始化路线,再根据 逐步加入法的结果使用最小生成树算法, 对生成的最小生成树进行深度优先搜索 法, 进一步得到最终的精确路线。我们首先将题目中的图转化为一个节点间的简 易图(图一) ,在进行模型的建立与求解。
u 与顶点 v 的边(即) ,而 w(u,v)代表此边的权重,(T) 最小,则此 T 为 G 的最小生成树。
(t)
(u,v) t
(u,v)
1 ○
即最小生成树是将图中所有边按权值从大到小排列, 依次选所剩最小的边加 入边集 T,只要不和前面加入的边构成回路,直到 T 中有 n-1 条边,则 T 是最小 生成树。该题中,我们首先做出每两点之间的距离矩阵,表格如下:
二、 问题假设
1. 2. 3. 4. 5. 6. 假设图上标注的公路均未受水灾影响,仍可正常通过行,不影响巡查路线。 假设在各乡(镇) 、村均能准时到达、准时离开。 假设巡视人员的用食、休息等均在规定停留时间内,不会影响正常巡视。 假设汽车行驶速度不受外界因素影响,始终保持 35km/h 匀速行驶。 假设巡视过程中汽车、巡视人员等均无任何突发情况影响巡视进度。 假设各巡视内成员巡视行动一致,各成员巡视进度统一
图一 简化公路网络图
3
首先是逐步加入法:任取最外围一点,以逆时针为搜索方向,假定搜索尽量 走方向变化最小的路线即先加入本区域最外围的点, 然后在内部逐步加入新的点。 最后得到本区域的所有店。 该方法首先必须确定巡视要分为几组,并且规定各组必须经过 O 点,然后 用上述方法确定各区域的范围。 以这种方法可以进行调整得到一种总路程较短的 初始化路线 1 如下:
节点 1 2 3 4 5 6 7 8 9 10 11 12 13 …… 1 Infinity 6 9.2 14 34.9 17.5 26.6 33.9 49.1 48.9 65.3 55.3 66.7 …… 2 6 Infinity 15.2 19.1 40 23.5 32.6 39.9 55.1 54.9 71.3 61.3 72.7 …… 3 9.2 15.2 Infinity 4.8 25.7 8.3 17.4 24.7 39.9 39.7 56.1 46.1 57.5 …… 4 14 19.1 4.8 Infinity 20.9 13.1 22.2 23.3 38.5 38.3 54.7 44.7 56.1 …… 5 34.9 40 25.7 20.9 Infinity 24 33.1 27.8 20.4 36.2 52.6 42.6 54 …… 6 17.5 23.5 8.3 13.1 24 Infinity 9.1 16.4 31.6 31.4 47.8 37.8 49.2 …… 7 26.6 32.6 17.4 22.2 33.1 9.1 Infinity 7.3 22.5 22.3 38.7 28.7 40.1 …… 8 33.9 39.9 24.7 23.3 27.8 16.4 7.3 Infinity 15.2 15 31.4 21.4 32.8 …… 9 49.1 55.1 39.9 38.5 20.4 31.6 22.5 15.2 Infinity 15.8 32.2 22.2 33.6 …… 10 48.9 54.9 39.7 38.3 36.2 31.4 22.3 15 15.8 Infinity 16.4 22 17.8 …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… ……