譚佳斌,趙維濤
(沈陽航空航天大學 航空宇航學院, 沈陽 110136)
面對大多數復雜的工程結構設計問題,為獲取設計參數與結構響應之間的關系,工程技術人員往往采用代理模型。實踐表明,代理模型具有精度高、計算量小,低誤差等特點[1],可廣泛應用于航空航天等領域。現有較為常用代理模型主要有:響應面法[2]、神經網絡法[3]、支持向量機[4]和Kriging模型[5-7]等。由于Kriging模型具有良好處理非線性預測能力,Kriging模型已成為最具代表的代理模型之一。
為完善Kriging模型,研究者已經進行了大量的研究工作。增強梯度Kriging模型[8],優點在于通過利用梯度信息來提高Kriging模型的計算精度。Kennedy等人將協同Kriging模型[9]推廣到工程領域,該模型通過用容易抽樣的量替換較困難抽樣的量來進行輔助預測。Joseph等人提出了盲Kriging模型[10-12],通過貝葉斯法識別趨勢函數。Kwon等人提出了趨勢Kriging模型[13],但趨勢函數求解過程不利于工程實際問題的求解。
本文提出了一種改進的Kriging模型。與以往的Kriging模型不同的是:
1) 在生成初始樣本后,本文通過響應面法確定趨勢函數。考慮到實際工程問題,本文使用一至三階不含交叉項的多項式函數作為備選趨勢函數,通過回歸分析計算出趨勢函數的相關系數,選取趨勢擬合程度較高的備選趨勢函數的階數作為Kriging模型整體趨勢函數的階數。
2) 在確定趨勢項的階數后,將整體趨勢函數中所忽略的交叉項重新加入Kriging模型中,通過遺傳算法重新篩選基函數,排除對模型計算精度無影響或者影響極小的基函數項,保留影響較大基函數項,降低計算量的同時提高模型的精度。
經典Kriging模型包含整體趨勢函數和隨機函數2個部分。已有研究表明,在樣本數量足夠多的情況下,整體趨勢函數對Kriging模型的預測精度影響較小[9-13]。然而足夠多的樣本必然帶來計算成本的增加,不利于工程實際。因此,在樣本數量有限的情況下,正確選取整體趨勢函數有助于提高Kriging模型的預測精度。本文首先利用響應面方法確定Kriging模型整體趨勢函數的階次,然后通過遺傳算法對整體趨勢函數中的各項進行優化選取。
利用拉丁超立方抽樣方式生成初始樣本,并求得對應樣本點的響應值。由于在最佳基函數選擇中需要對全基函數進行計算對比,因此初始樣本點的數量一定要大于等于全基函數的項數,初始樣本點的數量為:
k1≥(n+p)!/n!×p!
(1)
式(1)中:k1為初始樣本點數量;n是函數的維數;p是函數的階數。
響應面函數設計思路應當形式簡單,并使待定系數盡量少,以減小結構分析的工作量,因此在建立整體趨勢函數時忽略交叉項。
考慮到實際工程問題需求,本文建立一至三階不含交叉項的多項式作為備選趨勢函數。一階、二階、三階的響應函數為:

(2)
式(2)中,a、bi、ci和di為待定系數。
通過回歸分析,計算出所有備選趨勢函數的相關系數,選取趨勢擬合程度最高的趨勢備選函數的階數作為Kriging模型中趨勢函數的階數。相關系數為:
(3)

選取相關系數最趨近于1的備選趨勢函數的階數作為Kriging模型中趨勢函數的階數。

Martin等[14]開發的二進制編碼非支配排序遺傳算法,可以搜索基函數的最優子集。二進制編碼的生成一個(n+p)!/n!×p!位編碼,其中n是函數的維數,p是函數的階數。全基函數中的每個多項式項都被分配給不同的編碼。是否使用指定的多項式項由二進制數決定,其中1表示選擇多項式項作為候選項,0表示沒有選擇多項式項。可定義目標函數為均方根誤差最小,來比較每個基函數的適應值,通過迭代選擇,直到滿足收斂條件,即可從全基函數項中找到基函數的最佳子集。
當基函數選取后,利用主動學習函數逐步增加具有重要意義的樣本,進而更新已構建的Kriging模型,直至滿足一定收斂條件。常見的學習函數有EEF函數、U函數和H函數。實踐表明[15],U函數和其他學習函數相比,在保持較高精度的同時,所需的樣本數量較少,因此本文采用U函數,U函數的表達式為:
(4)
學習函數的停止條件(即Kriging模型的收斂條件)為:
min.(U(X))>2
(5)
本文方法的基本流程如下:
1) 使用拉丁超立方抽樣方式生成初始樣本;
2) 通過響應面法求得一至三階響應面函數,作為備選趨勢函數;
3) 對所有備選趨勢函數進行回歸分析,分別計算對應R2值并判別,選取趨勢擬合程度較高的備選趨勢函數的階數作為Kriging模型整體趨勢函數的階數;
4) 使用遺傳算法搜索趨勢函數的基函數最優子集,目標函數為均方根誤差最小;
5) 通過主動學習函數訓練已構建的Kriging模型,直至滿足收斂條件。
本文給出3個數值算例,包括三角函數、二維函數和三維函數,以驗證本文提出的改進 Kriging模型(improved kriging model,IKM)的計算效率與計算精度。采用誤差均方根衡量計算精度,采用總樣本數量衡量計算效率,將IKM與經典Kriging模型(classical kriging model,CKM)、泛Kriging模型(universal kriging model,UKM)和趨勢Kriging模型(trended kriging model,TKM)進行對比。計算表格中的UKM1代表一階UKM、UKM2代表二階UKM、TKM1代表一階TKM、TKM2代表2階TKM,k是樣本的總數量。
k=k1+k2
(6)
式(6)中:k1是初始樣本點的數量;k2是由主動學習函數篩選來的后續樣本點數量。
測試函數1來源于文獻[13],有:
(7)
圖1為測試函數1的真實響應值的等高線圖,圖2為本文方法給出的響應值等高線圖。對比圖1、圖2可知,IKM的響應值與真實函數的響應值總體趨勢吻合較好。

圖1 測試函數1真實響應值等高線圖

圖2 基于IKM的測試函數1響應值等高線圖
趨勢函數計算結果見表1,IKM與其他模型的總樣本數及對比見表2。通過表1可知,當代理模型整體趨勢函數階數等于2時,趨勢擬合程度最高。由表2可知,本文算法需要12個初始樣本和3個后續樣本點,本文方法的計算效率和其他算法的計算效率相同,計算精度有顯著提升。

表1 趨勢函數的計算結果(測試函數1)

表2 各種計算結果(測試函數1)
測試函數2來源于文獻[13],有:
0.1(x1-3)2+0.1(x2-2)2
(8)
圖3為測試函數2的真實響應值的等高線圖,圖4為本文方法給出的響應值等高線圖。對比圖3、圖4可知,IKM的響應值與真實函數的響應值總體趨勢吻合較好。

圖3 測試函數2真實響應值等高線圖

圖4 基于IKM的測試函數2響應值等高線圖
趨勢函數計算結果見表3,IKM與其他模型的總樣本數見表4。由表4可知,本文算法需要20個初始樣本和5個后續樣本點,計算效率比其他算法略低,但計算精度有顯著提升。

表3 趨勢函數的計算結果(測試函數2)

表4 各種計算結果(測試函數2)
測試函數3來源于文獻[16],有:

(9)
趨勢函數的計算結果見表5,IKM與其他模型的總樣本數見表6。通過表5可知,當代理模型整體趨勢函數階數等于3時,趨勢擬合程度最高。由表6可知,本文算法需要40個初始樣本和5個后續樣本點,雖然計算效率比其他算法略低,但是計算精度有顯著提升。

表5 趨勢函數的計算結果(測試函數3)

表6 各種計算結果(測試函數3)
在Kriging模型構建過程中,首先利用不含交叉項的多項式響應面法確定趨勢函數的階次,然后將趨勢函數中忽略的交叉項重新加入Kriging模型的整體趨勢函數中,通過遺傳算法篩選趨勢函數的基函數項,排除整體趨勢函數中不必要的項,降低Kriging模型的計算量的同時提高模型的計算精度。
算例結果表明:由于本文考慮了整體趨勢函數,在計算量增加不多的情況下,計算精度明顯高于其他方法。然而值得注意的是,為了便于最佳基函數的選取,本文選取的初始樣本點數量等于全基函數的項數,這將導致樣本點數量隨著變量個數的增加出現急劇增加的現象。對于這一問題,需對基函數選取方法進行完善,將在后續工作中進行改進。