董 海,吳 瑤,齊新娜
(1.沈陽大學(xué)應(yīng)用技術(shù)學(xué)院,沈陽 110044;2.沈陽大學(xué)機(jī)械工程學(xué)院,沈陽 110044)
2020 年新冠肺炎在全球蔓延,中國醫(yī)療隊(duì)及各有關(guān)部門的敏捷應(yīng)對,為世界疫情治療贏得了寶貴時(shí)間。因此,在突發(fā)情況之時(shí),如何更快、更好地完成各方面物資供應(yīng)[1],尤其是醫(yī)療物資供應(yīng)成為了現(xiàn)階段學(xué)者們需關(guān)注的問題。血液供應(yīng)作為醫(yī)療物資供應(yīng)的一部分,也是生鮮供應(yīng)的一種,其擁有與其他產(chǎn)品與眾不同的特點(diǎn),例如:存儲時(shí)間短、需求預(yù)測難、中斷風(fēng)險(xiǎn)高、血型可兼容等。早期學(xué)者Nahmias[2]在研究時(shí),就提出將血液作為生鮮易腐領(lǐng)域產(chǎn)品的想法;Gunpinar 等[3]針對血液產(chǎn)品中血小板和紅細(xì)胞的壽命很短的特點(diǎn)(1~3 d),提出了一個(gè)整數(shù)不確定條件下平衡計(jì)分卡的規(guī)劃公式,達(dá)到總成本最少的目標(biāo);Dillon 等[4]提出了一個(gè)考慮易腐性和需求的不確定性的兩階段規(guī)劃模型來設(shè)計(jì)紅細(xì)胞庫存政策;Zahiri等[5]考慮了血液供應(yīng)鏈網(wǎng)絡(luò)的設(shè)計(jì)血型兼容性,建立了最小化總成本和最大化需求的雙目標(biāo)優(yōu)化函數(shù);Heidari-Fathian等[6]提出了一種用于血液供應(yīng)鏈設(shè)計(jì)的雙目標(biāo)魯棒優(yōu)化模型,旨在盡可能降低成本和碳排放;Diabat 等[7]將基于場景的雙目標(biāo)魯棒優(yōu)化應(yīng)用于血液供應(yīng)鏈,并考慮了隨機(jī)中斷的設(shè)施和路線進(jìn)行優(yōu)化。
易腐產(chǎn)品供應(yīng)鏈網(wǎng)絡(luò)在設(shè)計(jì)時(shí),國內(nèi)外學(xué)者對于不確定因素的控制多采用模糊規(guī)劃、隨機(jī)規(guī)劃以及魯棒優(yōu)化等方法。Zahiri等[8]提出了一種針對易逝品的供應(yīng)鏈網(wǎng)絡(luò)模型,并應(yīng)用魯棒方法控制其參數(shù)的不確定性;Darestani 等[9]考慮易腐貨物的排隊(duì)制度,對一個(gè)雙目標(biāo)的閉環(huán)供應(yīng)鏈網(wǎng)絡(luò)進(jìn)行魯棒優(yōu)化,并通過實(shí)驗(yàn)驗(yàn)證方法的有效性。對于更加脆弱的血液供應(yīng)鏈網(wǎng)絡(luò)設(shè)計(jì),學(xué)者們也多采用此類方法。Cheraghi 等[10]針對血液供應(yīng)鏈網(wǎng)絡(luò)設(shè)計(jì)考慮了兩種血制品的制造方法,并利用魯棒優(yōu)化方法來解決這一問題的不確定的需求;Ensafian等[11]又提出了一個(gè)隨機(jī)規(guī)劃模型來設(shè)計(jì)本地的血液供應(yīng)鏈網(wǎng)絡(luò),考慮到病人詳情給出了血小板的年齡和匹配規(guī)則;Rahmani[12]提出了一個(gè)動(dòng)態(tài)魯棒的選址?分配模型,用于在災(zāi)難情況下,在設(shè)施中斷風(fēng)險(xiǎn)和不確定性的情況下設(shè)計(jì)血液供應(yīng)鏈網(wǎng)絡(luò);Hosseini-Motlagh 等[13]開發(fā)了一種雙目標(biāo)不確定性環(huán)境下的血細(xì)胞供應(yīng)鏈網(wǎng)絡(luò)設(shè)計(jì)模型,目標(biāo)為總成本最低,并采用隨機(jī)魯棒方法處理其不確定因素。魯棒優(yōu)化方法是解決供應(yīng)鏈網(wǎng)絡(luò)設(shè)計(jì)問題的有效方法。
血液供應(yīng)鏈網(wǎng)絡(luò)設(shè)計(jì)問題是一個(gè)NP-hard 問題。近年來,學(xué)者多采用智能算法[13-14]解決此類問題。鯨魚優(yōu)化算法(Whale Optimization Algorithm,WOA)是在2016 年由國外學(xué)者M(jìn)irjalili等[15]模擬鯨魚捕食方式開發(fā)的一種仿生物學(xué)算法,近幾年來,以其人工參數(shù)少、操作簡單的優(yōu)勢,已應(yīng)用于不少的大規(guī)模處理問題,如物流配送中心選址[16]和電網(wǎng)配置[17]等方面。但由于傳統(tǒng)WOA存在后期收斂速度慢、容易陷入局部最優(yōu)的劣勢,有學(xué)者將其他算法與其結(jié)合[18],改善其在運(yùn)行過程中的缺陷。
綜上所述,現(xiàn)階段血液供應(yīng)鏈網(wǎng)絡(luò)設(shè)計(jì)存在需求不確定、中斷風(fēng)險(xiǎn)等不確定因素,且在求解此類大規(guī)模問題時(shí)復(fù)雜性較高。因此,本文提出一個(gè)考慮安全庫存的血液制品供應(yīng)鏈網(wǎng)絡(luò)設(shè)計(jì)多目標(biāo)優(yōu)化模型,并使用魯棒優(yōu)化方法對不確定性因素進(jìn)行處理,再通過ε-約束方法將多目標(biāo)問題轉(zhuǎn)化為單一目標(biāo)函數(shù)。針對上述模型,本文提出差分WOA(Differential WOA,DWOA)對其求解,并通過實(shí)驗(yàn)驗(yàn)證模型的有效性以及算法的優(yōu)勢。
本文研究一個(gè)多層級、多周期、多產(chǎn)品的血液制品供應(yīng)鏈網(wǎng)絡(luò),如圖1所示。該網(wǎng)絡(luò)圖包含5個(gè)節(jié)點(diǎn):血液捐助者D、當(dāng)?shù)匮褐行腂、移動(dòng)采血車M、血液實(shí)驗(yàn)中心L以及各醫(yī)院集合H。血液捐助者可以選擇附近的移動(dòng)采血車或者當(dāng)?shù)匮褐行倪M(jìn)行捐贈(zèng),移動(dòng)采血車將血液送到最近的當(dāng)?shù)匮褐行幕蛘哐簩?shí)驗(yàn)室。當(dāng)?shù)匮褐行膶木栀?zèng)者或者移動(dòng)采血車處收集的血液發(fā)送至血液實(shí)驗(yàn)中心,血液實(shí)驗(yàn)中心將血液進(jìn)行分離處理,分離為白細(xì)胞、血漿、血小板等血液制品,分別按照不同標(biāo)準(zhǔn)存儲,再按照需求分別發(fā)放給各優(yōu)先級醫(yī)院。
圖1 血液供應(yīng)鏈網(wǎng)絡(luò)Fig.1 Blood supply chain network
本文假設(shè)如下:
1)移動(dòng)采血車和當(dāng)?shù)匮褐行牡暮蜻x位置固定;2)各個(gè)采血點(diǎn)容量固定有限;3)假設(shè)各運(yùn)輸過程均采用一種運(yùn)輸方式;4)為避免收集階段血液過期,血液從采集到運(yùn)輸至血液實(shí)驗(yàn)中心時(shí)間小于8 h;5)未滿足需求將產(chǎn)生短缺費(fèi)用;6)醫(yī)院庫存內(nèi)額外的不同保質(zhì)期的血制品作為安全庫存。
基于建模需要,定義符號如表1~3。
表1 符號定義Tab.1 Symbol definition
表2 參數(shù)定義Tab.2 Parameter definition
表3 決策變量Tab.3 Decision variables
基于上述,本文建立如下模型:目標(biāo)函數(shù)1 為最小化成本函數(shù),目標(biāo)函數(shù)2通過最小化血液中心l的存儲量來最小化時(shí)間。約束條件如式(3)~(31)所示。
目標(biāo)函數(shù)1 最小化成本=建立成本+運(yùn)輸成本+產(chǎn)出和持有成本+過期成本+需求不滿足成本+安全庫存成本
約束(3)表示每個(gè)周期最多只可以有1 個(gè)移動(dòng)采血中心更換位置:
約束(4)表示移動(dòng)采血中心的開放數(shù)量:
約束(5)表示每階段面向同一區(qū)域人群只有一個(gè)移動(dòng)采血中心或者當(dāng)?shù)匮褐行模?/p>
約束(6)表示捐贈(zèng)者可以在移動(dòng)采血中心和血液中心之間選一個(gè)進(jìn)行獻(xiàn)血。
約束(7)、(8)、(9)表示移動(dòng)采血中心和當(dāng)?shù)匮褐行牡母采w范圍:
約束(10)~(21)表示各節(jié)點(diǎn)及它們之間的流量、容量和庫存量限制:
約束(22)和(23)分別表示產(chǎn)品需求量限制和過期限制:
約束(24)、(25)表示未分配給優(yōu)先級高的醫(yī)院之前不給低優(yōu)先級的醫(yī)院配送:
約束(26)、(27)表示血液實(shí)驗(yàn)中心和醫(yī)院需求區(qū)的損耗:
約束(28)、(29)保證血液實(shí)驗(yàn)中心和醫(yī)院第一階段的初始庫存為0:
約束(30)、(31)表示決策變量的取值范圍:
隨著供應(yīng)鏈網(wǎng)絡(luò)設(shè)計(jì)中需求增多,處理多目標(biāo)問題成為近年來的熱點(diǎn)研究內(nèi)容。求解此類問題一般采用標(biāo)量、交互、模糊、元啟發(fā)式和決策輔助等方法。本文將采用ε-約束方法[19]對模型進(jìn)行單一目標(biāo)函數(shù)轉(zhuǎn)化。在應(yīng)用ε-約束方法前,先對函數(shù)進(jìn)行Pareto最優(yōu)處理。Pareto最優(yōu)的定義如下:
假設(shè)一個(gè)有“W”個(gè)目標(biāo)的多目標(biāo)函數(shù)定義如下:
其中:X的集合ZM為問題的決策空間;f?(x)(?=1,2,…,W)為目標(biāo)函數(shù),W維函數(shù)稱為問題的目標(biāo)空間。本文采用的ε-約束方法,處理細(xì)節(jié)為將其中一個(gè)目標(biāo)函數(shù)最小化,其他目標(biāo)附加為約束,具體如下:
定理1每 個(gè)w∈{1,2,…,W}都ε?=F?x*,??∈{1,2,…,W};x*∈ZM是一個(gè)約束條件下問題(32)的帕累托最優(yōu)解。
定理2如果對于一些W,ε?=F?x*,??∈{1,2,…,W},將x*∈X定義為一個(gè)在約束(34)下的問題(33)唯一解(對于一些W,ε?=F?x*,??∈{1,2,…,W};x*∈ZM,其則為一個(gè)帕累托最優(yōu)解。
定理3對于任何的上界向量ε={ε1,ε2,…,εW},x*∈X,是問題(33)在約束下的一個(gè)帕累托最優(yōu)解。
ε-約束方法在處理多目標(biāo)優(yōu)化問題方面,因其操作簡單,計(jì)算速度快,且具有很強(qiáng)的適用性,是一種非常有效的處理方法[20]。其主要思路是將其中一個(gè)更為重要或決策者更為偏好的目標(biāo)作為目標(biāo),將其余目標(biāo)轉(zhuǎn)換為約束條件,再進(jìn)行求解。
本節(jié)用ε-約束方法對目標(biāo)函數(shù){F1,F(xiàn)2}進(jìn)行處理。具體方法是將F1作為目標(biāo)函數(shù),F(xiàn)2被認(rèn)為一個(gè)帶ε2的約束。因此,上文中的多目標(biāo)模型可以轉(zhuǎn)化為以下單目標(biāo)模型:
其他約束不變
供應(yīng)鏈網(wǎng)絡(luò)在真實(shí)設(shè)計(jì)中存在較多的不確定性,本文將使用魯棒優(yōu)化方法[21]對上述模型進(jìn)行處理。將發(fā)生概率為πs的不確定性場景的有限集合定義為s∈{1,2,…,S},具體模型如下:
其中:成本函數(shù)是場景s∈S下的確定模型的最優(yōu)值,成本函數(shù)是s∈S場景下發(fā)生的最優(yōu)值。權(quán)重系數(shù)η和ρ是自由設(shè)定的兩個(gè)參數(shù)。
本文中移動(dòng)采血車m,當(dāng)?shù)匮褐行腷和各節(jié)點(diǎn)間路線(當(dāng)?shù)匮簩?shí)驗(yàn)中心l和移動(dòng)采血車m到當(dāng)?shù)匮褐行腷;當(dāng)?shù)匮褐行腷到當(dāng)?shù)匮簩?shí)驗(yàn)中心l;移動(dòng)采血車m到當(dāng)?shù)匮簩?shí)驗(yàn)中心l的路線)是不確定的。根據(jù)以上描述,可得魯棒模型如下:
式(3)~(31)
其中:F1s和F1s*如式(38)、(39)所示:
WOA 的基本思想是通過模擬鯨魚獨(dú)特的捕食行為和社會(huì)行為來進(jìn)行優(yōu)化。以下為具體過程的數(shù)學(xué)模型。
3.1.1 包圍獵物
該階段選擇一個(gè)搜索代理,將其定義為前一代中的最佳解決方案。其他搜索代理試圖避開最優(yōu)代理來實(shí)現(xiàn)全局搜索,具體描述如下:
其中:υ代表當(dāng)前迭代次數(shù);AW·DW是包圍步長;AW和CW是系數(shù)向量;XW(υ)是當(dāng)前鯨魚位置向量;XW'(υ)是當(dāng)前最優(yōu)鯨魚位置向量;XW(υ+1)是每一次迭代中需要更新的最佳位置向量。系數(shù)向量AW和CW的計(jì)算如下:
其中:τ稱為收斂因子,其隨迭代次數(shù)增加從2 線性遞減到0;rand為區(qū)間[0,1]內(nèi)的隨機(jī)數(shù)。τ的求解公式如下:
其中:υ為當(dāng)前迭代次數(shù);υmax是最大迭代次數(shù)。
3.1.2 泡沫網(wǎng)攻擊
鯨魚在捕食時(shí)通常采用螺旋運(yùn)動(dòng)的方式先包圍獵物,再進(jìn)行捕獵。
在這一階段討論了兩種方法:收縮環(huán)和螺旋更新位置。收縮環(huán)的機(jī)制與全局搜索相似,并取值A(chǔ)W=[-1,1];另一種方法是螺旋更新位置,根據(jù)當(dāng)前位置和最優(yōu)代理構(gòu)造對數(shù)螺旋曲線,使得搜索代理逐步逼近最佳位置。具體描述如下:
其中:DW'指當(dāng)前鯨魚與最佳位置的距離,也就是獵物位置的向量;Λ為數(shù)螺旋形狀的常數(shù)量;g是區(qū)間[-1,1]內(nèi)的隨機(jī)數(shù);q為歐拉數(shù),q=e。假設(shè)收縮包圍機(jī)制和螺旋位置更新概率相同,均為0.5。
3.1.3 搜索獵物
搜索獵物采取魚群隨機(jī)性位置更新的方法,數(shù)學(xué)模型如下:
其中:Xrand是隨機(jī)所得的位置向量。如果AW超出[-1,1]的范圍,就通過隨機(jī)尋找鯨魚個(gè)體,并根據(jù)個(gè)體的方位,排查其他鯨魚位置,面向全局搜索找到合適的獵物。
原始鯨魚優(yōu)化算法存在著收斂精度低、收斂速度慢,以及容易陷入局部最優(yōu)等缺點(diǎn),而差分算法中的交叉和變異操作恰好因其全局搜索性強(qiáng)、性能更優(yōu),可彌補(bǔ)WOA 在這方面的劣勢。基于此,本文將差分算法的交叉變異方法應(yīng)用到傳統(tǒng)鯨魚優(yōu)化算法中,得到DWOA。利用差分算法中的變異策略替代WOA 中的隨機(jī)選擇策略,免去了參數(shù)D對于隨機(jī)搜索的影響;與此同時(shí),在WOA進(jìn)行隨機(jī)選擇新個(gè)體時(shí),有效地利用了差分算法的交叉策略,使DWOA 搜索速度更快且種群更具多樣性。DWOA的具體策略如下。
變異策略:
其中:Xgbest為當(dāng)前種群最優(yōu)位置;XWr1、XWr2為種群隨機(jī)個(gè)體;rand∈[0,1];F為變異常數(shù)且F>0。
交叉策略:
其中:υmin為最小迭代次數(shù);CR為交叉概率;Fmax和Fmin分別為F的最大和最小值。
模型中決策變量只能取0-1,利用rand 函數(shù)和round 函數(shù)隨機(jī)取值0-1。供應(yīng)鏈網(wǎng)絡(luò)設(shè)計(jì)問題的原始解為血液捐贈(zèng)者起點(diǎn)到醫(yī)院客戶終點(diǎn)的運(yùn)輸矩陣,再根據(jù)具體情況分配各種資源,確定優(yōu)先級。因此,本文采用平均隨機(jī)數(shù)生成函數(shù)配合約束系數(shù)的方法,得到?jīng)Q策變量的值。在計(jì)算中,各個(gè)變量均采用實(shí)數(shù)編碼方法進(jìn)行編碼。由d個(gè)捐助者、b個(gè)當(dāng)?shù)匮褐行?、i個(gè)血液實(shí)驗(yàn)中心,m個(gè)移動(dòng)采血車、h個(gè)醫(yī)院組成一條完整的編碼鏈,編碼長度為d+b+i+h+1,每條鏈均表示一條完整的血液供應(yīng)鏈網(wǎng)絡(luò)生命周期內(nèi)的運(yùn)輸路徑。將個(gè)體適應(yīng)度子集F編碼為群體中的解Xτ(τ=1,2,…,θ),假定子集包含θ個(gè)個(gè)體適應(yīng)度的值,即F=(F(ρ1),F(xiàn)(ρ2),…,F(xiàn)(ρθ)),若F(ρθ+1) ≥F(ρθ),則F(ρθ+1)被選擇。
綜上所述,DWOA 的流程如圖2 所示,Y是用于確定選擇搜索環(huán)繞還是螺旋更新位置的因子。
圖2 DWOA的流程Fig.2 Flowchart of DWOA
為了分析魯棒模型的保守程度和擾動(dòng)水平對于優(yōu)化結(jié)果的影響,本節(jié)將針對表4 中的測試問題1、2,分別比較了相同擾動(dòng)水平下,不同保守程度與不同擾動(dòng)水平和相同保守程度兩種情況下,模型最優(yōu)解和計(jì)算時(shí)間的數(shù)值,參數(shù)取值范圍如表5,結(jié)果如表6所示。
表4 測試問題aTab.4 Test question a
表5 參數(shù)范圍Tab.5 Parameter range
表6 不同擾動(dòng)水平和保守程度下測試問題a分析Tab.6 Test question a analysis under different disturbance levels and conservation degrees
由此可知,血液供應(yīng)鏈網(wǎng)絡(luò)設(shè)計(jì)存在不確定性時(shí),總成本和總時(shí)間均大于各自確定性模型的預(yù)期值。隨著保守程度增加,總成本和時(shí)間都有所增加。也可以理解為,為應(yīng)對不確定參數(shù)的擾動(dòng)水平增加,需增加成本維持供應(yīng)鏈網(wǎng)絡(luò)的穩(wěn)定性。針對不同問題需求,保守程度和擾動(dòng)程度存在一個(gè)最優(yōu)值使得目標(biāo)函數(shù)1、2 都是相對最優(yōu)。與此同時(shí),通過CPU 時(shí)間對比可知,一定范圍內(nèi),魯棒性能越強(qiáng)、越穩(wěn)定,計(jì)算所需時(shí)間越短。
為了探究不確定性參數(shù)對于模型的影響,本節(jié)考慮其他參數(shù)一致的測試問題10 個(gè)(如表7),參數(shù)取值范圍如表5,得到結(jié)果如表8~9。
表7 測試問題b Tab.7 Test question b
表8表示隨著權(quán)重變化,目標(biāo)函數(shù)(Z1、Z2)、ε-約束目標(biāo)函數(shù)的變化。
表8 不同權(quán)重下的函數(shù)最優(yōu)值Tab.8 Optimal values of functions under different weights
表9 是針對隨機(jī)的10 個(gè)問題,魯棒模型和確定性模型對于需求的短缺的變化情況。
表9 需求不確定時(shí)魯棒模型與確定模型的需求短缺情況比較Tab.9 Comparison of demand shortages between robust model and deterministic model with uncertain demand
從表9 可知,魯棒模型相較于確定性模型在需求短缺方面有著絕對的優(yōu)勢,短缺量平均減少76%,同時(shí)也體現(xiàn)出魯棒模型的穩(wěn)定性。
針對表4 的10 個(gè)隨機(jī)問題,本節(jié)利用Matlab 軟件對遺傳算法(Genetic Algorithm,GA)、原始鯨魚優(yōu)化算法(WOA)、粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法和本文DWOA 進(jìn)行對比分析,迭代500 次,四種算法對比分析如圖3所示。
圖3 WOA、GA、PSO與DWOA算法成本的對比Fig.3 Cost comparison of WOA,GA,PSO and DWOA algorithms
由圖3 可知,DWOA 在求解問題時(shí),相較于其他對比算法求解時(shí)間最短、目標(biāo)值最優(yōu),更能擺脫局部最優(yōu)。
WOA、GA與PSO算法相比各有優(yōu)勢:WOA與PSO算法成本雖略高些,但可以更快搜索到最優(yōu)解;GA雖收斂速度較慢,但求解成本更低一些,結(jié)果更優(yōu)。
針對血液供應(yīng)鏈網(wǎng)絡(luò)設(shè)計(jì)的多目標(biāo)魯棒優(yōu)化問題,本文得出以下結(jié)論:
1)建立以成本最小、存儲時(shí)間最短的目標(biāo)函數(shù),并采用ε約束將雙目標(biāo)函數(shù)轉(zhuǎn)化為單目標(biāo)模型,使用魯棒優(yōu)化方法處理不確定性,通過實(shí)例驗(yàn)證,采用魯棒優(yōu)化后的模型,取得結(jié)果更優(yōu),穩(wěn)定性更強(qiáng)且處理時(shí)間更短。
2)采用DWOA 解決NP-hard 問題,并將該方法與WOA、PSO 算法和GA 進(jìn)行對比,實(shí)驗(yàn)結(jié)果表明,DWOA 計(jì)算時(shí)間較短,能夠較快跳出局部最優(yōu)且穩(wěn)定性強(qiáng),在處理血液供應(yīng)鏈網(wǎng)絡(luò)設(shè)計(jì)問題時(shí),具有較好的優(yōu)越性。
3)現(xiàn)實(shí)實(shí)際醫(yī)療中,血液分離后成分種類更為復(fù)雜,本文并未對不同種類(例如血漿、血小板)的血液制品保質(zhì)時(shí)間、保存環(huán)境的不同進(jìn)行深入分別研究,下一步的研究工作主要考慮血液制品種類多樣性以及不同血液制品要求的多樣性對于血液供應(yīng)鏈網(wǎng)絡(luò)設(shè)計(jì)時(shí)的影響,以保證血液供應(yīng)鏈網(wǎng)絡(luò)設(shè)計(jì)更加貼近現(xiàn)實(shí)醫(yī)療。