隨著物流業(yè)的飛速發(fā)展,人們對于快消品的需求也在日益增加,而作為物流環(huán)節(jié)中的重要一環(huán),物流配送中心在商品的配送中起到了承上啟下的作用
近年來,許多學者針對當下配送中心選址問題進行研究,主要包含單目標選址及多目標選址問題等
針對以上問題,本文提出了一種改進布谷鳥算法用于解決物流配送中心的選址問題,即將布谷鳥算法和粒子群算法進行有效組合,提高搜索效率,并引入自適應(yīng)參數(shù)來避免算法過早收斂,增強全局尋優(yōu)能力。實例仿真表明,本文的改進布谷鳥算法具有可行性、適用性,為企業(yè)降低物流成本,提高庫存周轉(zhuǎn)次數(shù)提供了參考依據(jù)。
混合整數(shù)規(guī)劃模型(MIP)一般用于解決多設(shè)施選址規(guī)劃問題,具有使用簡單且最終解符合實際需求等優(yōu)點
在生產(chǎn)制造部和地級市批發(fā)商的地理位置以及需求量確定的情況下,這里只考慮物流配送中心的設(shè)置,在滿足產(chǎn)銷量平衡的條件下,將總成本降到最低。因此將物流配送中心選址問題描述為如下目標函數(shù):
min
其中,C為成本函數(shù),m、n、l、分別表示生產(chǎn)制造部、物流配送中心、地級市批發(fā)商的總數(shù),Pij和Rij分別表示第i個生產(chǎn)制造部至第j個物流配送中心的配送量和配送成本,Qjk和Rjk分別表示第j個物流配送中心至第k個地級市批發(fā)商的配送量和配送成本,Uj和Wj分別表示第j個物流配送中心的基礎(chǔ)建設(shè)成本和貨物存儲能力,Tj為0-1變量,Tj=0表示第j個備選方案未被選中建立物流配送中心,反之Tj=1為被選中。
所述目標函數(shù)所需滿足的約束條件包括:
a.每個生產(chǎn)制造部制造的快消品數(shù)量等于該生產(chǎn)制造部的制造能力:
其中,Ai表示第i個生產(chǎn)制造部的制造能力。
b.每個地級市批發(fā)商接收到的快消品總量要滿足該批發(fā)商的需求量:
其中,Bk表示第k個地級市批發(fā)商的需求總量。
c.每個物流配送中心的快消品進出量要持平:
d.從各生產(chǎn)制造部運至物流配送中心的快消品總量不能超過其建設(shè)容量:
其中,Wj表示第j個物流配送中心的存儲能力。
Pij≥0,Qjk≥0,i=1,2,…,m
j=1,2,…,n k=1,2,…,l (6)
e.所有物流配送中心容量之和等于總的需求量:
f.所有地級市批發(fā)商所需規(guī)格集都由物流配送中心整車配送。
布谷鳥搜索算法(Cuckoo Search, CS)是一種啟發(fā)式算法,最早由著名學者Xin-She Yang與Suash Deb提出,其算法的主要靈感來自于自然界中布谷鳥的繁育方式
布谷鳥巢寄生繁育方式主要在于宿主鳥巢的選擇上,當布谷鳥進入繁殖期,就會去尋找和自己繁殖期、育雛期相近的宿主鳥。在自然進化的發(fā)展過程中,布谷鳥鳥蛋的顏色及形狀都會和宿主鳥相似,將其下的鳥蛋寄生于其他鳥類的巢穴中,讓宿主鳥幫自己孵化鳥蛋。在一般情況下,一個宿主的鳥巢中布谷鳥只會產(chǎn)下一枚鳥蛋,以避免被宿主鳥發(fā)現(xiàn)。
在自然界中昆蟲或者動物會通過隨機或者擬隨機的方式進行覓食,他們的飛行軌跡遵循著冪率分布,呈現(xiàn)出Lévy飛行的特征
本文采用的是基于物流配送中心編號的編碼機制,即從k個候選位置中選擇出n個最終地址,這樣可以構(gòu)成編碼為:
Z={a1,a2,…,ai,…,aj,…,an},i,j∈{1,2,…,n},i≠j⇒ai≠aj,n≤k (8)
其中,Z表示物流配送中心選址方案。
以上的一組編碼表示為一種物流配送中心的選址方案。在算法迭代過程中會根據(jù)這樣的編碼方案進行迭代計算。
首先,通過設(shè)置改進算法的參數(shù),隨機生成NP個個體,這里個體即為一組編碼,因算法采用的是自適應(yīng)步長因子及發(fā)現(xiàn)概率,故此不進行設(shè)置。將迭代的最大次數(shù)設(shè)置為T,作為判斷迭代是否結(jié)束的終止條件。
進而執(zhí)行布谷鳥算法產(chǎn)生新解,布谷鳥算法中的新解更新公式為:
其中,λstep(t)表示步長因子,t表示迭代次數(shù),步長因子的設(shè)置與初始化問題的規(guī)模有關(guān),
再通過粒子群算法對個體產(chǎn)生的新解為
其中,φi代表區(qū)間[-1,1]上的隨機數(shù),且k≠i,通過粒子群算法產(chǎn)生的新的可能解將與原來的解進行比較,基于貪婪選擇策略對解進行排序,并保留較好的解
通過混合布谷鳥算法和粒子群算法產(chǎn)生的新解表示為
其中,σ表示權(quán)重系數(shù),σ∈[0,1]。
在傳統(tǒng)的布谷鳥搜索算法中,布谷鳥鳥蛋的被發(fā)現(xiàn)概率一般設(shè)置為常數(shù)值0.25,這就易造成在算法迭代過程中會出現(xiàn)因概率固定而導致較優(yōu)位置和較劣位置被等概率替換的現(xiàn)象。類似地,傳統(tǒng)布谷鳥算法的步長因子也通常為常數(shù),因此,算法迭代后期會影響整體的收斂速度及收斂進度,故本文將其設(shè)置為自適應(yīng)的步長因子,其公式分別如下:
其中,θ(t)表示布谷鳥算法的發(fā)現(xiàn)概率,λstep(t)表示布谷鳥算法的步長因子,θmax和θmin分別表示發(fā)現(xiàn)概率的上下界限,λmax和λmin分別表示步長因子的最大值和最小值,T表示改進算法的最大迭代次數(shù),t表示當前的迭代次數(shù)。
對宿主巢穴實現(xiàn)擾動,并更新解。對于基本的布谷鳥算法來說,主要是通過Lévy飛行來實現(xiàn)寄居巢穴的更新,但是祖先種群與子代種群之間沒有關(guān)聯(lián)性,故這里引入適應(yīng)度權(quán)重因子來衡量寄生巢穴的優(yōu)劣性。針對各地級市批發(fā)商的銷量構(gòu)造客戶價值權(quán)重因子,如下:
其中,Wi表示第i個寄居巢穴的適應(yīng)度權(quán)重因子,fi表示第i個布谷鳥巢穴的適應(yīng)度值,fworst和fbest分別表示布谷鳥寄居巢穴的適應(yīng)度值的上下界限。
在布谷鳥算法實現(xiàn)隨機Lévy飛行算法過程中,根據(jù)個體筑巢的關(guān)系,增加巢穴之間的適應(yīng)度權(quán)重因子,實現(xiàn)布谷鳥巢穴的更新,最終迭代最優(yōu)位置公式如下:
其中,λstep(t)表示在執(zhí)行Lévy飛行過程中第t次的步長因子,L(δ)表示Lévy隨機飛行公式,
根據(jù)適應(yīng)度值來進行優(yōu)化選擇,通過混合前代種群和后代種群來進行合并排序,按照適應(yīng)度的值從優(yōu)到劣排序,選擇最優(yōu)的NP個巢穴繼續(xù)進行后續(xù)的迭代。在一輪迭代后,根據(jù)終止條件判斷結(jié)束迭代,終止條件包括迭代結(jié)果是否已經(jīng)收斂、是否達到了迭代次數(shù)、迭代得到的最優(yōu)解與前面得到的最優(yōu)解平均值的差值是否已經(jīng)小于設(shè)定的閾值等。終止條件已滿足,則將該算法的最優(yōu)解輸出,否則繼續(xù)進行解的迭代更新。在完成迭代后收斂結(jié)果,獲得物流配送中心選址方案。對最優(yōu)解中的編碼方案進行解碼,得到物流中心的選址方案,即從k個候選物流中心方案中選擇出n個作為最后的物流配送中心,使得這n個地址能夠滿足總成本最小、生產(chǎn)制造商和地級市批發(fā)商的產(chǎn)銷平衡等條件。
根據(jù)上述數(shù)學模型及算法分析,這里設(shè)置算例來評估改進布谷鳥算法在求解物流配送中心的可行性及性能。因產(chǎn)業(yè)升級,某大型快消品公司現(xiàn)需要新建物流配送中心為40個地級市批發(fā)商提供服務(wù),在滿足產(chǎn)銷平衡的條件下達到總成本最低,其中新建的物流配送中心從上述的40個地級市中選取。
對于目標函數(shù),假設(shè)其所需的約束條件已經(jīng)滿足,此實驗案例僅研究改進布谷鳥算法來求解物流配送中心在40個地級市批發(fā)商之間的設(shè)置方案。生產(chǎn)制造部到物流配送中心、物流配送中心到地級市批發(fā)商每單位的運輸成本為1元,物流配送中心的單位建造成本為10元;迭代次數(shù)設(shè)置為200,迭代次數(shù)的上限為500。將改進布谷鳥算法的發(fā)現(xiàn)概率的上下限分別設(shè)置為θmax=0.5,θmin=0.1,步長因子的上下限分別為λmax=0.015和λmin=0.005。
本文所涉及的地級市批發(fā)商序號、坐標以及需求量如表1所示,生產(chǎn)制造部位置坐標如表2所示。
表1 地級市批發(fā)商坐標及需求量(箱,每箱5件,每件50條) 導出到EXCEL
地級市批 發(fā)商(k) |
坐標(x,y) | 需求量 | 地級市批 發(fā)商(k) |
坐標(x,y) | 需求量 |
1 |
(120.21,30.25) | 425512 | 21 | (117.28,34.20) | 275698 |
2 |
(121.62,29.86) | 398175 | 22 | (119.98,32.53) | 173449 |
3 |
(120.70,27.99) | 376309 | 23 | (120.16,33.35) | 229950 |
4 |
(120.76,30.75) | 206430 | 24 | (119.11,33.55) | 143034 |
5 |
(120.09,30.89) | 142342 | 25 | (118.16,30.14) | 48024 |
6 |
(120.58,30.05) | 212373 | 26 | (117.81,30.95) | 46901 |
7 |
(119.65,29.08) | 259278 | 27 | (118.76,30.94) | 94894 |
8 |
(118.86,28.97) | 97439 | 28 | (117.50,30.67) | 50770 |
9 |
(116.48,39.93) | 102502 | 29 | (116.80,33.96) | 60442 |
10 |
(121.42,28.66) | 290838 | 30 | (116.07,39.87) | 73770 |
11 |
(122.21,29.99) | 62251 | 31 | (118.43,31.35) | 115995 |
12 |
(121.46,31.25) | 782432 | 32 | (116.96,33.65) | 143664 |
13 |
(120.59,31.30) | 407551 | 33 | (115.78,33.85) | 130512 |
14 |
(120.31,31.49) | 237313 | 34 | (118.33,32.26) | 122586 |
15 |
(119.42,32.19) | 123970 | 35 | (117.23,31.82) | 296238 |
16 |
(118.28,33.96) | 130116 | 36 | (117.39,32.92) | 105895 |
17 |
(119.97,31.81) | 169120 | 37 | (117.02,32.59) | 100528 |
18 |
(116.52,39.93) | 170055 | 38 | (116.52,31.74) | 128182 |
19 |
(118.80,32.06) | 345746 | 39 | (115.81,32.89) | 218845 |
20 |
(120.89,31.98) | 258944 | 40 | (117.12,30.53) | 132781 |
表2 生產(chǎn)制造部坐標 導出到EXCEL
生產(chǎn)制造部 |
坐標(x,y) |
1 |
(118.74,32.00) |
2 |
(116.64,39.87) |
3 |
(120.09,30.13) |
4 |
(121.43,29.72) |
5 |
(117.21,31.85) |
將上文所述的參數(shù)設(shè)置及相關(guān)數(shù)據(jù)代入到改進布谷鳥算法當中,通過Python代碼進行算法的實現(xiàn),最終得到的物流配送中心選址方案如圖3所示。最后產(chǎn)生4個物流配送中心為40個地級市批發(fā)商提供物流配送服務(wù);物流配送中心同生產(chǎn)制造部之間的關(guān)系如圖4所示。
此外,為驗證在求解物流配送中心選址方案上,改進布谷鳥算法具有一定的性能及優(yōu)勢,將其與傳統(tǒng)布谷鳥算法、粒子群算法、人工蜂群算法對于同一實例進行求解對比,結(jié)果如表3所示。
表3 改進布谷鳥算法及其他算法物流配送中心選址結(jié)果 導出到EXCEL
名稱 |
改進布谷鳥算法 | 粒子群算法 | 布谷鳥算法 | 人工蜂群算法 |
總費用 |
2,351,212.68元 | 2,431,201.18元 | 2,543,432.09元 | 2,497,221.04元 |
運行時間 |
1.430秒 | 1.675秒 | 1.569秒 | 1.493秒 |
庫存周轉(zhuǎn)次數(shù) |
30.89次 | 27.21次 | 24.34次 | 28.31次 |
由上述對比可知,相較于其他算法,改進布谷鳥算法得到的選址方案總費用在運行時間上有一定優(yōu)勢,能夠較快收斂于最優(yōu)解,提高了求解速度。同時,對于最終的總費用,改進布谷鳥算法比傳統(tǒng)布谷鳥算法節(jié)省了192,219.41元,節(jié)省比例為7.5%;比粒子群算法節(jié)省了79,988.5元,節(jié)省比例為3.35%;比人工蜂群算法節(jié)省了146,008.36元,節(jié)省比例為5.8%。此外,在庫存周轉(zhuǎn)次數(shù)上,改進布谷鳥算法較為顯著地提高了庫存周轉(zhuǎn)次數(shù),減少了庫存積壓占用,提高了企業(yè)供應(yīng)鏈的靈活性。由此可知,改進布谷鳥算法在求解物流配送中心選址問題上是一種有效的算法,并具有一定的可靠性和適用性。
本文研究分析了企業(yè)物流配送中心選址問題,提出一種改進布谷鳥搜索算法,基于傳統(tǒng)布谷鳥算法在求解問題易早熟、易陷入局部最優(yōu)這一現(xiàn)狀,通過融合粒子群優(yōu)化算法及引入自適應(yīng)參數(shù),有效提高了在求解物流配送中心選址問題的效率,降低了求解的時間。通過實例仿真,相較于傳統(tǒng)啟發(fā)式算法,改進的布谷鳥算法在具有較好的全局搜索能力及較短的計算時間的同時,能夠較大程度地降低配送成本,優(yōu)化物流配送效率,提高庫存周轉(zhuǎn)次數(shù)。