馬艷芳,李保玉,楊屹夫,馮翠英
1.河北工業(yè)大學(xué) 經(jīng)濟(jì)管理學(xué)院,天津 300401
2.浙江工業(yè)大學(xué) 經(jīng)貿(mào)管理學(xué)院,杭州 310014
隨著人們生活水平的提高,對(duì)肉制品、水產(chǎn)品、牛奶、新鮮果蔬等生鮮產(chǎn)品的需求不斷增加,冷鏈物流行業(yè)也在快速發(fā)展。國(guó)家發(fā)改委、交通運(yùn)輸部門等24部門于2019年發(fā)布了《關(guān)于推動(dòng)物流高質(zhì)量發(fā)展促進(jìn)形成強(qiáng)大國(guó)內(nèi)市場(chǎng)的意見》,文中強(qiáng)調(diào)鞏固物流降本增效成果,增強(qiáng)物流企業(yè)活力,提升行業(yè)效率效益水平,暢通物流全鏈條運(yùn)行。據(jù)統(tǒng)計(jì),在生鮮運(yùn)輸過程中腐爛的水果和蔬菜價(jià)值每年高達(dá)700億元,造成了巨大的經(jīng)濟(jì)損失[1]。因此,如何提高生鮮產(chǎn)品冷鏈物流的運(yùn)輸效率,降低物流配送成本,成為優(yōu)化生鮮冷鏈物流系統(tǒng)的主要研究方向之一。
近年來,為降低生鮮產(chǎn)品高昂配送成本,學(xué)者們對(duì)其進(jìn)行了廣泛研究。馬艷芳等[1]建立了基于沖突合作關(guān)系的生鮮選址-路徑多主體優(yōu)化模型,主導(dǎo)層以系統(tǒng)總成本最低為目標(biāo),從屬層考慮運(yùn)輸相關(guān)成本最小化,并設(shè)計(jì)GAPSO算法求解模型。馮杰和史立[2]構(gòu)建了有客戶軟時(shí)間窗約束和車輛里程約束的生鮮產(chǎn)品配送路徑優(yōu)化模型,并采用蟻群算法進(jìn)行求解。李軍濤等[3]針對(duì)冷鏈物流配送系統(tǒng)中總成本較高但車輛有效利用率低的問題,在考慮擁堵指數(shù)的基礎(chǔ)上,構(gòu)建多目標(biāo)多車型路徑優(yōu)化模型,并提出自適應(yīng)遺傳模擬退火算法。Chen等[4]研究了冷鏈配送過程中具有一些實(shí)際約束的多隔間車輛路徑問題,開發(fā)自適應(yīng)大鄰域搜索算法求解。Yao等[5]將生鮮海產(chǎn)品配送問題建模為多倉庫車輛路徑問題,以總配送成本最小為目標(biāo),采用蟻群算法求解。從以上文獻(xiàn)中可以看出,目前生鮮產(chǎn)品冷鏈物流背景下的車輛路徑問題研究較為豐富,但大多考慮單級(jí)車輛路徑,能檢索到的考慮兩級(jí)車輛路徑問題的文獻(xiàn)還不多。
此外,由于生鮮產(chǎn)品的易腐性,顧客十分重視生鮮產(chǎn)品的質(zhì)量和新鮮度。對(duì)于配送企業(yè)而言,若想獲取客戶信任,提高市場(chǎng)競(jìng)爭(zhēng)力,不僅要關(guān)注物流配送成本,也需要考慮客戶滿意度[6-7]??蛻魸M意度已成為配送企業(yè)競(jìng)爭(zhēng)的重要考量因素[8],這也促使學(xué)者們開始對(duì)如何提高客戶滿意度進(jìn)行研究。李軍濤等[3]驗(yàn)證了采用多車型配送、使用改進(jìn)的自適應(yīng)遺傳模擬退火算法以及適當(dāng)定價(jià)三種策略均可從不同程度上提高客戶滿意度。張惠珍等[9]通過綜合考慮客戶時(shí)間窗和食物新鮮度來提高客戶滿意度,并采用單親遺傳混合蟻群算法求解多目標(biāo)車輛路徑模型。夏揚(yáng)坤等[10]研究了客戶分級(jí)和客戶需求依背包拆分的生鮮車輛路徑問題,以降低物流配送成本并提高客戶滿意度。任騰等[11]構(gòu)建在客戶允許服務(wù)時(shí)間范圍內(nèi)以總成本最小為目標(biāo)的冷鏈車輛路徑優(yōu)化模型,以滿足企業(yè)經(jīng)濟(jì)和社會(huì)效益。戶佐安等[12]以客戶對(duì)服務(wù)時(shí)間和貨物完好性的要求衡量客戶滿意度,建立以客戶滿意度最大和運(yùn)輸成本最小為目標(biāo)的優(yōu)化模型??梢?,在生鮮物流市場(chǎng)競(jìng)爭(zhēng)日益激烈的今天,配送企業(yè)若想穩(wěn)固在競(jìng)爭(zhēng)市場(chǎng)中的地位,在考慮經(jīng)濟(jì)成本的同時(shí),客戶滿意度也不容忽略。且從以上文獻(xiàn)中可以看出,目前對(duì)于車輛路徑問題中客戶滿意度的研究較為豐富,但從客戶分類角度提高客戶滿意度的文獻(xiàn)較少。因此,本文考慮了客戶分類,通過將客戶按重要性進(jìn)行分類以提高客戶滿意度。優(yōu)先滿足重要客戶的期望時(shí)間窗,提高重要客戶的期望時(shí)間窗滿足率,這樣,既保持了配送企業(yè)的優(yōu)質(zhì)客戶資源,也提高了其整體客戶滿意度。
兩級(jí)容量有限車輛路徑問題(Two-Echelon Capacitated Vehicle Routing Problem,2E-CVRP)可視為兩個(gè)車輛路徑問題(Vehicle Routing Problem,VRP)的組合,VRP已是典型的NP難問題,可知2E-CVRP的求解難度更大。精確方法適用于求解小規(guī)模問題,對(duì)于復(fù)雜優(yōu)化問題常采用啟發(fā)式算法進(jìn)行求解。啟發(fā)式算法在求解VRP問題時(shí)展現(xiàn)出了優(yōu)越的性能[1-5,9],然而,單一的啟發(fā)式算法具有一定的局限性。遺傳算法(Genetic Algorithm,GA)具有較強(qiáng)的全局搜索能力,但容易過早收斂,易于陷入局部最優(yōu)解,因而算法效率不高。模擬退火算法(Simulated Annealing,SA)局部搜索能力較強(qiáng),但全局搜索能力較弱。綜合兩種算法的優(yōu)缺點(diǎn),將改進(jìn)的遺傳算法和模擬退火算法相結(jié)合,求解2E-CVRP優(yōu)化模型。
表1總結(jié)了車輛調(diào)度問題中與生鮮配送、兩級(jí)路徑和客戶分類相關(guān)研究。從表1中可以看出,目前關(guān)于VRP的研究已取得了較為豐碩的成果,但在生鮮冷鏈物流背景下的兩級(jí)車輛路徑研究較少,且少有研究在兩級(jí)車輛路徑中考慮客戶分類,而考慮客戶分類對(duì)配送企業(yè)維持優(yōu)質(zhì)客戶資源,提高企業(yè)經(jīng)濟(jì)和社會(huì)效益具有重要意義?;诖?,本文研究生鮮產(chǎn)品配送背景下考慮客戶分類的兩級(jí)容量有限車輛路徑問題(Two-Echelon Capacitated Vehicle Routing Problem with Customer Classification,2E-CVRP-CC)。并設(shè)計(jì)兩階段啟發(fā)式算法進(jìn)行求解:第一階段使用改進(jìn)的GA-SA算法求解二級(jí)配送網(wǎng)絡(luò),第二階段使用精確方法求解一級(jí)配送網(wǎng)絡(luò)。最后,基于Set2、Set5兩組基準(zhǔn)算例集進(jìn)行算法對(duì)比分析,證明算法的尋優(yōu)能力,并測(cè)試算法的收斂性,然后結(jié)合實(shí)際案例模擬驗(yàn)證2E-CVRP-CC模型的適用性。
表1 相關(guān)文獻(xiàn)特征Table 1 Characteristics of relevant literature
集合:
設(shè)N(V,E)為生鮮產(chǎn)品運(yùn)輸網(wǎng)絡(luò),其中,V=D?S?C。
D:中心倉庫,D={0};
S:配送中心集合,S={1,2,…,s};
C:客戶集合,C={1,2,…,n};
B:一級(jí)運(yùn)輸車輛集合,B={1,2,…,b0};
K:二級(jí)運(yùn)輸車輛集合,K={1,2,…,k0};
P1:由倉庫和配送中心組成的節(jié)點(diǎn)集合,P1=D?S;
P2:由配送中心和客戶組成的節(jié)點(diǎn)集合,P2=S?C;
指標(biāo)和參數(shù):
i/j:物流網(wǎng)絡(luò)中節(jié)點(diǎn)的索引;
QS i:配送中心i∈S的容量;
QB:一級(jí)同質(zhì)運(yùn)輸車輛的容量;
QK:二級(jí)同質(zhì)運(yùn)輸車輛的容量;
FD:中心倉庫的建設(shè)成本;
FS i:配送中心i∈S的建設(shè)成本;
FB:一級(jí)運(yùn)輸車輛的固定成本;
FK:二級(jí)運(yùn)輸車輛的固定成本;
a1:一級(jí)運(yùn)輸車輛的單位運(yùn)輸費(fèi)用;
a2:二級(jí)運(yùn)輸車輛的單位運(yùn)輸費(fèi)用;
d ij:節(jié)點(diǎn)i與節(jié)點(diǎn)j之間的距離,i,j∈V;
ρ:價(jià)值損耗系數(shù),即單位時(shí)間內(nèi)單位生鮮產(chǎn)品的價(jià)值損耗;
qi:客戶i∈C的需求量;
:一級(jí)運(yùn)輸車輛b∈B在弧線(i,j)之間的裝載量,i,j∈P1;
:二級(jí)運(yùn)輸車輛k∈K在弧線(i,j)之間的裝載量,i,j∈P2;
/:二級(jí)運(yùn)輸車輛k∈K到達(dá)節(jié)點(diǎn)i/j的時(shí)間,
i,j∈P2;
:二級(jí)運(yùn)輸車輛k∈K從節(jié)點(diǎn)i駛向節(jié)點(diǎn)j的時(shí)間,i,j∈P2;
:二級(jí)運(yùn)輸車輛k∈K在客戶點(diǎn)i∈C的等待時(shí)間;
:二級(jí)運(yùn)輸車輛k∈K在客戶點(diǎn)i∈C的服務(wù)時(shí)間;
Tmax:二級(jí)配送網(wǎng)絡(luò)中,每條路線允許車輛行駛的最長(zhǎng)時(shí)間;
[ET i,LT i]:客戶i∈C的期望時(shí)間窗;
ci:客戶i∈C單位時(shí)間窗偏離量費(fèi)用;
決策變量:
y i:0-1變量,如果配送中心i∈S開放,則為1,否則為0;
xijb:0-1變量,如果車輛b∈B通過弧(i,j),則為1,否則為0,i,j∈P1;
y ijk:0-1變量,如果車輛k∈K通過弧(i,j),則為1,否則為0,i,j∈P2;
zik:0-1變量,如果客戶i∈C由車輛k∈K進(jìn)行配送,則為1,否則為0。
在運(yùn)輸過程中,生鮮產(chǎn)品價(jià)值隨著時(shí)間而衰減,按時(shí)交付生鮮產(chǎn)品可以防止質(zhì)量下降,并且能夠提高顧客對(duì)于配送企業(yè)的可信度和滿意度。優(yōu)化模型考慮了顧客對(duì)于期望時(shí)間窗的要求,然而,帶軟時(shí)間窗的車輛路徑問題容易降低客戶滿意度,且配送企業(yè)在提供配送服務(wù)時(shí)要權(quán)衡成本與效益。因此,為保持配送企業(yè)優(yōu)質(zhì)客戶資源,將客戶按重要性分為重要客戶與普通客戶兩類,通過增大重要客戶的時(shí)間窗偏離量懲罰程度,優(yōu)先滿足重要客戶的期望時(shí)間窗,提高重要客戶的期望時(shí)間窗滿足率,進(jìn)而提高整體客戶滿意度,形成一個(gè)考慮客戶分類的2E-CVRP。
另外,不同類別客戶的單位時(shí)間窗偏離量費(fèi)用c i是不同的,重要客戶的c i值較普通客戶更大,為保持企業(yè)優(yōu)質(zhì)客戶資源并提高整體客戶滿意度,應(yīng)盡量滿足重要客戶的期望時(shí)間窗。[0,Tmax]為配送中心點(diǎn)i∈S的硬時(shí)間窗約束,Tmax是二級(jí)配送車輛可允許行駛的最長(zhǎng)時(shí)間。[ET i,LT i]為每個(gè)客戶點(diǎn)i∈C的期望時(shí)間窗,如果顧客的期望時(shí)間窗未得到滿足,則會(huì)施加懲罰成本。懲罰成本與客戶滿意度呈負(fù)相關(guān)關(guān)系,懲罰成本越高,說明未被滿足的顧客期望時(shí)間窗越多,客戶滿意度也就越低。因此,可以用懲罰成本的高低反映客戶滿意度水平。
兩級(jí)容量有限車輛路徑問題(2E-CVRP)可描述如下:在生鮮產(chǎn)品物流配送網(wǎng)絡(luò)中有一個(gè)中心倉庫和多個(gè)期望客戶,在中心倉庫和客戶之間有固定數(shù)量的配送中心。位于城區(qū)邊緣位置的倉庫通過大型同質(zhì)冷藏運(yùn)輸車(一級(jí)配送車輛)向位于城區(qū)中的各配送中心運(yùn)送生鮮產(chǎn)品,其中倉庫和配送中心的地理位置已知,有裝載量和數(shù)量限制的一級(jí)配送車輛從倉庫出發(fā),配送完成后返回倉庫(一級(jí)配送網(wǎng)絡(luò));在配送中心,生鮮產(chǎn)品被轉(zhuǎn)移到小型同質(zhì)冷藏運(yùn)輸車上(二級(jí)配送車輛),然后車輛從配送中心出發(fā),通過規(guī)定的優(yōu)化路線為指定的顧客服務(wù),最終再返回配送中心(二級(jí)配送網(wǎng)絡(luò))。具體的物流網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示。
圖1 2E-CVRP物流網(wǎng)絡(luò)示意圖Fig.1 Logistics network diagram of 2E-CVRP
2E-CVRP在已知中心倉庫和配送中心的容量和地理位置、各級(jí)配送車輛容量、顧客地理位置、需求量等條件下,規(guī)劃各級(jí)配送車輛運(yùn)輸服務(wù)路徑,從而使整個(gè)物流配送網(wǎng)絡(luò)總成本最低。物流配送網(wǎng)絡(luò)總成本包括倉庫和配送中心的建設(shè)成本、車輛固定成本、車輛運(yùn)輸成本、生鮮產(chǎn)品損耗成本以及未滿足顧客期望時(shí)間窗要求而產(chǎn)生的懲罰成本。其中,倉庫和配送中心的建設(shè)成本主要包括場(chǎng)地租賃費(fèi)、冷藏設(shè)備購(gòu)置費(fèi)、水電費(fèi)以及員工工資等;車輛固定成本主要指駕駛員工資以及車輛折舊費(fèi)用等;車輛運(yùn)輸成本主要包括電能消耗費(fèi)用以及車輛維修費(fèi)用等;損耗成本指生鮮產(chǎn)品在配送過程中因腐爛變質(zhì)而產(chǎn)生的損失費(fèi)用。問題假設(shè)如下:
(1)中心倉庫有足夠數(shù)量的存貨,可以滿足所有配送中心的需求;
(2)配送中心和客戶的數(shù)量、地理位置已知,各級(jí)配送車輛固定成本已知;
(3)各節(jié)點(diǎn)間距離按歐式距離計(jì)算,各級(jí)配送車輛單位運(yùn)輸成本已知;
(4)各級(jí)配送車輛容量已知,各運(yùn)輸路徑上車輛載重量不能超過其容量限制;
(5)配送途中交通狀況良好,車輛均勻速行駛;
(6)客戶需求和期望時(shí)間窗是獨(dú)立且預(yù)先確定的;
(7)各級(jí)配送車輛離開并最終返回相同的起始節(jié)點(diǎn)位置;
(8)為減少生鮮產(chǎn)品損耗,一級(jí)配送車輛到達(dá)配送中心并卸下產(chǎn)品后,產(chǎn)品會(huì)立即被裝載到二級(jí)配送車輛上,此時(shí)產(chǎn)品在配送中心的處理成本忽略不計(jì);
(9)僅計(jì)算二級(jí)配送網(wǎng)絡(luò)中生鮮產(chǎn)品的損耗成本。
目標(biāo)函數(shù)式(1)為最小化物流配送系統(tǒng)的總成本,包括倉庫和配送中心的建設(shè)成本,一、二級(jí)配送網(wǎng)絡(luò)中車輛的固定成本和運(yùn)輸成本,二級(jí)配送網(wǎng)絡(luò)中生鮮產(chǎn)品的損耗成本以及因未滿足顧客期望時(shí)間窗要求而產(chǎn)生的懲罰成本,分別如式(2)~(6)所示。其中,二級(jí)配送網(wǎng)絡(luò)中生鮮產(chǎn)品的損耗成本Z4與車輛到達(dá)顧客節(jié)點(diǎn)的時(shí)間呈正相關(guān),生鮮產(chǎn)品的價(jià)值損耗系數(shù)ρ由文獻(xiàn)[13]提出,表示單位時(shí)間內(nèi)單位生鮮產(chǎn)品的價(jià)值損耗。約束條件式(7)確保離開倉庫的生鮮產(chǎn)品總量等于顧客總需求量;式(8)是一級(jí)配送車輛的容量約束;式(9)保證每個(gè)配送中心最多只能被一輛一級(jí)配送車輛服務(wù)一次;式(10)保證一級(jí)配送網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的進(jìn)出車輛相同;式(11)表明在倉庫之間沒有車輛路徑;式(12)表示分配給各配送中心的生鮮產(chǎn)品數(shù)量不能超過其自身容量;式(13)是二級(jí)配送車輛的容量約束;式(14)保證每位顧客只能被一輛二級(jí)配送車輛服務(wù)一次;式(15)保證二級(jí)配送網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的進(jìn)出車輛相同;式(16)說明在配送中心之間沒有車輛路徑;式(17)是車輛載重量守恒約束,消除子約束,滿足每位顧客的需求;式(18)和(19)確保所有車輛空車返回其原始倉庫或配送中心;式(20)和(21)保證從倉庫和配送中心發(fā)出的車輛總數(shù)不能超過其擁有的最大數(shù)量;式(22)是硬時(shí)間窗約束,也是二級(jí)配送車輛最長(zhǎng)運(yùn)輸時(shí)間限制;式(23)計(jì)算二級(jí)配送車輛的等待時(shí)間;式(24)計(jì)算二級(jí)配送網(wǎng)絡(luò)中,二級(jí)運(yùn)輸車輛到達(dá)節(jié)點(diǎn)j∈C的時(shí)間。
本文建立的2E-CVRP-CC模型屬于NP難問題,包含兩級(jí)配送網(wǎng)絡(luò):一級(jí)配送網(wǎng)絡(luò)從中心倉庫出發(fā)將生鮮產(chǎn)品運(yùn)輸至各配送中心,二級(jí)配送網(wǎng)絡(luò)從各配送中心出發(fā)將生鮮產(chǎn)品配送給終端客戶。文中設(shè)計(jì)兩階段啟發(fā)式算法求解該模型:第一階段求解二級(jí)運(yùn)輸路徑,由于涉及客戶數(shù)目相對(duì)較多,采用求解效率較高的改進(jìn)GASA啟發(fā)式算法,又由于配送企業(yè)將客戶按重要性分為重要客戶和普通客戶,故為區(qū)分兩類客戶,在算法設(shè)置數(shù)據(jù)時(shí),將不同類別客戶的時(shí)間窗偏離量費(fèi)用ci賦予不同的數(shù)值,其中重要客戶的時(shí)間窗偏離量費(fèi)用為c1,普通客戶的時(shí)間窗偏離量費(fèi)用為c2,且c1>c2,這樣保證了能夠優(yōu)先滿足重要客戶的期望時(shí)間窗。
第一階段求解配送中心與顧客之間的車輛路徑問題,可視為單層VRP。對(duì)于2E-CVRP而言,其重點(diǎn)在于第二級(jí)配送網(wǎng)絡(luò)的車輛路徑規(guī)劃,二級(jí)路徑的優(yōu)化可以節(jié)約大量物流系統(tǒng)成本,因此為二級(jí)配送車輛規(guī)劃合適的運(yùn)輸路線至關(guān)重要。為了更好地求解二級(jí)物流網(wǎng)絡(luò)車輛路徑問題,本階段采用改進(jìn)的混合啟發(fā)式算法(GA-SA),即在算法的迭代過程中,首先使用遺傳操作,然后使用模擬退火操作,以增強(qiáng)找到的最優(yōu)解。
遺傳算法(GA)最早由John Holland提出,是一種模擬達(dá)爾文進(jìn)化理論和自然界優(yōu)勝劣汰機(jī)制進(jìn)行全局最優(yōu)解搜索的啟發(fā)式算法[14]。GA將問題的求解過程轉(zhuǎn)化成類似生物進(jìn)化中染色體基因的交叉、變異等過程,通常包括選擇、交叉、變異等基本操作。然而,單一的啟發(fā)式算法都有一定的局限性,像GA在求解大規(guī)模復(fù)雜優(yōu)化問題時(shí),存在局部搜索能力較弱、容易過早收斂、易于陷入局部最優(yōu)解的缺陷。
基于單一解的模擬退火算法(SA)可以突破爬山算法的局限性,克服局部最優(yōu)陷于停滯的問題,該算法由Kirkpatrick等[15]提出,以一定的概率接受較差解,從而加強(qiáng)跳出局部最優(yōu)的能力。此外,劉蘭芬和楊信豐[16]證明了將GA和SA結(jié)合的遺傳模擬退火算法的有效性。因此,綜合借鑒兩種算法的思路,將改進(jìn)的GA-SA算法作為第一階段算法。
初始解的生成方式有隨機(jī)生成和啟發(fā)式生成兩種。采用啟發(fā)式生成的初始解更為優(yōu)良,但個(gè)體較為集中,易使算法陷入局部最優(yōu)。為保持個(gè)體多樣性,且利于改進(jìn)的GA-SA算法搜索到全局最優(yōu)解,本算法采用隨機(jī)方式生成初始種群,以使初始種群盡可能地均勻分布在整個(gè)解空間。
本階段研究配送中心與客戶之間的配送路徑問題,用三個(gè)向量表示一個(gè)完整的解,第一個(gè)矢量為車輛向量,第二個(gè)矢量為配送順序向量,第三個(gè)矢量為車輛所屬配送中心的向量。二級(jí)配送網(wǎng)絡(luò)編碼解碼中包含有編號(hào)為{1,2,…,n}的n位客戶、編號(hào)為{1,2,…,s}的s個(gè)配送中心以及編號(hào)為{1,2,…,k}的k輛二級(jí)運(yùn)輸車輛。
假設(shè)有2個(gè)配送中心,編號(hào)為1,2;可支配二級(jí)運(yùn)輸車輛4輛,編號(hào)為1,2,3,4;需要服務(wù)的客戶數(shù)為15位,編號(hào)為1,2,…,15,則配送方案編碼如下:
可以看出,二級(jí)配送網(wǎng)絡(luò)中,車輛1和車輛4從配送中心1出發(fā),車輛2和車輛3從配送中心2出發(fā)??蛻艟幪?hào)對(duì)應(yīng)的車輛向量值表示服務(wù)該客戶的車輛編號(hào),車輛向量對(duì)應(yīng)的順序向量值表示車輛服務(wù)客戶的先后順序。如車輛1服務(wù)客戶3,4,8,對(duì)應(yīng)配送順序?yàn)?,13,3,對(duì)應(yīng)配送中心1,即車輛1從配送中心1出發(fā)先后服務(wù)客戶3,8,4。因此,解碼后得到的四條車輛路線表示如下:
2E-CVRP-CC模型以物流配送系統(tǒng)總成本最小為目標(biāo),考慮到二級(jí)配送網(wǎng)絡(luò)中顧客期望時(shí)間窗和車輛容量約束,對(duì)違反約束的染色體添加一個(gè)足夠大的懲罰值,以免生成不可行解。而當(dāng)滿足客戶時(shí)間窗和二級(jí)車輛容量約束時(shí),目標(biāo)函數(shù)如下所示:
適應(yīng)度函數(shù)的確定要結(jié)合求解問題本身而定,根據(jù)適應(yīng)度值判斷個(gè)體的優(yōu)劣,并以此進(jìn)行選擇操作。2ECVRP-CC模型是一個(gè)最小化組合優(yōu)化問題,目標(biāo)函數(shù)值越小,對(duì)應(yīng)的個(gè)體適應(yīng)度就越大,解就越優(yōu)良。因此,本算法選用目標(biāo)函數(shù)值加懲罰函數(shù)值的倒數(shù)作為適應(yīng)度函數(shù)[17],具體公式為:
其中,z i為第i條染色體對(duì)應(yīng)的目標(biāo)函數(shù)值,P1和P2分別表示違反客戶時(shí)間窗和二級(jí)車輛容量約束時(shí)產(chǎn)生的足夠大的懲罰成本(當(dāng)未違反約束時(shí),P1,P2=0,此時(shí)目標(biāo)函數(shù)值由公式(25)計(jì)算),f i表示第i條染色體的適應(yīng)度值。
輪盤賭選擇:選擇算子以適應(yīng)度作為衡量標(biāo)準(zhǔn),對(duì)群體進(jìn)行優(yōu)勝劣汰操作,使得適應(yīng)度越高的個(gè)體被遺傳到下一代種群的概率也越大。然而,這種方法容易導(dǎo)致適應(yīng)度高的個(gè)體大量繁殖,從而造成算法的搜索范圍過于局限。因此,將輪盤賭選擇算子結(jié)合精英保留策略,根據(jù)適應(yīng)度值和精英策略,從父代和子代染色體中產(chǎn)生新一代染色體。
精英保留策略:遺傳算法中,后代染色體通常由父代染色體復(fù)制而來。采用精英保留策略進(jìn)行選擇操作時(shí),每一代種群中較好的一部分個(gè)體作為精英個(gè)體(精英染色體數(shù)目為種群規(guī)?!辆⒙剩?,直接保留到下一代,從而保證迄今為止最優(yōu)的個(gè)體不會(huì)被交叉、變異等遺傳操作破壞。
部分匹配交叉:交叉算子決定算法的全局搜索能力,是遺傳算法中的一種重要算子。它模擬生物自然進(jìn)化過程,將選擇算子得到的兩條染色體互相交換部分基因,從而形成新個(gè)體。本文選用部分匹配交叉策略,通過隨機(jī)選擇兩個(gè)交叉點(diǎn)確定交叉區(qū)域,然后交換兩組基因的位置并進(jìn)行沖突檢測(cè),如圖2所示。具體步驟如下:
步驟1根據(jù)基于個(gè)體適應(yīng)度值的自適應(yīng)交叉率選擇父代染色體1和2,然后隨機(jī)選擇兩個(gè)不同的位置作為交叉點(diǎn)。自適應(yīng)交叉概率更新公式如下所示:
其中,Pc為交叉率,Pcmax和Pcmin分別為最大交叉概率和最小交叉概率。f為個(gè)體的適應(yīng)度值,fmax和favg分別為染色體適應(yīng)度值的最大值和平均值。
步驟2將兩條父代染色體位于交叉區(qū)域內(nèi)的基因進(jìn)行互換。
步驟3做沖突檢測(cè)。本問題中,一個(gè)完整的解有三個(gè)向量,其中車輛向量和配送中心向量允許出現(xiàn)重復(fù)基因,而對(duì)于順序向量,每位顧客的配送順序唯一,故順序向量中不允許出現(xiàn)重復(fù)基因,因此,要對(duì)順序向量中交換的兩條父代染色體進(jìn)行沖突檢測(cè)。其方法是,根據(jù)交換的兩組基因建立一個(gè)映射關(guān)系,如圖2所示,以2?3這一映射關(guān)系為例,可以看到父代染色體交換基因后,染色體1存在兩個(gè)基因2,這時(shí)將其通過映射關(guān)系轉(zhuǎn)變?yōu)榛?。以此類推,直至兩條染色體中的基因沒有沖突為止。
圖2 部分匹配交叉算子Fig.2 Partially-matched crossover operator
單點(diǎn)變異:變異算子決定算法的局部搜索能力,通過改變?nèi)旧w中部分基因的位置,形成新的染色體,維持種群的多樣性。改進(jìn)GA-SA算法采用單點(diǎn)變異算子,隨機(jī)選擇父代染色體中的兩個(gè)變異位置,交換兩個(gè)變異位置上的基因,得到一條新的后代染色體。
SA狀態(tài)函數(shù):在算法迭代過程中,完成遺傳操作后,將遺傳操作得到的最優(yōu)解作為模擬退火操作的初始解,然后使用狀態(tài)函數(shù)生成新解。本算法中,狀態(tài)函數(shù)采用互換操作,隨機(jī)選擇每個(gè)向量中的四個(gè)位置,然后分別將第一個(gè)位置和第三個(gè)位置、第二個(gè)位置和第四個(gè)位置的基因進(jìn)行互換,從而完成對(duì)初始解中車輛向量、順序向量和配送中心向量的更新操作。
Metropolis準(zhǔn)則:對(duì)種群不斷進(jìn)行遺傳操作的進(jìn)化過程是一個(gè)優(yōu)勝劣汰的除差過程,不斷進(jìn)化使得種群多樣性逐漸降低,這樣也導(dǎo)致算法容易陷入局部最優(yōu)解。因此,引入模擬退火算法中的Metropolis接受準(zhǔn)則,以一定的概率接受較差解,從而使算法避免陷入局部最優(yōu)和過早收斂,具有全局優(yōu)化能力。Metropolis接受準(zhǔn)則公式為:其中,T為當(dāng)前溫度,f1和f2分別為當(dāng)前解和新解的二級(jí)網(wǎng)絡(luò)配送成本。
第二階段求解中心倉庫與配送中心之間的車輛路徑問題,同樣可視為單層VRP。由于一級(jí)網(wǎng)絡(luò)涉及節(jié)點(diǎn)數(shù)目不多,可利用精確方法快速得到最優(yōu)解。根據(jù)第一階段所求結(jié)果,首先計(jì)算各配送中心需求量,然后根據(jù)一級(jí)車輛容量為各配送中心安排車輛,得到一級(jí)路徑優(yōu)化方案。最終,得到2E-CVRP-CC模型的最優(yōu)解。綜上,本文所提出的兩階段啟發(fā)式算法流程圖如圖3所示。
圖3 兩階段啟發(fā)式算法流程圖Fig.3 Flowchart of two-stage heuristic algorithm
首先,選用經(jīng)典基準(zhǔn)案例進(jìn)行測(cè)試,驗(yàn)證提出的兩階段啟發(fā)式算法求解2E-CVRP的性能;其次,使用模擬數(shù)據(jù)進(jìn)行案例分析,證明2E-CVRP-CC模型的合理性和適用性以及算法的有效性。所有算法都在Dell Inspiron 14計(jì)算機(jī)上使用Matlab R2016a運(yùn)行,具體配置為2.50 GHz Intel Core i7-6500U處理器,操作系統(tǒng)為Windows 10 64位。
兩階段啟發(fā)式算法涉及的主要參數(shù)有,種群規(guī)模,迭代次數(shù),最大、最小交叉概率,變異概率,初始溫度,終止溫度,降溫速度和內(nèi)循環(huán)迭代次數(shù)等。通過一定的實(shí)驗(yàn)測(cè)試和文獻(xiàn)參考[1,3],算法參數(shù)設(shè)置如下:種群規(guī)模取80,迭代次數(shù)取1 000代,Pcmax=0.85,Pcmin=0.5,Pm=0.1,T0=2 000,T=20,降溫速度q取0.95,內(nèi)循環(huán)迭代次數(shù)設(shè)置為100代。另外,結(jié)合帕累托定律,規(guī)定顧客總數(shù)的前20%為重要客戶(若重要客戶數(shù)n為非整數(shù),則進(jìn)行向上取整處理)。
為了測(cè)試所提出算法解決2E-CVRP-CC問題的效果,使用2E-CVRP的兩組基準(zhǔn)案例進(jìn)行測(cè)試,分別是Perboli等人[18]提出的Set2算例集和Hemmelmayr等[19]提出的Set5算例集。前者包含21個(gè)算例(只考慮Set2a和Set2b),包括21~50位客戶;后者包含9個(gè)算例(只考慮b系列),包括100或200位客戶。兩個(gè)案例包含信息有:中心倉庫和衛(wèi)星(配送中心)的數(shù)量及位置,一、二級(jí)車輛數(shù)量及容量,客戶位置和需求。兩個(gè)算例集均可在https://www.univie.ac.at/prolog/research/TwoEVRP下載。
為分析兩階段啟發(fā)式算法的性能,將本文算法求解基準(zhǔn)案例的結(jié)果與前人的求解結(jié)果進(jìn)行對(duì)比分析。同時(shí),為了使求解結(jié)果更具有可比性,此處去除了目標(biāo)函數(shù)(1)中的生鮮損耗成本、顧客時(shí)間窗懲罰成本以及倉庫和配送中心的建設(shè)成本,以使所提出算法的目標(biāo)成本與各案例所包含成本相匹配。
表2為Perboli的Set2算例集求解結(jié)果,前兩列是各案例名稱以及目前已知最優(yōu)解[18](BKS),3~6列是各算法得到的最優(yōu)結(jié)果,最后一列“Gap”表示本文算法求得的最優(yōu)結(jié)果(Best)與BKS的差距,計(jì)算公式為Gap=100%×(Best-BKS)/BKS。
表2將算法與Hemmelmayr等[19](ALNS)、Perboli等[18](Math-Heuristics)、Zeng等[20](GRASP+VND)和許維勝等[21](Multi-start)四篇文獻(xiàn)中所用算法進(jìn)行對(duì)比分析??梢钥闯觯珹LNS和GRASP+VND算法性能整體表現(xiàn)良好,而Multi-start和Math-Heuristics算法與最優(yōu)結(jié)果相差較多。相比而言,兩階段啟發(fā)式算法在6個(gè)算例中求得最優(yōu)解,且E-n33-k4-s2-13算例求得的最優(yōu)解優(yōu)于目前已知最優(yōu)解BKS,可見本算法性能與整體表現(xiàn)良好的ALNS和GRASP+VND算法相差不多。另外,求解結(jié)果均值565.42最接近于最優(yōu)解BKS均值556.72,且與最優(yōu)解BKS的差距均值僅為1.54%。由此可見,在與其他四種算法的比較中,本文提出的兩階段啟發(fā)式算法可以在一定程度上較好地解決2E-CVRP問題。
表2 Set2算例集求解結(jié)果與比較Table 2 Solution results and comparisons of Set2
表3為Hemmelmayr的Set5算例集求解結(jié)果,Set5算例集包含100或200位客戶,屬于2E-CVRP問題的大規(guī)模算例,將本文算法與文獻(xiàn)[22]的HCC和BSHV算法、文獻(xiàn)[23]的STS和EDTS算法進(jìn)行對(duì)比分析。
表3中記錄了各算法運(yùn)行五次的最優(yōu)結(jié)果和均值,每個(gè)案例的最優(yōu)結(jié)果和均值加粗強(qiáng)調(diào),且最優(yōu)解在五次運(yùn)行測(cè)試中至少被檢索一次??梢钥闯?,兩階段啟發(fā)式算法性能優(yōu)于STS和EDTS算法,與HCC算法最優(yōu)結(jié)果和均值的差距分別為8.5%和9.94%,與BSHV算法最優(yōu)結(jié)果和均值的差距分別為8.67%和10.49%。由此可見,提出的兩階段啟發(fā)式算法對(duì)于大規(guī)模問題能求得其近似最優(yōu)解。
表3 Set5算例集求解結(jié)果與比較Table 3 Solution results and comparisons of Set5
綜上,結(jié)合Set2算例集和Set5算例集可以看出,提出的兩階段啟發(fā)式算法對(duì)于小規(guī)模問題均能找到最優(yōu)解,對(duì)于中大規(guī)模問題能求得其近似最優(yōu)解,且與其他算法差距不大,因此本算法具有一定的競(jìng)爭(zhēng)力。
文中提出兩階段啟發(fā)式算法求解2E-CVRP-CC模型,其中第一階段求解二級(jí)配送網(wǎng)絡(luò)使用改進(jìn)的GASA算法,第二階段求解一級(jí)配送網(wǎng)絡(luò)使用精確方法。為探究改進(jìn)的GA-SA算法求解2E-CVRP-CC問題的能力,記錄其求解基準(zhǔn)案例的二級(jí)配送網(wǎng)絡(luò)時(shí)每次迭代的運(yùn)行結(jié)果并繪制出迭代圖,選取四個(gè)不同的案例迭代圖進(jìn)行收斂性分析。
選取Set2算例中顧客數(shù)量為32的E-n33-k4-s3-17、E-n33-k4-s4-5、E-n33-k4-s7-25、E-n33-k4-s14-22四個(gè)案例,收斂曲線如圖4所示??梢钥闯觯惴ńY(jié)果在100代以內(nèi)快速下降,500代左右算法已收斂到最優(yōu)結(jié)果附近,500~800代之內(nèi)算法下降趨勢(shì)減弱并逐漸收斂于最優(yōu)結(jié)果。
圖4 四個(gè)基準(zhǔn)案例收斂曲線Fig.4 Convergence curves of four classic benchmarks
為驗(yàn)證2E-CVRP-CC模型的合理性和適用性,本案例擬選用1個(gè)中心倉庫,3個(gè)備選配送中心,以滿足50位客戶的需求。中心倉庫和備選配送中心的位置、容量和建設(shè)成本如表4所示??蛻粑恢?、需求量和時(shí)間窗信息如表5所示,其中時(shí)間窗以上午9點(diǎn)為基準(zhǔn)點(diǎn),單位為小時(shí),由于版面限制,此處只列出前15位客戶相關(guān)信息。
表4 中心倉庫和備選配送中心信息表Table 4 Information sheet for central warehouse and alternative distribution centers
表5 部分客戶信息表Table 5 Information sheet for some customers
本例中使用的部分參數(shù)設(shè)置如3.1節(jié)所示。根據(jù)實(shí)際情況和社會(huì)經(jīng)驗(yàn),使用的其他參數(shù)設(shè)置如下:一級(jí)車輛容量為200 kg,固定成本200元/輛,單位運(yùn)輸費(fèi)用為0.53元/km;二級(jí)車輛容量為60 kg,固定成本為100元/輛,單位運(yùn)輸費(fèi)用為0.3元/km,行駛速度為30 km/h,最長(zhǎng)行駛時(shí)間Tmax為6 h;可用一級(jí)車輛數(shù)為3輛,可用二級(jí)車輛數(shù)為7輛。單位時(shí)間內(nèi)單位產(chǎn)品的價(jià)值損耗系數(shù)ρ為0.5元,車輛在客戶點(diǎn)的服務(wù)時(shí)間與貨物重量有關(guān),單位重量產(chǎn)品的服務(wù)時(shí)間為0.02 h。另外,由前文可知,顧客總數(shù)的前20%為重要客戶(表5中編號(hào)加粗者為重要客戶)。重要客戶單位時(shí)間窗偏離量費(fèi)用c1為0.5元,普通客戶單位時(shí)間窗偏離量費(fèi)用c2為0.1元。
基于上述數(shù)據(jù),運(yùn)用前文提出的兩階段啟發(fā)式算法求解本案例,運(yùn)行算法30次,選擇其中最佳優(yōu)化結(jié)果。結(jié)果顯示,第一階段算法求出的二級(jí)配送網(wǎng)絡(luò)選擇開放編號(hào)為S1和S2的配送中心,使用二級(jí)車輛數(shù)為7輛,相關(guān)經(jīng)濟(jì)成本為4 840.49元。第二階段算法根據(jù)開放的配送中心和二級(jí)路徑優(yōu)化方案求解出一級(jí)運(yùn)輸路徑,使用一級(jí)車輛數(shù)為2輛,相關(guān)經(jīng)濟(jì)成本為30 402.71元。解碼后,一、二級(jí)網(wǎng)絡(luò)路徑優(yōu)化方案如圖5。
圖5 一、二級(jí)網(wǎng)絡(luò)路徑優(yōu)化方案Fig.5 Primary and secondary network path optimization scheme
表6展示了兩階段啟發(fā)式算法求解2E-CVRP-CC模型的最佳優(yōu)化結(jié)果。結(jié)果顯示,2E-CVRP-CC模型的物流配送網(wǎng)絡(luò)總成本為35 243.20元。從表6中可以看出,車輛1至車輛7的載重量均接近滿載狀態(tài),這說明運(yùn)輸車輛不僅滿足了容量限制,而且車輛利用率較高。從運(yùn)輸成本看,7輛車的運(yùn)輸成本均不高,這是由于客戶間距離較近造成的。從時(shí)間窗懲罰成本看,每輛車都有一定的懲罰成本,其原因是一些客戶的期望時(shí)間窗沒有得到滿足。對(duì)于10位重要客戶而言,其中8位客戶的期望時(shí)間窗得到滿足,重要客戶時(shí)間窗的滿足率達(dá)到了80%。這說明,對(duì)客戶按重要性進(jìn)行分類處理,通過增大重要客戶時(shí)間窗偏離量費(fèi)用,可以提高重要客戶的時(shí)間窗滿足率,進(jìn)而提高了整體客戶滿意度,并使配送企業(yè)穩(wěn)定了優(yōu)質(zhì)客戶資源。從損耗成本看,除車輛固定成本、中心倉庫和配送中心的建設(shè)成本外,損耗成本在總成本中占比最高。這表明,在滿足客戶時(shí)間窗的前提下,盡可能減少生鮮產(chǎn)品的損耗費(fèi)用,可以使整體目標(biāo)達(dá)到最優(yōu)。
表6 二級(jí)網(wǎng)絡(luò)最優(yōu)結(jié)果Table 6 Optimal result for the second echelon network
為驗(yàn)證提出的兩階段啟發(fā)式算法對(duì)于求解多中心倉庫的生鮮配送兩級(jí)車輛路徑問題的性能,本案例擬選用3個(gè)備選中心倉庫,5個(gè)備選配送中心以滿足100位客戶的需求。將本文算法求得的最優(yōu)結(jié)果與標(biāo)準(zhǔn)粒子群算法(PSO)、蟻群算法(ACO)、遺傳算法(GA)和模擬退火算法(SA)求解結(jié)果進(jìn)行對(duì)比分析,每種算法的種群大小為80,最大迭代次數(shù)為1 000,運(yùn)行算法30次,選擇其中最佳優(yōu)化結(jié)果。
五種算法最優(yōu)結(jié)果對(duì)比如表7所示。從表7中可以看出,本文算法的最優(yōu)解相較于PSO而言,可使總成本降低4.22%,重要客戶時(shí)間窗滿足率提高37.5%;相較于ACO而言,可使總成本降低2.42%,重要客戶時(shí)間窗滿足率提高18.75%;相較于GA而言,可使總成本降低1.29%,重要客戶時(shí)間窗滿足率提高12.5%;相較于SA而言,可使總成本降低0.61%,重要客戶時(shí)間窗滿足率提高6.25%。因此,相較于其他四種算法而言,本文算法得到的結(jié)果最優(yōu)。
表7 五種算法最優(yōu)結(jié)果對(duì)比Table 7 Optimal results of five algorithms
算法迭代效果對(duì)比如圖6所示。本文采用兩階段啟發(fā)式算法求解該問題,第一階段使用改進(jìn)的GA-SA算法求解二級(jí)網(wǎng)絡(luò),第二階段使用精確方法求解一級(jí)網(wǎng)絡(luò)。為保證算法對(duì)比的統(tǒng)一性,其他四種算法和本文算法保持一致,即第一階段分別使用PSO、ACO、GA和SA求解二級(jí)網(wǎng)絡(luò),第二階段求解一級(jí)網(wǎng)絡(luò)均使用精確方法。因此,圖6的算法迭代對(duì)比圖表示各算法求解二級(jí)網(wǎng)絡(luò)成本的迭代過程。從圖6中可以看出,五種算法都可以得到最優(yōu)結(jié)果,但GA-SA求得的結(jié)果最優(yōu)。另外,從收斂速度看,GA-SA在450代左右已收斂到最優(yōu)值附近,在580代左右已逐漸收斂于最優(yōu)值;而PSO、ACO和GA均在600代左右才開始收斂于最優(yōu)值附近;SA在300代左右收斂于最優(yōu)值附近,在600代左右逐漸收斂于最優(yōu)值,雖然SA的收斂速度優(yōu)于GA-SA,但其求得的最優(yōu)值劣于GA-SA求得的最優(yōu)值。
圖6 算法迭代對(duì)比圖Fig.6 Comparison figure of five algorithms iteration
因此,由上述的對(duì)比分析可知,本文提出的算法對(duì)于求解多中心倉庫的生鮮配送兩級(jí)車輛路徑問題是可行且有效的。
本文研究了生鮮產(chǎn)品冷鏈物流背景下的兩級(jí)容量有限車輛路徑問題,考慮了客戶分類,將客戶按重要性分為重要客戶和普通客戶兩類,以物流配送網(wǎng)絡(luò)總成本最小為目標(biāo)建立了優(yōu)化模型。設(shè)計(jì)兩階段啟發(fā)式算法求解該模型,第一階段使用改進(jìn)的GA-SA算法求解二級(jí)配送網(wǎng)絡(luò),第二階段使用精確方法求解一級(jí)配送網(wǎng)絡(luò)。GA-SA算法改進(jìn)如下:(1)采用隨機(jī)方式生成初始種群,以使初始種群盡可能地均勻分布在整個(gè)解空間,保持種群的多樣性;(2)將輪盤賭選擇機(jī)制結(jié)合精英保留策略,保留優(yōu)秀個(gè)體;(3)采用部分匹配交叉算子結(jié)合自適應(yīng)交叉概率,維持種群多樣性,增強(qiáng)算法的全局搜索能力;(4)GA和SA兩種算法的結(jié)合避免算法易于陷入局部最優(yōu)解,彌補(bǔ)單一啟發(fā)式算法的局限性。
為驗(yàn)證提出的兩階段啟發(fā)式算法求解2E-CVRP的能力,選取Perboli提出的Set2算例集和Hemmelmayr提出的Set5算例集,共30個(gè)基準(zhǔn)案例,分別將所提出算法與四種算法進(jìn)行對(duì)比分析。結(jié)果表明,本文算法對(duì)于小規(guī)模問題均能找到最優(yōu)解,對(duì)于中大規(guī)模問題能求得其近似最優(yōu)解,且與其他算法差距不大。具體而言,對(duì)于Perboli提出的21個(gè)中小規(guī)?;鶞?zhǔn)案例,兩階段啟發(fā)式算法在6個(gè)算例中求得最優(yōu)解,另有1個(gè)算例求得更優(yōu)解,整體求得結(jié)果與最優(yōu)解的差距Gap均值僅為1.54%。對(duì)于Hemmelmayr提出的9個(gè)大規(guī)?;鶞?zhǔn)案例,本文算法性能優(yōu)于STS和EDTS算法,與HCC算法最優(yōu)結(jié)果和均值的差距分別為8.5%和9.94%,與BSHV算法最優(yōu)結(jié)果和均值的差距分別為8.67%和10.49%。另外,對(duì)算法的收斂性進(jìn)行了測(cè)試分析,結(jié)果表明,算法在前期就能快速收斂于最優(yōu)值附近,且在不同算例中表現(xiàn)穩(wěn)定。
為探究提出的2E-CVRP-CC模型與算法的適用性,基于模擬數(shù)據(jù)進(jìn)行了案例分析。最終的結(jié)果分析表明:(1)車輛載重量均接近滿載狀態(tài),說明運(yùn)輸車輛不僅滿足了容量限制,而且車輛利用率較高;(2)對(duì)客戶按重要性進(jìn)行分類處理,通過增大重要客戶時(shí)間窗偏離量懲罰程度,可以提高重要客戶的期望時(shí)間窗滿足率,進(jìn)而提高整體客戶滿意度并維持配送企業(yè)優(yōu)質(zhì)客戶資源;(3)本文提出的兩階段啟發(fā)式算法對(duì)于求解多中心倉庫的生鮮配送兩級(jí)車輛路徑問題也是可行且有效的。
綜上,本文可為生鮮配送的兩級(jí)車輛路徑問題提供決策支持,對(duì)保持企業(yè)優(yōu)質(zhì)客戶資源,提高企業(yè)配送效率和客戶滿意度具有一定參考價(jià)值。但是,本文也存在一定的局限性,比如只從經(jīng)濟(jì)角度考慮了物流配送系統(tǒng)總成本最小,而未考慮運(yùn)輸過程中的實(shí)時(shí)路況,以及各級(jí)網(wǎng)絡(luò)的多車型混合配送問題,未來可就此進(jìn)行進(jìn)一步的研究。