陸麗丹,曹陸鋮



摘? 要:物流中心的選址應在全面考慮選址影響因素基礎上,運用數學的方法進行量化比較。物流中心的優化選址需要模型化、數量化,文章將蟻群算法應用到物流中心優化選址問題中,給出模型的構建和實現步驟,應用Matlab編程驗證模型和算法的有效性,以某種模型數據假設為例,給出一系列分析數據,從軟件分析結果中找出物流中心優化選址方案,最終實驗結果表明,利用蟻群算法求解最優路徑時具有一定的優越性。
關鍵詞:蟻群算法;物流中心;優化選址;Matlab
中圖分類號:F252.14? ? 文獻標志碼:A? ? DOI:10.13714/j.cnki.1002-3100.2023.11.004
Abstract: The location selection of logistics center should be based on the comprehensive consideration of the factors affecting the location selection, and the quantitative comparison should be carried out using mathematical methods. The optimal location of logistics center needs to be modeled and quantized. In this paper, ant colony algorithm is applied to the optimal location of logistics center, and the construction and implementation steps of the model are given. Matlab programming is used to verify the effectiveness of the model and algorithm. Taking a certain model data assumption as an example, a series of analysis data are given, and the optimal location scheme of logistics center is found out from the software analysis results. The final experimental results show that, ant colony algorithm has some advantages in solving the optimal path.
Key words: Ant Colony(AC)algorithm; logistics centre; optimize site selection; Matlab
物流中心選址與規劃是影響物流運行效率的關鍵因素,研究物流中心選址問題具有重要的現實意義,物流中心選址需要模型化、數量化,這是一個經典的組合優化問題,在運籌學和理論計算機科學中非常重要。從圖論的角度來看,由于該問題的可行解是所有頂點的全排列,隨著頂點數的增加,會產生n!增長的組合爆炸。由于其在交通運輸、物流配送等領域內有著廣泛的應用,國內外學者對其進行了大量的研究。早期的研究者使用精確算法求解該問題,常用的方法包括:分枝定界法、線性規劃法、動態規劃法等。但是,隨著問題規模的增大,精確算法將變得無能為力。意大利學者Dorigo于20世紀90年代提出蟻群算法,可用于計算此類問題,使計算于短時間內收斂至較優解。本文以物流中心優化選址為應用背景,通過建立數學模型,應用Matlab編程對其進行了算法驗證,實驗證明該方法能較好地解決物流中心優化選址的問題。
1? 問題描述與分析
現實中有一類單配送中心選址問題:在某區域中選擇合適配送中心,物流車從配送中心出發,單次遍歷所有配送點,作為一個配送周期。使用模型算法選擇最優配送中心和最優配送周期路線。配送周期可循環使用,以增大配送頻率。
對于單配送中心選址模型而言,林雄[1]曾提出目前所采用的連續模型(如重心法等)要求在區域中任意點皆可建造物流中心,但在現實中無法做到,而蟻群算法可優化上述局限。核心思路在于,首先確定物流中心的備選地址,其次通過蟻群算法計算每一物流中心遍歷所有配送站的最短距離,從而進行比較優化。
2? 模型的建立
問題的核心函數表達為:D■=minD■+D■+D■+…+D■,D■。
其中:D■為所有配送點與一個可能的配送中心組成的距離矩陣(矩陣大小為n+1×n+1,n為配送點的個數)第j行,第k列的元素,X■,X■,…,X■,X■為配送站1,2,3,…,n和一個可能的配送中心i的重排列。
2.1? 原數據假設
假設區域中的配送點坐標為:B=[1 534 1 559; 3 524 3 035; 2 336 1 488; 2 206 3 418; 2 055 2 874; 3 915 2 253; 3 242
1 535; 3 307 1 242; 4 242 1 476; 3 805 2 978; 3 095 2 461; 2 638 3 388; 2 790 3 246; 2 366 1 553; 3 868 2 329; 2 120 2 518;
1 771 1 195; 3 790 3 453; 4 294 1 121; 2 120 2 370; 2 342 2 044; 1 993 1 983; 4 209 2 400; 1 343 1 298; 3 612 1 375; 2 020
3 170; 4 196 1 770; 2 053 3 001; 3 146 847; 2 401 3 292]。
假設區域中可能的配送中心坐標為:A=[1 761 1 203; 1 823 2 008; 2 068 1 827; 2 626 2 908; 3 837 2 788; 2 723 1 927;
2 382 2 165; 3 955 2 229; 1 516 1 410; 2 468 3 375; 3 207 2 821; 3 403 1 511; 2 211 3 195; 2 005 1 581; 1 345 2 126; 2 319
2 106; 2 150 1 199; 3 502 2 769; 2 681 744; 1 789 1 411; 3 746 719; 4 194 1 957; 1 758 1 017; 2 480 1 255; 2 266 2 591;
2 659 910; 2 862 1 851; 3 710 1 597; 2 135 3 529; 2 936 1 018]
以A1,:為例,將所有配送點和A1,:作為新的遍歷集合,記為C,配送點和配送中心分布圖如圖1所示。
2.2? 計算距離矩陣
計算其距離矩陣:
M,N=sizeC;
%M為問題的規模M-1個配送點,1個配送中心
distance=zerosM,M; %用來記錄任意兩個站點之間的距離
%求任意兩個站點之間的距離
for m=1:M
for n=1:M
distancem,n=sqrtsumCm,:-Cn,:.^2;
end
end
距離矩陣distance為:■。
3? 算法的實現
定義如下參數:m為螞蟻的個數,a為信息素的重要程度,β為啟發式因子的重要程度,ρ為信息素蒸發系數,G為迭代次數,Q為信息素增加系數,distance為距離矩陣,η為啟發式因子η=1÷distance,τ為信息素矩陣,Tabu為禁忌表,R■為各代的最佳路線,L■為各代最佳路線的長度(初始值假設為無窮大)。
初始時刻,設:所有路徑上的信息素都相等τ■t=0=0。螞蟻kk=1,2,…,m在運動過程中,根據各條路徑上的信息素大小以概率P■■t轉移方向,其計算公式為:P■■t=■。
在蟻群算法執行過程中,Tabu禁忌表用于記錄螞蟻已經走過的點,allowed■表示螞蟻未走過,可供選擇的點。
在每一個循環周期結束,進入t+1時刻時,對各路徑上的信息素進行調整(本文采用ant-circle模型):
τ■t+1=1-ρ·τ■t+Δτ■t,t+1,Δτ■t,t+1=■Δτ■■t,t+1,Δτ■■t,t+1=■
其中:Δτ■■t,t+1表示第k只螞蟻在t,t+1時刻內留在路徑i,j的信息素量,其值等于信息素增加系數Q除以第k只螞蟻走過的路徑L■,路徑越短,信息素增加越多;Δτ■t,t+1表示本次循環中路徑i,j的信息素增加量;ρ為信息素蒸發系數,
τ■t+1表示現有信息素量。
算法的主要流程為:初始化參數,將m只螞蟻放到n個配送點上,根據概率及其禁忌表選擇路線,更新禁忌表,并計算待選擇配送點的概率,循環至完成所有遍歷。根據運行結果,全局更新優化信息素,清空禁忌表,重復上述操作,直至達到循環次數G。
以A1,:為例,將所有配送點和A1,:作為遍歷集合,記為C,其計算結果如圖2、圖3所示。
由圖可見,針對配送點和A1,:作為遍歷集合的情況,蟻群算法在循環次數150次時成功收斂到較優解,路徑為
12 458.578 4。
這意味著如果以A1,:作為配送中心,單次配送需要12 458.578 4長度的路程。接著,只需使用A2,:,A3,:等其他待選配送中心,做同樣上述操作,計算所需路程。此后對比所有方案,選擇最優解作為配送中心。
Result_Table=zerosheightA,1;
parfor i=1:heightA
Result_Tablei,:=Ant_ColonyAi,:;
end
findResult_Table==minResult_Table
4? 結束語
本文在國內外學者理論研究的基礎上,探討了利用蟻群算法在物流中心優化選址問題中的可行性,結合案例數據,對算法的有效性進行了論證。應用Matlab編程仿真后的實驗結果表明,利用蟻群算法求解最優路徑時具有一定的優越性,對物流中心的優化選址有一定的實踐參考價值。
參考文獻:
[1] 林雄. 基于蟻群算法考慮路線安排的單配送中心選址[J]. 物流科技,2009,32(10):50-53.
[2] 曾勝,戴賢君,胡徐勝,等. 基于蟻群算法對調度車輛進行路徑最優化設計[J]. 自動化與儀表,2022,37(4):89-93.
[3] 劉全明. 新舊能源物流汽車替代過程中的博弈和效益優化仿真研究[D]. 北京:北京交通大學,2020.
[4] 趙長鮮,方木云. 基于貪心算法的物流配送系統的設計與實現[J]. 軟件工程,2020(5):21-23.
[5] 陳雄,袁楊. 一種機器人路徑規劃的蟻群算法[J]. 系統工程與電子技術,2008(5):952-955.
[6] 楊俊闖,趙超. K-Means聚類算法研究綜述[J]. 計算機工程與應用,2019(23):7-14.
[7] 張松燦,普杰信,司彥娜,等. 蟻群算法在移動機器人路徑規劃中的應用綜述[J]. 計算機工程與應用,2020(8):10-19.
[8] 蔣大成. 基于數據挖掘的農產品物流配送中心選址研究[D]. 長沙:湖南農業大學,2018.
[9] 羅慧,蹇興亮,盧偉. 基于動態蟻群算法的模擬電路最優測點選擇[J]. 儀器儀表學報,2014(10):2231-2237.
[10] 江明,王飛,葛愿,等. 基于改進蟻群算法的移動機器人路徑規劃研究[J]. 儀器儀表學報,2019,40(2):113-121.
[11] 丁建立,陳增強,袁著祉. 遺傳算法與螞蟻算法的融合[J]. 計算機研究與發展,2003(9):1351-1356.
[12] 王芳,李昆鵬,袁明新. 一種人工勢場導向的蟻群路徑規劃算法[J]. 計算機科學,2014,41(S2):47-50.