周 彤,衛(wèi)少鵬 (貴州大學(xué) 管理學(xué)院,貴州 貴陽(yáng)550025)
生鮮農(nóng)產(chǎn)品容易變質(zhì)、時(shí)效性強(qiáng)、對(duì)于運(yùn)輸方面的要求高,現(xiàn)有農(nóng)產(chǎn)品配送信息化管理不完善、冷鏈技術(shù)較落后[1],充分考慮影響農(nóng)產(chǎn)品配送的因素,降低農(nóng)產(chǎn)品配送成本和時(shí)間成為了亟待解決的問(wèn)題。生鮮農(nóng)產(chǎn)品屬于必需消費(fèi)品,需求量大、種類(lèi)多,由于產(chǎn)品本身具有活性,使其在運(yùn)輸過(guò)程中對(duì)時(shí)間、溫度等要求較高。同時(shí),生鮮農(nóng)產(chǎn)品門(mén)類(lèi)眾多,可替代消費(fèi)品很多,如何在市場(chǎng)占據(jù)一席之地,除了產(chǎn)品本身質(zhì)量,價(jià)格也是很重要的一個(gè)因素。
王邦兆等[2]針對(duì)生鮮產(chǎn)品零售點(diǎn)分散而造成成本高的問(wèn)題,以系統(tǒng)整體的眼光看待生鮮農(nóng)產(chǎn)品配送并運(yùn)用遺傳算法對(duì)整個(gè)配送網(wǎng)絡(luò)進(jìn)行了優(yōu)化。范林榜等[3]、高敏等[4]根據(jù)農(nóng)產(chǎn)品在電子商務(wù)環(huán)境下供應(yīng)鏈的發(fā)展情況提出了自身看法并提出解決方案,為生鮮農(nóng)產(chǎn)品雙渠道供應(yīng)鏈的協(xié)調(diào)發(fā)展提供了理論參考。王淑云等[5]探究了在生鮮農(nóng)產(chǎn)品庫(kù)存和利潤(rùn)的影響因素中,保鮮努力水平內(nèi)在關(guān)聯(lián)性,有利于總利潤(rùn)的提升。黃灝然等找出了生鮮農(nóng)產(chǎn)品配送環(huán)節(jié)中的錯(cuò)誤現(xiàn)象,并通過(guò)錯(cuò)誤函數(shù)等提出了能夠有效避免錯(cuò)誤剔除不可行方案模型,有利于提高配送效率。王恒等[6]為了保證生鮮農(nóng)產(chǎn)品準(zhǔn)時(shí)到達(dá)消費(fèi)者手中,綜合考慮了道路狀況、時(shí)間窗等因素并運(yùn)用自適應(yīng)遺傳算法驗(yàn)證有效性。Lu Liu 等[7]考慮消費(fèi)者對(duì)生鮮農(nóng)產(chǎn)品成熟度的要求,在配送中嚴(yán)格考慮了時(shí)間因素,有效地減少了物流損失。Lila Rajabion 等[8]以綠色供應(yīng)鏈視野通過(guò)模型和問(wèn)卷數(shù)據(jù)分析等方法得出了對(duì)綠色供應(yīng)鏈農(nóng)產(chǎn)品城市配送成功的因素。Jiani Wu 等[9]開(kāi)發(fā)了一個(gè)合適的考慮貨運(yùn)的農(nóng)產(chǎn)品物流方案,為研究人員和實(shí)踐者在面對(duì)可持續(xù)性挑戰(zhàn)時(shí)處理此類(lèi)問(wèn)題提供了實(shí)用的指南和見(jiàn)解。Yandra Rahadian Perdana 等[10]提出了農(nóng)業(yè)物流信息系統(tǒng)對(duì)供應(yīng)鏈管理中的重要性,并敘述了系統(tǒng)所需的體系結(jié)構(gòu)。J.Mehmann 等[11]整合了德國(guó)農(nóng)業(yè)散貨物流領(lǐng)域第四方物流服務(wù)供應(yīng)商的服務(wù)模式,證明了第四方物流服務(wù)提供商的方法中采用可持續(xù)性供應(yīng)鏈管理可以產(chǎn)生額外的價(jià)值。Christina Wiederer 等[12]通過(guò)對(duì)具體國(guó)家的農(nóng)產(chǎn)品物流進(jìn)行差異分析,為改善吉爾吉斯共和國(guó)農(nóng)產(chǎn)品供應(yīng)鏈提出了7 條政策建議。
關(guān)于生鮮農(nóng)產(chǎn)品物流方面的研究,國(guó)內(nèi)外學(xué)者大都聚焦于行業(yè)整體或歸結(jié)為車(chē)輛路徑規(guī)劃等方面進(jìn)行優(yōu)化,大都把生鮮農(nóng)產(chǎn)品歸類(lèi)為一種東西,但生鮮農(nóng)產(chǎn)品種類(lèi)與種類(lèi)之間差異巨大,受地區(qū)、氣候、季節(jié)等因素影響很大,還少有學(xué)者考慮生鮮農(nóng)產(chǎn)品多種類(lèi)運(yùn)輸方面的問(wèn)題。另外,此類(lèi)研究中采用的運(yùn)輸車(chē)輛大都為一種類(lèi)型,但實(shí)際運(yùn)輸當(dāng)中所用的廂式貨車(chē)載重量有差別,不同產(chǎn)品所需的車(chē)型也有所不同。本文提出多車(chē)型多種類(lèi)農(nóng)產(chǎn)品配送模型能很好地為實(shí)際農(nóng)產(chǎn)品配送調(diào)度提供決策素材。
在目標(biāo)函數(shù)方面,很多學(xué)者加入了路況、時(shí)間窗、顧客滿意等因素,但對(duì)于實(shí)時(shí)路況方面還未有較細(xì)致的描述。車(chē)輛行駛的成本有固定成本、路徑成本、等待成本、過(guò)路費(fèi)等,本文都有考慮。
圖1 新型地圖軟件決策模型
路徑成本、等待成本等受時(shí)間段、季節(jié)、天氣等因素影響較大,路徑選擇也會(huì)受到實(shí)時(shí)路況的影響,本文擬提出一種地圖類(lèi)軟件的新?lián)駜?yōu)路徑模式(如圖1 所示)。模型描述:云計(jì)算平臺(tái)黑箱:此實(shí)體即地圖軟件背后的計(jì)算平臺(tái)。實(shí)時(shí)路況:根據(jù)司機(jī)及衛(wèi)星數(shù)據(jù)記錄道路擁堵及道路質(zhì)量情況。顧客需求:消費(fèi)者根據(jù)需求選擇路費(fèi)、路徑及時(shí)間。車(chē)輛信息:車(chē)輛年限、車(chē)輛型號(hào)、耗油情況、實(shí)時(shí)運(yùn)作能耗及磨損等。歷史數(shù)據(jù):歷史數(shù)據(jù)統(tǒng)計(jì)出的堵車(chē)及事故等。未來(lái)決策依據(jù):堵車(chē)信息及車(chē)輛運(yùn)作情況作為今后選擇路線的依據(jù)。全局最優(yōu)方案:不止局限于此次行車(chē)最短時(shí)間或路徑,而是基于車(chē)輛系統(tǒng)運(yùn)作及消費(fèi)者實(shí)時(shí)需求的全局的、有利于長(zhǎng)期出行的推薦路徑。在此基礎(chǔ)上盡量保證地圖數(shù)據(jù)庫(kù)的更新和完整。
本文以多種類(lèi)農(nóng)產(chǎn)品配送出發(fā),采用多種類(lèi)車(chē)型進(jìn)行調(diào)度,結(jié)合實(shí)時(shí)路況全方位考慮生鮮農(nóng)產(chǎn)品運(yùn)輸成本,并以此為優(yōu)化目標(biāo),有很強(qiáng)的實(shí)際意義。
模型相關(guān)解釋如下:
(1) 實(shí)時(shí)路況:考慮等待時(shí)間、路徑、路費(fèi)成本的目標(biāo)函數(shù)。
(2) 多車(chē)型:多種容量的廂式貨車(chē)。
(3) 多種類(lèi)農(nóng)產(chǎn)品:同時(shí)配送一種以上農(nóng)產(chǎn)品。為了體現(xiàn)多品種運(yùn)輸,本文把廂貨車(chē)進(jìn)行分廂,例如載重1.5t 的廂貨車(chē),令0.5t 為一個(gè)隔廂,每個(gè)隔廂可裝相同或不同的農(nóng)產(chǎn)品,理想需求量為隔廂重量的總數(shù)。
農(nóng)產(chǎn)品配送網(wǎng)絡(luò):V={i、j|0,1,2,3,…,n}表示零售點(diǎn)的集合,頂點(diǎn)0 表示農(nóng)產(chǎn)品物流中心是各農(nóng)產(chǎn)品零售點(diǎn)及物流中心之間的路徑集合,dij表示i到j(luò)之間的距離;用M={m|1,2,3,…,w}表示農(nóng)產(chǎn)品集合,零售點(diǎn)對(duì)于農(nóng)產(chǎn)品m的需求量為qim≥0。K表示所有配送車(chē)輛的集合,H表示配送中心車(chē)輛車(chē)型的集合,車(chē)型h∈H的固定派車(chē)成本為Fh,平均油耗成本為Ch,等待成本為T(mén)h,路費(fèi)成本為Rij,Ah為隔箱集合,研究對(duì)象暫為一個(gè)周期的配送。為方便研究,假設(shè)如下條件:
(1) 訂單配送不采取先訂先送,均假設(shè)各零售商前一天根據(jù)銷(xiāo)售情況下訂單,物流中心第二天統(tǒng)一進(jìn)行派送。
(2) 假設(shè)各種廂式貨車(chē)每0.1t 為一個(gè)隔廂,每個(gè)隔廂滿載一種農(nóng)產(chǎn)品,且零售點(diǎn)需求量為隔廂載重的整數(shù)倍。
(3) 不同農(nóng)產(chǎn)品的配送優(yōu)先級(jí)不同,易腐壞、保質(zhì)期短的先配送,本文假定均為同類(lèi)型生鮮農(nóng)產(chǎn)品,不區(qū)分優(yōu)先級(jí)。
(4) 配送過(guò)程為:物流中心→各零售點(diǎn)→物流中心。
(5) 每個(gè)配送過(guò)程一旦開(kāi)始便不中斷,不考慮緊急訂單插入的情況。
(6) 廂式貨車(chē)車(chē)型為:1.5t、2t、3t、5t。
決策變量符號(hào)說(shuō)明如下:
Bkh∈{0,1 },Bkh=1 車(chē)輛k∈K屬于車(chē)型h,否則=0。
Ykaim∈{0,1 },Ykaim=1 表示車(chē)輛k的隔廂a在零售點(diǎn)i需求的農(nóng)產(chǎn)品種類(lèi)m,否則=0。
qkaim≥0,表示車(chē)輛k的隔廂a在零售點(diǎn)i卸貨農(nóng)產(chǎn)品m的重量。
L
ij表示節(jié)點(diǎn)間距離矩陣。
Xij∈{0,1 },xij=1 表示節(jié)點(diǎn)i的下一個(gè)節(jié)點(diǎn)是j;Xij=0 表示節(jié)點(diǎn)i的下一個(gè)節(jié)點(diǎn)不是j。
tij表示節(jié)點(diǎn)間等待成本時(shí)間矩陣。
mij表示節(jié)點(diǎn)間過(guò)路費(fèi)成本矩陣。
nij∈{0,1 },nij=1 表示i到j(luò)間有過(guò)路費(fèi);nij=0 表示i到j(luò)間無(wú)過(guò)路費(fèi)。
農(nóng)產(chǎn)品配送模型如上:(1) 為目標(biāo)函數(shù),表示成本最小,分別包括行駛路程成本、等待時(shí)長(zhǎng)成本、固定派車(chē)成本及過(guò)路費(fèi)成本。(2) 表示所有廂貨車(chē)均從物流中心出發(fā)。(3) 表示廂貨車(chē)送完一個(gè)零售點(diǎn)后離開(kāi)配送下一個(gè)零售點(diǎn)。(4) 表示每個(gè)零售點(diǎn)每天只配送一次。(5) 表示廂貨車(chē)只為經(jīng)過(guò)的零售點(diǎn)進(jìn)行配送,不接受臨時(shí)緊急訂單。(6) 表示零售點(diǎn)每種農(nóng)產(chǎn)品需求量不得多于每個(gè)隔廂可配送量。(7) 表示每輛車(chē)經(jīng)由的零售點(diǎn)的總需求量不得多于該車(chē)的總載重量。(8) 表示每個(gè)零售點(diǎn)所需農(nóng)產(chǎn)品量均被配送。(9) 為適應(yīng)編程的子回路消除約束。(10) 表示每輛廂貨車(chē)的每個(gè)隔廂只能裝一種農(nóng)產(chǎn)品。(11)表示每輛廂貨車(chē)型號(hào)固定。(12) ~(15) 表示各個(gè)變量的約束。
生鮮農(nóng)產(chǎn)品配送問(wèn)題屬于NP-hard 問(wèn)題,很難短時(shí)間運(yùn)用普通的求解方式得出最優(yōu)解,本文選用改進(jìn)型遺傳算法進(jìn)行求解。遺傳算法具有并行性、魯棒性強(qiáng)、利于全局擇優(yōu)等優(yōu)點(diǎn),同時(shí)也存在易出現(xiàn)未成熟收斂,在快要接近最優(yōu)值時(shí)收斂速度慢、效率低等問(wèn)題[13]。為了使算法能更好地說(shuō)明問(wèn)題,采用實(shí)數(shù)編碼方式。為了使選擇算子能兼顧到多樣性,讓算法的搜索空間大幅度增加,選擇錦標(biāo)賽選擇法來(lái)進(jìn)行選擇環(huán)節(jié)。為了增加搜索廣度,采用區(qū)域重組交叉方法改進(jìn)交叉算子。改進(jìn)遺傳算法設(shè)計(jì)如下。
為了更直觀地解釋改進(jìn)遺傳算法過(guò)程,更好地使編碼貼近問(wèn)題,假設(shè)為單品種農(nóng)產(chǎn)品運(yùn)輸,采用實(shí)數(shù)編碼,將所有車(chē)輛按照車(chē)型排成隔廂等編碼,將所需配送的農(nóng)產(chǎn)品零售點(diǎn)編碼。設(shè)一個(gè)保有6 輛廂貨車(chē)的農(nóng)產(chǎn)品配送點(diǎn)給7 個(gè)零售點(diǎn)配貨,廂貨車(chē)及零售點(diǎn)信息如表1、表2 所示:
表1 廂貨車(chē)信息表
表2 零售點(diǎn)信息表
本問(wèn)題的一個(gè)可行解為:2 車(chē)負(fù)責(zé)派送零售點(diǎn)4,路徑為0-4-0;4 車(chē)負(fù)責(zé)派送零售點(diǎn)5 和6,路徑為0-5-6-0;1 車(chē)負(fù)責(zé)派送零售點(diǎn)7,路徑為0-7-0;5 車(chē)負(fù)責(zé)派送零售點(diǎn)1 和2,路徑為0-1-2-0;3 車(chē)負(fù)責(zé)派送零售點(diǎn)3,路徑為0-3-0。
按照遺傳算法實(shí)數(shù)染色體編碼規(guī)則,不影響可行解的編碼采用隨機(jī)排序,得出貨車(chē)編碼串和零售點(diǎn)編碼串分別為:241536,467123。
解碼規(guī)則同編碼規(guī)則,從最終編碼串中分出貨車(chē)編碼串及零售點(diǎn)編碼串,在滿足零售點(diǎn)需求且不超過(guò)每輛貨車(chē)載重量的情況下對(duì)應(yīng)解出所需車(chē)輛數(shù)及型號(hào),通過(guò)零售點(diǎn)編碼順序確定配送順序。
適應(yīng)度函數(shù)是將遺傳算法與待解決具體問(wèn)題連接的媒介,代表種群中每個(gè)個(gè)體對(duì)所在環(huán)境的適應(yīng)程度,與目標(biāo)值存在對(duì)應(yīng)關(guān)系。因?yàn)樽罱K的優(yōu)化目標(biāo)函數(shù)為求成本最小,則定義適應(yīng)度函數(shù)為目標(biāo)函數(shù)的倒數(shù)[14]。為了計(jì)算本例中的是適應(yīng)度,給出以
下成本計(jì)算數(shù)據(jù)。
配送距離數(shù)據(jù)(假設(shè)來(lái)回選擇路徑相同) 及配送等待時(shí)間數(shù)據(jù)如下:
假設(shè)整體運(yùn)輸中過(guò)路費(fèi)50 元,根據(jù)模型中目標(biāo)函數(shù)得出總費(fèi)用如下:(1) 固定費(fèi)用:260+350+200+260+200=1270。(2)路程成本:(20+20+10+18+25+24+24+12+30+35+15+15)×4=992。(3) 等待成本:(10+15+5+15+20+10+15+12+18+24+6+10)×3=450??偝杀荆?0+1270+992+450=2 762。適應(yīng)度為:1/2762=0.00036。
3.3.1 選擇算子
傳統(tǒng)的輪盤(pán)賭方式選擇算子容易過(guò)早收斂,這里結(jié)合錦標(biāo)賽選擇法進(jìn)行選擇。每一次迭代中選擇優(yōu)秀個(gè)體,設(shè)置權(quán)重,令輪盤(pán)賭和錦標(biāo)賽各選擇部分個(gè)體進(jìn)入下一代,能夠明顯增加搜索的廣度。當(dāng)出現(xiàn)算法過(guò)早收斂或早熟現(xiàn)象時(shí),可選擇排除非劣解進(jìn)行競(jìng)爭(zhēng)的權(quán)利,或重新洗牌來(lái)增加種群多樣性[13]。
3.3.2 交叉算子
采用區(qū)域重組交叉方法改進(jìn)交叉算子:隨機(jī)選取位置及長(zhǎng)度,隨機(jī)排到其他解得前段,在解后部分尋找重復(fù)字符刪除。例如:上文另一個(gè)可行解貨車(chē)編碼串及零售點(diǎn)編碼串為:132546,537124。兩個(gè)可行解交叉方式如下:
貨車(chē)編碼串選取的隨機(jī)數(shù)為2,長(zhǎng)度為2;零售點(diǎn)編碼串隨機(jī)數(shù)為3,長(zhǎng)度為3。
將選中的字符串分別提到另一個(gè)可行解的開(kāi)頭,得到下列編碼串。
將后續(xù)字符串中重復(fù)的內(nèi)容去掉得到子代編碼串。
3.3.3 變異算子
為了防止在迭代時(shí)陷入過(guò)早收斂或早熟情況,當(dāng)種群中個(gè)體適應(yīng)度差異小趨于局部最優(yōu)時(shí),增加變異概率,種群適應(yīng)度發(fā)散時(shí)可減少變異概率,防止優(yōu)良基因不能良好的遺傳??捎孟铝锌勺冏儺惛怕蕘?lái)實(shí)現(xiàn)自適應(yīng)變異算子:
If(個(gè)體適應(yīng)度>平均適應(yīng)度)then Pm取值很?。?.002) 或?yàn)榱悖?/p>
Else Pm取值相對(duì)很大(0.08)。
可以較好地防止過(guò)早收斂或陷入局部最優(yōu),還可以防止優(yōu)良基因被破壞。
P 市X 區(qū)有豬肉屠宰場(chǎng)ZJ 廠,負(fù)責(zé)該區(qū)大型商場(chǎng)的冷鮮豬肉供應(yīng)。共需配送的商場(chǎng)有20 個(gè),分別為YYC 商場(chǎng)、XL 商場(chǎng)、WD 商場(chǎng)、SN 商場(chǎng)、HX 商場(chǎng)、YH 商場(chǎng)等?,F(xiàn)該豬肉屠宰場(chǎng)冷藏運(yùn)輸車(chē)為同一型號(hào),最大載重量1.5t。ZJ 市場(chǎng)坐標(biāo)為(2745,4032),該地區(qū)生鮮肉需求點(diǎn)集合及各零售點(diǎn)坐標(biāo)如圖2、表3 所示。
ZJ 物流中心冷鮮豬肉平時(shí)的配送均為人工安排,現(xiàn)通過(guò)遺傳算法優(yōu)化,設(shè)置種群規(guī)模為100,交叉概率為0.75,變異概率為0.1,最大迭代次數(shù)為200,共動(dòng)用冷藏貨車(chē)5 輛,人工車(chē)輛調(diào)度與算法優(yōu)化后路徑及成本對(duì)比如表4 所示,由于實(shí)時(shí)路況無(wú)法獲得數(shù)據(jù),暫不考慮等待時(shí)間成本,假設(shè)所選擇的路徑均為城市路徑,無(wú)收費(fèi)路徑,設(shè)單位運(yùn)輸成本為5 元/km。
MATLAB 仿真軌跡及尋優(yōu)過(guò)程如圖3 所示。
通過(guò)上述求解可以看出,人工安排和遺傳算法求解對(duì)比,可以發(fā)現(xiàn)所需要的貨車(chē)數(shù)量減少2 輛,每次配送成本下降近30%,優(yōu)化結(jié)果良好。從左邊優(yōu)化過(guò)程可以看出,經(jīng)過(guò)幾次局部最優(yōu)后通過(guò)變異等方式脫離了局部最優(yōu)最終達(dá)到了全局最優(yōu),說(shuō)明算法有效。
圖2 該地區(qū)生鮮肉需求點(diǎn)集合
表3 各零售點(diǎn)坐標(biāo)
表4 優(yōu)化前后車(chē)輛配送信息
圖3 MATLAB 仿真軌跡及尋優(yōu)過(guò)程
本文提出了考慮實(shí)時(shí)路況的多車(chē)型多種類(lèi)生鮮農(nóng)產(chǎn)品配送模型,為了更好地表達(dá)多品種的思想,將廂貨車(chē)按照載重量分成相等隔廂,將每個(gè)零售點(diǎn)需求量采用隔廂數(shù)量的方式表達(dá),較好解決了現(xiàn)實(shí)中生鮮產(chǎn)品多產(chǎn)品配送問(wèn)題。運(yùn)用改進(jìn)選擇算子遺傳算法對(duì)算例進(jìn)行求解,說(shuō)明MATLAB 仿真后得出的優(yōu)化結(jié)果比人工調(diào)度成本降低了近30%,同時(shí)配送需求的貨車(chē)減少了2輛,減少了物流中心固定成本的投入,為現(xiàn)實(shí)生鮮農(nóng)產(chǎn)品配送提供了一定的決策依據(jù)。