王紅艷 朱鑫彥
摘要:互聯(lián)網(wǎng)的發(fā)展給滯銷的農(nóng)產(chǎn)品打開了新的出路,但由于農(nóng)產(chǎn)品的保質(zhì)期限較短,如果物流配送不能及時(shí)送達(dá)就會(huì)使農(nóng)產(chǎn)品變質(zhì)。為了盡可能地滿足消費(fèi)者的需求,通過研究農(nóng)產(chǎn)品在配送時(shí)的車輛路徑問題,合理規(guī)劃配送車輛的運(yùn)輸路線,并且采用集配一體化的配送方式,對(duì)于提高企業(yè)服務(wù)水平、降低物流成本以及促進(jìn)我國(guó)物流行業(yè)甚至是社會(huì)經(jīng)濟(jì)的發(fā)展具有重大意義。主要針對(duì)西部農(nóng)產(chǎn)品配送路線出現(xiàn)的不合理現(xiàn)象進(jìn)行優(yōu)化,進(jìn)而節(jié)省運(yùn)輸費(fèi)用,提高經(jīng)濟(jì)效益,通過構(gòu)建農(nóng)產(chǎn)品配送路線,采用數(shù)學(xué)模型進(jìn)行條件限定,并用遺傳算法對(duì)原有的配送路線進(jìn)行優(yōu)化,通過MATLAB軟件進(jìn)行計(jì)算結(jié)果的論證,進(jìn)而得到最優(yōu)解,最終為西北農(nóng)產(chǎn)品配送中心得出較經(jīng)濟(jì)合理的配送路線。
關(guān)鍵詞:遺傳算法;農(nóng)產(chǎn)品;配送路線;MATLAB
中圖分類號(hào): F252.14 ?文獻(xiàn)標(biāo)志碼: A ?文章編號(hào):1002-1302(2019)17-0233-04
在“互聯(lián)網(wǎng)”發(fā)展的推動(dòng)下,我國(guó)農(nóng)產(chǎn)品貿(mào)易保持較快增長(zhǎng),這為“十三五”期間我國(guó)農(nóng)產(chǎn)品貿(mào)易發(fā)展帶來很多新機(jī)遇,但農(nóng)產(chǎn)品貿(mào)易發(fā)展需要加快物流配送,只有配送服務(wù)到位,才能更長(zhǎng)遠(yuǎn)、更好地發(fā)展[1]。中央也將城市配送納入物流行業(yè)九大重點(diǎn)工程建設(shè)之一,提到了優(yōu)先發(fā)展的高度[2]。通過對(duì)農(nóng)產(chǎn)品配送問題的研究,不僅可以有效地降低社會(huì)物流總成本,提高配送服務(wù)水平,改變我國(guó)物流管理落后的現(xiàn)狀,還有助于優(yōu)化城市交通環(huán)境,緩解就業(yè)壓力、加快產(chǎn)業(yè)轉(zhuǎn)移、促進(jìn)區(qū)域經(jīng)濟(jì)均衡快速地發(fā)展,下面以西北配送中心為例,進(jìn)行配送路線的研究[3]。
1 西北農(nóng)產(chǎn)品配送中心配送路線優(yōu)化數(shù)學(xué)模型的建立
西北農(nóng)產(chǎn)品配送中心位于陜西省西安市辛家廟農(nóng)產(chǎn)品批發(fā)市場(chǎng)附近,該配送中心每天都有大小不等的車輛進(jìn)行配送,其中有10個(gè)大型配送點(diǎn)比較集中,分別是人人樂、華潤(rùn)萬家、沃爾瑪、明喆蔬菜店、京東超市、蘇寧易購(gòu)、天貓超市、家樂福超市、世紀(jì)金華、民生量販。原來的配送方式是根據(jù)配送點(diǎn)的需要安排車輛,但是這樣車輛不固定,配送路線也比較亂,每次配貨都需要臨時(shí)調(diào)車,同時(shí)導(dǎo)致車輛沒有得到合理利用,現(xiàn)針對(duì)這個(gè)問題進(jìn)行配送路線優(yōu)化數(shù)學(xué)模型的建立。
1.1 設(shè)定條件
對(duì)農(nóng)產(chǎn)品網(wǎng)購(gòu)物流配送模型可以做如下抽象和假設(shè):(1)在保證滿足每個(gè)客戶的要求的前提下,不超過每臺(tái)車的限載量和最遠(yuǎn)行駛距離,使配送路線最短,效益最優(yōu);(2)車輛到達(dá)指定點(diǎn)后,先卸貨,后裝貨,然后再行駛?cè)ハ乱粋€(gè)站點(diǎn);(3)所有配送的車輛規(guī)格都一樣,擁有相同的載重能力和最大行駛里程;(4)配送中心只有1個(gè),到各個(gè)客戶的距離經(jīng)過計(jì)算可以得出;(5)現(xiàn)有若干車輛,限載量為2 t和4 t,由于是干貨類,不考慮載重,車的配送最大行駛距離不能超過45 km。
1.2 數(shù)學(xué)模型的建立即變量定義
Q表示每輛車的承載量;M表示所有的車輛數(shù);D表示每臺(tái)配送車輛的最遠(yuǎn)行駛距離;N表示共下單購(gòu)買貨物的客戶數(shù);S0j表示配送中心到每個(gè)客戶的距離,j=1,2,3,…,N;Sij表示客戶i到客戶j的距離;xi表示每個(gè)客戶需要的數(shù)量;Nk表示車輛k能夠配送的客戶數(shù)量;Rk表示第k輛車的行駛路線;Gki表示第k輛車配送順序的第i個(gè)客戶(Gk0=0,表示在物流中心)。
1.3 建立目標(biāo)函數(shù)及約束條件
(1)目標(biāo)函數(shù):minZ=∑MM=1[∑Nki=1SGk(i-1)·Gki+SGkNkGk0×sign(Nk)]。
目標(biāo)是總的配送距離最小。
(2)限制條件:
∑Nki=1xGki≤Q,該限制條件是在k條路線上的所有客戶的總需求量不能超過車的承載量。
∑Nki=1SGk(i-1)Gki+SGkNkGk0×sign(Nk)≤D,該限制條件是每一個(gè)配送路線的最大距離不能超過每輛車的最大行駛距離。
0≤Nk≤N,該限制條件是每條配送路線的客戶數(shù)量不能超過總客戶數(shù)量。
∑Mk=1Nk=N,該限制條件就是確保每個(gè)客戶都拿到相應(yīng)的貨物數(shù)量。
Rk1∩Rk2=fR,該限制條件要求每個(gè)客戶僅一輛車進(jìn)行配送。
sign(Nk)=1(Nk≥1)
0(表示該車未被利用)。
2 遺傳算法的配送路徑的優(yōu)化流程
在農(nóng)產(chǎn)品的物流配送中,優(yōu)化路徑是較復(fù)雜的非確定性問題,采用傳統(tǒng)的算法在求解滿意程度上存在著一定的不足之處,而遺傳算法是一種全局搜索算法,具有運(yùn)算簡(jiǎn)單且收斂速度快等特點(diǎn)[4]。遺傳算法具體流程如圖1所示。
在圖1流程圖中,交叉概率Pc取值為0.25~1.0,變異概率Pm取值為0.01~0.1,計(jì)算過程中的迭代次數(shù)達(dá)到了預(yù)先設(shè)定的最大迭代次數(shù),則計(jì)算終止。
2.1 編碼
采用自然數(shù)編碼的形式,根據(jù)上述問題的約束條件,將任務(wù)分配給各車輛,并將各個(gè)客戶規(guī)劃到車輛的配送路徑中,最終回到配送中心,形成閉環(huán)路1;而另一輛車也從配送中心出發(fā)經(jīng)過各配送站點(diǎn)后回到配送中心形成閉環(huán)2,重復(fù)此操作直到此配送中心的所有客戶的貨物都送達(dá)。
2.2 初始種群構(gòu)造
隨機(jī)產(chǎn)生X條路線的全排列,并在開始和結(jié)尾處插入0。選擇每一個(gè)要送貨的客戶,計(jì)算該節(jié)點(diǎn)的配送量,首先要考慮承載量∑Nki=1SGk(i-1)Gki+SGkNkGk0×sign(Nk)≤D的約束條件,若當(dāng)前車輛的裝載量能夠滿足配送貨物的要求,則須繼續(xù)檢驗(yàn)行駛路程0≤Nk≤N的約束條件,若能夠滿足上述約束條件,則重復(fù)用上述約束條件進(jìn)行檢驗(yàn),直到將m-1個(gè)0插入到染色體內(nèi)為止。
2.3 適應(yīng)度函數(shù)
適應(yīng)度函數(shù)是衡量種群中每個(gè)個(gè)體優(yōu)劣程度的指標(biāo)[5]。本研究針對(duì)上述問題設(shè)計(jì)合理的適應(yīng)度函數(shù)來對(duì)文中具體的染色體進(jìn)行評(píng)估。本研究構(gòu)建的數(shù)學(xué)模型是最小化組合優(yōu)化問題,其目標(biāo)是minZ=∑MM=1[∑Nki=1SGk(i-1)·Gki+SGkNkGk0×sign(Nk)],所包含的約束條件較多,最核心的限制條件:
(1)總需求量不能超過車的承載量:
∑Nki=1SGk(i-1)Gki+SGkNkGk0×sign(Nk)≤D;
(2)最大距離不能超過每輛車的最大行駛距離:
0≤Nk≤N。
2.4 選擇操作
選擇操作是遺傳算法進(jìn)化的基礎(chǔ),根據(jù)“物競(jìng)天擇,適者生存”的觀念,從父代種群中選擇優(yōu)良個(gè)體,使其有機(jī)會(huì)繁衍下一代,從而產(chǎn)生更加優(yōu)秀的個(gè)體[6]。本研究使用的選擇操作算子結(jié)合最佳個(gè)體保存策略,具體操作:對(duì)每一代群體中的染色體按照適應(yīng)度進(jìn)行排序,適應(yīng)度值最大的染色體直接進(jìn)入下一代,這種選擇方法既保證了適應(yīng)度最高的個(gè)體能夠順利進(jìn)入下一代,又保證了種群中適應(yīng)度值較大的個(gè)體能以較大的機(jī)會(huì)進(jìn)入到下一代[7]。
2.5 交叉操作
本研究根據(jù)交叉算子的染色體編碼結(jié)構(gòu)的特殊性,即染色器編碼中2個(gè)0之間的編碼表示單個(gè)車輛的配送路徑,在交叉操作時(shí)把子串復(fù)制到目標(biāo)染色器的首部,然后刪除目標(biāo)染色體中跟復(fù)制的子串相同的編碼,并重新調(diào)整目標(biāo)染色體中編碼0的位置[8]。交叉操作的過程分為3個(gè)步驟:
2.5.1 確定要交叉操作的染色體子串 根據(jù)前面確定的編碼規(guī)則,有X個(gè)客戶點(diǎn)、M個(gè)配送車輛的車輛路徑規(guī)劃問題的染色體編碼長(zhǎng)度為X+M+1[9]。選擇2個(gè)染色體X1和X2,在[1,X+M+1]之間隨機(jī)產(chǎn)生2個(gè)整數(shù)m1和m2(m1 2.5.2 染色體子串交叉復(fù)制 把染色體X1中m1和m2之間的編碼串整體復(fù)制到新染色體X11的首部。 2.5.3 調(diào)整剩余子串編碼 刪除染色體X2中與復(fù)制子串相同的基因編碼,同時(shí)調(diào)整染色體X2中基因碼0的位置。并按照此順序?qū)⑷旧w編碼復(fù)制到染色體X11中復(fù)制子串之后。具體編輯過程的操作如圖2所示。 3 MATLAB在遺傳算法中的應(yīng)用 西北農(nóng)產(chǎn)品配送中心到10個(gè)客戶的距離以及各個(gè)客戶之間的距離如表1所示。 針對(duì)以上距離數(shù)據(jù),結(jié)合建立的數(shù)學(xué)優(yōu)化模型,打開MATLAB窗口,直接在Fitness funtion框里輸入@rastriginsfcn;輸入變量個(gè)數(shù)為2,設(shè)定繁殖代數(shù)為150代。在plot區(qū)里可以勾選希望看到的結(jié)果圖像,設(shè)置完參數(shù)之后點(diǎn)擊start按鈕就可以運(yùn)行了。關(guān)于函數(shù)編碼的主要內(nèi)容如下。 3.1 計(jì)算目標(biāo)函數(shù)值 % calobjvalue.m函數(shù)的功能是實(shí)現(xiàn)目標(biāo)函數(shù)的計(jì)算,其公式采用本研究示例仿真,可根據(jù)不同優(yōu)化問題予以修改。 %遺傳算法子程序 %Name:calobjvalue.m %實(shí)現(xiàn)目標(biāo)函數(shù)的計(jì)算 function[objvalue]=calobjvalue(pop) temp1=decodechrom(pop,1,10); %將pop每行轉(zhuǎn)化成十進(jìn)制數(shù) x=temp1*10/1023; %將二值域中的數(shù)轉(zhuǎn)化為變量域的數(shù) objvalue=∑MM=1[∑Nki=1SGk(i-1)·Gki+SGkNkGk0×sign(Nk)];%計(jì)算目標(biāo)函數(shù)值 3.2 求出群體中最小得適應(yīng)值及其個(gè)體 %遺傳算法子程序 %Name:best.m %求出群體中適應(yīng)值最小的值 function[bestindividual,bestfit]=best(pop,fitvalue) [px,py]=size(pop); bestindividual=pop(1,:); bestfit=fitvalue(1); for i=2:px if fitvalue(i)>bestfit bestindividual=pop(i,:); bestfit=fitvalue(i); end 3.3 迭代過程 根據(jù)上述遺傳算法的程序編輯,經(jīng)過49次的迭代次數(shù),其迭代過程如圖3所示。 3.4 最后仿真結(jié)果 根據(jù)遺傳算法的計(jì)算思路,采用MATLAB軟件,進(jìn)行路線優(yōu)化設(shè)計(jì),得出最優(yōu)結(jié)果有3條路線,如表2所示。第1條路線是配送中心——人人樂——華潤(rùn)萬家——沃爾瑪——明喆蔬菜店——京東超市;第2條路線是配送中心——蘇寧易購(gòu)——天貓超市——家樂?!兰o(jì)金花;第3條路線是配送中心——民生量販。具體車輛行駛路徑如圖4、圖5、圖6所示。 經(jīng)過49次的迭代次數(shù),原來的配送路線是用10輛車進(jìn)行單獨(dú)配送,配送路程共是192 km。經(jīng)過優(yōu)化后現(xiàn)在的配送路線是由3輛車進(jìn)行配送,配送路線距離為124 km。所達(dá)到的效果是優(yōu)化后的路線較原來的路線減少68 km,車輛節(jié)省了7輛。 4 結(jié)論 在“互聯(lián)網(wǎng)”的促進(jìn)下,西北農(nóng)產(chǎn)品的發(fā)展也在加速,圍繞西北農(nóng)產(chǎn)品配送中心配送不及時(shí)、配送費(fèi)用高等問題,建立以配送路線最短為目標(biāo)函數(shù),多個(gè)約束條件的數(shù)學(xué)模型,采用遺傳算法對(duì)西北農(nóng)產(chǎn)品配送中心的配送路線進(jìn)行優(yōu)化,并通過MATLAB軟件編輯代碼,這一優(yōu)化求得最優(yōu)解。這一優(yōu)化為西北農(nóng)產(chǎn)品配送中心大大提高了配送效率,同時(shí)也節(jié)省了配送費(fèi)用,大大促進(jìn)了西北地區(qū)農(nóng)產(chǎn)品網(wǎng)絡(luò)銷售市場(chǎng)的發(fā)展。 參考文獻(xiàn): [1]劉海燕,余世欣. 基于遺傳算法的物流車輛派送管理[J]. 電子設(shè)計(jì)工程,2017,25(2):37-39. [2]蘇 楠,鹿 靜,王棟梁. 基于遺傳算法的物流配送車輛路徑優(yōu)化問題[J]. 汽車實(shí)用技術(shù),2016(6):4-6. [3]莊景明,彭昕昀. 基于改進(jìn)遺傳算法的新鮮農(nóng)產(chǎn)品配送路線優(yōu)化研究[J]. 江西師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2017,36(4):399-402. [4]金巳婷,呂 閃,吳陽明,等. 基于改進(jìn)遺傳算法的物流配送路徑優(yōu)化方法研究[J]. 計(jì)算機(jī)與數(shù)字工程,2017,45(4):629-631. [5]王有鴻. 基于遺傳算法的生鮮農(nóng)產(chǎn)品物流配送路徑聚類優(yōu)化[J]. 江蘇農(nóng)業(yè)科學(xué),2018,46(12):358-362. [6]周建國(guó). 基于改進(jìn)遺傳算法的農(nóng)產(chǎn)品配送路徑優(yōu)化研究[J]. 采購(gòu)與供應(yīng)鏈,2018(1):136-138. [7]曹 倩,邵舉平,孫延安. 基于改進(jìn)遺傳算法的生鮮農(nóng)產(chǎn)品多目標(biāo)配送路徑優(yōu)化[J]. 工業(yè)工程,2015,18(1):71-76. [8]陳孝強(qiáng). “互聯(lián)網(wǎng)+農(nóng)業(yè)”環(huán)境下消費(fèi)者網(wǎng)購(gòu)農(nóng)產(chǎn)品意愿與影響因素研究[J]. 經(jīng)濟(jì)理論與實(shí)踐,2018(2):19-21. [9]袁 群,左 欒. 基于改進(jìn)混合遺傳算法的冷鏈物流配送中心選址優(yōu)化[J]. 上海交通大學(xué)學(xué)報(bào),2016,50(11):1795-1800.