一个飞行管理问题数模竞赛.docx
《一个飞行管理问题数模竞赛.docx》由会员分享,可在线阅读,更多相关《一个飞行管理问题数模竞赛.docx(19页珍藏版)》请在冰豆网上搜索。
![一个飞行管理问题数模竞赛.docx](https://file1.bdocx.com/fileroot1/2022-10/20/80fb9541-c51e-4958-842e-a5ce0e6509af/80fb9541-c51e-4958-842e-a5ce0e6509af1.gif)
一个飞行管理问题数模竞赛
一个飞行管理问题
摘要
在某一空域里对飞机的飞行合理管理事关重大,比如乘客及机上工作人员生命财产安全和航空公司的运作效益等。
本文通过对飞机飞行管理问题的研究,得到了调整飞机架数较少同时调整幅度均最小(平和最小)的飞行管理最优安排的非线性模型,这样既使得乘客所受影响达到最少,也便于飞机调整,还有利于飞机回到原来的航线,同时还在决策时间上对模型进行了优化和调整。
本文不仅一般性地将不相撞的问题转化为欧式距离控制,而且很巧妙的将不碰撞条件转化成简单的二次函数标准形式进行含参讨论,建立一个只含有转向角变量的模型。
并且再次很妙的具体化区域受控时间形成矩阵,大大得简化运算,节约了大量运算的时间,便于管理人员控制操作,从而确保飞机的安全。
更重要的是最后结合实际缩短了搜索区间,并优化算法,使得决策更加高效。
最后的延时检验也充分体现了模型的可靠性。
关键字:
欧氏距离约束转化缩短搜索区间时间矩阵延时检验
一、问题重述
在约10000米的高空某边长为160公里的正形区域,经常有若干架飞机作水平飞行。
区域每架飞机的位置和速度向量均由计算机记录其数据,以便进行飞行管理。
当一驾欲进入该区域的飞机到达区域边缘时,记录其数据后,要立即计算并判断是否会与区域的飞机发生碰撞。
如果会碰撞,则应计算如调整各架(包括新进入的)飞机飞行的向角,以避免碰撞。
现假定条件如下:
1)不碰撞的标准为任意两架飞机的距离大于8公里;
2)飞机飞行向角调整的幅度不应超过30度;
3)所有飞机飞行速度均为每小时800公里;
4)进入该区域的飞机在到达区域边缘时,与区域飞机的距离应在60公里以上;
5)最多需考虑6架飞机;
6)不必考虑飞机离开此区域后的状况。
请你对这个避免碰撞的飞机管理问题建立数学模型,列出计算步骤,对以下数据进行计算(向角误差不超过0.01度),要求飞机飞行向角调整的幅度尽量小。
设该区域4个顶点的坐标为(0,0),(160,0),(160,160),(0,160)。
记录数据为:
飞机编号
横坐标x
纵坐标y
向角(度)
1
150
40
243
2
85
85
236
3
150
155
220.5
4
145
50
5
130
150
230
新进入
0
0
52
注:
向角指飞行向与x轴向的夹角。
试根据实际应用背景对你的模型进行评价与推广。
2、问题分析
1初步分析
根据问题容易知道,这显然是一个优化问题,当两架飞机可能发生碰撞时,即在规定区域某一时刻两架飞机之间的距离小于8公里,因此要调整飞行向一定角度,保证任意两架飞机在区域任意时刻,两者的距离均不小于8公里,避免相撞。
考虑到调整角度应尽量小,可以简化飞行向调整策略,降低调整难度,同时减轻机乘客及工作人员的不适。
此外由此初步确定了调整目标:
所有六架飞机的飞行向调整角度均尽量小。
2解决案
由于所有飞机均处于1000米得高空作水平飞行,可将飞机飞行的空域视为二维平面xoy中的一个正形区域,顶点为(0,0),(160,0),(160,160),(0,160)。
于是可以引入时间变量后,确定每架飞机在任意时刻的坐标,列出任意两点的欧氏距离,令其恒大于8公里,则得出一个重要约束条件。
再结合变化角度应小于30度,即可得出约束条件,然后运用LINGO软件编辑程序进行求解。
为提高决策效率,在反复试验中又可对约束条件进行调整。
三、条件假设
1.不碰撞的标准为任意两架飞机的距离在以后任一个时间里大于8公里;
2.飞机飞行向角调整的幅度不应超过30度;
3.所有飞机飞行速度均为每小时800公里;
4.进入该区域的飞机在到达区域边缘时,与区域飞机的距离应在60公里以上。
即在计算如最优地调整各架(包括新进入的)飞机飞行的向角时,飞行管理中心得出合理的最优调整措施,;
5.最多需考虑6架飞机。
6.此处忽略飞机在执行过程中所需耗费的时间,即假设从飞机管理中心发出的调整信息飞机马上可以接收并执行,不存在滞后或延迟;
7.飞行管理中心在计算飞行调整信号和发出信号所需时间,忽略各架飞机(包括刚进入的飞机)调整航向前飞行数据的变化;
8.假定飞机在该区域完全依赖飞行管理中心调度;
9.假设飞机在飞出区域之后,飞行员可以自觉调整飞行策略,回归原始航线,即飞行管理中心不必考虑飞机离开此区域后的状况。
四、符号说明
符号
含义
第i架飞机在初始时刻的横坐标
第j架飞机在初始时刻的横坐标
第i架飞机在t时刻的横坐标
第j架飞机在t时刻的横坐标
第i架飞机在初始时刻的纵坐标
第j架飞机在初始时刻的纵坐标
第i架飞机在t时刻的纵坐标
第j架飞机在t时刻的纵坐标
第i架飞机在初始时刻飞行向与X轴正向的夹角
第j架飞机在初始时刻飞行向与X轴正向的夹角
第i架飞机在t时刻飞行向与X轴正向的夹角
第j架飞机在t时刻飞行向与X轴正向的夹角
第i架飞机飞行向角的调整幅度
第j架飞机飞行向角的调整幅度
第i架飞机在规定区域可能飞行的最长时间
第j架飞机在规定区域可能飞行的最长时间
T是一个6*6矩阵;=min{,}
V
飞机的飞行速度
飞机i与飞机j的欧氏距离
五、模型建立与求解
1问题简化
首先,如果对六架飞机在区域做实时监控,再做多次调整,则每作一次航向调整都要进行一次决策,这将使问题复杂化,总体计算量较大,同时实际问题中计算也要耗费时间,效率大大降低,飞机控制的安全性必然会降低。
并且对问题所给原始数据利用MATLAB软件(程序见附录1)作出原始航线图,如图1,可以粗略验证一次调整可行,既可以避免相撞,又简单易行。
图1
结论一:
我们认为只做一次调整是优于多次调整的。
其次,分析飞机飞行轨迹,作如图2,
图2
某架飞机在点A的航向是由A到C,此时次飞机在点C可能遭碰撞,D点是一个安全位置,如果飞机在A点早做航向的调整,向角变化角为α;如果待飞机飞到B点时再做航向的调整,则向的变化角为β,很显然,β>α。
由此我们得出结论,早调整航向优于晚调整航向,因此我们可将问题简化。
结论二:
在新进入飞机到达区域边缘时便对所有飞机做航向调整,避免碰撞。
2模型的导出过程
1)模型推导
首先引入时间变量t,其中t的取值区间为(0,);另外,为了提高程序运行效率,简化计算,我们引入一个矩阵来控制搜索循环,较合理的设定了变量的上下界,从而大大提高决策效率。
如图3所示,表示第i架飞机在规定区域可能飞行的最长时间,即该架飞机飞至区域边界四个角上点所用时间的最大值,令=min{,},则所有的可以构成一个N*N的矩阵。
此矩阵可以运用MATLAB软件求解,程序见附录2,计算结果见表1。
图3
得出矩阵各元素值如下表1
表1
T1
T2
T3
T4
T5
T6
T1
0
0.15026
0.240117
0.227503
0.240117
0.240117
T2
0.15026
0
0.15026
0.15026
0.15026
0.15026
T3
0.240117
0.15026
0
0.227503
0.248118
0.269621
T4
0.227503
0.15026
0.227503
0
0.227503
0.227503
T5
0.240117
0.15026
0.248118
0.227503
0
0.248118
T6
0.240117
0.15026
0.269621
0.227503
0.248118
0
将第i架飞机在t时刻的位置用坐标(,)表示;
其中
=+Vtcos(+);
=+Vtsin(+);
则欧式距离=8
(t)=-64
=
0;
综上所述,可得初步的模型如下:
Objmin
S.t.(t)0
30°(i=1,2,3,4,5,6);
2)模型优化
在考虑LINGO软件的程序编辑和运行时,我们发现时间变量t不宜为连续变量,因此我们通过对函数(t)的化简,对约束条件进行转化,消去变量t。
过程如下:
(t)=++
其中
=2Vt;
=2[-(-)+(-)];
=+-64;
很明显模型的约束可以等价的转化为一个一元二次函数在给定区间恒大于零的讨论。
表示的是一条开口向上的抛物线。
分别从三个面讨论,如图4所示的三种情况,其中对称轴为-/2,设此时对应的t值为。
>0<0,0<<<0,>
图4
当>0,可知,很明显,f(0)>0;当<0,0<<,则只要Δ=;
当<0,>,只需最右端满足()0;
则模型的约束条件可以转化如下,这个非线性模型仅是关于一个变量,即关于向角的约束条件。
S.t.()0
(当且0<<).
接下来,通过查阅文献资料(见附录),了解了LINGO软件的运算性能和原理,综合前人的经验,我们将考虑对原目标函数min调整,在同样满足问题分析中的目标的情况下,即所有六架飞机的飞行向调整角度均尽量小,对其适宜的优化。
由于min是不光滑的,我们考虑用一个光滑的目标函数来替代,即min。
这样在运用LINGO软件进行求解时,运行速度和求解精度上都将大大提高。
综上所述,最终的模型为:
Objmin
S.t.()0
(当且0<<).
3)模型的求解
我们针对最终的模型,带入N*N矩阵,运用LINGO软件编辑程序(见附录3),求解模型。
合理编辑算法并使用全局求解程序运行,运行结果见表2,发现运行时间已经达到预想的反应速度(多次试验平均时间3s).
表2
飞机
1
2
3
4
5
6
角度改变
0.000000
0.000000
2.062449
-0.4954373
0.000000
1.567011
6.954677
运行结果如上表,可得出飞行调整策略,即只改变其中两架飞机,飞机1,2,5保持航向,飞机3调整+2.062449度,飞机4调整-0.4954373,飞机6调整+1.567011度。
=6.954677,综合整体调整量较小已达到最优,结果较理想。
为达到更加理想的决策速度(实际上这是符合现实需求的),我们考虑加快程序的运行速度,这样机上的乘客和工作人员的安全将得到更好的保证。
我们考虑是否可以通过对模型中的飞行角度进行预估,对函数中的飞行角度进行更好的约束预估,缩小搜索区间,以优化算法,提高运行速度。
理由一:
同时多次实践发现,最优解总是落在10度以,甚至更小。
我们分析各架飞机的位图,作出假设,如右图,区域的飞机做可以忽略不计的微调,只对新进入的飞机6进行航向的调整,此时飞机6要做出的最优调整角度应该是小于原来的搜索区间最大值30度。
理由二:
我们分析即使两架飞机相向飞行,根据题目条件4)可知进入该区域的飞机在到达区域边缘时,与区域飞机的距离应在60公里以上,将此数据带入,我们可做一定的估算。
以飞机j为参考,飞机i正对飞机j的飞行,调整一定角度到两架飞机恰好不相擦,如图5
图5
其中为飞机i调整后对j的相对飞行速度,角是调整角,则有:
=8km/60km;
<
因此,我们最后在编程时将搜索区间缩小在(,),如此再将新的程序对原数据进行计算,最后时间成功缩短至1.5s。
计算结果如下表3
表3
飞机
1
2
3
4
5
6
角度改变
0.000000