葉年輝,龍騰,2,武宇飛,唐亦帆,史人赫
1. 北京理工大學 宇航學院,北京 100081
2. 北京理工大學 飛行器動力學與控制教育部重點實驗室,北京 100081
3. 清華大學 航天航空學院,北京 100084
進化算法通過模擬某些自然界的現(xiàn)象或過程,如變異、繁殖、遺傳重組、優(yōu)勝劣汰等操作,充分探索設計空間,快速高效地求解優(yōu)化問題。與傳統(tǒng)的優(yōu)化算法(如牛頓法、共軛梯度法等)相比,進化算法無需利用目標函數(shù)的梯度信息,運用范圍更廣泛,但在進化過程中需要消耗大量的計算資源。在幾種典型的進化算法中,相比于粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法、遺傳算法(Genetic Algorithm,GA),差分進化(Differential Evolution,DE)算法在魯棒性、算法控制參數(shù)規(guī)模等方面具有顯著優(yōu)勢[1-2]。此外,為提升差分進化算法的約束處理能力,國內外學者提出了眾多約束差分進化算法,主要包括:約束差分進化算法((μ+λ)-Constrained Differential Evolution,(μ+λ)-CDE)[3]、基于ε等級比較機制的差分進化算法[4]、種群協(xié)同差分進化算法[5]等。
日益廣泛應用的高精度分析模型(計算流體力學、結構有限元、計算電磁學等)不斷增加飛行器設計優(yōu)化問題的計算復雜性,導致差分進化算法難以高效地求解現(xiàn)代飛行器設計優(yōu)化問題。以全電推衛(wèi)星平臺設計優(yōu)化問題為例,結構有限元、軌道轉移動力學等模型的使用,提高了設計可信度與設計質量,但單次仿真計算成本大大增加,導致設計優(yōu)化過程計算十分耗時[6]。為了提高計算效率,代理模型(Surrogate或Metamodel)廣泛應用于工程設計優(yōu)化。文獻[7-8]從近似精度、魯棒性、時效性與軟件實現(xiàn)難度幾個方面,對多項式響應面(Polynomial Response Surface Method,PRSM)[9]、徑向基函數(shù)(Radial Basis Function,RBF)[10]、Kriging代理模型(KRG)[10]和人工神經網(wǎng)絡[11]的綜合性能進行了對比研究。研究結果表明,KRG的綜合性能相較于其他代理模型具有顯著優(yōu)勢。文獻[12-13]對KRG代理模型及其優(yōu)化方法的最新研究進行了全面的介紹,指出目前KRG近似理論研究主要方向包括梯度增強的KRG模型[14]、CoKriging模型[15]、分層KRG模型[16]等。此外,由于KRG可以提供任意點的預測方差,在基于KRG的近似優(yōu)化方法領域發(fā)展了多種優(yōu)化加點策略,包括期望改善度準則[17]、改善概率準則[18]、均方差準則[12]等。
在代理模型理論基礎上,基于代理模型的進化算法(Surrogate Assisted Evolution Algorithms,SAEAs)近年來得以不斷發(fā)展[19-20]。SAEAs的基本思想是在進化過程中通過進化操作生成后代種群,并利用代理模型預測后代種群的目標函數(shù)值,減少對原分析模型的調用次數(shù);同時根據(jù)后代種群信息選取部分后代個體作為新增樣本點,在種群進化同時動態(tài)更新代理模型。目前,SAEAs研究主要關注于求解無約束優(yōu)化問題。陶良波[21]提出了一種基于雙層多代理模型的粒子群優(yōu)化算法,利用期望改善度(Expected Improvement, EI)準則與混合代理模型,提高了求解低維無約束優(yōu)化問題(設計變量個數(shù)不超過20)的全局收斂性。Liu等[22]結合降維技術提出了一種基于高斯過程的進化算法(Gaussian Process Surrogate Model Assisted Evolutionary algorithm, GPEME),降低了中低維度(設計變量個數(shù)在20~50之間)無約束優(yōu)化問題復雜程度。Yu等[23]在經典PSO算法中結合社會PSO算法,提出了一種基于代理模型的分層粒子群算法,提高了算法對高維無約束優(yōu)化問題(設計變量個數(shù)超過50)的局部搜索能力。田杰等[24]提出了一種基于多目標加點規(guī)則的高斯過程模型輔助社會粒子群算法,結合EI準則與統(tǒng)計下限最小準則選取新增樣本點,與GPEME相比在高維問題上具有更好的全局收斂性。然而目前面向約束優(yōu)化問題的SAEAs的研究較少,導致SAEAs在實際工程中的應用受到限制。Wang等[25]利用差分進化分別選取全局與新增搜索樣本,提出了一種基于進化采樣的優(yōu)化方法,并結合罰函數(shù)方法成功應用于翼型優(yōu)化問題中。然而,基于罰函數(shù)的約束處理方法存在罰系數(shù)選取困難的問題,若罰系數(shù)選取不當,將造成收斂速度下降甚至無法找到可行改善解。為避免罰系數(shù)選取問題,Wang等[26]提出了一種基于全局與局部代理模型的差分進化(Global and Local Surrogate Assisted Differential Evolution, GLoSADE)算法,在全局探索過程中引入可行準則進行個體比較,并利用內點法對種群所有個體進行局部優(yōu)化,在一定的計算資源情況下可有效求解約束優(yōu)化問題。然而,該方法每代均需要反復調用原分析模型重估種群,造成計算效率低下、收斂速度緩慢。
為了提高SAEAs在求解飛行器等約束優(yōu)化問題的計算效率與全局收斂性,本文提出了一種基于KRG代理模型的約束差分進化算法(Kriging assisted Constrained Differential Evolution, KRG-CDE)。通過差分進化操作進行全局探索,并結合約束改善概率與最優(yōu)適應度選取探索樣本,降低代理模型近似誤差導致優(yōu)化性能下降的風險。通過序列二次規(guī)劃進行局部搜索生成搜索樣本,提高種群收斂速度。最后,通過標準測試算例與全電推衛(wèi)星多學科設計優(yōu)化問題與國際同類算法進行對比研究,驗證了KRG-CDE算法的有效性與工程實用性。
差分進化算法是一種常見的隨機搜索算法,通過變異、交叉以及選擇操作在進化過程中不斷提高種群適應度,逐漸收斂至優(yōu)化問題最優(yōu)解附近[1]。
表1 常用變異策略
由交叉操作將xi與對應的vi進行交叉,生成試驗個體ui,即
j=1,2,…,nv
(1)
式中:CR為變異概率;jrand為屬于[1,d]的隨機整數(shù);rj為在[0, 1]內服從均勻分布的隨機數(shù)。最后,通過選擇操作比較xi與ui,選取目標函數(shù)值較小者作為下一代父代個體。
KRG代理模型是一種估計方差最小的無偏最優(yōu)估計插值模型,由全局模型和局部偏差疊加而成[7]。KRG方法的數(shù)學表達式為
(2)
式中:μ(x)是設計空間內全局的近似模型,反映原分析模型在設計空間內的總體變化趨勢。局部偏差項Z(x)是均值為0、方差為σ2、協(xié)方差非零的隨機過程,表征在全局近似模型基礎上的局部偏差,其協(xié)方差矩陣與相關函數(shù)為
(3)
μ與σ2的最小二乘估計值可根據(jù)式(4)得到
(4)
式中:I為NKRG個元素的單位行向量。KRG方法的具體描述可參考文獻[7, 10]。
RBF是一種插值型代理模型,可表示為徑向函數(shù)線性加權形式:
(5)
其中,權重系數(shù)矢量w可由式(6)求解得到
(6)
式中:NRBF為構造RBF代理模型的樣本規(guī)模。文獻[27]指出選用三次函數(shù)作為徑向函數(shù)的RBF代理模型具有更好的近似性能,因此本文中徑向函數(shù)為三次函數(shù),即φ(r)=r3。
一般的約束工程優(yōu)化問題的數(shù)學模型可描述為
(7)
式中:nv為優(yōu)化問題維度;f為目標函數(shù);gj為第j個約束函數(shù);xLB與xUB分別為設計變量下界與上界。
KRG-CDE算法的流程如圖1所示,主要分為全局探索與局部搜索兩個階段:在全局探索階段,通過KRG代理模型提供的預測方差,構建基于約束改善度與最優(yōu)適應度的可行準則,從而引導種群向可能存在最優(yōu)解但樣本較為稀疏的區(qū)域進化;在局部搜索階段,為了有效折中代理模型的魯棒性、近似精度與構造效率[8],采用RBF構造局部優(yōu)化問題并結合序列二次規(guī)劃方法求解,從而提高算法的收斂速度。KRG-CDE算法的具體步驟如下。
圖1 KRG-CDE算法流程圖
步驟2采用基于Maximin的拉丁超方試驗設計方法,在初始設計空間內生成NP個初始樣本點。以最小距離最大化作為空間均布性評價指標,即
(8)
隨機生成50組拉丁超方采樣方案,并選取其中空間均布性最優(yōu)的方案作為初始樣本點。計算初始樣本點的相應的真實目標、約束函數(shù)值,并初始化樣本點數(shù)據(jù)庫。
步驟3利用樣本點數(shù)據(jù)庫中所有樣本點及函數(shù)響應值對目標函數(shù)及各個約束函數(shù)構造KRG代理模型。
步驟4根據(jù)式(9)計算樣本點數(shù)據(jù)庫中所有樣本點的約束違背度。根據(jù)可行準則對當前樣本點數(shù)據(jù)庫進行排序,并從中選取前Np個個體作為當前的父代種群。
(9)
步驟5分別采用Rand/1/bin、Rand/2/bin、Current-to-rand/1以及Current-to-best/1變異算子與交叉算子生成試驗種群Q={QR1∪QR2∪QCtoR∪QCtoB},其中采用Current-to-rand/1以及Current-to-best/1算子生成的變異種群不進行交叉操作直接作為試驗種群QCtoR與QCtoB。
(10)
式中:NKRG為構造KRG代理模型的樣本規(guī)模。
步驟7根據(jù)改進的可行準則從試驗種群中選取新增探索樣本,具體介紹參見2.2節(jié)。計算新增探索樣本的真實目標函數(shù)與約束函數(shù)值并將其添加至樣本點數(shù)據(jù)庫中?;诳尚袦蕜t判斷新增探索樣本點是否改善當前種群。若種群得到改善,返回步驟3,否則執(zhí)行步驟8。
步驟8從當前種群中隨機選取某個體作為序列二次規(guī)劃方法的初始點。根據(jù)歐氏距離從樣本點數(shù)據(jù)庫中選取距離初始點較近的NRBF個樣本點分別構造目標函數(shù)與約束函數(shù)對應的局部RBF代理模型。構造RBF的樣本點規(guī)模與優(yōu)化問題的維度相關,計算公式為
(11)
當NRBF大于已有數(shù)據(jù)庫樣本規(guī)模時,采用數(shù)據(jù)庫中所有樣本點構造RBF代理模型。
步驟9根據(jù)構造RBF的樣本點建立局部優(yōu)化數(shù)學模型如式(12)所示,并采用序列二次規(guī)劃方法求解該優(yōu)化問題得到新增搜索樣本點。
(12)
步驟10計算新增搜索樣本的真實目標函數(shù)與約束函數(shù)值并將其添加至樣本點數(shù)據(jù)庫中?;诳尚袦蕜t判斷新增搜索樣本是否改善當前種群。若種群得到改善,返回步驟8,否則執(zhí)行步驟11。
在處理約束優(yōu)化問題時,進化算法通常采用可行準則[28]對種群進行排序或比較??尚袦蕜t的比較標準如下:可行個體優(yōu)于非可行個體;非可行個體間比較時,約束違背度較小的個體更優(yōu);可行個體間比較時,目標函數(shù)值較小的個體更優(yōu)。
然而,在求解非線性程度較強的約束優(yōu)化問題時,代理模型對目標函數(shù)以及約束函數(shù)的預測精度難以保證,進而影響傳統(tǒng)可行準則個體排序結果的可靠性,最終導致種群向錯誤的方向進化。因此,本文提出了一種基于約束改善度與最優(yōu)適應度的可行準則。種群不存在可行個體時,利用各約束的改善概率[18]代替約束違背度選取新增探索樣本;種群存在可行個體時,構建最優(yōu)適應度函數(shù)選取探索樣本,具體步驟如下。
(13)
(14)
步驟3根據(jù)式(15)計算可行種群Qfeasi的最優(yōu)適應度函數(shù)。
(15)
為驗證KRG-CDE算法求解約束優(yōu)化問題的全局收斂性與優(yōu)化效率,本文選取了12個約束優(yōu)化問題作為標準測試算例,并與GLoSADE算法[26]以及(μ+λ)-CDE算法進行對比。
選取的標準測試算例的基本信息如表2所示[29-30]。標準測試問題的目標函數(shù)與約束函數(shù)的具體表達式見文獻[29-30]。其中包括兩個工程標準測試算例,壓力容器設計問題(Pressure Vessel Design, PVD4)和齒輪減速箱優(yōu)化問題(Speed Reducer design, SR7)。
表2 標準測試算例基本信息
KRG-CDE算法的參數(shù)設置如表3所示。GLoSADE算法[26]為典型約束SAEA,其最大模型調用次數(shù)設為400。(μ+λ)-CDE算法[3]是一種能夠有效求解約束優(yōu)化問題的差分進化算法,其最大模型調用次數(shù)設為3 000。兩種算法的其余參數(shù)均與原始文獻參數(shù)設置一致。為了減少隨機誤差影響,各算法分別對各算例連續(xù)優(yōu)化25次,統(tǒng)計優(yōu)化結果中可行解的最優(yōu)解(Best)、均值(Mean)、最差解(Worst)、標準差(Std)以及可行次數(shù)(FeasiNum)進行對比。
表3 KRG-CDE算法參數(shù)設置
分別采用KRG-CDE、GLoSADE與(μ+λ)-CDE算法求解上述約束優(yōu)化問題,優(yōu)化結果如表4所示,優(yōu)化結果箱線圖如圖2所示。
圖2 KRG-CDE、(μ+λ)-CDE與GLoSADE算法優(yōu)化結果缺口箱線圖
結果表明,與無代理模型輔助的約束差分進化算法(μ+λ)-CDE相比,KRG-CDE算法可在較少的計算資源條件下使種群進化至理論可行最優(yōu)解附近區(qū)域。以G01約束優(yōu)化問題為例,KRG-CDE算法的計算效率與(μ+λ)-CDE算法相比提高了90%,且優(yōu)化結果均值與理論可行最優(yōu)解的相對誤差僅為0.31%,而(μ+λ)-CDE算法仍未找到理論最優(yōu)解附近區(qū)域。對于可行域極小的約束優(yōu)化問題G18(可行域占設計空間比例小于0.000 1%[29]),KRG-CDE算法在有限的計算資源條件下均能夠找到可行解,然而(μ+λ)-CDE算法在充足的計算資源條件下仍無法找到可行解。
與國際同類的GLoSADE算法相比,KRG-CDE的全局收斂性與計算效率均具有顯著的優(yōu)勢。以G06約束優(yōu)化問題為例,KRG-CDE算法在300次模型調用次數(shù)以內均能夠找到理論可行最優(yōu)解,然而GLoSADE在400次模型調用次數(shù)的條件下,仍未能夠找到理論最優(yōu)解附近區(qū)域。對于可行域極小的G18測試算例,GLoSADE在25次優(yōu)化中僅17次找到可行解,而KRG-CDE算法25次優(yōu)化結果均為可行解,進一步驗證了KRG-CDE的尋優(yōu)能力。由箱線圖結果可知,除G01、PVD4問題外,對于大多數(shù)標準測試算例,KRG-CDE算法均具有更好的魯棒性,并且其優(yōu)化結果分布更加接近理論最優(yōu)解。
表4 KRG-CDE,(μ+λ)-CDE與GLoSADE算法優(yōu)化結果
表5 2 000次模型調用下的優(yōu)化結果對比
由上述優(yōu)化結果可知,本文提出的KRG-CDE算法在全局收斂性、魯棒性以及優(yōu)化效率上具有顯著優(yōu)勢。
本節(jié)將KRG-CDE算法應用于全電推衛(wèi)星多學科設計優(yōu)化(Multidisciplinary Design Optimization, MDO)問題[6],并與GLoSADE、(μ+λ)-CDE算法進行對比。全電推衛(wèi)星是一個典型的高維多學科耦合系統(tǒng)[31],其多學科分析過程需要通過迭代求解保證學科相容性。此外,全電推衛(wèi)星MDO問題涉及多個高耗時學科分析模型(有限元模型以及軌道轉移動力學模型等),進一步加劇了計算復雜性。本文提出的KRG-CDE求解全電推衛(wèi)星MDO問題,從而驗證本文提出算法的工程適用性。
全電推衛(wèi)星MDO問題旨在通過調整推力器安裝位置、GTO軌道推力角等參數(shù),在滿足位保精度、結構彎曲頻率等約束的前提下降低整星發(fā)射質量。該優(yōu)化問題涉及15個設計變量與11個約束條件,優(yōu)化模型數(shù)學表達式如下[6]:
findX=[α,β,φ,dT,dN,Asa,Cb,Ar,
Hw,HS,HC,HM,PS,PC,PM]T
(16)
式中:相關變量定義詳見文獻[6];mi為第i個學科的質量;MS為全電推進衛(wèi)星發(fā)射質量,即為優(yōu)化的目標函數(shù)。
KRG-CDE算法與GLoSADE算法最大分析模型調用次數(shù)設為200以及500次,其余參數(shù)保持不變。(μ+λ)-CDE的最大分析模型調用次數(shù)設為1 000。
KRG-CDE算法的優(yōu)化收斂情況如圖3所示,可以看出,雖然初始種群中未存在可行解,KRG-CDE算法仍然能夠在優(yōu)化初期找到可行解。此外,KRG-CDE算法在優(yōu)化過程中保證了優(yōu)化結果可行性,同時持續(xù)改善衛(wèi)星的整星質量。
圖3 KRG-CDE算法全電推衛(wèi)星MDO問題收斂曲線
表6 全電推衛(wèi)星MDO問題優(yōu)化結果目標函數(shù)值
表7 全電推衛(wèi)星MDO問題優(yōu)化結果約束函數(shù)值
表8 全電推衛(wèi)星MDO問題優(yōu)化結果設計變量
1) 針對現(xiàn)有SAEAs難以求解復雜約束優(yōu)化問題,本文提出了一種基于KRG代理模型的約束差分進化算法KRG-CDE,進一步提高了約束問題的優(yōu)化效率。
2) 結合了約束改善概率與最優(yōu)適應度,提出了一種改進的可行準則,提高新增樣本點的潛在最優(yōu)性與可行性,進而提升算法的全局收斂性。
3) 標準測試算例與全電推衛(wèi)星多學科優(yōu)化實例的優(yōu)化結果表明,KRG-CDE算法與GLoSADE、(μ+λ)-CDE算法相比,在全局收斂性以及計算效率方面具有顯著優(yōu)勢。
4) 未來將進一步探索基于代理模型的其他智能優(yōu)化算法(包括遺傳算法、粒子群算法等),并將本文提出的算法應用到更多的飛行器優(yōu)化設計實例當中。