鄭帥,王子涵,趙浩然,楊朋濤,洪軍
1. 西安交通大學 軟件學院,西安 710049 2. 西安沃祥航空科技有限公司,西安 710089 3. 西安交通大學 機械工程學院,西安 710049 4. 西安交通大學 現(xiàn)代設計及轉子軸承系統(tǒng)教育部重點實驗室,西安 710049
飛機油量傳感器布局是飛機燃油系統(tǒng)設計中的重要環(huán)節(jié)之一,良好的傳感器布局是燃油系統(tǒng)精確測量油量的基本保障。國內外飛機一般采用電容式傳感器進行油量測量,為了保證良好的測量性能,傳感器布局應當遵循一定的布局原則。
國內早期的學者通過理論論證的方法進行布局設計,但只能進行規(guī)則油箱下的單根或2根傳感器布局。楊朋濤等使用切割傳感器安裝線并對集合進行劃分合并的方式進行傳感器布局,求解效率較低,在集合合并中容易丟失大量可行解。袁梅等使用粒子群算法對傳感器進行了布局優(yōu)化,該方法能夠對多根傳感器進行有效的布局,但僅考慮了傳感器豎直布置的情況。
國外在此領域的公開資料較少,處于技術封鎖狀態(tài)。美國的Rabelo等使用了具有自適應算子的遺傳算法進行了布局優(yōu)化,韓國的Jung等使用MATLAB中的非線性優(yōu)化工具箱進行了布局優(yōu)化,但以上2種方法收斂性不佳,優(yōu)化指標也與中國現(xiàn)有的傳感器布局原則不符。
目前,較成熟的多目標優(yōu)化算法是非支配排序遺傳算法(Non-dominated Sorting Genetic Algorithm II, NSGA-Ⅱ),差分進化(Differential Evolution, DE)算法常被用來解決連續(xù)空間中的單目標優(yōu)化問題,性能優(yōu)異。基于此,本文考慮了傳感器布局中受到的約束以及傾斜布置的情況,提出了對布局指標的評估方法,然后將NSGA-Ⅱ中的非支配排序方法與差分進化算法相結合對傳感器布局進行了多目標優(yōu)化,并通過OpenMP并行計算技術優(yōu)化了算法的求解速度。最后,對典型油箱的傳感器布局進行了多目標優(yōu)化試驗,試驗結果驗證了本文方法的有效性。
進行油量測量時將燃油視為一個平面,根據(jù)飛機的姿態(tài)角可以解算油面姿態(tài),結合電容傳感器的液位讀數(shù)查詢燃油質量特性數(shù)據(jù)庫,從而得到飛機油量。當油箱內存在多根傳感器時,計算有效傳感器對應油量的平均值。
(1)
設電容傳感器的讀數(shù)為,標定的零電容值與滿電容值分別為與,傳感器的總長度為,補償傳感器滿值補償系數(shù)為,則油位高度可以表示為
(2)
在實際計算中考慮飛機的過載、燃油溫度、密度等因素,還會采取一些特殊處理手段進行修正,由于這部分內容屬于燃油測量解算部分,本文不做詳細討論,按照燃油測量的基本原理進行后續(xù)求解。
圖1 機體坐標系示意圖Fig.1 Schematic of aircraft-body coordinate frame
傳感器在安裝時應避免與油箱內部結構產(chǎn)生干涉,為了防止雷擊等極端氣候條件產(chǎn)生影響,傳感器應當與油箱頂、底部有一定的距離。在傾斜布置傳感器時傾斜角不應過大。此外,傳感器也不能設計得過短或過長。
對于2根及以上數(shù)量的傳感器,油面姿態(tài)傾斜時可能會出現(xiàn)測量不連續(xù)的情況,如圖2所示,油面浸沒了傳感器S1,繼續(xù)升高時電容值不會發(fā)生變化,直到油面接觸到傳感器S2。測量不連續(xù)的情況會產(chǎn)生較大的測量誤差。
圖2 測量連續(xù)性示意圖Fig.2 Schematic of measurement continuity
由于傳感器的頂、底部存在非受感區(qū)域,因此當飛機的油量過低或過高時,傳感器無法感知油面的變化情況。如圖3所示,油面在不同的角度下產(chǎn)生了不同的不可測量油量,在進行布局時應當盡量減小不可測量油量。
圖3 不可測量油量示意圖Fig.3 Schematic of unmeasurable fuel
進行燃油測量的必要信息是通過傳感器獲取的油面高度與通過航姿信息獲取的油面角度。但是在實際情況下,由于燃油平面產(chǎn)生傾斜與晃動,無法準確地獲得油面角度,燃油測量會存在一定的姿態(tài)誤差。
如圖4所示,真實油面為,考慮姿態(tài)誤差時分別以油面和進行燃油測量,并取二者的平均值,將其與通過油面計算得到的真實值之間產(chǎn)生的測量誤差稱為姿態(tài)誤差。
圖4 姿態(tài)誤差示意圖Fig.4 Schematic of attitude error
2.1.1 安裝約束
為便于處理,本文將傳感器簡化為圖5所示在三維空間內具有底點和頂點的無粗細線段。
圖5 傳感器模型簡化示意圖Fig.5 Schematic of simplified sensor model
先使用CATIA軟件中的Tessellate命令分別對油箱模型的底部、頂部可安裝區(qū)域進行離散化,從而獲取2個離散點集合,如圖6所示。
圖6 油箱底部與頂部離散化示意圖Fig.6 Schematic of discretization of bottom and top of tank
將底部、頂部離散點進行笛卡兒乘積可以得到具有不同傾斜角度的傳感器安裝線集合,然后考慮安裝間隙、傾斜角和長度限制以及與油箱結構的干涉情況,對集合中的安裝線逐根進行判斷,過濾掉不滿足要求的安裝線。假設計算傳感器安裝線段(line)與油箱模型(model)交點數(shù)量的函數(shù)為GetCrossNumber(line, model),判斷安裝線是否與模型發(fā)生干涉的方法可以表示為
(3)
安裝線的生成流程如圖7所示。
圖7 初始安裝線生成流程Fig.7 Generation process of initial installation line
2.1.2 測量連續(xù)性約束
文獻[8]與文獻[9]提出了2種用來判斷測量連續(xù)性的方法,但這2種方法只適用于垂直布置的傳感器。本文設計了對一組包含傾斜布置的傳感器進行連續(xù)性判斷的方法,步驟如下:
獲取一組傳感器的底點、頂點,得到傳感器的點集合。
將飛機油面的最大姿態(tài)角離散化為個姿態(tài)角度。
對于步驟2中第個(=1,2,…,)姿態(tài)下的油平面,將步驟1中的所有點沿該姿態(tài)下油平面法向方向由近到遠排序,然后刪除最近點和最遠點。
油平面依次經(jīng)過步驟3得到的點集合中的每個點,判斷與所有傳感器的交點數(shù)量,如果交點數(shù)量小于2則認為該組傳感器不連續(xù),算法結束,否則進行步驟5。
判斷是否對所有姿態(tài)都進行了連續(xù)性檢驗,如果是,則判斷該組傳感器連續(xù),算法結束,否則切換到下一個姿態(tài),進行步驟3。
本文使用以下計算流程評估一組包含傾斜布置的傳感器在油箱中的底部與頂部不可測量油量,步驟如下:
獲取一組傳感器的底點、頂點,得到傳感器的點集合。
將飛機油面的最大姿態(tài)角離散化為個姿態(tài)角度,選擇第個(=1,2,…,)姿態(tài)下的油平面,將步驟1中獲得的點集合沿油平面的法向方向由近到遠排序。
分別選擇步驟2中的最近點和最遠點計算底部、頂部不可測量油量。
判斷是否對所有姿態(tài)下的不可測量油量都進行了計算,如果否,返回步驟2進行下一個姿態(tài)下的計算,否則進行步驟5。
分別選擇所有姿態(tài)下最大的底部、頂部不可測量油量作為該組傳感器的底部、頂部不可測量油量。
對于一組包含傾斜布置的傳感器,其姿態(tài)誤差的評估可以參照豎直布置時的計算方法。
在大多數(shù)學者的研究中,將傳感器布局的多個優(yōu)化目標處理后進行單目標布局優(yōu)化,一方面得到的結果性能不佳,另一方面不利于設計人員分析多個布局指標之間的相關性,本文使用差分進化算法實現(xiàn)傳感器布局的多目標優(yōu)化。
差分進化算法是一種基于群體智能理論的全局尋優(yōu)算法,與遺傳算法、粒子群等算法相比,其參數(shù)少、魯棒性強,在許多領域得到了廣泛的應用。本文將離散型變異算子引入差分進化算法中,并采用NSGA-II中的快速非支配排序與精英保留策略來對傳感器布局進行多目標優(yōu)化。
將每個個體定義為一個傳感器布局方案,采用離散編碼的方式對個體進行編碼,每個個體向量的分量為傳感器安裝線的索引,根據(jù)該索引可以從初始安裝線集合中獲取傳感器的底點和頂點坐標。
首先,對油箱模型產(chǎn)生的初始可布置安裝線集合中的線段逐根編號,獲得線段的索引集合,設安裝線集合中共有根傳感器安裝線,則索引范圍為{0,1,…,-1}。
采用隨機生成的方式,從安裝線集合中產(chǎn)生一個初始種群,種群的規(guī)模為NP,種群中的每個個體表示為
,=[1,,2,,…,,]
(4)
式中:=1,2,…,NP表示種群中個體的序號;表示進化代數(shù);為個體的維度,表示一個布局方案中傳感器的根數(shù)。
產(chǎn)生初始種群中第個個體的第維分量的方式為
,0=floor (rand[0,1]·(-1))
(5)
式中:rand[0,1]會產(chǎn)生一個0~1之間服從均勻分布的隨機浮點數(shù);floor表示向下取整。
在初始種群個體生成過程中,每次生成一個個體,都檢查該個體是否滿足測量連續(xù)性約束,如果不滿足,采用隨機生成的方法重新產(chǎn)生個體,直到生成NP個個體。產(chǎn)生完畢后,對初始種群的3個優(yōu)化指標進行一次評估。
本文使用DE中常用的變異操作,即對于種群中每個個體向量,,隨機選擇3個不同的個體向量進行結合,產(chǎn)生變異個體:
, + 1=floor (,+·(,-,))
(6)
式中:縮放因子的范圍為[0,1];、、是3個差分向量的索引。在產(chǎn)生變異向量的過程中,如果獲取的傳感器編號超出了安裝線集合邊界,就從傳感器安裝線的集合編號{0,1,…,-1}中隨機選取一個新的編號作為變異向量。
本文采用二項式交叉操作構造試驗個體,+1,構造方法為
(7)
式中:rand()產(chǎn)生[0,1]范圍內服從均勻分布的隨機數(shù);交叉概率因子CR的范圍為[0,1];rnbr()在{1,2,…,}中產(chǎn)生一個隨機整數(shù)以保證試驗向量至少從變異向量中獲取1個分量值。
經(jīng)過交叉操作后產(chǎn)生的試驗個體滿足安裝約束,但是不一定滿足測量連續(xù)性約束,因此需要對經(jīng)過交叉操作后的試驗個體進行檢查。
對于不滿足測量連續(xù)性的個體,本文采用丟棄后重新生成的方法進行處理。即丟棄該個體后重新進行一次變異、交叉操作,產(chǎn)生一個新的試驗個體,直到產(chǎn)生NP個滿足測量連續(xù)性約束的試驗個體。
將新產(chǎn)生的NP個試驗個體與上一代種群中的NP個個體進行合并,構成2 NP個個體。計算該2 NP個個體的3個評估指標。
根據(jù)個體的評估指標,使用NSGA-Ⅱ中的快速非支配排序方法對合并后的2 NP個個體進行非支配排序,按照排序等級由低到高逐層選取個體構建Pareto非支配解集,形成具有NP個個體的新一代種群。對于等級相同的個體,計算其擁擠距離,按照擁擠距離由大到小進行選擇。新一代種群進入后續(xù)迭代計算中參與進化過程,直到算法迭代至設定次數(shù)后終止。
根據(jù)以上操作步驟設計的飛機油量傳感器布局優(yōu)化流程如圖8所示。
圖8 算法基本流程Fig.8 Basic procedure of algorithm
對目標函數(shù)進行計算時需要調用圖形處理庫對油箱模型進行反復測算,這個過程比較耗時。對于每個個體的評估,未經(jīng)優(yōu)化的算法是串行執(zhí)行的,無法發(fā)揮現(xiàn)代多核CPU計算機的優(yōu)勢。OpenMP作為最流行的并行編程框架之一,可以簡單、高效地實現(xiàn)并行計算,本文使用OpenMP技術對優(yōu)化算法的目標函數(shù)計算部分進行了并行優(yōu)化,以在不影響布局求解效果的同時加快求解速度,關鍵部分代碼如算法1所示。其中:f_b、f_t、f_e分別為個體的3個評估指標的成員變量,CalFb()、CalFt()、CalFe()分別為計算3個評估指標的函數(shù)。
算法1 目標評估的并行優(yōu)化代碼Algorithm 1 Parallel optimization code for target evaluation
差分進化算法中的主要參數(shù)為縮放因子與交叉概率因子CR。一般認為選取越大,CR選取越小,算法的全局搜索能力越高,但是搜索效率會降低。針對飛機油量傳感器布局優(yōu)化問題,本文對以上2個參數(shù)進行了試驗研究。
本文對縮放因子與交叉概率因子CR在[0,1]范圍內進行了多組交叉試驗以評估選取不同參數(shù)時算法的優(yōu)化效果。為了便于比較,對于每次試驗取所有Pareto解3個優(yōu)化目標的平均值作為評價依據(jù)。在3根傳感器數(shù)量下以某油箱模型進行測試計算,對于每組參數(shù),算法隨機運行10次并取其平均值,結果如圖9所示。
圖9 不同CR、F選擇下的優(yōu)化結果Fig.9 Optimization results for different choices of CR and F
通過試驗可以看到交叉概率因子CR的選擇對算法優(yōu)化效果的影響比較顯著,CR越小,算法的優(yōu)化性能越好,縮放因子的選擇對算法性能的影響相對較小。
本文使用C++建立了對油箱模型進行測量解算的程序,并實現(xiàn)了本文提出的基于差分進化算法的飛機油量傳感器布局優(yōu)化方法。
為了驗證方法的有效性,選用某飛機油箱模型進行3根感器下的布局優(yōu)化,油箱模型如圖10所示。
圖10 油箱模型示意圖Fig.10 Schematic of fuel tank model
傳感器布局需要滿足的姿態(tài)參數(shù)為: 俯仰角-8°~12°,滾轉角-8°~8°,將俯仰角、滾轉角分別離散至9個角度。傳感器的布置考慮傾斜角度,最大傾斜角設置為45°。算法的優(yōu)化參數(shù)設置為:種群規(guī)模100,縮放因子取0.7,交叉概率因子CR取0.1,迭代次數(shù)設置為500次。
算法執(zhí)行完畢后得到了100個有效可行解,Pareto曲面如圖11所示。
圖11 Pareto解分布Fig.11 Pareto solution distribution
在優(yōu)化過程中,底部不可測量油量()平均值、頂部不可測量油量()平均值和姿態(tài)誤差()平均值的變化曲線如圖12所示,最小值變化曲線如圖13所示。由圖可以看出,頂部不可測量油量在迭代末期略有波動,但總體保持在1.0%~1.5% 之間,底部不可測量油量和姿態(tài)誤差在350次迭代以后接近穩(wěn)定。
圖12 Fb、Ft、Fe平均值變化曲線Fig.12 Change curves of mean Fb, Ft and Fe
圖13 最小Fb、Ft、Fe變化曲線Fig.13 Change curves of minimum Fb, Ft and Fe
試驗獲得的Pareto解集如表1所示,由表可知,解1是布局方案中底部不可測量油量最小的解,解45是頂部不可測量油量最小的解,解83是姿態(tài)誤差最小的解。
表1 基于差分進化算法所得Pareto解集
由于多目標優(yōu)化后得到的Pareto解集中各個解之間不存在支配關系,因此本文在可選解的范圍內綜合考慮可安裝性、經(jīng)濟性等因素,從Pareto解集中選擇3個指標均趨小的解57作為本問題最終的優(yōu)選解,其布局示意圖如圖14所示。
圖14 最終優(yōu)選解的布局示意圖Fig.14 Layout schematic of final optimal solution
進一步,將3個優(yōu)化目標線性加權后使用差分進化算法進行單目標優(yōu)化,其中各目標權值分配相等,其余參數(shù)保持一致,將計算結果與多目標優(yōu)化后得到的結果進行對比,如表2所示,單目標優(yōu)化后得到了一個解,該解在指標上表現(xiàn)較好,但在指標上表現(xiàn)較差,各指標的均衡性劣于多目標優(yōu)化的布局結果。
表2 單目標與多目標優(yōu)化結果對比
通過試驗結果分析,本文提出的方法在保證安裝約束、測量連續(xù)性的前提下其平均底部不可測量油量達到1.24%,頂部不可測量油量達到1.09%, 姿態(tài)誤差為1.58%,獲得的Pareto解質量較高,可以滿足工程設計需要。
文獻[8]中的方法是目前應用較為成熟的布局優(yōu)化方法,但是在優(yōu)化過程中對安裝線集合進行合并時會造成可行解的丟失。為進一步驗證本文方法的性能,針對以上油箱模型分別在不同傳感器數(shù)量下進行對比試驗,兩者使用相同的姿態(tài)參數(shù)以及初始安裝線集合。因為文獻[8]將與視為約束,優(yōu)化目標為,因此本文在使用文獻[8]的方法進行試驗時,將、的約束參數(shù)從5%開始設置,逐漸逼近1%,以求解成功時的最優(yōu)解表示文獻[8]方法的最優(yōu)性能。本文方法的CR參數(shù)設置為0.1,設置為0.7,算法迭代500次。
選擇本文方法生成的Pareto解與文獻[8]方法得到的優(yōu)化結果進行對比,結果如表3所示。根據(jù)試驗結果,通過本文優(yōu)化方法實現(xiàn)的傳感器布局,各項優(yōu)化指標明顯優(yōu)于對比文獻。
表3 不同傳感器數(shù)量下的優(yōu)化結果對比
為了驗證本文的優(yōu)化方法在不同種類的油箱生成的初始安裝線集合下的優(yōu)化效果,本文選擇了3種特殊形狀的油箱在3根傳感器數(shù)量下進行了優(yōu)化試驗,選擇Pareto解與使用文獻[8]中方法得到的優(yōu)化結果進行對比,油箱模型布局結果如圖15所示,指標對比結果如表4所示,試驗結果證明了本文的優(yōu)化方法對不同種類的油箱有較好的通用性,可以有效地進行傳感器布局優(yōu)化。
圖15 特殊形狀的油箱模型及布局結果Fig.15 Special shape tank models and layout results
表4 不同油箱模型下的優(yōu)化結果對比
為了驗證使用OpenMP后算法的優(yōu)化效果,在同樣的系統(tǒng)運行環(huán)境下分別采用使用OpenMP并行設計的優(yōu)化方法、未使用OpenMP并行設計的優(yōu)化方法與文獻[8]中的優(yōu)化方法進行3根傳感器下的優(yōu)化對比試驗。試驗采用的計算機CPU為i7-6700HQ,具有4核8線程運算能力,內存為16 GB,操作系統(tǒng)為Windows10 64位,編程環(huán)境為VS2017,運行結果如表5所示。試驗結果表明在該運行環(huán)境下經(jīng)過并行設計的優(yōu)化方法相比未使用并行設計的方法優(yōu)化時長降低了約72.2%,相比傳統(tǒng)優(yōu)化方法優(yōu)化時長降低了約56.9%。
表5 優(yōu)化時間對比Table 5 Comparison of optimization time
1) 通過對飛機油量測量傳感器布局優(yōu)化中的約束條件與優(yōu)化目標進行分析,在考慮安裝約束、測量連續(xù)性約束與傾斜傳感器布置的前提下建立了對底部、頂部不可測量油量與姿態(tài)誤差3個指標的評估方法。
2) 基于差分進化算法設計了對底部、頂部不可測量油量與姿態(tài)誤差3個指標的多目標優(yōu)化方法,對方法中差分進化算法的參數(shù)選擇進行了研究并使用OpenMP并行設計提高優(yōu)化速度。
3) 對典型油箱模型進行了傳感器布局優(yōu)化試驗,結果表明基于差分進化算法的傳感器布局優(yōu)化方法能夠有效優(yōu)化飛機油量傳感器布局中的多個指標且在優(yōu)化速度上有明顯提高。