徐常凱,周家萱,杜加剛
(空軍勤務(wù)學(xué)院 航材四站系, 江蘇 徐州 221000)
如何對(duì)航材庫存進(jìn)行科學(xué)的優(yōu)化配置,尋求航材保障良好率與航材保障經(jīng)濟(jì)性之間的最佳平衡,是航材庫存優(yōu)化的重要問題。空軍后方倉庫編制體制調(diào)整后,航材庫存從空軍、戰(zhàn)區(qū)空軍、航材股三級(jí)變?yōu)槠鞑膫}庫和隊(duì)屬倉庫二級(jí),解決二級(jí)庫存體制下的航材庫存優(yōu)化配置,成為航材庫存決策人員的現(xiàn)實(shí)難題。陳硯橋等[1]使用蒙特卡羅方法求解了允許橫向供應(yīng)的庫存系統(tǒng)器材配置問題;劉少偉等[2]利用排隊(duì)論系統(tǒng),建立了可修件兩級(jí)庫存模型;Engin Topan等[3]通過分支與定價(jià)算法求解了多備件兩級(jí)庫存系統(tǒng)模型。本文提出一種基于馬爾科夫決策過程建模,利用強(qiáng)化學(xué)習(xí)的策略迭代方法求解,尋求保障效率與保障經(jīng)濟(jì)性的平衡,最終得到在航材不斷消耗過程中的庫存優(yōu)化配置模型。
馬爾科夫決策過程是描述動(dòng)態(tài)系統(tǒng)決策優(yōu)化的數(shù)學(xué)模型,通常由五元組{S,A,Psa,γ,R}表示,其中S表示狀態(tài)空間,A表示行動(dòng)空間,Psa為在狀態(tài)s下執(zhí)行行動(dòng)a的概率,γ為折扣因子,R為獎(jiǎng)勵(lì)函數(shù)[4]。一個(gè)動(dòng)態(tài)馬爾科夫決策過程可表述為:從狀態(tài)空間S中的某一狀態(tài)s0開始,在行動(dòng)空間A中選擇行動(dòng)a0執(zhí)行后,馬爾科夫決策過程的狀態(tài)隨機(jī)轉(zhuǎn)移到狀態(tài)s1,記為s1~Ps0a0,類似的,整個(gè)決策過程可表示如下[5]:

定義策略π是由狀態(tài)到行動(dòng)的映射,即π∶S→A,當(dāng)決策過程處于狀態(tài)s時(shí),執(zhí)行行動(dòng)a=π(s)時(shí),定義價(jià)值函數(shù)Vπ:
Vπ(s)=E[R(s0)+γR(s1)+γ2R(s2)+…|s0=s,π]
(1)
對(duì)于某一確定的策略π,其價(jià)值函數(shù)滿足Bellman方程為[6]:
(2)

(3)
以及最佳策略π*:S→A:
(4)
即在達(dá)到式(3)最大值的策略。
從MDP的定義中可以看到,求解最優(yōu)策略的目的是在狀態(tài)空間S和行動(dòng)空間A中,選擇恰當(dāng)?shù)臓顟B(tài)和行動(dòng)序列,達(dá)到最優(yōu)化價(jià)值函數(shù)的目的,即使V收斂至V*。顯然,狀態(tài)空間和行動(dòng)空間的大小決定了MDP問題的求解難度,策略迭代方法用于解決有限狀態(tài)的MDP問題,即|S|<∞,|A|<∞。策略迭代算法的描述如下[8]:
1) 隨機(jī)初始化策略π
2) 重復(fù)至收斂{

b.對(duì)每一狀態(tài)s,令
(5)
其中a過程可以通過Bellman方程求解,b過程通常稱為策略迭代中的貪婪算法,經(jīng)過有限次迭代后,最終V和π會(huì)收斂至V*和π*。
庫存模型由基地級(jí)和基層級(jí)構(gòu)成。一個(gè)基地級(jí)倉庫可同時(shí)供應(yīng)多個(gè)基層級(jí)倉庫,基層級(jí)倉庫之間具有橫向供應(yīng)能力,當(dāng)基層級(jí)出現(xiàn)缺件時(shí),可以根據(jù)實(shí)際需求,選擇由基地級(jí)倉庫供應(yīng),或是由其他基層級(jí)倉庫橫向供應(yīng),具有橫向供應(yīng)的航材二級(jí)庫存模型結(jié)構(gòu)如圖1所示[9]。

圖1 航材二級(jí)庫存結(jié)構(gòu)框圖
1) 為減少M(fèi)DP求解的時(shí)間復(fù)雜度,模型簡化為1個(gè)基地級(jí)倉庫(D1)供應(yīng)2個(gè)基層級(jí)倉庫(B1,B2),基層級(jí)倉庫間可以橫向運(yùn)輸;
2) MDP按時(shí)間離散,以1天為離散單位時(shí)間,即各級(jí)倉庫的消耗和供應(yīng)按天計(jì)數(shù);
3) 基層級(jí)倉庫正常消耗獲得收益(R1,R2),供應(yīng)損失(L1,L2);
4) 各基層級(jí)對(duì)航材的消耗需求獨(dú)立,服從泊松分布,參數(shù)分別為λ11,λ21;
5) 各基層級(jí)接受供應(yīng)的航材數(shù)量獨(dú)立,服從泊松分布,參數(shù)分別為λ12,λ22;
6) 各基層級(jí)倉庫的最大存儲(chǔ)數(shù)量(SMAX1,SMAX2),最大供應(yīng)數(shù)量(MOVEMAX),整個(gè)系統(tǒng)內(nèi)某器材的總數(shù)量(SMAX)有上限[10]。
狀態(tài)空間S:2個(gè)基層級(jí)倉庫各自的器材數(shù)量;
行動(dòng)空間A:由基地級(jí)倉庫的直接供應(yīng)數(shù)量和基層級(jí)倉庫的橫向供應(yīng)數(shù)量;
獎(jiǎng)勵(lì)函數(shù)R:正常消耗獲得的收益與供應(yīng)造成的損耗之差;
折扣因子γ:目前策略對(duì)后續(xù)策略的影響程度,根據(jù)具體需要設(shè)定;
狀態(tài)轉(zhuǎn)移概率Psa:狀態(tài)轉(zhuǎn)移行動(dòng)共包括4種,分布是2個(gè)基層級(jí)倉庫的消耗(C1,C2)和接受供應(yīng)(S1,S2),其概率服從泊松分布,參數(shù)λ為消耗和接受供應(yīng)數(shù)量均值的倒數(shù),可由航材業(yè)務(wù)數(shù)據(jù)統(tǒng)計(jì)后得出。
步長:MDP系統(tǒng)的步長為1天,即所有數(shù)據(jù)按天計(jì)算[11]。
系統(tǒng)內(nèi)有1個(gè)基地級(jí)倉庫,2個(gè)基層級(jí)倉庫,基層級(jí)倉庫間滿足橫向供應(yīng)條件。基本參數(shù)設(shè)置如表1所示。

表1 算例參數(shù)
算法分為策略評(píng)估和策略迭代兩部分。首先,生成包含2個(gè)基層級(jí)航材股倉庫所有器材配屬情況的狀態(tài)矩陣S,在狀態(tài)矩陣S中的每一個(gè)狀態(tài)s上,對(duì)每一個(gè)可能的行動(dòng)進(jìn)行策略評(píng)估,計(jì)算執(zhí)行行動(dòng)產(chǎn)生的最終獎(jiǎng)勵(lì)值,選擇每一狀態(tài)的所有橫向供應(yīng)行動(dòng)中,結(jié)果最優(yōu)的橫向供應(yīng)行動(dòng)集合,作為下一次迭代的初始策略。算法退出的條件為兩輪策略迭代的獎(jiǎng)勵(lì)值變化小于設(shè)定的閾值。算法流程見圖2。

圖2 算法流程框圖
3.3.1計(jì)算細(xì)節(jié)說明
本例需要迭代的次數(shù)過多,文章中無法將所有過程完整表示,因此本節(jié)選取第一次迭代過程進(jìn)行計(jì)算細(xì)節(jié)說明。
1) 生成狀態(tài)矩陣S和初始策略矩陣P
在本例的2個(gè)航材股倉庫中,存放該器材的最大數(shù)量為10,即每個(gè)航材股的器材存儲(chǔ)狀態(tài)各有0-10共11種,則狀態(tài)矩陣S為11×11維矩陣。

本例中每天橫向供應(yīng)的最大件數(shù)MOVEMAX為5,對(duì)于航材股1而言,有[-5,5]共11種情況,其中正數(shù)表示航材股1向航材股2橫向供應(yīng),負(fù)數(shù)反之,0為該天未發(fā)生橫向供應(yīng),航材股2亦是如此,為優(yōu)化計(jì)算,只使用航材股1作為策略執(zhí)行的主體,則策略矩陣同樣為11×11維矩陣,但矩陣的每一行都相同。

2) 計(jì)算策略實(shí)際執(zhí)行情況和下一狀態(tài)
以狀態(tài)矩陣S中的狀態(tài)s=(8,6)為例,執(zhí)行策略矩陣P的實(shí)際情況和執(zhí)行后狀態(tài)如表2所示。
3) 計(jì)算執(zhí)行策略產(chǎn)生的回報(bào)
在本例中,執(zhí)行策略的回報(bào)包含2個(gè)部分:橫向供應(yīng)造成的損耗和正常器材供應(yīng)產(chǎn)生的收益。其中,橫向供應(yīng)的損耗可由表2中的實(shí)際執(zhí)行數(shù)量與供應(yīng)損失(L1,L2)求出;正常供應(yīng)產(chǎn)生的收益也可由實(shí)際供應(yīng)數(shù)量與供應(yīng)收益(R1,R2)求出。在本例中,倉庫正常供應(yīng)和橫向供應(yīng)的數(shù)量是一個(gè)泊松過程,實(shí)際消耗值(C1,C2)分別服從參數(shù)為λ11,λ21的泊松分布,實(shí)際橫向供應(yīng)值(S1,S2)分別服從參數(shù)為λ12,λ22的泊松分布,即在狀態(tài)s下執(zhí)行行動(dòng)a的狀態(tài)轉(zhuǎn)移概率Psa為:
(6)

表2 狀態(tài)s=(8,6)執(zhí)行后狀態(tài)
根據(jù)Bellman方程(式(2)),執(zhí)行行動(dòng)后的獎(jiǎng)勵(lì)函數(shù)R可表示為(第1次迭代):
R=∑Psa×(C1×R1+C2×R2-L1×S1-L2×S2)
(7)
根據(jù)V*Bellman方程(式(4)),第2次迭代至收斂的獎(jiǎng)勵(lì)函數(shù)R可表示為:
R=R-1+∑Psa×(C1×R1+C2×R2-L1×S1-
L2×S2+γ×R-1(sB1,sB2))
(8)
式(8)中,R-1表示上一輪迭代得到的最優(yōu)獎(jiǎng)勵(lì)函數(shù);(sB1,sB2)表示在本輪迭代執(zhí)行行動(dòng)后,2個(gè)倉庫的實(shí)際庫存狀態(tài);R-1(sB1,sB2)表示在上一輪迭代后,執(zhí)行最優(yōu)策略得到獎(jiǎng)勵(lì)函數(shù)中,狀態(tài)為(sB1,sB2)的函數(shù)值。將C1,C2組合,求得在狀態(tài)s=(8,6)中執(zhí)行行動(dòng)a=2的獎(jiǎng)勵(lì)函數(shù)值為8.825。類似的,在狀態(tài)s=(8,6)下,執(zhí)行策略矩陣P的最終獎(jiǎng)勵(lì)函數(shù)如表3和圖3。

表3 執(zhí)行a=2獎(jiǎng)勵(lì)函數(shù)值

圖3 執(zhí)行a=2獎(jiǎng)勵(lì)函數(shù)值
得到在該次迭代下狀態(tài)s=(8,6)的最優(yōu)策略為a=2。
3.3.2計(jì)算結(jié)果
算例經(jīng)過3輪迭代求得最優(yōu)解,分別得到1個(gè)策略矩陣和對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)值。第一輪迭代中經(jīng)歷10次迭代,獎(jiǎng)勵(lì)函數(shù)值從74.910 02至111.987 2,誤差值從314.609 7至0。第二輪迭代中經(jīng)歷16次迭代,獎(jiǎng)勵(lì)函數(shù)值從314.273 132至475.865 417,誤差值從959.625 916至0。第三輪迭代中經(jīng)歷14次迭代,獎(jiǎng)勵(lì)函數(shù)值從483.712 769至490.000 885,誤差值從3.641 499至0,具體變化如圖4所示,本輪迭代的獎(jiǎng)勵(lì)函數(shù)值差為0,得到最優(yōu)策略矩陣P(1)為:
即矩陣P(1)為最優(yōu)策略π*(s),其數(shù)值分別對(duì)應(yīng)初始狀態(tài)矩陣S中各狀態(tài)的最優(yōu)行動(dòng),例如在狀態(tài)s=(8,2)時(shí),行動(dòng)為a=2,即從倉庫B1向B2供應(yīng)2個(gè)器材。從策略矩陣的分布來看,在狀態(tài)矩陣S主對(duì)角線兩側(cè)附近的最優(yōu)策略是0,即在兩倉庫的器材量接近時(shí),不需要進(jìn)行橫向供應(yīng),在副對(duì)角線上附近的狀態(tài)值基本對(duì)稱,且左下角比右上角的橫向供應(yīng)量大,與假設(shè)的參數(shù)相符。

圖4 第三輪迭代中的獎(jiǎng)勵(lì)函數(shù)值與誤差值
在上節(jié)算例的基礎(chǔ)上,將器材在倉庫B1、B2的最大庫存值設(shè)為100,即初始狀態(tài)矩陣和最優(yōu)決策矩陣為100×100維。設(shè)定在平時(shí)保障狀態(tài)下出現(xiàn)缺貨時(shí),該天無法完成正常保障,第二天從另一倉庫橫向供應(yīng)后正常保障。兩倉庫的器材需求到達(dá)時(shí)間服從參數(shù)為λ11和λ12的泊松分布。設(shè)定庫存系統(tǒng)的初始狀態(tài)為s=(40,20),使用模型前后,各倉庫庫存情況隨保障天數(shù)的變化分別如圖5、圖6所示。

圖5 使用模型前的庫存變化

圖6 使用模型后的庫存變化
從圖5和圖6的變化情況可知,使用模型前,兩倉庫沒有器材橫向供應(yīng),庫存量隨時(shí)間逐漸下降,B1倉庫庫存始終大于B2倉庫庫存,庫存系統(tǒng)在第8天后無法進(jìn)行保障;使用模型后,兩倉庫在第二天時(shí)就發(fā)生了橫向供應(yīng),從第三天開始B2倉庫庫存大于B1倉庫庫存,最終在第10天時(shí)耗盡所有庫存器材。使用模型后,同樣的庫存系統(tǒng)延長了25%的保障時(shí)間,有效提高了航材保障效率。
本文利用馬爾科夫決策過程建立了航材股倉庫間允許橫向供應(yīng)的器材供應(yīng)離散模型,使用增強(qiáng)學(xué)習(xí)的思想,對(duì)模型的進(jìn)行策略評(píng)估和策略迭代,求解對(duì)應(yīng)整個(gè)狀態(tài)空間下所有狀態(tài)的最優(yōu)策略,即在不同器材配置方案下的最優(yōu)橫向供應(yīng)方案,最終策略與算例假設(shè)情況相符,在對(duì)使用模型前后的保障情況進(jìn)行仿真后,相同庫存系統(tǒng)的保障時(shí)間提升了25%。該模型能夠有效解決航材二級(jí)庫存系統(tǒng)的器材配置問題,此外,還可以針對(duì)不同器材調(diào)整算例參數(shù),擴(kuò)展模型的適應(yīng)范圍,減小庫存不平衡對(duì)航材保障能力的影響,提高部隊(duì)整體的航材保障效率。