石建平,劉國平,李培生,陳冬云,劉 鵬
(1.貴陽學院 電子與通信工程學院,貴州 貴陽 550005;2.南昌大學 機電工程學院,江西 南昌 330031;3.河北地質(zhì)大學 寶石與材料工藝學院,河北 石家莊 050031)
果蠅優(yōu)化算法(Fruit fly Optimization Algorithm,F(xiàn)OA)是臺灣學者PAN[1]受果蠅覓食行為的啟發(fā)而提出的一種新型群智能優(yōu)化算法,該算法具有尋優(yōu)機制簡單、控制參數(shù)少、容易編程實現(xiàn)以及較好的收斂效果等優(yōu)點,從而在財務危機預警建模[1]、多維背包問題[2]、神經(jīng)網(wǎng)絡訓練[3]、電力負荷預測[4]、PID參數(shù)整定[5-6]、聯(lián)合補給問題[7]、函數(shù)優(yōu)化[8]及調(diào)度問題[9-10]等諸多領域得到應用推廣。然而,如同F(xiàn)OA的優(yōu)點一樣,該算法的不足同樣也很明顯:首先,F(xiàn)OA中的氣味濃度判定值不能取負值,導致算法不能優(yōu)化具有負值搜索空間的優(yōu)化問題;其次,F(xiàn)OA采用非線性的候選解產(chǎn)生機制,使得算法無法在指定區(qū)域內(nèi)按均勻分布搜索;再次,F(xiàn)OA在尋優(yōu)過程中采取只向種群最優(yōu)個體學習的簡單搜索方式,導致種群的容易喪失多樣性而陷入早熟收斂;最后,F(xiàn)OA缺乏逃離局部極值束縛的機制,導致算法的全局探索能力不強。
為克服FOA的上述不足,廣大學者圍繞FOA的改進展開了深入的研究,提出了許多有效的改進方案。文獻[6]將細菌趨化理論引入果蠅優(yōu)化算法,提出了多驅(qū)逐劑與多引誘劑的概念,進而提出了雙重驅(qū)動的改進果蠅優(yōu)化算法;文獻[7]從種群多樣性的保持、避免局部最優(yōu)的智能搜索以及通過隨機擾動增強算法跳出局部極值的能力等多方面來改善算法的收斂質(zhì)量;文獻[8]借助一個控制參數(shù)實現(xiàn)在群位置附近自適應調(diào)整搜索范圍,并提出了新的候選解生成方法來提升算法的收斂精度與收斂速度;文獻[11]基于果蠅個體歷史最佳記憶信息和種群全局歷史最佳記憶信息構建了多策略混合協(xié)同進化的搜索機制,進而提出了用于解決約束優(yōu)化問題的改進果蠅優(yōu)化算法;文獻[12]通過引入一個逃逸參數(shù)解決了氣味濃度判定值不能取負值的不足,并將果蠅個體的搜索范圍拓展至三維空間;文獻[13]提出一種基于候選解線性產(chǎn)生機制的改進果蠅優(yōu)化算法,該算法同樣解決了氣味濃度判定值不能取負值的不足,同時引入一個慣性權重因子來平衡算法的全局與局部搜索;文獻[14]將文獻[13]中的慣性權重取值與算法的最大迭代次數(shù)相關聯(lián),并引入前N個優(yōu)秀候選解的平均候選解來取代種群中的一個候選解,提高了算法的搜索效率及可靠性;文獻[15]提出一種基于多子群進化的改進果蠅優(yōu)化算法,通過各子群在搜索空間的獨立搜索有效提高了算法的收斂性能;文獻[16]引入一個具有混沌行為的參數(shù)來改善算法的尋優(yōu)性能,進而提出了混沌果蠅優(yōu)化算法;文獻[17]提出了新的氣味濃度判定值生成方案,并借助不同個體間的差異信息來引導果蠅位置的更新;文獻[18]提出一種具有智能選擇進化方向的改進果蠅優(yōu)化算法;文獻[19]提出了基于雙子群和分區(qū)采樣的果蠅優(yōu)化算法,該算法將果蠅種群分為搜索子群和跟隨子群,并采用分區(qū)采樣的搜索果蠅位置更新策略;文獻[20]通過多尺度協(xié)同變異操作來擴展果蠅的搜索空間并改善種群的多樣性,從而有效提高了算法的全局搜索能力;文獻[21]借助符號參數(shù)使得氣味濃度判定值能夠在負值空間中取值,但其取值仍基于非線性產(chǎn)生機制,無法在指定區(qū)域內(nèi)均勻搜索的問題依然存在;文獻[22]從搜索方向與搜索步長的優(yōu)化選擇和自適應調(diào)整、自適應交叉與變異、雙子群協(xié)同進化等多方面對FOA進行綜合改進,使得算法的尋優(yōu)質(zhì)量得到較大提升;文獻[23]提出一種自適應果蠅優(yōu)化算法,該算法根據(jù)成功的歷史經(jīng)驗來得到一個適當?shù)臎Q策變量,然后依據(jù)該決策變量自適應產(chǎn)生新的候選解;受正弦余弦算法的啟發(fā),文獻[24]通過果蠅個體向外或向內(nèi)飛行的方式來尋找全局最優(yōu)解;文獻[25]提出了基于隨機游走的果蠅優(yōu)化算法,該算法利用隨機游走機制動態(tài)調(diào)整果蠅種群的位置,從而增強了算法的全局尋優(yōu)能力。
針對基本FOA的上述不足,本文提出一種基于雙策略協(xié)同進化的果蠅優(yōu)化算法(Double Strategies Co-evolutionary Fruit Fly Optimization Algorithm, DSCFOA),該算法采用將果蠅位置直接賦值給氣味濃度判定值的候選解線性生成機制,使得候選解可以取負值并能均勻分布于指定的搜索區(qū)域;DSCFOA將從種群的初始化、雙策略協(xié)同嗅覺搜索、實時視覺更新以及果蠅位置的越界處理等多方面進行綜合改進,從而較好地兼顧了種群的多樣性與收斂性,使得算法的整體收斂質(zhì)量有較大幅度提升。用典型的基準測試函數(shù)驗證了DSCFOA的可行性與有效性,并將其應用于解決冗余機械臂的逆運動學問題,檢驗了該算法解決實際工程優(yōu)化問題的能力。
根據(jù)文獻[1],F(xiàn)OA的優(yōu)化過程簡述如下:
步驟1種群位置(X_axis,Y_axis)的初始化。
步驟2更新果蠅i的位置(Xi,Yi)。
(1)
式中RandomValue為位置更新的隨機步長值。
步驟3計算果蠅i的氣味濃度值Smelli。
Smelli=F(Si);
(2)
(3)
式中:F(·)為適應度函數(shù);Si為果蠅i的氣味濃度判定值;Disti為果蠅i相對于坐標原點的距離。
步驟4針對最小優(yōu)化問題,由式(4)找出當前代種群中具有最高氣味濃度值的果蠅bestIndex。
[bestSmellbestIndex]=min(Smelli)。
(4)
式中:bestSmell為最高氣味濃度值;bestIndex為與bestSmell對應的果蠅個體序號;min(·)為求最小值函數(shù)。
步驟5按式(5)保存最高氣味濃度值及其對應的位置坐標,果蠅種群利用視覺飛向該位置。
(5)
步驟6重復循環(huán)步驟2~步驟4,與上一代種群的最高氣味濃度值相比,若當前代種群具有更高的氣味濃度值且迭代次數(shù)小于最大迭代次數(shù),則轉步驟5;若算法迭代次數(shù)達到最大值,則輸出尋優(yōu)結果并退出迭代循環(huán)。
個體在搜索空間內(nèi)的均勻分布能夠使得種群具有更強的多樣性,進而有助于改善算法的全局搜索能力。佳點集是一種有效的均勻選點方法,以二維單位搜索空間為例,根據(jù)文獻[26]的佳點集產(chǎn)生原理得到的點分布和采用隨機方法得到的點分布如圖1所示。顯然,與隨機初始化種群相比,佳點集方法能夠使得初始種群均勻地分布在搜索空間中。因此,本文利用佳點集方法對DSCFOA進行種群的初始化。
在FOA中,整個果蠅種群只向當前最優(yōu)果蠅個體學習,即在當前最優(yōu)果蠅位置附近的固定范圍內(nèi)進行局部隨機搜索,若該位置是搜索空間中的局部最優(yōu)位置,則算法很難逃離局部最優(yōu)的束縛而陷入早熟收斂。為增強算法的全局搜索能力,應該充分挖掘并利用所有果蠅個體的成功搜索經(jīng)驗。為此,本文對整個果蠅種群進行等級劃分,將其分為精英領導層果蠅個體和普通果蠅個體,領導層由種群P中的前3個具有最高氣味濃度值的果蠅構成,領導層負責集體引導果蠅種群的嗅覺尋優(yōu)搜索。同時引入雙策略協(xié)同進化的嗅覺搜索機制,使其形成優(yōu)勢互補以更好地平衡算法的全局探索與局部開發(fā)。具體的嗅覺搜索算子如下:
(6)
(7)
(8)
式中:P′1、P′2及P′3分別代表種群P中適應度最優(yōu)的前3個果蠅個體,他們構成了果蠅種群的領導層;N(0,1)為D維的隨機向量,由服從標準正態(tài)分布的一個隨機變量擴充而成,即N(0,1)的各分量相同;r1是在(1,2,…,m)中隨機選擇且滿足r1≠i的一個整數(shù);r1、r2及r3為[0,1]內(nèi)均勻分布的隨機變量;ω為擾動比例因子,同時也決定了進化策略的選擇概率;t為算法的當前迭代次數(shù),tmax為算法的最大迭代次數(shù)。
在雙策略嗅覺搜索方案中,策略1(XL+2×r1×(Pr1(t)-Pi(t))+N(0,1)×ω)由3部分構成:第1部分是由領導層精英個體構成的中心位置向量XL,第2部分是利用不同果蠅個體間的差異信息構成的隨機差分向量2×r1×(Pr1(t)-Pi(t)),第3部分是由一個服從標準正態(tài)分布的隨機變量擴充而成的D維隨機向量N(0,1)×ω。 策略1使得當前果蠅向領導層精英個體學習,且種群中不同個體間的差異信息以及D維隨機向量N(0,1)×ω確保了學習結果的多樣性,從而有效避免了FOA只向最優(yōu)個體學習所導致的早熟收斂現(xiàn)象,使得算法的全局搜索能力得到有效提高。雙策略嗅覺搜索方案中的策略2 ((1-ω)×P′1+ω×(Pi(t)-Xi(t)))由歷史最優(yōu)果蠅個體得到擾動中心位置(1-ω)×P′1,利用個體的記憶信息構建差分向量ω×(Pi(t)-Xi(t))用于對該中心位置進行擾動搜索,該策略使得果蠅個體通過向種群最優(yōu)個體及自身成功歷史經(jīng)驗的學習來引導其嗅覺搜索,可以有效加快算法的收斂速度。根據(jù)式(6),算法按概率隨機選擇其中的一個策略作為當前果蠅個體的嗅覺搜索算子,兩個策略的隨機交替使用能夠較好地避免單一進化策略易導致算法早熟收斂而陷入局部最優(yōu)。另外,根據(jù)ω的取值規(guī)律,算法在進化的前期階段以較大的概率選擇策略2作為當前果蠅的嗅覺搜索算子,有助于在進化的前期階段加速算法的收斂速度;而在進化的后期階段,由于果蠅種群逐漸向最優(yōu)個體附近聚集而呈現(xiàn)趨同現(xiàn)象,此時算法以較大的概率選擇策略1作為當前果蠅的嗅覺搜索算子,有助于改善算法的全局搜索性能??傊?,改進算法的嗅覺搜索融合了人類認知過程中的自我學習與社會學習思想,實現(xiàn)了進化過程中的信息增值,從而有效兼顧了算法的收斂性與種群的多樣性。
設算法的最大迭代次數(shù)tmax=600,根據(jù)式(8)可得比例因子ω在一次進化過程中的取值演變過程,如圖2所示。可見,通過引入隨機因子r3,使得比例因子ω在逐漸向下壓縮的范圍內(nèi)隨機取值。這種取值方式使得算法在進化的前期階段具有較大的擾動范圍,從而具有較強的全局搜索能力;而在進化的后期階段,算法的局部搜索能力得到增強,從而達到進一步提升算法收斂精度的目的。
FOA中,視覺搜索是指式(1)中種群位置(X_axis,Y_axis)的更新。而在DSCFOA中,視覺搜索是指式(6)中擾動中心位置向量XL與(1-ω)×P′1的更新。本文按式(9)對果蠅位置進行實時評估并更新其最佳歷史信息,同時對種群的領導層進行動態(tài)實時更新,以充分利用每個果蠅個體的成功搜索經(jīng)驗。
(9)
通過上述果蠅個體的實時評估與更新,間接實現(xiàn)了嗅覺搜索算子式(6)中擾動中心位置向量的實時更新,同時充分利用了所有果蠅個體的成功搜索經(jīng)驗,有效提高了算法的收斂速度。
為進一步改善種群的多樣性,針對在搜索過程中個體位置超出搜索空間范圍的現(xiàn)象,按下式進行處理:
(10)
式中:r4為[0,1]內(nèi)均勻分布的隨機變量;Xmax,j為搜索空間上邊界向量Xmax的第j維分量;Xmin,j為搜索空間下邊界向量Xmin的第j維分量。
DSCFOA的進化流程如圖3所示。
DSCFOA的進化步驟如下:
步驟1設置果蠅個體位置的搜索范圍、種群規(guī)模、算法的最大迭代次數(shù)等相關參數(shù),用佳點集方法初始化果蠅種群,設置i=1,t=1,Pi=Xi。
步驟2將種群P按適應值從小到大進行排序,選擇適應值最小的前3個果蠅個體為種群的當前領導層。
步驟3果蠅i按照式(6)~式(8)執(zhí)行嗅覺搜索,按式(10)進行越界處理。
步驟4對果蠅i的位置進行實時評估,按式(9)實時更新果蠅個體的歷史最佳信息,實時更新種群的領導層。
步驟5i=i+1,若i 步驟6若t 時間復雜度是評判一個算法性能優(yōu)劣的重要指標之一,它反映了算法的收斂速度。已知種群規(guī)模、搜索空間的維度以及算法的最大迭代次數(shù)分別為m、D及tmax,設產(chǎn)生佳點每一維分量的時間為t1,由佳點分量初始化果蠅個體位置分量的時間為t2,計算目標函數(shù)適應值的時間為f(D),對果蠅種群按適應值從小到大進行排序的時間為t3,則DSCFOA種群初始化的時間復雜度為: O(m(Dt1+Dt2+f(D))+t3)=O(D+f(D))。 (11) 設產(chǎn)生果蠅個體位置分量的時間為t4,對果蠅個體位置分量進行越界處理的時間為t5,適應值比較與更新的時間為t6,則DSCFOA在循環(huán)迭代階段的時間復雜度為: O(tmaxm(Dt4+Dt5+f(D)+t6+t3))=O(D+f(D))。 (12) 于是,DSCFOA總的時間復雜度為: T(D)=O(D+f(D))+O(D+f(D))=O(D+f(D))。 (13) 在FOA中,設產(chǎn)生種群位置分量的時間為t′1,則FOA種群初始化的時間復雜度為: O(Dt′1+f(D))=O(D+f(D))。 (14) 設產(chǎn)生氣味濃度判定值每一維分量的時間為t′2,尋找種群中最優(yōu)個體的時間為t′3,適應值比較與更新的時間為t′4,則FOA在循環(huán)迭代階段的時間復雜度為: O(tmax(m(Dt′2+f(D))+t′3+t′4))=O(D+f(D))。 (15) 于是,可得FOA總的時間復雜度為: T(D)=O(D+f(D))+O(D+f(D))=O(D+f(D))。 (16) 由式(13)和式(16)可知,DSCFOA和FOA具有相同的時間復雜度,即上述改進策略并沒有增加DSCFOA的時間復雜度。 最后,從算法的計算成本來看,以種群規(guī)模m=60和最大迭代次數(shù)tmax=600為例,DSCFOA循環(huán)迭代階段的函數(shù)總評估次數(shù)為60×600=36 000次,與FOA循環(huán)迭代階段的函數(shù)總評估次數(shù)相同。因此,DSCFOA與FOA具有相當?shù)挠嬎愠杀尽?/p> 用表1中8個經(jīng)典的基準測試函數(shù)來檢驗DSCFOA的收斂性能。表中:前4個函數(shù)為單峰函數(shù),用于檢驗算法的收斂精度與收斂速度;后4個為具有多個局部極值的多峰函數(shù),用于檢驗算法的全局搜索能力。 表1 基準測試函數(shù) DSCFOA涉及的參數(shù)有種群規(guī)模m和最大迭代次數(shù)tmax,用表1中的函數(shù)f2和f6來討論這兩個參數(shù)對算法收斂性能的影響。設函數(shù)的維度D=30,最大迭代次數(shù)tmax=600,不同種群規(guī)模時算法連續(xù)獨立運行30次的最優(yōu)適應值(Best)、平均適應值(Mean)、最差適應值(Worst)、標準差(Std.)以及收斂于理論最優(yōu)值的函數(shù)平均總評估次數(shù)(TNE)如表2所示;設函數(shù)的維度D=30,種群規(guī)模m=60,不同最大迭代次數(shù)時算法連續(xù)獨立運行30次的收斂性能統(tǒng)計如表3所示。表中“—”表示在該組試驗中存在算法不能收斂于函數(shù)理論最優(yōu)的情形,故未統(tǒng)計該組試驗的TNE值。 表2 不同種群規(guī)模的算法收斂性能 表3 不同迭代次數(shù)的算法收斂性能 續(xù)表3 根據(jù)表2和表3可知,當種群規(guī)模m≥40時,算法都能夠穩(wěn)定收斂于函數(shù)f2和f6的理論最優(yōu)值,且隨著種群規(guī)模的增大,算法的有效函數(shù)評估次數(shù)也隨之增加(有效函數(shù)評估次數(shù)是指算法收斂于函數(shù)理論最優(yōu)所需的最少評估次數(shù));對于函數(shù)f2,當最大迭代次數(shù)tmax>300時,算法能夠穩(wěn)定收斂于函數(shù)的理論最優(yōu)值(繼續(xù)增大算法的最大迭代次數(shù),則算法的有效評估次數(shù)也隨之增加);對于函數(shù)f6,算法只需迭代一次即可穩(wěn)定收斂于函數(shù)的理論最優(yōu)值,因此算法的有效評估次數(shù)變化不大。由于表2和表3中的試驗結果只是為算法的參數(shù)設置提供了一個指導性的建議,欲尋求一個對所有優(yōu)化問題都達到最佳優(yōu)化效果的參數(shù)值是不現(xiàn)實的。因此,在本文的后續(xù)試驗中,為兼顧算法在解決文中所涉及優(yōu)化問題時的收斂質(zhì)量與計算成本,將DSCFOA的種群規(guī)模和最大迭代次數(shù)分別設置為60和600。 為驗證DSCFOA的有效性,將DSCFOA與FOA、LGMS-FOA(linear generation mechanism of candidate solution-based FOA)[13]、AE-LGMS-FOA(LGMS-FOA with an additional averager engine)[14]、IFOA (improved FOA)[7]及SFOA (signed FOA)[21]進行試驗對比分析。所有算法的種群規(guī)模和最大迭代次數(shù)分別為60和600;FOA的隨機初始化種群位置范圍為[0,10],果蠅覓食的隨機方向和距離為[-1,1];LGMS-FOA算法中ω0=1、α=0.95、n=0.005;AE-LGMS-FOA中p=0.005、ω0=1、n=10,且用種群的前80%優(yōu)秀個體來產(chǎn)生XAv;IFOA中設置50%的果蠅個體朝最優(yōu)解飛行,其余果蠅執(zhí)行隨機飛行,擾動放大系數(shù)ω=0.3。 考慮基準函數(shù)的維度D=30,各算法分別連續(xù)獨立運行30次的尋優(yōu)結果統(tǒng)計如表4所示,各函數(shù)的平均適應值收斂曲線如圖4所示。 表4 不同算法的基準函數(shù)尋優(yōu)統(tǒng)計結果 續(xù)表4 由表4可知,DSCFOA在8個函數(shù)中能夠穩(wěn)定收斂于其中7個函數(shù)(f1~f6及f8)的理論最優(yōu)值;對于函數(shù)f7,DSCFOA也獲得了較高的收斂精度,且各項性能指標都遠優(yōu)于其他算法;其他算法都未能收斂于函數(shù)的理論最優(yōu)值(LGMS-FOA能夠收斂于f5、f6及f83個函數(shù)的理論最優(yōu)值),說明DSCFOA具有較強的全局搜索能力,與其他算法相比,DSCFOA的優(yōu)勢比較明顯。從圖4可知,DSCFOA的平均適應值收斂曲線具有最快的下降速度,并獲得了最低的下降位置(為便于顯示和觀察,本文將所有函數(shù)的適應值取以10為底的對數(shù)),說明了DSCFOA具有收斂速度快、收斂精度高的優(yōu)點。對于函數(shù)f1、f3、f5、f6及f8,因為DSCFOA只需進化一代便收斂于函數(shù)的理論最優(yōu)值,所以圖中未顯示DSCFOA的平均適應值收斂曲線。 根據(jù)前述分析,在相同迭代次數(shù)的前提下, DSCFOA與FOA的計算成本相當,而DSCFOA快速的收斂速度使得其有效函數(shù)評估次數(shù)大幅度降低。因此,在相同函數(shù)評估次數(shù)的前提下, DSCFOA具有比FOA更高的收斂質(zhì)量。 為檢驗DSCFOA算法解決高維優(yōu)化問題的能力,考慮表1中測試函數(shù)的維度分別為100、200、300、400及500維的情形。DSCFOA的參數(shù)設置與前述相同,各函數(shù)分別連續(xù)獨立運行30次,算法的尋優(yōu)結果如表5所示。 表5 DSCFOA對高維函數(shù)的尋優(yōu)統(tǒng)計結果 根據(jù)表5可知, DSCFOA在8個函數(shù)中能夠穩(wěn)定收斂于其中7個函數(shù)(f1~f6及f8)的理論最優(yōu)值,且對于不同維度的同一函數(shù),算法的有效函數(shù)評估次數(shù)差別不大;對于函數(shù)f7,DSCFOA也獲得了較高的收斂精度,且尋優(yōu)結果穩(wěn)定性好??梢?,DSCFOA在解決高維優(yōu)化問題中同樣表現(xiàn)出了較強的全局尋優(yōu)能力。 機器人的逆運動學問題本質(zhì)上是一個復雜非線性超越方程組的求解,該問題是研究機器人動態(tài)特性分析、軌跡規(guī)劃和運動控制的基礎。近年來,群智能優(yōu)化算法[27-34]被廣泛應用于機器人的逆運動學求解,為解決機器人逆運動學問題提供了有效的解決方案。本文采用平面冗余機械臂來驗證所提算法在逆運動學求解中的可行性與有效性。 本文采用D-H法為機械臂模型各連桿建立的坐標系如圖5所示。機械臂的正向運動學方程是以關節(jié)角為自變量的復雜非線性方程組,其表達式如下: (17) (18) 設機械臂末端執(zhí)行器的期望位姿為: 各算法分別獨立連續(xù)進行100次仿真試驗,其尋優(yōu)結果如表6所示,各算法的平均適應值收斂曲線如圖6所示,各算法最優(yōu)適應值對應的一組運動學逆解如表7所示,各逆解對應的位姿誤差如表8所示,各逆解對應的實際位姿如圖7所示。 表6 不同算法的適應值統(tǒng)計結果 表7 不同算法的一組最優(yōu)運動學逆解 表8 不同算法的位姿誤差 由表6和圖6可知,DSCFOA求得的機械臂運動學逆解能夠使得末端執(zhí)行器穩(wěn)定收斂于期望位姿,其收斂質(zhì)量遠優(yōu)于其他算法;AE-LGMS-FOA獲得了僅次于DSCFOA的收斂性能,LGMS-FOA的收斂性能又略差于AE-LGMS-FOA;FOA、IFOA及SFOA的尋優(yōu)效果不夠理想。由表8的位姿誤差來看,DSCFOA的位姿誤差為0;AE-LGMS-FOA和LGMS-FOA的最優(yōu)逆解也獲得了較高的位姿收斂精度;FOA、IFOA及SFOA的位姿誤差明顯大于DSCFOA、AE-LGMS-FOA和LGMS-FOA,特別是其位置誤差尤為突出。從圖7可直觀觀察表7中各逆解所對應的實際位姿,進一步驗證了上述結論。綜上所述,本文提出的DSCFOA可有效解決機械臂的逆運動學問題。 針對基本FOA的氣味濃度判定值不能取負值的不足,提出一種改進的FOA,即DSCFOA。DSCFOA的嗅覺搜索環(huán)節(jié)利用雙策略混合協(xié)同進化機制形成優(yōu)勢互補,實現(xiàn)了搜索過程的信息增值,進而在增強算法全局探索能力的同時可在局部進一步深度開發(fā)質(zhì)量更高的候選解;通過佳點集方法初始化種群以及領導層集體引導策略的構建,有效保持了種群的多樣性,較好地克服了早熟收斂現(xiàn)象的發(fā)生;視覺搜索環(huán)節(jié)的實時更新方案則進一步加快了算法的收斂速度。利用典型的基準測試函數(shù)來驗證DSCFOA的可行性與有效性,結果表明:與FOA及其4個改進的算法相比,DSCFOA具有收斂速度快、收斂精度高及尋優(yōu)結果穩(wěn)定性好的優(yōu)點,且DSCFOA對于高維復雜優(yōu)化問題同樣具有較強的全局搜索能力。最后,以冗余機械臂的逆運動學求解為例進行仿真分析,DSCFOA的求解質(zhì)量同樣遠優(yōu)于其他算法,說明該算法具有較強的解決實際工程優(yōu)化問題的能力。 未來將繼續(xù)利用DSCFOA來解決其他工程優(yōu)化問題,以進一步拓展該算法的應用領域。2.6 算法的時間復雜度與計算成本
3 基準函數(shù)測試
3.1 基準函數(shù)與參數(shù)設置
3.2 DSCFOA與其他優(yōu)化算法的比較
3.3 DSCFOA的高維函數(shù)優(yōu)化性能分析
4 用DSCFOA求解機械臂逆運動學問題
4.1 正向運動學方程與目標函數(shù)
4.2 仿真試驗及其分析
5 結束語