Transcript 灾情巡视问题
灾情巡视问题 093695 陆荻 092376 韩向前 093633 吕慧洁 问题复述 某县遭受水灾。为考察灾情和自救,县领导决定带 领负责人到全县各乡(镇)、村巡视。巡视路线指从县政府 所在地出发,走遍各乡(镇)、村,又回到县政府所在地的 路线。 1.若分三组(路)巡视,试设计总路程最短且各组尽可能均 衡的路线。 2.若巡视人员在各乡(镇)停留时间T=2小时,在各村停留 时间t=1小时,汽车行驶速度v=35公里/小时。要在24小时内 完成巡视,至少应分几组;给出这种分组下最佳的巡视路线。 3.在上述关于T,t和v的假定下,若巡视人员足够多,完成巡 视最短时间是多少;给出在这种最短时间完成巡视的要求下, 你认为的最佳巡视路线。 4.若巡视组数已定(比如3组),要求尽快完成巡视,讨论T,t 和v改变对最佳巡视路线的影响。 乡(镇)和村的公路网示意图 模型假设 • 汽车在路上的速度总是一定,不会出现抛 锚等现象; • 巡视当中,在每个乡镇、村的停留时间一 定,不会出现特殊情况而延误时间; • 每个小组的汽车行驶速度完全一样; • 分组后,各小组只能走自己区内的路,不 能走其他小组的路,除公共路外; • 不考虑其他非正常情况。 理论准备(一) • 哈密尔顿圈:经过图G的每个顶点恰好一次 的圈。其中权最小的哈密尔顿圈称为最佳 哈密尔顿圈。 • 最佳推销员回路:经过每个顶点至少一次 的权最小的回路。 • 定理:完全图一定存在最佳哈密尔顿圈。 • 定理:加权图G的最佳推销员回路的权与G' 的最佳哈密尔顿圈的权相同。 理论准备(二) • 方法解析: 最佳哈密尔顿圈不一定是最佳推销员回路, 而最佳推销员贿赂也不一定是哈密尔顿圈。但是 最佳推销员回路问题可以转化为最佳哈密尔顿圈 问题。方法是由给定的图G(V,E)构造一个以V为顶 点集的完备图G'(V,E') ,E'的每条边(x,y)的权 等于顶点x与y在图中最短路的权。 • 算法处理: ①求带权图的任意两点间的最短距离的可用算法为 Floyd算法。 ②求最优哈密尔顿图到目前为止是没有精确算法的。 但是可以采用一些近似算法,如两边逐次修正法。 问题转化 • 节点—每个乡(镇)或村 • 边—各乡(镇)、村之间的公路 • 权—各条公路的长度(或行驶时间) 公路网 原问题 加权网络图 最佳推销员回路问题 即在给定的加权网络图中寻找: 从给定点O出发,行遍所有顶点至少一 次再回到O点,使得总权(路程或时 间)最小的道路。 符号说明 模型求解之问题一 • 问题复述: 分三组(路)巡视,试设计总路程最短且 各组尽可能均衡的路线。 • 问题转化: 求解一个V的分组(V1,V2,V3),使得: 3 ① f (Vi ) 充分小(总路程最短) i 1 ② max( f (Vi )) min( f (Vi )) 充分小(各组路程均衡) 求解步骤(一) 1. 运用Floyd算法,将所给图转化为满足任意两点之间的权值 为原图中任意两点之间的最短路长度的完全图。 2. 将G(V,E),转化为G'(V,E')。 3. 将G'(V,E')中的顶点集V分为三组,方法如下: ①选出三个点为基点,使得这三点两两之间的最短长度 是所有可能组合中最大的,而且三点离O点的距离比较均衡。 ②对于其他任何点,离哪个基点最近,将之与该基点划 为一组。 由此得到初始分组。将O点分到每组中,运用两边逐次 修正算法算得每组中的最优哈密尔顿圈。 各组的圈的权是: 求解步骤(二) 4. 调整初始分组 方法:①选出上次分组结果中路程最短与最长的两组。 ②在路程最长的组中找到与路程最短的组的基点 最近的点,并将之转移到路程最短的组中,构成新的分组。 ③重复上述过程,直至 max( f (Vi )) min( f (Vi )) 达到最小,即三组路程相对均匀为止。结果如下: 5. 具体的每组的路线为: 模型求解之问题二 • 问题复述: 假定巡视人员在各乡(镇)停留时间T=2小时,在各 村停留时间t=1小时,汽车行驶速度V=35公里/小时.要在24 小时内完成巡视,至少应分几组;给出这种分组下最佳的巡 视路线。 • 问题分析: 一共有35个村,17个乡镇,停留时间总共 35 17 2 69 小时,若分为3组,每组停留时间约为23小时,那么要在24 小时内完成巡视,每组在路上的时间约为1小时。而汽车行 驶速度为35km/h,故分成三组是完不成任务的。 最少分为4组。经验证,分成四组是可行的。 • 问题转化: 为将V分为 (V1,V2 ,V3 ,V4 ) ,每组用时 分组应使得 max( f (Vi / v) g (Vi )) 最小。 f (Vi / v) g (Vi ) ,最优 求解步骤 1.利用问题一的解法,将V分为四组,使得每组用 时相对均匀(以时间为权重),最终结果如下: 2.各组在24小时内完成巡视,可见此分组可行。具 体巡视路线如下: 模型求解之问题三 问题复述: 在上述关于T,t和V的假定下,如果巡 视人员足够多,完成巡视的最短时间是多少; 给出在这种最短时间完成巡视的要求下,你认 为最佳的巡视路线。 求解步骤(一) 1. 如果巡视人员足够多,显然52个巡视人员分别巡视不同 村镇可使使用时间最短。此时用Floyd算法可得结果如下 (由图可知,巡视最短时间为6.394小时) 求解步骤(二) 2. 显然,52个巡视员是浪费,因为很多较近的村镇可以 被巡视较远村镇的巡视员顺路巡视,而又不影响最终 完成巡视的最短时间。根据此思路可以减少一些巡视 人员。具体如下: 对巡视各个点所用时间从大到小遍历,每到一个点,检查 O点到该点的最短路上有没有还没有被顺路巡视但可以 被它顺路巡视(增加巡视该点不影响最短时间)的点, 如果有,则至少增加一个巡视点。 下图即最佳的巡视路线,共分为24组。 红颜色标记的为巡视的村或乡镇。前20组走到终 点后按原路返回。 由图可以看出,除了第二组外,各组所用时间比 较均衡,所得结果是比较理想的。 结果如下: 求 解 步 骤 ( 三 ) 模型求解之问题四 问题复述: 若巡视组数已定(比如三组),要求尽 快完成巡视,讨论T,t和v改变对最佳巡视路线 的影响。 求解步骤 1. 基点确认:考虑的是各个顶点之间的距离的关系,因此 T,t与v的改变并不影响基点的选择。 2. 初始分组:各点距基点的距离即各点到基点的时间成了 判断标准,因此T和t的改变对于初始分组过程是没有影响 的。而汽车的速度是相等不变的,因此v的改变对每个点的 影响是相等的。因此,v也不影响初始分组过程。 3. 调整分组:T,t与v的改变都会对巡视时间产生影响,从 而对分组的调整产生影响。因 Ti NiT nit f (Vi ) / v ,其 中Ti表示各组所用最短巡视时间,Ni表示各组顶点中乡镇 的个数,ni表示各组顶点中村的个数。 ①当T或t变大时,乡镇或村的个数对各组的用时的影响变大。 同时,当决定把一个乡镇或村的点移入另一个分组时,该 点对另一个组的最短时间的影响变大。 ②当v变大时,顶点之间的距离对各组的用时的影响变小。 第三问的结果中第二组的用 时与其他组相差太大,产生这种结果 模 型 优 化 的原因是顺路过程中被顺的是离最远 点最近的点。为了使时间均衡且更接 近6.394,我们选择被顺点时改选为 加上该点后会使得总时间最接近 6.394的点。最后会使结果更均匀而 且能使分组进一步减少到22组。 模型中运用了Floyd算法与 模 型 评 价 二边逐次修正法得到两点之间的最短 距离和最佳哈密尔顿圈及顶点的分组, 从而得到相关问题的解。虽然最佳推 销员回路问题属于NP问题,没有精确 算法,但是我们采用了近似算法简单 易行,也得到了满意的结果。