文章編號:2096-1472(2022)-02-26-03
DOI:10.19644/j.cnki.issn2096-1472.2022.002.007
摘? 要:收益管理是航空公司在航班銷售期間合理分配有限的航班座位,以期在競爭環(huán)境下獲得最大收益的有效經(jīng)營策略。本文首先介紹了座位分配常用的兩種算法;然后給出了算法的實現(xiàn)方法,并特別強(qiáng)調(diào)了在不同應(yīng)用環(huán)境下開發(fā)算法動態(tài)鏈接庫的方法;最后對兩種算法的計算結(jié)果和計算時間進(jìn)行了細(xì)致的比較分析。結(jié)果表明,兩種算法在座位分配效果上無明顯差異,但第二種算法有明顯的計算時間優(yōu)勢,可為航空公司業(yè)務(wù)實踐提供指導(dǎo)。
關(guān)鍵詞:收益管理;座位分配;期望邊際座位收益;動態(tài)鏈接庫
中圖分類號:TP311.1? ? ?文獻(xiàn)標(biāo)識碼:A
Implementation and Analysis of Flight Seat Control Model
WANG Hongjian
(Xiamen Airlines, Xiamen 361006)
wanghongjian@xiamenair.com
Abstract: Revenue management is an effective business strategy for airlines to reasonably allocate limited flight seats during flight sales in order to obtain maximum revenue in a competitive environment. Firstly, two commonly used algorithms for seat allocation are introduced. Then this paper proposes to realize an algorithm implementation method, and particularly emphasize the method of developing algorithm dynamic link library in different application environments. Finally, the calculation results and calculation time of the two algorithms are compared in detail. Results showed that there is no obvious difference between the two algorithms in seat allocation effect, but the second algorithm has obvious advantages in computing time and provides guidance for airline business practices.
Keywords: revenue management; inventory control; expected marginal seat revenue; dynamic link library
1 ?引言(Introduction)
中國民航運(yùn)輸業(yè)務(wù)隨著國家經(jīng)濟(jì)規(guī)模的持續(xù)增長而迅速增長,但也帶來各航空公司之間持續(xù)不斷的激烈競爭。航空公司之間競爭的焦點是服務(wù)與價格的組合競爭,而解決這一競爭的重要技術(shù)之一是已被世界上超過80%的航空公司采用的收益管理理論與方法[1]。收益管理的主要目標(biāo)是在航班銷售周期內(nèi),針對固定數(shù)量的航班物理座位,動態(tài)劃分和控制不同價格的不同艙位的實際可利用座位數(shù),以使這種易逝類商品能分別以較高的價格出售,達(dá)到航班收入最大化的目標(biāo)[2]。多年來,這一方法為世界范圍內(nèi)的大中型航空公司每年增加數(shù)億元的額外收入,是航空公司經(jīng)營過程中普遍采用的重要方法。在大數(shù)據(jù)及人工智能蓬勃發(fā)展的今日,這一方法已經(jīng)擴(kuò)展到酒店、出租車、高鐵等多個行業(yè)[3],產(chǎn)生了巨大的社會經(jīng)濟(jì)效益。
國內(nèi)有關(guān)收益管理方法的研究,早期更關(guān)注國外相關(guān)概念的全盤引入[4],或基于基礎(chǔ)概念在多航段應(yīng)用場景下的擴(kuò)展[5]。由于座位分配的基礎(chǔ)算法[6-7]需要大量的積分運(yùn)算,在實際工程應(yīng)用中有一定的實現(xiàn)難度,且對運(yùn)行時間要求很高,因此國內(nèi)航空公司主要采用國外的軟件系統(tǒng),在核心算法的實現(xiàn)上缺少自主研發(fā)且實際投入使用的類似系統(tǒng)。
為此,本文給出了兩種主流座位分配算法的軟件設(shè)計與實現(xiàn)方法,并分析比較了這兩種算法的適應(yīng)場景,為國產(chǎn)化同類軟件系統(tǒng)的研究與開發(fā)進(jìn)行了有益嘗試。
2? ?航班座位控制算法(Flight seat control algorithm)
航班銷售過程統(tǒng)計數(shù)據(jù)表明,一般高價艙位旅客會晚于低價艙位旅客購票,因此,航班座位控制的關(guān)鍵是在已知剩余座位數(shù)和各艙位預(yù)測需求的情況下,針對各艙位的可銷售座位數(shù)的設(shè)定,可銷售座位數(shù)稱為AU(Available Unit, AU)。假設(shè)航班目前共有100 個剩余座位,有Y、P、E共3 個價格從高到低的艙位可供銷售,設(shè)定AU數(shù)依次為100、80、50。該設(shè)定允許低價艙位旅客購買高價艙位機(jī)票,反之,則受到限制。當(dāng)E艙位銷售數(shù)超過50時,就要關(guān)閉該艙,僅容許銷售Y和P兩個更高價艙位,當(dāng)P艙和E艙的銷售數(shù)之和大于80(30+50)時,就要關(guān)閉P艙和E艙,僅保留Y艙銷售。由此可見,AU的設(shè)置首先需要計算高價艙位對低價艙位的座位保護(hù)數(shù)[6],此例中,Y艙對P艙和E艙的保護(hù)座位數(shù)為20,P艙對E艙的保護(hù)座位數(shù)為30。這樣的座位控制策略可以保證預(yù)期高價艙位旅客的訂座需求,從而達(dá)到航班銷售收入最大化的目的。實際使用中,一般假定各艙位旅客的需求服從正態(tài)分布,先得到各艙位的訂座需求預(yù)測結(jié)果,然后采用期望邊際座位收益(Expected Marginal Seat Revenue, EMSR)模型進(jìn)行各艙位的保護(hù)數(shù)計算。EMSR的方法最早由麻省理工學(xué)院的PETER提出,稱為EMSRa模型[6],后又經(jīng)改進(jìn),稱為EMSRb模型[7]。這兩種模型,特別是后期提出的EMSRb模型,已經(jīng)成為收益管理的基準(zhǔn)座位分配模型,在學(xué)術(shù)界得到長期關(guān)注,在產(chǎn)業(yè)界得到廣泛應(yīng)用。
2.1? ?EMSRa模型
顯然,EMSRb模型和EMSRa模型相比,可明顯減少積分運(yùn)算次數(shù)。
3? ?算法實現(xiàn)(The implementation of the algorithm)
3.1? ?算法實現(xiàn)流程
依據(jù)前面介紹的算法模型,假設(shè)給定Y、Q、E、P共4 個從高價到低價的艙位。本文設(shè)計了EMSRa和EMSRb的模型計算流程圖,分別如圖1和圖2所示。在圖1的公式(1)計算和圖2的公式(6)計算步驟,需要依據(jù)輸入得到的各艙位需求預(yù)測的均值和標(biāo)準(zhǔn)差按照正態(tài)分布進(jìn)行積分運(yùn)算,以獲得相應(yīng)公式中的概率。
3.2? ?動態(tài)鏈接庫
由于上述EMSR算法實現(xiàn)較為復(fù)雜,且在航空公司的實際應(yīng)用中往往需要在多個相關(guān)應(yīng)用系統(tǒng)調(diào)用,滿足不同編程語言環(huán)境使用的需求,因此,借鑒其他研究者在類似應(yīng)用環(huán)境下的編程經(jīng)驗[8-9],本文采用動態(tài)鏈接庫實現(xiàn)兩個算法,并用C++編程實現(xiàn)。
動態(tài)鏈接庫有宏定義和模塊定義兩種實現(xiàn)方法,宏定義在函數(shù)調(diào)用時,需在宿主語言進(jìn)行預(yù)聲明,使用起來較為麻煩;模塊定義方式在宿主語言中的使用較為簡潔,因此本文選擇模塊定義的方式實現(xiàn)。
動態(tài)鏈接庫的編寫過程如下:
(1)創(chuàng)建一個源文件作為定義的dll應(yīng)用程序的入口,并在該源文件中依次用非托管的方法編寫EMSR算法,然后將得到的座位分配數(shù)作為返回值依次輸出;
(2)宏定義extern "C" __declspec(dllexport),以便于在編寫應(yīng)用程序時通過DllImport調(diào)用非托管的C++編寫的dll文件;
(3)編寫def模塊,并編譯項目,在Debug目錄生成dll文件;
(4)將生成的dll文件放到應(yīng)用程序項目文件夾下bin目錄中的Debug目錄下;
(5)在應(yīng)用程序中添加對“System.Runtime.InteropServices”的引用,以調(diào)用DllImport;
(6)用DllImport作為C#中對C++編寫的dll文件的導(dǎo)入入口特征,并通過static extern與dll文件中宏定義的extern "C"進(jìn)行對應(yīng),完成對動態(tài)鏈接庫的調(diào)用。
4? ?算法分析與比較(Algorithm analysis and comparison)
為了比較算法的有效性,本文選取三種典型情況進(jìn)行計算結(jié)果分析。取價格從高到低Y、Q、E、P共4 個艙位,總需求在下面說明范圍內(nèi)較小浮動,AU數(shù)(AUY、AUQ、AUE、AUP)為分別采用EMSRa和EMSRb算法得到的決策結(jié)果,即在航班剩余座位數(shù)已知的情況下,如何給上述4 個艙位合理分配可銷售座位數(shù)。座位分配遵從高價包含低價的原則,分配給低價艙的座位可同時被高價艙銷售,因此,AUY、AUQ、AUE、AUP逐次變小。航班剩余的所有座位數(shù)都可供最高票價的Y艙銷售,所以AUY等于航班當(dāng)前剩余座位數(shù)??偸找嬷冈贏U數(shù)確定的情況下,航班上所有剩余座位能獲得的期望座位收益總和,該值越大,說明AU數(shù)的分配越理想。
(1)情形1:在各艙價格差異較大、需求均勻增長的情況下,如Y艙價格高于2,000且其余各艙位價格差距大于500,各艙位需求從高到低在10、20、30、30左右,標(biāo)準(zhǔn)差在10%左右時,計算結(jié)果如表1所示??梢姡瑑煞N算法的總收益無明顯差異,EMSRa稍高。
(2)情形2:在各艙價格差異較大、高價艙與低價艙需求皆旺盛的情況下,如各艙價格同情形1,但艙位需求都在45左右變化時,計算結(jié)果如表2所示。此時可見EMSRa的P艙的分配數(shù)較EMSRb低,其E艙分配數(shù)比EMSRb稍高,但EMSRb的總收益稍高。
(3)情形3:價格同上情況下,高價艙需求較少,低價艙需求旺盛時,EMSRa總收益稍高,如表3所示。各艙位需求從高到低在3、4、10、80左右變動。
從上述分析可見,兩種模型在各種情況下總收益相距甚微,但計算時間相差較大。上述情形2和3,是航空公司實際運(yùn)行中經(jīng)常面臨的場景,且情形2對最低價艙位預(yù)留座位數(shù)較少,次低價艙位則保留了較多的座位數(shù),這不利于需求整體旺盛時,和其他航空公司的低價競爭,因此應(yīng)用場景下建議航空公司采用EMSRb算法。
5? ?結(jié)論(Conclusion)
針對航空公司收益管理中航班剩余座位分配的兩種算法EMSRa和EMSRb,本文首先介紹了兩種算法的計算原理;然后,分別給出了兩種算法的實現(xiàn)流程,并特別強(qiáng)調(diào)了用C++語言將算法編寫為動態(tài)鏈接庫的方法,以期在不同應(yīng)用開發(fā)環(huán)境下得到軟件復(fù)用。本文在不同應(yīng)用場景下仿真比較了兩種算法的座位分配結(jié)果和計算實踐,結(jié)果表明,兩種算法的座位分配結(jié)果并無明顯差異,但后者的計算效率明顯優(yōu)于前者。本文的研究結(jié)果可直接為航空公司相關(guān)業(yè)務(wù)實踐提供指導(dǎo)。
參考文獻(xiàn)(References)
[1] 李豪,彭慶,譚美容.面向乘客策略行為的航空公司艙位控制與動態(tài)定價模型[J].控制與決策,2018,33(07):1295-1302.
[2] 秦瑛,霍佳震,陳軍,等.基于需求轉(zhuǎn)移的航空公司座位分配博弈模型[J].統(tǒng)計與決策,2016,32(02):56-60.
[3] 閆振英,韓寶明,李曉娟,等.考慮旅客選擇行為的高鐵席位動態(tài)控制策略[J].交通運(yùn)輸系統(tǒng)工程與信息,2019,19(01):118-124.
[4] 衡紅軍,黃小榮,王治寶.EMSR在航空收益管理系統(tǒng)中的應(yīng)用[J].計算機(jī)工程,2003(12):139-141.
[5] 樊瑋,蘇秋波.基于分布估計算法的多航段座位分配模型[J].信息與控制,2012,41(06):774-778,785.
[6] PETER P B. Application of a probabilistic decision model to airline seat inventory control[J]. Operation Research, 1989, 37(02):183-197.
[7] GUILLERMO G, HUSEYIN T. Revenue management and pricing analytics[M]. New York: Springer, 2019:23-47.
[8] 張正,賈小林.面向NB-IOT智能設(shè)備動態(tài)鏈接庫的遠(yuǎn)程技術(shù)研究及應(yīng)用[J].計算機(jī)應(yīng)用與軟件,2021,38(06):170-175.
[9] 劉琴.大數(shù)據(jù)分析下分布式數(shù)據(jù)流處理技術(shù)研究[J].軟件工程,2019,22(12):44-46.
作者簡介:
王洪建(1966-),男,碩士,高級工程師.研究領(lǐng)域:計算機(jī)應(yīng)用,智能優(yōu)化.
1276500520206