王勇
摘 要:本文使用粒子群算法(Particle Swarm Optimization,以下簡稱PSO算法),利用Matlab編制優(yōu)化程序,通過調(diào)用APDL編制儲(chǔ)罐的有限元模型完成結(jié)構(gòu)分析計(jì)算,實(shí)現(xiàn)對(duì)大型立式鋼結(jié)構(gòu)儲(chǔ)罐的優(yōu)化設(shè)計(jì)。 本文所提的算法對(duì)實(shí)際工程有一定的參考意義,為復(fù)雜結(jié)構(gòu)的優(yōu)化設(shè)計(jì)提供了一種新的思路。
關(guān)鍵詞:粒子群(PSO)算法; 立式儲(chǔ)罐 ;優(yōu)化設(shè)計(jì) ; Matlab ; APDL
目前PSO算法已經(jīng)在很多領(lǐng)域內(nèi)得到廣泛使用,算法具有很好的收斂性,能夠快速實(shí)現(xiàn)優(yōu)化目的。但在結(jié)構(gòu)設(shè)計(jì)領(lǐng)域主要還是針對(duì)桁架等結(jié)構(gòu)進(jìn)行優(yōu)化設(shè)計(jì),主要是因?yàn)槟壳暗慕Y(jié)構(gòu)分析模型是通過Matlab等軟件編程實(shí)現(xiàn),對(duì)于桁架結(jié)構(gòu)容易實(shí)現(xiàn),但對(duì)于復(fù)雜的結(jié)構(gòu)模型利用Matlab編程進(jìn)行分析計(jì)算將耗費(fèi)大量的精力,因此很大程度上限制了該類方法在實(shí)際工程中的應(yīng)用。然而設(shè)計(jì)過程中使用的很多結(jié)構(gòu)分析軟件都可以參數(shù)化輸入輸出,優(yōu)化過程中可以調(diào)用該類結(jié)構(gòu)設(shè)計(jì)軟件進(jìn)行計(jì)算分析。本文通過在實(shí)際工程設(shè)計(jì)中使用該算法,實(shí)現(xiàn)立式儲(chǔ)罐優(yōu)化設(shè)計(jì),提出一種新的結(jié)構(gòu)優(yōu)化設(shè)計(jì)思路。
利用ANSYS參數(shù)化語言APDL編制儲(chǔ)罐的有限元模型完成結(jié)構(gòu)分析計(jì)算,從而將PSO算法推廣到復(fù)雜結(jié)構(gòu)設(shè)計(jì),實(shí)現(xiàn)復(fù)雜結(jié)構(gòu)的優(yōu)化設(shè)計(jì)。
1粒子群優(yōu)化(PSO)算法
PSO算法源于對(duì)鳥群捕食的行為的仿生研究,同遺傳算法類似,是一種基于迭代的優(yōu)化工具。系統(tǒng)初始化一組隨機(jī)解,通過一定的機(jī)制迭代搜尋最優(yōu)值。每個(gè)粒子均含相同維數(shù)的優(yōu)化設(shè)計(jì)變量,由目標(biāo)函數(shù)值決定該粒子的優(yōu)劣,目標(biāo)函數(shù)為包含各設(shè)計(jì)變量的函數(shù),迭代過程中粒子通過跟蹤兩個(gè)"極值"進(jìn)行更新。一個(gè)是粒子本身所找到的最優(yōu)解,這個(gè)解叫做個(gè)體極值。另一個(gè)極值是整個(gè)種群當(dāng)前找到的最優(yōu)解,即全局極值。
粒子根據(jù)如下的公式來更新自己的速度和新的位置:
(式-1)
(式-2)
[v]——粒子的速度,[x]——當(dāng)前粒子的位置,,分別代表該粒子及粒子群中當(dāng)前最佳粒子位置,t為粒子進(jìn)化代數(shù), 為加速度常數(shù), 為服從[ 0 , 1] 上相互獨(dú)立均勻分布的隨機(jī)數(shù)。
圖1 粒子位置更新示意圖
2優(yōu)化數(shù)值模型
罐體體積為:
(式-3)
罐壁沿豎向高度劃為10個(gè)等高段:
(式-4)
(式-5)
2.1 設(shè)計(jì)變量:
設(shè)計(jì)變量:
——各層板板厚
——罐體的半徑
2.2 目標(biāo)函數(shù):
在給定體積的前提下選擇最優(yōu)化的儲(chǔ)罐半徑及罐壁厚度,使得罐壁的總質(zhì)量最輕:
(式-6)
——儲(chǔ)罐罐壁總質(zhì)量
2.3 約束函數(shù):
(式-7)
上式中:
——最大的拉應(yīng)力值
[]——鋼板的許用應(yīng)力
、——儲(chǔ)罐最小及最大半徑;、——板最小及最大厚度。
3儲(chǔ)罐結(jié)構(gòu)模型
APDL為ANSYS參數(shù)化設(shè)計(jì)語言的簡稱,利用APDL編制儲(chǔ)罐結(jié)構(gòu)參數(shù)化計(jì)算模型,各層板厚以及儲(chǔ)罐半徑為優(yōu)化設(shè)計(jì)變量,參數(shù)化建模并對(duì)模型施加荷載及位移約束。結(jié)構(gòu)分析完成后,自動(dòng)提取各層板最大拉應(yīng)力。
儲(chǔ)液壓力與側(cè)壁高度函數(shù)關(guān)系為:
(式-8)
——儲(chǔ)液測壓
——罐壁沿高度方向值
——儲(chǔ)液密度
4 PSO算法流程
利用Matlab編制PSO算法的優(yōu)化程序,優(yōu)化流程圖見下圖2。
優(yōu)化程序開始運(yùn)行時(shí),要求根據(jù)初始定義輸入粒子群的種群數(shù)量,最大停止迭代次數(shù)及加速度項(xiàng)取值。程序自動(dòng)給每個(gè)粒子隨機(jī)賦予一組設(shè)計(jì)變量,設(shè)計(jì)變量存儲(chǔ)在一個(gè)可供ANSYS調(diào)用的文件中,ANSYS運(yùn)行時(shí)調(diào)用該文件,按照該設(shè)計(jì)變量值建模計(jì)算,分析完成后自動(dòng)提取狀態(tài)變量值(如各層板處應(yīng)力最大值),將輸出也另存為一個(gè)可供Matlab能調(diào)用的文件,用于PSO優(yōu)化設(shè)計(jì)中判斷是否滿足約束條件。不滿足約束條件時(shí),對(duì)該組變量下的目標(biāo)函數(shù)增加一個(gè)很大的懲罰值,經(jīng)過一定次數(shù)的迭代,粒子會(huì)自動(dòng)的飛離不滿足約束條件的區(qū)域,并尋找得到最優(yōu)結(jié)果。
5優(yōu)化結(jié)果
粒子總數(shù),最大終止迭代次數(shù),板厚最小值為6mm,儲(chǔ)罐半徑最大值為1500mm。
圖中Y軸為目標(biāo)函數(shù)值,即儲(chǔ)罐罐壁質(zhì)量,X軸為迭代次數(shù)。不同顏色曲線分別代表連續(xù)5次優(yōu)化的收斂曲線。
6結(jié)語
PSO作為鳥群覓食行為的啟發(fā)下提出的一種基于隨機(jī)優(yōu)化技術(shù)的群智能算法,原理簡單, 算法上易于實(shí)現(xiàn),易于收斂,算法穩(wěn)定性高。筆者曾利用此算法對(duì)桁架結(jié)構(gòu)的截面、形狀進(jìn)行優(yōu)化,因?yàn)殍旒芙Y(jié)構(gòu)計(jì)算程序可以很方便的通過Matlab編制,但對(duì)于復(fù)雜結(jié)構(gòu)卻無能為力,本文利用通用有限元軟件ANSYS的APDL語言參數(shù)化建模,進(jìn)行結(jié)構(gòu)計(jì)算,從而將PSO算法優(yōu)化推廣到復(fù)雜結(jié)構(gòu)的優(yōu)化設(shè)計(jì)。
參考文獻(xiàn):
[1] 夏桂梅,曾建潮.微粒群算法的研究現(xiàn)狀及發(fā)展趨勢[J].山西師范大學(xué)學(xué)報(bào): 自然科學(xué)版.2005(01):23-25.
[2] 趙國華,李振華,崔炳喆.基于混合粒子群算法的陣列方向圖綜合技術(shù)[J].電子設(shè)計(jì)工程.2015(23):158-160.