当Ai,1?Ai,2?Ai,3?Ai,4?1时,为不转弯。
根据以上(1)(2)(3)(4)四点,可以转化为一个优化问题的求解。
目标函数:
max??Ai,1Ai,2?Ai,3Ai,4
i?1126约束条件:
Ai,1?0 ;i?1,2?14 Ai,2?0 ;i?113,114?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
?Aj?14i,j64 ?2,i?1...126,且i?57,4?Aj?1i,j?1 ,i?57,64
Ai,1?Ai?14,2 , i?15,16?126 Ai,3?Ai?1,4 , i?2,3?126
用LINGO编写程序(见附录),可以得到Ai对应的上下左右四个方向是否有连接的数据,根据数据可以表示出其路线图。
为了方便观看,用线路图表示路线如图(1-5):
6
图(1-5)
如图(1-5)可知,通过LINGO软件解决了不重复和弯角最小的问题,可是其没有解决一笔画问题,在图中出现了一个闭合的路径,不和其他路径进行相连接,由于程序为我们解决了不重复和弯角最小的问题,我们如果进行适当的微调,对最优结果的影响是很微小的。观察图形,对那个闭合路径进行修改,使得他和其他路径相连接。
对图像的调整结果如下:
图(1-6)
如图(1-6)所示该路线经过了所有的区域,一共需要转弯17个,则转弯所需的时间为t1?17T?3.15s
除转弯外的时间外,其余时间设都为搜索前进,为 t2?126sv2得,
7
t2?168000s?46.667h
由于在开始搜索时,所有队员都处在矩形区域中央,即A64左边沿的中点处,为了让队员排列成一条直线,则所有队员向两边散开,使其均匀分布在A64左边沿,这一过程需要耗费的时间为t3?0.5sv1得,t3?333.33s?0.093h
在搜索结束时候,所有队员都均匀分布在A57的下边沿,为了让他们到达集
5s合地点(A57的左边沿的中点),需要耗费的时间为t4?2t4?745.36s?0.207h 则
t??ti?50.117h
i?14v1得,
所以搜索完整个区域的时间是50.117小时,不能在48小时内完成搜索。
5.1.3建立增加人数的模型
为了满足能够在48小时内搜索完成搜索任务,决定增加人数为n,这n个人的作用就是为了帮助原20个人的队伍分担部分搜索区域,来达到原20人的队伍能在48小时内完成搜索任务的目的。
队伍搜索区域的时间包括t1,t2,t3,t4,其中t2?46.667h是最有可能进行优化的数据,也是可以减少幅度最大的时间因素。让增加的n个人在这段时间里发挥作用,来减少t2。
建立模型:只考虑队员搜索所有路线的时间t2,由于不转弯所以队员行进路线可视为一条直线。把原20人和新增加的n个人分为2个队伍,只要n个人的队伍离原20人的队伍距离不超过1000米,就可以和组长保持连续,但两队伍的搜索是独立完成的。
A B C D E
8
图(1-7)
如图(1-7),可以把行进路线分割为一大一小交替的段落。其中A为原20人队伍搜索的区域,B为增加的n个人队伍趁着原20人队伍在搜索A区域时,以速度v1移动过去搜索的路线。当原20人队伍搜索完A时,要继续搜索C区域,可以速度v2经过B区域,此时n个人的队伍又以速度v1移动到D,如此交替。 可以发现,总共搜索节约的时间,就是20 人队伍以速度v1穿过B,D所节省的时间,且节约的时间为原来大部队经过B,D时间的一半。
得到方程:
2(t?48)n ?t220,取整,得到n?2 解得n?1.81 因此,如果想在48小时内完成搜索应该增加2个搜索队员。
5.2 求解问题二
由问题一的选择路径模型可知,需要搜索的矩形区域长和宽可以被20人组成的直线的长度整除,也可以被10人组成的直线的长度整除,为了便于计算和工作安排,我们做如下设定:
1.把50人分为三组,人数分别为20、20、10人; 2.为了使搜索所用时间最短,则三组所用时间相等;
3.在不考虑转弯时间的条件下,如问题一所示,把矩形区域分为126个区域由于最终所有队伍必须回到一点,所以除去该点所在的区域,三队分得的区域个数为为50,50,25时时间最短。
如图(2-1),分出了区域,上下两个图形块为20人搜索的面积,中间区域10个人队伍搜索的区域。
以上理论是理想化的图形,实际上要考虑转弯等因素,所以时间可能会不相同。 图(2-1) 如图(2-1)可知,上下两个区域是对称的,他们的搜索路径时相同的。而中间区域必须把每个小区域的边长变为400,才能利用问题一种的方法进行10人搜
9
索。
取出上边区域单独考虑,对方格标号如表(2-1):
表(2-1) 1 2 3 4 5 6 7 8 9 10 15 29 43 16 30 17 31 18 32 19 33 20 34 21 35 22 36 44 23 37 45 24 38 46 11 25 39 47 12 26 40 48 13 27 41 49 14 28 42 50 对问题一中的模型进行修改: 目标函数:
max??Ai,1Ai,2?Ai,3Ai,4
i?150约束条件:
Ai,2?0 ;i?43...50 Ai,3?0 ;i?1,15,29 Ai,4?0 ;i?14,28,42,50
?Aj?14i,j44 ?2,i?1...50,且i?43,4?Aj?1i,j?1 ,i?43,44
Ai,1?Ai?14,2 , i?15...43 Ai,1?Ai?18,2 , i?44...50 Ai,3?Ai?1,4 , i?2...42 Ai,3?Ai?1,4 , i?45...50
通过LINGO编程(见附件:程序2),在进行适当的路径调整后,得到
10