李 婕,尚文祥,胡永濤
(河南工學(xué)院a.電氣工程與自動(dòng)化學(xué)院;b.新鄉(xiāng)市機(jī)械設(shè)備運(yùn)行狀態(tài)智能監(jiān)測(cè)工程技術(shù)研究中心,新鄉(xiāng) 453003)
隨著智能技術(shù)的飛速發(fā)展,機(jī)器人是被廣泛應(yīng)用于各行各業(yè)如農(nóng)業(yè)[1]、娛樂(lè)、工業(yè)等領(lǐng)域。如何高效地規(guī)劃移動(dòng)機(jī)器人的移動(dòng)路徑已成為目前主要的研究熱點(diǎn)問(wèn)題之一,此問(wèn)題是一個(gè)受復(fù)雜約束的條件下,復(fù)雜環(huán)境中的非線性最優(yōu)規(guī)劃問(wèn)題[2]。近年來(lái),研究學(xué)者著重于基于智能優(yōu)化算法的機(jī)器人路徑規(guī)劃方法研究。這些基于智能算法的機(jī)器人路徑規(guī)劃方法均能夠提高路徑規(guī)劃的求解精度,比如有:GA算法[3]、PSO算法[4]、ABC算法[5]、改進(jìn)PSO優(yōu)化器[6]、改進(jìn)GWO優(yōu)化器[7]、改進(jìn)ACO優(yōu)化器[8,13]、動(dòng)態(tài)分組ACO算法[9]、FWA-ACO混合算法[10]、PSO-ACO算法[11]、量子WDO算法[12]等。這些方法在求解高維復(fù)雜環(huán)境中機(jī)器人路徑規(guī)劃問(wèn)題時(shí)仍會(huì)過(guò)早地陷入局部最優(yōu),造成求解速度和精度較低等問(wèn)題。
海鷗優(yōu)化(seagull optimization algorithm,SOA)被廣泛應(yīng)用于求解各類約束規(guī)劃問(wèn)題,如結(jié)構(gòu)優(yōu)化[14]、光伏MPPT問(wèn)題[15]、礦震定位問(wèn)題[16]、參數(shù)辨識(shí)問(wèn)題[17]、PID控制器參數(shù)優(yōu)化[18]、電-氣互聯(lián)系統(tǒng)優(yōu)化調(diào)度[19]等。這些文獻(xiàn)中的與SOA相關(guān)算法處理復(fù)雜約束問(wèn)題能獲取較好的求解質(zhì)量,但是,對(duì)于高維的復(fù)雜非線性規(guī)劃問(wèn)題(如復(fù)雜環(huán)境中機(jī)器人路徑規(guī)劃問(wèn)題),SOA算法依舊容易陷入局部最優(yōu),求解質(zhì)量較低。
為此,為改善SOA算法的尋優(yōu)能力,通過(guò)融合了混沌策略,多方向翻筋斗遷徙策略,翻筋斗式螺旋跳躍捕食策略及混合波動(dòng)非線性自適應(yīng)碰撞因子,提出了一種融合多策略改進(jìn)的SOA(multi-strategy improved seagull optimization algorithm,MSOA)算法。將MSOA算法應(yīng)用求解測(cè)試函數(shù)和復(fù)雜環(huán)境中機(jī)器人路徑規(guī)劃問(wèn)題上,通過(guò)仿真實(shí)驗(yàn)驗(yàn)證了所提出算法的適用性,求解穩(wěn)定性和精度等方面的優(yōu)勢(shì)。
SOA算法主要通過(guò)遷徙策略和捕食策略來(lái)改變海鷗個(gè)體的覓食位置,以實(shí)現(xiàn)尋覓豐富食物的目的。算法主要數(shù)學(xué)尋優(yōu)過(guò)程可簡(jiǎn)化為:
(1)遷徙策略。為更好地獲得食物,海鷗個(gè)體會(huì)頻繁遷徙,通過(guò)擴(kuò)大覓食范圍,尋求更加豐富的食物。海鷗個(gè)體遷徙位置的更新包括未發(fā)生碰撞的位置更新如式(1)和式(2)所示,沿最優(yōu)遷徙方向位置的更新如式(3)所示,向最優(yōu)海鷗靠近時(shí)位置的更新如式(5)所示。
C(k)=λ×X(k)
(1)
式中:C(k)為海鷗個(gè)體的未碰撞遷徙位置,X(k)為海鷗個(gè)體當(dāng)前遷徙位置,λ為避免海鷗個(gè)體之間發(fā)生碰撞控制參數(shù)。
λ=φ(1-k/kmaxiteration)
(2)
式中:φ為常數(shù),取值為2。
M(k)=η×(Xb(k)-X(k))
(3)
η=2×λ2×rand
(4)
式中:M(k)為海鷗個(gè)體的當(dāng)前遷徙位置,Xb(k)為海鷗個(gè)體當(dāng)前最優(yōu)遷徙位置,η為算法的控制因子,rand為[0,1]內(nèi)的任意隨機(jī)數(shù)。
D(k)=|C(k)+M(k)|
(5)
式中:D(k)為海鷗個(gè)體的最后遷徙位置。
(2)捕食策略。海鷗個(gè)體捕食過(guò)程中,對(duì)獵物的攻擊方式以螺旋運(yùn)動(dòng)為主,海鷗個(gè)體的螺旋攻擊運(yùn)動(dòng)行為如式(6)所示,其捕食位置的更新如式(7)所示。
(6)
式中:r為海鷗個(gè)體螺旋飛行的運(yùn)動(dòng)半徑大小,α為在[0,2π]范圍內(nèi)服從均勻分布的任意攻擊角度,u和v為控制螺旋飛行軌跡的參數(shù)。
X(k)=(D×(X×Y×Z))×Xb(k)
(7)
本部分重點(diǎn)從分析算法的遷徙策略和捕食策略不足之處,對(duì)算法進(jìn)行多策略改進(jìn)提出MSTOA算法,具體內(nèi)容為:
(1)初始種群混沌初始化策略。原始SOA算法初始種群生成方式單一,隨機(jī)性較強(qiáng),不利于初始種群的均勻分布,會(huì)降低SOA算法初始搜索速度和精度。為此,文中采用Circle混沌映射初始化種群如下:
(8)
(2)多方向翻筋斗遷徙策略。在SOA算法中,由圖1可知,原始遷徙策略是在遷徙區(qū)域A內(nèi),海鷗個(gè)體沿固定方向D不斷地向最佳海鷗個(gè)體靠近的過(guò)程,整個(gè)遷徙過(guò)程受參數(shù)λ的影響較重,然而參數(shù)λ是一個(gè)線性遞減的變化因子,這就會(huì)導(dǎo)致隨著遷徙的不斷進(jìn)行,海鷗個(gè)體之間的距離會(huì)不斷地減小,聚集程度就會(huì)由稀疏向密集發(fā)展。當(dāng)海鷗個(gè)體聚集程度嚴(yán)重時(shí)候,不利于海鷗個(gè)體向最佳位置移動(dòng),也就會(huì)降低算法尋優(yōu)能力。為克服這種缺點(diǎn),文中提出了多方向翻筋斗遷徙策略,由圖1可知,在遷徙過(guò)程中,若是海鷗個(gè)體以最佳海鷗個(gè)體為中心,沿多個(gè)遷徙方向(A,B,C)進(jìn)行翻筋斗動(dòng)作,翻筋斗至原有海鷗位置的對(duì)稱處。這樣可以明顯看出,海鷗個(gè)體的遷徙區(qū)域A會(huì)擴(kuò)大至遷徙區(qū)域B,同時(shí),海鷗個(gè)體會(huì)分散至最優(yōu)海鷗個(gè)體周圍,聚集程度明顯降低。算法的遷徙區(qū)域擴(kuò)大和聚集程度的降低有利于提高算法的局部開(kāi)發(fā)和全局搜索能力。這種多方向翻筋斗遷徙策略定義為:
圖1 多方向翻筋斗遷徙策略
MF(k)=X(k)+β×η×(r1×Xb(k)-r2×X(k))
(9)
式中:MF(k)為海鷗個(gè)體翻筋斗后的遷徙位置,β為翻筋斗因子,r1和r2為[0,1]區(qū)間內(nèi)的隨機(jī)數(shù)。
D(k)=(-1)ksin(γ)|C(k)+MF(k)|
(10)
式中:γ為海鷗個(gè)體翻筋斗的方向控制角度因子。
(3)翻筋斗式螺旋跳躍捕食策略。在SOA算法中,海鷗個(gè)體的螺旋式捕食策略存在對(duì)獵物攻擊過(guò)程中,無(wú)法保證螺旋飛行過(guò)程中海鷗個(gè)體之間不發(fā)生聚集與碰撞,若出現(xiàn)聚集與碰撞現(xiàn)象就會(huì)導(dǎo)致算法種群的多樣性降低,不利于算法局部尋優(yōu)和搜索速度。為此,文中提出了翻筋斗式螺旋跳躍捕食策略,分為兩步先對(duì)海鷗個(gè)體螺旋攻擊位置進(jìn)行跳躍操作(即螺旋跳躍攻擊策略如圖2所示),其次,以獵物為中心,對(duì)海鷗個(gè)體的螺旋跳躍攻擊位置進(jìn)行翻筋斗變異,如圖3所示(翻筋斗式螺旋跳躍捕食策略)。
圖2 螺旋跳躍攻擊策略
圖3 翻筋斗式螺旋跳躍捕食策略
由圖2可知,原始的螺旋攻擊策略存在攻擊范圍窄的不足,攻擊方向單一,這不利于算法的局部尋優(yōu)。為此,文中提出了螺旋跳躍攻擊策略。這種策略首先采用螺旋方式更新海鷗個(gè)體的攻擊位置,其次,以獵物位置為中心,對(duì)海鷗個(gè)體進(jìn)行跳躍運(yùn)動(dòng)??梢悦黠@看出,通過(guò)改變跳躍角度θ和初始速度v0,采用這種攻擊策略,增加了攻擊方向,擴(kuò)大了螺旋式攻擊策略的攻擊范圍,也可改善海鷗個(gè)體的聚集現(xiàn)象,豐富海鷗個(gè)體的多樣性,這有利于提高算法的局部尋優(yōu)能力。
這種螺旋跳躍攻擊策略主要由螺旋運(yùn)動(dòng)和拋物線運(yùn)動(dòng)構(gòu)成,故其數(shù)學(xué)模型可描述為:
(11)
式中:g為重力加速值,取值9.8;XG(k)為海鷗個(gè)體螺旋攻擊位置由式(6)計(jì)算,XR(k+1)為海鷗個(gè)體螺旋跳躍后的攻擊位置。
由于翻筋斗策略可以增加種群的多樣性,提高算法的尋優(yōu)能力,為此,文中結(jié)合翻筋斗策略和螺旋跳躍攻擊策略提出了翻筋斗式螺旋跳躍捕食策略,如圖3所示。當(dāng)海鷗個(gè)體在攻擊區(qū)域A內(nèi)進(jìn)行螺旋跳躍攻擊獵物,雖然可以豐富種群的多樣性,增強(qiáng)算法跳出局部最優(yōu)的能力,但是當(dāng)海鷗個(gè)體進(jìn)入到較小的攻擊區(qū)域B內(nèi),依然會(huì)存在聚集現(xiàn)象,導(dǎo)致算法的尋優(yōu)能力下降。為此,采用翻筋斗策略對(duì)螺旋跳躍后的海鷗個(gè)體進(jìn)行翻筋斗操作,這樣就沿著不同的翻筋斗方向,可實(shí)現(xiàn)豐富海鷗個(gè)體的多樣性,增強(qiáng)算法的局部尋優(yōu)能力。這種策略的數(shù)學(xué)模型描述為:
X(k)=XR(k)+β×(r3×Xb(k)-r4×XR(k))
(12)
式中:β為翻筋斗因子與式(8)中相同,r3和r4為[0,1]區(qū)間內(nèi)的隨機(jī)數(shù),XR(k)為海鷗個(gè)體螺旋跳躍后的攻擊位置,X(k)為海鷗個(gè)體翻筋斗螺旋跳躍后的攻擊位置。
(4)混合波動(dòng)碰撞控制因子。由多方向翻筋斗遷徙策略分析中發(fā)現(xiàn),參數(shù)λ對(duì)算法的尋優(yōu)性能影響程度較高。整個(gè)遷徙過(guò)程中,原有的線性遞減碰撞因子λ缺乏自我調(diào)節(jié)的能力,不利于算法的全局搜索和局部開(kāi)發(fā)。為此,文中采用一種混合波動(dòng)碰撞控制因子為:
(13)
由圖4可知,參數(shù)λ的動(dòng)態(tài)波動(dòng)性明顯增強(qiáng),迭代前期,表現(xiàn)為先快速非線性下降又轉(zhuǎn)入非線性上升,接著又非線性下降;迭代中期,參數(shù)λ抖降,迭代中后期,由較短的緩慢上升階段隨即轉(zhuǎn)入快速下降階段。這種混合式的忽升忽降的非線性變化,使得參數(shù)λ能夠?qū)崿F(xiàn)自適應(yīng)的平衡算法的全局搜索和局部開(kāi)發(fā),提高算法的收斂精度。
圖4 混合波動(dòng)非線性碰撞控制因子
基于2.1節(jié)提出的改進(jìn)MSOA算法,MSOA算法具體步驟為:
步驟1:設(shè)定海鷗種群N,最大尋優(yōu)次數(shù)kmaxiteration,維數(shù)D及搜索空間大小;
步驟2:按照式(8)初始化海鷗種群位置,并計(jì)算海鷗種群的適應(yīng)度值;
步驟3:更新混合波動(dòng)碰撞控制因子λ參照式(13);
步驟4:海鷗個(gè)體多方向翻筋斗遷徙位置更新參照式(1)、式(4)、式(9)和式(10);
步驟5:海鷗個(gè)體翻筋斗式螺旋跳躍捕食位置更新參照式(6)、式(7)、式(11)和式(12);
步驟6:重新計(jì)算適應(yīng)度值并更新海鷗位置;
步驟7:判斷算法是否滿足最大迭代次數(shù),若達(dá)到最大迭代次數(shù),輸出最優(yōu)解,反之,返回步驟3繼續(xù)迭代計(jì)算;
步驟8:算法尋優(yōu)結(jié)束,輸出最優(yōu)解。
假設(shè)MSOA算法的海鷗種群N,最大尋優(yōu)次數(shù)kmaxiteration和維數(shù)D。海鷗種群初始化時(shí)間復(fù)雜度為O(2N×D),更新過(guò)程中的時(shí)間復(fù)雜度為O(kmaxiteration×N×D)+O(kmaxiteration×N)。因此,MSOA算法的時(shí)間復(fù)雜度為O(N(kmaxiteration+2)×D+kmaxiteration)。
為評(píng)估MSOA算法的尋優(yōu)性能,選用單模態(tài)函數(shù)測(cè)試算法的收斂精度和魯棒性,多模態(tài)函數(shù)測(cè)試算法的跳出局部最優(yōu)的能力,進(jìn)一步利用平均絕對(duì)誤差(MAE)統(tǒng)計(jì)方法[29]來(lái)驗(yàn)證算法的優(yōu)越性?;鶞?zhǔn)測(cè)試函數(shù)如表1所示。選用5種算法即CS[20]、ALO[21]、MFO[22]、SOA[14]、GWO[25]和MSOA進(jìn)行對(duì)比分析。5種對(duì)比算法的參數(shù)均采用文獻(xiàn)中推薦的值。所有算法在MATLAB2019軟件上,Win10系統(tǒng),32 G內(nèi)存,Intel i7處理器上運(yùn)行計(jì)算,選用30次的均值(Mean)、標(biāo)準(zhǔn)差(SD)和耗時(shí)(Time)作為實(shí)驗(yàn)評(píng)價(jià)指標(biāo)。
表1 基準(zhǔn)測(cè)試函數(shù)
表2給出了不同算法在基準(zhǔn)測(cè)試函數(shù)上的實(shí)驗(yàn)結(jié)果。由表2實(shí)驗(yàn)結(jié)果可知,對(duì)單模態(tài)函數(shù)F1~F6,MSOA算法Mean和SD值優(yōu)于SOA、CS、GWO、ALO和MFO算法,特別在函數(shù)F1、F2、F3和F4上均能夠穩(wěn)定的提供全局最優(yōu)解。在函數(shù)F6上,MSOA算法結(jié)果劣于MFO,但優(yōu)于其他4種算法。同時(shí),由圖5可知,與其他5種算法相比,在混沌初始化策略,多方向翻筋斗遷徙策略,翻筋斗式螺旋跳躍捕食策略作用下,MSOA算法可快速的收斂至最優(yōu)解,收斂曲線下降速率明顯快于其他算法,具有較快的收斂速度。
表2 基準(zhǔn)測(cè)試函數(shù)實(shí)驗(yàn)結(jié)果
(a) F1 (b) F2
對(duì)于多模函數(shù)F7~F11,在函數(shù)F8上,MSOA算法可提供的Mean值為全局最優(yōu)解。在函數(shù)F9~F11上,MSOA算法的Mean和SD值均小于SOA、CS、GWO、ALO和MFO算法。同時(shí),由圖6可知,在混合波動(dòng)非線性自適應(yīng)碰撞因子作用下,增強(qiáng)了MSOA算法種群個(gè)體間學(xué)習(xí)能力,使其可快速的跳出局部最優(yōu)解,跳出局部最優(yōu)解的能力明顯優(yōu)于其他5種算法。
(a) F8 (b) F12
由表2中的Time值可知,對(duì)所有的測(cè)試函數(shù),MFO算法的耗時(shí)最長(zhǎng),MSOA算法的耗時(shí)略高于SOA、CS、GWO和MFO算法。MSOA算法比SOA算法的耗時(shí)增加幅度較小,這是融入多種變異策略導(dǎo)致MSOA算法種群個(gè)體搜索時(shí)間增加,但算法的收斂精度和收斂效率均大幅提升。因此,這種耗時(shí)的延長(zhǎng)是在合理接受范圍內(nèi)。
表3給出了不同算法之間的MAE統(tǒng)計(jì)結(jié)果。由表3可知,MSOA算法獲得了較小的MAE值為0.000 529。在所有算法中排名第一。因此,與其他5種算法相比,MSOA算法具有較強(qiáng)的優(yōu)越性。
表3 不同算法的MAE結(jié)果比較
以上結(jié)果表明,MSOA算法在基準(zhǔn)測(cè)試函數(shù)上表現(xiàn)優(yōu)異,能夠較好地處理單模態(tài)和多模態(tài)問(wèn)題,這是采用混沌初始化策略,多方向翻筋斗遷徙策略,翻筋斗式螺旋跳躍捕食策略增強(qiáng)MSOA算法局部和全局搜索能力,同時(shí)采用混合波動(dòng)非線性自適應(yīng)碰撞因子,平衡了MSOA算法的全局搜索能力與局部開(kāi)發(fā)能力,提高了MSOA算法的整體尋優(yōu)能力。
在構(gòu)建環(huán)境模型中,假設(shè)移動(dòng)機(jī)器人為一個(gè)無(wú)質(zhì)量和大小的質(zhì)點(diǎn);移動(dòng)環(huán)境中包含了障礙物,在二維移動(dòng)空間內(nèi),障礙物分布隨機(jī)且數(shù)量若干;移動(dòng)機(jī)器人需在移動(dòng)二維空間內(nèi)進(jìn)行移動(dòng)。文中采用柵格法構(gòu)建移動(dòng)機(jī)器人的環(huán)境,白色區(qū)域?yàn)榭梢苿?dòng)區(qū)域,黑色為障礙物。假設(shè)移動(dòng)機(jī)器人移動(dòng)坐標(biāo)為(x,y);構(gòu)建移動(dòng)機(jī)器人移動(dòng)的路徑長(zhǎng)度作為適應(yīng)度函數(shù),如式(14)所示。
(14)
根據(jù)第2節(jié)提出的改進(jìn)MSOA算法,文中提出基于MSOA的機(jī)器人路徑規(guī)劃算法流程如圖7所示及具體步驟為:
圖7 基于MSOA算法的機(jī)器人路徑規(guī)劃方法
步驟1:柵格地圖路徑規(guī)劃環(huán)境及MSOA算法的初始參數(shù)信息設(shè)置。如機(jī)器人移動(dòng)始末位置,地圖大小,種群數(shù)量大小及最大尋優(yōu)迭代次數(shù)等;
步驟2:初始化每只海鷗的坐標(biāo)位置,參照式(8),并獲取最短初始路徑長(zhǎng)度和規(guī)劃信息;
步驟3:根據(jù)MSOA算法和適應(yīng)度函數(shù)更新每只海鷗的坐標(biāo)位置,計(jì)算海鷗的適應(yīng)度函數(shù)值;
步驟4:重新計(jì)算路徑長(zhǎng)度函數(shù)適應(yīng)度值并更新最短路徑長(zhǎng)度和規(guī)劃信息;
步驟5:判斷算法是否滿足最大迭代次數(shù),假如是,就輸出最短路徑長(zhǎng)度及最佳路徑規(guī)劃信息,反之,返回步驟3繼續(xù)計(jì)算;
步驟6:算法迭代計(jì)算結(jié)束。
4.3.1 實(shí)驗(yàn)設(shè)置
為進(jìn)一步驗(yàn)證MSOA算法的優(yōu)勢(shì),將其應(yīng)用于求解在移動(dòng)機(jī)器人路徑規(guī)劃問(wèn)題,通過(guò)選取7種算法與MSOA算法作對(duì)比分析。實(shí)驗(yàn)中采用常規(guī)的柵格法方法來(lái)創(chuàng)建3種路徑規(guī)劃地圖環(huán)境MapⅠ、MapⅡ、MapⅢ,其大小分別為32 m×32 m、42 m×42 m、52 m×52 m,如圖8~圖10所示。地圖中白色方塊是可通過(guò)區(qū)域,黑色方塊是障礙物不可通過(guò)區(qū)域。3種地圖的機(jī)器人起始點(diǎn)均設(shè)置為最左上角,終止點(diǎn)均設(shè)置為最右下角。實(shí)驗(yàn)中共選取7種流行的算法:SOA[14]、STOA[23]、SSA[24]、GWO[25]、TSO[26]、SCA[27]、RSO[28]以及MSOA算法。所有算法種群大小為300,迭代次數(shù)為500,尋優(yōu)次數(shù)為30次。各算法的路徑規(guī)劃尋優(yōu)性能評(píng)價(jià)指標(biāo)選取路徑長(zhǎng)度的最短值(Min),均值(Mean),標(biāo)準(zhǔn)差值(SD),尋優(yōu)成功率(S)及平均尋優(yōu)時(shí)間(Time)。
(a) 最短路徑規(guī)劃 (b) 尋優(yōu)曲線
(a) 最短路徑規(guī)劃 (b) 尋優(yōu)曲線
(a) 最短路徑規(guī)劃 (b) 尋優(yōu)曲線
4.3.2 路徑規(guī)劃結(jié)果分析
不同地圖路徑規(guī)劃對(duì)比實(shí)驗(yàn)結(jié)果在表4~表6給出,各算法之間的移動(dòng)機(jī)器人最優(yōu)路徑移動(dòng)路徑及尋優(yōu)收斂曲線對(duì)比如圖8~圖10所示。由表中結(jié)果可知,對(duì)于MapⅠ、MapⅡ和MapⅢ,就路徑長(zhǎng)度平均Mean值而言,MSOA算法分別為46.72 m、64.65 m和77.83 m。與SSA、SOA、STOA、GWO、RSO、TSO和SCA算法相比,MSOA算法路徑長(zhǎng)度均值最小。同時(shí),就路徑長(zhǎng)度的最短Min值而言,MSOA算法分別為46.65 m、62.42 m和75.75 m。對(duì)于MapⅠ,MSOA、SOA、STOA、TSO和SCA算法具有一樣的路徑長(zhǎng)度的平均值,其優(yōu)于SSA、GWO和RSO算法。就路徑長(zhǎng)度的標(biāo)準(zhǔn)差SD值來(lái)看,對(duì)于3種地圖,MSOA算法的SD值全部小于SSA、SOA、STOA、GWO、RSO、TSO和SCA算法,且SD值精度可達(dá)到了1E-01。就尋優(yōu)成功指數(shù)S來(lái)看,對(duì)于MapⅠ、MapⅡ和MapⅢ,MSOA算法的尋優(yōu)成功指數(shù)S均為1.00,其結(jié)果等于或者大于其他7種算法。就平均尋優(yōu)時(shí)間Time值來(lái)看,對(duì)3種地圖,MSOA算法可提供有競(jìng)爭(zhēng)性的平均尋優(yōu)時(shí)間。對(duì)于MapⅠ,MSOA算法的Time值短于SOA、STOA、GWO、RSO和SCA算法。對(duì)于MapⅡ,MSOA算法的Time值短于GWO算法,對(duì)于MapⅢ,MSOA算法的Time值長(zhǎng)于SSA、TSO和RSO算法,短于其他算法。
表4 MapⅠ路徑規(guī)劃實(shí)驗(yàn)結(jié)果
表5 MapⅡ路徑規(guī)劃實(shí)驗(yàn)結(jié)果
表6 MapⅢ路徑規(guī)劃實(shí)驗(yàn)結(jié)果
由圖8~圖10可以看出,對(duì)于MapⅠ、MapⅡ和MapⅢ,就最短路徑規(guī)劃線路來(lái)看,與其他7種算法相比,MSOA算法的最短路徑規(guī)劃線較為平直,轉(zhuǎn)彎次數(shù)較少,最短路徑規(guī)劃的合理性較高。就尋優(yōu)曲線來(lái)看,MSOA算法的尋優(yōu)曲線下降較快,位于其他7種算法的下方,這說(shuō)明了MSOA算法的收斂效率和尋優(yōu)精度明顯優(yōu)于其他算法。SOA算法的尋優(yōu)曲線下降緩慢,存在嚴(yán)重的局部最優(yōu)解,這是因?yàn)镾OA算法尋優(yōu)過(guò)程中種群的多樣性喪失嚴(yán)重,導(dǎo)致了SOA算法難以跳出局部最優(yōu),造成SOA算法的尋優(yōu)速度降低和精度較低。因此,與SOA算法相比,MSOA算法彌補(bǔ)了SOA算法的不足,提高了算法的路徑尋優(yōu)效率和精度。
以上結(jié)果可以看出,MSOA算法總能夠以較快的速度獲得較短的機(jī)器人路徑規(guī)劃線路,路徑尋優(yōu)能力優(yōu)于其他7種算法,表現(xiàn)很好的穩(wěn)定性和魯棒性。這是由于MSOA算法融合了混沌初始化策略,多方向翻筋斗遷徙策略,翻筋斗式螺旋跳躍捕食策略及混合波動(dòng)非線性自適應(yīng)碰撞因子,平衡了MSOA算法的全局搜索能力與局部開(kāi)發(fā)能力,提高了MSOA算法的尋優(yōu)能力。
為更好地求解機(jī)器人路徑規(guī)劃問(wèn)題及改進(jìn)SOA算法的性能,針對(duì)SOA算法收斂精度弱、易陷入局部最優(yōu)解等不足進(jìn)行了相應(yīng)改進(jìn),提出了多策略改進(jìn)海鷗(MSOA)算法。得出主要結(jié)論如下:
(1)提出了多策略改進(jìn)海鷗算法。在MSOA算法中,設(shè)計(jì)了全新的多方向翻筋斗遷徙覓食策略和筋斗式螺旋跳躍捕食策略,并結(jié)合Circle混沌序列和混合搏斗非線性自適應(yīng)碰撞因子,提高了算法的整體尋優(yōu)能力。
(2)提出了基于多策略改進(jìn)海鷗(MSOA)算法的機(jī)器人路徑規(guī)劃方法用于求解機(jī)器人路徑規(guī)劃問(wèn)題。
(3)測(cè)試函數(shù)和機(jī)器人路徑規(guī)劃實(shí)驗(yàn)結(jié)果表明,MSOA算法的尋優(yōu)能力優(yōu)于SOA、CS、GWO、ALO和MFO算法。同時(shí),對(duì)于不同的地圖,MSOA算法能夠快速準(zhǔn)確地避開(kāi)障礙物,獲得最短的路徑長(zhǎng)度。MSOA算法的路徑規(guī)劃尋優(yōu)能力優(yōu)于SSA、SOA、STOA、GWO、RSO、TSO和SCA算法,表現(xiàn)出較好的穩(wěn)定性、適用性和魯棒性。