徐小平,楊 轉(zhuǎn),劉 龍
1.西安理工大學(xué) 理學(xué)院,西安710054
2.西安理工大學(xué) 自動(dòng)化與信息工程學(xué)院,西安710048
隨著互聯(lián)網(wǎng)的興起,物流產(chǎn)業(yè)也得到了快速地發(fā)展,物流配送中心的選址設(shè)計(jì)和優(yōu)化方案顯得格外重要。在物流系統(tǒng)中,配送中心的選址是指在一個(gè)具有若干供應(yīng)點(diǎn)及若干需求點(diǎn)的范圍內(nèi)選擇一定數(shù)量的地點(diǎn)來設(shè)置配送中心的優(yōu)化過程[1]。配送中心在供貨點(diǎn)與用戶之間發(fā)揮著良好紐帶的作用,屬于物流系統(tǒng)中的一個(gè)關(guān)鍵環(huán)節(jié),它決定著物流的配送距離、成本及配送模式,進(jìn)而影響物流產(chǎn)業(yè)的效率[2-4]。因此,研究物流配送中心選址問題具有重要的意義。然而,物流配送中心選址問題涉及的變量及約束條件非常多,屬于典型的NP 難問題[5],以至于一些傳統(tǒng)的方法難以解決該問題。目前,已有許多學(xué)者利用群智能算法對(duì)該問題進(jìn)行了研究,如:差分進(jìn)化算法(Differential Evolution,DE)[6]、粒子群算法(Particle Swarm Optimization,PSO)[7]、猴 群 算 法(Monkey Algorithm,MA)[8]等。但是這些算法普遍存在過早地局部收斂,求解精度不高等缺點(diǎn)。
2014年,Banasal等人模擬自然界中蜘蛛猴的覓食行為提出了蜘蛛猴優(yōu)化算法(Spider Monkey Optimization,SMO)[9],基于蜘蛛猴的裂變?nèi)诤仙鐣?huì)結(jié)構(gòu)這一特點(diǎn),將該算法抽象為局部和全局更新機(jī)制。其突出特點(diǎn)在于敏感參數(shù)少,魯棒性強(qiáng)且具有良好的全局收斂性,尤其在求解多峰、多維復(fù)雜函數(shù)中有較好的效果。目前,該算法已應(yīng)用到壓力容器設(shè)計(jì)[10]、灰度圖像[11]及倫納德-瓊斯[12]等諸多問題中。但是在解決具體問題時(shí),基本蜘蛛猴算法存在求解精度不高的缺點(diǎn)。因此,有必要對(duì)蜘蛛猴算法進(jìn)一步改進(jìn)來提高尋優(yōu)性能。
物流中心選址問題是指:在有限個(gè)數(shù)量的位置中,選取一些地點(diǎn)作為配送中心,并為所有位置提供貨物,使得在滿足供應(yīng)各個(gè)位置所需的要求下,總成本最低。因此,本文作如下假設(shè):(1)配送中心必須滿足所有位置的需求;(2)每個(gè)需求點(diǎn)有且只能由一個(gè)配送中心進(jìn)行供應(yīng);(3)不考慮其他費(fèi)用?;谏鲜黾僭O(shè),其目標(biāo)是使各位置的需求量到與之最近配送中心的距離的乘積之和最小,由此可建立如下模型。
其中,目標(biāo)函數(shù)min F 表示被選中的物流中心j 到由它配送的位置i 的需求量與距離乘積之和的最小值;是所有位置的編號(hào)集合;k 為被選中的物流中心j 到由它配送的位置i 的最大距離;Mi表示其余位置到物流中心的距離小于k 的備選物流中心的集合;hi表示位置i 的需求量;dij表示位置i 到離它較近的物流中心j 之間的距離;zij是0-1 變量,當(dāng)zij為1時(shí),表示物流配送中心j 將為位置i 供貨物;ej表示位置點(diǎn)和物流中心之間的需求分配關(guān)系,ej也是0-1 變量,當(dāng)ej為1 時(shí),表示位置i 被選為物流中心;r 為被選中的物流中心數(shù)量。
基本蜘蛛猴算法具體如下:
(1)解的表示和初始化設(shè)Xi=(xi1,xi2,…,xin) 為目標(biāo)函數(shù)的一個(gè)可行解,表示第i 只蜘蛛猴當(dāng)前的位置,由下式生成:
其中,i=1,2,…,P,P 表示群體規(guī)模,Xij表示第i 只蜘蛛猴在第j 維的分量,Xminj和Xmaxj分別為第j 維的下限和上限,j=1,2,…,n,n 為優(yōu)化問題的維數(shù),是上均勻分布的隨機(jī)數(shù)。
(2)局部領(lǐng)導(dǎo)階段
該過程是每個(gè)蜘蛛猴在自己的局部小范圍內(nèi)通過迭代尋找優(yōu)化問題的目標(biāo)函數(shù)值的過程,蜘蛛猴基于局部領(lǐng)導(dǎo)者以及小組其他成員的經(jīng)驗(yàn)來更新當(dāng)前位置。若新位置適應(yīng)度值優(yōu)于原來位置適應(yīng)度值,則蜘蛛猴就更新到新位置,具體過程如下:
其中,LLkj是第k 個(gè)局部群體領(lǐng)導(dǎo)者在第j 維的分量,Xrj是隨機(jī)地從第k 個(gè)群體中選出的第r 個(gè)蜘蛛猴的第j 維分量( r ≠i ),R( 0,1) 是[0 ,1] 上均勻分布的隨機(jī)數(shù),R( -1,1) 是[- 1,1] 上均勻分布的隨機(jī)數(shù),k ∈[1 ,MG ],MG 為最大組數(shù)。
(3)全局領(lǐng)導(dǎo)階段
在這一階段,蜘蛛猴基于全局領(lǐng)導(dǎo)者以及局部小組成員的經(jīng)驗(yàn)來更新其位置,且蜘蛛猴位置更新受到概率值probi的約束,如果rand( )<probi,則進(jìn)行以下的更新:
其中,GLj是全局領(lǐng)導(dǎo)者在第j(j ∈1,2,…,n) 維的分量,fitnessi表示第i 個(gè)蜘蛛猴對(duì)應(yīng)的適應(yīng)度值,max fitness 表示最大的適應(yīng)度值,為相應(yīng)的目標(biāo)函數(shù)值。
(4)全局領(lǐng)導(dǎo)學(xué)習(xí)階段
全局領(lǐng)導(dǎo)者運(yùn)用貪婪選擇過程來更新其位置,將整個(gè)種群中具有最大適應(yīng)度值的蜘蛛猴選為全局領(lǐng)導(dǎo)者;檢查全局領(lǐng)導(dǎo)者的位置是否更新,如果位置沒有更新,則全局限制計(jì)數(shù)增加1。
(5)局部領(lǐng)導(dǎo)學(xué)習(xí)階段
局部領(lǐng)導(dǎo)者運(yùn)用貪婪選擇過程來更新它們的位置,將每個(gè)局部群體中具有最高適應(yīng)度值的蜘蛛猴選為局部領(lǐng)導(dǎo)者;如果局部領(lǐng)導(dǎo)者的位置沒有更新,則局部限制計(jì)數(shù)( )
llc 增加1。(6)局部領(lǐng)導(dǎo)決策階段如果局部領(lǐng)導(dǎo)者的位置在預(yù)先決定的迭代次數(shù)沒有更新,即llc 達(dá)到了局部領(lǐng)導(dǎo)限制( )lll ,那么該組中的所有成員基于擾動(dòng)率( )pr 的大小用式(1)的隨機(jī)初始化或用下式來更新位置:
其中,r1和r2是[ ]0,1 上均勻分布的隨機(jī)數(shù)。
(7)全局領(lǐng)導(dǎo)決策階段
如果全局領(lǐng)導(dǎo)者的位置在預(yù)先決定的迭代次數(shù)沒有更新,即glc 達(dá)到了全局領(lǐng)導(dǎo)限制( )gll ,那么將整個(gè)群體進(jìn)行分組。每次執(zhí)行該階段時(shí),也會(huì)啟動(dòng)局部領(lǐng)導(dǎo)學(xué)習(xí)階段,用來選取新建小組的局部領(lǐng)導(dǎo)者。將群體分組直到達(dá)到MG,又重新組成一個(gè)群體,即MG=1。
通過以上過程使得蜘蛛猴群不斷更新位置,直至目標(biāo)函數(shù)在連續(xù)迭代的優(yōu)化值沒有變化,或到達(dá)預(yù)先設(shè)定迭代次數(shù),則算法終止,輸出最優(yōu)位置和最優(yōu)函數(shù)值。
基本蜘蛛猴算法中蜘蛛猴的位置更新在局部領(lǐng)導(dǎo)階段、全局領(lǐng)導(dǎo)階段及局部領(lǐng)導(dǎo)決策階段進(jìn)行,這三個(gè)階段的目的是控制算法的搜索精度。為了提高基本蜘蛛猴算法優(yōu)化性能,這里在算法的解初始化及以上三個(gè)階段提出了如下的改進(jìn)思想。
(1)初始化的改進(jìn)
蜘蛛猴的初始化位置會(huì)對(duì)最優(yōu)結(jié)果產(chǎn)生一定的影響,初始化位置分布越均勻,越有利于搜索到最優(yōu)結(jié)果。相比較均勻分布產(chǎn)生隨機(jī)數(shù)的方法,使用Laplace分布產(chǎn)生隨機(jī)數(shù)更有利于探索搜索空間,發(fā)現(xiàn)新的潛在解,因此,該策略可以保證搜索空間的多樣性,避免陷入局部最優(yōu),逐漸向全局最優(yōu)解靠近。故采用Laplace 分布的方法來產(chǎn)生蜘蛛猴群的初始位置,具體由如下函數(shù)來產(chǎn)生隨機(jī)變量,Laplace分布的概率密度函數(shù)為:
分布函數(shù)為:
從而:
其中,lap( p,q )是Laplace 分布,p ∈( -∞,∞)是位置參數(shù),q >0 是尺度參數(shù),函數(shù)f 始終關(guān)于p 對(duì)稱,且在[0 ,p] 上遞增,在[ p,∞]上遞減。如圖1為L(zhǎng)aplace分布和均勻分布200次迭代生成隨機(jī)數(shù)的曲線比較,直觀地得出:使用Laplace 分布產(chǎn)生隨機(jī)數(shù)更有利于探索搜索空間,有助于找到潛在解。
圖1 拉普拉斯分布和均勻分布生成隨機(jī)數(shù)的比較
(2)局部領(lǐng)導(dǎo)階段的改進(jìn)
局部領(lǐng)導(dǎo)階段中是由隨機(jī)數(shù)產(chǎn)生的步長(zhǎng),這種步長(zhǎng)時(shí)大時(shí)小,具有不確定性。在覓食過程中,步長(zhǎng)越大,有利于提高算法全局探索能力,但會(huì)降低尋優(yōu)精度,可能會(huì)出現(xiàn)振蕩現(xiàn)象;步長(zhǎng)越小,強(qiáng)調(diào)算法局部開發(fā)能力,有利于提高尋優(yōu)精度,但搜索速度會(huì)降低。針對(duì)這個(gè)問題,現(xiàn)采用指數(shù)遞減與隨機(jī)對(duì)數(shù)遞減分段的步長(zhǎng)取代隨機(jī)步長(zhǎng),使步長(zhǎng)具有自適應(yīng)性,有效平衡了全局探索能力與局部開發(fā)能力,具體更新公式如下:
從而改進(jìn)后的位置更新公式為:
其中,A=0.5×rand( ).G 表示當(dāng)前的迭代次數(shù),N 表示總的迭代次數(shù),amax和amin分別是步長(zhǎng)的最大值和最小值。
(3)全局領(lǐng)導(dǎo)階段的改進(jìn)
擬改進(jìn)全局領(lǐng)導(dǎo)階段的位置更新方程,算法本身的搜索方式會(huì)對(duì)收斂速度及尋優(yōu)精度有一定的影響,為了避免算法過早收斂及使蜘蛛猴快速收斂到全局最優(yōu)解,故在全局領(lǐng)導(dǎo)階段改變搜索方式,直接由全局領(lǐng)導(dǎo)者引導(dǎo)覓食,提高了算法的收斂速度;同時(shí),為進(jìn)一步平衡算法的搜索速度與收斂精度,加入了動(dòng)態(tài)學(xué)習(xí)因子:
從而改進(jìn)后的搜索方式為:
其中,zmax、zmin分別是學(xué)習(xí)因子的最大和最小值,z0為平衡因子,fi表示第i 個(gè)蜘蛛猴的目標(biāo)函數(shù)值,fmax、fmin分別表示目標(biāo)函數(shù)值的最大值、最小值。
(4)局部領(lǐng)導(dǎo)決策階段的改進(jìn)
在局部領(lǐng)導(dǎo)決策階段,隨著算法的不斷進(jìn)化,當(dāng)前的局部最優(yōu)解越來越接近全局最優(yōu)解,那么對(duì)算法的局部搜索能力要求就越高。而該階段蜘蛛猴群的位置是不斷變化的,毫無規(guī)律,具有很大的隨機(jī)性,不利于在局部小范圍內(nèi)尋找最優(yōu)解。為了克服這個(gè)缺點(diǎn),引入偽反向?qū)W習(xí)策略來產(chǎn)生偽反向種群,增加了種群的多樣性,這樣蜘蛛猴群能夠在局部小范圍內(nèi)進(jìn)行精細(xì)搜索,避免了跳過最優(yōu)解的弊端,然后從當(dāng)前種群和偽反向種群進(jìn)行精英選擇,從而有效地找到最優(yōu)解。具體過程如下:
根據(jù)概率論,有50%的反向解會(huì)更優(yōu)。因此,基于當(dāng)前解和反向解,反向解具有加速收斂并提高算法精度的潛力。
若偽反向解的適應(yīng)度值優(yōu)于當(dāng)前解的適應(yīng)度值,則用偽反向解QOX 替換當(dāng)前解X ;否則,當(dāng)前解X 保持不變。這樣,在用式(12)更新蜘蛛猴群位置之前利用上述偽反向?qū)W習(xí)策略產(chǎn)生全局領(lǐng)導(dǎo)者的位置,以便于更精確地找到最優(yōu)解,從而提高了算法的尋優(yōu)性能。
為了驗(yàn)證所給LOBSMO 的有效性,選取了9 個(gè)經(jīng)典測(cè)試函數(shù)進(jìn)行性能測(cè)試。
(1)Sphere函數(shù):
(2)Ellipsoidal函數(shù):
(3)Griewank函數(shù)
第二個(gè)樂段(B段)就像是一首勞動(dòng)大軍的進(jìn)行曲,調(diào)性轉(zhuǎn)為C大調(diào)。右手好像是三個(gè)聲部的勞動(dòng)者的合唱,左手是強(qiáng)而有彈性的節(jié)奏襯托。音樂雄強(qiáng),氣勢(shì)宏大,這是李樹化鋼琴曲中最雄強(qiáng)有力的作品。
(4)Ackley函數(shù):
(5)Zakharov函數(shù):
(6)Levi Montalvo 2函數(shù):
(7)Alpine函數(shù):
(8)Levi Montalvo 1函數(shù):
(9)2D tripod函數(shù):
以上9個(gè)測(cè)試函數(shù)的理論最優(yōu)值均為0,其中f1、f2為單峰函數(shù),f3~f7為多峰函數(shù),f8、f9為復(fù)合函數(shù),在20維的情況下進(jìn)行仿真實(shí)驗(yàn)。表1給出了LOBSMO在9個(gè)測(cè)試函數(shù)獨(dú)立運(yùn)行50次得到的最優(yōu)值、平均值及標(biāo)準(zhǔn)差。為了說明改進(jìn)算法的優(yōu)越性,將LOBSMO 與文中所提的DE[13]、PSO[14]、MA[15]及SMO[9]進(jìn)行了比較,結(jié)果如表1。且各算法的參數(shù)設(shè)置如下,DE:雜交概率CR=0.5 ,變異概率F=0.1 ;PSO:學(xué)習(xí)因子c1=c2=1.496 ,慣性權(quán)重最大值wmax=0.9 ,慣性權(quán)重最小值wmin=0.2,速度最大值vmax=6;MA:步長(zhǎng)a=0.1,視野長(zhǎng)度b=0.5 ,跳區(qū)間[c ,d ]=[- 1,1] ,爬的迭代次數(shù)Nc=10;SMO:MG=5,gll=50,lll=1 500,pr=0.8;LOBSMO:pr=0.4,p=1,q=2,amax=0.8,amin=0.5,zmax=0.8,zmin=0.5,z0=0.5。其他參數(shù)與SMO相同,5 種算法種群規(guī)模都設(shè)為50??偟螖?shù)為1 000,在20維情況下進(jìn)行測(cè)試。
根據(jù)表1各項(xiàng)結(jié)果得出:LOBSMO對(duì)于f2、f3和f9的求解結(jié)果達(dá)到了理論最小值0。對(duì)于f5,PSO的標(biāo)準(zhǔn)差為0,但其最優(yōu)值和平均值都為1 000,說明每次求解的值都很大,精度低。除了f5,LOBSMO對(duì)每個(gè)測(cè)試函數(shù)求解的最優(yōu)值、平均值和標(biāo)準(zhǔn)差都優(yōu)于DE、PSO、MA及SMO。因而,所提的改進(jìn)策略效果較優(yōu)。圖2 展示了5 種算法關(guān)于f1、f8的收斂曲線圖,從圖中可看出:LOBSMO的收斂精度明顯優(yōu)于其他4種算法。
表1 LOBSMO與對(duì)比算法關(guān)于測(cè)試函數(shù)的結(jié)果
圖2 5種算法的收斂曲線圖
表2 LOBSMO與4種算法的Wilcoxon秩和檢驗(yàn)結(jié)果
由表2的P 和H 值可總結(jié)出:對(duì)于全部9個(gè)測(cè)試函數(shù),LOBSMO 與SMO、MA、PSO、DE 的Wilcoxon 秩和檢驗(yàn)結(jié)果中,H=1 說明每?jī)山M數(shù)據(jù)都有顯著差異,P值都小于1×10-10,并且LOBSMO 的精度高,因此,LOBSMO 優(yōu)于所對(duì)比的算法,其尋優(yōu)性能得到了很大的改善。
利用改進(jìn)的蜘蛛猴優(yōu)化算法求解物流配送中心選址問題,就是以式(1)為目標(biāo)函數(shù),尋找其最小值。在求解過程中,它們的對(duì)應(yīng)關(guān)系為:算法中每個(gè)蜘蛛猴的位置對(duì)應(yīng)求解問題的一組可行解,種群規(guī)模對(duì)應(yīng)備選的方案數(shù)目,搜索空間的維數(shù)對(duì)應(yīng)備選的城市個(gè)數(shù),選出全局領(lǐng)導(dǎo)者的位置對(duì)應(yīng)配送中心。具體求解步驟如下:
步驟1 設(shè)定蜘蛛猴算法的參數(shù)值,如種群規(guī)模P,總的迭代次數(shù)N 等參數(shù)。
步驟2 用round( )函數(shù)對(duì)式(15)中的分量取整,給出種群中每個(gè)蜘蛛猴的初始位置。計(jì)算出蜘蛛猴群中個(gè)體當(dāng)前位置的適應(yīng)度值,找出當(dāng)前最優(yōu)的位置及對(duì)應(yīng)的適應(yīng)度值并記錄,將每個(gè)小組中適應(yīng)度值最優(yōu)的蜘蛛猴選為局部領(lǐng)導(dǎo)者后,將局部領(lǐng)導(dǎo)者中具有最優(yōu)適應(yīng)度值的猴子選為全局領(lǐng)導(dǎo)者。
步驟3 執(zhí)行局部領(lǐng)導(dǎo)階段,用分段步長(zhǎng)式(16)取代隨機(jī)步長(zhǎng)。根據(jù)式(17)不斷進(jìn)行覓食,計(jì)算該階段位置更新后,蜘蛛猴群中個(gè)體當(dāng)前位置的適應(yīng)度值,如果有更好的適應(yīng)度值,則更新蜘蛛猴群位置到較好適應(yīng)度值相對(duì)應(yīng)的位置。
步驟4 執(zhí)行全局領(lǐng)導(dǎo)階段,由式(19)產(chǎn)生新的蜘蛛猴位置,向全局領(lǐng)導(dǎo)者位置靠近。
步驟5 依次執(zhí)行全局領(lǐng)導(dǎo)學(xué)習(xí)階段、局部領(lǐng)導(dǎo)學(xué)習(xí)階段,判斷全局和局部領(lǐng)導(dǎo)者的位置是否更新,如果全局領(lǐng)導(dǎo)者的位置沒有更新,則glc 增加1;如果局部領(lǐng)導(dǎo)者的位置沒有更新,則llc 增加1。
步驟6 執(zhí)行局部領(lǐng)導(dǎo)決策階段之前,用偽反向?qū)W習(xí)策略式(20)、(21)產(chǎn)生全局領(lǐng)導(dǎo)者,再根據(jù)式(12)繼續(xù)更新蜘蛛猴的位置,計(jì)算蜘蛛猴群中個(gè)體當(dāng)前位置的適應(yīng)度值,如果有更好的適應(yīng)度值,則更新蜘蛛猴群位置到較好適應(yīng)度值相對(duì)應(yīng)的位置。
步驟7 執(zhí)行全局領(lǐng)導(dǎo)決策階段,判斷glc 是否達(dá)到了gll ,如果達(dá)到則將整個(gè)大群體進(jìn)行分組,即局部群體數(shù)增加1;群體分組直到達(dá)到MG ,又重新組成一個(gè)群體,即MG=1。
步驟8 重復(fù)步驟3~7,直至滿足終止條件,算法結(jié)束,輸出最優(yōu)位置和最優(yōu)適應(yīng)度值,即得到物流中心的城市位置編號(hào)和最優(yōu)值。
這里采集了中國(guó)31 個(gè)城市的坐標(biāo),從中選出6 個(gè)配送中心。如表3 為城市坐標(biāo)和所需配送的貨物量,表中,( x,y )代表中國(guó)31個(gè)城市的坐標(biāo),hi表示各城市的需求量。
表3 31個(gè)城市的位置及其對(duì)應(yīng)的需求量
用LOBSMO 求解該問題時(shí),算法參數(shù)設(shè)置與3.3節(jié)中數(shù)值實(shí)驗(yàn)與分析的參數(shù)相同。用LOBSMO 求解一次31 個(gè)城市的物流中心選址問題,得到的最優(yōu)值為5.496 5E+005,選出的配送中心為5-9-12-17-20-27。接著,利用DE、PSO、MA 及SMO 進(jìn)行一次求解得到的最優(yōu)值分別為6.860 9E+005、6.205 2E+005、5.827 2E+005、6.014 4E+005;相應(yīng)的配送中心分別為8-11-16-17-21-26,1-2-3-4-5-7,3-5-9-14-20-27,5-9-14-19-22-28。這5種算法求解過程收斂曲線如圖3所示。進(jìn)一步利用5個(gè)算法分別對(duì)31 個(gè)城市物流選址問題進(jìn)行50 次求解,得到的最優(yōu)值、平均值、中位數(shù)和標(biāo)準(zhǔn)差如表4所示。
圖3 對(duì)31維物流中心選址尋優(yōu)曲線圖
為了進(jìn)一步說明LOBSMO 的有效性,收集了中國(guó)100 個(gè)城市的坐標(biāo),要選出21 個(gè)物流配送中心。如表5為各城市具體的坐標(biāo)及對(duì)應(yīng)的貨物量。利用以上5 個(gè)算法分別求解這100 個(gè)城市的物流中心選址問題,LOBSMO、DE、PSO、MA 及SMO 求解的最優(yōu)值分別為1.077 3E+006、1.206 7E+006、1.202 6E+006、1.109 5E+006、1.127 7E+006;求解的物流配送中心分別為4-5-9-12-16-21-27-33-37-47-55-58-59-63-73-75-80-90-93-94-99,1-7-12-27-29-31-43-48-52-60-63-64-67-72-78-80-87-89-94-96-10,1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18-19-20-21,4-10-14-22-29-32-36-37-43-46-47-49-55-56-61-72-75-80-86-97-99,1-3-4-10-11-15-22-24-25-27-30-37-51-58-66-74-75-80-81-91-94。求解過程的收斂曲線均如圖4所示。用5種算法分別進(jìn)行50次求解,其最優(yōu)值、平均值、中位數(shù)和標(biāo)準(zhǔn)差仍如表4所示。
表4 5種算法求解31維及100維選址問題的結(jié)果
從對(duì)31個(gè)和100個(gè)城市的仿真結(jié)果可得出:LOBSMO都能求解到最優(yōu)值,即需求量與運(yùn)輸距離乘積之和的最小值。SMO、MA 的求解效果次之,DE 尋優(yōu)結(jié)果最差。同時(shí)LOBSMO得到的平均值、標(biāo)準(zhǔn)差都最小,說明每次的求解結(jié)果都比較接近而且較優(yōu),具有一定的魯棒性。且由圖3及圖4可看出,LOBSMO可以快速地求解到最優(yōu)值,說明了該改進(jìn)算法有效地平衡了求解精度與收斂速度之間的關(guān)系。
圖4 100維物流中心選址尋優(yōu)曲線圖
箱型圖[17]是用來說明一組數(shù)據(jù)分散程度情況的統(tǒng)計(jì)圖。為了更直觀地觀察LOBSMO 的優(yōu)越性,將5 種算法分別求解31維及100維實(shí)例得到的50次結(jié)果用箱型圖展示出來,如圖5及圖6所示。
表5 100個(gè)城市的位置及其對(duì)應(yīng)的需求量
圖5 31維物流配送中心選址問題的箱型圖
圖6 100維物流配送中心選址問題的箱型圖
由圖5及圖6可得出,LOBSMO求解不同維度的實(shí)例50次得到的最大值、最小值(圖中黑色橫線)及中位數(shù)(圖中紅線)都優(yōu)于SMO、MA、PSO及DE,而且LOBSMO具有最小的高度。MA的尋優(yōu)結(jié)果次之,DE高度最大,故其效果最差。因而,改進(jìn)蜘蛛猴算法的優(yōu)化性能有了明顯提高。
針對(duì)蜘蛛猴優(yōu)化算法求解物流中心選址問題效果不佳這一問題,本文提出了基于Laplace 分布的偽反向蜘蛛猴算法來求解該問題。首先,在基本蜘蛛猴算法中,用Laplace分布產(chǎn)生隨機(jī)數(shù)來初始化蜘蛛猴群,增加了初始種群的多樣性。在局部領(lǐng)導(dǎo)階段,采用非線性遞減分段的步長(zhǎng),有效平衡了全局探索與局部開發(fā)能力。改變了全局領(lǐng)導(dǎo)階段的覓食方式,加快了收斂速度。局部領(lǐng)導(dǎo)決策階段引入偽反向?qū)W習(xí)策略,避免算法陷入局部最優(yōu)。通過9個(gè)測(cè)試函數(shù)和Wilcoxon秩和檢驗(yàn),說明所提改進(jìn)算法是可行的。然后,利用改進(jìn)算法分別求解31維及100維的物流中心選址問題。最后,結(jié)合所求結(jié)果及箱型圖驗(yàn)證了該算法的優(yōu)越性,為解決多維復(fù)雜優(yōu)化問題提供了一種有效的方法。