问题的优化模型
摘 要
本文针对地面搜索过程中人员安排和路线选择问题,建立了优化模型,并给出了相应算法,用LINGO软件编程,在确保所有地点都不遗漏且不重复的情况下,合理安排人员和线路,使得搜索用时最短。
问题二的求解中,首先对50名人员分3组进行分析,由于矩形区域被分割后形成的小区域恰好能被20人组成的一个队列一次搜索覆盖,以及10人组成的一个队列一个来回的搜索覆盖,于是3组可分为:2个队伍为20人,1个队伍为10人。随后进行队伍搜索区域的划分,根据各个队伍人数确定该组分配到的方格的数量,划分出各个队伍的搜索区域。然后对三个区域进行搜索路径的优化求解,改进问题一的模型,求出三个区域的搜索路径。再根据实际情况,对路径进行适当修改,得出20人的2个队伍,需要19.816小时,10人的队伍需要20.294小时。根据先完成搜索任务的队伍能否有足够的时间来帮助未完成搜索任务的队伍提早完成任务的时间要求,判断出该解是可以接受的。于是得到50人进行搜救的时间为20.294小时。
最后,对文中的模型进行了优缺点的分析。
关键词:搜索模型;最优路径;一笔画;遍历网格;转弯策略
一、问题重述
1.假定有一支20人一组的搜索队伍, 拥有1台卫星电话。请设计一种你认为耗时最短的搜索方式。按照你的方式,搜索完整个区域的时间是多少? 能否在48小时内完成搜索任务? 如果不能完成,需要增加到多少人才可以完成。
2.为了加快速度,搜索队伍有50人,拥有3台卫星电话,分成3组进行搜索。每组可独立将搜索情况报告给指挥部门。请设计一种你认为耗时最短的搜索方式。按照你的搜索方式, 搜索完整个区域的时间是多少?
二、模型假设
1
1.假设搜索必须完全,不存在遗漏情况。
2.假设如果发现需要救助的人员,只需报告组长,不影响其搜索速度。 3.假设救援人员进食休息的时间不计。 4.队员间不能间接向组长报告情况。 5.假设每组队员只能向本组组长报告。 6.假设队员的身体和心理状态不影响进度。 7.假设搜索区域地面状况不影响搜索速度。 8.假设设备在搜索过程中都正常工作。
三、 符号说明
s 20人排成队列的长度 n 增加的人数
v1 不搜索时候行进的速度 v2 搜索时候行进的速度
t 搜索需要花费的时间 ti 搜索时间的各个组成部分 Ai 表示矩形分割后的区域的标号
Ai,j 表示标号为i的区域的各个方向的连接数 T1 表示1个180度转弯需要多耗费的时间 T2 表示1个90度转弯需要多耗费的时间
四、问题分析
本题针对一块矩形区域进行全境搜索问题,在保证全部搜索到的情况下,使搜索时间最短,我们将20人看成排成一排的整体,并将大的矩形区域划分为126个以800米为边长的正方形小区域,根据图论中的一笔画问题,以转弯最少为约束条件进行LINGO编程,计算出搜索路径.当队伍增加为3时,先根据人数比例进行大体的区域划分,然后在根据问题1的求解方法,计算出三个队的最优路径。
五、模型的建立与求解
2
5.1 求解问题一
5.1.1建立队伍前进和转弯模型:
由于每个搜索队员的搜索半径为20米,为了简化模型,把20名搜索队员排成一条直线,其中队长处于中间,这样就更好的保证了队员与队长的通讯:
共20个 总长为800米
图(1-1)
搜索时候可以把20人组成的队列看作一条长800米的直线,搜索方向是沿着直线的垂线的方向,直线行进的速度为搜索的速度。如下图所示,直线向其垂线方向进行时,会形成一个矩形轨迹,见图(1-2)。
移动方向
800米
图(1-2)
但需要进行转弯时,分为2种情况,180度转弯和90度转弯: 1、180度转弯:
图(1-3)
如图(1-3)所示,原直线沿着AB 边向右移动,当到达CD边时,整体向上移动,使得原CD边与EC边重合,然后EC边继续向左边运动,搜索遇难人员。 由 T1?s得,T1?666.67s?0.185h
v1 即过180度的弯需要多耗费0.185h的时间
3
2、90度转弯
o
A B
C D
图(1-4)
如图(1-4)所示,原直线沿着AB 边向右移动,当到达CD边时,直线上处于C点的人向O点运动,D点上的人向C点运动,点,直线中间的人员依然可以找到合适的路径向OC边移动,使得CD与CO重合,然后CO边继续向上边运动,搜索遇难人员。
容易得出,该调整过程也需要0.185h的时间,即由以上2个转弯模型,可以得出,转弯的时间为T?0.185h
5.1.2建立搜索路线模型:
如表(1-1)所示,把矩形区域划分为如下小块,并且标号为:Ai
表(1-1) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 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 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 根据图论中关于奇顶点个数为偶数就能一次走完全程而不重复行走的原理,判断出这些方格可以用一条不重复的线路走完。
4
由于出发点在矩形区域中央,即A63和A64交线的中点处,设定搜索队首先进入A64区域,然后在搜索完全部区域后,最后回到A57,过程是一笔画成的,没有重复,由于在转弯时,需要额外花费时间来进行调整,所以,当转弯数为最少时,是该题目的最优解答。 如表(1-1)可以看出:矩形中的各个小区域在前后左右有另外的小区域与其相邻(边界的区域较特殊,可能某个方向没有相邻的区域)。把各个小区域看成一个点,如果要进行一笔画,则除了开始点A64只有一个出口和结束点A57只有一个入口,每个点均有两个接口与其他区域连接。
(1)一个点有上下左右四个方向,用字母Aij表示Ai这个点在j方向上是否
2,3,4分别表示上下左右四个方向。与其它点连接,1为连接,0为不连接,j?1,
以2个特殊的点为例,如:
A1点:由于在顶角,则其上边和左边必定没有连接,所以,A1, 1?0,A1,3?0。 A114点:由于在下边沿,则其下边必定没有连接,所以A114,2?0 全面的表示出这些点的特征,表达式为:
Ai,1?0 ;i?1...14 Ai,2?0 ;i?113...126
Ai,3?0 ;i?1,15,29,43,57,71,85,99,113 Ai,4?0 ;i?14,28,42,56,70,84,98,112,126
(2)由于每个点的连接个数只能为2个(A57A64除外), 所以
?Aj?14i,j64 ?2,i?1...126,且i?57,
(3)如果有2个点,一个点的左边与另一个点连接,则另一个点的右端必定与该点连接。基于这个原则,得到如下表达式:
Ai,1?Ai?14,2 , i?15...126 Ai,3?Ai?1,4 , i?2...126
(4)为了判定在一个点处是否转弯,只要判定该点的2个接口是否为上和
下,或者左和右,当一个为上,一个为下,可以说明该点处不转弯;当一个为左,一个为右,也可以说明该点处不转弯。 用表达式来表示如下:
5