按照自己习惯,最近重温“一定条件下最优化问题解决方案”。
这是宙际猎人(wo)在参加“2008高教社杯全国大学生数学建模竞赛”获奖论文。
【另附:今天在网上搜索的一篇同题获奖论文,在此感谢原作者一起分享。】
题目:
5.12汶川大地震使震区地面交通和通讯系统严重瘫痪。救灾指挥部紧急派出多支小分队,到各个指定区域执行搜索任务,以确定需要救助的人员的准确位置。在其它场合也常有类似的搜索任务。在这种紧急情况下需要解决的重要问题之一是:制定搜索队伍的行进路线,对预定区域进行快速的全面搜索。通常,每个搜索人员都带有GPS定位仪、步话机以及食物和生活用品等装备。队伍中还有一定数量的卫星电话。GPS可以让搜索人员知道自己的方位。步话机可以相互进行通讯。卫星电话用来向指挥部报告搜索情况。
下面是一个简化的搜索问题。有一个平地矩形目标区域,大小为11200米×7200米,需要进行全境搜索。假设:出发点在区域中心;搜索完成后需要进行集结,集结点(结束点)在左侧短边中点;每个人搜索时的可探测半径为20米,搜索时平均行进速度为0.6米/秒;不需搜索而只是行进时,平均速度为1.2米/秒。每个人带有GPS定位仪、步话机,步话机通讯半径为1000米。搜索队伍若干人为一组,有一个组长,组长还拥有卫星电话。每个人搜索到目标,需要用步话机及时向组长报告,组长用卫星电话向指挥部报告搜索的最新结果。
现在有如下问题需要解决:
1.假定有一支20人一组的搜索队伍, 拥有1台卫星电话。请设计一种你认为耗时最短的搜索方式。按照你的方式,搜索完整个区域的时间是多少? 能否在48小时内完成搜索任务? 如果不能完成,需要增加到多少人才可以完成。
2.为了加快速度,搜索队伍有50人,拥有3台卫星电话,分成3组进行搜索。每组可独立将搜索情况报告给指挥部门。请设计一种你认为耗时最短的搜索方式。按照你的搜索方式,搜索完整个区域的时间是多少?
论文
地面搜索
摘 要
本文在合理的假设之下,给出了两个可行的搜索模型,解决了在给定区域内,固定搜索队员在最短的时间内合理搜所被救人员的两个问题.
按照第一个问题的要求,确定了均衡分派原则和S型路线以及最小生成树.模型1是按照均衡分派原则和S型路线给出了各搜索队员的分派方案,得出最少时间48.5972h.这种分派方案是相对有利的,实际中也很容易实现和调整.
对第二个问题,模型2既用到了均衡分派原则和S型路线,又用了最小生成树,将集中的搜救队员按照最小生成树和均衡分派方案的准则到达各自的位置,从而给出了合理的S型路线.得出最优解20.2406h .并且,这种S型路线分派方案在各种搜索中有着广泛的应用.从图形可看出被搜索区域的面积大,分配的搜索队员少,我们认为这种方案比较理想.如果通过适当的调整,则这种S型路线方案又可以应用于许多不同类型的搜索情况.
最后,对某些特殊区域进行迅速的搜索,也作了讨论,并采用逐步改进法对可能出现的情况给出了简单易行的调整模型.更进一步,对这几种模型的优缺点进行了分析,实际中希望综合运用这几种模型,得到令人更满意的效果.
关键词:最小生成树;均匀分派原则;S型路线;逐步改进法
一、问题的重述
5.12汶川大地震使震区交通和通讯系统严重瘫痪. 救灾指挥部紧急派出多支小分队,到指定区域搜索需要救助的人员的准确位置.与此同时,要在最短时间内进行全面搜索.且每个搜索人员都带有可以知道自己的方位GPS定位仪、能够相互进行通讯步话机、可以向指挥部报告搜索情况的卫星电话(一个组只有一台)以及食物和生活用品等装备.
本题给出一个大小为11200米×7200米的矩形区域,需要进行全境搜索.假设:出发点在区域中心;每个人搜索时的可探测半径为20米,搜索时平均行进速度为0.6米/秒;不需搜索而行进时,平均速度为1.2米/秒.在此,有以下问题需解决:
1.假定有一组二十人的搜索队.请设计一种你认为在最短时间内能搜索完成的方案? 能否在48小时内完成搜索任务? 如果不能完成,需要增加到多少人才可以完成.
2.为了加快速度,搜索队伍有50人,分成3组进行搜索.每组可独立将搜索情况报告给指挥部门.请设计一种你认为在最短时间内可以完成搜索的方案?
二、模型的假设
1.救援时,大自然对搜索工作的正常进行无影响;
2.每个搜索队员的身体素质均等;
3.当搜救队不需搜救时沿直线行走;
4.搜索人员的食宿时间和汇报搜索情况时间忽略;
5.通讯设备均能正常工作;
6.集结的时间不计入搜救时间.
三、符号定义
a:平地目标矩形的长;
b:平地目标矩形的宽;
r:每个人搜索时可探测的半径;
R:步话机的通讯半径;
v :搜索时平均行进速度;
v :不搜索时平均行进速度;
n:当前完成搜索区域的个数;
t:搜索队员所用的时间;
:搜索队员搜索范围的宽度;
T:表示搜索完成后所用的最短时间;
x:问题(2)中第二组分配的人数;
y:问题(2)中第一组和第三组分配的人数;
h:问题(2)中第二组分配区域的宽度;
k:问题(2)中第一组和第三组分配区域的宽度.
四、问题的分析
这是一个寻求最佳搜索路线的问题,其目标是:搜索队员搜索完固定区域耗时最短.要做的决策是搜索队员的行经计划,使得固定区域必须全部被搜索,搜索队员无论搜索到哪个位置都能以不同的方式联系上其组长,使得搜索到的情况及时报告给指挥部.因此,我们根据每个人的可探测半径进行区域划分,因为每个人搜索到目标,需要用步话机及时向组长报告,组长用卫星电话向指挥部报告搜索的最新结果,考虑到步话机通讯半径为1000米,我们可以通过其他搜救工作者把搜索的最新结果传达给组长,最后报告指挥部来建立模型.建模过程大致可以分为以下几个部分:
(1) 建立多个模型,用相互比较法和逐步改进法选择出用最佳模型.
(2) 按照第一个问题的要求,根据均衡分派原则和最小生成树划分区域.
(3) 根据划分区域对每个人进行定位分析,确定了S型搜索路线.从而降低了重复搜索的可能性,使得搜索时间达到最短.
(4) 对问题二提出的分三组进行搜索的要求,在第1个模型的基础上制定出具有
动态性的模型2,以步话机的通话半径为前提,确定每组的人数分配.
(5) 要使完成任务时间最短,通过使三组用时相同,确定每组的搜索区域.
(6) 对数据的结果进行分析与讨论.
五、模型的建立与求解
(一)只有一台卫星电话的搜索方案.
1. 将给定的二十人从区域的中部沿直线逐渐往两边扩散,两边所扩散的人数相等,且在扩散的过程中,每个人都有自己的固定位置,当行进到自己的位置后,开始搜索,然后各自在其范围内搜索就不会有遗漏现象,且使每个人在搜索的过程中尽量避免重复搜索,从而最优.
此问中是一个二十个人的组,且只有一台卫星电话,既要搜索完所有规定的面积,又要使每个人之间永远不能超出步话机的通讯范围,于是设计出(图一)模型.其步骤:
(1) 计算出每个搜索队员的具体位置.
(2) 搜索队员到了其固定的位置后进行搜索.
如图一所示:把大小为11200米×7200米平地矩形目标区域进行20等分,每份为 米,
(1)
划分出每个人的搜索区域,第一个人组长搜索区域0点到1点之间,第二个人的搜索区域1点到2点之间,依此类推,第十个人9点到10点之间.第十一个人搜索区间0点到11点之间,第十二个人搜索区间11点到12点之间,依此类推,第二十个人搜索区间19点到20点之间.根据一个人每次的可搜索半径r =20米,每次可搜索宽度40米,可再将其搜索区域m等分,
(2)
搜索队员出发点(图上0点所示)在区域中心,处理问题时出发点左右两侧对称,可以只对右侧进行分析.
如图二所示:搜索命令下达后,第一个人以 的速度走到0点右侧20米处,然后以 的速度向上开始执行搜索任务,每执行完一搜索区,以 的速度前进40米转入下一搜索区开始进行搜索,直至搜索完成.第二个人以 的速度走到1点右侧20米处,然后以 的速度向上开始进行搜索任务,依此类推.
如图三所示:第一个人的行程图,开始时从0点右侧20米(每次可搜索半径)处,向上开始进行搜索,搜索路线呈S状,搜索完自己的区域第14等份后,接着搜索第二空区(第二个人搜索时遗留区域),搜索完第二个空区,此时所花费的时间为 正好完成14个区域的搜索,则n=m,
(3)
以后相同问题作类似处理(后一个人的搜索空区由前一个人搜索),他们所花费的时间为 ,
(4)
第十个人不用搜索空区,他所花费的时间为 ,
(5)
此时存在的问题是第一空区无人搜索,经过matlab计算分析,当第十个人搜索完时,第一个人还未搜索完第二空区,相差时间为1830s,此时如果让第十个人返回搜索第一空区,返回到搜索点位置(图0点右侧20米处)时所花费时间为 ,
(6)
如果让第一个人搜索完第二空区返回接着搜索第一空区,返回到搜索点位置所花费的时间为 ,
(7)
由于 +1830< ,所以第一空区应由第一个人搜索完第二空区后经X轴线回到距0点右侧20米处向下接着搜索,直至第一空区搜索完成.此时结束整个搜索任务.所花费的搜索时间为第一个人的搜索时间 ,
(8)
由matlab解得 =48.5972h.
2. 由上式结果很明显得 >48h.即在48小时内不能完成任务.
如果不由第一个人搜索第一空区,由新增加的人去搜索,根据划分区域的对称性,如果让新增加人完成第一空区和第十一空区的搜索任务,那么第九个人是耗时最长的,由(4)式
由于新增加人的搜索任务远远小于其他人的,所以增加一个人就可以完成任务.
(二)为了加快速度,搜索队伍有50人,拥有3台卫星电话,分成3组进行搜索.每组可独立将搜索情况报告给指挥部门.
如图四所示:把搜索区域分成三部分,每一部分根据人数进行等分,每一等份由一人完成搜索任务,每一部分分有一个组长,确保搜索情况及时报告给指挥部门.其中第一部分和第三部分对称,只对第一部分进行分析,搜索宽度k,由y人完成搜索,第二部分搜索宽度h,由x人完成搜索.得关系式:
搜索命令下达后,根据最小生成树关系,第一组第一个人(组长)朝0点右侧20米(目标地)处前进,前进过程中不进行搜索工作,直至到达目标地才开始搜索,每执行完一搜索区,以 的速度前进40米转入下一搜索区开始进行搜索,直至搜索完成.第二人朝1点右侧20米处前进,依此类推.第一组和第三组的搜索路线如图五所示.第二组的搜索路线同第(1)题搜索路线.
确保第一组每个人都能把搜救情况通过第一个人组长及时报告给指挥部门,只需让第二个人与组长的距离关系满足式(11)即可,
(11)
我们使第二组人数分得最少,同时确保第二组每个人能把搜救情况通过第一个人组长及
时报告给指挥部门,同样只需让第二个人与组长的距离关系满足式(12)即可,
(12)
由matlab计算得x= 12.8084,因为x和y都为正整数,且确保式(12)成立,取 x最优解
x=14, (13)
代入式(9)得
y=18 (14)
根据图四,分别列出第一组和第二组完成搜索任务的花费时间
六、模型的检验
在建立模型1与模型2之前,有几种模型已经被建立,但本题的最终目的是求最优解.因此,必须在有能力的情况下继续建立模型,经过模型的种种建立,符合本题最优解的模型也得到了验证.
前面的模型中涉及到了搜索队员从矩形的正中见网状的散开,即每个搜索队员所完成的是类似于扇形的面积.由于知识的欠缺和经验的不足,结果总是与条件不相符.假如改变了约束条件,次方案也可作参考.除此之外,还出现了一种不均匀分布搜索法,其实此方法可用于特殊情况,但在本题中,无法优化其搜索范围的不重复.因此就选择了一个简单明了,并且符合题意的方案.
总之,在有限的智力和经验的前提下,模型1与模型2也是目前较为优化的选择.
七、模型的评价与改进
(一) 模型的评价
1.模型的优点
(1)模型综合利用了均衡分派原则、S型路线和逐步改进的数学方法.
(2)模型简单易懂,在实际中也很容易实现和调整.
(3)模型根据划分区域对每个搜索队员进行定位分析,确定了S型搜索路线,大大降低了重复搜索的可能性,使得搜索时间达到最短.
2.模型的缺点
(1)模型带有一定的主观性,如对问题的定性分析和忽略某些因素的影响.
(2)模型鉴于考虑问题的局部性,实际问题的复杂性和基于数学软件计算过程中对数据的取舍,都会对结果造成影响.
(二)模型的改进
在模型1中,新增加的人由于只搜索第一空区和第十一空区,搜索区域远小于其他队员的,我们可以给其在开始时也作平均分配,让其与其他队员搜索区域一样,减少其他队员的搜索区域,从而减少搜索时间,让完成搜索工作花费的时间更短.
参考文献:
[1] 韩中庚,数学建模竞赛——获奖论文精选与点评,北京:科学出版社,2007年.
[2] 张平,MATLAB基础与应用,北京:北京航空航天大学出版社,2007年.
[3] 姜启源,数学模型(第二版),北京:高等教育出版社,1992.
[4] 叶其孝,大学生数学建模教材,长沙:湖南教育出版社,1993.
[5] 舒贤林,徐志才,图论基础及其应用,北京:北京邮电学院出版社,1988.
MATLAB运算过程
附录一:
>> t1=20/1.2+7200/0.6*14+560/1.2
t1 =
1.6848e+005
>> t10=(20+9*560)/1.2+7200/0.6*13.5+13*40/1.2
t10 =
166650
>> t1返=560/1.2
t1返 =
466.6667
>> t10返=(5600-40)/1.2
t10返 =
4.6333e+003
>> T=3600/0.6+1.6848e+005+466.667
T =
1.7495e+005
>> t=1.7495e+005/3600
t =
48.5972
附录二:
>> p=[799600 -448000 -(11200^2)]
p =
799600 -448000 -125440000
>> x=roots(p)
x =
12.8084
-12.2481
>> p=[57*57-1/4 -2*57*114180 114180*114180-(5600-11200/18+20)^2]
p =
1.0e+010 *
0.0000 -0.0013 1.3012
>> h=roots(p)
h =
1.0e+003 *
2.0927
1.9139
>> S1=((((11200/18+20)^2+(2092.7/2)^2)^(1/2)/1.2-2092.7/2.4)*0.6)^2+(11200/18)^2
s1 =
3.9538e+005
>> L1=1000^2-3.9538e+005
L1 =
604620
>> s2=((((11200/18+20)^2+(1913.9/2)^2)^(1/2)/1.2-1913.9/2.4)*0.6)^2+(11200/18)^2
s2 =
3.9672e+005
>> L2=1000^2-3.9672e+005
L2 =
603280
>> t1=20*(2092.7/0.6+40/1.2)+20/1.2+2092.7/1.2+11200/1.2/14
t1 =
7.2851e+004
>> t1=7.2851e+004/3600
t1 =
20.2364
>> t3=20*(1913.9/0.6+40/1.2)+20/1.2+1913.9/1.2+11200/1.2/14
t3 =
6.6742e+004
>> t3=6.6742e+004/3600
t3 =
18.5394
>> t2=((5600-11200/18+20)^2+(2092.7/2)^2)^(1/2)/1.2+16*(7200-2091.7)/2/0.6+500
t2 =
7.2866e+004
>> t2=7.2866e+004/3600
t2 =
20.2406
>> t4=((5600-11200/18+20)^2+(1913.9/2)^2)^(1/2)/1.2+16*(7200-1913.9)/2/0.6+500
t4 =
7.5222e+004
>> t4=7.5222e+004/3600
t4 =
20.8950