国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進(jìn)多目標(biāo)布谷鳥搜索算法的翼型氣動(dòng)優(yōu)化設(shè)計(jì)

2019-07-18 03:48張?chǎng)螏?/span>劉俊羅世彬
航空學(xué)報(bào) 2019年6期
關(guān)鍵詞:測(cè)試函數(shù)布谷鳥適應(yīng)度

張?chǎng)螏洠瑒⒖。?,羅世彬

中南大學(xué) 航空航天學(xué)院,長沙 410083

在飛行器設(shè)計(jì)領(lǐng)域中,增升減阻是大型飛機(jī)氣動(dòng)設(shè)計(jì)的核心問題[1],以前氣動(dòng)外形的選型是依據(jù)設(shè)計(jì)者憑經(jīng)驗(yàn)進(jìn)行試湊,然后在風(fēng)洞中進(jìn)行試驗(yàn),看是否滿足氣動(dòng)要求。這樣設(shè)計(jì)很難使性能達(dá)到整體最優(yōu),不僅設(shè)計(jì)周期很長,而且耗費(fèi)了大量的人力和物力。隨著計(jì)算機(jī)技術(shù)的發(fā)展,應(yīng)用CFD技術(shù)和優(yōu)化算法相結(jié)合來進(jìn)行氣動(dòng)外形優(yōu)化設(shè)計(jì)成為飛行器設(shè)計(jì)的主要手段之一[2]。氣動(dòng)函數(shù)一般表現(xiàn)為多峰值函數(shù),基于梯度的優(yōu)化方法容易陷入到局部最優(yōu),而無梯度的元啟發(fā)式智能優(yōu)化算法強(qiáng)大的全局尋優(yōu)能力對(duì)于解決氣動(dòng)優(yōu)化問題非常有利?,F(xiàn)代大型民用飛機(jī)設(shè)計(jì)中,人們對(duì)飛機(jī)的性能提出了更苛刻的要求,精細(xì)化和多目標(biāo)綜合設(shè)計(jì)成了大型民用飛機(jī)設(shè)計(jì)的最明顯特征[3],在飛機(jī)的優(yōu)化設(shè)計(jì)中有了更復(fù)雜的目標(biāo)函數(shù)和約束條件。這時(shí),需要發(fā)展高效的元啟發(fā)式智能優(yōu)化算法來解決這種復(fù)雜的優(yōu)化問題。目前較為流行的元啟發(fā)式智能優(yōu)化算法有模擬退火算法[4]、粒子群優(yōu)化(PSO)算法[5]、蟻群算 法[6]以及遺傳算法(GA)[7]等,其中一些算法已經(jīng)在氣動(dòng)優(yōu)化設(shè)計(jì)中被廣泛使用。

布谷鳥搜索(CS)算法是一種新型的受自然現(xiàn)象啟發(fā)的元啟發(fā)式優(yōu)化算法。它是由Yang和Deb于2010年提出[8],基于布谷鳥繁殖行為啟發(fā)而來。該算法引入Levy飛行機(jī)制而不是使用簡(jiǎn)單的隨機(jī)游走策略來使得其具有更有效的全局搜索能力,它相較于遺傳算法擁有更少的代碼和更簡(jiǎn)單的參數(shù)設(shè)置,相較于粒子群優(yōu)化算法具有更好的全局收斂能力[8]。目前,CS算法在很多領(lǐng)域中都有廣泛的應(yīng)用[9],文獻(xiàn)[10]使用CS算法在神經(jīng)網(wǎng)絡(luò)中尋找最優(yōu)參數(shù),得到了更加精準(zhǔn)的預(yù)測(cè)模型。文獻(xiàn)[11]將CS算法應(yīng)用于人臉識(shí)別中,相較于蟻群算法和粒子群優(yōu)化算法具有更好的效果,文獻(xiàn)[12]應(yīng)用CS算法求解整數(shù)規(guī)劃問題,結(jié)果顯示其相較于粒子群優(yōu)化算法擁有更好的性能。

鑒于單目標(biāo)CS算法的優(yōu)秀性能,Yang和Deb[13]發(fā)展了一種直接求解Pareto最優(yōu)解集的多目標(biāo)智能優(yōu)化算法——多目標(biāo)布谷鳥搜索(MOCS)算法。目前,該算法仍處于驗(yàn)證階段,較少用于工程優(yōu)化設(shè)計(jì)特別是氣動(dòng)優(yōu)化設(shè)計(jì)中。

本文針對(duì)原始MOCS算法的不足,分別從收斂速度、收斂精度、解的均勻性3個(gè)方面對(duì)MOCS算法進(jìn)行改進(jìn)。通過引入非支配排序和擁擠距離來改進(jìn)解的適應(yīng)度評(píng)估;通過改進(jìn)隨機(jī)游走策略來提高算法的局部搜索能力;通過引入改進(jìn)的自適應(yīng)丟棄頻率策略來提高算法的收斂速度;通過引入檔案管理機(jī)制,來提高Pareto解集分布的均勻性。隨后,將改進(jìn)的多目標(biāo)布谷鳥搜索(IMOCS)算法應(yīng)用于翼型的Pareto多目標(biāo)氣動(dòng)優(yōu)化設(shè)計(jì)中,得到了一系列Pareto最優(yōu)解集,其中幾個(gè)解的氣動(dòng)性能比基準(zhǔn)翼型性能大幅提升。

1 多目標(biāo)布谷鳥搜索算法

布谷鳥搜索算法是通過對(duì)自然界中布谷鳥繁殖行為的仿真模擬發(fā)展而來的一種新的元啟發(fā)式智能優(yōu)化算法。文獻(xiàn)[8]中利用標(biāo)準(zhǔn)測(cè)試函數(shù)算例將CS與PSO和GA算法進(jìn)行比較,CS算法相較于其他兩種算法大幅度降低了迭代次數(shù),并提高了找到全局最優(yōu)解的成功率,尤其是對(duì)于不確定性的隨機(jī)測(cè)試函數(shù),CS算法的表現(xiàn)更好。自從CS算法提出之后,它憑借其優(yōu)秀的搜索能力解決了很多工程優(yōu)化問題從而吸引了許多研究人員的注意。Yang和Deb提出的多目標(biāo)布谷鳥搜索算法[13]驗(yàn)證了布谷鳥搜索算法解決多目標(biāo)優(yōu)化問題的可行性,從而,布谷鳥搜索算法開始應(yīng)用于多目標(biāo)優(yōu)化領(lǐng)域。

為了更加簡(jiǎn)單地實(shí)現(xiàn)MOCS算法,對(duì)于有k個(gè)不同目標(biāo)的優(yōu)化問題,引入3條理想化的規(guī)則[14]。

1)每一只布谷鳥同時(shí)產(chǎn)k枚鳥蛋,并將這k枚鳥蛋隨機(jī)地放置在一個(gè)鳥巢中。第k枚鳥蛋就表示著一組解的第k個(gè)目標(biāo)。

2)每一代中高質(zhì)量的鳥蛋所在的鳥巢是最好的鳥巢,它將在下一代中繼續(xù)繁殖。

3)每個(gè)鳥巢以Pa的概率被丟棄,這時(shí)會(huì)根據(jù)與宿主鳥蛋的相似性和相異性而搭建一個(gè)有k個(gè)鳥蛋的新鳥巢。

對(duì)3個(gè)規(guī)則進(jìn)行數(shù)學(xué)分析,第1條規(guī)則其實(shí)是一個(gè)隨機(jī)選取的過程,新解通過Levy飛行進(jìn)行隨機(jī)生成。同時(shí),在這組解中進(jìn)行隨機(jī)排列是交叉的過程。算法運(yùn)行過程中,每一個(gè)鳥巢都以這種方式生成。第2條規(guī)則是精英保留策略,將適應(yīng)度高的解一直保留到下一次迭代,這樣可以使得算法收斂到想要的結(jié)果。第3條規(guī)則認(rèn)為是變異的過程,使得較差的解根據(jù)跟其他解的相似度按一定概率丟棄生成新解,這表明變異過程是一個(gè)矢量運(yùn)算,它通過Levy飛行和兩組解之間的差得到。根據(jù)上面3條理想化的規(guī)則,可得到MOCS算法的實(shí)現(xiàn)流程,如圖1所示,其偽代碼見 Algorithm 1[13]。

通過Levy飛行生成t+1代新解:

式中:符號(hào)表示矩陣的每個(gè)元素對(duì)應(yīng)相乘;α的大小和問題的搜索域相關(guān),當(dāng)α較大時(shí),算法的游走步長相對(duì)來說會(huì)變大,這樣可以更有效地去探索大尺度搜索域。通常α取為α=o(1)。為了使算法有更快的收斂能力,可以引入不同解之間的差來使算法具有一定的變步長能力,這時(shí)α可表示為

式中:α0為一個(gè)常數(shù)。這樣可以使得相似的鳥蛋具有較低被發(fā)現(xiàn)的可能性。

Levy飛行機(jī)制提供了一個(gè)步長服從Levy分布的隨機(jī)游走:

Yang和Deb提出了一個(gè)簡(jiǎn)單的模型用來實(shí)現(xiàn)Levy飛行[13],這個(gè)模型可以描述為

圖1 MOCS算法流程圖Fig.1 Flow diagram of MOCS algorithm

式中:u和v都服從正態(tài)分布:

Algorithm 1:MOCS algorithm[13]1Initialize objective functions f1(x),f2(x),…,fK(x),x =[x1,x2,…,xd]T 2Generate an initial population of n host nest xiand each 3with keggs 4while(t<MaxGeneration)5 Get a cuckoo(say i)randomly by levy flights 6 Evaluate and check if it is Pareto optimal 7 Choose a nest among n (say j)randomly 8 Evaluate ksolutions for nest j 9 if new solutions of nest j dominate those of nest i 10 Replace nest i by the new solution set of nest j 11 end 12 Abandon a fraction(Pa)of worse nests 13 Keep the best solutions 14 Sort and find the current pareto optimal solutions 15 end 16 Post process results and visualization

對(duì)比求解單目標(biāo)的CS算法[8]和求解多目標(biāo)的MOCS算法[13],可以看出MOCS算法是直接從CS算法推廣而來的,其主要區(qū)別在于單目標(biāo)優(yōu)化算法中一次產(chǎn)一個(gè)鳥蛋(對(duì)應(yīng)一個(gè)目標(biāo))更改為一次產(chǎn)多個(gè)鳥蛋(對(duì)應(yīng)多個(gè)目標(biāo)),單目標(biāo)優(yōu)化算法中以較小的目標(biāo)值作為較好的解,多目標(biāo)優(yōu)化算法中將可以完全支配其他解的解作為較好的解。這一簡(jiǎn)單的更改雖然實(shí)現(xiàn)了求解多目標(biāo)優(yōu)化問題的功能,但存在以下不足:① 單目標(biāo)優(yōu)化最終結(jié)果只有一個(gè)最優(yōu)解,在迭代過程中,若新解比舊解適應(yīng)度高則替代舊解,這將驅(qū)動(dòng)算法始終朝向更優(yōu)的解收斂。因此,對(duì)比新解與舊解的優(yōu)劣性時(shí)只有兩種情況:新解優(yōu)于舊解或劣于舊解。而多目標(biāo)優(yōu)化問題最終求解的是一個(gè)Pareto解集,也就是存在多個(gè)互相妥協(xié)的解。因此,新解與舊解對(duì)比優(yōu)劣性時(shí)應(yīng)該有3種情況:新解支配舊解、舊解支配新解、兩兩互不支配。MOCS算法直接來源于單目標(biāo)算法,并未考慮到第3種情況。② 單目標(biāo)優(yōu)化問題求解的是一個(gè)最優(yōu)解,故CS算法在迭代過程中僅考慮新解與舊解之間的優(yōu)劣性,而不需考慮不同個(gè)體之間的優(yōu)劣性,而多目標(biāo)優(yōu)化問題求解的是一個(gè)應(yīng)該盡量分布均勻的解集,因此,對(duì)于多目標(biāo)優(yōu)化,群體之間的優(yōu)劣性與均勻性應(yīng)當(dāng)統(tǒng)一考慮,也就是除了應(yīng)該考慮新解與舊解的支配關(guān)系,還應(yīng)該考慮個(gè)體之間的相互支配關(guān)系。MOCS算法直接來源于單目標(biāo)CS算法,并未考慮到這點(diǎn)。③ 在單目標(biāo)CS算法中,一個(gè)解在隨機(jī)丟棄之前,已經(jīng)保存了當(dāng)前個(gè)體中目標(biāo)值最小的個(gè)體,這保證了最優(yōu)解不會(huì)被丟棄,而推廣得到的MOCS算法并沒有對(duì)適應(yīng)度高的個(gè)體進(jìn)行保存,這樣在隨機(jī)丟棄中,無論解的適應(yīng)度有多高,都會(huì)以Pa的概率被丟棄,導(dǎo)致把較好的解丟棄掉,影響到最終的優(yōu)化結(jié)果。對(duì)于以上不足,為了使其更好地應(yīng)用于氣動(dòng)優(yōu)化問題中,需要對(duì)原始的MOCS算法進(jìn)行改進(jìn)。

2 改進(jìn)的多目標(biāo)布谷鳥搜索算法

鑒于布谷鳥搜索算法在單目標(biāo)優(yōu)化問題中的優(yōu)秀表現(xiàn)(算法中采用的Levy飛行機(jī)制提高了全局搜索效率[15]),但在直接推廣到多目標(biāo)算法中存在的一些不足,本文提出一系列改進(jìn)措施,以期充分發(fā)揮布谷鳥搜索算法在多目標(biāo)氣動(dòng)優(yōu)化設(shè)計(jì)中的性能。

本文從增強(qiáng)解的適應(yīng)度、改進(jìn)布谷鳥局部隨機(jī)游走策略、改進(jìn)自適應(yīng)丟棄頻率、增加檔案的管理來獲得更多Pareto最優(yōu)解這幾個(gè)方面對(duì)MOCS算法進(jìn)行改進(jìn),進(jìn)而提出了改進(jìn)的多目標(biāo)布谷鳥搜索(IMOCS)算法。

2.1 算法改進(jìn)措施

MOCS算法以支配關(guān)系來提高解的適應(yīng)度,當(dāng)新解支配舊解時(shí),認(rèn)為新解的適應(yīng)度高于舊解,從而用新解替換掉舊解。這樣會(huì)存在一個(gè)問題,就是存在支配關(guān)系的解占少數(shù),所以替換的發(fā)生次數(shù)很少,導(dǎo)致算法的收斂速度過慢。

借鑒NSGA-Ⅱ算法的優(yōu)勢(shì),本文在 MOCS算法中引入快速非支配排序[16]的方法,使得解的更新加快,算法更容易收斂。

多目標(biāo)優(yōu)化算法理想的優(yōu)化結(jié)果是:① 所有的解均在優(yōu)化問題的全局Pareto最優(yōu)解集中;② 所有的解均勻分布在整個(gè)Pareto前沿上,即解的收斂性和均勻性是評(píng)價(jià)優(yōu)化結(jié)果的兩個(gè)主要指標(biāo)。然而使用非支配排序?qū)膺M(jìn)行適應(yīng)度評(píng)估,可提高解的收斂性卻無法保證解的分布均勻性,因此,為提高解的均勻性,本文引入擁擠距離[16]方法。對(duì)于兩個(gè)目標(biāo)的優(yōu)化問題,一個(gè)解的擁擠距離的大小由與這個(gè)解相鄰的兩個(gè)解構(gòu)成的長方形的長和寬之和來度量,如圖2所示,圖中f1表示個(gè)體第1個(gè)目標(biāo)值,f2表示個(gè)體第2個(gè)目標(biāo)值。

圖2 擁擠距離Fig.2 Crowding distance

在MOCS算法中,隨機(jī)游走策略是根據(jù)解的相似性來決定搜索步長的[17],其表達(dá)式為

式中:Xt′k和Xt′j為從種群中隨機(jī)選取的兩個(gè)解;r為在[0,1]區(qū)間上均勻分布的隨機(jī)數(shù)。

這里存在一個(gè)丟棄概率,首先產(chǎn)生一個(gè)0-1分布的隨機(jī)數(shù),當(dāng)產(chǎn)生的這個(gè)隨機(jī)數(shù)小于丟棄概率,則該解會(huì)被丟棄,新的解由式(7)來生成。解的移動(dòng)步長由兩部分組成,一個(gè)是生成的隨機(jī)數(shù)r,一個(gè)是向量差分運(yùn)算Xt′k-Xt′j。但這樣進(jìn)行解的更新存在一個(gè)問題,新解的生成是隨機(jī)的,解的更新沒有方向性。

文獻(xiàn)[17]在MOCS算法的局部搜索中引入了隨機(jī)數(shù)r和1-r,它使得解的更新方向更加隨機(jī),從而增強(qiáng)了子代個(gè)體的多樣性。故本文在MOCS算法局部搜索的差分因子中加入隨機(jī)數(shù)r和1-r,于是式(7)修改為

式中:rand為在[0,1]區(qū)間上均勻分布的隨機(jī)數(shù)。

MOCS算法在局部搜索步驟中,無論一個(gè)解的適應(yīng)度有多高,它都有可能被丟掉,并且丟棄頻率的高低也會(huì)影響到解更新的步長,當(dāng)找到一個(gè)適應(yīng)度很高的解時(shí),更傾向于在它周圍很小的范圍內(nèi)進(jìn)行尋找。所以本文對(duì)丟棄概率進(jìn)行改進(jìn)如下:

1)將產(chǎn)生的新解和舊解合并進(jìn)行適應(yīng)度從大到小的排序。

2)將丟棄概率Pa設(shè)定為動(dòng)態(tài)可調(diào)節(jié):Pa∈[Pa,min,Pa,max]。

3)生成從Pa,min~Pa,max等間距并且長度與解的個(gè)數(shù)相同的數(shù)組,適應(yīng)度最高的解采用最低的丟棄概率,適應(yīng)度最低的解采用最高的丟棄概率。

當(dāng)算法一步步進(jìn)行迭代之后,迭代次數(shù)越高,則個(gè)體中Pareto最優(yōu)解的個(gè)數(shù)越多,根據(jù)上述思想,需要將丟棄概率Pa整體減小,來對(duì)最優(yōu)解的附近進(jìn)行搜索(局部搜索)。

4)將丟棄概率的最大值和最小值隨著迭代次數(shù)的增加進(jìn)行線性變化,可以由式(9)和式(10)來實(shí)現(xiàn)。

式中:t為當(dāng)前迭代的次數(shù);max_iter為最大迭代次數(shù)。

當(dāng)使用優(yōu)化算法進(jìn)行多目標(biāo)優(yōu)化時(shí),希望優(yōu)化算法得到的個(gè)體可以等間距地分布在整個(gè)Pareto前沿上。前面分析到MOCS算法需要有一個(gè)解的存檔過程,將生成的解歸入檔案中,以供挑選。因此,這個(gè)存檔也需要一個(gè)合理的檔案刪除與保留機(jī)制。本文參考基于共享半徑的小生境技術(shù)[18],共享半徑的值由圖3設(shè)定,圖中σshare表示共享半徑大小。將落在共享半徑內(nèi)的個(gè)體進(jìn)行剔除,如果兩個(gè)解之間的間距小于共享半徑,則舍棄;兩個(gè)解之間的間距大于共享半徑則保留。這樣檔案管理機(jī)制有以下3種功能:① 刪除掉檔案中的重復(fù)個(gè)體;② 刪掉檔案中相距較近的個(gè)體;③ 保留非支配解。IMOCS算法的偽代碼見Algorithm 2。

圖3 自適應(yīng)共享半徑Fig.3 Adaptive sharing radius

orithm 1Initialize objective functions f1(x),f2(x),…,fk(x),x =[x1,x2,…,xd]Algorithm 2:IMOCS alg T 2Generate an initial nest of nindividuals xiand each with 3 keggs 4 while t<MaxGeneration 5 Get new nest of nindividuals randomly by Levy flights 6 Evaluate fitness of all individuals of new nest 7 Combine nest and new nest then conduct non-dominated

8 sorting to all 2nindividuals.9 Evaluate crowding distance and rank from height to low 10 Replace nest by first nindividuals 11 Abandon a fraction(Pa)of worse nest and obtain new 12 nest by formula 8 13 Combine nest and new nest then conduct non-dominated 14 sorting to all 2nindividuals 15 Evaluate crowding distance and rank from height to low 16 Replace nest by first nindividuals and keep nest into 17 next iteration 18 Deposit all nindividuals of nest in archive 19 if size of archive>max_archive 20 Delete duplicate individuals in the archive 21 Delete individuals in the archive that are closer 22 end 23 end 24Output all individuals of archive as optimization result and 25visualization

2.2 算法步驟

根據(jù)以上改進(jìn)措施,給出改進(jìn)的多目標(biāo)布谷鳥搜素算法的實(shí)現(xiàn)步驟。

步驟1 設(shè)定算法相關(guān)參數(shù)。

步驟2 初始化鳥巢群nest,計(jì)算其目標(biāo)值。

步驟3 通過改進(jìn)的Levy飛行生成新的鳥巢群new_nest。

步驟4 計(jì)算new_nest中個(gè)體的目標(biāo)值。

步驟5 將新解和舊解進(jìn)行非支配分層排序;然后按分層的結(jié)果,分層計(jì)算擁擠距離;最后按層數(shù)和擁擠距離兩個(gè)指標(biāo)進(jìn)行排序,層數(shù)為一級(jí)指標(biāo),擁擠距離為二級(jí)指標(biāo)。

步驟6 取前n個(gè)排序結(jié)果,替換掉nest中的個(gè)體。

步驟7 將這n個(gè)個(gè)體存入檔案archive中。

步驟8 按丟棄頻率Pa丟棄部分解,并利用改進(jìn)的局部游走生成新的鳥巢new_nest。

步驟9 重復(fù)運(yùn)行步驟4~步驟8。

步驟10 將排序之后的前n個(gè)個(gè)體存檔案。

步驟11 檢查檔案中個(gè)體是否超過限定的最大容量A_max,若超過了A_max,則進(jìn)行檔案的管理;否則進(jìn)行下一步。

步驟12 判斷當(dāng)前迭代次數(shù)是否大于最大迭代次數(shù)max_iter,若小于最大迭代次數(shù)max_iter,程序則轉(zhuǎn)向步驟3;若大于最大迭代次數(shù)max_iter,則停止迭代,輸出結(jié)果。

步驟13 對(duì)計(jì)算結(jié)果進(jìn)行分析處理。

2.3 仿真測(cè)試

為了驗(yàn)證本文提出的IMOCS算法的有效性,采用4個(gè)典型的測(cè)試函數(shù)對(duì)IMOCS算法進(jìn)行仿真測(cè)試,并與改進(jìn)前的MOCS算法和NSGA-Ⅱ算法進(jìn)行比較分析。對(duì)于IMOCS算法和MOCS算法,仿真測(cè)試均取鳥巢數(shù)為50,迭代次數(shù)為100(由于每次迭代需計(jì)算2次群體的目標(biāo)值,故總的目標(biāo)函數(shù)計(jì)算次數(shù)為10000)。對(duì)于NSGA-Ⅱ算法,群體個(gè)數(shù)取100,迭代次數(shù)100,以保證3種算法總的目標(biāo)計(jì)算次數(shù)相同。

1)ZDT1測(cè)試函數(shù)

變量個(gè)數(shù)n取30,ZDT1測(cè)試函數(shù)擁有連續(xù)的凹狀Pareto前沿。

2)ZDT2測(cè)試函數(shù)

變量個(gè)數(shù)n為30,ZDT2測(cè)試函數(shù)擁有連續(xù)的凸?fàn)頟areto前沿。

3)ZDT3測(cè)試函數(shù)

變量個(gè)數(shù)n取30,ZDT3測(cè)試函數(shù)Pareto前沿是間斷的。

4)ZDT6測(cè)試函數(shù)

對(duì)于ZDT6測(cè)試函數(shù),它搜索空間的非均勻性會(huì)帶來兩種優(yōu)化困難:①Pareto最優(yōu)解在全局Pareto前沿上是非均勻分布的(前沿集中于f1(x)=1的解);② 接近于Pareto全局最優(yōu)解的多樣性最低,遠(yuǎn)離前沿解的多樣性又很高[19]。

使用 MOCS算法和 NSGA-Ⅱ算法與IMOCS算法對(duì)測(cè)試函數(shù)算例進(jìn)行仿真,算法參數(shù)設(shè)置如表1所示,優(yōu)化結(jié)果對(duì)比如圖4所示。NSGA-Ⅱ算法需要設(shè)置交叉概率Pc、變異概率Pm、交叉分布指數(shù)eta_c、變異分布指數(shù)eta_m。

表1 算法參數(shù)設(shè)置Table 1 Parameter settings of algorithms

從4個(gè)函數(shù)算例優(yōu)化結(jié)果對(duì)比可以得到,IMOCS得到的Pareto解集與函數(shù)算例真實(shí)的Pareto前沿更加接近,對(duì)于4個(gè)函數(shù)算例,IMOCS算法優(yōu)化結(jié)果均好于NSGA-Ⅱ和MOCS算法。注意,圖中MOCS算法表現(xiàn)欠佳的原因是受限于迭代次數(shù),增加迭代次數(shù)后表現(xiàn)會(huì)更好。

優(yōu)化過程中誤差隨迭代次數(shù)的變化如圖5所示??梢钥闯?,對(duì)于所有測(cè)試函數(shù)算例,IMOCS算法的收斂速度相較于NSGA-Ⅱ和MOCS算法均更快,尤其是對(duì)于具有非均勻分布且多樣性較低的全局最優(yōu)解的ZDT6函數(shù),相較于NSGA-Ⅱ和MOCS算法優(yōu)勢(shì)更為明顯。

評(píng)價(jià)多目標(biāo)優(yōu)化算法的性能指標(biāo)主要有解的收斂性和多樣性[17]。

1)收斂性指標(biāo) 用來評(píng)價(jià)算法的收斂性,它是采用每個(gè)個(gè)體距離真實(shí)Pareto前沿的平均距離(GD)作為算法收斂性的指標(biāo),其定義為

圖4 測(cè)試函數(shù)優(yōu)化結(jié)果對(duì)比Fig.4 Comparison of test function optimization results

圖5 收斂速度比較Fig.5 Comparison of convergence speeds

2)多樣性指標(biāo) 用來評(píng)價(jià)算法的解的分布多樣性。個(gè)體間距(SP)的定義為

為了降低算法的隨機(jī)性對(duì)結(jié)果的影響,分別采用IMOCS算法、NSGA-Ⅱ和MOCS算法對(duì)上述數(shù)值算例重復(fù)優(yōu)化30次,計(jì)算所得的Pareto最優(yōu)解的收斂性指標(biāo)和多樣性指標(biāo)的平均值與標(biāo)準(zhǔn)差如表2所示。從表中可以看出,對(duì)于4種測(cè)試函數(shù),IMOCS算法的平均GD值比NSGA-Ⅱ和MOCS算法小,且大幅度優(yōu)于MOCS算法,表明IMOCS算法的收斂精度比NSGA-Ⅱ和MOCS算法收斂精度更高,IMOCS算法的平均SP值比NSGA-Ⅱ和MOCS算法小,說明IMOCS算法得到的Pareto解分布更均勻。IMOCS算法的GD和SP值的方差更小,說明IMOCS相較于其他兩種算法更加穩(wěn)定。仿真結(jié)果表明改進(jìn)后的算法性能提升很大,并優(yōu)于目前主流的NSGA-Ⅱ算法。

表2 不同算法性能比較Table 2 Comparison of performance of different algorithms

3 翼型Pareto多目標(biāo)優(yōu)化設(shè)計(jì)

在飛行器設(shè)計(jì)中,翼型設(shè)計(jì)是很關(guān)鍵的一步。在測(cè)試函數(shù)的優(yōu)化中,IMOCS算法表現(xiàn)出了很好的收斂性和解的分布性。本節(jié)將IMOCS算法引入到實(shí)際的翼型多目標(biāo)優(yōu)化設(shè)計(jì)中,測(cè)試IMOCS算法在氣動(dòng)優(yōu)化設(shè)計(jì)中的表現(xiàn)。

3.1 翼型幾何外形參數(shù)化

翼型參數(shù)化是氣動(dòng)優(yōu)化中非常重要的一步,翼型的參數(shù)化擬合精度決定了設(shè)計(jì)出的翼型的可靠性,國內(nèi)外研究了很多翼型參數(shù)方法,例如:形狀類別函數(shù)變換(CST)方法[20]、Hicks-Henne型函數(shù)法[21]、Parsec 方法[22]、NURBS(Non-Uniform Rational B-Splines)方法[23]、Bezier 方法[24]、FFD 變形技術(shù)[25]等。其中在翼型上使用比較廣泛的為CST方法和Hicks-Henne型函數(shù)法。本文采用CST參數(shù)化方法,使用10個(gè)設(shè)計(jì)變量來描述翼型的幾何外形。關(guān)于CST方法的具體描述可參考文獻(xiàn)[26]。

3.2 網(wǎng)格自動(dòng)生成技術(shù)

本節(jié)所采用的翼型網(wǎng)格自動(dòng)生成程序可以通過求解橢圓型方程的方法和無限插值的方法生成“C”型和“O”型結(jié)構(gòu)網(wǎng)格,網(wǎng)格第1層高度為1×10-5m,遠(yuǎn)場(chǎng)取20倍弦長。網(wǎng)格單元數(shù)為320×64,使用“C”型網(wǎng)格對(duì)求解翼型繞流,圖6給出了所使用的“C”型計(jì)算網(wǎng)格的全貌和網(wǎng)格局部放大圖。

圖6 計(jì)算網(wǎng)格Fig.6 Mesh for computation

3.3 流場(chǎng)數(shù)值計(jì)算

本文采用求解雷諾平均Navier-Stokes方程來進(jìn)行翼型的氣動(dòng)性能計(jì)算。流場(chǎng)計(jì)算采用隱式求解、加入預(yù)處理、多重網(wǎng)格等數(shù)值模擬技術(shù)。空間離散格式為Jameson中心離散格式,湍流模型采用Spalart-Allmaras湍流模型。

為了驗(yàn)證對(duì)RAE2822翼型流場(chǎng)數(shù)值求解方法的有效性,將數(shù)值求解的壓力系數(shù)Cp結(jié)果與其試驗(yàn)值[27]對(duì)比,如圖7所示,圖中Ma為馬赫數(shù),α為迎角,Re為雷諾數(shù)。

圖7 計(jì)算與試驗(yàn)的壓力系數(shù)分布對(duì)比Fig.7 Comparison of pressure coefficient distribution between calculation and experiment

3.4 翼型Pareto多目標(biāo)優(yōu)化設(shè)計(jì)

本文選取兩種狀態(tài)的升阻比作為優(yōu)化目標(biāo)。第1個(gè)設(shè)計(jì)狀態(tài)為:Ma=0.75,Re=6×106,α=2.31°;第2個(gè)設(shè)計(jì)狀態(tài)為:Ma=0.6,Re=6.5×106,α=2.31°。優(yōu)化目標(biāo)為:在這兩種工作狀態(tài)下翼型的升阻比最大。該多目標(biāo)優(yōu)化問題可描述為

式中:CL為升力系數(shù);CD為阻力系數(shù)。

采用IMOCS算法進(jìn)行優(yōu)化,設(shè)置鳥巢數(shù)為50,迭代次數(shù)為100。IMOCS算法共得到了64個(gè)Pareto最優(yōu)解,如圖8所示,圖中五角星代表基準(zhǔn)翼型的氣動(dòng)性能。本文從中選取3個(gè)Pareto解進(jìn)行翼型氣動(dòng)分析。

圖8 IMOCS算法的優(yōu)化結(jié)果Fig.8 Optimization results of IMOCS algorithm

表3給出了翼型優(yōu)化前后兩種狀態(tài)下的氣動(dòng)特性對(duì)比。優(yōu)化翼型1在狀態(tài)1中,相較于基準(zhǔn)翼型升阻比基本不變,而在狀態(tài)2中,升阻比從70.86提升到80.106 8,提升了13.05%,該翼型在保證其狀態(tài)1中升阻比不損失的情況下大幅提高了狀態(tài)2下的升阻比。優(yōu)化翼型2在狀態(tài)1中,相較于基準(zhǔn)翼型升阻比從40.39提升到48.023 5,提升了18.90%,而在狀態(tài)2中,升阻比從70.86提升到了76.123 5,提升了7.43%,該翼型折中考慮了狀態(tài)1和狀態(tài)2中升阻比的提升。優(yōu)化翼型3在狀態(tài)1中相較于基準(zhǔn)翼型升阻比從40.39提升到56.413 9,提升了39.67%,而在狀態(tài)2中,升阻比基本不變。

優(yōu)化前后翼型幾何外形對(duì)比如圖9所示,圖10給出了優(yōu)化前后翼型在兩種狀態(tài)下的壓力系數(shù)Cp分布,優(yōu)化翼型1相較于基準(zhǔn)翼型激波強(qiáng)度基本不變,優(yōu)化翼型2激波強(qiáng)度稍有減弱,優(yōu)化翼型3激波已基本消除;對(duì)于狀態(tài)2,優(yōu)化翼型1的升力系數(shù)比基準(zhǔn)翼型有較大提升。這與表3中的結(jié)果相符,即對(duì)于優(yōu)化翼型2和3,狀態(tài)1的升阻比提升主要是由于激波減弱、阻力降低;而對(duì)于狀態(tài)2,優(yōu)化翼型1的升阻比提升主要是升力提升帶來的。

表3 優(yōu)化前后氣動(dòng)性能對(duì)比Table 3 Comparison of aerodynamic performance between baseline and optimized airfoils

圖9 優(yōu)化前后翼型幾何形狀對(duì)比Fig.9 Comparison of shape between baseline and optimized airfoils

圖10 兩個(gè)狀態(tài)下優(yōu)化前后翼型壓力系數(shù)分布對(duì)比Fig.10 Pressure coefficient distribution comparison of baseline and optimized airfoils under Conditions 1and 2

選取的Pareto解不同,所得到的優(yōu)化翼型在狀態(tài)1和狀態(tài)2中氣動(dòng)特性提升的幅度不同,設(shè)計(jì)者可以針對(duì)具體問題來選取合適的Pareto解。

3.5 3種算法優(yōu)化結(jié)果比較

3種算法的參數(shù)設(shè)置與測(cè)試函數(shù)仿真算例參數(shù)設(shè)置相同,優(yōu)化結(jié)果比較如圖11所示。

從圖11可知,流場(chǎng)計(jì)算次數(shù)相同的時(shí)候,IMCOS算法與NSGA-II均有比較好的收斂效果,而MOCS算法還未收斂,說明MOCS算法不適合直接用于工程優(yōu)化問題,為了進(jìn)一步比較IMOCS算法和NSGA-Ⅱ用于解決氣動(dòng)優(yōu)化問題的性能,在迭代過程中選取第20代、第40代、第60代、第80代計(jì)算結(jié)果進(jìn)行比較,如圖12所示。

根據(jù)不同迭代次數(shù)IMOCS算法和NSGA-Ⅱ算法的優(yōu)化結(jié)果對(duì)比,可以得出,對(duì)于氣動(dòng)優(yōu)化問題,IMOCS算法收斂速度明顯快于NSGA-Ⅱ算法,這也說明對(duì)于復(fù)雜的工程優(yōu)化問題,IMOCS算法可以使用更少的迭代次數(shù)來獲得優(yōu)化問題的Pareto最優(yōu)解集。

4 結(jié) 論

1)本文針對(duì)原始的多目標(biāo)布谷鳥搜索算法的不足,分別從增強(qiáng)解的適應(yīng)度,改進(jìn)布谷鳥局部隨機(jī)游走策略,改進(jìn)自適應(yīng)丟棄頻率,增加檔案的管理機(jī)制4個(gè)方面對(duì)MOCS算法進(jìn)行改進(jìn),得到了性能更優(yōu)秀的IMOCS算法。使用測(cè)試函數(shù)對(duì)IMOCS、MOCS和NSGA-Ⅱ算法的仿真測(cè)試結(jié)果表明,改進(jìn)后的IMOCS算法大幅度提升了算法的收斂速度和收斂精度。并且,IMOCS算法相較于發(fā)展成熟的NSGA-Ⅱ算法擁有更強(qiáng)的全局搜索能力、更快的收斂速度和更高的收斂精度,同時(shí),所得到的Pareto解分布更加均勻。

2)將IMOCS算法應(yīng)用于翼型的Pareto多目標(biāo)氣動(dòng)優(yōu)化設(shè)計(jì)中,將兩個(gè)不同狀態(tài)下的升阻比作為優(yōu)化目標(biāo),IMOCS算法經(jīng)過10 000次的流場(chǎng)計(jì)算,共獲得了64個(gè)不同的翼型,設(shè)計(jì)者可以根據(jù)自己的偏好來選取合適的優(yōu)化翼型。算法在進(jìn)行相同次數(shù)的流場(chǎng)計(jì)算后,IMOCS算法相較于原始的MOCS算法具有更高的收斂精度。通過不同迭代次數(shù)下IMOCS算法和NSGA-Ⅱ算法優(yōu)化結(jié)果的對(duì)比,得到IMOCS算法收斂速度明顯快于NSGA-Ⅱ算法,說明IMOCS算法相較于目前主流的NSGA-Ⅱ算法可以更快地解決復(fù)雜的氣動(dòng)優(yōu)化問題。

3)在測(cè)試函數(shù)的仿真中,IMOCS算法的收斂速度和收斂精度優(yōu)于NSGA-II算法,相信它在工程優(yōu)化領(lǐng)域中是一種極具潛力的優(yōu)化算法。在氣動(dòng)優(yōu)化中,可以考慮將其與其他算法相結(jié)合,進(jìn)而將其應(yīng)用于解決更復(fù)雜的實(shí)際問題。

當(dāng)前IMOCS算法僅應(yīng)用于兩個(gè)目標(biāo)的多目標(biāo)優(yōu)化問題,下一步將研究其對(duì)3個(gè)及以上目標(biāo)問題的適用性。

猜你喜歡
測(cè)試函數(shù)布谷鳥適應(yīng)度
改進(jìn)的自適應(yīng)復(fù)制、交叉和突變遺傳算法
解信賴域子問題的多折線算法
布谷鳥讀信
一種基于精英選擇和反向?qū)W習(xí)的分布估計(jì)算法
基于自適應(yīng)選擇的多策略粒子群算法
具有收縮因子的自適應(yīng)鴿群算法用于函數(shù)優(yōu)化問題
啟發(fā)式搜索算法進(jìn)行樂曲編輯的基本原理分析
布谷鳥叫醒的清晨
基于人群搜索算法的上市公司的Z—Score模型財(cái)務(wù)預(yù)警研究
响水县| 波密县| 开化县| 孝昌县| 汝城县| 汽车| 成武县| 堆龙德庆县| 沾益县| 河津市| 延川县| 澳门| 济南市| 保定市| 吉林省| 凌源市| 丰台区| 石嘴山市| 唐海县| 平泉县| 福泉市| 卫辉市| 宿迁市| 鲜城| 西林县| 军事| 平度市| 湾仔区| 新安县| 福海县| 德州市| 太保市| 平潭县| 绥宁县| 锦屏县| 平塘县| 建水县| 绿春县| 娄底市| 合作市| 巴塘县|