?

基于蝙蝠算法的桁架結構優化

2022-12-11 06:31
工程與建設 2022年5期
關鍵詞:測試函數桿件桁架

胡 克

(合肥工業大學 土木與水利工程學院,安徽 合肥 230009)

0 引 言

蝙蝠算法(bat algorithm,BA)是一種基于微型蝙蝠超聲波回音定位特征的新型群體智能優化算法;全世界一共有超過一千種不同類型的蝙蝠,絕大多數蝙蝠都以昆蟲類動物作為食物[1]。它們能夠發出高頻的超聲波脈沖,并聽到從周圍物體反射的回聲。依據回聲定位這種獨特的功能,蝙蝠個體能夠識別不同種類的獵物并判斷距離的遠近;這可以幫助它們更好地捕食獵物和躲避天敵,甚至可以讓它們在黑暗環境中的陡峭懸崖上找到棲生地。近年來,有關蝙蝠算法的研究在工程優化領域中得到了廣泛的應用。賴錦輝[2]采用蝙蝠算法來優化無線傳感器的網絡節點定位,減小了平均定位誤差,提升了定位精度。陳媛媛等[3]在蝙蝠算法中引入萊維飛行策略,再進行離散化改進,并將其用于紅外光譜特征選擇的問題;經實驗發現蝙蝠算法能有效提升波長選擇的準確性和穩定性。李玉虎等[4]將蝙蝠算法與最小二乘法的孿生有界支持向量機相結合,對橋式起重機的主梁進行了輕量化研究。丁芳等[5]利用蝙蝠算法去優化粒子群算法,并對飛機地面的空調系統進行了優化仿真,試驗結果表明溫控系統的動態性能得到了明顯的增強。吳忠強等[6]使用蝙蝠算法去識別永磁同步電機的多個參數,并很好地實現了對電機運作狀態的監控。朱興統[7]采用蝙蝠算法優化相關向量機,然后對軸承故障進行辨析,發現該方法的診斷準確率非常高。李帆等[8]使用離散蝙蝠算法對柔性作業車間調度問題進行優化求解,有效增強了車間的調度水平及精度。杜健健等[9]將蝙蝠算法應用到多種無人機協同偵查的規劃問題當中,并與其他傳統智能算法優化結果進行對比;發現蝙蝠算法穩定性更好,處理速度更快。為了使蝙蝠算法能夠更好地應用到工程優化領域當中,本文先使用單峰和多峰基準測試函數來驗證蝙蝠算法的優化性能;再以空間二十五桿桁架結構作為優化模型進行迭代求解,驗證了蝙蝠算法作為一種高效的群體智能優化算法在多變量離散優化問題中的良好性能。

1 蝙蝠算法簡介

蝙蝠算法是通過觀察自然界中微型蝙蝠發射超聲波的特性進而研究出的一種生物啟發式算法,由學者楊新社于2010年提出[10]。為了將自然界中蝙蝠的生存行為抽象成數學模型,必須設置以下理想化的條件。第一,所有的蝙蝠個體均通過回聲定位的特征去判斷食物和阻礙物體之間的細微差別。第二,蝙蝠以特定速度和固定的頻率進行隨機運動,它們會根據自身與食物的距離大小自動調整超聲頻率。第三,蝙蝠的音量隨迭代次數的增加會逐漸從一個較大的正數過渡到一個較小的正數。在滿足這些假設情況之下,蝙蝠算法的基本執行步驟可描述如下:

首先,在d維搜索空間內以隨機分布的方式產生一組初始解,然后設定以下算法參數的初始值:最大超聲波音量A0、最大脈沖發射率r0、音量衰減因子α、脈沖發射率增強因子γ和頻率系數fi。

fi=fmin+(fmax-fmin)β

(1)

(2)

(3)

式中:fmin和fmax為蝙蝠超聲頻率f的下界和上界,取值分別為0和1,它主要控制蝙蝠移動的步長大??;β為一個服從均勻分布的隨機向量;上標t為當前迭代次數;下標i為蝙蝠個體的編號;x*為當前蝙蝠群體的全局最優位置,它是通過對所有蝙蝠搜索到的解進行比較而得到的坐標值。

對于局部搜索部分,一旦從當前最優解當中選擇了一個解,那么每只蝙蝠都要按照隨機游走的法則產生一個局部新解:

(4)

式中:ε是均勻分布在[-1,1]區間上的一個隨機數;At是所有蝙蝠在同一時間段的平均音量值。另外,蝙蝠群體的音量Ai和脈沖發射率ri將通過下列公式進行迭代更新

(5)

(6)

最后,對種群中所有蝙蝠個體的適應度函數值按照從大到小的順序進行排列以找到全局最優解及其相對應的位置坐標。

2 桁架結構優化

為了驗證蝙蝠算法的準確性和高效性,首先使用測試函數進行性能測試,再以桿件的截面積作為優化變量,分別對十桿平面桁架結構和二十五桿空間桁架結構進行尺寸優化。首先對蝙蝠算法的初始參數,種群規模和總迭代次數進行設定。

蝙蝠算法(BA)的參數大小設置如下:最大超聲響度A0= 0.75;最大脈沖發射率r0= 0.1;音量衰減因子α= 0.9;脈沖發射率增強因子γ= 0.9。蝙蝠種群規模為N=50,最大迭代次數T=500。

2.1 函數算例

為了檢測蝙蝠算法尋優能力的好壞,需要先使用函數算例對蝙蝠算法的收斂精度和抗干擾能力進行測試。本文將分別選取一個單峰基準測試函數和多峰基準測試函數作為算例;對于單峰測試函數,其只有唯一的全局最小值但沒有局部極小值,它主要是用來測試算法的收斂精度。而對于多峰測試函數,其擁有多個局部極小值,尋優較為困難;因此主要用于測試算法的魯棒性強弱。測試函數的名稱、表達式等具體信息見表1。

表1 基準測試函數表

接下來使用蝙蝠算法進行優化;對每個函數都進行30次的獨立實驗,測試結果見表2,表中記錄了測試函數的平均優化精度及算法運行的平均時間。由表2可知,對于Sphere單峰測試函數,蝙蝠算法平均用時為2.851 3 s,平均優化精度達到了7.879 2×10-18;算法精度較高,收斂速度較快;表明該算法收斂能力較強。而對于Alpine多峰測試函數,蝙蝠算法平均用時3.368 1 s,平均精度達到2.491 8×10-10;算法能在較短時間內跳出局部最優解,表明其擁有較強的抗干擾能力。在測試了蝙蝠算法的性能之后,現將該算法應用于桁架結構的尺寸優化中。

表2 函數測試結果

2.2 十桿平面桁架尺寸優化及結果分析

十桿平面桁架結構如圖1所示,圖中標注了該平面桁架的所有桿件編號和節點編號,同時還展現了桁架的尺寸信息。設定組成該平面桁架的所有桿件的彈性模量均是E=68 948 MPa,所有組件材料的密度都為ρ=2.77×10-5kg/mm3,桁架的每個節點在二維平面方向上的最大容許位移均為±50.80 mm。所有桿件的最大容許應力值為±172.37 MPa,再將組成該平面桁架的十根桿件的橫截面積作為優化變量,并對這十組變量按順序進行編號,分別為A1~A10。接下來以該平面桁架的總體質量作為目標函數,其對應著算法中個體粒子的適應度函數值;然后應用蝙蝠算法來求解受位移和應力雙重約束的平面桁架尺寸優化問題。該十桿平面桁架的荷載工況已在圖1中標明;節點2和節點4分別承載著沿Y軸負方向的荷載,其力的大小為P=444.82 kN;將構成平面桁架桿件的橫截面積作為優化變量,這些變量都將從以下離散空間S1中進行選取,其中S1={1 045.16, 1 161.29, 1 283.87, 1 374.19, 1 535.48, 1 690.32, 1 696.77, 1 858.06, 1 890.32, 1 993.54, 2 019.35, 2 180.64, 2 238.71, 2 290.32, 2 341.93, 2 477.41, 2 496.77, 2 503.22, 2 696.77, 2 722.58, 2 896.77, 2 961.28, 3 096.77, 3 206.45, 3 303.22, 3 703.22, 4 658.06, 5141.93, 7 477.40, 8 709.66, 8 967.72, 9 161.27,9 999.98, 10 322.56, 10 903.20, 12 129.01, 12 838.68, 14 193.52, 14 774.16, 17 096.74, 19 354.80, 21 612.86} (mm2)。

圖1 十桿平面桁架

應用蝙蝠算法(BA)對十桿平面桁架進行質量優化,并繪制該桁架結構的質量優化迭代曲線,如圖2所示 其中橫軸表示整體迭代次數,縱軸則代表桁架所有構件的總體質量大小。

圖2 十桿桁架質量優化迭代曲線

由圖2可知,應用蝙蝠算法對十桿平面桁架結構進行優化的過程中間,迭代前期算法收斂很快,表明蝙蝠算法有著較好的收斂能力;同時由迭代曲線圖可知,迭代次數在360代時,曲線達到穩定狀態,表示蝙蝠算法已經收斂完成。另外優化前后各桿件的橫截面積對比,優化前后十桿桁架的質量大小比較及優化前后桁架的最大位移和應力對比見表3。

表3 優化前后桿件橫截面積及平面桁架質量對比

由表3可知,優化前十桿平間桁架的總質量為3 625.09 kg,經優化后桁架的總質量降到了2 500.58 kg,總質量減輕了1 124.51 kg,優化率為31.02%;且優化后桁架在荷載工況下節點的最大位移為50.60 mm,沒有超過最大容許位移;桁架桿件的最大應力為107.61 MPa,也沒有超過最大容許應力。因此,該十桿平面桁架經過蝙蝠算法優化之后,既保證了結構整體的安全性,又極大降低了桁架的總體質量。

2.3 二十五桿空間桁架尺寸優化及結果分析

二十五桿空間桁架結構如圖3所示,圖中展示了該空間桁架的節點編號,不同的桿件編號以及桁架各部分的尺寸數據。假設構成該空間桁架的所有構件的彈性模量均是E=68 948 MPa,并且材料的密度都是ρ=2.77×10-5kg/mm3,所有節點在空間三個維度的方向上受到的位移約束均為±8.89 mm。所有構件的應力約束為±275.79 MPa,現將該桁架結構的二十五根桿件的橫截面積作為自變量,并在圖中以不同的顏色進行區分;將其劃分為8組:① A1;②A2~A5;③A6~A9;④A10~A11;⑤A12~A13;⑥A14~A17;⑦A18~A21;⑧A22~A25。同時以桁架的總質量作為目標函數,使用蝙蝠算法對帶約束條件的空間桁架的質量進行優化。該空間桁架的荷載工況見表4,將桁架的橫截面積作為優化變量,并從以下離散空間S2中進行選取,其中S2={64.52, 129.03, 193.55, 258.06, 322.58, 387.10, 451.61, 516.13, 580.64, 645.16, 709.68, 774.19, 838.71, 903.22, 967.74, 1 032.26, 1 096.77, 1 161.29, 1 225.80, 1 290.32, 1 354.84, 1 419.35, 1 483.87, 1 548.38, 1 677.42, 1 806.45, 1 935.48, 2 064.51, 2 193.54}(mm2)。

圖3 二十五桿空間桁架

表4 二十五桿空間桁架荷載表

使用蝙蝠算法(BA)對二十五桿空間桁架進行質量優化,并記錄該桁架結構的質量優化迭代曲線,如圖4所示;其中橫軸代表總體迭代次數,縱軸代表桁架的質量。另外,優化前后不同組分桿件的橫截面積對比,優化前后該桁架的質量大小比較、優化前后桁架構件的最大位移和應力對比均見表5。

由圖4可知,蝙蝠算法在對二十五桿空間桁架結構進行迭代優化的過程中,其前期收斂速度較快,反映出該優化算法收斂能力較強;同時通過觀察算法的迭代圖像,可以得知蝙蝠算法能夠在較少的步數之內跳出局部最優陷阱,這反映出蝙蝠算法有較好的魯棒性和穩健性。到300代左右迭代曲線達到穩定狀態,表明算法已經完成收斂。

圖4 二十五桿桁架質量優化迭代曲線

表5 優化前后桿件橫截面積及空間桁架質量對比

由表5可知,在優化之前,該二十五桿空間桁架的總體質量是277.92 kg,經過優化之后,桁架的總體質量減輕到了221.08 kg,總質量減輕了56.84 kg,優化率為20.45%;且優化之后桁架在承受外力荷載時節點的最大位移為8.88 mm,雖很接近位移限制邊界但仍在容許位移范圍之內;桁架內部桿件的最大應力為64.49 MPa,沒有超過最大容許應力。因此,該二十五桿空間桁架經過蝙蝠算法優化之后,在保證了結構的安全性和穩定性的前提下,又大大降低了桁架的整體質量,達到了桁架輕量化的目的。

3 結束語

本文使用蝙蝠算法對十桿平面桁架和二十五桿空間桁架結構的構件進行了截面尺寸優化,經過程序計算,其結果表明,蝙蝠算法收斂速度較快,優化效果顯著,優化效率較高。通過對平面和空間桁架算例的探究和分析,驗證了蝙蝠算法作為一種性能優良的群體智能算法,在針對受位移約束和應力約束條件下的多變量離散化桁架優化問題方面的有效性。進一步的研究工作是將蝙蝠算法應用于更復雜的實際工程桁架優化問題,以實現更多結構的輕量化和省材節能的目標。

猜你喜歡
測試函數桿件桁架
解信賴域子問題的多折線算法
一種基于精英選擇和反向學習的分布估計算法
基于結構設計競賽的紙質桿件極限承載力影響因子分析
關于鋼結構桁架安裝施工工藝的研究
某大型鋼結構廠房桁架制作
僅考慮自重的細長受彎構件是否需滿足長細比要求的研究
基于自適應調整權重和搜索策略的鯨魚優化算法
空間桁架桿件與球節點的機器人雙臂柔順裝配
市政工程冬季施工桁架暖棚安裝與耗熱計算
不同桁架形式的性能比較
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合