張鵠志,張棒,謝獻(xiàn)忠,馬哲霖
(湖南科技大學(xué) a.土木工程學(xué)院;b.結(jié)構(gòu)抗風(fēng)與振動控制湖南省重點實驗室,湖南 湘潭 411201)
近20年來,結(jié)構(gòu)拓?fù)鋬?yōu)化成了實現(xiàn)結(jié)構(gòu)輕量化的重要手段之一,這是一種根據(jù)設(shè)計區(qū)域、優(yōu)化目標(biāo)、設(shè)計載荷等約束條件來尋找結(jié)構(gòu)最優(yōu)材料分布的優(yōu)化方法。優(yōu)化結(jié)果被廣泛應(yīng)用于建筑、機(jī)械、航天、海洋工程等領(lǐng)域。隨著相關(guān)研究的深入,漸進(jìn)類拓?fù)鋬?yōu)化演化算法得到了不斷的改進(jìn)和優(yōu)化,取得了不少研究成果。
漸進(jìn)結(jié)構(gòu)優(yōu)化(簡稱ESO)算法[1-3]最早由Xie等提出,并證實其具有高效性和穩(wěn)定性的特點。榮見華等[4-5]利用ESO算法對車輛結(jié)構(gòu)進(jìn)行優(yōu)化設(shè)計,驗證了ESO算法在機(jī)械工程領(lǐng)域中的應(yīng)用價值,王磊佳等[6]對ESO的刪除準(zhǔn)則進(jìn)行改進(jìn),提出了加窗漸進(jìn)結(jié)構(gòu)優(yōu)化算法。Querin等[7]提出了與ESO優(yōu)化進(jìn)程相對的算法,即在高應(yīng)力區(qū)域逐漸添加材料,以獲取拓?fù)浣獾倪f增演化結(jié)構(gòu)優(yōu)化(簡稱AESO)算法。之后,Xie等[8]、Rozvany等[9]、Yang等[10]又在此基礎(chǔ)上提出結(jié)合AESO與ESO的雙向演化結(jié)構(gòu)優(yōu)化 (簡稱BESO)算法,母德強(qiáng)等[11]使用BESO算法實現(xiàn)了對大型龍門工程機(jī)械橫梁的拓?fù)鋬?yōu)化。江旭東等[12]利用BESO算法實現(xiàn)了結(jié)構(gòu)多目標(biāo)動態(tài)優(yōu)化設(shè)計。而隨著王小平等[13]對遺傳算法的推廣,易偉健等[14]將ESO算法和遺傳算法結(jié)合,提出遺傳演化結(jié)構(gòu)優(yōu)化 (簡稱GESO) 算法,提高了這類算法全局尋優(yōu)的能力,張玉順[15]利用GESO算法完成了鋼筋混凝土三維構(gòu)件拓?fù)鋬?yōu)化方法,張望喜等[16]在GESO基礎(chǔ)上提出了遺傳遞增演化結(jié)構(gòu)優(yōu)化算法(簡稱GAESO)。
當(dāng)前,ESO、BESO和GESO等3種算法均可以穩(wěn)定地獲得拓?fù)浣?,但由于其?yōu)化準(zhǔn)則的差異,使得3種算法對同一構(gòu)件完成優(yōu)化時結(jié)果不盡相同。由此,以簡支深梁為算例,針對漸進(jìn)演化類拓?fù)鋬?yōu)化算法的優(yōu)化準(zhǔn)則進(jìn)行對比研究,一方面討論確定性優(yōu)化準(zhǔn)則和概率性優(yōu)化準(zhǔn)則的差異,另一方面探索單向優(yōu)化準(zhǔn)則和雙向優(yōu)化準(zhǔn)則的差別,討論不同的優(yōu)化準(zhǔn)則造成優(yōu)化過程和優(yōu)化結(jié)果上的異同,并分析造成這種現(xiàn)象的原因,以探討不同優(yōu)化準(zhǔn)則的優(yōu)劣和適用范圍。
漸進(jìn)演化類算法的基本思想是先利用有限元軟件,對結(jié)構(gòu)進(jìn)行力學(xué)分析,借助分析結(jié)果獲取每一個單元的靈敏度并對之進(jìn)行排序,以此判斷單元對于結(jié)構(gòu)性能指標(biāo)的貢獻(xiàn)度,再基于算法使用的優(yōu)化準(zhǔn)則,逐步刪除對整體結(jié)構(gòu)性能指標(biāo)貢獻(xiàn)較低的單元或者增加對結(jié)構(gòu)性能指標(biāo)貢獻(xiàn)較大的材料,促進(jìn)結(jié)構(gòu)向最優(yōu)化解演化,最終使得結(jié)構(gòu)能夠在滿足特定性能指標(biāo)的前提下盡可能地降低材料的消耗,從而降低建造成本。
優(yōu)化準(zhǔn)則是獲取最優(yōu)拓?fù)涞年P(guān)鍵一環(huán),有多種分類方法,第一種是按選擇優(yōu)化單元的方式分為確定性優(yōu)化準(zhǔn)則和概率性優(yōu)化準(zhǔn)則。確定性優(yōu)化準(zhǔn)則是指在優(yōu)化過程中選擇刪除的無效材料或增加的有效材料完全根據(jù)應(yīng)力計算結(jié)果,優(yōu)勝劣汰,如ESO算法即采用這種優(yōu)化準(zhǔn)則;概率性優(yōu)化準(zhǔn)則有所不同,如GESO算法即加入遺傳算法的遺傳和突變特性,以改變每代刪除或添加的單元位置和數(shù)量,實際選擇優(yōu)化單元的方式具有一定的隨機(jī)特性,所以,重復(fù)一次完整的優(yōu)化過程可能會得出有所區(qū)別的解,但大多數(shù)解應(yīng)該大同小異。
優(yōu)化準(zhǔn)則的另一種分類方式是按優(yōu)化方向進(jìn)行劃分,當(dāng)前包括正向優(yōu)化、反向優(yōu)化以及結(jié)合兩者而形成的雙向優(yōu)化方法。正向優(yōu)化即初始域是滿設(shè)計域,優(yōu)化過程單向刪除低效和無效材料,演化出最優(yōu)拓?fù)浣猓环聪騼?yōu)化則剛好相反,初始域僅存在必要單元,優(yōu)化過程單向補(bǔ)充高效材料,演化出最優(yōu)拓?fù)浣?;雙向優(yōu)化則取兩者所長,既可能從正向優(yōu)化開始,也可能從反向優(yōu)化開始,但伴隨優(yōu)化的進(jìn)行,迭代過程維持著一邊刪除低效和無效材料,一邊補(bǔ)充高效材料的雙向演化狀態(tài),最終演化出拓?fù)浣狻?/p>
從材料力學(xué)來看,深梁不滿足平截面假定,屬于典型的復(fù)雜受力構(gòu)件,與適用于傳統(tǒng)抗彎和抗剪理論的淺梁受力有明顯區(qū)別。以深梁為例,探討采用確定性優(yōu)化準(zhǔn)則的ESO算法和采用概率性優(yōu)化準(zhǔn)則的GESO算法的差異。算例均以ANSYS有限元軟件為平臺,假定結(jié)構(gòu)材質(zhì)均勻,各向同性,且所有結(jié)構(gòu)處于平面應(yīng)力狀態(tài),因此,選用PLANE82單元將鋼筋和混凝土視為復(fù)合材料,對其線彈性行為進(jìn)行模擬,建模時輸入的材料彈性模量為E=3.0×104N/mm2,泊松比為v=0.2,網(wǎng)格劃分時單元尺寸設(shè)定為20 mm×20 mm,對結(jié)構(gòu)進(jìn)行線彈性分析,即僅考慮結(jié)構(gòu)彈性階段的變形,忽略裂縫的開展和塑性階段的變形,在此參數(shù)設(shè)置下建立的有限元模型可以模擬鋼筋混凝土共同工作下梁彈性階段的受力變形情況。ESO算法每代淘汰單元個數(shù)為20,GESO算法中雜交率為0.2,變異率為0.2,最優(yōu)個體選擇率為0.3。ESO算法和GESO算法的具體操作流程和淘汰率選取分別依據(jù)文獻(xiàn)[1]和文獻(xiàn)[14]的建議。
由于結(jié)構(gòu)功能的需要,荷荷載有時作用于深梁下部,形成所謂的吊掛荷載,如料倉、水箱的側(cè)壁以及高層建筑的墻梁等都屬于下部受荷深梁。對三點承載的簡支開洞墻梁[17]進(jìn)行優(yōu)化,算例的結(jié)構(gòu)尺寸為2 000 mm×1 000 mm,有兩個對稱洞口,洞口尺寸均為500 mm×500 mm,洞口位置及其他具體的幾何尺寸如圖1所示,梁底四分點處分別施加大小為P=40 kN的3個集中荷載,ESO算法的優(yōu)化過程如圖2所示,GESO算法的優(yōu)化過程如圖3所示。
從圖2(b)和圖3(b)可以看出,對于多點加載的簡支開洞深梁,兩種算法初期即在跨中的受壓區(qū)表現(xiàn)出顯著的差別,且造成該區(qū)域接下來優(yōu)化過程中腹桿角度及腹部間拉桿位置的明顯差異(如圖2(c)和圖3(c)所示),該區(qū)域的最優(yōu)拓?fù)湟灿兄^大的區(qū)別,ESO的兩根斜壓桿在底部交于一點,而GESO的兩根斜壓桿向下分別轉(zhuǎn)成豎直壓桿,形成了兩條完全不相交的壓力路徑(如圖3(d)和圖4(d)所示)。
經(jīng)統(tǒng)計,ESO算法比GESO算法節(jié)省時間50%~60%。這是由于GESO算法需要進(jìn)行遺傳的仿生過程,每一次迭代都需要進(jìn)行選擇、雜交和變異,造成優(yōu)化效率下降。由此可見,ESO盡管優(yōu)化能力略弱于GESO,但卻有著更高的優(yōu)化效率。
圖1 簡支開洞深梁幾何尺寸Fig.1 Dimension of simply supported deepbeam with openings
圖2 簡支開洞深梁ESOFig.2 ESO of simply supported deep beam with openings
圖3 簡支開洞深梁GESOFig.3 GESO of simply supported deep beam with openings
兩種算法的優(yōu)化過程表現(xiàn)出較大差異,這是因為:
1)ESO采用每代固定刪除單元數(shù)量或者刪除率,當(dāng)部分區(qū)域內(nèi)單元的靈敏度值十分接近時,也可能因刪除數(shù)量和浮點精度的影響而產(chǎn)生不對稱的單元刪除,并在隨后的優(yōu)化過程中因應(yīng)力重分布和應(yīng)力集中加劇這種畸變現(xiàn)象。而GESO則會在計算完靈敏度后對單元進(jìn)行變異和雜交等遺傳過程,再計算單元的適應(yīng)度和每個單元被刪除的概率,正是因為這種全設(shè)計域內(nèi)概率性選擇刪除方式,GESO一方面很大程度上降低了浮點計算精度產(chǎn)生畸變的可能,另一方面,即使早期少量畸變的發(fā)生,之后的概率性選擇刪除也能在一定程度上消除這種畸變。
2)根據(jù)文獻(xiàn)[18]推導(dǎo)的此類結(jié)構(gòu)的Michell桁架解(符合滿應(yīng)力的解析解),壓桿之間的夾角整體上是均勻分布的,對稱軸附近適當(dāng)減小。對比兩種算法下的拓?fù)浣?,GESO結(jié)果中一直保持著Michell桁架解的壓桿分布特性(如圖3(c)和圖3(d)所示),其結(jié)果中上部斜拉桿的夾角要明顯小于ESO優(yōu)化結(jié)果中的上部斜向拉桿(如圖2(c)和圖2(d)所示),GESO的優(yōu)化結(jié)果穩(wěn)定性要明顯強(qiáng)于ESO優(yōu)化結(jié)果。由此可知,GESO對于復(fù)雜應(yīng)力構(gòu)件的優(yōu)化又優(yōu)于ESO算法。
對于荷載條件、邊界條件或傳力路徑較模糊的構(gòu)件,確定性優(yōu)化準(zhǔn)則誤刪單元的可能性更大(根據(jù)實例研究所知,對于受力簡單傳力路徑明顯的結(jié)構(gòu),ESO算法和GESO算法優(yōu)化結(jié)果十分相似,誤差易收斂)。從圖2(d)和圖3(d)還能看出,ESO算法的優(yōu)化程度只達(dá)到了70%,較GESO算法低5%,當(dāng)對處于吊掛荷載下的開洞深梁這類傳力路徑復(fù)雜的構(gòu)件進(jìn)行優(yōu)化時,ESO得到的最優(yōu)拓?fù)涞钠灞P格現(xiàn)象和優(yōu)化畸變均要大于GESO得到的最優(yōu)拓?fù)?,如各桿相交的節(jié)點處,不論對稱性還是演化出桿件的清晰度,GESO都略勝一籌。
以深梁為例,探討優(yōu)化準(zhǔn)則中優(yōu)化方向?qū)?yōu)化過程及結(jié)果的影響。有限元分析參數(shù)及優(yōu)化參數(shù)的選取基本與2.1節(jié)算例相同,BESO設(shè)定每代淘汰單元數(shù)為20,復(fù)活單元數(shù)為5,具體操作流程和優(yōu)化參數(shù)選取參考文獻(xiàn)[2]。
考慮到邊界條件越復(fù)雜,結(jié)構(gòu)受力就越復(fù)雜,早期誤刪單元的可能性也越大,在尋求這種情形下的全局最優(yōu)解時,加入復(fù)活機(jī)制形成雙向優(yōu)化準(zhǔn)則,優(yōu)勢也更明顯,故選用與2.1節(jié)相同的構(gòu)件尺寸和荷載條件,但將原有的兩端簡支換成了兩端固定支座,如圖4所示,ESO算法的優(yōu)化過程如圖5所示,BESO算法的優(yōu)化過程如圖6所示。
圖4 固支開洞深梁幾何尺寸Fig.4 Dimension of fixed-fixed deep beam with openings
圖5 固支開洞深梁ESOFig.5 ESO of fixed-fixed deep beams with openings
圖6 固支開洞深梁BESOFig.6 BESO of fixed-fixed deep beams with openings
從圖5(b)和圖6(b)可以看出,兩種算法初期差別不太大,僅ESO在跨中局部出現(xiàn)不對稱拓?fù)涞男》儯w上結(jié)構(gòu)左側(cè)單元數(shù)量略多于右側(cè)單元,在后續(xù)優(yōu)化過程中,這一畸變效應(yīng)產(chǎn)生的不對稱拓?fù)淅^續(xù)發(fā)展,在整個結(jié)構(gòu)頂部尤為明顯(如圖5(c)和圖6(c)所示),最終得到的最優(yōu)拓?fù)洌珽SO算法較BESO算法多刪除3%的單元量,ESO算法的結(jié)果依然在頂部呈現(xiàn)明顯的不對稱(如圖5(d)和圖6(d)所示);而BESO在整個過程中對稱性保持良好,僅在最后階段兩側(cè)底部出現(xiàn)輕微不對稱畸變,且該畸變對最優(yōu)拓?fù)溆绊懖淮蟆4送?,與ESO略有不同的是,BESO的最優(yōu)拓?fù)湓诳缰懈共勘A粲幸桓较禇U。
經(jīng)統(tǒng)計,ESO算法比BESO算法節(jié)省時間一半以上。這主要是因為BESO算法在完成類似ESO算法的靈敏度計算以刪除部分單元后,還需要對當(dāng)前被刪除的所有單元進(jìn)行二次靈敏度的計算以復(fù)活部分單元,所以優(yōu)化耗時更長。
兩種算法的優(yōu)化過程和拓?fù)浣獗憩F(xiàn)出一定異同,這是因為:
1)首先,根據(jù)文獻(xiàn)[18]推導(dǎo)的此類結(jié)構(gòu)的Michell桁架解(符合滿應(yīng)力的解析解)展開分析可知,由于洞口位置對上部壓桿分布的影響,該結(jié)構(gòu)的跨中腹桿不可能為一根豎直拉桿,圖5和圖6中的斜腹桿分布很大程度上符合Michell桁架解的桿件分布特性。
2)仔細(xì)對比可以發(fā)現(xiàn),圖6(d)所示的BESO拓?fù)浣庵?,跨中腹部水平系桿的兩端結(jié)點處,上下的斜腹桿間存在小角度的夾角,而圖5(d)所示的ESO拓?fù)浣庵?,該位置沒有折角,對這兩個拓?fù)浣饨㈣旒苣P屯瓿山Y(jié)構(gòu)力學(xué)計算可知,一方面,圖6(d)中這根水平系桿對于保證其兩側(cè)的壓桿穩(wěn)定有著重要的意義,另一方面,圖6(d)中斜腹桿的軸力小于圖5(d)中的斜腹桿。由此可見,BESO尋得的拓?fù)浣鈨?yōu)于ESO。
3)BESO比ESO尋優(yōu)能力更強(qiáng)的原因在于其優(yōu)化準(zhǔn)則中存在的復(fù)活機(jī)制,當(dāng)發(fā)生類似ESO過程中刪除單元引起拓?fù)鋬?yōu)化進(jìn)程向局優(yōu)解或畸變發(fā)展時,能夠通過對被刪除單元進(jìn)行靈敏度二次計算,復(fù)活一定比例的單元,三點加載的兩端固支開洞深梁相較于2.1節(jié)中的簡支開洞深梁具有更為復(fù)雜的邊界條件和傳力路徑,BESO的雙向優(yōu)化準(zhǔn)則一方面能在較大程度上消除畸變,另一方面可以對陷入局優(yōu)的拓?fù)浣庵饾u修正,所以,BESO較之ESO擁有更強(qiáng)的全局尋優(yōu)能力。
單向和確定性優(yōu)化準(zhǔn)則的ESO算法,在面對較復(fù)雜的工程對象時,易于優(yōu)化早期誤刪單元,導(dǎo)致優(yōu)化過程出現(xiàn)畸變或陷入局部最優(yōu)。GESO算法引入遺傳算法的概率思想,可以在一定程度上避免因確定性優(yōu)化準(zhǔn)則造成的誤刪;而BESO算法則通過改進(jìn)出雙向優(yōu)化準(zhǔn)則,前期的誤刪單元有了被復(fù)活的可能,同樣能避免過早刪除最優(yōu)解單元的問題。GESO算法的概率性優(yōu)化準(zhǔn)則和BESO算法的雙向優(yōu)化準(zhǔn)則均能在很大程度上減少優(yōu)化過程中誤刪單元的問題,避免優(yōu)化結(jié)果陷入局部最優(yōu)解。
然而,GESO終因不可復(fù)活誤刪單元而存在局限性,BESO也終因確定性的優(yōu)化準(zhǔn)則而存在一定的弊端,所以它們的全局尋優(yōu)能力依然還需進(jìn)一步加強(qiáng)。將概率性優(yōu)化準(zhǔn)則和雙向優(yōu)化準(zhǔn)則結(jié)合,發(fā)展出遺傳雙向漸進(jìn)演化結(jié)構(gòu)優(yōu)化 (簡稱GBESO) 算法是一條顯而易見的思路,其操作流程如圖7所示。在利用GBESO進(jìn)行第2節(jié)和第3節(jié)的開洞深梁拓?fù)錁?gòu)造時,拓?fù)浣獬尸F(xiàn)出一定的畸變,這可能是由于開洞后直接的傳力路徑受到阻礙,引起拓?fù)浣鈴?fù)雜化,而當(dāng)前對GBESO的開發(fā)還處于起步階段,對淘汰機(jī)制和復(fù)活機(jī)制間的權(quán)重關(guān)系研究還不充分,故僅以未開洞的簡支深梁作為算例,簡要展示GBESO過程,構(gòu)件尺寸及拓?fù)鋬?yōu)化分別如圖8和圖9所示。
圖7 GBESO算法流程圖Fig.7 Flow chart of GBESO algorithm
圖8 簡支深梁幾何尺寸Fig.8 Dimension of simply supported deep beam
圖9 簡支深梁GBESOFig.9 GBESO of simply supported deep beam
GBESO算法先使用遺傳算法對單元進(jìn)行變異和雜交,初次刪除的單元中僅包含少數(shù)高應(yīng)力單元,隨后使用雙向優(yōu)化準(zhǔn)則,對被刪除單元進(jìn)行第二次靈敏度計算,復(fù)活其中被刪除的單高應(yīng)力元,進(jìn)一步減輕誤刪單元造成的結(jié)構(gòu)畸變現(xiàn)象以獲取全局最優(yōu)解。當(dāng)然,一方面,算法的實現(xiàn)有待落實,算法的穩(wěn)定性、普適性等多方位的性能也有待進(jìn)一步驗證;另一方面,隨著概率性復(fù)活單元操作的加入,GBESO算法的優(yōu)化效率可能會較GESO和BESO算法進(jìn)一步降低,這也有可能成為限制其工程應(yīng)用的一大障礙。
1)ESO等采用單向和確定性優(yōu)化準(zhǔn)則的漸進(jìn)演化類結(jié)構(gòu)優(yōu)化算法,易在優(yōu)化前期誤刪單元,從而發(fā)生畸變和陷入局部最優(yōu),適用于荷載、邊界等條件較簡單的情形,在這些情形下能高效地得到拓?fù)浣狻?/p>
2)GESO等采用概率性優(yōu)化準(zhǔn)則的漸進(jìn)演化類結(jié)構(gòu)優(yōu)化算法,因優(yōu)化中引入變異率,有一定概率避免前期誤刪單元的問題,從而具有較高的全局尋優(yōu)能力,但也正因為概率性的優(yōu)化準(zhǔn)則,穩(wěn)定性和計算效率都不及確定性優(yōu)化準(zhǔn)則的算法。
3)BESO采用雙向優(yōu)化準(zhǔn)則的漸進(jìn)演化類結(jié)構(gòu)優(yōu)化算法,優(yōu)化過程中能夠復(fù)活前期誤刪的單元,因而較之單向優(yōu)化準(zhǔn)則的算法更易獲取全局最優(yōu)解,適用范圍也更廣,但雙向優(yōu)化的過程降低了其優(yōu)化效率。
4)GESO和BESO的計算效率問題隨著計算機(jī)硬件的發(fā)展已處于工程上可以接受的水平,結(jié)合雙向和概率性優(yōu)化準(zhǔn)則發(fā)展出GBESO是進(jìn)一步提高全局尋優(yōu)能力的思路,但計算效率可能會進(jìn)一步降低,此外,算法本身也有待更深入的研究以確定其穩(wěn)定性和普適性等多方面的性能。