王 琦 饒碧波 王源博 李 應(yīng)
南昌航空大學(xué),南昌,330063
桁架(多桿)結(jié)構(gòu)被廣泛用于飛機(jī)、汽車等結(jié)構(gòu)設(shè)計(jì)中。特別是在飛機(jī)結(jié)構(gòu)設(shè)計(jì)中,除滿足強(qiáng)度、剛度和可靠性要求外,還力求結(jié)構(gòu)質(zhì)量最?。?]。拓?fù)鋬?yōu)化是結(jié)構(gòu)設(shè)計(jì)的一種常用方法。對于1975年美國密西根大學(xué)Holland教授提出的遺傳算法(genetic algorithm,GA)[2],多數(shù)研究者將工作重點(diǎn)置于改進(jìn)簡單遺傳算法或?qū)⑵渑c其他算法混合后運(yùn)用到實(shí)際工程優(yōu)化問題中去。如,浙江工業(yè)大學(xué)的范佳靜等[3]將改進(jìn)遺傳算法用于制造單元模型的優(yōu)化求解;合肥工業(yè)大學(xué)的許聞清等[4]運(yùn)用改進(jìn)的遺傳模擬退火算法求解動(dòng)力總成懸置系統(tǒng)的優(yōu)化設(shè)計(jì);許素強(qiáng)等[5]在國內(nèi)首次運(yùn)用遺傳算法解決桁架結(jié)構(gòu)的拓?fù)鋬?yōu)化;唐文艷等[6]和黃冀卓等[7]分別在ε-松弛技術(shù)和結(jié)構(gòu)有限元分析的基礎(chǔ)上,引入新型拓?fù)渥兞?,改造拓?fù)淠P?,運(yùn)用改進(jìn)遺傳算法進(jìn)行桁架拓?fù)鋬?yōu)化,大大提高了優(yōu)化精度。張喜清等[8]采用有限元分析方法對變速箱箱體減重問題進(jìn)行了拓?fù)鋬?yōu)化;趙龍彪等[9]將基于比例微分控制思想的優(yōu)化準(zhǔn)則運(yùn)用到拓?fù)鋬?yōu)化中,取得了良好的效果。簡單遺傳算法的工程應(yīng)用目前存在的問題是:早熟或難以收斂,難以求解復(fù)雜的約束優(yōu)化問題[2,10-11]等。具體到結(jié)構(gòu)優(yōu)化方面,還存在以下問題:當(dāng)處理約束問題時(shí),優(yōu)化效果常受制于優(yōu)化模型及罰函數(shù)參數(shù)(罰參數(shù))的設(shè)計(jì)[5,7,10-11];另外,設(shè)計(jì)變量和結(jié)構(gòu)分析次數(shù)增多,將降低遺傳算法的收斂速度,且其時(shí)間復(fù)雜度也是一個(gè)有待解決的問題。為提高遺傳算法的應(yīng)用效率,本文將簡單遺傳算法加以若干改進(jìn),提出分段遺傳算法,并通過桁架結(jié)構(gòu)拓?fù)鋬?yōu)化的算例,驗(yàn)證了改進(jìn)算法的可行性和有效性。
分段遺傳算法將遺傳算法的運(yùn)行過程分為“粗搜”和“精搜”兩個(gè)階段,其程序流程如圖1所示。
圖1中,把初始種群中適應(yīng)度最高的一個(gè)個(gè)體作為最優(yōu)個(gè)體進(jìn)行保留,對剩余的2K個(gè)個(gè)體進(jìn)行遺傳操作[2],產(chǎn)生新一代種群。
1.1.1 個(gè)體適應(yīng)度最佳保留原則
圖1 分段遺傳算法程序流程
(1)若新一代種群中的最優(yōu)個(gè)體優(yōu)于上一代種群中的最優(yōu)個(gè)體,但上一代種群中的最優(yōu)個(gè)體又優(yōu)于新種群中適應(yīng)度最差的個(gè)體,則保留新一代種群中的最優(yōu)個(gè)體,并用上一代種群中的最優(yōu)個(gè)體替換新種群中適應(yīng)度最差的個(gè)體,連同其他新個(gè)體參與下一輪遺傳操作。反之,若上一代種群的最優(yōu)個(gè)體不優(yōu)于新種群中適應(yīng)度最差的個(gè)體,則不作替換,保留新一代最優(yōu)個(gè)體,剩余新個(gè)體參與下一輪遺傳操作。
(2)若新一代種群中的最優(yōu)個(gè)體不優(yōu)于上一代種群中的最優(yōu)個(gè)體,則上一代種群中的最優(yōu)個(gè)體仍然保留,全部新個(gè)體參與下一輪遺傳操作。
1.1.2 “粗搜”階段
(1)均勻交叉:兩個(gè)配對個(gè)體每個(gè)基因座上的基因都以相同的交叉概率進(jìn)行交換。
(2)均勻變異:以某一較小變異概率改變個(gè)體每個(gè)基因座上的原有基因值。上述Pc和Pm的取值與個(gè)體適應(yīng)度的關(guān)系分別如圖2和圖3所示。
圖2 自適應(yīng)交叉概率
在圖2和圖3中,fmin為某一代種群中個(gè)體的最小適應(yīng)度值;favg為某一代種群的平均適應(yīng)度值;f為某一代種群中某個(gè)個(gè)體的適應(yīng)度值;fmax為某一代種群中個(gè)體的最大適應(yīng)度值。
計(jì)算交叉概率Pc及變異概率Pm的表達(dá)式為
圖3 自適應(yīng)變異概率
其中,P0、P2、P′0、P′2之取值,視適應(yīng)度函數(shù)及其尺度變換的具體情況而定,但在多數(shù)情況下,它們的經(jīng)驗(yàn)參考值分別是:P0=0.9,P2=0.6,P′0=0.1,P′2=0.001[8]。
當(dāng)新種群的平均適應(yīng)度等于上一代種群的平均適應(yīng)度時(shí),則新一代種群進(jìn)入“精搜”階段。
1.1.3 “精搜”階段
(1)單點(diǎn)交叉:交換交叉點(diǎn)右邊的部分基因。
(2)高斯近似變異:用正態(tài)分布的一個(gè)隨機(jī)數(shù)來替換原有的基因值。
在算法運(yùn)行的前期,均勻交叉和均勻變異易于使個(gè)體位置靠前的部分基因得到調(diào)整,搜索范圍迅速擴(kuò)大,故可稱為“粗搜”;在后期,單點(diǎn)交叉和高斯近似變異又易于保護(hù)個(gè)體位置靠前的部分基因不受破壞,使得搜索能控制在一定范圍內(nèi),故稱為“精搜”。一般連續(xù)函數(shù)極值點(diǎn)附近點(diǎn)的函數(shù)值普遍大(小)于定義域內(nèi)其他點(diǎn)的函數(shù)值。由此可知:如果算法在“粗搜”階段找到一個(gè)平均適應(yīng)度最高的種群點(diǎn),則全局最優(yōu)解就應(yīng)在該種群點(diǎn)附近或其中。本文1.1節(jié)所設(shè)計(jì)的最優(yōu)個(gè)體保留及Pc和Pm的自適應(yīng)設(shè)置,不僅可使迭代中出現(xiàn)的最優(yōu)值得以保留不致丟失,而且能在加快收斂速度的前提下,基本保證平均適應(yīng)度達(dá)到最大值之前,各代種群的平均適應(yīng)度逐代增大,而一旦某代種群的平均適應(yīng)度等于它前一代種群的平均適應(yīng)度,則表明該代種群的平均適應(yīng)度已經(jīng)達(dá)到最大值。以此作為“粗搜”階段結(jié)束的判定條件。這樣設(shè)立的判定條件,不僅可以避免設(shè)定閾值時(shí)的繁瑣試驗(yàn)過程,而且對于不同的優(yōu)化問題具有一定的通用性。以該平均適應(yīng)度達(dá)到最大值的種群點(diǎn)為操作對象,進(jìn)入“精搜”階段,調(diào)整交叉、變異類的各種相關(guān)遺傳操作因子,轉(zhuǎn)入局部區(qū)域重點(diǎn)搜索,最終快速找到全局最優(yōu)解。
一般情況下,帶約束非線性規(guī)劃問題的數(shù)學(xué)模型為
其中,g(x)= (g1(x),g2(x),…,gm(x)),j=1,2,…,m。對可行域S={x|gj(x)≤0}引入外點(diǎn)懲罰函數(shù):
在選區(qū)內(nèi)構(gòu)造一個(gè)單調(diào)遞增且趨于無窮的罰因子列:0<M1<M2<…<Mk<…,構(gòu)成一系列無約束非線性規(guī)劃問題:
從而將原帶約束非線性規(guī)劃問題轉(zhuǎn)化為一系列無約束非線性規(guī)劃問題。
一般地,拓?fù)鋬?yōu)化的數(shù)學(xué)模型(TP)為[5]:
式中,Ai、ρi、Li分別為第i桿之截面積、密度和桿長,其中,Ai為截面積設(shè)計(jì)變量;n為桿件總數(shù);m為節(jié)點(diǎn)總數(shù);p為載荷總數(shù);ND為結(jié)構(gòu)維數(shù),即2或3;σi為第i桿之許用應(yīng)力值為第j節(jié)點(diǎn)在i方向的允許位移值。
在上述模型中,式(7)和式(8)為約束條件。對拓?fù)鋬?yōu)化而言,一般允許截面積為零,此時(shí),相應(yīng)地取消應(yīng)力約束。同理,當(dāng)連接某節(jié)點(diǎn)的各桿截面積均為零時(shí),該節(jié)點(diǎn)的位移約束也應(yīng)取消。
力與位移約束,其分段形式為
綜上,可用外點(diǎn)罰函數(shù)法將原問題(TP)轉(zhuǎn)化為遺傳算法(GA)所要求的形式,即
式中,Mσ、Mu分別為應(yīng)力約束罰參數(shù)和位移約束罰參數(shù)。
選用3個(gè)桁架結(jié)構(gòu)拓?fù)鋬?yōu)化作為算例,對上述拓?fù)淠P?,分別用簡單遺傳算法與分段遺傳算法進(jìn)行求解。
2.3.1 九桿結(jié)構(gòu)
九桿結(jié)構(gòu)如圖4所示,有5個(gè)節(jié)點(diǎn),9根桿件,同時(shí)有應(yīng)力、位移兩種約束。各桿參數(shù)值為:彈性模量E=29GPa,密度ρ=0.83g/mm3,許用應(yīng)力取值分別是:-18MPa≤≤20MPa(i=1,2,9),-12MPa ≤≤ 20MPa(其 余),uji=±1.5mm(i=2,4,5;j=1,2)。在節(jié)點(diǎn)4處,有一載荷Px,取值為100N,在節(jié)點(diǎn)2處,有一載荷Py,取值為-100N;變量鏈化關(guān)系為:A1=A2,A3=A4,A5=A6,A7=A8。
圖4 九桿結(jié)構(gòu)
在應(yīng)用簡單遺傳算法進(jìn)行優(yōu)化時(shí),各參數(shù)設(shè)置為:Mσ=2000,Mu=1,種群尺度SP=50,Pc=0.9,Pm=0.005,終止代數(shù)T=100。使用分段遺傳算法進(jìn)行優(yōu)化時(shí),除保留Mσ=2000、Mu=1、T=100外,其余參數(shù)設(shè)置調(diào)整為:SP=51,Pc及Pm按式(1)和式(2)進(jìn)行自適應(yīng)設(shè)置。運(yùn)用2種算法對九桿結(jié)構(gòu)進(jìn)行優(yōu)化,優(yōu)化拓?fù)淙鐖D5所示,所得數(shù)據(jù)見表1,其進(jìn)化曲線如圖6所示。
圖5 九桿結(jié)構(gòu)優(yōu)化拓?fù)?/p>
表1 九桿結(jié)構(gòu)優(yōu)化數(shù)據(jù)
圖6 九桿結(jié)構(gòu)進(jìn)化圖
2.3.2 十桿結(jié)構(gòu)
圖7所示為十桿結(jié)構(gòu),該結(jié)構(gòu)有6個(gè)節(jié)點(diǎn)、10根桿件,即有10個(gè)獨(dú)立的設(shè)計(jì)變量。對于全部桿件有:E=10TPa,ρ=0.1g/mm3=±25GPa。在節(jié)點(diǎn)2和節(jié)點(diǎn)4上各有一個(gè)向下的載荷P,取值為100N;節(jié)點(diǎn)1、2、3、4的ui=±2mm(i=1,2,3,4)。
運(yùn)用簡單遺傳算法優(yōu)化時(shí)的控制參數(shù)為:Mσ=1000,Mu=1,SP=50,Pc=1.0,Pm=0.01,T=100。使用分段遺傳算法進(jìn)行優(yōu)化時(shí),除保留Mσ=1000、Mu=1、T=100外,其余參數(shù)設(shè)置與2.3.1節(jié)相同。運(yùn)用2種算法對十桿基礎(chǔ)結(jié)構(gòu)進(jìn)行優(yōu)化,優(yōu)化拓?fù)淙鐖D8所示,所得數(shù)據(jù)見表2,進(jìn)化曲線如圖9所示。
圖7 十桿結(jié)構(gòu)
圖8 十桿結(jié)構(gòu)優(yōu)化拓?fù)?/p>
表2 十桿結(jié)構(gòu)優(yōu)化數(shù)據(jù)
圖9 十桿結(jié)構(gòu)進(jìn)化圖
2.3.3 七十二桿結(jié)構(gòu)
七十二桿空間桁架為一塔架結(jié)構(gòu),共有72根桿件,20個(gè)節(jié)點(diǎn),如圖10所示。對于全部桿件有:E=10TPa,ρ=0.1g/mm3,σi=±25GPa。位移約束為塔頂4個(gè)節(jié)點(diǎn)在空間三坐標(biāo)方向的位移值不得超過±0.25mm,各桿件的截面積最小值為0.1mm2。
由于結(jié)構(gòu)對稱,可將整個(gè)結(jié)構(gòu)分為4層,每層可分為4組,共16組,因此,72根桿件可設(shè)置為16個(gè)設(shè)計(jì)變量。頂層桿件的分組情況見表3。該結(jié)構(gòu)受到2個(gè)工況載荷,見表4。
圖10 七十二桿結(jié)構(gòu)
表3 七十二桿結(jié)構(gòu)頂層桿分組情況
表4 七十二桿結(jié)構(gòu)工況荷載情況
運(yùn)用簡單遺傳算法優(yōu)化時(shí)的控制參數(shù)為:Mσ=1000,Mu=1,SP=50,Pc=1.0,Pm=0.01,T=200。在使用分段遺傳算法進(jìn)行優(yōu)化時(shí),除保留Mσ=1000、Mu=1、T=200外,其余參數(shù)設(shè)置與2.3.1節(jié)相同。運(yùn)用2種算法對七十二桿結(jié)構(gòu)進(jìn)行優(yōu)化,結(jié)構(gòu)優(yōu)化拓?fù)淙鐖D11所示。所得數(shù)據(jù)見表5和表6。進(jìn)化曲線如圖12所示。
圖11 七十二桿結(jié)構(gòu)優(yōu)化拓?fù)?/p>
表5 七十二桿結(jié)構(gòu)優(yōu)化數(shù)據(jù)(1)
表6 七十二桿結(jié)構(gòu)優(yōu)化數(shù)據(jù)(2)
圖12 七十二桿結(jié)構(gòu)進(jìn)化曲線
雖然本文的分段遺傳算法操作步驟及程序編制稍顯繁復(fù),不及直接使用簡單遺傳算法工具箱快捷,但相比其他改進(jìn)遺傳算法更簡單,且具一定的通用性。3個(gè)桁架結(jié)構(gòu)拓?fù)鋬?yōu)化的算例表明:當(dāng)優(yōu)化較為復(fù)雜的桁架結(jié)構(gòu)時(shí),無論是收斂速度還是收斂精度,分段遺傳算法都優(yōu)于簡單遺傳算法,說明本文分段遺傳算法的方案是可行、有效的。
[1]王志瑾,姚衛(wèi)星.飛機(jī)結(jié)構(gòu)設(shè)計(jì)[M].北京:國防工業(yè)出版社,2007.
[2]雷英杰,張善文,李續(xù)武,等.MATLAB遺傳算法工具箱及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2005.
[3]范佳靜,馮定忠.基于改進(jìn)遺傳算法的制造單元設(shè)計(jì)研究[J].中國機(jī)械工程,2011,22(1):39-44.
Fan Jiajing,F(xiàn)eng Dingzhong.Study on Manufacturing Cellular Design Based on Advanced Genetic Algorthm[J].China Mechanical Engineering,2011,22(1):39-44.
[4]許聞清,陳劍.基于改進(jìn)遺傳模擬退火算法的動(dòng)力總成懸置系統(tǒng)優(yōu)化設(shè)計(jì)[J].中國機(jī)械工程,2011,22(1):878-881.
Xu Wenqing,Chen Jian.Optimization Design of Powertrain Mounting System Based on Improved Genetic Simulated Annealing Algorithm[J].China Mechanical Engineering,2011,22(1):878-881.
[5]許素強(qiáng),夏人偉.桁架結(jié)構(gòu)拓?fù)鋬?yōu)化與遺傳算法[J].計(jì)算結(jié)構(gòu)力學(xué)及其應(yīng)用,1994,11(4):436-445.
Xu Suqiang,Xia Renwei.Topological Optimization of Truss Structure via the Genetic Algorithm[J].Computational Structural Mechanics and Applications,1994,11(4):436-445.
[6]唐文艷,顧元憲,郭旭.求解具有奇異性的桁架拓?fù)鋬?yōu)化的遺傳算法[J].計(jì)算力學(xué)學(xué)報(bào),2004,21(2):191-195.
Tang Wenyan,Gu Yuanxian,Guo Xu.Genetic Algorithm Applied in Solving Topology Optimization of Truss Structures with Singular Optima[J].Chinese Journal of Computational Mechanics,2004,21(2):191-195.
[7]黃冀卓,王湛.基于遺傳算法的離散型結(jié)構(gòu)拓?fù)鋬?yōu)化設(shè)計(jì)[J].工程力學(xué),2008,25(5):32-38.
Huang Jizhuo,Wang Zhan.Topology Optimization Design for Discrete Structures Using Genetic Algorithm[J].Engineering Mechanics,2008,25(5):32-38.
[8]張喜清,項(xiàng)昌樂,劉輝.多工況下變速箱箱體結(jié)構(gòu)的拓?fù)鋬?yōu)化設(shè)計(jì)[J].中國機(jī)械工程,2011,22(15):1779-1883.
Zhang Xiqing,Xiang Changle,Liu Hui.Topology Optimization Design of Gearbox Housing under Multiple Loading Cases[J].China Mechanical Engineering,2011,22(15):1779-1883.
[9]趙龍彪,高亮,陳志敏,等.基于比例微分優(yōu)化準(zhǔn)則的拓?fù)鋬?yōu)化方法[J].中國機(jī)械工程,2011,22(3):345-350.
Zhao Longbiao,Gao Liang,Chen Zhimin,et al.A Proportional and Differential Optimality Criterion Method for Topology Optimization[J].China Mechanical Engineering,2011,22(3):345-350.
[10]王小平,曹立明.遺傳算法——理論、應(yīng)用與軟件現(xiàn)實(shí)[M].西安:西安交通大學(xué)出版社,2002.
[11]Bendsoe M P,Sigmund O.Topology Optimization:Theory,Method and Applications[M].New York:Springer,2003.