韓 沖,陳 慶
(上??臻g推進(jìn)研究所,上海 200233)
對于衛(wèi)星產(chǎn)品,追求更小的結(jié)構(gòu)總質(zhì)量和較高的一階固有頻率,一直是科技人員追求的目標(biāo)。為了減輕衛(wèi)星結(jié)構(gòu)的總質(zhì)量,通常有兩種途徑:一是對衛(wèi)星結(jié)構(gòu)進(jìn)行優(yōu)化設(shè)計(jì);二是采用比模量和比強(qiáng)度高的復(fù)合材料代替?zhèn)鹘y(tǒng)的金屬材料。
在復(fù)合材料工藝水平確定的情況下,優(yōu)化設(shè)計(jì)顯得尤為重要。在結(jié)構(gòu)優(yōu)化中,傳統(tǒng)的有限元方法是重要方法之一。但是傳統(tǒng)優(yōu)化計(jì)算效率較低,優(yōu)化過程參與了大量的有限元計(jì)算,耗時(shí)較多。如果變量設(shè)置不合理,往往陷入局部最優(yōu)解的困境。
像整星結(jié)構(gòu)這類單元較多的復(fù)雜結(jié)構(gòu),若直接采用商業(yè)軟件進(jìn)行優(yōu)化,大量工作花費(fèi)在了對分析文件的提取過程。如果是不熟悉軟件語言的初學(xué)人員,將會遇到很大的挑戰(zhàn)。因此需要探索新的優(yōu)化方法,來完成優(yōu)化工作。
本文嘗試建立整星結(jié)構(gòu)一階固有頻率最大、質(zhì)量最小為目標(biāo)的多目標(biāo)優(yōu)化設(shè)計(jì)模型,采用線性加權(quán)的方法,將多目標(biāo)優(yōu)化問題轉(zhuǎn)換為單目標(biāo)優(yōu)化問題。結(jié)合正交實(shí)驗(yàn)技術(shù),采用神經(jīng)網(wǎng)絡(luò)和遺傳算法,在MATLAB軟件平臺上,完成整星結(jié)構(gòu)的優(yōu)化計(jì)算。
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,ANN),簡稱神經(jīng)網(wǎng)絡(luò),作為對人腦最簡單的一種抽象和模擬,是近年發(fā)展起來的一門十分活躍的交叉學(xué)科。理論證明,三層BP網(wǎng)絡(luò)能映射任意的非線性函數(shù),并且具有較好的全局收斂性與結(jié)構(gòu)簡單等優(yōu)點(diǎn)。而針對衛(wèi)星結(jié)構(gòu)的設(shè)計(jì)參數(shù)與其固有頻率的關(guān)系,亦是非線性關(guān)系,因此采用BP網(wǎng)絡(luò)來映射從設(shè)計(jì)變量到目標(biāo)函數(shù)的非線性關(guān)系,是比較合理的。圖1所示為三層BP網(wǎng)絡(luò)結(jié)構(gòu)模型。
圖1 三層BP網(wǎng)絡(luò)示意圖
遺傳算法通過模擬自然界生物的進(jìn)化過程來進(jìn)行擇優(yōu)。其從代表問題的可能潛在解集的一個(gè)種群開始,而一個(gè)種群則是由經(jīng)過基因編碼的一定數(shù)目的個(gè)體組成。每個(gè)個(gè)體,實(shí)際上是染色體帶有特征的實(shí)體。染色體作為遺傳物質(zhì)的主要載體,即多個(gè)基因的集合,其內(nèi)部表現(xiàn)是某種基因組合,其決定了個(gè)體的外部表現(xiàn)。
在初始種群產(chǎn)生之后,按照適者生存和優(yōu)勝劣汰的原理,逐代演化產(chǎn)生出越來越好的近似解。在每一代,根據(jù)問題域中個(gè)體的適應(yīng)度大小挑選個(gè)體,并借助于自然遺傳學(xué)的遺傳算子進(jìn)行組合交叉和變異,產(chǎn)生出代表新的解集的種群。這個(gè)過程導(dǎo)致種群像自然進(jìn)化一樣,后生代種群比前代種群更適應(yīng)于環(huán)境,末代種群中的最優(yōu)個(gè)體經(jīng)過解碼,可以作為問題的近似最優(yōu)解。
遺傳算法計(jì)算過程的實(shí)現(xiàn),主要取決于變量編碼、初始群體生成、適應(yīng)度函數(shù)設(shè)計(jì)、遺傳算子設(shè)計(jì)、算法控制參數(shù)選取、算法停止準(zhǔn)則等環(huán)節(jié)設(shè)計(jì)。遺傳算法流程圖如圖2所示。
圖2 遺傳算法流程圖
圖3所示為某衛(wèi)星結(jié)構(gòu)圖。
圖3 衛(wèi)星結(jié)構(gòu)圖
下面就是衛(wèi)星整星結(jié)構(gòu)多目標(biāo)優(yōu)化設(shè)計(jì)數(shù)學(xué)模型的目標(biāo)函數(shù):
式(1)中的 12 個(gè)自變量 x1,x2,…,x12表示相應(yīng)的獨(dú)立設(shè)計(jì)變量。
衛(wèi)星整星結(jié)構(gòu)優(yōu)化模型可以描述如下:
式(2)中,
W為衛(wèi)星結(jié)構(gòu)總質(zhì)量;
freq1是衛(wèi)星結(jié)構(gòu)一階固有頻率;
Tdi和T蜂窩芯分別對應(yīng)蜂窩夾層板和蜂窩芯的失效公式;
umax為結(jié)構(gòu)過載工況下的最大位移;
Mmax為相應(yīng)材料的應(yīng)力值;
Hi為蜂窩芯的厚度;
Lp為面板的厚度;
Rq為構(gòu)架圓管的半徑;
u0、M0和f0分別為衛(wèi)星結(jié)構(gòu)的各許用值。
本文的優(yōu)化問題所涉及的參數(shù)和各參數(shù)的水平數(shù)不是太多,并且要將這些參數(shù)組合的計(jì)算結(jié)果,用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。因此,參數(shù)的組合不能太少,并且要能反映出各個(gè)參數(shù)對計(jì)算結(jié)果的影響規(guī)律,本文采用正交實(shí)驗(yàn)選參法。各優(yōu)化設(shè)計(jì)變量的水平數(shù)如下:
底板蜂窩芯子高度Hd:10~60 mm,在其變化范圍內(nèi)取6個(gè)水平數(shù),增量為10 mm;
底板面板厚度Ld:0.2~1.0 mm,在其變化范圍內(nèi)取9個(gè)平均數(shù),增量為0.1 mm;
層板蜂窩芯子高度Hc:10~60 mm,在其變化范圍內(nèi)取6個(gè)平均數(shù),增量為10 mm;
層板面板厚度Lc:0.2~1.0 mm,在其變化范圍內(nèi)取9個(gè)平均數(shù),增量為0.1 mm;
長立板蜂窩芯子高度Hl:10~60 mm,在其變化范圍內(nèi)取6個(gè)平均數(shù),增量為10 mm;
長立板面板厚度Ll:0.2~1.0 mm,在其變化范圍內(nèi)取9個(gè)平均數(shù),增量為0.1 mm;
其余結(jié)構(gòu)板蜂窩芯子高度Hj:10~60 mm,在其變化范圍內(nèi)取6個(gè)平均數(shù),增量為10 mm;
結(jié)構(gòu)板面板厚度Lj:0.2~1.0 mm,在其變化范圍內(nèi)取9個(gè)平均數(shù),增量為0.1 mm;
承力筒蜂窩芯子高度Ht:10~60 mm,在其變化范圍內(nèi)取6個(gè)平均數(shù),增量為10 mm;
承力筒單層面板厚度Lt:0.01~1.0 mm,在其變化范圍內(nèi)取9個(gè)平均數(shù),增量為0.1 mm。
從上述設(shè)置的水平數(shù)可以看出,蜂窩芯子高度的水平數(shù)比其他變量的水平數(shù)小,為方便使用正交實(shí)驗(yàn)表進(jìn)行參數(shù)組合,采用擬水平法將所有的設(shè)計(jì)變量的水平數(shù)統(tǒng)一為9個(gè)。對于蜂窩芯子高度增補(bǔ)的水平數(shù)分別是50 mm,40 mm,30 mm。最后參考10個(gè)變量,9個(gè)水平數(shù)的正交設(shè)計(jì)表,得到如表1所示的參數(shù)組合表。挑選出符合實(shí)際結(jié)構(gòu)要求與滿足強(qiáng)度要求的參數(shù)組進(jìn)行固有頻率與質(zhì)量的計(jì)算,為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練提供樣本。
表1 基于正交實(shí)驗(yàn)法的各設(shè)計(jì)變量的參數(shù)組合(部分)
在表1中最后一列“驗(yàn)證”,表示對相應(yīng)的參數(shù)組進(jìn)行衛(wèi)星結(jié)構(gòu)的靜力計(jì)算與校核。Y表示滿足結(jié)構(gòu)的強(qiáng)度要求和位移要求,N表示不能滿足相應(yīng)的要求。
通過對表1中滿足靜力要求的參數(shù)組進(jìn)行衛(wèi)星固有特性計(jì)算,獲得相應(yīng)參數(shù)組合的計(jì)算結(jié)果。為了提高計(jì)算效率,本文采用Power dynamics方法進(jìn)行低階頻率計(jì)算(如表2所列)。
表2 各設(shè)計(jì)變量參數(shù)組對應(yīng)的計(jì)算結(jié)果(部分)
在MATLAB7.0軟件平臺基礎(chǔ)上,應(yīng)用神經(jīng)網(wǎng)絡(luò)工具箱中的函數(shù),編寫針對已有樣本的神經(jīng)網(wǎng)絡(luò)程序,并對訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)進(jìn)行樣本的檢驗(yàn),直到滿足所有檢驗(yàn)樣本對應(yīng)的目標(biāo)值均在許可的范圍內(nèi)為止。
神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù)如下:
BP網(wǎng)絡(luò),30個(gè)隱含層,10個(gè)輸入變量,2個(gè)輸出變量;
輸入層轉(zhuǎn)移函數(shù)為tansig,隱含層轉(zhuǎn)移函數(shù)為logsig函數(shù),輸出層轉(zhuǎn)移函數(shù)采用線性purelin函數(shù),訓(xùn)練函數(shù)采用trainlm函數(shù);
初始權(quán)系數(shù)值由系統(tǒng)的隨機(jī)函數(shù)自動給出,取最大訓(xùn)練步數(shù)為5 000步,目標(biāo)誤差精度為1e-4,學(xué)習(xí)率為0.15;
直到達(dá)到訓(xùn)練所要求最大訓(xùn)練步數(shù)或目標(biāo)誤差精度為止。
MATLAB7.0中的主程序片段如表3所示。
表3 神經(jīng)網(wǎng)絡(luò)主程序片段
在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練程序中,將輸入輸出樣本值存儲起來,以備后來編寫遺傳算法程序中所用。神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,誤差的精度和訓(xùn)練步數(shù)的關(guān)系圖見圖4。
圖4 神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差和迭代關(guān)系曲線圖
從誤差曲線看出,訓(xùn)練過程約經(jīng)過1 300步達(dá)到誤差精度要求。通過對樣本的仿真值的檢驗(yàn),發(fā)現(xiàn)訓(xùn)練好的網(wǎng)絡(luò)泛化能力較強(qiáng),能夠到達(dá)預(yù)期效果。因此,該神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是合理的。
首先根據(jù)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果,在MATLAB7.0軟件平臺上進(jìn)行目標(biāo)函數(shù)的多項(xiàng)式擬合??紤]到以一階頻率最大和總質(zhì)量最小的雙目標(biāo)優(yōu)化,可以利用加權(quán)系數(shù)將其轉(zhuǎn)化為單目標(biāo)優(yōu)化工作。具體如式(3)。
式(3)中,
w1、w2分別為整星結(jié)構(gòu)質(zhì)量和一階頻率的加權(quán)值;
W、F分別為整星結(jié)構(gòu)質(zhì)量和一階頻率。
根據(jù)要求不同,可以設(shè)置不同的w1、w2。本章取值:w1=0.4,w2=0.6。
W、F分別除以kg、乘以100/Hz來實(shí)現(xiàn)無量綱化。
最終得到以各結(jié)構(gòu)參數(shù)為自變量的多項(xiàng)式:
在MATLAB7.0環(huán)境下,編制遺傳算法主程序及各個(gè)相應(yīng)子程序。設(shè)置種群大小為80,交叉概率為0.9,變異概率為0.001,計(jì)算代數(shù)為200。(見表4)。
表4 遺傳算法主程序片段
調(diào)試并運(yùn)行程序,得到遺傳代數(shù)與最佳適應(yīng)度值變化關(guān)系(如圖5所示)。
圖5 遺傳代數(shù)與最佳適應(yīng)度值和平均適應(yīng)度值的關(guān)系
對應(yīng)的自變量參數(shù)值見表5。
表5 優(yōu)化后得到的設(shè)計(jì)變量值 (單位:mm)
經(jīng)過驗(yàn)證,表5所示的參數(shù)組滿足結(jié)構(gòu)的靜力強(qiáng)度要求。對應(yīng)這組參數(shù)的ANSYS計(jì)算結(jié)果為:一階固有頻率為16.647 Hz,質(zhì)量為2 314.4 kg??梢哉J(rèn)為表5的變量值即為結(jié)構(gòu)設(shè)計(jì)變量的全局優(yōu)化值。
使用商業(yè)軟件ANSYS優(yōu)化模塊,按照傳統(tǒng)優(yōu)化方法的優(yōu)化結(jié)果見表6。
表6 使用傳統(tǒng)優(yōu)化方法的優(yōu)化結(jié)果 (單位:mm)
對應(yīng)于該參數(shù)變量值下的整星結(jié)構(gòu)質(zhì)量是2306.3 kg,一階固有頻率為14.624 Hz。
比較兩種方法的優(yōu)化結(jié)果,使用神經(jīng)網(wǎng)絡(luò)結(jié)果遺傳算法的結(jié)構(gòu)優(yōu)化設(shè)計(jì)方法,盡管得到了較大的整星質(zhì)量,但是在一階固有頻率上有明顯的優(yōu)勢。
本文針對衛(wèi)星結(jié)構(gòu)的多目標(biāo)優(yōu)化設(shè)計(jì)模型,在MATLAB7.0軟件平臺的基礎(chǔ)上,通過BP網(wǎng)絡(luò)結(jié)合遺傳算法,完成了一階固有頻率最大、質(zhì)量最小的多目標(biāo)優(yōu)化計(jì)算,得到了比較合理的設(shè)計(jì)變量值。驗(yàn)證了BP網(wǎng)絡(luò)結(jié)合遺傳算法在衛(wèi)星結(jié)構(gòu)優(yōu)化中的可行性。
筆者將商業(yè)軟件ANSYS優(yōu)化模塊的優(yōu)化工作和本文的優(yōu)化工作對比,得出前者的主要工作是分析文件建立,耗時(shí)最多的是迭代過程;后者的主要工作是BP網(wǎng)絡(luò)的建立和遺傳算法的編寫,耗時(shí)最多的是各正交實(shí)驗(yàn)參數(shù)下結(jié)構(gòu)計(jì)算。在當(dāng)今MATLAB軟件各種工具箱相對完善的情況下,采用后者對復(fù)雜結(jié)構(gòu)進(jìn)行優(yōu)化計(jì)算會更簡潔,更省時(shí)。
[1]燕樂緯.基于遺傳算法的結(jié)構(gòu)動力優(yōu)化[D].重慶:重慶大學(xué),2006.
[2]吳仕勇.基于數(shù)值計(jì)算方法的BP神經(jīng)網(wǎng)絡(luò)及遺傳算法的優(yōu)化研究[D].昆明:云南師范大學(xué),2006.
[3]Surrry,et al.“A Muti-objective Approach to Constrained Optimization of Gas Supply”[R].Networks.AISBEC,Sheffield,1995.Volume 993/1995,166-180.
[4]Whiltey D.“Modeling Hybrid Genetic Algorithms”[R].In:Genetic Algorithm in Engineering and Computer Science,Winter G(ed).Wiley,1995.
[5]蔣良孝,李超群.基于BP神經(jīng)網(wǎng)絡(luò)的函數(shù)逼近方法及其MATLAB 實(shí)現(xiàn)[J].微機(jī)與應(yīng)用,2004,(1):52-53.
[6]楊雁寧.利用MATLAB實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)[J].河南科技,2005,(8):46-47.
[7]劉 強(qiáng),譚光宇,等.基于遺傳算法的復(fù)雜槽型銑刀片槽型參數(shù)優(yōu)化[J].工具技術(shù),2007,(41):11-14.