靳通通,吳淑芳,李 松,王騰飛
(1.中北大學(xué)機械工程學(xué)院,山西 太原 030051)(2.山西省起重機數(shù)字化設(shè)計工程技術(shù)研究中心,山西 太原 030051)
主梁是橋式起重機的主要承重部件,其結(jié)構(gòu)輕量化及拓撲優(yōu)化是比較熱門的研究方向。李志雄等[1]采用改進的人工蜂群算法對主梁進行輕量化設(shè)計,朱學(xué)敏[2]使用免疫蟻群算法進行了主梁的拓撲優(yōu)化研究。目前起重機主梁輕量化問題還沒有公認的解決方案,因此需要進一步對主梁的輕量化問題進行探討。
隨機蛙跳算法(shuffled frog leaping algorithm , SFLA)是一種綜合了多種其他智能算法思想的新型亞啟發(fā)式算法。2003年,Eusuff等[3]在解決資源網(wǎng)絡(luò)優(yōu)化問題時首次應(yīng)用了隨機蛙跳算法。由于SFLA具有容易理解、易于實現(xiàn)、尋優(yōu)能力均衡等特點,因此對其進行改進研究和應(yīng)用已成為學(xué)術(shù)界的熱點問題。孫沖[4]把量子算法的思想引入到SFLA中,發(fā)展出了一種全新的量子蛙跳算法。姚應(yīng)龍[5]使用加速和老化機制改善SFLA,得到了較好的優(yōu)化效果。目前對于SFLA的研究與應(yīng)用主要集中在控制器參數(shù)調(diào)節(jié)問題、聚類問題及離散優(yōu)化問題等,較少涉及到結(jié)合工程實際的函數(shù)尋優(yōu)問題。在理論上,SFLA同樣適用于工程實際中的函數(shù)尋優(yōu),值得進一步討論。
主梁輕量化問題實際上就是帶約束的函數(shù)尋優(yōu)問題。本文針對SFLA解決帶約束的函數(shù)尋優(yōu)問題時,局部探索能力變差、優(yōu)化結(jié)果不理想、收斂慢等缺點進行了兩方面的改進,并把改進后的SFLA引入到橋式起重機主梁輕量化問題中,驗證算法改進后的實際性能。
隨機蛙跳算法模擬了青蛙在濕地中跳動覓食的行為,每個青蛙可以看作一個解,而濕地看作是給定的解搜索空間。
一群青蛙被分成多個族群,在每個族群中進行局部搜索:族群中的青蛙依照制定的進化搜索策略,找到組內(nèi)最好與最差的青蛙個體,對最差的青蛙用類似粒子群算法的進化方法進行位置調(diào)整,將位置調(diào)整視為一次跳躍[6]。
局部搜索達到一定的次數(shù)后,采用聯(lián)合體進化算法進行族群混合(即族群間的思想交流),局部搜索和族群混合的過程循環(huán)進行,直到滿足結(jié)束條件[6]。全局性的思想交流與局部的進化搜索相結(jié)合,使得SFLA具有較強的調(diào)節(jié)性和擴展性。
設(shè)共有F個青蛙,表示為X(1),X(2),…,X(F)。第i只青蛙用向量X(i)=(X1,X2, …,XL)表示,L代表每只青蛙的信息元素個數(shù)。在尋優(yōu)問題中,尋找使得目標函數(shù)值最小的解。
1.2.1評價值函數(shù)的改進
采取一種新的方法來計算每只蛙的評價值,X(i)的評價值evali為
(1)
式中:f[X(i)]為X(i)對應(yīng)的函數(shù)值;T為一個可調(diào)的系數(shù),T>0。
式(1)建立了每只蛙的評價值與其目標函數(shù)值的一一對應(yīng)關(guān)系,而且函數(shù)值越小對應(yīng)的評價值就越大。算法運行過程中,由于函數(shù)值變化可能較大,既有可能出現(xiàn)過早收斂,也有可能后期收斂速度太慢。式(1)中通過調(diào)節(jié)T的大小,可以合理控制評價值的相對大小,避免上述不利情況發(fā)生。
1.2.2蛙跳方式的改進
設(shè)Xb和Xw為族群中的最優(yōu)蛙和最差蛙,接下來進行局部進化以更新最差蛙Xw的位置。在標準的SFLA中蛙跳方式[6](即最差蛙更新方式)如式(2)和式(3)所示:
S=rand·(Xb-Xw)
(2)
(3)
上述的蛙跳方式會使得最差蛙更新后的位置處于原來的最差位置與和最優(yōu)位置之間,這樣就限制了蛙跳的范圍,容易導(dǎo)致收斂變慢或者早熟,因此將式(2)做如下改進:
S=C·rand·(Xb-Xw)
(4)
式中:C為大于1的常數(shù),但是C不能設(shè)置得過大。
考慮到每一只青蛙在覓食過程中都有停留在當(dāng)前位置的可能,因此通過運動慣性來描述這種現(xiàn)象,將式(4)中的蛙跳步長做進一步改進:
S(k)=w·S(k-1)+C·rand·(Xb-Xw)
(5)
式中:S(k)為以k為變量的跳躍步長;k為迭代次數(shù);w為運動慣性的權(quán)重系數(shù),w越大全局搜索能力越強,w越小局部搜索能力越強。在局部搜索開始時將w設(shè)置成較大值,然后逐漸減小它,進而找到最佳值。加入運動慣性雖然會使收斂速度略微降低,但是會使得搜索過程更加平穩(wěn),可以提高全局搜索能力。
1)初始化各個參數(shù)。
2)在給定的約束條件下,隨機生成F個青蛙作為初始蛙群, 表示為X(1),X(2),…,X(F)。按照式(1)計算各個青蛙的評價值evali。
3)將F個青蛙按評價值大小降序排列,記錄最優(yōu)蛙位置Px=X(1)。將蛙群數(shù)組X分成m個族群,記為Y1,Y2,…,Ym。每個族群包含n只蛙,第1個蛙進入Y1族群,第2個蛙進入Y2族群,…,第m個蛙進入Ym,第(m+1)個蛙進入Y1族群,…直至所有蛙進入指定族群[7]。
4)在每個族群進行局部搜索。
①設(shè)im=0,im為族群計數(shù)器,上限為m;設(shè)iN=0,iN是局部進化的計數(shù)器,上限設(shè)為LS。
②記錄當(dāng)前族群的最優(yōu)蛙Xb和最差蛙為Xw,im=im+1。
④如果步驟③沒有改進最差蛙的位置,則在濕地中隨機產(chǎn)生任意位置的蛙,取代最差蛙,并驗證更新后的位置是否滿足約束條件,如不滿足轉(zhuǎn)到步驟③。
⑤若iN ⑥若im 5)每個族群進行過一輪局部搜索后,將各個族群中的蛙重新混合并排序,再生成新的族群,記錄此時最優(yōu)蛙位置Px。 6)如果滿足算法終止條件,即停止算法,否則轉(zhuǎn)到步驟4)。 尋優(yōu)問題中的主梁屬于箱型梁,主要由蓋板、腹板以及若干筋板組合而成。主梁的質(zhì)量為這些結(jié)構(gòu)的質(zhì)量之和,本文將主梁簡化為等截面梁,且忽略筋板,那么主梁截面面積與主梁的質(zhì)量成正比。主梁截面形狀如圖1所示。 x1—腹板高度;x2—副腹板厚度;x3—上下蓋板厚度;x4—上下蓋板的寬度;x5—主腹板厚度 本文以某公司使用的32t-25.5m-10m的雙梁小車式橋式起重機的半偏軌式箱型主梁結(jié)構(gòu)為研究對象,工作級別為A6。設(shè)定變量參數(shù)選取范圍見表1。 表1 變量參數(shù)選取范圍 mm 1)主梁優(yōu)化目標函數(shù)。 設(shè)定截面面積為優(yōu)化目標,其數(shù)學(xué)表達式為: minf(x)=x1(x2+x5)+2x3x4 (6) 2)約束條件的確定。 以國標GB/T 3811—2008[8]與《起重機設(shè)計手冊》[9]的相關(guān)要求為依據(jù),確定箱梁結(jié)構(gòu)輕量化設(shè)計中的約束條件包括強度約束、剛度約束、疲勞約束和穩(wěn)定性校核等。 選取遺傳算法(GA)、SFLA算法與改進后的SFLA算法進行尋優(yōu)問題的對比分析。設(shè)定迭代次數(shù)最大為300。對于遺傳算法把種群規(guī)模設(shè)為300;SFLA算法和改進后的SFLA算法中,令m=20,n=15,故初始蛙群個數(shù)F=300。根據(jù)這3種算法編制MATLAB程序,運行MATLAB程序40次,隨機選取其中一次運行結(jié)果,得到尋優(yōu)曲線如圖2所示。 圖2 不同算法尋優(yōu)曲線 由圖可知,SFLA算法和改進SFLA算法明顯比GA算法優(yōu)化結(jié)果好。SFLA算法在260代左右才收斂,收斂速度慢,運算過程中容易出現(xiàn)停滯現(xiàn)象。改進后的SFLA算法在140代實現(xiàn)了收斂,且最終優(yōu)化結(jié)果好于未改進的SFLA算法,優(yōu)化過程是三者中最為平穩(wěn)的,另外兩者都容易出現(xiàn)不同程度的停滯現(xiàn)象。在40次測試中,改進后的SFLA算法優(yōu)化結(jié)果穩(wěn)定,而SFLA算法與GA算法的優(yōu)化結(jié)果經(jīng)常出現(xiàn)波動。 保留優(yōu)化程序運行40次后的最佳優(yōu)化數(shù)據(jù),得到GA算法、SFLA算法和改進后的SFLA算法的最優(yōu)解見表2,其中f(x)為目標函數(shù)。 表2 3種算法最優(yōu)解對比 為了便于制造,腹板厚度和蓋板厚度一般要取整數(shù),腹板高度和蓋板寬度一般取10mm的整數(shù)倍。主梁的初始數(shù)據(jù)和經(jīng)過圓整處理后的最佳優(yōu)化數(shù)據(jù)見表3。 表3 不同優(yōu)化方案的數(shù)據(jù)對比表 由表可知,箱型梁截面積最小化的尋優(yōu)過程中,使用改進SFLA算法得到了最好的優(yōu)化結(jié)果,截面面積比初始值減少了17.30%,進一步計算可知,比GA算法減少了4.91%,比SFLA算法減少了1.03%。 依據(jù)改進SFLA算法的優(yōu)化結(jié)果設(shè)計出主梁的三維模型,并將建好的模型導(dǎo)入ANSYS Workbench中進行處理。主梁材料設(shè)置為Q235,選取100mm大小的六面體網(wǎng)格單元對主梁進行網(wǎng)格劃分,劃分得到61 340個節(jié)點,36 870個單元。 使用ANSYS Workbench分析當(dāng)小車處于主梁跨中位置且起重機滿載時的工況,主梁一端固定,一端簡支。經(jīng)過軟件求解得到主梁的應(yīng)力云圖和變形云圖如圖3,4所示。 由圖3可知,由起重機滿載載荷引起的主梁最大應(yīng)力為116.26MPa。已知材料為Q235,起重機的工作級別為A6,其許用應(yīng)力為[σ]=135.66MPa。由此可知,主梁最大應(yīng)力小于許用應(yīng)力,滿足應(yīng)力要求。由圖4可知,主梁的跨中位置變形最大,最大的變形量為13.837mm,而許用垂直靜剛度為[f]=31.875mm,由此可知,最大變形量小于許用垂直靜剛度,符合靜剛度要求。 圖3 主梁應(yīng)力云圖 圖4 主梁變形云圖 本文對SFLA算法進行了兩點針對性改進,將GA算法、SFLA算法與改進后的SFLA算法都引入到主梁輕量化問題中,通過起重機主梁的具體優(yōu)化實例證明了改進后的SFLA算法在收斂速度和優(yōu)化結(jié)果兩方面都優(yōu)于其他兩種算法。通過靜力學(xué)分析可知,采用改進SFLA算法優(yōu)化后的主梁結(jié)構(gòu)符合剛度和應(yīng)力約束條件,驗證了用改進SFLA算法解決箱型梁輕量化問題的可行性。2 橋式起重機主梁輕量化的數(shù)學(xué)模型
3 實例驗證
3.1 實例分析
3.2 優(yōu)化結(jié)構(gòu)靜力學(xué)驗證
4 結(jié)束語