2003高教社杯全国大学生数学建模竞赛(大专组)
D 题(抢渡长江)参考答案
注意:以下答案是命题人给出的,仅供参考。
各评阅组应根据对题目的理解及学生的解答,自主地进行评阅。
设竞渡在平面区域进行, 且参赛者可看成质点沿游泳路线 (x (t ), y (t )) 以速度 ()(cos ()sin ())u t u t u t θθ=,前进,其中游速大小u 不变。
要求参赛者在流速 )0,()(v t v =
给定的情况下控制 (t ) 找到适当的路线以最短的时间 T 从起点 (0,0) 游到终点 (L, H ),如图1。
这是一个最优控制问题:
H T y y t u dt dy
L T x x v t u dt dx t s T Min =====+=)(,0)0(),(sin )(,0)0(,)(cos ..θθ
可以证明,若 (t ) 为连续函数, 则 (t ) 等于常数时上述问题有最优解。
证明见: George Leitmann, The Calculus of Variations and Optimal Control , Plenum Press, 1981. pp. 130 – 135, p. 263, Exercise 15.13. (注:根据题意,该内容不要求同学知道。
)
1. 设游泳者的速度大小和方向均不随时间变化,即令 )sin cos ()(θθu u t u ,=
,而流速)0,()(v t v =
, 其中 u 和 v 为常数, 为游泳者和x 轴正向间的夹角。
于是游泳者的路线 (x (t ), y (t )) 满足
cos ,(0)0,()sin ,(0)0,()dx
u v x x T L dt
dy u y y T H dt
θθ⎧=+==⎪⎪⎨
⎪===⎪⎩ (1) T 是到达终点的时刻。
令θcos =z ,如果 (1) 有解, 则
⎪⎩⎪⎨⎧-=-=+=+=2
21,1)()
(,)()(z
Tu H t z u t y v uz T L t v uz t x (2) 即游泳者的路径一定是连接起、终点的直线,且
L T uz v ===+ (3) 若已知L, H, v, T , 由(3)可得
zT
vT
L u vT L H vT L z -=
-+-=
,)(2
2 (4) 图1
由(3)消去 T 得到
)(12v uz H z Lu +=- (5) 给定L, H, u , v 的值,z 满足二次方程
02)222222222=-+++u L v H uvz H z u L H ( (6)
(6)的解为
12z z ==, (7) 方程有实根的条件为
2
2
L
H H v
u +≥ (8)
为使(3)表示的T 最小,由于当L, u, v 给定时,
0<dz
dT
, 所以(7) 中z 取较大的根, 即取正号。
将(7)的z 1代入(3)即得T ,或可用已知量表为
2
222222)(v
u Lv
v H u L H T ---+= (9) 以H = 1160 m, L = 1000 m, v = 1.89 m/s 和第一名成绩T =848 s 代入(4),得z = -0.641, 即θ =117.50,u =1.54 m/s 。
以H = 1160 m, L = 1000 m, v = 1.89 m/s 和u =1.5 m/s 代入(7),(3),得z = -0.527, 即θ =1220,T =910s ,即15分10秒。
2. 游泳者始终以和岸边垂直的方向(y 轴正向)游, 即 z = 0, 由(3)得T =L/v ≈529s, u= H/T ≈2.19 m/s 。
游泳者速度不可能这么快,因此永远游不到终点, 被冲到终点的下游去了。
注:男子 1500 米自由泳世界记录为 14分41秒66, 其平均速度为1.7 m/s 。
式(8)给出 了能够成功到达终点的选手的速度,对于2002年的数据,H = 1160 m, L = 1000 m, v = 1.89 m/s ,需要u >1.43 m/s 。
假设 1934 年竞渡的直线距离为5000 m, 垂直距离仍为H = 1160 m, 则L =4864 m, 仍设v = 1.89 m/s ,则游泳者的速度只要满足 u >0.44 m/s ,就可以选到合适的角度游到终点.。
(游 5000米很多人可以做到)
3. 如图2,H 分为H =H 1+H 2+H 3 3段,H 1= H 3=200 m, H 2=760 m, v 1= v 3=1.47 m/s ,v 2=
2.11m/s, 游泳者的速度仍为常数
u=1.5 m/s, 有v 1,v 3< u, v 2> u , 相应的游泳方
向θ1,θ2为常数。
路线为ABCD, AB 平行CD 。
L 分为L =L 1+L 2+L 3, L 1=L 3, 据(8),对于v 2> u , L 2应满足 )7522
2
222
2m u
u v H L ≈-≥( (10)
图2
因为v 1< u, 故对L 1无要求。
对于确定的L 1,L 2,仍可用1中的公式计算游泳的方向和时间。
为确定使总的时间最小的路线ABCD, 注意到 L 1=L 3= ( L -L 2)/2,由 (9) 知所需要的总时间为
2
12222121222212
222
22222222222/))4/)(2)(v u v L L v H u L L H v u v L v H u L H T -----++---+=
(( (11)
求L 2使T 最小。
编程计算可得:L 2= 806.33 m 时T = 904.02s ≈ 15 分 4 秒。
将得到的 L 2= 806 m ,L 1==L 3= 97 m 代入(7)可得θ1=1260,θ2=1180,即最佳的方向。
也可以用枚举法作近似计算:将L 2从760 m 到1000 m 每20 m 一段划分,相应的L 1,L 3从120 m 到0 m 每10 m 一段划分。
编程计算得下表,其中θ1, θ3, θ2 和T 1, T 3, T 2分别为3
132θ1=θ3=124.660,θ2=119.190。
4. H 仍分为3段,对于流速连续变化的第1段H 1=200 m ,方程(1)变为
⎪⎪⎩⎪⎪⎨
⎧=====+=111
11)(,0)0(,sin )(,0)0(,cos H T y y u dt
dy L T x x y H v u dt
dx
θθ (12) 其中v (=2.28m/s )为常数, 仍设游泳者的速度大小和方向均不随时间变化,及θcos =z ,若(1) 有解,则
⎪⎩⎪⎨⎧=-==+-=
)(,
1)()(,21)(112
112
1
2T y H t z u t y T x L uzt t H z uv t x (13) 是一条抛物线。
类似于1中的作法得到,给定L, H, u , v 的值,z 满足二次方程
044)42
2122121222121=-+++u L v H uvz H z u L H ( (14)
取绝对值较小的根,为
u
L H v H u L H L v H z )(2)(42
12122122
121121+-++-= (15) 有实根的条件为
21
21
12L
H H v
u +≥ (16)
将(15)的z 代入(13)得第1段的时间
2
111z
u H T -=
(17)
因u >v /2,由(16)对L 1无要求。
对于第2段H 2=760 m ,仍用(9),(10),应有L 2> 870 m ,且第2段的时间
2
222
22222222)(v u v
L v H u L H T ---+=
(18)
注意到 L 1=L 3= ( L -L 2)/2,T 1=T 3, 得总的时间为
122T T T += (19)
将给定的L , H 1, H 2, u 和v =2.28 m/s 代入(15),(17),(18),(19),求L 2使T 最小。
编程计算可得:L 2= 922.9 m 时T =892.5s ≈ 14 分53 秒。
将L 2= 923 m ,L 1==L 3= 38.5 m 分别代入(7)和(15)可得θ1=127.70,θ2=114.50,即最佳的方向。
类似3,也可以用枚举法作近似计算:将L 2从880 m 到1000 m 每20 m 一段划分,相
应的L
,L 从60 m 到0 m 每10 m 一段划分,编程计算得下表。
可知L 1=L 3=40,L 2 =920时T =892.56(s)最小,即14分53秒, 1=3=126.87,2=115.04。
注 问题3中v 1= v 3=1.47 m/s ,v 2= 2.11m/s 及问题4中v =2.28 m/s 的确定,是考虑到使平均流速仍保持报载的1.89 m/s 。
学生可以合理地改变数据。