鄒 浩,李維剛,李 陽(yáng),趙云濤
(武漢科技大學(xué)冶金自動(dòng)化與檢測(cè)技術(shù)教育部工程研究中心,湖北 武漢,430081)
鯨魚優(yōu)化算法(whale optimization algorithm, WOA)是由Mirjalili等[1]于2016年提出的一種新型智能優(yōu)化算法,其模擬海洋中座頭鯨的群體狩獵行為,即鯨魚群體搜索、包圍和攻擊獵物等過程實(shí)現(xiàn)尋優(yōu)目的。WOA具有操作簡(jiǎn)單、需要設(shè)置的參數(shù)少、尋優(yōu)能力強(qiáng)等優(yōu)點(diǎn),進(jìn)行函數(shù)優(yōu)化時(shí),WOA在求解精度和收斂速度上要明顯優(yōu)于粒子群算法(PSO)和引力搜索算法(GSA)[1]。WOA在工程實(shí)踐應(yīng)用中也取得了良好的效果。例如,Qiao等[2]將WOA和Volterra自適應(yīng)濾波器相結(jié)合應(yīng)用于天然氣短期消耗預(yù)測(cè);Wu等[3]將WOA作為求解器,有效解決了城市環(huán)境中太陽(yáng)能無人機(jī)的路徑規(guī)劃問題;Chen等[4]利用WOA優(yōu)化所設(shè)計(jì)的多分類器DBSM的參數(shù),以提高分類精度和計(jì)算效率;Bozorgi等[5]將WOA應(yīng)用于基于無線傳感器節(jié)點(diǎn)的物聯(lián)網(wǎng),通過優(yōu)化路由模式來延長(zhǎng)系統(tǒng)的壽命。
針對(duì)標(biāo)準(zhǔn)鯨魚優(yōu)化算法,研究者還提出了不少改進(jìn)方法。例如,龍文等[6]設(shè)計(jì)了一種基于非線性收斂因子的改進(jìn)鯨魚優(yōu)化算法,在搜索空間中利用對(duì)立學(xué)習(xí)策略初始化鯨魚個(gè)體位置,并利用非線性收斂因子協(xié)調(diào)WOA算法的探索和開發(fā)能力,該算法在高維度測(cè)試函數(shù)上表現(xiàn)出良好的計(jì)算性能。褚鼎立等[7]提出一種結(jié)合自適應(yīng)權(quán)重和模擬退火的鯨魚優(yōu)化算法,通過改進(jìn)的自適應(yīng)權(quán)重策略來調(diào)整算法的收斂速度,通過模擬退火增強(qiáng)鯨魚優(yōu)化算法的全局尋優(yōu)能力。Luo等[8]利用生命周期機(jī)制,在WOA中嵌入改進(jìn)差分進(jìn)化算子,使算法在尋優(yōu)精度和魯棒性方面有明顯提升。Chen等[9]提出一種基于準(zhǔn)對(duì)抗和混沌機(jī)制的鯨魚優(yōu)化算法,首先使用混沌機(jī)制生成初始種群以提高算法的收斂速度,然后使用對(duì)立學(xué)習(xí)方法來平衡算法的探索和開發(fā)能力,以幫助算法跳出局部最優(yōu)。黃清寶等[10]控制參數(shù)按照余弦曲線規(guī)律變化, 并加入同步余弦慣性權(quán)值, 使得算法在迭代前期減緩收斂速度以進(jìn)行充分的全局探索,而在迭代后期加速收斂以提高求解效率。盡管目前已有的WOA改進(jìn)算法在函數(shù)優(yōu)化領(lǐng)域取得了一些成果,但仍然存在不足之處,例如,參數(shù)調(diào)整策略不能完全體現(xiàn)實(shí)際優(yōu)化搜索過程,導(dǎo)致算法全局探索和局部開發(fā)能力難以協(xié)調(diào);迭代后期群體中所有個(gè)體均向最優(yōu)個(gè)體聚集使得算法易陷入局部最優(yōu)。
針對(duì)WOA算法的不足,本文提出一種基于混沌收斂因子和慣性權(quán)重的改進(jìn)鯨魚優(yōu)化算法(命名為CWOA)。該算法首先采用均勻化與隨機(jī)化相結(jié)合的策略初始化種群,以增強(qiáng)種群的多樣性,提高求解效率;同時(shí)受PSO算法的啟發(fā),采用混沌收斂因子和慣性權(quán)重非線性協(xié)同更新策略,以協(xié)調(diào)算法的全局探索和局部開發(fā)能力;另外還針對(duì)當(dāng)前最佳鯨魚位置引入多項(xiàng)式變異,以增強(qiáng)算法跳出局部最優(yōu)解的能力。本文最后采用CWOA對(duì)12個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)進(jìn)行優(yōu)化求解,并將其應(yīng)用于機(jī)械臂末端位置的優(yōu)化問題,來驗(yàn)證該算法的有效性和優(yōu)越性。
根據(jù)座頭鯨群體狩獵行為特點(diǎn),WOA算法抽象出包圍獵物、Bubble-net攻擊和隨機(jī)搜索3種行為。
(1)包圍獵物
座頭鯨可以識(shí)別獵物的位置并包圍它們。由于座頭鯨對(duì)獵物的位置不是先驗(yàn)已知的,因此,假設(shè)當(dāng)前群體中的最優(yōu)個(gè)體為獵物,群體中其他個(gè)體均向獵物位置包圍,利用式(2)更新位置。
D=|C·X*(t)-X(t)|
(1)
X(t+1)=X*(t)-A·D
(2)
式中:t為當(dāng)前迭代次數(shù);X*(t)為當(dāng)前的全局最優(yōu)個(gè)體位置;X(t)為當(dāng)前鯨魚的位置;A·D表示包圍步長(zhǎng);系數(shù)A和C定義如下:
A=2a·rand1-a
(3)
C=2rand2
(4)
式中:rand1和rand2為[0,1]范圍內(nèi)均勻分布的隨機(jī)數(shù);a為收斂因子,隨迭代次數(shù)t的增加從2線性減小到0,即
a=2-2t/tmax
(5)
式中:tmax為最大迭代次數(shù)。
(2)Bubble-net攻擊
在狩獵過程中,座頭鯨是以向上的螺旋式運(yùn)動(dòng)并不斷收縮包圍的方式來攻擊獵物的,被稱為Bubble-net 捕食策略。為了從數(shù)學(xué)上描述這種覓食行為,在WOA算法中設(shè)計(jì)了兩種不同的方法,即收縮包圍機(jī)制和螺旋式位置更新。收縮包圍機(jī)制通過式(3)中收斂因子a的減小而實(shí)現(xiàn),此時(shí)A是區(qū)間[-a,a]內(nèi)的隨機(jī)值,當(dāng)|A|<1時(shí),鯨魚在包圍圈內(nèi)搜尋獵物,根據(jù)式(2)來更新自己的位置,更新后的鯨魚個(gè)體由原位置向目標(biāo)獵物位置靠近,這樣就實(shí)現(xiàn)了對(duì)獵物的收縮包圍。在螺旋式位置更新中,座頭鯨以螺旋運(yùn)動(dòng)方式來捕食獵物,其數(shù)學(xué)模型如下:
X(t+1)=X*(t)+D′eblcos(2πl(wèi))
(6)
式中:D′=|X*(t)-X(t)|表示鯨魚與當(dāng)前全局最優(yōu)個(gè)體之間的距離;b為限定對(duì)數(shù)螺旋線形狀的常數(shù);l為[-1,1]區(qū)間的隨機(jī)數(shù)。
值得注意的是,鯨魚在獵物收縮圈內(nèi)游動(dòng)的同時(shí)還沿著螺旋路徑行進(jìn)。為了模擬這種同步行為,在優(yōu)化過程中假設(shè)選擇收縮包圍機(jī)制和螺旋更新位置的概率均為0.5,其數(shù)學(xué)模型如下:
(7)
(3)隨機(jī)搜索
當(dāng)|A|≥1時(shí),鯨魚在包圍圈外搜尋獵物,隨機(jī)選擇一頭鯨魚作為搜索代理,根據(jù)搜索代理的位置來更新其他鯨魚的位置,迫使鯨魚遠(yuǎn)離獵物,借此找到一個(gè)更合適的獵物,這樣可以增強(qiáng)算法的全局探索能力,其數(shù)學(xué)模型如下:
D=|C·Xrand(t)-X(t)|
(8)
X(t+1)=Xrand(t)-A·D
(9)
式中:Xrand(t)表示隨機(jī)選擇的鯨魚位置。
|A|與1的大小關(guān)系決定了鯨魚個(gè)體的搜索行為:當(dāng)|A|<1時(shí),鯨魚個(gè)體包圍獵物,趨向于最優(yōu)個(gè)體X*(t);當(dāng)|A|≥1時(shí),鯨魚個(gè)體搜索隨機(jī)個(gè)體Xrand(t)所在區(qū)域,以此搜尋更優(yōu)的獵物。并且,由式(2)和式(9)可以看出,|A|值大小影響鯨魚個(gè)體的搜索范圍:當(dāng)|A|較大時(shí),鯨魚在最優(yōu)個(gè)體或隨機(jī)個(gè)體所處位置的較大鄰域內(nèi)尋優(yōu);反之,則在較小鄰域內(nèi)尋優(yōu)。由于參數(shù)A在很大程度上依賴于收斂因子a,因此收斂因子a是平衡算法的探索能力和開發(fā)能力的重要因素。
研究表明,對(duì)基于群體迭代的智能優(yōu)化算法來說,初始種群的好壞影響著算法的求解精度和收斂速度[11],多樣性較好的初始種群對(duì)提升算法性能很有幫助。但是,由于缺少先驗(yàn)知識(shí),優(yōu)化算法在求解問題時(shí)通常采用隨機(jī)方法產(chǎn)生初始種群,這種方法不能保證初始種群較好地覆蓋待優(yōu)化問題的尋優(yōu)空間,導(dǎo)致初始種群分布性較差,所以本文采用一種均勻化與隨機(jī)化相結(jié)合的初始化方法[12]。
假設(shè)種群規(guī)模為N,解空間的維度為d,解空間中各維變量xj(j∈[1,d])的尋優(yōu)區(qū)間為[lj,uj]。將區(qū)間[lj,uj]均勻劃分成N個(gè)等長(zhǎng)的子區(qū)間,初始個(gè)體在每一維上的取值需要通過首先隨機(jī)選定子區(qū)間、然后在該子區(qū)間內(nèi)產(chǎn)生隨機(jī)值而獲得。均勻劃分后的各子區(qū)間有且僅有一次被選取的機(jī)會(huì),這樣可在最大程度上保證初始群體的多樣性。具體流程如下。
算法1 種群多樣性初始化算法輸入: 種群規(guī)模N,解空間維度d,各維度的尋優(yōu)區(qū)間[lj,uj]輸出: 初始種群{x1,x2,…,xN}1.FOR j=1 TO d2. α=(uj-lj)/N//將解空間各維度均勻劃分為N份3. M={[lj,lj+α],[lj+α,lj+2α],…,[lj+(N-1)α,uj]}4. FOR i=1 TO N5. 從集合M中隨機(jī)選擇一個(gè)子區(qū)間,并在該區(qū)間內(nèi)隨機(jī)產(chǎn)生一個(gè)值賦給xij6. 更新集合M,從該集合中刪除在步驟5中已選子區(qū)間7. END FOR8.END FOR
如前所述,WOA算法的全局探索和局部開發(fā)能力主要依賴于收斂因子a的變化。較大的收斂因子a使得算法具有較強(qiáng)的全局搜索能力,避免算法陷于局部最優(yōu);較小的收斂因子a使得算法具有較強(qiáng)的局部開發(fā)能力,能夠加快算法的收斂速度。在標(biāo)準(zhǔn)WOA算法中,收斂因子a隨迭代次數(shù)的增加從2線性減小到0,然而這種簡(jiǎn)單的參數(shù)調(diào)整策略不能完全體現(xiàn)實(shí)際的鯨魚群體狩獵過程。因此,本文設(shè)計(jì)一種帶混沌擾動(dòng)的收斂因子非線性變化策略,混沌收斂因子更新公式為
(10)
式中:ht=1-2(ht-1)2,且ht∈[0,1],h0≠0.5。 收斂因子a的衰減趨勢(shì)如圖1所示。在搜索前期,收斂因子整體較大,算法注重于全局尋優(yōu),但由于混沌擾動(dòng)因素的存在,在某些尋優(yōu)迭代中,收斂因子取值較小,算法進(jìn)行局部尋優(yōu),可以提高收斂速度。在搜索后期,收斂因子整體較小,算法注重于局部尋優(yōu),同樣由于混沌擾動(dòng),收斂因子在部分尋優(yōu)迭代中取值較大,算法可在較大空間中尋優(yōu),有助于跳出局部最優(yōu)。
為了進(jìn)一步平衡算法的全局尋優(yōu)和局部探索能力。本文受文獻(xiàn)[13]的啟發(fā)引入了慣性權(quán)重策略,讓其配合混沌收斂因子共同協(xié)調(diào)算法的全局尋優(yōu)和局部開發(fā)能力。慣性權(quán)重更新公式為
圖1 混沌收斂因子a的變化曲線
(11)
式中:winitial和wfinal分別為慣性權(quán)重w的初始值和終止值。
加入慣性權(quán)重更新策略后,當(dāng)前個(gè)體包圍獵物時(shí)的位置更新公式以及螺旋式運(yùn)動(dòng)時(shí)的位置更新公式分別為
X(t+1)=w·X*(t)-A|C·X*(t)-X(t)|
(12)
X(t+1)=w·X*(t)+D′eblcos(2πl(wèi))
(13)
在標(biāo)準(zhǔn)鯨魚優(yōu)化算法的迭代后期,由于搜索策略的原因,種群中所有鯨魚個(gè)體都會(huì)向最優(yōu)個(gè)體聚集,導(dǎo)致種群多樣性降低。如果此時(shí)最優(yōu)個(gè)體為局部最優(yōu)解,則算法將出現(xiàn)早熟收斂。為了防止出現(xiàn)這類問題,本文對(duì)當(dāng)前最優(yōu)鯨魚位置引入了多項(xiàng)式變異,多項(xiàng)式變異算子形式如下:
X′i=Xi+δi(ui-li)
(14)
其中,
(15)
式(14~15)中:ui、li分別為變量Xi的上、下界;ri為[0,1]區(qū)間隨機(jī)數(shù);η為變異分布指數(shù),本文取值為30。
綜上,本文基于混沌收斂因子和慣性權(quán)重的改進(jìn)鯨魚優(yōu)化算法CWOA的具體流程如下。
算法2 改進(jìn)鯨魚優(yōu)化算法CWOA輸入: 種群規(guī)模N,最大迭代次數(shù)tmax輸出: 最優(yōu)個(gè)體位置Xbest1.按照算法1獲取初始種群{xi,i=1,2,…,N}2.計(jì)算種群中個(gè)體適應(yīng)度{f(xi),i=1,2,…,N},并記錄當(dāng)前最優(yōu)個(gè)體
3.WHILE t≤tmax4. FOR i=1 TO N5. 根據(jù)式(10)計(jì)算收斂因子a,并更新其他參數(shù)6. IF p<0.57. IF |A|<18. 根據(jù)式(12)更新個(gè)體位置9. ELSE10. 根據(jù)式(9)更新個(gè)體位置11. END IF12. ELSE13. 根據(jù)式(13)更新個(gè)體位置14. END IF15. END FOR16. 計(jì)算更新后的個(gè)體適應(yīng)度,并與之前種群合并,挑選出適應(yīng)度排行前N的個(gè)體作為新的種群17. 對(duì)當(dāng)前種群最優(yōu)個(gè)體進(jìn)行變異操作,保留變異前后適應(yīng)度更好的解18. 比較并更新當(dāng)前最優(yōu)個(gè)體Xbest19. t=t+120.END WHILE
本節(jié)首先通過標(biāo)準(zhǔn)測(cè)試函數(shù)對(duì)CWOA算法的有效性和優(yōu)越性進(jìn)行驗(yàn)證,然后通過機(jī)械臂的位置優(yōu)化問題檢驗(yàn)CWOA算法的工程實(shí)用性。
為了檢驗(yàn)CWOA算法的性能,本文選取12個(gè)不同類型的標(biāo)準(zhǔn)測(cè)試函數(shù),函數(shù)名、表達(dá)式、搜索區(qū)間、理論最優(yōu)值fmin和收斂精度如表1所示。
本文用兩個(gè)指標(biāo)來評(píng)價(jià)算法性能。第一個(gè)性能指標(biāo)是結(jié)果精度(E),該指標(biāo)反映了算法所得結(jié)果與問題全局最優(yōu)解的接近程度,其值越小越好。假設(shè)一個(gè)函數(shù)f(x)的理論最優(yōu)解是Xopt,tmax次迭代后找到的最優(yōu)解為Pbest,則E定義為
E=|f(Pbest)-f(Xopt)|
(16)
第二個(gè)性能指標(biāo)是尋優(yōu)成功率(R),即多次實(shí)驗(yàn)中算法成功收斂到問題最優(yōu)解的比例,定義為
(17)
表1 12個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)
式中:z為總實(shí)驗(yàn)次數(shù);z′為算法收斂到問題全局最優(yōu)解的實(shí)驗(yàn)次數(shù)。
利用本文提出的CWOA算法對(duì)表1中12個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)進(jìn)行求解,并與標(biāo)準(zhǔn)WOA算法和IWOA算法[6]進(jìn)行尋優(yōu)性能比較。測(cè)試函數(shù)的規(guī)模(維數(shù)d)分別設(shè)置為30、200、500、1000。為了公平起見,3種算法均采用相同的實(shí)驗(yàn)參數(shù),即種群規(guī)模N=30,最大迭代次數(shù)tmax=500,則最大適應(yīng)度函數(shù)評(píng)價(jià)次數(shù)為15 000。本文算法其他參數(shù)設(shè)置如下:常數(shù)b=1,慣性權(quán)重初始值winitial=0.9,慣性權(quán)重終止值wfinal=0.2。WOA算法和IWOA算法的其他參數(shù)按照對(duì)應(yīng)參考文獻(xiàn)設(shè)置。對(duì)于每個(gè)測(cè)試函數(shù),3種算法均獨(dú)立運(yùn)行100次,統(tǒng)計(jì)精度E的平均值和標(biāo)準(zhǔn)差以及尋優(yōu)成功率R,結(jié)果如表2所示,其中黑色粗體為3種算法中最好的結(jié)果。
由表2可知,當(dāng)12個(gè)測(cè)試函數(shù)的規(guī)模不同時(shí),除了函數(shù)f4(x)、f5(x)和f12(x)之外,本文提出的CWOA算法在分別求解其他9個(gè)函數(shù)的100次獨(dú)立實(shí)驗(yàn)中均一致收斂到全局最優(yōu)解,尤其是對(duì)于函數(shù)f1(x)、f6(x)、f8(x)、f9(x)和f10(x),CWOA算法均能收斂到理論最優(yōu)值0,且對(duì)于函數(shù)f2(x)和f3(x),CWOA算法獲得的最優(yōu)解也非常接近理論最優(yōu)值0。
與WOA算法和IWOA算法相比,CWOA算法在測(cè)試函數(shù)f1(x)、f2(x)、f3(x)、f9(x)和f10(x)上的尋優(yōu)結(jié)果具有明顯優(yōu)勢(shì);對(duì)于函數(shù)f4(x)、f5(x)、f7(x)、f11(x)和f12(x),CWOA算法的尋優(yōu)結(jié)果略優(yōu)于WOA算法和IWOA算法;對(duì)于函數(shù)f6(x)和f8(x),3種算法的尋優(yōu)結(jié)果相似。在尋優(yōu)成功率方面,除了函數(shù)f4(x)、f5(x)和f12(x),CWOA算法在其他9個(gè)函數(shù)上的尋優(yōu)成功率均為100%;對(duì)于函數(shù)f4(x)、f5(x)和f12(x),函數(shù)規(guī)模為30~500時(shí),CWOA算法的尋優(yōu)成功率均在60%以上,函數(shù)規(guī)模為1000時(shí),CWOA的尋優(yōu)成功率有所下降,但均顯著優(yōu)于對(duì)比算法。
表2 3種算法對(duì)12個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)的尋優(yōu)性能指標(biāo)
續(xù)表2
測(cè)試函數(shù)的維數(shù)由500增至1000時(shí),3種算法各自的尋優(yōu)性能變化不大,這也說明3種算法在求解高維優(yōu)化問題時(shí)都有較強(qiáng)的魯棒性。
表3給出了WOA、IWOA和CWOA對(duì)12個(gè)測(cè)試函數(shù)在200、500、1000維時(shí)的平均尋優(yōu)收斂代數(shù)和最小收斂代數(shù)比較(“-”表示函數(shù)未收斂到最優(yōu)值)。
表3 3種算法對(duì)12個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)的尋優(yōu)收斂代數(shù)
從表3可以看出,與WOA和IWOA相比,CWOA的平均收斂代數(shù)和最小收斂代數(shù)均較小。圖2給出了3種算法對(duì)于部分函數(shù)在500維時(shí)的尋優(yōu)收斂曲線。由圖2可以更加直觀、清晰地看出,與WOA算法和IWOA算法相比,CWOA算法具有更高的收斂精度和更快的收斂速度。
為了分析3種改進(jìn)策略的有效性,將CWOA算法與僅采用種群多樣性初始化策略的WOA算法(記作CWOA-1)、僅采用混沌收斂因子和慣性權(quán)重協(xié)同更新策略的WOA算法(記作CWOA-2)和僅引入多項(xiàng)式變異操作的WOA算法(記作CWOA-3)進(jìn)行對(duì)比,4種算法的參數(shù)設(shè)置與3.2節(jié)相同,表4給出了4種算法對(duì)12個(gè)測(cè)試函數(shù)(d=200)的尋優(yōu)結(jié)果比較。
(a)f1(x) (b)f4(x)
(c)f6(x) (d) f11(x)
由表4可知,只采用種群多樣性初始化策略(CWOA-1)和只采用多項(xiàng)式變異操作(CWOA-3)對(duì)WOA算法性能的改進(jìn)有限,而采用混沌收斂因子和慣性權(quán)重協(xié)同更新策略(CWOA-2)對(duì)WOA算法性能有較大的改善。
表4 4種算法對(duì)12個(gè)測(cè)試函數(shù)(d=200)的尋優(yōu)結(jié)果比較
為了進(jìn)一步驗(yàn)證CWOA算法的性能,將其與4種典型的群智能優(yōu)化算法進(jìn)行比較,包括CMAGWO[14]、ABC[15]、PSO[16]和IGWO[17]。從表1中選取10個(gè)測(cè)試函數(shù),維數(shù)均設(shè)為1000。為了公平起見,5種算法均采用相同的實(shí)驗(yàn)參數(shù),即種群規(guī)模N=30,最大迭代次數(shù)tmax=500,則最大適應(yīng)度函數(shù)評(píng)價(jià)次數(shù)為15 000。 CWOA算法其他參數(shù)同3.2節(jié);另外4種算法的其他參數(shù)按照對(duì)應(yīng)文獻(xiàn)設(shè)置。對(duì)于每個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù),5種算法均獨(dú)立運(yùn)行100次,統(tǒng)計(jì)精度E的平均值和標(biāo)準(zhǔn)差,結(jié)果如表5所示。
由表5可知,CWOA算法在函數(shù)f1(x)、f6(x)、f8(x)、f9(x)上收斂到理論最優(yōu)值0,在函數(shù)f3(x)上獲得的最優(yōu)解非常接近理論最優(yōu)值0。與CMAGWO、PSO和IGWO算法相比,CWOA算法在10個(gè)測(cè)試函數(shù)上均獲得了更好的性能指標(biāo);與ABC算法相比,除了函數(shù)f4(x)、f6(x)、f11(x)、f12(x)之外,CWOA在其他6個(gè)測(cè)試函數(shù)上均取得了更好的結(jié)果??傮w上來看,CWOA算法的尋優(yōu)性能要優(yōu)于其他4種算法,因此本文對(duì)WOA算法的改進(jìn)策略是行之有效的。
表5 5種算法對(duì)10個(gè)測(cè)試函數(shù)(d=1000)的尋優(yōu)結(jié)果比較
本節(jié)研究的機(jī)械臂由旋轉(zhuǎn)關(guān)節(jié)和活動(dòng)關(guān)節(jié)組成[14]。機(jī)械臂模型可以簡(jiǎn)化為首尾相連的關(guān)節(jié),關(guān)節(jié)的一端連接到機(jī)械臂的底部,另外一端連接到執(zhí)行器(例如操縱器、焊槍或噴槍),末端執(zhí)行器的位置可以通過機(jī)械臂關(guān)節(jié)的移動(dòng)來實(shí)現(xiàn)。因此,根據(jù)機(jī)械臂的正向運(yùn)動(dòng)學(xué)方程,可以確定末端執(zhí)行器位置與每個(gè)關(guān)節(jié)的角度之間的關(guān)系。為了使末端執(zhí)行器在操作空間內(nèi)完成工作任務(wù),機(jī)械臂末端的實(shí)際位置PE=(PE1,PE2,PE3)可以通過如下公式計(jì)算[14]:
(18)
式中:l為機(jī)械臂末端長(zhǎng)度,l=0.085;l1、l2、l3和l4分別為一個(gè)關(guān)節(jié)和下一個(gè)關(guān)節(jié)之間共同垂線的長(zhǎng)度,l1=0.175,l2=0.082,l3=0.38,l4=0.26;xi(i=1,2,3,4)為關(guān)節(jié)角度。
機(jī)械臂末端的期望位置PF=(PF1,PF2,PF3)是已知的。為了以最高精度到達(dá)目標(biāo)點(diǎn)并盡可能減小關(guān)節(jié)角度的變化,建立如下目標(biāo)函數(shù):
f(x)=
+10-5{(x1-q01)2+[0.5(x2-q02)]2
+[0.5(x3-q03)]2+[0.1(x4-q04)]2}
(19)
(20)
以機(jī)械臂末端的期望目標(biāo)位置PF=(-0.0516,-0.04006,-0.4135)為例,采用CWOA算法進(jìn)行位置優(yōu)化,并與WOA、PSO、IGWO、IWOA算法進(jìn)行性能比較。5種算法均采用相同的實(shí)驗(yàn)參數(shù),即種群規(guī)模N=50,最大迭代次數(shù)tmax=300,其余參數(shù)設(shè)置與前面相同。5種算法均獨(dú)立運(yùn)行30次,統(tǒng)計(jì)結(jié)果如表6所示。由表6可見,在進(jìn)行機(jī)械臂末端位置優(yōu)化時(shí),與其他4種算法相比,CWOA算法在平均精度指標(biāo)上表現(xiàn)最好,而且,其標(biāo)準(zhǔn)差和最差值也最小,這表明CWOA算法有更好的魯棒性及更高的尋優(yōu)精度。
表6 機(jī)械臂末端位置優(yōu)化結(jié)果
本文提出了一種基于混沌收斂因子和慣性權(quán)重的改進(jìn)鯨魚優(yōu)化算法(CWOA)。CWOA使用均勻化與隨機(jī)化相結(jié)合的初始化方法,增強(qiáng)了種群的多樣性,提高了求解效率;受PSO算法啟發(fā),通過混沌收斂因子和慣性權(quán)重協(xié)同更新,平衡了算法的全局探索和局部開發(fā)能力;引入了多項(xiàng)式變異策略以避免算法出現(xiàn)早熟收斂現(xiàn)象。將CWOA應(yīng)用于一系列標(biāo)準(zhǔn)測(cè)試函數(shù)和機(jī)械臂末端位置的優(yōu)化問題,證明了該算法具有較好的全局收斂能力和魯棒性,明顯優(yōu)于其他幾種對(duì)比算法。下一步研究考慮將CWOA算法應(yīng)用于約束優(yōu)化問題和多目標(biāo)優(yōu)化問題。