黃華娟,閔峰
(廣西民族大學(xué) a.人工智能學(xué)院;b.電子信息學(xué)院,南寧 530006)
最優(yōu)化是應(yīng)用數(shù)學(xué)的一個分支,主要指在一定的條件限制下,選取某種研究方案使目標(biāo)達(dá)到最優(yōu)的一種方法.最優(yōu)化問題在當(dāng)今的軍事、工程、管理等領(lǐng)域都有著極其廣泛的應(yīng)用.蜻蜓優(yōu)化算法(Dragonfly Algorithm,DA)是MIRJALILI[1]于2016年提出的一種新型智能優(yōu)化算法.其主要靈感源于自然界中蜻蜓的靜態(tài)和動態(tài)群集行為,在解決優(yōu)化問題時[2],它存在收斂精度低,容易陷入局部最優(yōu)解,求解時間長與不穩(wěn)定等缺點.
針對以上問題,國內(nèi)外學(xué)者做了很多的優(yōu)化與改進(jìn).高旭等[3]提出基于自適應(yīng)權(quán)重的蜻蜓算法,通過自動調(diào)整原聚集、壁撞與結(jié)對等3種權(quán)重,改善算法的勘探能力,并應(yīng)用于瑞雷波頻散曲線反演中.薛海峰等[4]針對風(fēng)電并網(wǎng)協(xié)調(diào)輸電網(wǎng)擴(kuò)展規(guī)劃問題,提出基于離散多目標(biāo)蜻蜓算法,并對風(fēng)電協(xié)調(diào)輸電網(wǎng)擴(kuò)展規(guī)劃模型進(jìn)行求解.YUAN等[5]提出了自適應(yīng)阻力和耐力的蜻蜓算法,用3個著名的約束工程問題驗證了其可行性.張穎等[6]對蜻蜓算法的迭代進(jìn)化機(jī)制進(jìn)行改進(jìn),將聚類中心等效為蜻蜓個體編碼,利用蜻蜓算法的尋優(yōu)優(yōu)勢,改善模糊C均值聚類性能.NAGA LAKSHMI等[7]基于混合遺傳蜻蜓算法對徑向配電系統(tǒng)配電電源進(jìn)行優(yōu)化.CHANTAR等[8]通過混合二進(jìn)制蜻蜓算法,融合模擬退火機(jī)制用于特征選擇.SALGOTRA等[9]針對算法搜索性差,內(nèi)聚和對齊不平衡等問題,提出了變異算子的概念,并提出了7個版本的DA,遵循自適應(yīng)參數(shù)、世代劃分、改進(jìn)的開發(fā)階段和線性遞減的種群適應(yīng)來改進(jìn)DA的搜索、收斂和其他特性.
上述的改進(jìn)策略能在一定程度上提升蜻蜓算法的迭代尋優(yōu)能力,但是大多數(shù)研究僅對算法的權(quán)重進(jìn)行調(diào)整,并沒有改善蜻蜓算法易陷入局部解與其優(yōu)化能力不穩(wěn)定等缺陷.為此,本文提出了一種多策略改進(jìn)蜻蜓算法.首先針對算法初始種群的隨機(jī)性,本文采用Logistic混沌映射初始化種群,使算法能夠更快地鎖定最優(yōu)解區(qū)域.其次,采用共生生物搜索算法,改善蜻蜓算法的勘探與開發(fā)能力,增強(qiáng)尋優(yōu)過程中的信息交流.最后,采用余弦擾動避免算法過早陷入局部最優(yōu)解.從算法初始化,到改善算法的勘探和開發(fā)能力,再到最終的變異策略,全面優(yōu)化了蜻蜓算法.為了驗證MIDA的性能,本文采用12個基準(zhǔn)函數(shù)與其他熱門的優(yōu)化算法進(jìn)行比較,同時應(yīng)用于逆運(yùn)動學(xué)求解五自由度機(jī)械臂的參數(shù)中.實驗結(jié)果表明,MIDA相較于其他算法,在函數(shù)優(yōu)化中有著巨大的優(yōu)勢,同時更加穩(wěn)定,并且在逆運(yùn)動學(xué)中的表現(xiàn)更加精確與穩(wěn)定.
蜻蜓算法是一種新型的元啟發(fā)式群智能優(yōu)化算法,其原理是模擬大自然中蜻蜓尋找獵物的行為.該算法源于自然界中蜻蜓動態(tài)和靜態(tài)的智能群行為,對蜻蜓的飛行路線、躲避天敵及尋找食物等生活習(xí)性進(jìn)行數(shù)學(xué)建模.在動態(tài)群中,為獲得更好的生存環(huán)境,大量的蜻蜓集群朝著共同的方向進(jìn)行遠(yuǎn)距離遷徙;在靜態(tài)群中,為尋找其他飛行獵物,由小部分蜻蜓組成的各個小組,在較小的范圍內(nèi)來回飛行.蜻蜓飛行過程中的局部運(yùn)動與飛行路徑的臨時突變是靜態(tài)群的主要特征.在自然界中,蜻蜓的生活習(xí)性可以歸納為5類行為方式:排隊、結(jié)盟、分離、尋找獵物和躲避天敵.這5類行為的數(shù)學(xué)模型如式(1)所示:
(1)
其中,X是當(dāng)前蜻蜓所在位置,N是鄰近蜻蜓的個數(shù),Xj是第j只相鄰蜻蜓所處位置,Vj是第j只相鄰蜻蜓的飛行速度,X+是待捕食的食物所處的位置,X-是天敵所處位置.
Ai代表第i只蜻蜓排隊行為的位置向量;Ci代表第i只蜻蜓結(jié)盟行為的位置向量;Si代表第i只蜻蜓分離行為的位置向量;Fi代表第i只蜻蜓獵食行為的位置向量;Ei代表第i只蜻蜓逃避天敵行為的位置向量.
蜻蜓個體飛行步長向量更新公式如下:
ΔXt+1=(sSi+aAi+cCi+fFi+eEi)+ωΔXt,
(2)
其中s代表分離權(quán)重;a代表對齊權(quán)重;c代表凝聚權(quán)重;f代表獵物權(quán)重因子;e代表天敵權(quán)重因子;ω代表慣性權(quán)重;t代表當(dāng)前迭代次數(shù).蜻蜓個體的位置更新公式如下:
Xt+1=Xt+ΔXt+1,
(3)
其中t是當(dāng)前迭代次數(shù),Xt是當(dāng)前個體的位置向量,ΔXt+1是步長向量.
上述迭代公式為蜻蜓個體周圍有鄰近個體,當(dāng)某只蜻蜓沒有相鄰個體時,通過使用Lévy飛行的方法繞搜索空間飛行,在這種情況下,蜻蜓位置根據(jù)以下公式進(jìn)行更新:
Xt+1=Xt+Lévy(d)ΔXt,
(4)
其中t表示當(dāng)前迭代次數(shù),d代表位置向量的維度.
Lévy飛行的計算公式如下:
(5)
其中r1,r2是兩個[0,1]的隨機(jī)數(shù),β是一個常數(shù)(本文為1.5),δ的計算方法如下:
(6)
其中Γ(x)=(x-1)!
蜻蜓算法的步驟如下:
步驟1 初始化種群參數(shù),包括種群數(shù)量n,最大迭代次數(shù)i_max,位置向量X,方向向量ΔX.
步驟2 計算各個個體的適應(yīng)度值,確定該種群的食物位置與天敵位置.
步驟3 更新權(quán)重,包括領(lǐng)域半徑r、對齊權(quán)重a、分離權(quán)重s、凝聚權(quán)重c、天敵與獵物權(quán)重因子e,f.
步驟4 通過式(1)更新各項位置向量.
步驟5 通過式(2)~(4)更新蜻蜓的位置.
步驟6 判斷新的位置解是否更優(yōu),選取更優(yōu)的解位置.
步驟7 重復(fù)步驟2到步驟6,直到滿足最大迭代次數(shù).
為了提高算法的收斂速度、最優(yōu)解的質(zhì)量以及穩(wěn)定性,本文提出一種多策略改進(jìn)的蜻蜓算法(MIDA),從初始解的選取,勘探與開發(fā)過程的改進(jìn)和余弦擾動3個方面進(jìn)行改進(jìn).
混沌是非線性動力系統(tǒng),描述的是任意隨時間變化的過程,這個過程是類似隨機(jī)的、非周期具有收斂性的,同時初始值對其影響極大.其數(shù)學(xué)表達(dá)式如下:
Xn+1=Xnμ(1-Xn),
(7)
其中,Logistic參數(shù)μ∈[0.0,4.0],研究表明,當(dāng)x∈[0.0,1.0]時,Logistic映射為混沌狀態(tài),即:在此映射作用下產(chǎn)生的序列是非周期的.
圖1為Logistic參數(shù)μ在[2.6,4.0]區(qū)間內(nèi),X0為0.5時的Logistic映射圖,從圖1中可以看出μ值越接近4.0,X的取值越無限分布在[0.0,1.0]區(qū)間內(nèi).因此本文的μ值取為3.999.
表1呈現(xiàn)的是Logistic的隨機(jī)分布特性,取X0=0.2,μ=3.999,迭代10 000次的結(jié)果.分布情況如表1所示.
表1 映射值的分布范圍
由圖2與表1可知:Logistic映射的迭代序列分布并不均勻,呈中間小兩頭大的情形,雖然分布不均,但足以滿足需求.
Logistic映射產(chǎn)生的數(shù)值在[0.0,1.0)間,本文通過式(8),將范圍擴(kuò)展到解空間中.
Xi=Xi×(Xmax-Xmin)+Xmin.
(8)
共生生物搜索算法是一種基于生物學(xué)中共生現(xiàn)象的啟發(fā)式搜索算法,該算法參數(shù)少,操作簡單、易于實現(xiàn)且穩(wěn)定性好.其中包括互利與共棲階段.
在生態(tài)系統(tǒng)中,兩個生物保持互利關(guān)系,其表達(dá)式如下:
(9)
式中RMV代表了Xi和Xj的交互關(guān)系;rand(0,1)是[0,1]間的隨機(jī)數(shù);Xbest為最優(yōu)個體;bf1和bf2為利益因子,其值取為1,表示部分受益.
在共棲階段,生物Xi與Xj交互,使得Xi受益,Xj不變.其表達(dá)式如下:
Xi=Xi+rand(-1,1)(Xbest-Xj),
(10)
其中Xbest-Xj表示Xj對Xi提供的好處,即Xj幫助Xi提高對生態(tài)系統(tǒng)的適應(yīng)度.
因此,MIDA位置更新的表達(dá)式如下:
(11)
在前半部分的迭代中采用互利關(guān)系,重點在于蜻蜓個體間的信息交互,有利于勘探過程,在迭代的后半段采用共棲方式,有利于局部解的開發(fā).
在蜻蜓算法中,每次的更新迭代采用的是貪心策略,即每次選取較優(yōu)解作為新位置,但是到了迭代后期陷入局部解的情況下,不對其進(jìn)行改進(jìn)便會始終為同一解,使得該算法一直在做無用功.
為改善算法的尋優(yōu)能力,采用余弦擾動的方式對未取得更優(yōu)解的個體進(jìn)行變異操作,采取該方式是因為余弦函數(shù)因子具有振蕩特性,余弦擾動公式如下:
Xi=cos((π×t)/(Max_i))×Φ×Xi,
(12)
其中φ∈[-1,1]的隨機(jī)數(shù),Max_i是最大迭代次數(shù),Xi是第i代蜻蜓所處位置.
根據(jù)以上策略,MIDA的偽代碼如下.
算法 多策略改進(jìn)的蜻蜓算法
1.混沌初始化蜻蜓在搜索區(qū)域中的位置
2.初始化種群參數(shù),包括種群數(shù)量n,最大迭代次數(shù)Max_i,方向向量ΔX,通過logistic映射確定位置的向量X
3.while結(jié)束條件未滿足
4. 計算各個個體的適應(yīng)度值,確定該種群的食物位置與天敵位置
5. 更新各項權(quán)重,包括領(lǐng)域半徑r、對齊權(quán)重、分離權(quán)重、凝聚權(quán)重、天敵與獵物權(quán)重因子
6. 通過式(1)更新各項位置向量
7. 通過式(9)~(11)更新蜻蜓的位置
8. ifXnew 9. 取優(yōu)解為新的蜻蜓位置 10. else 11. 通過式(12)更新蜻蜓位置 12. endif 13. 檢查是否達(dá)到迭代次數(shù) 14. endwhile 空間復(fù)雜度指的是完成算法需要的空間,Logistic初始化,互利共棲階段與余弦擾動并未增加算法所需的空間,因此DA與MIDA的空間復(fù)雜度均取決于種群數(shù)量N與維度d,為O(N×d). 時間復(fù)雜度是指算法運(yùn)行時間,取決于迭代次數(shù)i,種群個數(shù)n等,DA的時間復(fù)雜度為O(i(n1+n2(n3+d1+d2))). 其中各參數(shù)含義依次為:i為總迭代次數(shù);n1為計算所有個體的適應(yīng)度值的循環(huán);n2為計算蜻蜓鄰居所需的循環(huán);n3為鄰居個體數(shù)的存儲循環(huán),d1為越界處理;d2為存在鄰居時,超出位移最大值的處理循環(huán).其中n1,n2,n3均為初始種群數(shù),d1,d2為個體的維度,其值為極小的常數(shù). 因為d1,d2為極小的常數(shù),且n1,n2的值為種群數(shù)量N.故DA的時間復(fù)雜度可簡化為O(i(N+Nn3))=O(iNn3). 在MIDA中,Logistic初始化與隨機(jī)初始化本質(zhì)相同,未增加算法的復(fù)雜度,互利與共棲應(yīng)用于原算法公式,余弦擾動與位置更新處于同一級,均未增加算法的復(fù)雜度,因此MIDA的時間復(fù)雜度也是O(iNn3). 為證明上述改進(jìn)對基本的蜻蜓算法均有所改善,本小節(jié)用基本蜻蜓算法(DA),融合共生生物搜索的蜻蜓算法(SOSDA),基于余弦擾動的蜻蜓算法(COSDA)與多策略改進(jìn)的蜻蜓算法(MIDA)進(jìn)行比較.高維單峰(f1)、高維多峰(f2)以及定維多峰測試函數(shù)(f3)各取1個用來測試其性能. 其中DA如2.2小節(jié)所示;MIDA如2.4小節(jié)所示;SOSDA即基本蜻蜓算法中式(3)替換為式(11),COSDA即基本蜻蜓算法最后加入式(12). 4個對比算法對表2的3種函數(shù)進(jìn)行優(yōu)化,每次迭代400代,并獨立運(yùn)行30次,優(yōu)化得出的最小值、最大值、平均值與方差如表3所示,本文算法的結(jié)果見黑體部分. 表2 測試函數(shù)詳細(xì)信息 表3 實驗結(jié)果 由表3可以看出,無論是SOSDA還是COSDA,他們對函數(shù)的優(yōu)化效果都比DA好,而MIDA更是遠(yuǎn)優(yōu)于其他3種算法,在對f1的優(yōu)化中,效果比其他算法高出30個數(shù)量級.因此,本文所提出的改進(jìn)方法的可行性與有效性得到了證明. 本文通過12個基準(zhǔn)測試函數(shù)來測試改進(jìn)算法,同時將其應(yīng)用在逆運(yùn)動學(xué)中求解五自由度機(jī)械臂的參數(shù).為避免實驗結(jié)果的偶然性,本文對算法獨立運(yùn)行400次,種群個數(shù)均為30,同時統(tǒng)計并分析它們的最佳值、最差值、平均值和標(biāo)準(zhǔn)差. 本實驗運(yùn)行環(huán)境為Windows10,處理器:Intel(R)Core(TM)i5-5200U @2.20 GHz; 內(nèi)存:4.00 GB.所有算法代碼都在MATLAB R2018b中運(yùn)行. 本文采用了12個基準(zhǔn)函數(shù),其中高維單峰(f1~f4)、高維多峰(f5~f8)以及定維多峰(f9~f12)測試函數(shù)各取4個來測試其性能如何.同時與灰狼算法[10](Grey Wolf Optimizer,GWO),花授粉算法[11](Flower Pollination Algorithm,FPA),飛蛾撲火算法[12](Moth-flame Optimization Algorithm,MFO)進(jìn)行對比與分析. 算法的參數(shù)為DA:r∈[0,1],β=1.5,MIDA:μ=3.999,β=1.5,r∈[0,1],bf1=1,φ∈[-1,1],FPA:p=0.1,GWO:r1,r2∈[0,1],A=2ar1-a,C=2r2,MFO:b=1,t∈[-1,1].基準(zhǔn)函數(shù)見附表Ⅰ. 用DA,FPA,GWO,MFO,MIDA這5個算法對12個基準(zhǔn)函數(shù)進(jìn)行仿真,迭代次數(shù)均為400代,獨立運(yùn)行30次得出的最優(yōu)值(Best)、最差值(Worst)、平均值(Mean)和方差(Std)如附表Ⅱ所示,最優(yōu)結(jié)果見黑體部分. 每個函數(shù)優(yōu)化出的最優(yōu)值已經(jīng)加粗,為了更方便明顯地比較各算法的收斂速度,下面給出算法收斂曲線圖.為比較各個算法的穩(wěn)定性,同時給出他們的箱線圖.由于篇幅限制,高維單峰、高維多峰與定維多峰測試函數(shù)各一張,如圖3~8為f1,f6,f12的收斂曲線及與之對應(yīng)的箱線圖. 由附表Ⅱ的實驗結(jié)果可知,MIDA相較于其他4種算法,對高維單峰的函數(shù)優(yōu)化極為顯著,不僅效果最好,且優(yōu)化精度高出其他算法近百個數(shù)量級.對于高維多峰函數(shù)的優(yōu)化也穩(wěn)居第一.在對定維多峰的函數(shù)優(yōu)化中,收斂最優(yōu)值也穩(wěn)定第一,但是在穩(wěn)定性方面不如GWO. 由圖3和圖6可以看出,相較于其他4種算法,MIDA對函數(shù)的優(yōu)化有壓倒性的優(yōu)勢,其他4種算法的收斂已經(jīng)趨于穩(wěn)定,由此可見其他4種算法具有一定的局限.而MIDA的下降趨勢在400代仍舊明顯.由附表Ⅱ的實驗結(jié)果也能看出它強(qiáng)大的收斂能力,不僅僅是對f1,MIDA對所有的高維單峰函數(shù)的收斂精度遠(yuǎn)高于其他算法,同時標(biāo)準(zhǔn)差更小,表明MIDA的穩(wěn)定性極高. 由圖4和圖7可知,MIDA的收斂精度更高,且收斂速度更快,同時由附表Ⅱ的標(biāo)準(zhǔn)差欄目中可以看出MIDA所得出的值相當(dāng)?shù)?由此可知MIDA的穩(wěn)定性極高.在對高維多峰函數(shù)優(yōu)化時,MIDA得出的最優(yōu)值都是最好的,由此可見MIDA的尋優(yōu)性能極佳. 由圖5可以得知,MIDA對個別函數(shù)的收斂能力與其他4種算法接近,但是從附表Ⅱ可以看出MIDA的精準(zhǔn)度更高,優(yōu)化得出的最優(yōu)值更好.MIDA對f12的收斂速度略低于GWO,但是MIDA最終的最優(yōu)值與連續(xù)運(yùn)行30次所得的方差更優(yōu)于GWO,可見MIDA在函數(shù)的優(yōu)化中處于遙遙領(lǐng)先地位.附表Ⅱ中的數(shù)值也能顯示MIDA在對定維多峰函數(shù)優(yōu)化時總能保持最佳的收斂性能.圖6~8的箱線圖表明MIDA的穩(wěn)定性明顯優(yōu)于其他4種算法. 在評估元啟發(fā)式算法的性能時,只比較均值與最優(yōu)值是不夠的[13].因此,為證明所提出算法的結(jié)果與其他算法是否在統(tǒng)計上有顯著不同.需要進(jìn)行統(tǒng)計測試.為了減少犯第一類錯誤的概率,本文先通過Kruskal-Wallis檢驗進(jìn)行多組比較,判斷5種算法是否有顯著性差異. 實驗結(jié)果得出檢驗值p=9.02E-29<0.05,說明在顯著水平0.05下,檢驗拒絕了原假設(shè),即5種算法具有顯著性差異. 在具有顯著性差異的基礎(chǔ)上,通過顯著水平為0.05的Wilcoxon秩和檢驗進(jìn)行多重比較.Wilcoxon秩和檢驗的目的是用于比較兩個獨立樣本的差異.在算法中用于比較兩種算法有沒有差異,有差異才可以比較優(yōu)劣.在Wilcoxon秩和檢驗中,用MIDA和其他算法進(jìn)行對比,實驗結(jié)果得出的p值小于0.05,則證明兩種算法差異有統(tǒng)計學(xué)意義.表4為MIDA與其他算法采用最優(yōu)值進(jìn)行秩和檢驗的結(jié)果.“+”“-”“=”分別為本文算法與比較算法的成績相比是好/差/相等.秩和檢驗顯示,當(dāng)顯著性水平為0.05時,MIDA與其他4種算法具有顯著性差異. 表4 Wilcocon秩和檢驗實驗結(jié)果 從上一小節(jié)MIDA對函數(shù)的優(yōu)化中可以得知,MIDA擁有較強(qiáng)的尋優(yōu)性能,接下來利用MIDA解決五自由度機(jī)械臂逆運(yùn)動學(xué)的求解.在機(jī)械臂的運(yùn)動控制中,可以分為正運(yùn)動學(xué)與逆運(yùn)動學(xué),正運(yùn)動學(xué)是給定機(jī)器人關(guān)節(jié)變量的取值來確定末端執(zhí)行器的位置和姿態(tài).逆運(yùn)動學(xué)是根據(jù)給定的末端執(zhí)行器的位置和姿態(tài)來確定機(jī)器人關(guān)節(jié)變量的數(shù)值. DH 建模方法[14]是由DENAVIT和HARTENBERG提出的一種建模方法,主要用在機(jī)器人運(yùn)動學(xué)上.此方法僅僅通過4個參數(shù)便可以確定機(jī)械臂的各個節(jié)點的位姿狀態(tài).對每個關(guān)節(jié)建立坐標(biāo)系,關(guān)節(jié)總是繞著z軸旋轉(zhuǎn),同時,4個關(guān)節(jié)變量可以確定機(jī)械臂的位置.其中θ表示繞z軸的旋轉(zhuǎn)角度,d表示在z軸上兩條相鄰公垂線的距離,a表示每一條公垂線的長度,也叫做關(guān)節(jié)變量,a表示兩個相鄰z軸的角度,又稱為關(guān)節(jié)扭轉(zhuǎn).圖9標(biāo)注了各個關(guān)節(jié)變量的信息. 本文使用標(biāo)準(zhǔn)型D-H參數(shù)(STD)建模[15],其建模步驟如下: (1)繞zi-1軸旋轉(zhuǎn)θi,使xi-1與xi平行; (2)沿zi-1軸平移di,使xi-1與xi重合; (3)沿zi軸平移ai,使zi-1與zi重合; (4)繞xi軸旋轉(zhuǎn)αi,使zi-1與zi共線; 通過每個旋轉(zhuǎn)和平移的步驟得到的旋轉(zhuǎn)矩陣: (13) (14) 由此可以得到變換矩陣: (15) 以圖10的五自由度機(jī)械臂為例,選定空間中的一點(x,y,z),通過MIDA,優(yōu)化得出最佳的4個關(guān)節(jié)變量.首先通過模型圖建立每個節(jié)點的坐標(biāo)系,然后得出D-H參數(shù)表如表5所示. D-H參數(shù)表的填寫方式如下: (1)ai:沿Xi軸方向,從Zi移動到Zi+1的距離. (2)αi:從Zi旋轉(zhuǎn)到Zi+1的角度,轉(zhuǎn)軸為Zi,遵循右手定則,以Xi方向為大拇指方向.即桿i與桿i+1的夾角. (3)di:沿Zi軸從Xi+1移動到Xi的距離. (4)θi:繞Zi軸從Xi+1轉(zhuǎn)到Xi的角度. 表5 五自由度機(jī)械臂D-H參數(shù) (16) 其中(Px,Py,Pz)表示機(jī)械臂末端位姿相對基座坐標(biāo)系的位置. (17) 在上述公式中,通過各個θ的值可以確定機(jī)械臂末端的位姿,這便是正運(yùn)動學(xué).而已知末端點的坐標(biāo)(x,y,z)來求得各個角度是相當(dāng)復(fù)雜的,這便是逆運(yùn)動學(xué)[16],本章使用MIDA來求解逆運(yùn)動學(xué)這一復(fù)雜問題. 適應(yīng)度函數(shù)是啟發(fā)式優(yōu)化算法的重要內(nèi)容之一,通過適應(yīng)度函數(shù)值,算法才能不斷地更新最佳值.在本研究中,使用歐氏距離作為適應(yīng)度函數(shù)[17].利用MIDA獲得了最接近預(yù)定目標(biāo)點的位置.其適應(yīng)度函數(shù)f如下: (18) 其中,(x,y,z)與(Px,Py,Pz)分別為目標(biāo)點的空間位置與機(jī)械臂末端位姿的空間位置. 本文使用MIDA與DA,GWO, FPA,MFO同時對上述問題進(jìn)行求解.設(shè)定目標(biāo)位置為(0.5,0.5,0.5),獨立運(yùn)行30次,所得的最優(yōu)值、最差值、平均值和標(biāo)準(zhǔn)差如表6黑體部分. 表6 實驗結(jié)果 實驗結(jié)果顯示,MIDA對五自由度機(jī)械臂逆運(yùn)動學(xué)的優(yōu)化穩(wěn)定性略低于FPA,但是在優(yōu)化效果方面穩(wěn)居第一,MIDA優(yōu)化所得的最優(yōu)結(jié)果比MFO高出10.12%,比GWO高出35%,更是比FPA與GWO高出一個數(shù)量級.FPA的穩(wěn)定性雖然與MIDA接近,但是最優(yōu)值的優(yōu)化效果遠(yuǎn)不及MIDA.圖11、12為MIDA針對兩個目標(biāo)點的優(yōu)化收斂曲線圖,可以得知改進(jìn)算法MIDA相較其他4個對比算法有顯著優(yōu)勢.本文的實驗結(jié)果表明MIDA在函數(shù)方面的優(yōu)化效果極佳,同時在逆運(yùn)動學(xué)方面的求解優(yōu)勢極為顯著. 本文通過對初始種群的選取,使算法更快定位到最優(yōu)解區(qū)域;對迭代尋優(yōu)過程進(jìn)行優(yōu)化,使算法在勘探和開發(fā)過程更加全面;對結(jié)果擾動變異,使算法跳脫局部解,在這3個方面對蜻蜓算法進(jìn)行了優(yōu)化,并通過12個基準(zhǔn)函數(shù)的測試與求解逆運(yùn)動學(xué)這一實際應(yīng)用證明了MIDA具有更強(qiáng)的收斂能力、更快的收斂速度和極佳的穩(wěn)定性.在優(yōu)化效果方面精度高出10.12%.在實際應(yīng)用中,需要機(jī)械臂準(zhǔn)確高效獲得抓取目標(biāo)物品所需的關(guān)節(jié)變量.但是在本文中只應(yīng)用了五自由度的機(jī)械臂,在空間中的搜索能力有限.未來將會對經(jīng)典的七自由度機(jī)械臂[18],甚至更多自由度的機(jī)械臂進(jìn)行研究. 附 錄 附表Ⅰ、Ⅱ見電子版(DOI:10.16366/j.cnki.1000-2367.2023.05.005).2.5 算法復(fù)雜度分析
2.6 正交實驗檢測
3 仿真實驗和結(jié)果分析
3.1 基準(zhǔn)函數(shù)測試
3.2 實驗結(jié)果分析
3.3 Wilcoxon秩和檢驗
3.4 求解逆運(yùn)動學(xué)中五自由度機(jī)械臂的參數(shù)問題
3.5 實驗結(jié)果
4 結(jié) 論