朱婷婷 單小紅
[摘要]文章提出了一種新的改進標準粒子群算法即全局—局部最優(yōu)信息比粒子群算法。該算法與標準粒子群算法和全局—局部最優(yōu)最小值粒子群優(yōu)化算法作了比較,仿真實驗結果表明,該算法在收斂速度、解的質量和魯棒性上都表現(xiàn)出了較優(yōu)的性能,是求解車輛調(diào)度問題的一種較好方法。
[關鍵詞]車輛調(diào)度問題;粒子群算法;全局—局部最優(yōu)信息比;數(shù)學模型
1 引 言
近年來,研究者們先后將一般啟發(fā)式算法和智能化啟發(fā)式算法用于車輛調(diào)度問題,取得了一些較好的效果。[1]粒子群算法(Particle Swarm Optimization,PSO)是一種模擬鳥群飛行的仿生算法,有著個體數(shù)目少、計算簡單、魯棒性好等優(yōu)點。[2]
2 車輛調(diào)度問題(VRP)的描述及數(shù)學模型
VRP描述為:有一個配送中心0,配送車輛K輛和貨運點個N,每輛車的載重量為qi,各個送貨點的需求量為gi,且maxqi≤maxgi,把貨物配送到N個送貨點,使車輛調(diào)度問題的目標函數(shù)達到最小。
式(3)為目標函數(shù):車輛行駛的總路徑最??;式(4):每條線路上配送點需求量之和不超過最大載重量;式(5):每個配送點僅被訪問一次;式(6)(7):每個送貨點的需求量只能由一輛車完成;式(8)(9):變量取值范圍;式(10):支路消去約束。該問題在約束條件下,使所有車輛的總路徑最小。
3 粒子群算法及其改進
3.1 粒子群算法
PSO算法初始化粒子群,在迭代過程中,粒子將跟蹤個體極值pbest和全局極值gbest來更新下一時刻的位置,設搜索空間為D維,總粒子數(shù)為n,粒子i在t時刻的位置為:
3.2 改進的粒子群算法
粒子群算法參數(shù)的設置對算法的尋優(yōu)性能起著重要的作用。全局—局部最優(yōu)最小值粒子群算法(GLBest-PSO)對標準PSO進行了改進,即:
4 車輛調(diào)度問題的GLIR-PSO算法
4.1 問題的編碼與解碼
實現(xiàn)該算法的關鍵問題之一是找到一種合適的表達方法,使粒子與解對應。本文根據(jù)文獻[3]的思路,將車輛和對應的送貨點的順序表示出來。對于N個送貨點的VRP問題,每個送貨點對應兩個屬性:完成該配送任務的車輛號k和在車輛中的配送順序r,每個粒子對應的2N維向量被分解為兩個N維向量:Xk和Xr,其中Xk表示各配送點的車輛編號,Xr表示各配送點對應的配送順序。速度向量V對應的被分解為Vk和Vr。
假設有7個送貨點的VRP問題,所需車輛數(shù)為3,編碼過程如表1所示。
這種編碼方式使得每個配送點都能得到服務并且每個送貨點的需求量只能由一輛車完成,粒子更新的方式簡單、易懂,求解過程的計算量大大減少。
4.2 GLIR-PSO算法實現(xiàn)過程
粒子群算法的具體實現(xiàn)步驟如下:
步驟1:初始化粒子群。
①初始化種群規(guī)模P,粒子維數(shù)2N,w,c1,c2,最大迭代次數(shù)Loop count;
②初始化Xk和Xr,使其分別屬于1~K的隨機整數(shù)和1~L的隨機實數(shù);初始化Vk和Vr的分量,使其分別屬于-(K-1)~(K-1)的隨機整數(shù)和-(L-1)~(L-1)的隨機實數(shù);
③用評價函數(shù)Eval評價所有粒子的適應度,若不滿足約束條件則令f=fmax,fmax是一個很大的數(shù);
④初始評價值作為每個粒子的局部極值,最優(yōu)的初始評價值作為全局極值。
步驟2:更新位置、速度,并輸出優(yōu)化結果。
①按式(15)計算Vk和Vr,按式(12)計算Xk和Xr,如果超過邊界值則取邊界值;
②用Eval評價所有粒子的適應度;
③更新局部極值和全局極值,若某粒子當前的位置優(yōu)于pbest,則更新pbest,若粒子群的當前位置優(yōu)于gbest,則更新gbest;
④若滿足終止條件,輸出gbest;否則返回①。
5 仿真實驗結果與分析
現(xiàn)有一個配送中心,7個送貨點,設所有車輛的最大裝載量為1t,需求量矩陣為P=[0.89,0.14,0.28,0.33,0.21,0.41,0.57],距離矩陣如表2所示。
使用Matlab7.0編程,參數(shù)設置:P=30,2N=14,wstar=0.9,wend=0.4,c1=c2=2,Loopcount=500,懲罰因子R=100000,最終由3輛車完成配送任務,并且最短總路徑為217.81。車輛最優(yōu)調(diào)度方案如表3所示。
本文將 GLIR-PSO算法與BPSO和GLBest-PSO進行仿真實驗,并對優(yōu)化結果進行比較。每種算法依次運行20次,其中,GLIR-PSO有13次搜索到最優(yōu)解,而BPSO和GLBest-PSO分別只有11次和10次,并且GLIR-PSO的20次實驗平均路徑252.73km優(yōu)于BPSO和GLBest-PSO算法所得結果(304.96km和276.44km),說明GLIR-PSO算法解的質量在一定程度上得到了提高,收斂速度變快。
在20次實驗中,GLIR-PSO的最短路徑的方差小于BPSO和GLBest-PSO算法所得結果(137.12645和86.28476),其最短路徑的方差為61.11745,比BPSO和GLBest-PSO算法的結果小55.4%和29.2%,所以GLIR-PSO算法在解的魯棒性上表現(xiàn)出了較優(yōu)的性能。以上結論在表4中顯示:
通過上述仿真實驗有效地驗證了這種新的改進算法——GLIR-PSO算法,有效地避免了標準粒子群算法的“趨同性”,確保正確的搜索方向,且持續(xù)地找到全局最優(yōu)解。
6 結 論
目前,雖然車輛調(diào)度系統(tǒng)已在國內(nèi)一些領域得到初步應用,但發(fā)展很不成熟,存在算法復雜和運行不穩(wěn)定等缺陷,針對此現(xiàn)狀,本文提出一種新型的GLIR-PSO算法以有效提高車輛調(diào)度系統(tǒng)運行的效率性和穩(wěn)定性,將全局和局部最優(yōu)信息比引入到算法的更新過程,來對標準粒子群算法進行有效改進,該新型算法有效克服了早熟收斂現(xiàn)象,在收斂速度、解的質量和魯棒性上都表現(xiàn)出了較優(yōu)的性能。
參考文獻:
[1]李軍,郭耀煌.物流配送車輛優(yōu)化調(diào)度理論與方法[M].北京: 中國物資出版社,2001:76-77.
[2]Kennedy J,Eberhart R C.Particle swarm optimization[C]//Proc.IEEE international conference on neural networks,IV.Piscataway,NJ: IEEE service center,1995: 1942-1948.
[3]Salmen A,Ahmad I,Al-Madani S.Particle swarm optimization for task assignment problem[J].Microprocessors and microsystems,2002(26): 367-371.
[4]李寧,鄒彤,孫德寶.帶時間窗車輛路徑問題的粒子群算法[J].系統(tǒng)工程理論與實踐,2004,4(4): 130-135.