建模案例飞行管理问题_第1页
建模案例飞行管理问题_第2页
建模案例飞行管理问题_第3页
建模案例飞行管理问题_第4页
建模案例飞行管理问题_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、建模案例飞行管理问题一个飞行管理问题一个飞行管理问题 1.1 问题描述问题描述 在约在约10000米高空的某边长为米高空的某边长为160km的正方形区域内,的正方形区域内,经常有若干架飞机做水平飞行,区域内每架飞机的位经常有若干架飞机做水平飞行,区域内每架飞机的位置和速度向量均由计算机记录其数据,以便进行飞行置和速度向量均由计算机记录其数据,以便进行飞行管理,当一架欲进入该区域的飞机到达区域边缘时,管理,当一架欲进入该区域的飞机到达区域边缘时,记录其数据后,要立即计算并判断是否会与区域内的记录其数据后,要立即计算并判断是否会与区域内的飞机发生碰撞。飞机发生碰撞。 现假定条件如下:现假定条件如下

2、: 不碰撞的标准为任意两架飞机的距离大于不碰撞的标准为任意两架飞机的距离大于8km; 飞机飞行方向角调整幅度不应超过飞机飞行方向角调整幅度不应超过30 ; 所有飞机飞行速度均为所有飞机飞行速度均为800kmh; 进入该区域的飞机在到达该区域边缘时,与进入该区域的飞机在到达该区域边缘时,与区域内飞机的距离应在区域内飞机的距离应在60km以上;以上; 最多需考虑最多需考虑6架飞机;架飞机; 不必考虑飞机离开此区域后的情况。不必考虑飞机离开此区域后的情况。 请你对这个请你对这个避免碰撞避免碰撞的飞行管理问题建立数学模型,列出计算的飞行管理问题建立数学模型,列出计算步骤,对以下数据进行计算(方向角误差

3、不超过步骤,对以下数据进行计算(方向角误差不超过0.01 ),要求飞),要求飞机飞行方向角调整的幅度机飞行方向角调整的幅度尽量小尽量小。 该区域四个定点的坐标为(该区域四个定点的坐标为(0,0)、()、(160,0)、()、(160,160)、()、(0,160)。记录数据见表)。记录数据见表21。 表表21 飞机位置和方向角记录数据飞机位置和方向角记录数据飞机编号横坐标纵坐标方向角(飞机编号横坐标纵坐标方向角( )飞机编号横坐标)飞机编号横坐标x纵坐标纵坐标y方向角(方向角( )飞机编号横坐标纵坐标方向角() 飞机编号横坐标x纵坐标y方向角()115014024341455015928585

4、236513015023031551552205新进入0052说明:方向角指飞行方向与x轴正向的夹角。试根据实际应用背景对你的模型进行评价和推广 * 对问题仔细阅读, 首先抓住题目中的关键词“管理”进行联想. 抓住诸如“碰撞”、“调整”、“避免碰撞”、“立即”、“判断”等等词语. * 联系解决问题的方案,不加约束继续联想,再将关键词搭配起来. 1. 问题的前期分析160km160km飞行位置示意图立即 判断 碰撞 条件 实时 算法 避免 碰撞 调整 方向角 实时 幅度尽量小 相对距离优化问题优化算法优化调整方案问题的初步理解和想法 飞行管理问题是优化问题,在调整方向角的幅度尽量小的同时,还必须

5、注意调整方案及算法的实时性.2. 问题探究问题探究 (1)优化问题的目标函数为何?)优化问题的目标函数为何?方向角调整的尽量小方向角如何表示方向角的概念是什么方向角的平方和目标函数 任意两架飞机的距离大于任意两架飞机的距离大于8 公里;公里; 飞机飞行方向角调整的幅度不应超过飞机飞行方向角调整的幅度不应超过 30 ;l(2)优化问题的约束条件为何?两点间距离表示方法判断避免碰撞的依据把飞机视为点总结:目标函数和约束条件中都含有方向角。(3)分析6架飞机目前碰撞情况 描点作图;描点作图; 分析飞机在飞行区域的时间;分析飞机在飞行区域的时间; 判断判断5架飞机此刻的情况;架飞机此刻的情况; 判断新

6、进入飞机与其他判断新进入飞机与其他5架飞机碰撞的情况。架飞机碰撞的情况。(4)求解方法)求解方法 特殊到一般:先考虑特殊到一般:先考虑2架,然考虑架,然考虑3架架 优化问题为非线性规划问题,编程求解优化问题为非线性规划问题,编程求解。总结:初等算法和高等算法都可。创新之处:算法。模型一及求解模型一及求解 模型建立模型建立 这个问题显然是一个优化问题。设第这个问题显然是一个优化问题。设第i 架飞架飞机在调整时的方向角为机在调整时的方向角为 (题目中已给(题目中已给出),调整后的方向为出),调整后的方向为 ,题目中就是要求飞机飞行方向角调整的幅度题目中就是要求飞机飞行方向角调整的幅度尽量小,因此有

7、化的目的函数可以是:尽量小,因此有化的目的函数可以是: (1)为了建立这个问题的优化模型,只需要明确约束条件就可以了。一个简为了建立这个问题的优化模型,只需要明确约束条件就可以了。一个简单的约束是飞机飞行方向角调整的幅度不应超过单的约束是飞机飞行方向角调整的幅度不应超过30 ,即,即 (2) 题目中要求进入该区域的飞机在到达该区域边缘时,与区域内的飞题目中要求进入该区域的飞机在到达该区域边缘时,与区域内的飞机的距离应在机的距离应在60km以上。这个条件是个初始条件,很容易验证目以上。这个条件是个初始条件,很容易验证目前所给的数据是满足的,因此本模型中可以不予考虑。剩下的关键前所给的数据是满足的

8、,因此本模型中可以不予考虑。剩下的关键是是 要满足题目中描述的任意两架位于该区域内的飞机的距离应该大要满足题目中描述的任意两架位于该区域内的飞机的距离应该大于于8km。但这个问题的难点在于飞机是动态的,这个约束不好直。但这个问题的难点在于飞机是动态的,这个约束不好直接描述,为此我们首先需要描述每架飞机的飞行轨迹。接描述,为此我们首先需要描述每架飞机的飞行轨迹。 记飞机飞行速率为(记飞机飞行速率为(800kmh),以当前),以当前时刻为时刻为0时刻。设第时刻。设第 架飞机在调整时的位架飞机在调整时的位置坐标为置坐标为 (已知条件),时刻的位(已知条件),时刻的位置坐标为置坐标为 ,则,则 (3)

9、 如果要严格表示两架位于该区域内的飞机的如果要严格表示两架位于该区域内的飞机的距离应大于距离应大于8km,则需要考虑每架飞机在区,则需要考虑每架飞机在区域内的飞行时间的长度。记域内的飞行时间的长度。记Ti 为第为第 架飞架飞机飞出区域的时间,即机飞出区域的时间,即 (4) 记记 时刻第时刻第 架飞机与第架飞机与第 架飞机的距离架飞机的距离为为 ,并记,并记 ,这时在区,这时在区域内飞机不相撞的约束条件就变成了域内飞机不相撞的约束条件就变成了 (5) 其中其中 (6) 此外,经过计算可以得到此外,经过计算可以得到 (7) (8) (9) (10) 所以所以 是一个关于是一个关于 t 的二次函数,

10、表示的的二次函数,表示的是一条开口向上的抛物线。当是一条开口向上的抛物线。当 即即 (记为(记为 )时,)时, 函数取最小函数取最小值值 。注意到。注意到 (初始时刻不相(初始时刻不相撞),如果撞),如果 (即(即 )则此时约束条)则此时约束条件(件(5)一定成立,所以)一定成立,所以 如果如果 且且 ,只要在右端点的函数值,只要在右端点的函数值非负即可,即非负即可,即 (11) 如果如果 且且 ,只需要,只需要 求最小值求最小值 即可,即即可,即 (12) 实际上,约束(实际上,约束(11)表示的是)表示的是 在右端点在右端点的函数值非负,这个约束在(的函数值非负,这个约束在(12)的条件)

11、的条件下也是自然成立的,所以可以是对约束下也是自然成立的,所以可以是对约束(11)不再附加且的条件。)不再附加且的条件。 ( )ijft( )ijft 于是我们的模型就是于是我们的模型就是 (13) (14) (15) (16) 模型求解模型求解上面这是一个非线性规划模型,虽然是严格满足题目要求的模型,但上面这是一个非线性规划模型,虽然是严格满足题目要求的模型,但得到的模型逻辑关系比较复杂,约束(得到的模型逻辑关系比较复杂,约束(16)是在一定条件下才成)是在一定条件下才成立的约束,而且其中的计算式(立的约束,而且其中的计算式(4)也含有相当复杂的关系式,)也含有相当复杂的关系式,使用使用LI

12、NGO软件不太容易将模型很方便的输入,因为逻辑处软件不太容易将模型很方便的输入,因为逻辑处理不是理不是LINGO的优势所在。即使想办法把这个模型输入到的优势所在。即使想办法把这个模型输入到LINGO,也,也不一定能求出好的解(笔者尝试过,但是不一定能求出好的解(笔者尝试过,但是LINGO运行时有时会出运行时有时会出现系统内部错误,可能是系统有问题,无法继续求解)。而且,现系统内部错误,可能是系统有问题,无法继续求解)。而且,在实时飞行调度中显然需要快速求解,所以下面我们想办法简在实时飞行调度中显然需要快速求解,所以下面我们想办法简化模型。化模型。 这个模型麻烦之处就在于,要求严格表示两这个模型

13、麻烦之处就在于,要求严格表示两架飞机的飞行距离应大于架飞机的飞行距离应大于8km,所以需要考,所以需要考虑每架飞机在区域内的飞行时间的长度,比虑每架飞机在区域内的飞行时间的长度,比较繁琐。注意到区域对角线的长度只较繁琐。注意到区域对角线的长度只有有 ,任何一架飞机在所考虑的区域内,任何一架飞机在所考虑的区域内停留的时间不会超过停留的时间不会超过 。因此这里我们简化一下问题;因此这里我们简化一下问题; 不再单独考虑每架飞机在区域内停留的时间,不再单独考虑每架飞机在区域内停留的时间,而是以最大时间而是以最大时间 (这是已经是一个常数)(这是已经是一个常数)代替之,此时所有代替之,此时所有 ,这实际

14、上强化,这实际上强化了问题的要求,即考虑了有些飞机可能已经了问题的要求,即考虑了有些飞机可能已经飞出区域,但仍不允许两架飞机的距离小于飞出区域,但仍不允许两架飞机的距离小于8km。 程序:程序:MODEL:TITLE 飞行管理问题的非线性规划模型飞行管理问题的非线性规划模型;SETS:Plane/1.6/: x0, y0, cita0, cita1, d_cita;! cita0表示初始角度,表示初始角度,cita1为调整后的角度为调整后的角度,d_cita为调整的为调整的角度角度;link(plane, plane)|&1 #LT# &2: b,c;ENDSETSDATA:1

15、501402438585236150155220.5145501591301502300052x0 y0 cita0 =max_cita = 30;T_max = 0.283;V=800;ENDDATAINIT:d_cita = 0 0 0 0 0 0;ENDINITfor(plane: cita1 - cita0 = d_cita);for(link(i,j): b(i,j) = -2*(x0(i) -x0(j)*sin (cita1(i)+cita1(j)*3.14159265/360) +2*(y0(i) -y0(j)*cos (cita1(i)+cita1(j)*3.14159265/

16、360); c(i,j) = (x0(i) -x0(j) 2 + (y0(i) -y0(j) 2 - 64;);! 避免碰撞的条件避免碰撞的条件;! 右端点非负右端点非负;for(link(i,j): Right (2*V*T_max*sin(cita1(i)-cita1(j)*3.14159265/360)2 + b(i,j)*(2*V*T_max*sin(cita1(i)-cita1(j)*3.14159265/360) + c(i,j) 0);! 最小点非负最小点非负;for(link(i,j): Minimum if(b(i,j)#lt#0 #and# -b(i,j)/4/V/sin(

17、cita1(i)-cita1(j)*3.14159265/360) #gt#0 #and# -b(i,j)/4/V/sin(cita1(i)-cita1(j)*3.14159265/360) #lt#T_max , b(i,j)2-4*c(i,j),-1) 0);!for(link(i,j): if(b(i,j)#lt#0, b(i,j)2-4*c(i,j), -1) ij(2)由圆状模型导出的方程讨论ij的改变量与第i第j两架飞机飞行方向角改变量i, j的关系由题目条件知|vi|=A=800,可用复数表示速度设第i,j飞机飞行方向改变前的速度分别为改变后的速度分别为改变前后相对速度分别为两者

18、之商的幅角就是ij定理:对第i,第j两架飞机,其相对速度方向ij的改变量ij等于两飞机飞行方向角改变量之和的一半,即模型目标函数:Min其中为各飞机方向角调整量的最大值或为约束条件:调整方向角时不能超过300:调整飞行方向后飞机不能碰撞:模型为化为线性规划模型由于i可正可负,为使各变量均非负,引入新变量:模型化为模型求解ij的计算model:sets:plane/1.6/:x0,y0;link(plane,plane):alpha,sin2;endsetsfor(link(i,j)|i#ne#j:sin2(i,j)=64/(x0(i)-x0(j)2+(y0(i)-y0(j)2););for(l

19、ink(i,j)|i#ne#j:(sin(alpha*3.14159265/180.0)2=sin2;);data:x0=150,85,150,145,130,0;y0=140,85,155,50,150,0;enddataendALPHA( 1, 1) 1.234568 ALPHA( 1, 2) 5.391190 ALPHA( 1, 3) 752.2310 ALPHA( 1, 4) 5.091816 ALPHA( 1, 5) 202X.963 ALPHA( 1, 6) 2.234507 ALPHA( 2, 1) 5.391190 ALPHA( 2, 2) 1.234568 ALPHA( 2,

20、 3) 4.804024 ALPHA( 2, 4) 6.613460 ALPHA( 2, 5) 5.807866 ALPHA( 2, 6) 3.815925 ALPHA( 3, 1) 752.2310 ALPHA( 3, 2) 4.804024 ALPHA( 3, 3) 1.234568 ALPHA( 3, 4) 4.364672 ALPHA( 3, 5) 1102.834 ALPHA( 3, 6) 2.125539 ALPHA( 4, 1) 5.091816ALPHA( 4, 2) 6.613460 ALPHA( 4, 3) 4.364672 ALPHA( 4, 4) 1.234568 AL

21、PHA( 4, 5) 4.537692 ALPHA( 4, 6) 2.989819 ALPHA( 5, 1) 202X.963 ALPHA( 5, 2) 5.807866 ALPHA( 5, 3) 1102.834 ALPHA( 5, 4) 4.537692 ALPHA( 5, 5) 1.234568 ALPHA( 5, 6) 2.309841 ALPHA( 6, 1) 2.234507 ALPHA( 6, 2) 3.815925 ALPHA( 6, 3) 2.125539 ALPHA( 6, 4) 2.989819 ALPHA( 6, 5) 2.309841 ALPHA( 6, 6) 1.2

22、34568ijJ=123456i=10.0000005.39119032.2309535.09181620.9633612.23450725.3911900.0000004.8040246.6134605.8078663.815925332.2309534.8040240.0000004.36467222.8336542.12553945.0918166.6134604.3646720.0000004.5376922.989819520.9633615.80786622.8336544.5376920.0000002.30984162.2345073.8159252.1255392.98981

23、92.3098410.000000整理可得ij的值(单位角度)也可以用MATLAB计算ij的值x=150,85,150,145,130,0;y=140,85,155,50,150,0;k=length(x);alpha=zeros(k);for i=1:k for j=1:k if i=j alpha(i,j)=0; else alpha(i,j)=(180/3.14159265)*asin(8/sqrt(x(i)-x(j)2+(y(i)-y(j)2); end endendalpha计算ij的值程序为计算结果为 0 5.391190237223 5.391190237223 032.2309

24、52672331 4.80402393379720.963360893128 5.80786624342132.230952672331 5.091816448550 0 4.364671899111 4.364671899111 0 22.833654204009 4.53769246240220.963360893128 2.234506736995 4.537692462403 2.989819139045 0 2.309841365405 2.309841365405 0ij的计算:a=150,85,150,145,130,0;b=140,85,155,50,150,0;x=a+b*i

25、;c=243,236,220.5,159,230,52*pi/180;v=exp(i*c);k=length(a);for i=1:k for j=1:k beita(i,j)=(angle(v(i)-v(j)-angle(x(j)-x(i)*180/pi; endendbeita用matlab程序编写beita = 0 109.2636 -128.2500 24.1798 -186.9349 14.4749 109.2636 0 -88.8711 -42.2436 -92.3048 9.0000 231.7500 271.1289 0 12.4763 301.2138 0.3108 24.1

26、798 -42.2436 12.4763 0 5.9692 -3.5256 173.0651 267.6952 -58.7862 5.9692 0 1.9144 14.4749 9.0000 0.3108 -3.5256 1.9144 0运算结果最优解的计算用LINGO求解程序如下model:sets:plane/1.6/:cita;link(plane,plane):alpha,beta;endsetsmin=sum(plane:abs(cita);for(plane(i): bnd(-30,cita(i),30); );for(link(i,j)|i#ne#j: abs(beta(i,j)

27、+0.5*cita(i)+0.5*cita(j) alpha(i,j); );data:alpha=0.000000,5.391190,32.230953,5.091816,20.963361,2.234507, 5.391190,0.000000,4.8040024,6.813460,5.807866,3.815925,32.230953,4.804024,0.000000,4.364672,22.833654,2.125539,5.091816,6.613460,4.363673,0.000000,4.537692,2.989819, 20.963361,5.807866,22.83365

28、4,4.537692,0.000000,2.309841,2.234507,3.815925,2.125539,2.989819,2.309841,0.000000; beta=0.000000 109.263642 -128.250000 24.179830 173.065051 13.474934109.263642 0.000000 -88.871096 -42.243563 -92.304847 9.000000-128.250000 -88.87096 0.000000 12.476311 -58.786243 0.31080924.179830 -42.243563 12.4763

29、11 0.000000 5.969234 -3.525606174.065051 -92.304846 -58.786244 5.969234 0.000000 1.91438314.474934 9.000000 0.310809 -3.525606 1.913383 0.000000;enddataend用MATLAB计算编程如下function f,g=plane(x)alph=0.000000,5.391190,32.230953,5.091816,20.963361,2.234507,5.391190,0.000000,4.8040024,6.813460,5.807866,3.81

30、5925,32.230953,4.804024,0.000000,4.364672,22.833654,2.125539,5.091816,6.613460,4.363673,0.000000,4.537692,2.989819,20.963361,5.807866,22.833654,4.537692,0.000000,2.309841,2.234507,3.815925,2.125539,2.989819,2.309841,0.000000; bet=0.000000 109.263642 -128.250000 24.179830 173.065051 13.474934109.2636

31、42 0.000000 -88.871096 -42.243563 -92.304847 9.000000-128.250000 -88.87096 0.000000 12.476311 -58.786243 0.31080924.179830 -42.243563 12.476311 0.000000 5.969234 -3.525606174.065051 -92.304846 -58.786244 5.969234 0.000000 1.91438314.474934 9.000000 0.310809 -3.525606 1.913383 0.000000;f=abs(x(1)+abs

32、(x(2)+abs(x(3)+abs(x(4)+abs(x(5)+abs(x(6);g(1)= alpha(1,2) -abs(beta(1,2)+0.5*x(1)+0.5*x(2);g(2)= alpha(1,3) -abs(beta(1,3)+0.5*x(1)+0.5*x(3);g(3)= alpha(1,4) -abs(beta(1,4)+0.5*x(1)+0.5*x(4);g(4)= alpha(1,5) -abs(beta(1,5)+0.5*x(1)+0.5*x(5);g(5)= alpha(1,6) -abs(beta(1,6)+0.5*x(1)+0.5*x(6);g(6)= al

33、pha(2,3) -abs(beta(2,3)+0.5*x(2)+0.5*x(3);g(7)= alpha(2,4) -abs(beta(2,4)+0.5*x(2)+0.5*x(4);g(8)= alpha(2,5) -abs(beta(2,5)+0.5*x(2)+0.5*x(5);g(9)= alpha(2,6) -abs(beta(2,6)+0.5*x(2)+0.5*x(6);g(10)= alpha(3,4) -abs(beta(3,4)+0.5*x(3)+0.5*x(4);g(11)= alpha(3,5) -abs(beta(3,5)+0.5*x(3)+0.5*x(5);g(12)=

34、 alpha(3,6) -abs(beta(3,6)+0.5*x(3)+0.5*x(6);g(13)= alpha(4,5) -abs(beta(4,5)+0.5*x(4)+0.5*x(5);g(14)= alpha(4,6) -abs(beta(4,6)+0.5*x(4)+0.5*x(6);g(15)= alpha(5,6) -abs(beta(5,6)+0.5*x(5)+0.5*x(6);执行程序x0=0,0,0,0,0,0; v1=-30*ones(1,6); v2=30*ones(1,6);opt=;x= constr(plane,x0,opt,v1,v2)结果:x = -0.0000

35、0576637983 -0.00000576637983 2.58794980234726 -0.00001243487985 0.00003620473095 最优解:模型检验各飞行方向按此方案调整后,系统各架飞机均满足|ij+( I+ j)/2|ij ,结果是正确的。模型的评价与推广(1)此模型采用圆状模型分析碰撞问题是合理的,同时采用相对速度作为判别标准,既体现了碰撞的本质(相对运动),又简化了模型的计算;(2)建模中用了适当的简化,将一个复杂的非线性规划问题简化为线性规划问题,既求到合理的解,又提高了运算速度,这对解决高速飞行的飞机碰撞问题是十分重要的。此模型对题目所提供的例子计算得出的结果是令人满意的。(3)由对称性知模型中的约束个数是 (n是飞机数),所有约束条件数是 ,计算量增加不大。2nC2)7(42nnnCn建模方案二:建模方案二:1.问题分析目的:不碰撞手段:调整飞行方向角要求:调整的幅度尽量小

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论