李正良,彭思思,王 濤
(1. 重慶大學(xué)土木工程學(xué)院,重慶 400045;2. 山地城鎮(zhèn)建設(shè)與新技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室(重慶大學(xué)),重慶 400045)
隨著計(jì)算機(jī)建模分析能力的不斷提高,在工程優(yōu)化設(shè)計(jì)領(lǐng)域中,采用有限元分析或計(jì)算流體動(dòng)力學(xué)技術(shù)進(jìn)行結(jié)構(gòu)分析成為獲取實(shí)際響應(yīng)的主要手段。然而,數(shù)值仿真模型缺乏與設(shè)計(jì)變量相關(guān)的目標(biāo)函數(shù)及約束函數(shù)的顯式表達(dá)式,屬于“黑箱問題”,基于顯式、連續(xù)函數(shù)梯度信息的傳統(tǒng)優(yōu)化算法不再適用;且數(shù)值仿真模擬往往需要耗費(fèi)大量的時(shí)間,使得遺傳算法[1]、粒子群算法[2]等一系列現(xiàn)代啟發(fā)式群算法在優(yōu)化設(shè)計(jì)中的計(jì)算成本變得難以接受。
幸運(yùn)的是,隨著代理模型的發(fā)展以及代理模型技術(shù)在優(yōu)化設(shè)計(jì)中的應(yīng)用,上述問題在一定程度上得以緩解[3]。代理模型技術(shù)通過一定數(shù)量的設(shè)計(jì)變量樣本及相應(yīng)的響應(yīng)值,建立輸入與輸出的近似函數(shù)關(guān)系。將代理模型與優(yōu)化算法相結(jié)合,形成了一類基于代理模型的優(yōu)化(surrogate-based optimization, SBO)方法,能大幅減少優(yōu)化過程中的計(jì)算量,提高優(yōu)化設(shè)計(jì)的效率。最初這一方法被應(yīng)用于“一步”優(yōu)化設(shè)計(jì)框架中[4],直接使用一次抽樣所得樣本建立代理模型進(jìn)行優(yōu)化求解,不涉及加點(diǎn)過程,所得代理模型精度往往難以保證,且優(yōu)化結(jié)果偏差較大。而序列優(yōu)化設(shè)計(jì)能夠通過自適應(yīng)地添加新樣本,提高代理模型精度、降低優(yōu)化誤差,因此,基于代理模型的序列優(yōu)化方法得到了廣泛的認(rèn)可和應(yīng)用[5?6]。
基于代理模型的序列優(yōu)化方法首先采用少量初始樣本建立代理模型,在優(yōu)化過程中根據(jù)加點(diǎn)準(zhǔn)則進(jìn)行自適應(yīng)采樣,不斷更新代理模型并進(jìn)行優(yōu)化求解,直至滿足收斂條件。這一過程中,加點(diǎn)準(zhǔn)則的選擇將直接影響代理模型精度、最終優(yōu)化結(jié)果以及優(yōu)化設(shè)計(jì)效率,顯得尤為重要,因此探究和發(fā)展性能更佳的加點(diǎn)策略成為現(xiàn)階段工程優(yōu)化設(shè)計(jì)領(lǐng)域的研究熱點(diǎn)[7?18]。
現(xiàn)有加點(diǎn)策略中,經(jīng)典的加點(diǎn)準(zhǔn)則是將每次優(yōu)化的最優(yōu)設(shè)計(jì)直接加入樣本集中更新模型,即最小化模型預(yù)測準(zhǔn)則[7]。這一加點(diǎn)準(zhǔn)則以最優(yōu)解為導(dǎo)向,能使算法迅速地收斂,但它過分依賴于已有模型的預(yù)測結(jié)果,沒有考慮代理模型精度較低帶來的誤差,相關(guān)研究[8]表明,此種做法會(huì)使算法難以搜尋到全局最優(yōu)解,優(yōu)化進(jìn)程陷于局部最小值。為了更好地在整個(gè)設(shè)計(jì)空間進(jìn)行全局優(yōu)化設(shè)計(jì),Jones 等[9]基于Kriging 模型提出了期望提高(expected improvement, EI)準(zhǔn)則,并與序列優(yōu)化相結(jié)合得到一種高效全局優(yōu)化(efficient global optimization, EGO)算法。隨后許多學(xué)者針對(duì)EI 準(zhǔn)則進(jìn)行了改進(jìn),發(fā)展了q-EI[10]、廣義期望提高[11]、加權(quán)EI 函數(shù)[12]等,拓展了該方法的適用范圍。同時(shí),一系列兼顧局部開發(fā)和全局搜索能力的加點(diǎn)準(zhǔn)則被陸續(xù)提出,如PI(probability of improvement)準(zhǔn)則[13]、MSE (mean square error)準(zhǔn)則[14]、LBC(low-bounding confidence)準(zhǔn)則[15]等。除此之外,用于并行計(jì)算的多點(diǎn)加點(diǎn)準(zhǔn)則由于計(jì)算效率頗高受到一些學(xué)者的青睞,高月華等[16]、Hamza 等[17]、Zhan 等[18]對(duì)此展開了深入的研究。
然而,上述加點(diǎn)準(zhǔn)則仍存在一些不足之處:一方面,上述優(yōu)化設(shè)計(jì)方法和采樣策略均基于貝葉斯估計(jì)的Kriging 模型,不適用于缺乏方差估計(jì)的代理模型,如徑向基函數(shù)[19]等,發(fā)展具有普適性的加點(diǎn)準(zhǔn)則有待進(jìn)一步研究;另一方面,Kriging模型中預(yù)測方差是樣本空間距離的相關(guān)函數(shù),基于方差的加點(diǎn)策略側(cè)重在樣本稀疏的區(qū)域進(jìn)行抽樣,這將使樣本趨于空間均勻分布,背離自適應(yīng)采樣的初衷,不利于優(yōu)化效率的提高。因此,如何進(jìn)一步提高代理模型優(yōu)化設(shè)計(jì)的全局尋優(yōu)能力和優(yōu)化效率,仍是目前亟待解決的問題[19]。
據(jù)此,針對(duì)復(fù)雜黑箱問題的優(yōu)化設(shè)計(jì),本文提出了一種適用于任意代理模型的混合加點(diǎn)序列優(yōu)化方法。該方法在優(yōu)化循環(huán)過程中使用混合加點(diǎn)準(zhǔn)則添加新的樣本點(diǎn),對(duì)設(shè)計(jì)空間進(jìn)行全局搜索和局部開發(fā),尋找最優(yōu)解鄰域的同時(shí)搜索模型預(yù)測偏差較大的區(qū)域,以期能夠最大程度地尋到全局最優(yōu)點(diǎn),提高優(yōu)化算法的精度和效率。
對(duì)于任意的約束優(yōu)化問題,其數(shù)學(xué)模型為[20]:
其中,f(x)為優(yōu)化目標(biāo)函數(shù),須服從m1個(gè)等式約束方程和m2個(gè)不等式約束,d維設(shè)計(jì)變量x的取值范圍為[xL,xR]。將代理模型技術(shù)引入優(yōu)化設(shè)計(jì)中,式(1)可轉(zhuǎn)化為如下形式:
式中,上標(biāo)“~”表示采用一定數(shù)量樣本建立的代理模型函數(shù)。
為求解上述優(yōu)化問題,一般的代理模型序列優(yōu)化設(shè)計(jì)流程如圖1 所示。在序列優(yōu)化過程中,樣本的選取決定了代理模型的精度以及優(yōu)化進(jìn)行的方向,因此加點(diǎn)準(zhǔn)則對(duì)實(shí)現(xiàn)高效的全局優(yōu)化具有重要影響。
圖1 序列優(yōu)化設(shè)計(jì)流程圖Fig. 1 Flow-chart of sequential optimization design
本文提出了一種與代理模型無關(guān)的混合加點(diǎn)準(zhǔn)則,其核心思想是保證優(yōu)化算法具備較好的局部開發(fā)和全局搜索能力?;旌霞狱c(diǎn)準(zhǔn)則在一次序列優(yōu)化循環(huán)中通過局部加點(diǎn)和全局加點(diǎn)同時(shí)產(chǎn)生2 個(gè)樣本,下面將對(duì)這兩個(gè)加點(diǎn)過程展開詳細(xì)描述。
1)局部加點(diǎn)過程
最小化模型預(yù)測準(zhǔn)則[7]是最早應(yīng)用于序列優(yōu)化設(shè)計(jì)的一種加點(diǎn)方法,具有操作簡單、易于實(shí)現(xiàn)的特點(diǎn),可以引導(dǎo)優(yōu)化算法很快地收斂,表現(xiàn)出較強(qiáng)的局部開發(fā)能力。因此,本文采用該準(zhǔn)則進(jìn)行局部加點(diǎn):在每次循環(huán)中對(duì)當(dāng)前代理模型進(jìn)行優(yōu)化求解,將所得最優(yōu)設(shè)計(jì)加入樣本集中,更新代理模型。該準(zhǔn)則可表示為:
式中,"arg"表示自變量與因變量之間的映射關(guān)系,返回值為當(dāng)前模型最小值f?min對(duì)應(yīng)的輸入?yún)?shù)。
但由于研究對(duì)象往往具有多峰、非線性等復(fù)雜特點(diǎn),代理模型擬合的精度較低,導(dǎo)致全局最優(yōu)點(diǎn)很容易被忽略,僅使用局部加點(diǎn)準(zhǔn)則的優(yōu)化結(jié)果往往難以滿足要求。
2)全局加點(diǎn)過程
全局加點(diǎn)的目的是探究設(shè)計(jì)空間中最優(yōu)解的潛在區(qū)域,進(jìn)一步提高模型精度,使優(yōu)化朝著全局最優(yōu)的方向進(jìn)行。Xu 等[21]基于泰森圖解法和LOO(leave-one-out)交叉驗(yàn)證提出了用于構(gòu)造全局代理模型CV-Voronoi 采樣方法,為序列優(yōu)化設(shè)計(jì)的全局探索提供了可借鑒的思路?;诖耍疚囊雓-fold 交叉驗(yàn)證(k-fold cross validation)方法,發(fā)展了一種高效的全局加點(diǎn)方法,該方法可根據(jù)誤差追蹤對(duì)整個(gè)設(shè)計(jì)空間進(jìn)行探索,在預(yù)測誤差較大的區(qū)域采樣,能夠有效減少計(jì)算成本,提高代理模型精度。其加點(diǎn)過程可大致分為設(shè)計(jì)空間的劃分、預(yù)測誤差的計(jì)算以及新樣本的選取3 個(gè)步驟。
首先采用泰森圖解法劃分設(shè)計(jì)空間,以便更直觀地研究目標(biāo)函數(shù)在局部區(qū)域的特性。假設(shè)d維設(shè)計(jì)空間中存在一組樣本點(diǎn)X={x1,x2,···,xn},泰森圖解法根據(jù)這組樣本將設(shè)計(jì)空間分割為n個(gè)泰森多邊形{R1,R2, ···,Rn},Ri的定義為:
式中:Ω 代表整個(gè)設(shè)計(jì)空間;x為空間中任意一向量點(diǎn);||·||2表示向量的二范數(shù)。圖2 展示了一個(gè)二維的泰森多邊形(Voronoi 圖),明顯看出多邊形Ri內(nèi)任意一點(diǎn)到其中心點(diǎn)xi的距離是最近的,因此可以將多邊形區(qū)域Ri視為中心點(diǎn)xi的影響范圍。由于Voronoi 圖形狀不規(guī)則,且對(duì)于高維度問題難以表達(dá),實(shí)際操作中采用大量隨機(jī)點(diǎn)來近似描述多邊形的形狀。
圖2 二維Voronoi 示意圖Fig. 2 Example of 2D Voronoi diagram
然后,對(duì)各個(gè)樣本點(diǎn)及其所在區(qū)域進(jìn)行誤差評(píng)價(jià)。交叉驗(yàn)證被視為一種非常有效的誤差計(jì)算方法,可以從有限的數(shù)據(jù)中獲取盡可能多的信息,采用計(jì)算簡單高效的k-fold 交叉驗(yàn)證方法計(jì)算誤差。在k-fold 交叉驗(yàn)證中,將n個(gè)樣本點(diǎn)隨機(jī)地分為k組互斥的子集{D1,D2, ···,Dk},樣本的預(yù)測誤差由下式可得:
將樣本的交叉驗(yàn)證誤差進(jìn)行排序,選出預(yù)測誤差最大的點(diǎn)xc,其所在的多邊形Rc被記為“敏感多邊形”[21],在該區(qū)域內(nèi)進(jìn)行采樣。為了讓樣本具有較好的空間分布均勻性,且最大程度地獲取函數(shù)的局部特征,應(yīng)使敏感多邊形Rc內(nèi)產(chǎn)生的新樣本點(diǎn)距中心點(diǎn)xc較遠(yuǎn),根據(jù)最大化最小距離準(zhǔn)則篩選樣本,即:
式中,“arg”含義與式(3) 中一致,計(jì)算得到與最大化函數(shù)最優(yōu)解對(duì)應(yīng)的輸入向量x。
基于上述混合加點(diǎn)準(zhǔn)則,本文發(fā)展了一種通用的代理模型序列優(yōu)化方法,其優(yōu)化設(shè)計(jì)流程如圖3 所示,圖中右側(cè)虛線框內(nèi)為混合加點(diǎn)過程。
圖3 基于混合加點(diǎn)準(zhǔn)則的序列優(yōu)化設(shè)計(jì)流程圖Fig. 3 Flow-chart of sequential optimization design based on hybrid infill sampling criterion
選擇適當(dāng)?shù)拇砟P汀?yōu)化算法,確定相關(guān)計(jì)算參數(shù)后,基于混合加點(diǎn)準(zhǔn)則的代理模型序列優(yōu)化設(shè)計(jì)的具體實(shí)施步驟為:
1)根據(jù)給定的試驗(yàn)設(shè)計(jì)方法,在設(shè)計(jì)空間中選取少量初始樣本X0,此時(shí)循環(huán)次數(shù)i=0;
2)進(jìn)行數(shù)值計(jì)算或結(jié)構(gòu)分析,獲取樣本X i對(duì)應(yīng)的實(shí)際響應(yīng)f(X i);
建議的序列優(yōu)化方法可采用任意代理模型技術(shù)進(jìn)行建模,在循環(huán)過程中通過添加樣本對(duì)當(dāng)前代理模型最小值附近的局部地區(qū)展開細(xì)致搜索,同時(shí)在設(shè)計(jì)空間中函數(shù)變化波動(dòng)大、非線性程度較強(qiáng)的區(qū)域進(jìn)行自適應(yīng)采樣,減少模型的預(yù)測偏差,引導(dǎo)優(yōu)化進(jìn)行的方向。故該方法能夠在序列迭代中不斷進(jìn)行全局搜索與局部開發(fā),具有較好的全局尋優(yōu)能力。
本節(jié)選用如表1 所示的三個(gè)典型數(shù)學(xué)優(yōu)化算例驗(yàn)證所提優(yōu)化設(shè)計(jì)方法,并將建議的混合加點(diǎn)準(zhǔn)則與通用的EI 準(zhǔn)則[9]、PI 準(zhǔn)則[13]及LBC 準(zhǔn)則[15]進(jìn)行對(duì)比。
表1 測試函數(shù)信息表Table 1 The information of test functions
試驗(yàn)中,采用拉丁超立方抽樣(Latin hypercube sampling, LHS)選取少量初始樣本;調(diào)用MATLAB中的DACE 工具箱[22]建立Kriging 代理模型;在優(yōu)化循環(huán)過程中,采用簡單易實(shí)現(xiàn)、可調(diào)參數(shù)少的粒子群優(yōu)化(PSO)算法[23]進(jìn)行尋優(yōu)。但需強(qiáng)調(diào)文中建議的基于混合加點(diǎn)準(zhǔn)則的序列優(yōu)化設(shè)計(jì)方法也能與其他代理模型方法相結(jié)合,適用于多種工程優(yōu)化問題。
在初始樣本數(shù)量、循環(huán)次數(shù)相同的情況下,不同測試函數(shù)在序列優(yōu)化過程中的收斂情況如圖4所示。從圖中看出,當(dāng)函數(shù)維度較低時(shí),少量優(yōu)化迭代后的結(jié)果已經(jīng)非常接近全局最優(yōu);隨著維度的增加,函數(shù)空間分布特征變得復(fù)雜,所需優(yōu)化迭代次數(shù)隨之增加。對(duì)比幾種不同的加點(diǎn)準(zhǔn)則,容易發(fā)現(xiàn):在序列優(yōu)化過程中,基于混合加點(diǎn)準(zhǔn)則的優(yōu)化設(shè)計(jì)方法能以較少的迭代次數(shù)迅速逼近全局最小值;對(duì)于所有測試函數(shù),使用建議的混合加點(diǎn)準(zhǔn)則能得到更加精確的優(yōu)化結(jié)果,其相對(duì)誤差均控制在0.01%以內(nèi)。相比之下,基于EI 準(zhǔn)則、PI 準(zhǔn)則及LBC 準(zhǔn)則的優(yōu)化設(shè)計(jì)收斂速度較慢,易陷于最優(yōu)解附近的局部最小值,難以收斂到全局最優(yōu)解。
圖4 不同加點(diǎn)準(zhǔn)則下的優(yōu)化收斂過程Fig. 4 Optimization process under different infill sampling criterion
測試結(jié)果如表2 所示,為避免偶然性,表中數(shù)據(jù)取50 次序列優(yōu)化設(shè)計(jì)結(jié)果的平均值??梢杂^察到,對(duì)于所有測試函數(shù),采用混合加點(diǎn)準(zhǔn)則時(shí)NIteration較小,表明該加點(diǎn)策略能有效減少優(yōu)化循環(huán)次數(shù),優(yōu)化效果好,相應(yīng)地,PSO 算法調(diào)用代理模型計(jì)算響應(yīng)的次數(shù)Nmcall也相應(yīng)較少。從樣本數(shù)量來看,由于一次循環(huán)過程中混合加點(diǎn)準(zhǔn)則的加點(diǎn)數(shù)目是其他加點(diǎn)準(zhǔn)則的2 倍,因此二維函數(shù)F1在基于混合加點(diǎn)準(zhǔn)則的優(yōu)化設(shè)計(jì)中總樣本數(shù)和原函數(shù)調(diào)用次數(shù)Nfcall略大;但隨著維度的上升,對(duì)于函數(shù)F2、F3,使用EI 準(zhǔn)則、PI 準(zhǔn)則及LBC準(zhǔn)則所需優(yōu)化循環(huán)次數(shù)和樣本數(shù)量都遠(yuǎn)超過混合加點(diǎn)準(zhǔn)則,調(diào)用原函數(shù)進(jìn)行計(jì)算的次數(shù)也大幅度上升,而此時(shí)混合加點(diǎn)準(zhǔn)則表現(xiàn)出較強(qiáng)的全局尋優(yōu)能力,計(jì)算效率高。
表2 優(yōu)化結(jié)果對(duì)比Table 2 Comparison of optimization results
以某輸電塔連接節(jié)點(diǎn)的優(yōu)化設(shè)計(jì)為例,對(duì)連接構(gòu)件進(jìn)行截面優(yōu)化設(shè)計(jì)。節(jié)點(diǎn)由主角鋼、左右兩肢角鋼以及節(jié)點(diǎn)板組成,各部分通過高強(qiáng)承壓型螺栓連接。通過ANSYS 軟件的Solid 單元建模,節(jié)點(diǎn)的有限元模型如圖5 所示,定義角鋼、節(jié)點(diǎn)板、螺栓之間的相互接觸關(guān)系,考慮幾何非線性和材料非線性,采用Newton-Raphson 法進(jìn)行分析計(jì)算。
圖5 輸電塔節(jié)點(diǎn)構(gòu)造示意圖Fig. 5 The joint of transmission tower
在輸電塔節(jié)點(diǎn)優(yōu)化設(shè)計(jì)中,選取主角鋼肢厚tm、肢角鋼肢厚tn、節(jié)點(diǎn)板厚度tp、螺栓直徑d這4 個(gè)主要影響參數(shù)作為離散設(shè)計(jì)變量,優(yōu)化目標(biāo)函數(shù)為節(jié)點(diǎn)用鋼量總成本F(x),同時(shí)應(yīng)滿足承載力約束及位移約束條件,該優(yōu)化問題表述為:
式中:Si為設(shè)計(jì)變量xi的設(shè)計(jì)尺寸取值集合;M(x)為輸電塔節(jié)點(diǎn)的極限抗彎承載力;θ(x) 表示彎矩作用下節(jié)點(diǎn)產(chǎn)生的最大轉(zhuǎn)角位移;[M]、[θ]分別為給定的抗彎承載力下限值和轉(zhuǎn)角位移上限值。
采用拉丁超立方抽樣方法選取初始樣本,通過精細(xì)化有限元模型獲取節(jié)點(diǎn)的彎矩和位移,建立相應(yīng)的Kriging 代理模型,根據(jù)基于混合加點(diǎn)準(zhǔn)則的代理模型序列優(yōu)化方法進(jìn)行優(yōu)化設(shè)計(jì)。
表3 中展示了優(yōu)化前后節(jié)點(diǎn)的不同設(shè)計(jì),其中初始設(shè)計(jì)為初始樣本中滿足約束條件且目標(biāo)函數(shù)最小的設(shè)計(jì)。通過對(duì)比可以發(fā)現(xiàn),采用建議方法進(jìn)行離散優(yōu)化設(shè)計(jì)后的輸電塔節(jié)點(diǎn)在抗彎承載能力和位移變形情況在滿足要求的情況下,用鋼量總成本降低了20.78%。
表3 節(jié)點(diǎn)優(yōu)化設(shè)計(jì)結(jié)果Table 3 Optimization results of joint
針對(duì)黑箱優(yōu)化設(shè)計(jì)存在的問題,本文提出了一種與代理模型無關(guān)的混合加點(diǎn)準(zhǔn)則,從而發(fā)展了一類基于混合加點(diǎn)的代理模型序列優(yōu)化設(shè)計(jì)方法。該方法在序列優(yōu)化迭代中通過全局搜索與局部開發(fā)協(xié)同搜索最優(yōu)解,自適應(yīng)地提高模型精度。通過數(shù)值算例表明,與經(jīng)典的基于EI 準(zhǔn)則、PI 準(zhǔn)則以及LBC 準(zhǔn)則的優(yōu)化設(shè)計(jì)結(jié)果相比,建議方法表現(xiàn)出良好的穩(wěn)健性,且能夠兼顧精度與效率。將建議方法應(yīng)用于輸電塔節(jié)點(diǎn)設(shè)計(jì),對(duì)節(jié)點(diǎn)幾何尺寸進(jìn)行優(yōu)化,有效地減少了用鋼量成本。