本發(fā)明涉及一種機(jī)場(chǎng)內(nèi)航空器泊位預(yù)分配的方法,屬于民航機(jī)場(chǎng)地面運(yùn)行保障技術(shù)領(lǐng)域。
背景技術(shù):
隨著航空運(yùn)輸業(yè)的高速發(fā)展,促進(jìn)了航班運(yùn)輸量的提升,在現(xiàn)有的機(jī)場(chǎng)環(huán)境中,如何最大效率地利用泊位關(guān)乎機(jī)場(chǎng)整體運(yùn)行效益;因此,如何智能高效的進(jìn)行泊位分配成為每個(gè)機(jī)場(chǎng)保障進(jìn)程中至關(guān)重要的部分,直接關(guān)乎航班是否能夠正常運(yùn)轉(zhuǎn)。
在現(xiàn)有技術(shù)中,航空器泊位的分配仍然較大程度上依賴人為確定,導(dǎo)致在分配過程中不可避免地因?yàn)槿藶橐蛩囟斐煞峙錄_突,并存在??坷葮蚶寐实偷葐栴}。
基于上述情況,有必要提供一種計(jì)算機(jī)場(chǎng)內(nèi)航空器??坎次坏姆椒ǎ⒎峙湟?guī)則,從而實(shí)現(xiàn)程序智能化地進(jìn)行航空器泊位分配。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明正是針對(duì)現(xiàn)有技術(shù)存在的不足,提供一種機(jī)場(chǎng)內(nèi)航空器泊位預(yù)分配的方法,能夠?qū)崿F(xiàn)程序智能化地進(jìn)行航空器泊位分配,滿足實(shí)際使用要求。
為解決上述問題,本發(fā)明所采取的技術(shù)方案如下:
一種機(jī)場(chǎng)內(nèi)航空器泊位預(yù)分配的方法,采用罰分分配方法對(duì)泊位進(jìn)行分配:罰分范圍為0分至100分的閉區(qū)間,100分代表不能停靠,0分代表最合適???,其余分?jǐn)?shù)代表不同的優(yōu)先順序且低分優(yōu)先;
罰分標(biāo)準(zhǔn)包括固定的罰分和航班沖突的罰分;所述固定的罰分包括機(jī)型罰分、航空公司罰分、國際國內(nèi)類型罰分和遠(yuǎn)近泊位罰分;所述航班沖突的罰分的規(guī)則為:當(dāng)兩架航班在同一泊位的情況下,沖突的罰分為100分,間隔時(shí)間大于過站最短保障時(shí)間的罰分為0分,罰分計(jì)算公式:score=0.2*n^2,n是間隔時(shí)間與最短保障時(shí)間的分鐘數(shù)差值。
作為上述技術(shù)方案的改進(jìn),還包括以下步驟:
步驟一、讀入罰分規(guī)則,建立航空公司可停泊位字典,機(jī)型分類對(duì)應(yīng)不同泊位類型;
步驟二、將每天的航班數(shù)據(jù)信息制作成航班數(shù)據(jù)表,對(duì)航班數(shù)據(jù)表中的航班數(shù)據(jù)信息進(jìn)行處理,篩選出不符合分配條件的航班以及固定分配規(guī)則的航班列表,然后對(duì)剩下的航班按泊位類型對(duì)應(yīng)機(jī)型原則進(jìn)行分配處理。
作為上述技術(shù)方案的改進(jìn),在所述步驟二中,每天21點(diǎn)30分開始分配泊位,分配到達(dá)時(shí)間在22點(diǎn)之后的航班,22點(diǎn)之前到達(dá)的航班認(rèn)定已分配到合適泊位;且航班數(shù)據(jù)信息分為停場(chǎng)過夜航班和非停場(chǎng)過夜航班,在編號(hào)時(shí)停場(chǎng)過夜航班的編號(hào)為負(fù)數(shù),非停場(chǎng)過夜航班的編號(hào)為正數(shù);并包括以下步驟:
S1、對(duì)停場(chǎng)過夜航班進(jìn)行泊位分配;
S2、對(duì)非停場(chǎng)過夜航班進(jìn)行泊位分配。
作為上述技術(shù)方案的改進(jìn),S1包括以下步驟:
S11、處理獲取當(dāng)日的航班數(shù)據(jù)信息制得航班數(shù)據(jù)表:處理無法識(shí)別規(guī)則的數(shù)據(jù),排除機(jī)型不確定的數(shù)據(jù),篩掉目的地為非當(dāng)前機(jī)場(chǎng)的數(shù)據(jù),對(duì)排除過后剩余的航班數(shù)據(jù)信息按照時(shí)間排序,分別制作到達(dá)當(dāng)前機(jī)場(chǎng)和從當(dāng)前機(jī)場(chǎng)出發(fā)兩張表,并用飛機(jī)編號(hào)關(guān)聯(lián)兩張表,去掉到達(dá)時(shí)間晚于出發(fā)時(shí)間的數(shù)據(jù),按照時(shí)間排序,按照飛機(jī)編號(hào)和到達(dá)時(shí)間聯(lián)合分組,以出發(fā)時(shí)間升序排序;
S12、按照步驟S11的方式處理次日的航班數(shù)據(jù)信息得到包含以下信息的航班數(shù)據(jù)表:次日航班計(jì)劃中匹配成功的航班,次日到達(dá)當(dāng)前機(jī)場(chǎng)的飛機(jī),次日從當(dāng)前機(jī)場(chǎng)出發(fā)的航班;
S13、通過飛機(jī)編號(hào)將步驟S11和S12制得的航班數(shù)據(jù)表相關(guān)聯(lián),生成跨兩天的航班數(shù)據(jù)表,然后將航班數(shù)據(jù)表中的航班分成停場(chǎng)過夜航班和非停場(chǎng)過夜航班:凌晨3點(diǎn)前到達(dá)當(dāng)前機(jī)場(chǎng)且6點(diǎn)后出發(fā)的航班為所述停場(chǎng)過夜航班,其余為所述非停場(chǎng)過夜航班;
S14、再將所述停場(chǎng)過夜航班分成已經(jīng)分配好的航班和未分配的航班,所述已經(jīng)分配好的航班為當(dāng)天21點(diǎn)30分之前到達(dá)當(dāng)前機(jī)場(chǎng)且6點(diǎn)后出發(fā)的航班,其余所述停場(chǎng)過夜航班為所述未分配的航班;
S15、建立一個(gè)包含以下字段的泊位表:泊位編號(hào)、飛機(jī)編號(hào)、遠(yuǎn)近標(biāo)志位、泊位開放時(shí)間;對(duì)泊位表進(jìn)行初始化,填入泊位編號(hào)以及對(duì)應(yīng)的遠(yuǎn)近標(biāo)志位和開放時(shí)間;然后將步驟S14中所述已分配好的航班寫入泊位表;
S16、對(duì)所述未分配的航班按照優(yōu)先級(jí)排序,然后按照航空公司比例分配廊橋泊位,剩余所述未分配的航班按照出發(fā)時(shí)間排序,越早出發(fā)的分到廊橋泊位的概率越大;
S17、分配完廊橋泊位之后,剩余所述未分配的航班放入遠(yuǎn)泊位,此時(shí)飛機(jī)需要按照航空公司分類,同一個(gè)航空公司的飛機(jī)需要盡量離得近,對(duì)于可拆分的泊位,如果使用時(shí)停放2架C類飛機(jī),必須停放相同航空公司的飛機(jī)。
作為上述技術(shù)方案的改進(jìn),S2包括以下步驟:
S21、逐一讀取航班計(jì)劃中的航班,為每個(gè)航班建立一個(gè)字典,用來存儲(chǔ)航班信息;
S22、對(duì)于循環(huán)中的一架航班,讀取其航空公司對(duì)應(yīng)的泊位列表,建立打分表;
S23、讀取對(duì)應(yīng)的機(jī)型和國際國內(nèi)標(biāo)志位,累計(jì)罰分,并更新打分表;
S24、計(jì)算沖突罰分:如果沖突,直接罰分100,不沖突按照間隔時(shí)間計(jì)算,最短過站保障時(shí)間以上不扣分,罰分計(jì)算公式:score=0.2*n^2,n是間隔時(shí)間與最短保障時(shí)間的分鐘數(shù)差值。
S25、若最低分只有一個(gè),則航班直接放入該泊位;
S26、若有多個(gè)最低分泊位,則繼續(xù)計(jì)算每個(gè)泊位中該航班與相隔最近航班的間隔時(shí)間,選擇相隔時(shí)間最大的泊位停放;
S27、如果出現(xiàn)罰分大于90的泊位,則打印出航班的詳細(xì)信息;
S28、根據(jù)分配結(jié)果畫出甘特圖。
本發(fā)明與現(xiàn)有技術(shù)相比較,本發(fā)明的實(shí)施效果如下:
本發(fā)明所述的一種機(jī)場(chǎng)內(nèi)航空器泊位預(yù)分配的方法,利用既有的龐大數(shù)據(jù)做分析,建立可靠的支持體系,保障了泊位分配的合理性;可以高效地預(yù)先分配,合理規(guī)避人工分配的風(fēng)險(xiǎn),實(shí)現(xiàn)航空器泊位的智能分配,大大減少了人工工作量,提高了泊位分配正確性、廊橋的使用率以及航班保障效率。
具體實(shí)施方式
下面將結(jié)合具體的實(shí)施例來說明本發(fā)明的內(nèi)容。
本實(shí)施例所提供的一種機(jī)場(chǎng)內(nèi)航空器泊位預(yù)分配的方法包含兩個(gè)部分:停場(chǎng)過夜的飛機(jī)以及非停場(chǎng)過夜的飛機(jī);根據(jù)既有數(shù)據(jù)分析,采用罰分分配方法對(duì)泊位進(jìn)行分配:
制定分配規(guī)則時(shí)首先要制定統(tǒng)一的罰分標(biāo)準(zhǔn),固定的罰分包括四個(gè)部分:機(jī)型罰分、航空公司罰分、國際國內(nèi)類型罰分和遠(yuǎn)近泊位罰分。
在具體的罰分中,100分代表了不能???,0分代表最合適??浚溆喾?jǐn)?shù)代表不同的優(yōu)先順序。機(jī)型罰分、國際國內(nèi)類型罰分和遠(yuǎn)近泊位罰分寫在表A和B中;航空公司罰分寫成了字典的形式記在程序中。
除了上面四種固定的罰分以外還有飛機(jī)沖突的罰分:
當(dāng)兩架飛機(jī)在同一泊位的情況下,沖突的罰分為100分,間隔時(shí)間大于過站最短保障時(shí)間的罰分為0,罰分計(jì)算公式:score=0.2*n^2,n是間隔時(shí)間與最短保障時(shí)間的分鐘數(shù)差值。
泊位分配主要流程:
第一步是把固定的規(guī)則讀入,讀入罰分規(guī)則A和B兩張表。然后建立航空公司可停泊位字典。機(jī)型分類對(duì)應(yīng)不同泊位類型。建立機(jī)型類型泊位類型規(guī)則庫C。
第二步處理每天的航班數(shù)據(jù)信息,制作成航班數(shù)據(jù)表,然后進(jìn)行分配。對(duì)航班數(shù)據(jù)信息進(jìn)行處理,篩選出不符合分配條件的航班以及固定分配規(guī)則的航班列表,然后對(duì)剩下的航班進(jìn)行分配,分配過程中讀取規(guī)則庫C中數(shù)據(jù),按泊位類型對(duì)應(yīng)機(jī)型原則進(jìn)行分配處理。
在分配過程中主要分為兩類:停場(chǎng)過夜航班以及非停場(chǎng)過夜航班。
具體分配過程:
停場(chǎng)過夜航班分配步驟:
1、獲取當(dāng)天的所有航班數(shù)據(jù)信息;
2、處理獲取的航班數(shù)據(jù)信息:
"""處理無法識(shí)別規(guī)則的數(shù)據(jù)"""
"""分配規(guī)則庫C中需要按機(jī)型確定泊位類型,因此排除飛機(jī)編號(hào)為空、機(jī)型不確定的數(shù)據(jù)"""
"""對(duì)排除過后剩余的航班數(shù)據(jù)信息按照時(shí)間排序"""
"""分別制作到達(dá)當(dāng)前機(jī)場(chǎng)和從當(dāng)前機(jī)場(chǎng)出發(fā)兩張表E,F(xiàn)"""
"""用飛機(jī)編號(hào)關(guān)聯(lián)兩張表,得到schedule_join"""
"""去掉到達(dá)時(shí)間晚于出發(fā)時(shí)間的數(shù)據(jù)"""
"""按照時(shí)間排序"""
"""按照飛機(jī)編號(hào)和到達(dá)時(shí)間聯(lián)合分組,以出發(fā)時(shí)間升序排序"""
3、篩掉航班數(shù)據(jù)表中目的地為非當(dāng)前機(jī)場(chǎng)的數(shù)據(jù)。
4、按照同樣的方式處理次日的航班數(shù)據(jù)信息得到三個(gè)表:
schedule_join
join_fail_arr
join_fail_dep
其中schedule_join是次日航班計(jì)劃中匹配成功的航班。join_fail_arr 是次日到達(dá)當(dāng)前機(jī)場(chǎng)的飛機(jī),join_fail_dep是次日從當(dāng)前機(jī)場(chǎng)出發(fā)的航班,在3中得到了當(dāng)日到達(dá)的飛機(jī)信息,這兩部分用飛機(jī)編號(hào)連表就生成了跨兩天的航班數(shù)據(jù)信息。
然后將這張表存入schedule_join這張表,生成完整的航班數(shù)據(jù)表。
5、把完整的航班數(shù)據(jù)表分成停場(chǎng)過夜和非停場(chǎng)兩部分。時(shí)間區(qū)間取3點(diǎn)到6點(diǎn),凌晨3點(diǎn)前到達(dá)當(dāng)前機(jī)場(chǎng)6點(diǎn)后出發(fā)的航班定義為停場(chǎng)過夜航班。
6、再把這部分停場(chǎng)過夜的航班分成兩部分:已經(jīng)分配好的和未分配的。例如晚上8點(diǎn)到達(dá)機(jī)場(chǎng),第二天6點(diǎn)出發(fā)的航班,雖然屬于停場(chǎng)過夜航班,但是并不參與分配,因?yàn)?點(diǎn)到達(dá)時(shí)還沒有做第二天的航班計(jì)劃,所以這架飛機(jī)會(huì)在不知道出發(fā)時(shí)間的情況下??窟h(yuǎn)泊位。
7、停場(chǎng)過夜,每個(gè)泊位最多停放一架飛機(jī),因此建立一張泊位表,將泊位對(duì)應(yīng)飛機(jī)填入即可成為結(jié)果。首先對(duì)這個(gè)表初始化,表中包含四個(gè)字段:泊位編號(hào)、飛機(jī)編號(hào)、遠(yuǎn)近標(biāo)志位、泊位開放時(shí)間。初始化時(shí)將泊位編號(hào)以及對(duì)應(yīng)的遠(yuǎn)近標(biāo)志位和開放時(shí)間填入。
8、在處理停場(chǎng)過夜分配泊位時(shí),先將6中已分配好的航班寫入泊位表,然后處理剩余未分配航班。
9、對(duì)于未分配的航班按照優(yōu)先級(jí)排序,然后進(jìn)行分配:
由于E、F類泊位可停靠C類飛機(jī),而E、F類飛機(jī)只能停靠E、F類泊位,所以要把E、F類飛機(jī)挑出,優(yōu)先進(jìn)行分配,防止C類飛機(jī)占用E、F泊位導(dǎo)致E、F類飛機(jī)無法???。
停場(chǎng)過夜時(shí)一般要遵循按照航空公司比例分配廊橋泊位的原則。例如目前經(jīng)過現(xiàn)場(chǎng)記錄有如下航空公司對(duì)應(yīng)廊橋泊位數(shù)量:
select_dict['CA']=3
select_dict['CZ']=3
select_dict['KY']=7
select_dict['_3U']=6
select_dict['DR']=4
如果CA飛機(jī)大于三架則按照出發(fā)時(shí)間排序后選擇前三架放入廊橋泊位,后面的也是一樣。
10、剩余未分配的飛機(jī)按照出發(fā)時(shí)間排序,越早出發(fā)的分到廊橋泊位的概率越大,這一步對(duì)沒有分到廊橋泊位的飛機(jī)不作處理。
11、分配完廊橋泊位之后,其余飛機(jī)放入遠(yuǎn)泊位,此時(shí)飛機(jī)需要按照航空公司分類,因?yàn)檫h(yuǎn)泊位保障時(shí),同一個(gè)航空公司的飛機(jī)需要盡量離得近,在保障的時(shí)候比較方便,并且對(duì)于可拆分的泊位,如果使用時(shí)停放2架C類飛機(jī),必須停放相同航空公司的飛機(jī)。
12、按照上述規(guī)則,可以將分配所有可以識(shí)別的停場(chǎng)過夜航班。利用這個(gè)結(jié)果當(dāng)做次日白天分配泊位的初始條件,寫入泊位停放字典。
13、為了區(qū)別停場(chǎng)過夜航班和非停場(chǎng)過夜航班,在編號(hào)時(shí)做了處理,晚上的編號(hào)為負(fù)數(shù),白天的編號(hào)為正數(shù)。
14、在處理具體數(shù)據(jù)時(shí),發(fā)現(xiàn)有一部分跨兩天的飛機(jī)并不是停場(chǎng)過夜航班(比如23點(diǎn)30分到達(dá),1點(diǎn)30分出發(fā)的航班就不算停場(chǎng)過夜),這部分飛機(jī)按照邏輯是在停場(chǎng)過夜航班分配完成后才進(jìn)行分配。但是這部分飛機(jī)的沖突情況不止受到停場(chǎng)過夜航班分配結(jié)果影響,還會(huì)受到當(dāng)天分配結(jié)果的影響,所以在初始化泊位時(shí),需要保留當(dāng)天部分飛機(jī)。這里我們?cè)谔幚頃r(shí)把每個(gè)泊位的最晚出發(fā)飛機(jī)時(shí)間提取出,保留時(shí)間晚于21點(diǎn)30的飛機(jī),將這部分的飛機(jī)甘特圖表示為21點(diǎn)30分到該飛機(jī)出發(fā)時(shí)間這個(gè)區(qū)間。
分配泊位有幾個(gè)重要的時(shí)間點(diǎn):
每天21點(diǎn)30分開始分配泊位;
分配到達(dá)時(shí)間在22點(diǎn)之后的飛機(jī);
22點(diǎn)之前到達(dá)的飛機(jī),我們認(rèn)為已經(jīng)被分配到了合適的泊位;
停場(chǎng)過夜的飛機(jī)與同泊位的前一架飛機(jī)至少相差30分鐘。
通過以上的泊位初始化處理,我們得到了一個(gè)泊位字典,里面包含兩部分,當(dāng)天21點(diǎn)30之后的泊位占用情況和停場(chǎng)過夜分配情況。
分配完停場(chǎng)過夜航班后,繼續(xù)進(jìn)行未分配的航班處理。這部分航班按照時(shí)間順序進(jìn)行排序,采取先到先處理的原則。
具體分配流程:
1、逐一讀取航班計(jì)劃中的飛機(jī),為每個(gè)飛機(jī)建立一個(gè)字典,用來存儲(chǔ)飛機(jī)信息。
2、對(duì)于循環(huán)中的一架飛機(jī),讀取其航空公司對(duì)應(yīng)的泊位列表,建立打分表。
3、讀取對(duì)應(yīng)的機(jī)型和國際國內(nèi)標(biāo)志位,累計(jì)罰分,并更新打分表。
4、計(jì)算沖突罰分:如果沖突,直接罰分100,不沖突按照間隔時(shí)間計(jì)算,最短過站保障時(shí)間以上不扣分,少于最短過站保障時(shí)間每少1分鐘扣3分。
5、若最低分只有一個(gè),則飛機(jī)直接放入該泊位。
6、若有多個(gè)最低分泊位,則繼續(xù)計(jì)算每個(gè)泊位中該飛機(jī)與相隔最近飛機(jī)的間隔時(shí)間,選擇相隔時(shí)間最大的泊位停放。
7、如果出現(xiàn)罰分大于90的泊位,則打印出飛機(jī)的詳細(xì)信息。
8、根據(jù)分配結(jié)果畫出甘特圖。
以上內(nèi)容是結(jié)合具體的實(shí)施例對(duì)本發(fā)明所作的詳細(xì)說明,不能認(rèn)定本發(fā)明具體實(shí)施僅限于這些說明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明保護(hù)的范圍。