灾情巡视问题

Download Report

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问题,没有精确
算法,但是我们采用了近似算法简单
易行,也得到了满意的结果。