资源描述
飞机管理模型的非线性化处理方法
摘 要
首先把区域看成一个二维坐标系,把飞机视为球形模型,把非线性规划模型简化为线性规划模型(用相对速度及复数等省略去时间的问题);再根据题目的要求列出目标函数和约束条件,并对目标函数进行简单的化简;最后用MATLAB和LINGO软件进行计算和求解。
用MATLAB和LINGO软件编程得到的最后结果为
.
关键字:球形模型 相对速度
一、问题的重述
在约 10000 米高空的某边长为160 公里的正方形区域内,经常有若干架飞机作水平飞行。区域内每架飞机的位置和速度向量均由计算机记录其数据,以便进行飞行管理。当一架欲进入该区域的飞机到达区域边缘时,记录其数据后,要立即计算并判断是否会与区域内的飞机发生碰撞。如果会碰撞,则应计算如何调整各架(包括新进入的)飞机飞行的方向角,以避免碰撞。现假定条件如下:
1) 不碰撞的标准为任意两架飞机的距离大于 8 公里;
2) 飞机飞行方向角调整的幅度不应超过 30 度;
3) 所有飞机飞行速度均为每小时 800 公里;
4) 进入该区域的飞机在到达该区域边缘时,与区域内飞机的距离应在 60 公里以上;
5) 最多需考虑 6 架飞机;
6) 不必考虑飞机离开此区域后的状况;
请你对这个避免碰撞的飞行管理问题建立数学模型,列出计算步骤,对以下数据进行计算(方向角误差不超过0.01 度),要求飞机飞行方向角调整的幅度尽量小。
设该区域4个顶点的坐标为(0,0),(160,0),(160,160),(0,160)。记录数据为:
飞机编号
横坐标
纵坐标
方向角(度)
1
150
140
243
2
85
85
236
3
150
155
220.5
4
145
50
159
5
130
150
230
新进入
0
0
52
注:方向角指飞行方向与x轴正向的夹角。
二、符号说明
为飞机在空间的位置的矢量。
为第i架飞机相对于第j架飞机的相对飞行速度。
为第i架飞机与第j架飞机圆心距,即。
为第i架飞机与第j架飞机的碰撞角,是两圆公切线交角中指向圆的那个角。即:。
为第i架飞机相对于第j架飞机的相对速度与两架飞机圆心连线的交角,规定:以第i架飞机为原点,i→j连线从i指向j为正方向,逆时针旋转为正,顺时针旋转为负。即:。
为第i架飞机相对于直角坐标系旋转的角(即方向角改变量),是带数量。
为第i架飞机相对于第j架飞机的改变量。
三、模型假设
(1) 不碰撞的标准为任意两架飞机的距离大于 8 公里;
(2) 飞机飞行方向角调整的幅度不应超过 30 度;
(3) 所有飞机飞行速度均为每小时 800 公里;
(4) 进入该区域的飞机在到达该区域边缘时,与区域内飞机的距离应在 60 公里以上;
(5) 最多需考虑 6 架飞机;
(6) 不必考虑飞机离开此区域后的状况;
(7)新飞机进入边缘时,立即作出计算,每架飞机按照计算机计算后的指示立即作方向角改变(有的飞机方向角可不变)。
(8)每架飞机整个过程中最多只改变一次方向角。
(9)忽略飞机转向时间,认为飞机在接受到指令后立即对方向角调整。
四、问题的分析和模型的建立
1、问题的分析:
将每架飞机视为球状模型,整个空域视为二维平面,建立直角坐标系,顶点为(0,0),(160,0),(160,160),(0,160),各方向角为飞行方向与x轴正向的夹角,每架飞机是一个以飞机坐标点为圆心,以4公里为半径的圆。每架飞机在空域中的状态(位置,速度)均视为矢量,速度为坐标点出发、方向角为辐角、800公里为模的矢量。各圆心按其速度方向运行,若有两圆在运行过程中相交即为该两架飞机相撞。
2、模型的建立:
(1)球形模型的建立
a.由于每架飞机如果相距大于8公里,则不会发生相碰,故可以考虑为4公里,两球不相交,则表明不会发生碰撞事故。若相交,则表明会发生碰撞事故。
b.为了研究两球相碰撞,采用相对速度作为研究对象,因为飞机是否相撞的关键是相对速度。
c.球形模型在分析碰撞问题中的运用,
AB,CD为公切线,
不相撞的充要条件是;
若在阴影区内,则通过调整角(的方向角)使移出阴影区以达到整个空域中的飞机系统不相撞。
d.由球型模型建立起的函数及方程
重要结论:对第架飞机,其飞行方向角改变量()之和的一半即为其相对速方向的改变量(),即(证明见附录1)
因为忽略计算时间和转向时间,故可得以下方程
由决策目标构造目标函数: .
由飞机飞行方向角调整幅度不超过知 ;
为使整个系统在改变后不发生相碰事故,应有
目标函数及约束条件
s.t.
为了利用线性规划对条件进行简化:
当>0时>;
当<0时<-;
由于可正可负,为使线性规划中各决策变量均大于等于零,引入新的决策变量满足
即上述目标函数及约束条件可化简为
(其中与的计算式见符号说明)
五、模型的求解
1.用编写程序求出与的值如下:(Matlab程序见附录2)
alpha(i,j)=
0 0.0941 0.5625 0.0889 0.3659 0.0390
0 0 0.0838 0.1154 0.1014 0.0666
0 0 0 0.0762 0.3985 0.0371
0 0 0 0 0.0792 0.0522
0 0 0 0 0 0.0403
beta (i , j) =
0 1.9070 -2.2384 0.4220 -3.2626 0.2526
0 0 -1.5511 -0.7373 -1.6110 0.1571
0 0 0 0.2178 5.2572 0.0054
0 0 0 0 0.1042 -0.0615
0 0 0 0 0 0.0334
2.根据建模方案,列出目标函数与约束条件,编写LINGO文件(LINGO文件见附录3);
由LINGO软件得到结果为
.
六、结果分析
由结果可知各飞机在经过此方案改动后均满足,即不相撞。其中有些飞机满足临界不相撞条件,即 满足题的要求,说明模型建立的准确性。
七、模型的评价和推广
1. 用相对速度及复数的思想进行分析,可以不考虑时间的问题,简化了算法。
2. 此模型采用球形模型分析碰撞问题,同时采用相对速度作为判断标准,既体现了碰撞的本质,又简化了模型的计算。
3. 在假设 “忽略飞机转向时间,认为飞机在接受到指令后立即对方向角调整” 中,没考虑飞行员的反应时间和飞机转向时间,有点理想化。
4. 若有若干架飞机同时进入时,依次计算,逐个调整,将它们视为有先后的进入空域,忽略调整时间即可。
参考文献
【1】何坚勇. 运筹学基础. 第2版. 北京:清华大学出版社.2008
【2】陈东彦,李冬梅,王树忠. 数学建模. 北京:科学出版社.2007
【3】黄永安,李文成,高小科. Matlab 7.0/Simulink 6.0应用实例仿真与高效算法开发. 北京:清华大学出版社.2008
附录1
证明 由题知=800km/h=A
设改变前的速度分别为
改变方向角后速度分别为
改变后
(由和差化积的公式及得:) =
若复角相差,所以
附录2
% 程序如下:
x0= [150,85,150,145,130,0];
y0= [140, 85, 155, 50, 150, 0];
a= [243,236,220.5, 159, 230, 52];
b= a/180*pi; %将方向角转换成弧度
z0=x0+y0*i;
v0=800*(cos (b) +i*sin (b));
for i=1:1:5
for j=i+1:1:6
z(i,j)=z0(i)-z0(j);
end
end
for i=1:1:5
for j=i+1:1:6
v (i, j) =v0 (i)-v0 (j);
end
end
for i=1:1:5
for j=i+1:1:6
l(i,j)=sqrt ((x0(i)-x0(j))*(x0(i)-x0(j)) + (y0 (i)-y0 (j))*(y0 (i)-y0 (j)));
alpha (i, j) =asin (8/l(i,j) );
end
end
alpha
for i=1:1:5
for j=i+1:1:6
beta(i,j)=angle(v(i,j))-angle(-z(i,j));
end
end
beta
附录3
Model:
Min=h1+h2+h3+h4+h5+h6;
x11-x12+x31-x32<-2*( 0.0889- 2.2384);
x11-x12+x51-x52<-2*( 0.3659- 3.2626);
x21-x22+x31-x32<-2*( 0.0838-1.5511);
x21-x22+x41-x42<-2*( 0.0054- 0.7373);
x21-x22+x51-x52<-2*( 0.1014- 1.6110);
x41-x42+x61-x62<-2*( 0.0522- 0.0615);
x11-x12+x21-x22>2*( 0.0941- 1.9070);
x11-x12+x41-x42>2*( 0.0889- 0.4220);
x11-x12+x61-x62>2*( 0.0390-0.2526);
x21-x22+x61-x62>2*( 0.0666- 0.1571);
x31-x32+x41-x42>2*(0.0762- 0.2178);
x31-x32+x51-x52>2*( 0.3985-5.2572);
x31-x32+x61-x62>2*( 0.0371-0.0054);
x41-x42+x51-x52>2*( 0.0792-0.1042);
x51-x52+x61-x62>2*( 0.0403- 0.0334);
x11-x12<=30;
x21-x22<=30;
x31-x32<=30;
x41-x42<=30;
x51-x52<=30;
x61-x62<=30;
x11-x12>=-30;
x21-x22>=-30;
x31-x32>=-30;
x41-x42>=-30;
x51-x52>=-30;
x61-x62>=-30;
x11-x12<=h1;
x21-x22<=h2;
x31-x32<=h3;
x41-x42<=h4;
x51-x52<=h5;
x61-x62<=h6;
x11-x12>=-h1;
x21-x22>=-h2;
x31-x32>=-h3;
x41-x42>=-h4;
x51-x52>=-h5;
x61-x62>=-h6;
h1<=30; h2<=30; h3<=30; h4<=30; h5<=30; h6<=30;
展开阅读全文