matlab实现航班进离场排序,航班离场排序问题的遗传算法设计

作为流量管理的一个分支问题,航班进离场排序越来越引起人们的重视.特别是随着空中交通的飞速发展,国内外空中交通拥挤现象日趋严重并且造成了巨额损失,从而使得这方面的研究变得十分迫切.其中,到场航班的调度(到场航班在降落机场上空的排序等)算法研究比较成熟,相比之下,离场航班的调度问题特别是相关算法的研究较少,因此很有必要进行探讨分析.离场调度问题属于NP-Hard问题.在文献[1]中,给出了离场调度问题的一类启发式算法,但它们都不能保证解的全局最优性,甚至无法确定到底哪个算法性能最好.相比之下,根据相关理论和问题自身特点,本文设计的双码自适应遗传算法在可求解航班的离场排序问题,同时可保证解的全局最优性.1离场排序问题的描述离场指航班加入航线阶段前的整个过程,具体包括准备起飞、飞离机场和飞离终端区三个阶段.一般地,离场操作分为地面和空中两部分,本文重点讨论地面操作部分.地面操作主要涉及航班起飞前的两阶段排序问题.这里,问题的研究对象为多条滑行道、单跑道,多个航班离场队列,每队各占一个滑行道,如图1所示.不同机场其地面和空中操作应是不完全相同的,但无本质区别,所以本文的结果在一定程度上是普遍适用的.离场航班调度的实质就是对一定时段内的离场航班进行优化排序,使得跑道被充分利用并能够有效图1航班离场简图减少航班在机场上空的滞留.显然,每个离场航班都要对应一个起飞跑道,一条滑行路线(对应离场队列)和一个离场时段.通常,有两点需要确定,即滑行路线的分配和随后航班的离场排序.于是,我们可将离场航班的优化排序问题分为两个阶段来描述:自航班抵达预热机坪的分配点起,安排航班进入离场队列和滑行路线.该阶段问题的解决一般基于机场的相关规定和统计数据,并依赖于地面管制员的经验,因此基本上属于人工操作安排,本文不予深究;离场航班分多个队列分别抵达跑道的起飞端,航线管制员对航班重新进行优化排序.这一阶段问题的关键在于,在跑道离场端,如何从多个起飞队列的第一架航班中选择最先离场者,以使离场航班所消耗的总的离场时间和最小.显然,这个问题可以通过建立排序模型、设计排序算法来解决.2离场排序模型为使得排队离场的航班所消耗的离场时间和最小,建立如下目标函数:NminC=i=1(di-di-1)=dN-d0,(1)其中,N表示目前正在等待起飞的航班总数,di表示给第i架航班的分配离场时刻,d0表示目前正在跑道上的航班的离场时刻,dN表示最后一架航班的分配离场时刻.所有相邻离场航班都应该满足一定的尾涡间隔和纵向间隔,所以:di-di-1max(mi,i-1,wi,i-1),i=1,…,N,(2)其中mi,i-1为纵向间隔(miles-in-trailseparation),wi,i-1为尾涡间隔(wakevortexseparation).一般地,为谋求离场消耗时间和最小,各个航班都尽可能连续起飞,即在(2)式中取等号.假设i,i+1为第i架航班同第i+1架之间的最小间隔时间,即i,i+1=max(mi,i+1,wi,i+1),则目标函数(1)将化为:minC=N-1i=1i,i+1.(3)根据先到先服务原则,每个滑行道上的航班队列都应该满足:djk-dkj-10,j=1,…,Nk;k=1,…,K.(4)其中djk,djk-1分别表示第k条滑行道上的航班队列(简称为第k队)中相邻航班中的后机和前机的分配起K飞时刻,Nk表示第k队的航班数目.假设共有K条滑行道(自然对应K个队列),显然k=1Nk=N成立.此外,约束条件(4)同时也保证了先到先服务原则下离场航班遵从一条重要性质:性质1直至飞离机场,

你可能感兴趣的:(matlab实现航班进离场排序)