專利名稱:基于蟻群算法的飛機(jī)進(jìn)港調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明涉及空中交通流量管理和智能計(jì)算兩大領(lǐng)域,主要涉及一種基于蟻 群算法的飛機(jī)進(jìn)港調(diào)度方法。 技術(shù)背景
隨著民航事業(yè)的發(fā)展,空域擁擠的問題變得越來越嚴(yán)重,減少航班延誤造 成的經(jīng)濟(jì)損失已經(jīng)成為當(dāng)前亟待解決的問題,然而依靠擴(kuò)充機(jī)場容量,增加跑 道數(shù)目來減少飛機(jī)延誤的方法常受到各種因素的制約,因此對到達(dá)航班進(jìn)行排 序和調(diào)度、優(yōu)化進(jìn)場飛機(jī)的次序,使其延誤最小已經(jīng)成為當(dāng)前空中交通流量管 理的一個重要內(nèi)容。
簡單的說,飛機(jī)進(jìn)港調(diào)度問題(arrival sequencing and scheduling,簡稱ASS)
的基本目標(biāo)就是要在滿足空域及機(jī)場容量和安全間隔約束的前提條件下對到達(dá) 機(jī)場上空的飛機(jī)進(jìn)行合理調(diào)度,安排降落時(shí)間,盡量減少航班的延誤,從而減少 給顧客和航空公司帶來的損失。根據(jù)每架飛機(jī)的預(yù)計(jì)到達(dá)時(shí)間(predictedlanding time,簡稱PLT)的先后順序安排飛機(jī)降落是解決ASS問題的一種簡單常見的 方法,簡稱先來先服務(wù)(first come first serve, FCFS)算法。盡管FCFS算法能 夠建立一種基于PLT的公平降落次序,但是它忽視了許多有效的提高機(jī)場空間 利用率以及減少空中延遲的有效信息。例如根據(jù)不同飛機(jī)之間最小降落時(shí)間間 隔(landing time interval,簡稱LTI)的不同,交換兩架飛機(jī)的降落順序,很大 程度上可能減少飛機(jī)的空中延遲時(shí)間。
蟻群算法是模仿蟻群在搜索食物源的過程中所體現(xiàn)出來的尋優(yōu)能力而提出 的一種用來尋找最優(yōu)解決方案的全局搜索算法,已經(jīng)廣泛應(yīng)用求解旅行商問題 (TSP)、指派問題、調(diào)度問題等NP組合優(yōu)化問題并取得很好的效果。傳統(tǒng)的應(yīng)用 蟻群算法解決ASS問題的方法如下給出一個操作日內(nèi)所有飛機(jī)PLT,把每架飛 機(jī)抽象為一個頂點(diǎn),為任意兩個頂點(diǎn)建立一條有向邊,其中邊的長度定義為兩 架飛機(jī)之間的降落時(shí)間間隔,這樣ASS問題的優(yōu)化就等價(jià)于求解一條周游所有頂 點(diǎn)的最短路徑,這樣就建立起了一個TSP模型,再用蟻群算法求解TSP問題的方法進(jìn)行優(yōu)化求解。然而對于一個繁忙的機(jī)場,每天有成白上千次航班需要進(jìn)行 調(diào)度,傳統(tǒng)的蟻群算法需要較長的求解時(shí)間,很難滿足ASS問題需要進(jìn)行實(shí)時(shí)控 制的要求;另一方面,在一個動態(tài)的空中交通管理環(huán)境中,總存在著一些不可
避免的不定因素,比如有些航班會被突然取消,有些飛機(jī)需要緊急降落等。傳 統(tǒng)的蟻群算法是將一個操作日內(nèi)的所有飛機(jī)統(tǒng)一進(jìn)行優(yōu)化,遇到這種特殊情況, 需要重新計(jì)算,否則很難得到一個全局最優(yōu)解。
為了解決傳統(tǒng)的基于蟻群算法求解靜態(tài)ASS問題的弊端,本文發(fā)明引入移 動域控制(RHC)的概念。從而使得發(fā)明的蟻群算法能有效地解決動態(tài)環(huán)境中ASS 問題。
發(fā)明內(nèi)容
本文將蟻群算法運(yùn)用于解決飛機(jī)進(jìn)港調(diào)度問題(ASS)中,并且引入移動域控 制(RHC)的概念。簡單的說,RHC是一種向前看W步的實(shí)時(shí)優(yōu)化策略。在每一 個時(shí)間間隔,基于當(dāng)前可得到的信息,RHC向前看W個時(shí)間間隔,將這W個時(shí) 間間隔稱為一個時(shí)間域。RHC對當(dāng)前處于該時(shí)間域內(nèi)的飛機(jī)進(jìn)行優(yōu)化,得到一 個最優(yōu)的飛機(jī)降落序列,但只有那些指定降落時(shí)間(ALT)在當(dāng)前時(shí)間間隔內(nèi)的飛 機(jī)才被指定降落。在下一個時(shí)間間隔,RHC重復(fù)上述步驟,繼續(xù)往前看W個時(shí) 間間隔,作為下一個時(shí)間域,并通過優(yōu)化分派當(dāng)前時(shí)間間隔內(nèi)需要降落的飛機(jī)。 假設(shè)一個時(shí)間間隔的長度為r0/,當(dāng)前正在優(yōu)化第A個時(shí)間間隔,該時(shí)間間隔的 起點(diǎn)是To(^,終點(diǎn)是7^0+7^,其向前看的7V個時(shí)間間隔[7K^), 7^A:)+7Vro/]為 當(dāng)前的時(shí)間域。
發(fā)明的蟻群算法運(yùn)用于解決飛機(jī)進(jìn)港調(diào)度問題的步驟為
(1) 根據(jù)當(dāng)前要進(jìn)行排序的飛機(jī)序列,構(gòu)造圖G(^巧,其中F表示圖中的 頂點(diǎn),£表示邊。
(2) 初始化算法的各個參數(shù)。
(3) 將m只螞蟻置于m個頂點(diǎn)上,對于各螞蟻,將當(dāng)前所在頂點(diǎn)代表的飛 機(jī)的ALT取值作為當(dāng)前飛機(jī)的PLT,并將各螞蟻的初始出發(fā)點(diǎn)置于當(dāng)前解集中。
(4) 對于每只螞蟻4(^=1,2,…,m),按概率^(0移至下一頂點(diǎn),將_/置于 當(dāng)前解集中,重復(fù)進(jìn)行,直至每只螞蟻都遍歷完所有頂點(diǎn)?!?O表示f時(shí)刻螞
5蟻A:由頂點(diǎn)/轉(zhuǎn)移到頂點(diǎn)J'的概率
<formula>formula see original document page 6</formula>
其中,a〃owe《=(0,1,...,_U-表示螞蟻A:下一步允許選擇的頂點(diǎn),集 合toZu^隨著進(jìn)化過程做動態(tài)調(diào)整。^表示邊弧(/力的能見度,a表示軌跡的相 對重要性,^表示能見度的相對重要性。
(5) 對于每只螞蟻,根據(jù)其路徑形成的頂點(diǎn)序列(即為飛機(jī)的指派降落序 列),計(jì)算該降落序列形成的空中總延遲時(shí)間。記錄當(dāng)前的最好解以及該最好解 對應(yīng)的飛機(jī)降落序列。
(6) 按更新方程修改軌跡強(qiáng)度。各路徑上的信息素根據(jù)以下公式做調(diào)整
其中m表不螞蟻的數(shù)量,A《表示第A:只螞蟻在本次循環(huán)中留在路徑(/力上的 信息量,A、表示本次循環(huán)中路徑a/)上的信息增量。信息素增量的計(jì)算方法為, 令&表示第A只螞蟻環(huán)游一周的路徑長度,g為常數(shù),則有
如果第)t只螞螞蟻在本次循環(huán)中經(jīng)過路徑(/,y) o, 否則
(7) 若達(dá)到終止條件則輸出最優(yōu)解,否則回到步驟(3)。 本文在傳統(tǒng)的蟻群算法的基礎(chǔ)上,引入RHC的控制策略,原理上就是縮小 蟻群算法的優(yōu)化空間,將蟻群算法的優(yōu)化控制在一個移動域中進(jìn)行,而在一個 移動域內(nèi)充分發(fā)揮蟻群算法求解ASS問題的優(yōu)勢,使得求解的效果明顯優(yōu)于傳 統(tǒng)的蟻群算法。同時(shí)由于優(yōu)化空間的縮小還使得計(jì)算復(fù)雜度大大降低,使得ASS 問題的求解能夠?qū)崟r(shí)進(jìn)行。再加上優(yōu)化的過程是隨著時(shí)間間隔的推移進(jìn)行的, 不是一次性指派,因此可以應(yīng)對動態(tài)變化的不測因素,這也使得發(fā)明的算法可 以應(yīng)用于求解動態(tài)ASS問題。
圖l蟻群算法的基本流程圖
具體實(shí)施例方式
以下結(jié)合附圖進(jìn)一步對發(fā)明的方法進(jìn)行描述。
飛機(jī)進(jìn)港調(diào)度問題(ASS)問題具體描述如下在一個工作日內(nèi),假設(shè)有A^c
架飛機(jī)在飛機(jī)場的同一跑道上降落,其中G., /V A分別表示在原始預(yù)計(jì)降落的 飛機(jī)序列中第/架飛機(jī)的種類、預(yù)計(jì)到達(dá)時(shí)間(PLT)以及指定降落時(shí)間(ALT),要 求對^A^c架飛機(jī)進(jìn)行調(diào)度,指定飛機(jī)的降落順序,使得這A^c架飛機(jī)總的空中 延誤時(shí)間最小。令g(^表示經(jīng)過優(yōu)化后降落序列中的第"架飛機(jī),則g(^—表示
經(jīng)過優(yōu)化后第"架降落的飛機(jī)是原始預(yù)計(jì)降落的飛機(jī)序列中的第/架飛機(jī)。 的計(jì)算方法如下
其中鄧,))表示類型為/的飛機(jī)和類型為乂的飛機(jī)之間的最小降落時(shí)間間隔(LTI)。 則原始預(yù)計(jì)降落飛機(jī)序列中的第/架飛機(jī)的空中延時(shí)定義為
ASS問題優(yōu)化的目標(biāo)就是找到一個最優(yōu)的飛機(jī)降落序列使得所有飛機(jī)的總空中 延時(shí)達(dá)到最小
在現(xiàn)實(shí)世界中,ASS問題總是在一個動態(tài)的交通管理環(huán)境中被執(zhí)行,在這 種動態(tài)的環(huán)境下需要考慮一些不確定的因素,預(yù)計(jì)到達(dá)飛機(jī)的數(shù)據(jù)可能隨時(shí)發(fā) 生改變。RHC策略能夠有效的解決這一問題。RHC的基本框架是把一個工作曰 分成許多個時(shí)間間隔,在每一個時(shí)間間隔,基于當(dāng)前可得到的信息,RHC向前 看iV個時(shí)間間隔,形成一個時(shí)間窗口 (稱為一個時(shí)間域),并對該時(shí)間域內(nèi)的飛 機(jī)進(jìn)行排序,尋找一個最優(yōu)序列,在該最優(yōu)序列中指定ALT落在當(dāng)前時(shí)間間隔 內(nèi)的飛機(jī)降落。完成一個時(shí)間間隔的調(diào)度后,時(shí)間窗口向前移動一個時(shí)間間隔, 繼續(xù)重復(fù)上述操作,直到所有的飛機(jī)都被指派降落為止。
在動態(tài)ASS問題中,為了應(yīng)用RHC策略,需要對前面的目標(biāo)函數(shù)進(jìn)行修正, 引入如下參數(shù)表示
min/,=
柳,...,e(D
min y
71) /t表示當(dāng)前正在操作的時(shí)間間隔;
2) 7、表示一個時(shí)間間隔的長度;
3) A^表示一個移動域包含的時(shí)間間隔數(shù);
4) A^c(,)表示PLT在當(dāng)前移動域內(nèi)的飛機(jī)數(shù);
5) O)表示當(dāng)前操作的時(shí)間域;
6) ^+^)表示當(dāng)前時(shí)間域內(nèi)的第/個時(shí)間間隔;
7) A(詢表示當(dāng)前時(shí)間域內(nèi)第!'架飛機(jī)的空中延遲;
8) 尸,(,)表示當(dāng)前時(shí)間域內(nèi)第/架飛機(jī)的PLT;
9) A(^)表示當(dāng)前時(shí)間域內(nèi)第/架飛機(jī)的ALT;
10) g(/vl^l表示當(dāng)前時(shí)間域內(nèi)的飛機(jī)經(jīng)過優(yōu)化后形成的降落序列中的第w 架飛機(jī)。
將上述力的函數(shù)修正為
J2 ( I a)= (. I + _/ —<《( I" ^ & +力4 , _/ = i,…,
其中;iC/)是一個權(quán)重變量,j表示當(dāng)前飛機(jī)的PLT處于當(dāng)前時(shí)間域內(nèi)的第J 個時(shí)間間隔,o<A(y)si,且是一個關(guān)于y的遞減函數(shù),表示越遠(yuǎn)離當(dāng)前的操作 時(shí)間間隔,Z),別A:)對目標(biāo)函數(shù)的影響越小。
則上述動態(tài)ASS問題優(yōu)化的目標(biāo)函數(shù)變?yōu)?br>
min /7 (. I a)
e(i,ii),...,e(w_^(.i*),i*) 八''
假定"(1,#),...,^(^(;(#),,1"是當(dāng)前時(shí)間域內(nèi)求解得到的最優(yōu)序列,則 只有4(.IW處在當(dāng)前操作的時(shí)間間隔內(nèi)的飛機(jī)被指定降落,艮P:
2("," = "(",. i"如果h;, <々(,《"+ i)r0/," = i"
運(yùn)用蟻群算法解決ASS問題的方法為,首先根據(jù)當(dāng)前要進(jìn)行排序的飛機(jī)序
列,構(gòu)造圖G(^巧,其中F表示圖中的頂點(diǎn),£表示邊。圖中的每個頂點(diǎn)代表 一架飛機(jī),頂點(diǎn)z'和j'之間邊的長度^定義為
《 = 4. _ 4
根據(jù)以上公式有
8如果(巧—4)>外',力 《=尸廠4
否則 《=外',))
由于每架飛機(jī)只能被安排一次,即每只螞蟻不能兩次經(jīng)過同一個頂點(diǎn),所 以必須為每只螞蟻建立一張禁忌表。設(shè)ta6^為第A:只螞蟻的禁忌表,to^"》表 示禁忌表中的元素,即頂點(diǎn)s已經(jīng)被訪問過。
螞蟻在運(yùn)動的過程中,根據(jù)各條路徑上信息素的濃度決定轉(zhuǎn)移方向,用 (0 表示f時(shí)刻邊e(^/)上的信息量,《(O表示Z時(shí)刻螞蟻A:由頂點(diǎn)/轉(zhuǎn)移到頂點(diǎn)_/'的 概率
y)求《( 如果—〃匿《
0,
其中a〃owe《={0,1,...,A^C -1)-to6^表示螞蟻A:下一步允許選擇的頂點(diǎn), 集合to6w隨著進(jìn)化過程做動態(tài)調(diào)整。77v表示邊弧(/力的能見度,此處取^ = 1 /《。 a表示軌跡的相對重要性,)8表示能見度的相對重要性,p表示軌跡的持久性, l-p表示軌跡的衰減度。經(jīng)過7V^;個時(shí)刻,螞蟻完成一次循環(huán),各路徑上的信 息素根據(jù)以下公式做調(diào)整
加
JU1
其中m表示螞蟻的數(shù)量,A《表示第A只螞蟻在本次循環(huán)中留在路徑(4/) 上的信息量,A^表示本次循環(huán)中路徑0/)上的信息增量。關(guān)于信息素增量的計(jì) 算,本發(fā)明采用蟻周模型,令"表示第A:只螞蟻環(huán)游一周的路徑長度,2為常 數(shù),則有
△《=
^, 如果第&只螞螞蟻在本次循環(huán)中經(jīng)過路徑(/,/) 丄t
0, 否則
為了進(jìn)一步提高算法的性能,加快算法的收斂,運(yùn)用如下四條啟發(fā)式規(guī)則 1)根據(jù)ASS問題固有的特點(diǎn),PLT越早的飛機(jī),被安排在前面降落的可能性越大,且由fcfs算法得到的飛機(jī)序列中往往包含著一些最優(yōu)的子序列(即與
最優(yōu)降落序列的公共子序列),因此在蟻群算法初始化時(shí),不把每條邊上的信息
素都初始化為同一個常數(shù),而一定程度上加大由fcfs算法得到的序列所經(jīng)過的 路徑上的信息素,加大它們被選中的概率。
2) ass問題中,第一架降落飛機(jī)的指派至關(guān)重要,往往決定解的優(yōu)劣程度, 如極端情況令plt最大的飛機(jī)作為第一架飛機(jī)降落,那么后面降落飛機(jī)的alt 都必須在該飛機(jī)的alt之后,則總的空中延遲時(shí)間將大大增加,該序列成為最 優(yōu)解的可能性極小。因此為了進(jìn)一步加快算法的收斂,關(guān)于每只螞蟻對于初始 頂點(diǎn)的選擇,采用不等概率進(jìn)行初始化,令plt越靠前的飛機(jī)被選中的概率越 大。
3) 對每個時(shí)間域應(yīng)用蟻群算法進(jìn)行優(yōu)化時(shí),蟻群算法的迭代次數(shù)A^以及螞
蟻數(shù)量根據(jù)當(dāng)前該時(shí)間域內(nèi)的飛機(jī)數(shù)量進(jìn)行調(diào)整,規(guī)則如下 ATp = 50 + lO(層"d(max(O,K. | A) -10)/5)) W = 30 +10(醒W(max(0,A^c (. | A:) — 10) / 5))
4) 在rhc策略中,每次對一個時(shí)間域內(nèi)的飛機(jī)進(jìn)行優(yōu)化,但是只對求解得 到的最優(yōu)序列中alt在當(dāng)前時(shí)間間隔內(nèi)的飛機(jī)進(jìn)行指派降落,則勢必存在一些 飛機(jī),其plt在當(dāng)前的時(shí)間間隔內(nèi),但是alt在當(dāng)前的時(shí)間間隔外。對于這些 飛機(jī),在當(dāng)前優(yōu)化中并沒有被指定降落,并且在對下一個時(shí)間間隔進(jìn)行優(yōu)化時(shí), 由于時(shí)間窗口已經(jīng)向前推移一個時(shí)間間隔,則這些飛機(jī)不可能再出現(xiàn)在后續(xù)的 優(yōu)化過程中,即可能出現(xiàn)一些飛機(jī)突然"消失"的情況。為了避免這種情況發(fā) 生,需耍對這些飛機(jī)的plt進(jìn)行修正,使得它們能夠重新出現(xiàn)在后續(xù)的優(yōu)化過
程中。修正方法如下設(shè)當(dāng)前完成了第A個時(shí)間間隔的優(yōu)化,令^:r^為當(dāng)前
已經(jīng)指派降落的最后一架飛機(jī)的alt, c^為該飛機(jī)的類型。則對于那些
(a -< ( i a:)《且4 ( | a) >的飛機(jī)的plt進(jìn)行修正如下
U"L,+s(c,加,c,(.i") 否則 發(fā)明的蟻群算法的基本流程圖如圖i所示。
以30架飛機(jī)的進(jìn)港調(diào)度為例,對本發(fā)明的算法進(jìn)行測試。設(shè)定各參數(shù)如下表所示。
飛機(jī)類別數(shù)4總飛機(jī)數(shù)量30
時(shí)間間隔的長度7b,150s時(shí)間域的時(shí)間間隔數(shù)A^4
軌跡的相對重要性"1.50能見度的相對重耍性A3.50
軌跡的持久性p0.902值100
利用提出的蟻群算法進(jìn)行30次仿真實(shí)驗(yàn),記錄求得解的平均值、最優(yōu)值以 及最差值。并將得到的結(jié)果和使用傳統(tǒng)蟻群算法求解得到的結(jié)果進(jìn)行對比。結(jié) 果如下表所示。
算法最優(yōu)解(延時(shí))最差解(延時(shí))平均解(延時(shí))
傳統(tǒng)蟻群算法647882387352.8
運(yùn)用移動域控制的蟻 群算法372138503747.7
從表中可以看出發(fā)明的運(yùn)用移動域控制的蟻群算法在解的質(zhì)量上明顯優(yōu)于 傳統(tǒng)的蟻群算法。這證明了發(fā)明的算法在解決飛機(jī)進(jìn)港調(diào)度問題上是十分有效 的。
1權(quán)利要求
1、一種基于蟻群算法的飛機(jī)進(jìn)港調(diào)度方法,其特征在于,該方法包括以下步驟(1)根據(jù)當(dāng)前要進(jìn)行排序的飛機(jī)序列,構(gòu)造圖G(V,E),其中V表示圖中的頂點(diǎn),E表示邊。(2)初始化算法的各個參數(shù)。(3)將m只螞蟻置于n個頂點(diǎn)上,對于各螞蟻,將當(dāng)前所在頂點(diǎn)代表的飛機(jī)的指定降落時(shí)間作為當(dāng)前飛機(jī)的預(yù)計(jì)到達(dá)時(shí)間,并將各螞蟻的初始出發(fā)點(diǎn)置于當(dāng)前解集中。(4)對于每只螞蟻k(k=1,2,...,m),按概率移至下一頂點(diǎn)j,將j置于當(dāng)前解集中,重復(fù)進(jìn)行,直至每只螞蟻都遍歷完所有頂點(diǎn)。(5)對于每只螞蟻,根據(jù)其路徑形成的頂點(diǎn)序列(即為飛機(jī)的指派降落序列),計(jì)算該降落序列形成的空中總延遲時(shí)間。記錄當(dāng)前的最好解以及該最好解對應(yīng)的飛機(jī)降落序列。(6)按更新方程修改軌跡強(qiáng)度。(7)若達(dá)到終止條件則輸出最優(yōu)解,否則回到步驟(3)。
2、 基于權(quán)利要求1所述的一種基于蟻群算法的飛機(jī)進(jìn)港調(diào)度方法,其特征 在于f時(shí)刻螞蟻&由頂點(diǎn)z'轉(zhuǎn)移到頂點(diǎn)y的概率《(0如下表示<formula>formula see original document page 2</formula>其中,^/0,《={0,1,...,7\^-1}-^6 表示螞蟻A:下一步允許選擇的頂點(diǎn),集 合to6^隨著進(jìn)化過程做動態(tài)調(diào)整。7^表示邊弧(/力的能見度,a表示軌跡的相 對重要性,P表示能見度的相對重要性。
3、 基于權(quán)利要求1所述的一種基于蟻群算法的飛機(jī)進(jìn)港調(diào)度方法,其特征 在于更新時(shí)各路徑上的信息素根據(jù)以下公式做調(diào)整<formula>formula see original document page 2</formula>其中m表示螞蟻的數(shù)量,A4表示第&只螞蟻在本次循環(huán)中留在路徑o/)上的信息量,A^表示本次循環(huán)中路徑(4/)上的信息增量。信息素增量的計(jì)算方法為:如果第^R螞螞蟻在本次循環(huán)中經(jīng)過路徑(/,y)<formula>formula see original document page 3</formula>其中,A表示第t只螞蟻環(huán)游一周的路徑長度,g為常數(shù),
全文摘要
飛機(jī)進(jìn)港排序和調(diào)度問題(Arrival sequencing and scheduling,ASS)是空中交通流量管理的一個重要研究內(nèi)容。高效率地對ASS問題進(jìn)行優(yōu)化對于提高機(jī)場的效率、空間利用率以及安全性至關(guān)重要。本發(fā)明考慮動態(tài)環(huán)境中的ASS問題,引入移動域控制的概念,并將蟻群算法運(yùn)用到飛機(jī)進(jìn)港排序和調(diào)度中。仿真結(jié)果表明基于移動域控制策略的蟻群算法不僅能有效解決動態(tài)環(huán)境中ASS問題,而且能大大降低計(jì)算復(fù)雜度,適合于對終端區(qū)到達(dá)航班進(jìn)行實(shí)時(shí)排序和調(diào)度。
文檔編號G06N3/00GK101477642SQ20081022065
公開日2009年7月8日 申請日期2008年12月31日 優(yōu)先權(quán)日2008年12月31日
發(fā)明者軍 張, 李冠彬, 詹志輝, 韜 黃 申請人:中山大學(xué)