胡釗暉,鄧琎,李再參,吳鋒,b,鐘萬勰,b
(1.大連理工大學 工程力學系,遼寧 大連 116024;2.云南省機械研究設計院有限公司 a.云南省機電一體化應用技術重點實驗室;b.鐘萬勰院士工作站,昆明 650031)
在工業裝備結構優化設計時,直接利用有限元仿真難以達到高效、快速設計的要求,利用代理模型進行高效優化是當下的研究熱點之一。在利用代理模型進行優化時,為在設計空間中建立全局高精度代理模型,采樣方法尤為重要。隨機采樣方法得到的樣本點集分布極不均勻,所構造的代理模型的精度很差。目前,學者大多采用均勻性分布較好的樣本點集,如拉丁超立方抽樣,以及基于數論理論的Hammersely點集、Sobol點集和Halton點集等。然而,這些點集存在明顯缺點:高維點集在低維投影時,投影點常出現聚集現象,分布不再均勻。樣本的均勻性對代理模型的精度具有顯著影響,采用均勻性好的樣本點集,往往可以用很少的樣本數得到精度更好的代理模型,從而實現更高效的優化設計。
實際上,均勻性好的樣本點集在優化設計、隨機模擬、試驗設計等諸多問題中都有重要的應用價值,如何生成均勻性更好的樣本點集一直是研究熱點。文獻[5]將點集模擬為星系的動力學演化,并證明“最小距離最大化”原則等價于力學分析中的最小勢能原理。基于最小勢能原理,文獻[5]提出一種基于動力學演化模型優化的采樣方法。相較于其他點集,動力演化點集的均勻性更好,可以為構造高精度代理模型和優化設計提供均勻樣本,已經成功用于隨機問題分析。然而,動力學演化樣本生成方法是否適用于代理模型和優化設計,還值得進一步研究。
本文將動力學演化樣本生成方法引入到代理模型優化設計中,通過拉丁超立方抽樣得到初始樣本點集,基于動力學演化計算生成均勻性更好的樣本點集,并用于代理模型的構造,采用遺傳算法得到最優解,從而給出一套基于動力學演化的代理模型優化方法。通過經典測試函數和某實際機床的優化分析,研究所提出的基于動力學演化的代理模型優化方法的性能。
基于代理模型優化方法的計算步驟通常為:(1)在設計變量空間選取樣本;(2)基于各樣本,采用有限元仿真計算得到響應值;(3)根據樣本和響應值,生成代理模型;(4)采用優化算法尋找代理模型的最優解。在這4個基本步驟中,影響優化結果的主要因素有3個,即樣本、代理模型和優化算法,本文代理模型和優化算法分別選擇經典的Kriging模型和遺傳算法,主要研究樣本生成。
結合動力學演化方法生成樣本:首先基于拉丁超立方采樣生成初始樣本,然后基于動力學演化方法對該樣本進行優化,得到更為均勻的樣本分布,以期提高代理模型的精度,進而提高優化結果。
假設采樣空間為立方體=[0,1],其中樣本點集為,={,,…,},每個點視為一個質量為的星體,點與點之間存在相互作用力,整個點集的作用量和Lagrange函數為

(1)
式中:為引力常數;為點與點之間的歐氏距離。
根據Hamilton變分原理可得

(2)
其中:

(3)
為追求靜態解,可給每個星體施加一個人為的阻尼力,于是式(2)可表示為

(4)


(5)
式中:上標()中的表示在時間=×Δ處的值。
整理式(5)得


(6)
式(6)演化迭代過程中涉及的演化參數選擇和點出界處理等,均可參考文獻[5]的相應說明。此處以拉丁超立方抽樣方法生成100個二維樣本點集,其樣本點分布見圖1(a)。以該樣本點集為初始點集,假定初始速度為0,根據式(5)進行演化計算,最終得到勢能最小的樣本點集,其分布見圖1(b)。演化后的點集要比演化前的點集均勻得多。

(a)拉丁超立方點集
為方便論述,將基于拉丁超立方抽樣的Kriging代理模型簡記為LK模型,將基于動力學演化技術對拉丁超立方樣本進行優化并構建的Kriging代理模型簡記為DLK模型。
選擇二維情況下優化測試常用的4個解析數學函數(見式(7)),比較拉丁超立方點集及其演化點集在構建代理模型時的精度,并結合遺傳算法,對比代理模型全局最優解與函數全局最優解的精度。

(7)
為比較演化前、后代理模型的精度,上述4個函數的樣本數均選100。為測試所構建的LK模型和DLK模型的精度,在優化變量定義域內隨機生成200個點集,將均方根誤差和相對平均絕對誤差作為誤差評判標準,其定義分別為

(8)

(9)


表 1 點集的誤差計算結果
由表1可知,對于均方根誤差和相對平均誤差而言,DLK模型的結果均顯著好于LK模型的結果。這表明,經過動力學演化后的樣本可以顯著提高Kriging代理模型的精度。
采用遺傳算法對得到的LK模型和DLK模型進行全局尋優,得到的結果見表2。

表 2 測試函數優化結果對比
由表2可知,對于所研究的4個測試函數,DLK模型的優化精度均好于LK模型的優化精度,其中在函數上表現得尤為明顯。因此,使用動力學演化的樣本不僅能構建精度更好的代理模型,而且在尋找全局最優解方面也更為有效。
選用某龍門銑床橫梁,其結構模型見圖2。橫梁材料為HT250鑄鐵,密度為=7 200 kg/m,彈性模量=66.2 GPa,泊松比=0.27。機床橫梁需要與立柱滑塊等進行裝配,外部尺寸無法作為設計變量,因此將結構上3個孔洞尺寸作為設計變量,分別為頂部圓孔直徑80 mm≤≤160 mm,背部圓角正方形孔洞邊長425 mm≤≤485 mm和側面圓角矩形孔洞長度220 mm≤≤280 mm。優化目標為在使得橫梁最大應力盡可能小的情況下提升機床橫梁的整體剛度。
采用10個樣本,分別生成該橫梁最大應力的LK和DLK計算模型,并采用遺傳算法進行全局優化,優化后得到3個變量的最優值,將之代入有限元軟件,計算得到最大應力值。2個模型的計算結果對比見表3。DLK模型優化得到的最大應力明顯小于LK模型優化得到的最大應力,再次表明使用動力學演化的樣本可以找到更優的設計解。

(a)等軸側視圖

表 3 LK模型與DLK模型的優化結果對比
首先,將動力學演化樣本生成方法引入代理模型優化設計,通過拉丁超立方抽樣得到初始樣本點集;然后,基于動力學演化計算,生成更均勻的樣本點集,并用于代理模型構造;最后,基于遺傳算法得到最優解,從而給出一套基于動力學演化的代理模型優化方法。通過函數測試和機床橫梁優化實例,證明演化后樣本集在代理模型構建和模型全局尋優方面的優越性。