李偉中,孔令成,王美玲
(中國科學院 合肥物質科學研究院 智能機械所先進制造中心,合肥 230031) (中國科學技術大學,合肥 230026)
近年來,計算機科學領域的研究人員基于自然行為的研究開發了大量的算法,開始更多地使用生物啟發的元啟發式來解決優化問題[1].元啟發式的主要特征如下:在算法中使用隨機模型或隨機性,大多數是生物啟發的,這種模型可以由算法中的算子實現,例如遺傳算法中的算子:交叉、變異和選擇[2].同時這些元啟發式算法可以被歸類為進化[3]、基于物理學[4]和群智能[5].
模糊邏輯是基于Zadeh在1965年提出的模糊集理論[6],通過使用if-then模糊規則來幫助我們對模糊理論建模[7].此外,模糊邏輯已經表明,它在傳統數學模型的一些應用領域具有更好的性能[8].
灰狼優化(GWO)算法是Seyedali Mirjalili[9]根據灰狼的行為特征,在2014年提出的新算法,該算法也基于NFL[10]理論.盡管灰狼算法在優化問題中非常有效,但GWO算法同其他群智能算法一樣,依然存在著求解精度較低,后期收斂速度較慢等問題.而模糊邏輯相比傳統數學模型可以進行有效的軟變化,可用來控制算法參數,以實現算法收斂趨勢的實時調整.
因此GWO最近得到了許多結合模糊邏輯的改進.比如,文獻[11]利用模糊邏輯來控制GWO的參數,將狼群的迭代作為輸入,設計模糊控制器分別對參數a和C進行調整;文獻[12]同樣將狼群的迭代作為模糊邏輯的單輸入,對GWO的a和C參數同時進行了動態優化;文獻[13]同樣使用了迭代度量,通過設計模糊系統對灰狼的層次算子進行了動態優化;文獻[14]利用了迭代輸入的二型模糊邏輯對灰狼的a和C參數進行優化,但結果不如文獻[11]的一型模糊優化.
而這些結合模糊邏輯的GWO算法只將迭代作為模糊邏輯的輸入,只考慮到狼群在迭代過程中的收斂性變化,而未考慮到狼群的整體趨勢,可能會出現快速收斂而導致求解精度低的問題.本文借鑒了文獻[15]中將粒子群群體的差異性作為模糊邏輯的輸入,對粒子群參數c1和c2進行調整的思想,將其應用在灰狼算法上.本文決定將狼群的迭代、多樣性度量和誤差度量作為模糊邏輯的輸入,對影響狼群多樣性和收斂性的a、C參數和層次算子進行相應的模糊規則設計,實現狼群在迭代過程中實時根據多樣性和誤差指標對整體尋優趨勢進行調整,以改進算法的收斂性和求解精度.
灰狼優化(GWO)算法是根據灰狼的行為特征而提出的算法.根據Muro[16]的說法,在GWO中,灰狼的狩獵機制有3個主要階段,包括:跟隨和接近獵物,之后,包圍和襲擾獵物,直到獵物停止移動,最后攻擊獵物.
此外,GWO算法使用了作為領導策略的層次金字塔,最好的狼被稱為α,并被認為是算法中的最佳解決方案.第2和第3最佳解分別稱為β和δ,最后,其余的候選解被認為是ω狼.在GWO算法中,狩獵由α、β和δ引導,ω狼跟隨著3只狼.圖1中的金字塔說明了灰狼群體的領導層次.

圖1 灰狼群層次金字塔
最后,為了對上述兩個主要靈感進行數學建模,首先對包圍獵物的行為進行數學建模,提出以下公式:
D=‖C·Xp(t)-X(t)‖
(1)
X(t+1)=XP(t)-AD
(2)
下面對上式進行簡要的解釋.公式(1)表示具有隨機運動的最佳解與我們正在分析的當前個體之間的距離.公式(2)表示當前個體的下一位置.
參數A和C的計算如下:
A=2a·r1-a
(3)
C=2·r2
(4)
式中的“A”系數表示直接影響公式(2)中距離的權重.其中,“a”從2-0線性遞減,r1是0-1之間的隨機值.式中“C”參數表示算法中的隨機性,代表方程中最佳解的隨機運動.其中r2是[0,1]范圍內的隨機值.
為了數學模擬灰狼的狩獵過程,我們需要保存目前為止獲得的前3個最佳解,并迫使其他個體根據最佳位置更新位置,由此提出以下公式:
Dα=‖C1·Xα-X‖Dβ=‖C2·Xβ-X‖Dδ=‖C3·Xδ-X‖
(5)
X1=Xα-A1·DαX2=Xβ-A2·DβX3=Xδ-A3·Dδ
(6)
(7)
公式(5)和公式(6)是與公式(1)和公式(2)分別相同的公式,公式結果是基于算法中最好的3個個體(α、β和δ)決定的.最后,當前個體的下一位置在公式(7)中表示,可以將其描述為群體領導者獲得的結果的加權平均值.
在算法迭代過程中,“a”的值逐漸降低,A的波動范圍受“a”的影響也逐漸減小,剛好對應狼群接近獵物時的數學建模.當A的隨機值在[-1,1]時,搜索個體的下一個位置可以在當前位置和獵物位置之間的任何位置.
1)當|A|<1時,狼群攻擊獵物,收縮包圍圈
2)當|A|>1時,狼群尋找獵物,擴大包圍圈
而GWO算法中的參數C也體現在算法的探索過程,它代表了灰狼接近獵物時的隨機運動.
根據Seyedali Mirjalili[9]的說法,相比較其他優化算法,如粒子群算法、引力搜索算法、差分進化算法等,灰狼算法能夠提供具有競爭力的結果.在群智能算法所具有的隨機搜索的基礎上,灰狼算法保存3個最優解,并加入參數a和C動態調整狼群的收斂和探索.這種機制使GWO能夠較快地收斂,同時能夠找到更優的解.
而原始GWO的參數a只是簡單地隨迭代下降,參數C只是基于隨機數而變化.本文在狼群迭代的過程中,使用模糊邏輯加入了對狼群迭代、多樣性和誤差的性能考量,通過設計相應的自適應模糊規則,使算法能夠在尋優過程中根據迭代程度、多樣性和誤差性能實時對參數a、C以及層次算子進行調整,以實現狼群多樣性和收斂性的自適應平衡.
在前面的公式中,系數A直接受參數a的影響,而該參數將直接決定狼群的狩獵趨勢,決定狼群是擴大包圍圈搜索獵物還是收縮包圍圈攻擊獵物.而參數C為最優狼提供隨機權重,當C越大時,則增強狼群中領導者的作用,加強狼群跟隨最優解的強度,當C越小時,則削弱領導者的作用,減弱狼群跟隨最優解的強度.
本文確定了算法的性能度量:群體的多樣性、群體的平均誤差和迭代本身.為了測量算法的迭代,決定使用一定百分比的迭代,即當前迭代占最大迭代次數的百分比:
(8)
多樣性度量由式(9)定義,用來衡量個體間的分散程度,即當個體群呈現聚集狀態時,多樣性較少,當個體群呈現分散狀態時,多樣性較高.在本文中,多樣性公式被定義為每個個體與最佳個體之間歐式距離的平均值.
(9)
誤差度量由式(10)定義,通過平均每個個體的適應度和最佳個體的適應度之間的差異來測量個體群和最佳個體之間的差異.
(10)
對于模糊系統的輸入,迭代變量本身具有從0-1的定義范圍,同時對多樣性度量和誤差度量,我們將其進行規范化,使其值在0-1之間.
對于輸入變量的設計,圖2表示了迭代變量的范圍和隸屬度,而多樣性度量和誤差度量的設計與迭代相似,每個輸入都在0-1之間變化,被細化為3個三角隸屬度函數.

圖2 系統的輸入變量iteration
在定義了輸入變量后,考慮具有雙輸入的模糊系統,因此確定兩個不同的模糊系統為:第1個模糊系統將迭代和多樣性度量作為輸入,如圖3所示.第2個模糊系統將迭代和誤差度量作為輸入,與圖3相似,只是輸入不同.

圖3 迭代和多樣性輸入的模糊系統
對于輸出變量a和C,它們的原始范圍在[0,2]內.為了找到具有更好性能的范圍,在基準函數Sphere的基礎上,分別測試參數a和C從0-3的更佳范圍.圖4顯示了對于這個特定示例的結果.a參數的最佳性能在1.5附近,所以a的確定范圍為[0.8,2.2].C參數的最佳性能在前半部分,所以C的確定范圍為[0,0.6].同時為了體現狼群的隨機運動,算法中可將C的輸出乘上一個從0-1的隨機數.

圖4 參數a和C的研究實例
對于輸出變量a和C的設計,將a和C細化為5個三角隸屬函數.輸出變量a的設計如圖5所示,輸出變量C的設計與a相似,不同的只是推薦范圍的不同.

圖5 參數a的輸出
為了設計模糊系統的規則,決定GWO算法在早期迭代時必須擴大包圍圈搜索獵物,在后期收縮包圍圈攻擊獵物.所以當iteration逐漸增加時,a逐漸減小,可以實現狼群逐漸收縮包圍圈.而C逐漸增加,可以實現狼群跟隨最優狼的強度逐漸增強,避免前期狼群較快進入局部最優.
當設計第1種模糊系統的規則時,還需要考慮狼群的多樣性度量,多樣性度量用來衡量個體間的分散程度.當多樣性較低時,表明群體的搜索域較集中,群體搜索到的解也會有較大的相似性.因此需要適度地擴大搜索域并且削弱領導者的作用,即適當增加參數a并減小參數C,增加可搜索到的可能解;當多樣性較高時,即搜索群體較為分散,表明當前搜索域較大,導致收斂時間較長.因此需要適度縮小搜索域并增強領導者的作用,即適當較小a和增加C,以提高尋解的速度.迭代和多樣性度量的模糊系統規則如圖6所示.

圖6 迭代和多樣性輸入的模糊系統規則
當設計第2種模糊系統的規則時,還需要考慮狼群的誤差度量.當誤差度量較小時,表明在不受搜索域的影響下,當前搜索群體得到的解和最優個體搜索到的解的質量具有很強的相似性.因此在改變搜素域沒有太大效果的情況下,可適當減小C,減弱狼群跟隨最優個體的強度,減弱群體解質量的相似性;當誤差度量較大時,表明個體群搜索到的解集的質量具有很大的差異性,除3只最優個體的解質量較好外,其余個體的解質量普遍較差.因此下一階段中,限制個體群的搜素域,避免個體群的解集質量更差,即減小a.迭代和誤差度量的模糊系統的規則如圖7所示.

圖7 迭代和誤差輸入的模糊系統規則
GWO算法的啟發主要是基于灰狼的社會行為,如圖1描述的等級金字塔.本文使用模糊邏輯實現了領先狼在尋優過程中擁有的權重的動態適應.
本文使用的模糊層次算子在原始平均層次算子的基礎上,實現了一個動態金字塔來調整3只最佳狼的權重.我們可以定義動態金字塔的數學模型方程如下:
(11)
其中,fα、fβ和fδ分別為α、β和δ狼的動態權重.
圖8給出了模糊層次算子系統的一般結構,該模糊系統擁有兩個輸入,即狼群的迭代和多樣性,以及3個輸出,即分別對應α、β和δ的模糊權值.

圖8 層次算子的模糊系統
圖9顯示了α狼的輸出,包含5個三角隸屬函數,每個輸出的范圍在0-100之間,值越高表示在狩獵過程中的權重越高.同樣β狼和δ狼輸出的結構和特性與α狼相同.

圖9 模糊系統的α輸出
圖10顯示了模糊層次算子的規則,可以看出:在狩獵開始階段,3只最優個體有著相同的權重來引導狼群,增加尋優的可能性,避免前期進入局部最優.當算法逐漸迭代的過程中,群體中的決定權開始慢慢由α狼主導,提高后期的收斂速度.而當考慮多樣性度量后,當多樣性度量較小時,需要稍微削弱α的權重,間接增強β和δ的權重,防止狼群繼續快速向α聚攏.當多樣性度量較大時,可適當增加α的權重并減小δ的權重,以α為主導的搜素個體可加速趨近穩定的最優值,小幅度提高群體尋優的收斂速度.

圖10 層次算子模糊系統的規則
綜上所述,本文定義了動態調整GWO參數和層次算子的模糊系統,并且將第1種動態調整參數方法和模糊層次算子相結合,統稱為FGWO_div方法,將第2種動態調整參數方法和模糊層次算子相結合,成為FGWO_er方法.所提出的兩種方法的算法描述如下:
Step 1.根據規模初始化種群,并初始化a,A和C;
Step 2.計算每個搜索個體的適應度,以得到最優的3只狼Xα、Xβ和Xδ;
Step 3.根據Xα、Xβ和Xδ由式(5)-式(7)更新每一個搜索個體的新位置;
Step 4.根據提出的方法動態地調整a和C參數,并動態地調整狼群的層次算子;
Step 5.計算所有搜索個體的適應度,并更新Xα、Xβ和Xδ;
Step 6.檢查是否達到迭代次數或滿足相應的終止條件,滿足則結束算法,否則返回第3步繼續迭代.
本文首先使用10個基準函數來進行FGWO_div和FGWO_er方法的可行性測試.本文使用的基準函數分為5個單峰基準函數和5個多模態基準函數[17].表1顯示了5個單峰基準函數的函數公式,也顯示了每個公式的搜索空間以及最優值.在表2中顯示了5個多模態基準函數的函數公式,同樣也給出了每個基準函數的范圍和最優值.

表1 單峰基準函數

表2 多模態基準函數
此外,本文引用了一個z-test假設檢驗[18].z檢驗是為了在統計上顯示提出方法與原始GWO和其他模糊GWO算法的性能比較.z假設檢驗的參數和聲明如表3所示.

表3 假設檢驗z-test的參數
在應用z檢驗時,顯著性水平為0.05,拒絕區域的值均低于-1.645,零假設認為所提出方法的平均值大于或等于原始GWO算法的平均值.因此如果z的值小于-1.645,我們可以拒絕零假設,并且可以聲明新方法有著更好的性能.
對于仿真結果,實驗給出每個基準函數在30、64和128維度下30次獨立運行后的平均值、標準差以及假設檢驗的比較結果.需要注意的是,實驗中的算法是用500次迭代,30個個體執行的,進行了總計15000次函數的評估.
首先進行所提出方法和原始GWO的比較實驗,測試所提出方法的可行性和有效性.表4顯示了在10個30維度基準函數測試下得到的平均值和標準差以及假設檢驗z值.

表4 兩種方法與GWO的30維度比較
從表4中可以看出,在F1-F4、F7和F9函數上,FGWO_div和FGWO_er比原始GWO得到的平均值和標準差更低,顯示出更好的性能.其中對F7,FGWO_div和FGWO_er均獲得了基準函數的最優值,并且FGWO_er在F9函數上也搜索得了最優值.從假設檢驗的結果來看,在本文分析的10個基準函數中,FGWO_div和FGWO_er在7個函數上的Z值小于拒絕值,表明在這7個函數上,FGWO_div和FGWO_er方法優于原始灰狼算法,具有更好的性能.
表5給出了FGWO_div、FGWO_er方法和原始GWO在64維度基準函數測試下的比較結果,目的是比較不同方法在處理復雜問題時的性能.從表中可以看出,盡管問題更復雜,FGWO_div和FGWO_er方法也在大部分函數上獲得了更優解,在F9函數上都搜索到了最優值.從假設檢驗的值來看,同樣在本文分析的10個基準函數中有7個具有更好的性能.

表5 兩種方法與GWO的64維度比較
本文還分析了不同方法在解決更復雜問題時的性能,并在表6中給出具有128維度的10個基準函數的測試結果.

表6 兩種方法與GWO的128維度比較
從表6中的數據來看,盡管問題的復雜性增加,FGWO_div和FGWO_er方法在大部分函數上比原始GWO得到的平均值和標準差更低,FGWO_er對F9函數同樣搜索到最優解.從假設檢驗的結果來看,FGWO_div和FGWO_er方法仍然在10個函數中有7個具有更有效的解.
最后,我們將本文提出的方法和其他模糊GWO算法進行了比較.圖11顯示了文獻[12]提出的FGWO_mix模糊系統,文獻[11]提出的FGWO_ac模糊系統只是將輸出變為單獨的a和C輸出;文獻[13]提出的FGWO_weight模糊系統將輸出變為3只狼的權重;文獻[14]提出的FGWO_type2模糊系統只是將一型模糊邏輯變為二型模糊邏輯.由此可見,這4種模糊GWO算法只是將迭代作為模糊系統的輸入,表明在改進灰狼算法的多樣性和收斂性時只考慮到迭代程度,只考慮到算法在前中后期作出相應的調整.而本文將迭代、多樣性度量和誤差度量作為模糊輸入,使算法在迭代的過程中考慮到狼群整體多樣性和誤差的性能指標,進而通過設計好的自適應模糊規則實時調整算法的參數和層次算子,最終實現算法多樣性和收斂性的自適應調整.

圖11 迭代輸入的FGWO_mix模糊系統
下面將本文提出的兩種模糊GWO算法與該4種模糊GWO算法進行在128維基準函數上的測試對比.
表7顯示了128維度情況下的兩種方法與FGWO_ac和FGWO_mix之間的假設檢驗結果.根據表可以得出結論,相比FGWO_ac,FGWO_div在本文分析的7個基準函數上有顯著水平表明具有更好的性能,而FGWO_er也有顯著水平表明在其中6個基準函數上的有效性.相比FGWO_mix,FGWO_div在7個基準函數上有顯著水平表明具有更好的性能,而FGWO_er在5個基準函數上具有更好的性能.

表7 兩種方法與FGWO_ac和FGWO_mix的比較
根據表8可以得出結論,相比FGWO_weight,FGWO_div和FGWO_er都在6個基準函數上具有更好的性能.相比FGWO_type2,FGWO_div和FGWO_er也都有顯著水平表明了在其中7個基準函數上的有效性.

表8 兩種方法與FGWO_weight和FGWO_type2的比較
綜上所述,相比只考慮迭代情況的4種模糊GWO算法,本文提出的方法在求解精度上有了很大的提升,表明考慮到多樣性度量和誤差度量的自適應GWO算法能夠在算法尋優時改進狼群的多樣性和求解精度,取得更優的解質量.
柔性外骨骼機器人是一種穿戴式裝備,相比傳統外骨骼機器人在靈活性和舒適性上得到很大提升.特別是在康復領域,柔性外骨骼機器人可以為肢體活動障礙人群提供康復訓練,可以幫助患者恢復正常步態.但由于柔性外骨骼與剛性結構不同,難以建模的特性直接影響機器人控制的不穩定性,因此對于外骨骼機器人的姿態識別非常重要[19].本文采用數據庫聚類驗證方法,對基于FGWO_div和FGWO_er的K-means的聚類算法性能進行測試.實驗的數據庫來自UCI的身體姿態和運動聚類數據庫[20].從數據庫隨機選取2000個數據,這些數據由穿戴在實驗者身體的各方位傳感器獲得,包括由傳感器導出的12個基本輸入屬性和坐下、站起和行走3種聚類結果.實驗參數設置如下:灰狼個體群個數為S=60,最大迭代次數N=200.
針對外骨骼機器人的姿態數據聚類,本文采用將提出的方法與K-means算法結合,利用提出方法的全局自適應搜索的特點優化K-means的聚類性能.在算法中,灰狼個體的位置由聚類中心組成,并根據最小距離聚類規則更新灰狼群位置.算法中灰狼群的適應度函數如下:
(12)
在公式(12)中,i表示數據Cij所在的類,Numi表示i類中的數據個數,Centrei表示i類數據的聚類中心.基于FGWO_div和FGWO_er的K-means方法的算法描述如下:
Step 1.初始化聚類類別數K,并對灰狼種群進行隨機初始化(每個個體位置由K個聚類中心組成);
Step 2.根據狼群個體代表的聚類中心,按照最小距離準則將數據分配到最近的類簇中;
Step 3.根據公式(12)計算每個搜索個體的適應度(類簇中類內距離之和);
Step 4.根據提出的FGWO_div和FGWO_er方法更新狼群個體位置;
Step 5.檢查是否達到迭代次數或滿足相應的終止條件,滿足則返回聚類結果,否則返回第3步繼續迭代.
針對柔性外骨骼姿態數據的聚類,實驗獨立運行20次,實驗結果包括20次聚類結果的平均值、最大值、最小值以及標準差,實驗結果如表9所示.

表9 姿態數據聚類結果
從表9中的數據可以看出,基于FGWO_div和FGWO_er的K-means方法相比K-means在聚類準確率上得到了很大提升,并且從最大值、最小值以及標準差可以看出聚類效果具有更高的穩定性.因此,表明了所提出的基于FGWO_div和FGWO_er的K-means算法在外骨骼機器人姿態識別的優越性和可行性.
本文提出了一種結合模糊邏輯的自適應灰狼優化算法,將狼群的迭代、多樣性度量和誤差度量作為模糊邏輯的輸入,使算法在迭代的過程中考慮到狼群的多樣性和誤差性能指標.針對這兩種性能指標,對a和C參數以及層次算子的動態調整進行了相應的模糊規則設計,從而使算法能夠在尋優過程中實時調整收斂速度并提高求解精度.然后通過基準函數測試以及假設檢驗表明了方法的可行性和有效性.最后通過柔性外骨骼機器人姿態數據聚類表明了方法的適用性.仿真實驗結果表明,在本文分析的基準函數上,本文提出的兩種方法相比原始GWO和其他4種模糊GWO方法,在大部分函數上具有顯著水平表明自身的有效性.在柔性外骨骼機器人的姿態數據聚類上,基于本文提出的FGWO_div和FGWO_er的K-means方法相比K-means方法在聚類準確率以及穩定性上得到很大的提升,表明了所提出方法在外骨骼機器人的姿態數據聚類上的可行性和適用性.