降落伞选购
承 诺 书
我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的
述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A /B/C/D中选择一项填写)
我们的参赛报名号为(如果赛区设置报名号的话):
所属学校(请填写完整的全名):
参赛队员 (打印并签名) :1.
2.
3.
指导教师或指导教师组负责人 (打印并签名):
日期: 2012 年 8 月 8 日
赛区评阅编号(由赛区组委会评阅前进行编号):
2
编 号 专 用 页
赛区评阅编号(由赛区组委会评阅前进行编号):
赛区评阅记录(可供赛区评阅时使用):
评
阅
人
评
分
备
注
全国统一编号(由赛区组委会送交全国前编号):
全国评阅编号(由全国组委会评阅前进行编号):
降落伞的选购问题
摘要
本模型研究的是空投物资所用降落伞的选购问题,在满足降落伞落地时速度不超过
m20 的前提条件下将2000 物资全部安全空投到救灾区,
所购买的降落伞的kg
s费用最少,得出每种降落伞最优的购买数量。
确定阻力系数。把降落伞和物资看做一个整体,忽略伞和绳子的质量。假设降落k
伞在降落过程中只受到竖直向下的重力和竖直向上的空气阻力。根据牛顿第二mgksv
fma,t定律,
得出合力表达式 。由高度对时间的二次微分等于加速度,建立H合
起高度与时间的微分方程,MATLAB求解出。然后以为拟合曲线与题中给出的Ht()Ht()
时间与高度的数据(表二)进行拟合,得出阻力系数的值。 kk2.9377,
fma,对运动状态进行分析。通过对降落伞在空中的受力情况分析 ,建立速度与合
vt()vt()时间的微分方程用MATLAB求解得到速度表达式,并用MATLAB作出的图像,通过图像观察得出降落伞前一段时间先做加速运动,后一段时间近似做匀速运动。
v最大载重量。证明速度是关于的增函数,由于降落伞的最大落地速度为20m/s,m
vt()所以当速度为20m/s时,降落伞取得最大载重。建立,的方程组,代入最大Ht()
速度20m/s,高度500m,伞的半径(表一),计算出不同半径伞在满足降落速度20m/s前提条件下的最大承载量。
每种伞的总费用。每种伞的总费用由三部分组成:伞面费用、绳索的费用和固定费用200。伞面费见表一;绳索的费用根据对降落伞的物理数学分析易求出(具体分析见问题分析);由此得出每种半径的伞的总费用。
降落伞的最优选择
。我们设每种伞分别取个, 根据总费用最少xxxxx1,2,3,4,5
建立目标函数,由总物资为约束条件,建立线性规划模型。最后用LINGO线性2000kg
规划求出最优解:x1=0,x2=0,x3=6,x4=0,x5=0。即购买半径为3m的降落伞6个时总费用最少,为4932元。
关键词:数据拟合、阻力系数、最大承载量、LINGO线性规划
1
一、问题重述
为向灾区空投救灾物资共2000kg,需选购一些降落伞。已知空投高度为500m,要求降落伞落地时的速度不能超过20m/s。降落伞面为半径r的半球面,用每根长 L, 共16根绳索连接的载重m的物体位于球心正下方球面处,每个降落伞的价格由三部分组
/成。伞面费用C1由伞的半径r决定,见表1;绳索费用C2由绳索总长度及单价4元米决定;固定费用C3为200元。
表1
r(m) 2 2.5 3 3.5 4 费用(元)65 170 350 660 1000
降落伞在降落过程中受到重力作用外还受到的空气阻力,可以认为与降落速度和伞
、载重m=300kg的降落伞从的受力面积的乘积成正比。为了确定阻力系数,用半径r=3m
500m高度作降落试验,测得各时刻的高度 ,见表2。
表2
时刻t(s) 0 3 6 9 12 1518 21 2427 30 高度(m)500 470 425 372 317 264215 160 108 55 1
试根据以上条件确定降落伞的选购方案,即共需多少个,每个伞的半径多大(在表1中选择),在满足空投要求的条件下,使费用最低
二、 问题假设
1、降落伞和物体一直是一个整体,并且物体是可分割的。
2、降落伞伞面和绳子质量忽略不计。
3、降落伞下降过程中,只受竖直方向的空气阻力和重力作用,不受别的外力。 4、空气阻力系数只与空气有关,与其它没有关系。
5、空投开始时降落伞已经打开。
6、物体挂于降落伞上时不会脱落,不考虑因物资脱落而造成损失。
三、符号说明
m:负载的重量
k:空气阻力系数
v:降落伞速度
r:降落伞的半径
s:伞面面积
:降落伞位移 H
a:降落伞加速度
h:降落伞距地面高度
g:重力加速度
:伞面费用 C1
:绳索费用 C2
:固定费用200元 C3
2
:总费用 C
:降落伞每根绳索的长度 L
x:每种降落伞个数() xxxxx1,2,3,4,5r
:正整数 N
四、问题分析
m 我们所要解决的问题是在满足降落伞落地时速度不超过20 的前提条件下将s
2000 物资全部安全空投到救灾区,要求所购买的降落伞的费用最少的降落伞的最优kg
选购方案。以总费用为目标,每种伞的数量为决策变量。
1、总费用由题意可知每个伞的价格由三部分组成:伞面费用C、绳索费用C、固12定费用C为定值200。伞面费用由伞的半径r决定;绳索费用C由绳索的长度及单价决32
定,由图一(下方)可知绳索的长度由降落伞的半径决定,即; L,2r
2、要确定每种伞的数量,限制条件为向灾区空投救灾物资共2000kg,则建立方程组限制函数必须知道每种伞的最大载重量。再由最大载重量与速度,速度与合力的关系,首先对降落伞进行受力分析,把降落伞和载重物看作一个整体。忽略伞和绳子的重量,
t根据假设3,通过对降落伞在空中的受力情况(如图一),由高度与时间的二次微分H
等于加速度建立方程,MATLAB求解出。然后以为拟合曲线与题中给出的时间Ht()Ht()
与高度的数据(表二)进行拟合,得出阻力系数k的值。
vt()建立速度与时间的微分方程得到速度表达式,证明v是关于m的增函数。由题中所给限制:降落伞的最大落地速度为20m/s,所以当速度为20m/s时,降落伞取得最大
vt()载重。建立Ht()与的方程组,代入最大速度20m/s,高度500m的伞半径。分别再代入题中已给出可能选购的每种伞半径(表一),计算出每种伞在满足降落速度20m/s前提条件下的最大承载量。
最后建立线性规划模型。根据总费用最少建立目标函数,根据总物资为的2000kg约束条件列出限制函数,运用LINGO软件进行线性规划求解,从而得出降落伞的最佳选购方案。
图一 图二
五、建模与求解
1、受力分析求阻力系数。
根据假设3,降落伞下降过程中,只受竖直方向的空气阻力和重力作用。由题可知
3
空气阻力f与降落速度v和伞的受力面积S的乘积成正比。则物体在竖直方向上受到的
合外力为:
fmgkSv,, (1) 合
由牛顿第二定律:
(2) fma,合
则可得:
dvmgksv, (3) a,,
dtm
由物体位移H和时间的二次微分等于加速度建立方程得:
2,dHmgksv,
(4) ,,2dtm, ,H(0)500,,
用Matlab求出H(t)的关系式(程序见附录【3】) 解得: ,kS22tmgmgtmg (5) m(),,,Hte2222kSkSkS
则: ,kS22tmgmgtmgm (6) ()500,,,,hte2222kSkSkS
根据表二对给定数据为h(t)进行拟合(程序见附录【4】):
2r3m,m300kg,g9.8,,,,,,,得出 Sr2k2.9377,
2、了解降落伞的运动状态。
fmgkSv,由上已得出: (公式三) 合a,,
mm
tv列得速度关于时间的微分方程,
,dvkSv ,,g,,mdt即: (7) ,
,v(0)0, ,,
用MATLAB程序求解(见附录【1】), ,kst得到速度公式: mmgmge(8) v,,
ksks
m300; g9.8; k2.9377; s29pir3,,,,,,,已知选题中实验数据 ,,可以用MATLAB作出速度与时间的图象(见程序附录【2】),如下图:
4
从以上可以分析出降落伞前一段时间先做加速运动,17s后近似匀速运动。分析出降落伞:速度增大,空气阻力增大,加速度减小。
3、求解最大承载量
根据第2步微分得出的v关系式:
kst,mgmgm,,vte公式(8): ,,
ksks
由前面的和函数建立方程组得: H(t)v(t)
,kst,mgmgm()vte,, ,,ksks (9) ,,kst22mgtmgmg, m()Hte,,,2222,ksksks,
H消去参数t得到关于的函数: m
,,ksvmv222 (10) Hmgks,,,,ln1/,,,,mgks,,
降落伞的最大载重量在速度达到最大值20m/s时取得。分析如下:
kst,mgmgm求: 是关于m的增函数. ,,ve
ksks
证明: 由高数定理可知,函数的一阶导数>大于零,则原函数是单调递增的。一阶导数<小于零,则原函数是单调递减的。
5
kst,mgmgm公式(8): ,,ve
ksks
对v求一阶导数得: ,,kStkSt
mm,gegteg
(11) `v,,,
kSmSk
,,ksvmv222): 公式(10Hmgks,,,,ln1/,,,,mgks,,
由上式分析可知无法确定其是否大于零,在对其求二阶导数为:
,kSt2gtkS``m (12) ,,,0ve3m
则一阶导数为单调递减函数,当m趋近于无穷大时对一阶导数求极限可知
,,kStkSt
mm (13) ,,gegteggg
lim()0,,,,,m,,kSmSkkSkS
由此可得: (14) v`0,
则原函数是单调递增函数,即速度v和m是成正比关系的。
kst,mgmgmm由单调性的判别法, 为的增函数 ,,ve
ksks
所以最大载重量取伞在下降到地面的瞬间达到最大速度v(t),20m/s,此时H(t),500,
22gk,,9.8,2.9377又 s,,,,4/22rr
则由方程组调用MATLAB分别把,,,,(表一)代入(程r,2r,2.5r,3r,3.5r,4
M(r)序见附录【5】),解得半径为r的降落伞在满足空投条件下的最大载重量如下表:
表四
r(m) 2 2.5 3 3.5 4 最大承载量(kg) 150.6787 235.4355 339.0272 461.4536602.0715
取整 150 235339 461 602
r,2,2.5,3,3.5,4m4、半径为时降落伞的绳索费
L,2r,2,2.5,3,3.5,4r问题分析中图一,由几何关系得到绳长。解得半径为的长度分别为: LmLmLmLmLm,,,,,2.83,3.53,4.24,4.95,5.6622.533.54
求得绳索费如表:
6
表五
r(m) 2 2.5 3 3.5 4
L(m) 2.83 3.53 4024 4.95 5.66
C2(元) 180.992226.24 271.488316.736 361.984 购买每把不同半径的降落伞的各需总费用C如下:
表六
r(m) 2 2.5 3 3.5 4 C1(元)65 170 350 6601000 C2(元) 180.992 226.24271.488 316.736 361.984 C3(元)200 200 200 200 200 总费用C 445.992 596.24 821.488 1176.7361561.984
取整 446 597 822 1177 1562 5、求解,确定降落伞的选购方案。
我们设每种伞分别取个, 根据总费用最少(表六)为目标函数,再xxxxx1,2,3,4,5
由总物资为约束条件,建立线性规划模型: 2000kg
minzxxxxx,,,,,,,,,,4465978221177156212345
1502353394616022000,,,,,,,,,,xxxxx,,12345 st.,
(,,,,)xxxxxN, ,51234,
运用LINGO软件对上述线性规划模型求解见附录【6】,得出:
Z,4932xxxxx,,,,,0;0;0;0;0。 即最少总费用为4932元。 min12345
六、模型评价与改进
优点:1)模型简单、切合实际、易于理解;
2)结果可靠,具有实用价值;
3)模型建立具有普遍性、易于推广;
缺点:1)求阻力系数时,由于客观因素的影响,不能够十分准确;
2)最大承载量与当地重力加速度有关,所以无法精确计算; 改进:由于本模型未考虑降落伞打开的时间,将其假设成在下降时伞就已经打开,而在实际情况中物资抛落后应有一段自由落体运动。为了让模型更切合实际,在模型改进时应考虑到这一点。
七、参考文献
1、百度文库、百度知道。
八、附录
7
附录【1】求解速度的程序
v=dsolve('k*S*v+m*Dv=m*g','v(0)=0','t')
解得:
v =g/k/S*m-exp(-k*S/m*t)*g/k/S*m
】速度时间程序。 附录【2
m=300;
g=9.8;
k=2.9377;
s=2*9*pi;
t=[0 3 6 9 12 15 18 21 24 27 30]; V=m*g/(k*s)-m*g/(k*s)*exp(-k*s*t/m); plot(t,V)
附录【3】求解位移的程序。
H=dsolve('m*D2H+k*S*DH=m*g','H(0)=0,DH(0)=0','t')
解得:
H =g/k^2/S^2*m^2*exp(-k*S/m*t)+g/k/S*m*t-1/k^2/S^2*m^2*g
k附录【4】MATLAB拟合程序。
建立一个名为myfun的m文件。
F=myfun(x,xdata) function
s=2*pi*3^2;
m=300;
g=9.8;
F=500-m^2*g/(x(1)^2*s^2)*exp(-x(1)*s*xdata/m)-m*g*xdata/(x(1)*s)+m^2*g/(x(1
)^2*s^2);
在matlab command window中输入下列命令:
xdata=[0 3 6 9 12 15 18 21 24 27 30]; ydata=[500 470 425 372 317 264 215 160 108 55 1 ];
x0=[1];
x=lsqcurvefit(@myfun,x0,xdata,ydata) 附录【5】 求最大载重量
在matlab中建立一个名为myfun的m文件,如下:
function F=myfun(x)
r=2.5;
g=9.8;k=2.9377;
s=2*pi*r^2;
F=[x(1)^2*g/(k^2*s^2)*exp(-k*s*x(2)/x(1))+x(1)*g*x(2)/(k*s)-x(1)^2*g/(k^2*s
^2)-500;
g*x(1)/(k*s)-g*x(1)/(k*s)*exp(-k*s*x(2)/x(1))-20]; 在matlab中command window中输入以下命令:
x0 = [1; 1]; % 初始点
options=optimset('Display','iter'); % 显示输出信息
x = fsolve(@myfun,x0,options) 附录【6】LINGO程序求最优解
8
min=446*x1+597*x2+822*x3+1177*x4+1562*x5;
150*x1+235*x2+339*x3+461*x4+602*x5>=2000;
x1>=0;
x2>=0;
x3>=0;
x4>=0;
x5>=0;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);
求解得(部分显示如下直接复制):
Global optimal solution found.
Objective value: 4932.000
Objective bound: 4932.000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 0
Total solver iterations: 0
Variable Value Reduced Cost
X1 0.000000 446.0000
X2 0.000000 597.0000
X3 6.000000 822.0000
X4 0.000000 1177.000
X5 0.000000 1562.000
9