在當今快速變化的市場環境中,有效的物流管理對于保持企業競爭力至關重要。隨著消費者需求的日益多樣化和服務預期的不斷提高,企業面臨著提供快速、可靠且成本效益高的配送服務的挑戰。在這個背景下,物流配送路徑優化成為了供應鏈管理領域的一個核心議題。合理規劃配送路徑不僅可以顯著降低運輸成本,還能提高服務效率和客戶滿意度,從而為企業帶來競爭優勢。
車輛路徑問題(Vehicle Routing Problem, VRP)是一個著名的NP難問題,隨著問題規模的增加,找到最優解的難度也急劇上升。因此,開發有效的算法來求解大規模VRP問題,對于實現供應鏈的高效運作有重要意義。近年來,眾多研究者致力于利用啟發式和元啟發式算法來解決這一問題,旨在在可接受的時間內找到接近最優的解決方案。王力鋒等采用遺傳算法對車輛路徑優化進行研究
針對以上問題,本文以麻雀搜索算法(Sparrow Search Algorithm, SSA)為基礎算法,輔以Cubic混沌映射的種群初始化方法,并在迭代過程中通過重心反向學習機制對麻雀個體進行適時變異,此外,還融合了粒子群優化技術,以進一步提高算法的尋優精度和穩定性。通過仿真實驗驗證,本文提出的改進麻雀搜索算法在降低物流成本方面顯示出了良好的性能,為企業在控制物流成本方面提供了有效的參考。
(1)所有運輸車輛為同一類型,具有相同的載貨量和運行特性。
(2)不同地級市批發商之間的貨物種類相同,允許使用相同的車輛進行配送。
(3)車輛勻速行駛,不考慮交通、天氣等其他因素的影響。
(4)每個地級市批發商的位置、時間窗、貨物需求量以及配送中心的位置均已知且固定。
(5)每個地級市批發商有一個特定的配送時間窗,遲到將產生基于遲到時間的懲罰成本。
(6)車輛每次出行都有固定的損耗成本。
(7)送貨至地級市批發商的費用與空車返回配送中心的費用不同。
(8)每個地級市批發商在每條路徑中只被訪問一次,每次配送后車輛必須返回配送中心。
表1 模型參數定義 導出到EXCEL
符號 |
定義 |
n |
地級市批發商的數量 |
V |
節點集合,包含配送中心和所有地級市批發商 |
A |
邊集合,表示可能的配送路徑 |
dij |
從點i到點j的距離 |
di0 |
從點i返回配送中心的距離 |
v |
車的固定行駛速度 |
tij |
從點i到點j的行駛時間, |
α |
單位時間車輛運輸成本(配送) |
β |
單位時間車輛運輸成本(空車返程) |
Q |
車輛的最大載貨量 |
qi |
第i個地級市批發商的物資需求量 |
m |
車輛數量 |
[ei,li] |
第i個地級市批發商的服務時間窗 |
pi(t) |
車輛在t時到達i地級市批發商的懲罰成本函數 |
f |
車輛每次出行的固定損耗成本 |
cij |
從點i到點j的行駛成本,cij=α×dij |
xij |
車輛從地級市批發商i到地級市批發商j為1,否則為0 |
pe |
車輛早到時,單位時間的懲罰成本 |
pl |
車輛遲到時,單位時間的懲罰成本 |
c′i0 |
從點i空車返回配送中心的成本,c′i0=β×di0 |
yi |
車輛i是否從配送中心出發到地級市批發商i,出發為1,否則為0 |
配送總成本由車輛總成本和遲到或提前到達地級市批發商的懲罰成本構成。車輛總成本進一步分為運輸成本、車輛損耗成本以及空車返回成本。如圖1所示,如果車輛在指定的時間窗[ei,li]之外到達地級市批發商,將會根據提前或延遲的時間產生額外的懲罰費用,在時間窗內到達則不會有懲罰。
車輛運輸成本公式如下:
TC=∑
車輛損耗成本公式如下:
WTC=∑
空車返回成本公式如下:
ERC=∑
車輛總成本公式如下:
TVC=TC+WTC+ERC (4)
早到或者遲到懲罰成本公式如下:
LDPC=∑
其中
綜上所述,目標函數如下:
F=TC+WTC+ERC+LDPC (7)
約束條件如下:
∑
yi≤∑
∑
其中,公式(8)確保每個地級市批發商都恰好被訪問一次,公式(9)確保任何車輛的配送量不超過其最大容量,公式(10)是車輛使用約束,公式(11)確保使用的車輛總數不超過可用車輛數。
麻雀搜索算法(Sparrow Search Algorithm, SSA)是由薛建凱提出的一種新型群智能優化算法
麻雀種群分為發現者、跟隨者、偵查者,發現者負責探索新的食物來源(解),引導群體的搜索方向;跟隨者在發現者附近搜索食物,進行局部搜索;偵查者觀察麻雀群體內部有無危險,提醒全麻雀群體安全。
每代發現者的位置更新公式如下:
每代跟隨者的位置更新公式如下:
偵查者位置更新公式如下:
粒子群優化算法(Particle Swarm Optimization, PSO)主要通過更新粒子的速度和位置信息尋找最優解。粒子群優化算法的應用較為廣泛,且收斂速度快,調整參數也較少
其中,d為迭代次數,vij表示第i個粒子在i維的速度,xij表示第i個粒子在j維的位置。ω表示慣性權重,控制粒子速度的慣性。c1與c2是學習因子,控制粒子個體和群體經驗對速度的影響。r1與r2是范圍在[0,1]之間的隨機數。
在優化領域,混沌映射可以用于替代偽隨機數生成器,生成0到1之間的混沌數
Cubic表達式如下:
xn+1=αxn(1-x
其中,xn是當前迭代的混沌變量值,初值為(0,1),α是系統參數,它決定了映射的混沌行為,取xn=0.2,α=0.2493。
反向學習是一種經典的智能優化算法加速技術,它在當前點和它的反向點之中擇優選擇
重心計算公式如下:
重心反向解的計算公式:
xi,new=2×k×M-xi (18)
在迭代過程中,算法會對麻雀種群的更新位置進行重心反向變異。由于不能保證每次變異都能得到更優的位置,因此采用貪心策略來決定是否更新位置:僅當變異后的新位置更優時,才用其替換原有位置,否則保留原位置。其中,k是[0,1]范圍內均勻分布的隨機數,加入收縮因子可以拓展反向搜索空間的范圍,增大找到更優解的概率
混合麻雀算法和粒子群算法的核心思想在于,將粒子群算法的位置信息作為改進后麻雀算法的相關參數,從而運行麻雀算法,最終進行模型求解,如圖2所示。
混合算法的運行步驟如下:
步驟1 初始化:設定麻雀和粒子群的種群數量、迭代次數等參數。利用公式(16)初始化麻雀種群位置,增加搜索范圍的多樣性。
步驟2 適應度評估與排序:根據適應度函數對麻雀進行排序,識別并記錄每個麻雀的個體最優和全局最優適應度值及對應位置。
步驟3位置更新:使用公式(12)、公式(13)、公式(14)更新發現者、跟隨者、偵察者的位置。
步驟4重心反向變異:對處于最優位置的麻雀使用公式(18)實施重心反向變異,增強全局搜索能力。
步驟5適應度再評估:重新計算適應度值,更新麻雀的個體和全局最優位置。
步驟6位置優化判斷:比較麻雀的當前最優位置與粒子群的最優位置。如果麻雀位置更優,進入粒子群優化階段;否則,回到步驟2繼續迭代。
步驟7粒子群位置與速度更新:使用公式(15)更新各粒子群的位置和速度。
步驟8粒子群最優位置更新:更新粒子群個體最優和全局最優位置。
步驟9迭代終止判斷:如果迭代次數達到預設的最大值,則結束,輸出全局最佳位置;這一位置作為麻雀算法的重要參數,用于求解目標函數。如果未達到最大迭代次數,回到步驟6繼續迭代。
為了全面評估本研究提出算法的優越性,我們將其與SSA、PSO和SSA - PSO算法進行對比分析。設定最大迭代次數為200,各算法種群數量為40。外部參數設定情況如下:車輛最大載貨量為200箱,車輛初始數量和地級市批發商數量相等,運貨行駛單位時間成本為2元,空車返回配送中心的單位時間成本為1元,車輛每次出行的固定成本為5元。
為了驗證所提算法的優越性,本實驗選取某大型快銷品公司的1個物流配送中心和20個地級市批發商為例進行路徑規劃。配送中心和地級市批發商的位置分布如圖3所示。
在實驗中,將上述參數和數據輸入模型,并通過Python實現了相關算法。模型得出的車輛配送路徑結果如圖4所示。
表2 改進麻雀算法及其它算法物流路徑優化結果 導出到EXCEL
| 名稱 | 改進麻雀算法 | SSA-PSO | SSA | PSO |
總運輸距離(km) |
470.81 | 481.7 | 512.6 | 523.1 |
總空車返回距離(km) |
175.61 | 173.2 | 189.7 | 192.6 |
總費用(元) |
1153.23 | 1183.87 | 1260.83 | 1279.35 |
使用車輛數(輛) |
5 | 5 | 6 | 6 |
運行時間(s) |
23.26 | 27.32 | 31.57 | 32.13 |
從表2的統計結果可以看出,改進麻雀算法在總運輸距離、總費用和計算效率上優于其他算法,體現了其在減少成本和提高車輛利用率方面的優勢。SSA-PSO在總空車返回距離上表現較好,但在其他方面仍稍遜于改進麻雀算法。相比之下,標準SSA和PSO表現較弱。
本文研究分析了企業物流配送路徑優化問題,提出一種改進的麻雀搜索算法,通過引入Cubic混沌映射和粒子群優化技術,有效地提高了算法的全局搜索能力,同時有效避免了早熟收斂的問題。實驗結果表明,與傳統的SSA和PSO算法相比,改進的麻雀搜索算法在總運輸距離、總費用以及運行時間等關鍵性能指標上具有顯著的優勢。未來的研究可以考慮更復雜的實際約束條件,如多種類型的車輛、不同的貨物類型以及動態的配送需求。