陸鳳儀,任 重,徐格寧
(太原科技大學(xué)機械工程學(xué)院,山西 太原 030024)
人工魚群算法(AFSA)[1-2]作為一種基于動物自治體的尋優(yōu)模式,具有適應(yīng)性、自制性、盲目性、突現(xiàn)性、并行性特點,其魯棒性強、全局收斂性好、對初值要求低,但也存在后期收斂速度慢、尋優(yōu)精度不高[3]、早熟現(xiàn)象[4]等缺陷。因此,國內(nèi)外學(xué)者針對上述問題相繼提出了各種改進人工魚群算法。其中,文獻[5]中提出了基于粒子群算法的人工魚群算法,改進了聚群和追尾行為中的隨機移動算子,提高了求解精度,但在穩(wěn)定性方面并沒有證明是否得到改進;文獻[6]提出了基于模擬退火算法改進的人工魚群算法;將判斷準則引入到覓食行為中,通過多峰測試函數(shù)與病態(tài)單峰測試函數(shù)證明提高了求解精度,但人工魚群算法屬于早熟算法,文中所述的提高了后期收斂速度并沒有證明;文獻[7]提出了采用動態(tài)調(diào)整人工魚視野和步長的方法,在局部更新采用閥值選擇策略,建立了適用于水庫群優(yōu)化調(diào)度的人工魚群算法,但該改進使用范圍有限,不適用于其他行業(yè);文獻[8]中提出了PID 控制的參數(shù)尋優(yōu),應(yīng)用PSO、GA、SA、自定義初始種群插入人工魚群算法中,模擬了PID 參數(shù)人工設(shè)置,提高了算法的運算速率和精度,但在算法穩(wěn)定性方面未提出改進。
上述改進多數(shù)針對某一缺陷,而未涉及算法中參數(shù)之間相互關(guān)系及早熟現(xiàn)象,為探究AFSA 中視野與步長的相互關(guān)系,以參數(shù)統(tǒng)計分析為基礎(chǔ),設(shè)定步長與視野數(shù)值成反比的條件下,構(gòu)建一種模仿生物視覺特性的步長、視野因子模型。為減緩人工魚群算法中的早熟現(xiàn)象,使算法在迭代后期仍會朝著目標值無限接近,將差分進化算法中的變異行為作為人工魚群完成覓食、聚群、追尾行為后的干擾行為,通過測試函數(shù)驗證其收斂性、計算精度、穩(wěn)定性。橋式起重機廣泛應(yīng)用于工礦企業(yè)中,箱型主梁作為主要承載構(gòu)件,占橋式起重機總重的60%以上。在傳統(tǒng)設(shè)計中箱型梁截面尺寸常根據(jù)設(shè)計人員工作經(jīng)驗或起重機設(shè)計手冊進行選擇[9],為減小主梁自重,降低生產(chǎn)成本,現(xiàn)多采用智能優(yōu)化方法設(shè)計。為驗證這類算法的實用性,將應(yīng)用于50t/22.5m 橋式起重機主梁金屬結(jié)構(gòu)輕量化設(shè)計。
一片水域中的魚群能夠通過側(cè)向反饋機制覓食,魚生存數(shù)目最多處一般為該水域中營養(yǎng)物質(zhì)最豐富處。人工魚群算法根據(jù)這一現(xiàn)象,通過構(gòu)造人工魚來模擬魚群的覓食、聚群、追尾行為,達到尋優(yōu)目標。以下為人工魚群算法的幾種典型行為:
(1)覓食行為(AF_prey):設(shè)人工魚當(dāng)前狀態(tài)為 Xi,在其視野范圍內(nèi)隨機選擇一個狀態(tài)Xj(即di,j≤Visual),若對應(yīng)的食物濃度Yi>Yj(極小值問題),則向該方向前進一步;反之重新選擇隨機狀態(tài)Xi,反復(fù)試探Tn次后若仍不滿足前進條件,則隨機前進一步[1]。
可描述為:
式中:Yj—狀態(tài)Xi對應(yīng)的食物濃度;Xi/next—第i 條人工魚的狀態(tài);Random(Step)—[0,Step]間的隨機數(shù)工魚個體之間的距離。
(2)聚群行為(AF_swarm):設(shè)人工魚當(dāng)前狀態(tài)為Xi,搜索其臨域內(nèi)(即 di,j≤Visual)的伙伴數(shù)目 nf和中心位置 Xc,若對應(yīng)的食物濃度Yc/nf>δYi(伙伴中心具有較多食物,且不太擁擠),則向伙伴中心Xc移動一步,否則執(zhí)行覓食行為[1]。
可描述為:
(3)追尾行為(AF_follow):設(shè)當(dāng)前人工魚狀態(tài)為 Xi,搜索其臨域內(nèi)(即 di,j≤Visual)伙伴中 Yj為最大的 Xj,且滿足 Yc/nf>δYi(伙伴Xj具有較多食物,且不太擁擠),Xi臨域內(nèi)伙伴數(shù)目nf為則朝伙伴Xj前進一步,否則執(zhí)行覓食行為[1]。
可描述為:
(4)隨機行為(AF_random):人工魚在視野范圍內(nèi)隨機選擇一個狀態(tài),然后向其移動,以便更大范圍內(nèi)尋覓食物或伙伴,該行為為覓食行為的缺省行為[1]。
人工魚群搜索范圍的大小與視野有關(guān),收斂速度和尋優(yōu)精度與步長有關(guān)[3],為研究視野與步長的關(guān)系,需獲取不同步長對應(yīng)的最佳視野值,如圖1 所示。根據(jù)生物視覺的特性,隨著移動速度的增加,生物視野水平逐漸變窄,視野度數(shù)逐漸減小,因此設(shè)定視野與步長成反比,為判斷其是否存在相關(guān)關(guān)系,通過式(4)采用統(tǒng)計方法對參數(shù)進行分析。
圖1 生物視覺特性圖Fig.1 Biological Visual Characteristics
算法在MATLAB 中運行,參數(shù)設(shè)置:fishnums=100、MAXGEN=500、delta=0.6、try_number=1,Visual 值變化范圍(1~9)(步進為1),Step 值變化范圍(1~9)(步進為 1)采用排列組合的方式對Visual、Step 值進行組合,分別對式(4)進行 20 次試驗,將每組Step 所對應(yīng)的最優(yōu)Visual 值記錄結(jié)果,如表1 所示。當(dāng)?shù)螖?shù)為500 次時,最優(yōu)值表示解決方案,平均值表示20 次試驗中平均最優(yōu)值。
表1 對 Visual、Step 的測試數(shù)據(jù)Tab.1 Test Data for Visual and Step
通過MATLAB 對表中Visual、Step 值進行擬合,結(jié)果如圖2所示。
圖2 對Step、Visual 測試數(shù)據(jù)擬合結(jié)果Fig.2 Fitting Results of Step and Visual Test Data
根據(jù)擬合結(jié)果顯示,Visual 與Step 成反比關(guān)系,可提出關(guān)系式為:
其中:p1=-0.8(-1.118,-0.4818)且 p2=9.8(7.972,11.63)。
采用其得出的與值在一定范圍內(nèi)可以提高尋優(yōu)精度。
魚的社會行為級別不高,無分工和地位的差異。因此當(dāng)魚群分散覓食時,若一條魚發(fā)現(xiàn)了目標,魚群便會產(chǎn)生群體間的依賴性,對周圍食物產(chǎn)生漠視,直到將最先發(fā)現(xiàn)的食物消滅干凈,才會繼續(xù)尋找其它的食物。這種群體間的行為導(dǎo)致人工魚群算法陷入局部最優(yōu)的幾率增大,同時在搜索過程中,人工魚群會出現(xiàn)“早熟收斂”現(xiàn)象[10],所以在原有行為基礎(chǔ)上嵌入基于差分進化算法中的變異過程作為干擾行為,相比于遺傳算法中的變異過程,差分進化算法[11]中的變異過程可控性更強,隨機性較小,其變異范圍限制在不同個體魚之間,而不是在變量范圍內(nèi)隨機生成一個或幾個變量。當(dāng)魚群完成追尾行為之后對其實施干擾,增加跳出局部最優(yōu)解的概率,縮短尋找全局最優(yōu)解的時間,其數(shù)學(xué)形式為[12]:
DAFSA 結(jié)構(gòu)流程圖,如圖3 所示。具體步驟如下:
(1)根據(jù)給定的變量范圍、魚群大小,選擇算法參數(shù),隨機生成初始種群;
(2)計算每條人工魚的目標函數(shù)值,執(zhí)行聚群、追尾(覓食、隨機)行為,分別生成新個體;計算新個體的目標函數(shù)值,并判斷二者大小,選擇最小的個體并替換至原種群中對應(yīng)的位置;
(3)判斷新個體是否滿足變量條件,如不滿足則取相對應(yīng)變量的上下限替代原有值;
(4)對新生成的個體實施干擾行為,使種群擴大搜索范圍;
(5)判斷是否滿足迭代要求,如不滿足則繼續(xù)執(zhí)行步驟(2),如滿足則跳出循環(huán),輸出結(jié)果。
圖3 改進人工魚群算法流程圖Fig.3 Flow Chart of Improved Artificial Fish Swarm Algorithm
為驗證DAFSA 算法是否滿足在穩(wěn)定性、計算精度以及后期迭代是否朝著目標值無限接近的改進要求,從文獻[13]中選取5 種不同類型測試函數(shù)進行測試,測試函數(shù),如表2 所示。
起重機箱型梁截面尺寸優(yōu)化方程為非線性復(fù)雜函數(shù),部分變量具有較大搜索空間,因約束條件較多,其搜索方向難辨,所以綜合考慮選用以上5 種測試函數(shù),如表2 所示。
算法在MATLAB 中運行,參數(shù)設(shè)置,如表3 所示。
表2 5 種不同類型測試函數(shù)Tab.2 5 Different Types of Test Functions
表3 運行參數(shù)設(shè)置Tab.3 Running Parameter Settings
對每個測試函數(shù)按照AFSA、DE、DAFSA 三種不同算法分別運行20 次,結(jié)果如表4 所示。其中平均值表示20 次測試中平均最優(yōu)值,最優(yōu)值表示解決方案,標準差值表示該算法的穩(wěn)定性,時間表示該算法獲得20 次解所需平均時間。
表4 測試結(jié)果Tab.4 Test Results
圖4 三種算法對測試函數(shù)f1 迭代過程對比圖Fig.4 Comparison Diagram of Three Algorithms on the Iterative Process of Test Function f1
圖5 三種算法對測試函數(shù)f3 迭代過程對比圖Fig.5 Comparison Diagram of Three Algorithms on the Iterative Process of Test Function f3
從表4 中可以發(fā)現(xiàn),處理復(fù)雜非線性函數(shù)時DAFSA 的計算精度優(yōu)于AFSA 和DE,但DAFSA 求解時間大于DE。從圖4、圖5中的迭代對比圖可以看出DAFSA 相對于AFSA 陷入局部最優(yōu)的時間明顯縮短,早熟現(xiàn)象得到改善,在迭代后期仍朝著最優(yōu)解方向前進,且尋優(yōu)結(jié)果明顯優(yōu)于AFSA;DAFSA 結(jié)果穩(wěn)定性明顯優(yōu)于DE,且DE 在后期迭代相對停止。
測試函數(shù)f5的結(jié)果顯示,DE 的精度要高于DAFSA,但其處理其他測試函數(shù)時,隨機性、不穩(wěn)定性和精度不足現(xiàn)象比較明顯,DAFSA 在處理測試函數(shù)時展示出的穩(wěn)定性要明顯優(yōu)于其他算法,且其精度基本達到0.0001,符合工程使用要求。因此測試結(jié)果證實了DAFSA 在計算準確性和穩(wěn)定性、計算效率方面的優(yōu)勢。
為驗證提出的DAFSA 算法實用性,以50t/22.5m 橋式起重機主梁金屬結(jié)構(gòu)為研究對象,對其進行輕量化設(shè)計。
箱型橋架作為橋式起重機的主要承載構(gòu)件,它的設(shè)計參數(shù)取值優(yōu)劣決定了整個起重機的設(shè)計成敗。因其受力情況復(fù)雜和篇幅原因,僅考慮其承受自重均布載荷q=ρA(A 為凈截面面積)和集中載荷,構(gòu)建主梁的結(jié)構(gòu)力學(xué)模型,如圖6 所示。
圖6 主梁力學(xué)模型簡圖Fig.6 Schematic Diagram of Mechanical Model of Main Girder
定義結(jié)構(gòu)設(shè)計變量為:x1(上下翼緣板厚度),x2(主腹板厚度),x3(副腹板厚度),x4(腹板間距),x5(腹板高度)。
箱型梁截面幾何約束條件為:
強度約束條件為:
式中:M—最危險截面承受的彎矩;y—截面形心與危險點的垂直距離;Ix—箱型梁截面慣性矩[14];[σ]—許用應(yīng)力,[σ]=235/1.48=158.78MPa。
剛度約束條件為:
式中:Yc—集中載荷在跨中時主梁最大變形[14];[Y]—結(jié)構(gòu)許用靜位移,[Y]=L/500。
優(yōu)化設(shè)計目標為在滿足結(jié)構(gòu)強度、剛度約束條件下,結(jié)構(gòu)重量最小,具體表達為截面面積最小,即A 值最小。主梁參數(shù)源自文獻[15],如表 5 所示。
表5 箱型梁工作參數(shù)Tab.5 Operating Parameters of Box Girder
DAFSA 算法在 MATLAB 中運行,參數(shù)設(shè)置:fishnums=100;MAXGEN=1000;delta=0.6;try_number=1;Step=7;Visual=5。運行結(jié)果(圓整后),如表6 所示。經(jīng)代入檢驗,圓整后的結(jié)果滿足幾何約束條件、強度、剛度條件。通過與參考文獻[15]中的數(shù)據(jù)對比,優(yōu)化后截面面積減小5.2%,由此可得出如下結(jié)論:采用DAFSA 算法,在滿足幾何約束條件及強度、剛度約束的條件下,獲得了優(yōu)化的箱型主梁結(jié)構(gòu)。
表6 箱型梁優(yōu)化結(jié)果Tab.6 Optimization Results of Box Girder
(1)算法收斂精度、穩(wěn)定性以及結(jié)果精度在橋式起重機輕量化設(shè)計中具有重要作用,而現(xiàn)有算法在參數(shù)之間相互關(guān)系及早熟現(xiàn)象尚未涉及。針對該問題,提出一種基于嵌入機制的改進人工魚群算法。(2)基于嵌入機制的改進人工魚群算法是以參數(shù)統(tǒng)計分析為基礎(chǔ),設(shè)定步長與視野數(shù)值成反比的條件下,構(gòu)建一種模仿生物視覺特性的步長、視野因子模型,并將差分進化算法中的變異行為作為人工魚群完成覓食、聚群、追尾行為后的干擾行為。經(jīng)測試函數(shù)分析結(jié)果表明DAFSA 在穩(wěn)定性、計算精度與早熟現(xiàn)象改進方面較AFSA 有明顯提升。(3)將上述模型及方法應(yīng)用在50t/22.5m 橋式起重機主梁金屬結(jié)構(gòu)輕量化設(shè)計中,結(jié)果表明在給定約束條件范圍下,對各變量進行合理賦值,最優(yōu)解的計算精度較高,從而驗證了DAFSA 算法的實用性。