黃國輝
(廈門航空有限公司,福建廈門361000)
近年來,中國民航運(yùn)輸業(yè)呈現(xiàn)快速發(fā)展趨勢,根據(jù)《2020年民航行業(yè)發(fā)展統(tǒng)計(jì)公報(bào)》[1],截至2020年底,中國大陸已有64家運(yùn)輸航空公司、3 903架運(yùn)營飛機(jī)、5 581條執(zhí)飛定期航班航線.對于各家航空公司而言,飛機(jī)是重資產(chǎn)、航權(quán)時(shí)刻是關(guān)鍵資源,企業(yè)核心目標(biāo)是在飛機(jī)投入最小化的情況下,高效利用航權(quán)時(shí)刻資源,編排出最優(yōu)的航線網(wǎng)絡(luò),最終實(shí)現(xiàn)經(jīng)營利潤最大化.因此,制定合理的航班計(jì)劃對提升航空公司市場競爭力有著重要作用.航季航班計(jì)劃編制是一項(xiàng)非常復(fù)雜而繁重的工作,操作難點(diǎn)在于飛機(jī)機(jī)型指派和飛機(jī)連線銜接[2-4].目前,國內(nèi)大部分航空公司還是借助人工來完成這兩項(xiàng)業(yè)務(wù),操作效率和編排質(zhì)量都較低.行業(yè)主流的航班編排系統(tǒng)基本都被歐美公司壟斷,國內(nèi)航空公司不得不高額采購引進(jìn)這些系統(tǒng),不僅維護(hù)成本極高,而且無法根據(jù)國內(nèi)航空公司的實(shí)際業(yè)務(wù)優(yōu)化系統(tǒng)功能,存在較大的應(yīng)用局限性.Zhou[5]整理綜述了機(jī)型指派(FAP)、飛機(jī)路徑(ARP)和機(jī)組排班(CSP)等航空公司計(jì)劃和調(diào)度問題的解決方法,并指出航班調(diào)度仍是當(dāng)前主要難題.都業(yè)富[6]在航班串優(yōu)化的研究中提出航班銜接是評價(jià)航線調(diào)度優(yōu)化效果的重要因素.肖東喜等[7]認(rèn)為飛機(jī)連線問題是航班環(huán)構(gòu)建的實(shí)際體現(xiàn),飛機(jī)連線的自動(dòng)銜接有助于降低航空公司構(gòu)建航班環(huán)的難度,進(jìn)而提高航線計(jì)劃的效率.于焯等[8]引入等圖的概念,構(gòu)造航線調(diào)配狀態(tài)圖,將飛機(jī)航線調(diào)配問題等價(jià)為等圖的路徑査找問題.孫宏[9]用二部圖來描述航節(jié)銜接問題,并通過Ford Fulkerson算法進(jìn)行求解.然而,當(dāng)前研究主要用于解決單樞紐(或基地)航線網(wǎng)絡(luò)的航班銜接問題,無法完全滿足多樞紐、固定連線等復(fù)雜的實(shí)際需求.加權(quán)二部圖算法是在二部圖的基礎(chǔ)上,給邊賦予權(quán)重,以實(shí)現(xiàn)不同優(yōu)先級別的目標(biāo)實(shí)現(xiàn)[10],張紹陽等[11]利用加權(quán)二部圖最優(yōu)匹配算法研究了中文段落相似度的匹配查重問題,但該算法還比較少應(yīng)用于解決航線優(yōu)化問題.
綜合考慮機(jī)型指派、飛機(jī)路線問題,朱星輝等[12]建立了基于列生成算法的一體化飛機(jī)排班模型.但該模型是基于以天為單位的航班計(jì)劃(即每天的航班計(jì)劃都相同),飛機(jī)數(shù)量和航班數(shù)量均較少.而在實(shí)際應(yīng)用場景,國內(nèi)中大型航空公司機(jī)隊(duì)數(shù)量達(dá)數(shù)百架,每周航班數(shù)量高達(dá)數(shù)千個(gè),如果用一體化模型求解,建模和求解的復(fù)雜性將倍增,求解效率根本無法滿足航季航班計(jì)劃編制過程中快速模擬的需求.如Ahmed等[13]基于美國聯(lián)合航空公司的航班網(wǎng)絡(luò),考慮航班計(jì)劃魯棒性,建立了綜合機(jī)型指派、連線銜接、機(jī)組排班等一體化的模型,該案例解決了超過200架飛機(jī)的航班排班問題,但需要數(shù)小時(shí)的求解時(shí)間;Sanchez等[14]利用啟發(fā)式算法建立了考慮飛機(jī)維修計(jì)劃的一體化飛機(jī)排班模型,該模型求解529架飛機(jī)的排班問題也需要2 h.結(jié)合相關(guān)領(lǐng)域的前沿算法,尋找有效的解決方案仍是目前亟待解決的一個(gè)重要難題.
由于國內(nèi)民航市場規(guī)模大、變化速度快,且政府監(jiān)管頻率較高,意味著航班優(yōu)化調(diào)整的效率對航空公司而言極為重要.因此,本文以使用飛機(jī)數(shù)量最小化和收益貢獻(xiàn)最大化為目標(biāo),采取兩階段方式解決機(jī)型指派和連線銜接的問題.首先,利用時(shí)空網(wǎng)絡(luò)圖完成機(jī)型指派,明確最少的使用飛機(jī)數(shù)量,為飛機(jī)連線銜接確定機(jī)型基礎(chǔ).其次,采用加權(quán)二部圖算法來解決航線銜接問題,根據(jù)連線銜接的目的不同,設(shè)計(jì)不同的銜接權(quán)重,求解滿足要求的銜接方案.為了與加權(quán)二部圖算法作對比,本文在第二階段加入二部圖、先進(jìn)先出、后進(jìn)先出等連線銜接算法,并通過橫向、縱向?qū)Ρ炔煌惴ǖ目尚行耘c適用性.
在國內(nèi)民航運(yùn)輸業(yè),每年分為兩個(gè)航季,即夏航季(每年3月的最后一個(gè)星期日至10月的最后一個(gè)星期日的前一天)和冬航季(每年10月的最后一個(gè)星期日開始到第二年3月的最后一個(gè)星期日的前一天).每次換季都要重新制定航班計(jì)劃,包括航班日期、航線、航班號、起降時(shí)刻、機(jī)型、連線編號等要素.其中:1) 航班日期是指每個(gè)航班在第一個(gè)起飛機(jī)場的起飛日期;2) 航線是指航空公司開展經(jīng)營活動(dòng)所運(yùn)營的航班路線,比如,廣州-上海、廈門-舟山-北京;3) 航班號是一天中區(qū)分不同航班的唯一標(biāo)識,比如,南航廣州-上海CZ3533;4) 起降時(shí)刻是指航班在起點(diǎn)機(jī)場、終點(diǎn)機(jī)場和經(jīng)停機(jī)場的起飛及降落時(shí)刻;5) 機(jī)型指用于執(zhí)飛該航班的飛機(jī)型號,比如波音B787、空客A321;6) 連線編號是指每架飛機(jī)執(zhí)飛任務(wù)的編號,即同一架飛機(jī)執(zhí)飛不同的航班,這些航班均屬于同一個(gè)連線編號,比如有3架A321飛機(jī),那么這3架飛機(jī)連線編號為A321_01、A321_02、A321_03.
通常情況下,新航季航班計(jì)劃編制是在前一個(gè)同航季航班計(jì)劃的基礎(chǔ)上(比如2021年冬航季是基于2020年冬航季),根據(jù)航空公司的機(jī)隊(duì)規(guī)劃、航權(quán)、時(shí)刻等資源情況和市場預(yù)期效益進(jìn)行優(yōu)化調(diào)整.因此,新航季會(huì)有部分航班是延續(xù)前一個(gè)同航季的航班計(jì)劃,但多數(shù)航班會(huì)根據(jù)市場和資源爭取情況做調(diào)整.這里的航季航班計(jì)劃是以周為單位制定,即只要編制出一周的航班計(jì)劃,再將其復(fù)制到后續(xù)周期,就可以形成整個(gè)航季的航班計(jì)劃.
在航班計(jì)劃編制過程中,第一步是機(jī)型指派.主要是滿足運(yùn)行約束的前提條件下分配機(jī)型,使航班收益貢獻(xiàn)最大化.即考慮兩個(gè)因素:1) 運(yùn)行限制.不同型號的飛機(jī)具有不同的飛行性能(如航程、最大起飛重量、發(fā)動(dòng)機(jī)推力等),不同性能的飛機(jī)決定了該機(jī)型可以執(zhí)飛的航班.比如:B737、A320等短航程機(jī)型就不能執(zhí)飛國內(nèi)到洛杉磯等長航程的洲際航線.2) 預(yù)期效益.不同機(jī)型的運(yùn)營成本存在差異,不同座艙布局的飛機(jī)載客能力也不同,同一架飛機(jī)執(zhí)飛不同航班產(chǎn)生的收益貢獻(xiàn)也不同,故航班計(jì)劃編排也要綜合考慮預(yù)期效益.這里的收益貢獻(xiàn)是指航空公司從事經(jīng)營活動(dòng)所獲得的稅后收入減去使用某種機(jī)型執(zhí)飛的變動(dòng)成本,是衡量航班盈利能力的重要指標(biāo).
第二步是連線銜接.在確定每個(gè)航班的執(zhí)飛機(jī)型后,兩個(gè)航班能實(shí)現(xiàn)銜接的前提是滿足以下兩條規(guī)則:1) 同機(jī)場,即前序航班的落地機(jī)場要與后續(xù)航班的起飛機(jī)場相同.2) 滿足最小過站時(shí)間,即前序航班降落與后續(xù)航班起飛之間在機(jī)場的停留時(shí)間要滿足最小過站時(shí)間標(biāo)準(zhǔn).除了最基本的銜接原則外,航空公司在編制航班計(jì)劃時(shí),也會(huì)根據(jù)實(shí)際業(yè)務(wù)需求增加航班銜接要求,常見的有3類:1) 保留原始銜接.航季航班計(jì)劃編排并不是完全從零開始,有部分航班計(jì)劃是延續(xù)上一個(gè)同航季的航班計(jì)劃,這些航班保留了部分銜接信息甚至機(jī)組排班信息.2) 保留往返銜接.往返航班銜接是指從出發(fā)地到達(dá)目的地,然后再從目的地返回出發(fā)地的兩個(gè)航班之間的銜接.這不僅利于機(jī)組排班,還可以減少機(jī)組在外站的過夜費(fèi)用,對航空公司控制成本有重要意義.3) 緊湊銜接.航季航班計(jì)劃會(huì)盡可能用最少的飛機(jī)數(shù)量編排最多的航班,使整個(gè)航班計(jì)劃的飛機(jī)利用率最高.在此過程中,航空公司通常會(huì)將較短過站時(shí)間的兩個(gè)航班優(yōu)先銜接,使得編排的航班計(jì)劃更為緊湊,可以集中利用空檔運(yùn)力,有利于增加航班執(zhí)飛量,提高飛機(jī)利用率.如圖1所示,假設(shè)最小過站時(shí)間為60 min,航班A、C的落地機(jī)場與航班B、D的起飛機(jī)場相同,圖1(a)中航班A與航班B的銜接過站時(shí)間為3 h,航班C與航班D的銜接過站時(shí)間為4 h,這兩個(gè)過站時(shí)間均較短,新增航班比較困難;但是,航班C與航班B的銜接時(shí)間最短且滿足最小過站時(shí)間,如圖1(b),如果優(yōu)先將航班C與航班B銜接,過站時(shí)間為1 h,剩余的航班A與航班D的銜接過站時(shí)間長達(dá)6 h,在這6 h的空余運(yùn)力中新增航班就相對容易.
圖1 緊湊銜接航班計(jì)劃示意圖Fig.1Diagram of a tightly connected flight plan
A航空公司之前也是通過引進(jìn)國外某系統(tǒng)來完成航季航班編排,但該系統(tǒng)只能在人工確定機(jī)型的前提下進(jìn)行連線銜接操作,無法自動(dòng)分配機(jī)型,自動(dòng)化程度不高.為進(jìn)一步提高航班計(jì)劃編排效率,確保航班收益最大化,經(jīng)過長期的業(yè)務(wù)總結(jié)和技術(shù)研究,A公司已探索出滿足國內(nèi)航司航季航班編排的解決方案.首先運(yùn)用機(jī)型指派模型,在飛機(jī)數(shù)量最小化前提下確定每個(gè)航班執(zhí)飛機(jī)型,使整體收益貢獻(xiàn)最大化;然后運(yùn)用先進(jìn)先出、后進(jìn)先出、二部圖、加權(quán)二部圖等算法完成連線銜接.基于上述思路,本文列出以下假設(shè)條件:
1) 航季航班計(jì)劃是以周為單位,不同自然周的航班計(jì)劃均相同.因此,只需某個(gè)自然周的航班計(jì)劃進(jìn)行連線自動(dòng)銜接,其余周期的航班計(jì)劃重復(fù)銜接即可.
2) 航季航班計(jì)劃的飛機(jī)連線不涉及具體機(jī)號,只需根據(jù)具體型號的飛機(jī)數(shù)量給出對應(yīng)數(shù)量的飛機(jī)連線即可.
3) 所有運(yùn)行約束都只考慮機(jī)型維度的運(yùn)行約束,不考慮機(jī)號維度的運(yùn)行約束.
4) 每個(gè)航班用不同機(jī)型執(zhí)飛所產(chǎn)生的收益貢獻(xiàn)為已知,貢獻(xiàn)大小僅與機(jī)型有關(guān),與航班銜接無關(guān).本文使用的預(yù)計(jì)貢獻(xiàn)是利用神經(jīng)網(wǎng)絡(luò)模型根據(jù)歷史經(jīng)營情況以及未來航班的銷售情況進(jìn)行預(yù)計(jì),文中不作詳述.
機(jī)型指派模型以時(shí)空網(wǎng)絡(luò)為基礎(chǔ).在時(shí)空網(wǎng)絡(luò)中,橫軸代表時(shí)間,縱軸代表機(jī)場,網(wǎng)絡(luò)由若干航班組成,能夠體現(xiàn)航班起飛、降落的時(shí)刻與機(jī)場.圖2所示為一周的時(shí)空網(wǎng)絡(luò)圖,xd,f,k等箭頭表示第d天用k機(jī)型執(zhí)飛f航班,yd,a,k等節(jié)點(diǎn)表示第d天凌晨3:00時(shí)在A機(jī)場k機(jī)型的過夜數(shù)量(由于每天的航班計(jì)劃中,最遲降落的航班時(shí)刻可能超過24:00,故本文選取凌晨3:00作為過夜飛機(jī)數(shù)的統(tǒng)計(jì)節(jié)點(diǎn)).機(jī)型指派模型最核心的思想是當(dāng)航班起飛時(shí)必須有一架飛機(jī)可供使用,例如:對于機(jī)型k,當(dāng)x1,4,k準(zhǔn)備起飛時(shí),機(jī)場B初始的飛機(jī)有y1,b,k架,進(jìn)港的飛機(jī)有x1,5,k、x1,2,k、x1,3,k,離港的飛機(jī)有x1,1,k、x1,6,k.因此,要使x1,4,k有k機(jī)型可用,就必須滿足y1,b,k+x1,5,k+x1,2,k+x1,3,k-x1,1,k-x1,6,k大于等于1.此外,為了航班計(jì)劃的銜接能夠循環(huán)延續(xù),每個(gè)機(jī)場最終的機(jī)型數(shù)量分布要與該機(jī)場最初的機(jī)型數(shù)量分布一致,即需要圖中y8,a,1=y1,a,1.
圖2 時(shí)空網(wǎng)絡(luò)圖Fig.2Time-space network
1.2.1 參數(shù)設(shè)置
模型參數(shù)和變量設(shè)置如表1和2所示.
表1 模型參數(shù)
表2 模型變量說明
1.2.2 目標(biāo)函數(shù)
對于航季航班分配機(jī)型通??紤]兩個(gè)目標(biāo):一是將現(xiàn)有航班用最少的飛機(jī)數(shù)編排;二是使航線網(wǎng)絡(luò)收益貢獻(xiàn)最大化.根據(jù)以上兩個(gè)目標(biāo)可以得出目標(biāo)函數(shù)(1)和(2):
(1)
(2)
對于多目標(biāo)決策,主要思路是將多目標(biāo)降維成一系列單一目標(biāo)進(jìn)行優(yōu)化,常見的有搶占式優(yōu)化和加權(quán)優(yōu)化.搶占式優(yōu)化需要根據(jù)目標(biāo)的重要性多次建立模型,而加權(quán)優(yōu)化只需建立一次模型,通過設(shè)置加權(quán)系數(shù)的正負(fù)性保證加權(quán)目標(biāo)函數(shù)最大化或最小化一致,其中系數(shù)絕對值大小體現(xiàn)目標(biāo)的重要性,這樣就能減少建模次數(shù),提高優(yōu)化效率.在實(shí)際業(yè)務(wù)中,要優(yōu)先保證以最小的飛機(jī)數(shù)排下所有航班,然后再調(diào)整機(jī)型增加貢獻(xiàn).因此,本文采取加權(quán)優(yōu)化,可以列出目標(biāo)函數(shù)(3),加權(quán)目標(biāo)是求最大化的問題,所以β的系數(shù)為負(fù).經(jīng)過測試,當(dāng)設(shè)α=1,β=-10 000時(shí),求解的最小飛機(jī)數(shù)、最大貢獻(xiàn)與搶占式優(yōu)化的結(jié)果一致.
(3)
1.2.3 約束條件
飛機(jī)連線的銜接要求覆蓋每個(gè)航班且每個(gè)航班只能被指派1種機(jī)型執(zhí)飛,如式(4):
(4)
每個(gè)航班在起飛前必須有1架飛機(jī)可供使用,即如果xd,f,k=1,則對于d天在fj航班的起飛機(jī)場的初始飛機(jī)數(shù)加上在fj航班起飛前進(jìn)港的飛機(jī)數(shù)再減去在fj航班起飛前離港的飛機(jī)數(shù)后,在fj航班離港時(shí)至少有一架k機(jī)型的飛機(jī)可供其使用,如式(5):
(5)
在每個(gè)機(jī)場,每天的初始飛機(jī)數(shù)加上該機(jī)場的所有進(jìn)港飛機(jī)數(shù)再減去該機(jī)場的所有出港飛機(jī)數(shù)要等于該機(jī)場的最終的飛機(jī)數(shù),如式(6):
(6)
這里:?k∈K,?a∈A,?d∈D且d≠8.
機(jī)隊(duì)平衡約束,在優(yōu)化周期內(nèi),每個(gè)機(jī)場的初始機(jī)隊(duì)分布要與最終的機(jī)隊(duì)分布一致,如式(7):
y1,a,k-y8,a,k=0,?k∈K,?a∈A.
(7)
機(jī)隊(duì)規(guī)模約束,即每種機(jī)型在優(yōu)化周期的初始機(jī)隊(duì)數(shù)量應(yīng)在用戶設(shè)定的上下限之間,如式(8)和(9):
(8)
(9)
每個(gè)機(jī)場對不同機(jī)型的保障能力不同,因此還需對每個(gè)機(jī)場每種機(jī)型允許過夜的飛機(jī)數(shù)量進(jìn)行約束,如式(10):
(10)
這里:?d∈D,?k∈K,?a∈A.
通過航班機(jī)型指派模型,只能確定在使用最少飛機(jī)數(shù)的前提下每個(gè)航班的執(zhí)飛機(jī)型,并且能使總體貢獻(xiàn)最大化,但是機(jī)型指派模型并不能確定航班與航班間是如何銜接的.飛機(jī)連線的銜接本質(zhì)是在每個(gè)機(jī)場為進(jìn)港航班找到后續(xù)的出港航班,如圖3所示兩條飛機(jī)連線,實(shí)際上可以拆分成在杭州、廣州、海口、沈陽和蘭州機(jī)場的進(jìn)港航班和出港航班的銜接.基于機(jī)場銜接思路,飛機(jī)連線的銜接算法主要有以下3種方法:先進(jìn)先出、后進(jìn)先出、加權(quán)二部圖最佳完美匹配算法.
圖3 飛機(jī)連線銜接本質(zhì)示意圖Fig.3Aircraft routing schematic diagram
1.3.1 先進(jìn)先出和后進(jìn)先出算法
圖4 先進(jìn)先出和后進(jìn)先出算法Fig.4FIFO & LIFO algorithms
先進(jìn)先出和后進(jìn)先出算法如圖4所示.假設(shè)最小過站時(shí)間為60 min,先進(jìn)先出算法(圖4(a))主要是在每個(gè)機(jī)場內(nèi),先進(jìn)港的航班優(yōu)先與滿足最小過站時(shí)間標(biāo)準(zhǔn)的先出港航班銜接;后進(jìn)先出(圖4(b))算法主要是在每個(gè)機(jī)場內(nèi),將后進(jìn)港的航班優(yōu)先與滿足最小過站時(shí)間標(biāo)準(zhǔn)的先出港航班銜接.圖4中,08:10為第一個(gè)出港航班,無前序航班;12:00為最后一個(gè)進(jìn)港航班,則無后續(xù)航班.先進(jìn)先出的優(yōu)點(diǎn)在于求解速度最快,飛機(jī)的過站時(shí)間分布較為均衡,過站時(shí)間相對較充足;后進(jìn)先出的優(yōu)點(diǎn)在于飛機(jī)的過站時(shí)間分布較為極端,可以集中體現(xiàn)飛機(jī)的空余運(yùn)力.尤其在市場旺季區(qū)間,使用后進(jìn)先出法可以快速發(fā)現(xiàn)空余運(yùn)力,有利于旺季增加航班量,提高飛機(jī)利用率.
1.3.2 加權(quán)二部圖最佳完美匹配算法
每個(gè)機(jī)場的航班銜接實(shí)際上可以看作是一張二部圖的指派問題,即將機(jī)場的每個(gè)進(jìn)港航班指派給該機(jī)場的每個(gè)出港航班,根據(jù)銜接目的不同可以對二部圖的邊(銜接)進(jìn)行賦權(quán),得到一張加權(quán)二部圖,再通過KM(Kuhn-Munkres)算法求得二部圖的最佳完美匹配,即可得到滿足要求的銜接方案.
廈門大學(xué)學(xué)報(bào)(自然科學(xué)版)2022年6期