邢耀仁,黃向華
(南京航空航天大學能源與動力學院,南京 210016)
航空發(fā)動機的過渡態(tài)是指發(fā)動機由一種工作狀態(tài)改變到另一種工作狀態(tài)的變化過程,加速時間是衡量發(fā)動機過渡態(tài)性能的重要指標之一。在滿足發(fā)動機性能參數(shù)約束的前提下,盡可能縮短加速時間可以最大限度地提升發(fā)動機動態(tài)性能,因此對加速控制計劃進行優(yōu)化具有重要的工程應用價值。
航空發(fā)動機是氣動熱力計算高度復雜的非線性系統(tǒng),直接對其進行滿足參數(shù)約束下的過渡態(tài)性能尋優(yōu)很困難,目前常用的尋優(yōu)方法有2種:(1)功率提取法,即在發(fā)動機穩(wěn)態(tài)模型基礎上,從高、低壓轉子提取額外的功率,使高壓壓氣機的起動工作點沿著等換算轉速線移動,在滿足約束前提下,盡可能使提取功率更大,從而獲得最佳的加速控制規(guī)律;(2)動態(tài)規(guī)劃法,即在發(fā)動機動態(tài)模型基礎上建立可以實現(xiàn)性能需求的目標函數(shù),并求解1個有約束的泛函優(yōu)化問題,該方法目前被廣泛應用于發(fā)動機過渡態(tài)控制優(yōu)化中。運用的主要優(yōu)化算法有約束變尺度法、序列二 次 規(guī) 劃 法(Sequential Quadratic Programming,SQP)、線性二次型調節(jié)器(Linear Quadratic Regulator,LQR)法、自適應方法和元啟發(fā)式算法等。由于約束變尺度法等傳統(tǒng)算法都是基于梯度概念來尋優(yōu)的,既要求目標函數(shù)和約束條件可微,又容易陷入局部最優(yōu)解中。而啟發(fā)式算法通過模仿自然選擇過程,具有了生物進化的2個優(yōu)勢——強化和多樣性。其中強化可以使算法向最優(yōu)值附近搜索,多樣性可以保證最優(yōu)值的全局最優(yōu)性。人工魚群算法(Artificial Fish Swarm Algorithm,AFSA)是一種基于魚群行為的啟發(fā)式算法,具有簡單的結構形式和較好的全局尋優(yōu)能力,在各類優(yōu)化問題中得到了廣泛應用。王錫淮等通過引入半可行域的概念,提升了人工魚群算法求解帶約束問題的能力;范永利等針對人工魚群算法難以綜合考慮尋優(yōu)速度和尋優(yōu)精度的不足,通過引入雙高斯函數(shù)對算法進行了改進,提高了算法的全局尋優(yōu)能力和搜索速度。
本文引入自適應調整策略和半可行域對人工魚群算法進行改進,在此基礎上,提出了一種槳扇發(fā)動機加速控制計劃的優(yōu)化方法。
槳扇發(fā)動機作為一種介于傳統(tǒng)渦槳發(fā)動機和渦扇發(fā)動機之間的新概念發(fā)動機,具有優(yōu)于渦槳發(fā)動機的高速性能和高于渦扇發(fā)動機的燃油效率。隨著環(huán)保要求的不斷提高,航空業(yè)對高效率、低排放動力裝置的需求為槳扇發(fā)動機的發(fā)展提供了機遇,因此對槳扇發(fā)動機進行研究具有一定的經(jīng)濟和環(huán)保價值?,F(xiàn)今槳扇發(fā)動機有多種實現(xiàn)方案。一種槳扇發(fā)動機的結構如圖1所示。該槳扇發(fā)動機采用的3轉子結構可以提升發(fā)動機的功率,采用的對轉槳扇可以抵消一部分力矩?;谝陨蟽?yōu)點,本文選取3轉子對轉槳扇發(fā)動機作為研究對象。
圖1 槳扇發(fā)動機結構
在飛行狀態(tài)給定時,發(fā)動機控制量確定了其工作狀態(tài),槳扇發(fā)動機常用的控制量有供油量和前后槳扇槳距角、。對槳扇發(fā)動機加速控制計劃進行優(yōu)化就是運用優(yōu)化算法來求解發(fā)動機過渡態(tài)中1組最佳的控制序列[]=([][][]),使得發(fā)動機可以在最短的時間內(nèi)從初始狀態(tài)到達目標狀態(tài)。要使用優(yōu)化算法對發(fā)動機過渡態(tài)進行優(yōu)化,需將發(fā)動機加速過程轉化為1個標準的優(yōu)化問題,而轉化的第1步就是確定優(yōu)化目標和約束條件。由于槳扇發(fā)動機的推力絕大部分都來自于前后槳扇葉片產(chǎn)生的推力,為了使槳扇發(fā)動機工作穩(wěn)定,需保證工作時功率渦輪軸轉速保持100%不變,不能按傳統(tǒng)渦噴、渦扇發(fā)動機那樣通過轉速和推力的一一對應關系來間接確定推力。但槳扇的推力可以很方便地通過轉速和槳距角從特性圖中插值求得,因此本文直接對推力進行優(yōu)化。
衡量發(fā)動機加速性能最直觀的指標就是加速時間,加速時間越短、超調量越小,往往說明發(fā)動機的加速性能越好。由于發(fā)動機的加速過程是連續(xù)的,需要將整個加速過程分割為一系列的靜態(tài)過程。在每段20 ms的加速過程中,通過優(yōu)化算法計算當前狀態(tài)下的最優(yōu)控制量,使得推力在滿足約束的前提下達到當前狀態(tài)下能達到的最大值。如果加速過程中每個20 ms內(nèi)的推力都增長到了當前狀態(tài)下所能達到的最大值,即當前推力與目標推力的差值最小,便可保證整個加速過程的時間最短。依此對目標函數(shù)進行轉化和離散處理,具體時間最優(yōu)過程尋優(yōu)的目標函數(shù)為
式中:[]為第個仿真步長中的目標函數(shù);為目標推力,在每步中均保持為終態(tài)推力不變;[]為第個仿真步長結束后的預測推力。
通過該目標函數(shù)即可保證發(fā)動機推力在每個20 ms步長中都盡可能地接近目標推力值。
同時,槳扇發(fā)動機在加速過程中需要保證高壓軸轉速、低壓軸轉速、功率渦輪軸轉速、渦輪前溫度、高壓壓氣機喘振裕度和低壓壓氣機喘振裕度都處在安全范圍內(nèi)。此外,、、等槳扇發(fā)動機的控制量也會受到執(zhí)行機構調節(jié)范圍和調節(jié)速度的限制。綜上所述,槳扇發(fā)動機需要滿足以下12個約束
式中:、、為高壓軸、低壓軸、功率渦輪軸的最大轉速;為最高渦輪前溫度;、為高、低壓壓氣機最小喘振裕度;為發(fā)動機最大供油量;Δ為供油量變化速率;Δ為最大供油量變化速率;、為最大、最小前槳距角;、為最大、最小后槳距角;Δ、Δ為前、后槳距角的變化速率;Δ為最大槳距角調節(jié)速度。
將槳扇發(fā)動機的安全約束經(jīng)過歸一化處理轉化為以下14個約束函數(shù)
最終得到了最短時間加速控制計劃優(yōu)化問題的標準數(shù)學形式
人工魚群算法主要利用魚的3大基本行為:覓食、聚群和追尾行為,采用自上而下的尋優(yōu)模式,從構造個體的底層行為開始,通過魚群中各個個體的局部尋優(yōu),達到全局最優(yōu)值在群體中凸顯出來的目的。人工魚的3種基本行為簡述如下。
2.1.1 覓食行為
覓食行為是魚群循著食物多的方向游動的行為,是魚趨向食物的一種活動。人工魚視野如圖2所示。
人工魚X 在視野內(nèi)隨機選擇一種狀態(tài)X
式中:為人工魚的視野半徑;為0~1之間的隨機值。
計算X 和X 的目標函數(shù)值Y 和Y ,如果Y 好于Y ,則X 向X 的方向移動1步
圖2 人工魚視野[16]
式中:為步長。
否則,X 繼續(xù)在視野內(nèi)尋找X 并判斷是否滿足前進條件,尋找次數(shù)達到上限后仍未找到X 時,隨機前進1步
2.1.2 聚群行為
魚聚集成群可以集體覓食和躲避敵害,這是魚在進化過程中形成的一種生存方式。魚聚群時會遵守2條規(guī)則:(1)盡量向鄰近伙伴的中心移動;(2)避免過分擁擠。
人工魚X 搜索視野內(nèi)的伙伴數(shù)量和中心位置,如果>δY (其中為擁擠度因子),則表明伙伴中心位置較好且不太擁擠,朝伙伴中心移動1步,否則執(zhí)行覓食行為
2.1.3 追尾行為
當某1條魚或幾條魚發(fā)現(xiàn)食物時,附近的魚會尾隨而來,導致更遠處的魚也尾隨過來。
人工魚X 搜索視野內(nèi)目標函數(shù)Y 最優(yōu)的人工魚X ,若Y n>δY ,則表明伙伴位置較好且不太擁擠,朝最優(yōu)人工魚移動1步,否則執(zhí)行覓食行為。
針對算法存在的后期搜索盲目性大的缺陷,文獻[16]通過引入雙高斯函數(shù)對覓食行為進行改進,因文獻中通過雙高斯函數(shù)獲取步長調節(jié)系數(shù)的計算參數(shù)過多、過于復雜,本文對步長的自適應調節(jié)機制進行簡化。另外,由于原始算法無法求解帶約束問題,本文參考[15]引入半可行域思想來處理約束。
2.2.1 動態(tài)調整視野和步長
視野對人工魚群算法的行為和收斂性能有較大影響。視野范圍較大時,人工魚的全局搜索性能強并能快速接近最優(yōu)點,但可能會在最優(yōu)值附近出現(xiàn)振蕩現(xiàn)象,難以穩(wěn)定;視野范圍較小時,人工魚的局部搜索能力強,可以更精確地接近最優(yōu)值,但存在收斂速度慢的缺點。
對于發(fā)動機這一類強非線性系統(tǒng),尋優(yōu)前期應該加強全局搜索能力,在大致定位到最優(yōu)值的位置后改為加強局部搜索能力。因此在算法運行前期,為了增強算法的全局搜索能力和收斂速度,采用較大的視野和步長,使人工魚可以在大范圍內(nèi)進行粗搜索;隨著搜索的進行,逐漸減小視野和步長,最后算法在最優(yōu)解附近進行精細搜索,從而提高算法的收斂速度和尋優(yōu)結果的精度。
視野和步長的動態(tài)調整策略為
式中:為調節(jié)系數(shù),需滿足前期從1開始緩慢減小,后期快速減小直到接近0,根據(jù)文獻[14]中一些算法實例,本文采用指數(shù)函數(shù)對進行調節(jié)
式中:為當前迭代次數(shù);為最大迭代次數(shù);為大于1的整數(shù)。
視野的初值選取為/ 4(為搜索寬度),步長的初值選取為/ 8,最小視野半徑=0.05,最小步長=0.005。
2.2.2 對覓食行為的改進
在人工魚群算法的覓食行為中,人工魚會隨機選擇一種狀態(tài),如果該位置優(yōu)于當前位置,則向該方向移動1步,但在該方式下人工魚只能前進不能后退,因此對人工魚的移動方式加以修改
2.2.3 對約束問題的處理
由于發(fā)動機參數(shù)有嚴格的限制條件,在尋優(yōu)時必須對約束條件進行處理。為了最大限度地發(fā)揮發(fā)動機性能,在尋優(yōu)時需要使發(fā)動機的工作點盡可能地接近限制邊界。如果只是簡單地讓可行解無條件地優(yōu)于不可行解,易使尋優(yōu)結果遠離邊界,陷入局部最優(yōu)或者尋不到最佳性能點,因此本文引入半可行域的概念對約束進行處理,通過保留一定比例稍稍超過約束邊界的人工魚樣本,來保證尋優(yōu)算法具有搜尋到邊界附近最優(yōu)點的能力。
同時,由于發(fā)動機各物理量的數(shù)量級相差較大,直接使用物理量計算不利于各約束間的比較,影響尋優(yōu)計算時的準確性。因此需要對各量進行歸一化處理。
對于歸一化后的不等式約束極值問題的標準形式為
引入評價人工魚與約束邊界接近程度的函數(shù)()
對于1個給定的正數(shù),有()≤,則將該人工魚樣本定義為半可行點,將其保留并參與后續(xù)的優(yōu)化過程;對于()>的人工魚樣本則直接舍去,并用重新生成的人工魚樣本來代替。
為了保證人工魚樣本集合中保留一定比例的半可行點,引入對閾值的自適應調節(jié)機制
式中:為半可行點在所有樣本中所占的比例;為要保持的半可行點所占比例的目標值;為閾值每次動態(tài)調整的步長。
最終篩選樣本時從優(yōu)到劣排列的標準為:
(1)可行點嚴格優(yōu)于半可行點;
(2)可行點間目標函數(shù)值更佳的為優(yōu);
(3)半可行點間()值較小的為優(yōu)。
對人工魚群算法進行改進后,算法求解步驟如下。
定義魚群規(guī)模、初始可視域半徑、擁擠度因子、初始移動步長、最大嘗試次數(shù)、最大迭代次數(shù)、半可行點判定閾值、半可行點比例和閾值調整步長,在約束范圍內(nèi)隨機生成人工魚群樣本;
計算初始魚群每個個體的目標函數(shù)值,將最優(yōu)人工魚的位置和目標函數(shù)值記錄在公告板中;
分別執(zhí)行聚群行為和追尾行為,如果滿足移動條件,則向2種行為中更優(yōu)的方向移動1步,如果均不滿足移動條件,則執(zhí)行覓食行為;
評價新一代魚群的所有個體,如果某個體目標函數(shù)值優(yōu)于公告板值,則更新公告板上最優(yōu)解的位置和目標函數(shù)值;
計算半可行點在魚群中的比例,按結果調整半可行點判斷閾值;
如果前后2代的最優(yōu)人工魚個體目標函數(shù)值沒有滿足一定的精度要求或計算代數(shù)沒有達到最大次數(shù),返回到步驟3;
尋優(yōu)結束,輸出結果。
為了驗證改進后的人工魚群算法的尋優(yōu)性能是否優(yōu)于標準的人工魚群算法,本文選取表1中的標準測試函數(shù)進行驗證。驗證算法的具體參數(shù)為:=100,=1,=0.618,=0.05,=100,=1000,=0.01,=15%,=0.005。
表1 標準測試函數(shù)
用2種算法對每個標準測試函數(shù)分別測試5次,記錄尋優(yōu)結果的最優(yōu)值、最差值、平均值和平均優(yōu)化代數(shù),并與文獻[16]中同測試函數(shù)下的雙高斯法改進結果進行對比,文獻中魚群算法參數(shù)與前2種算法的一致。仿真環(huán)境為:Intel?Core?i5-8300H CPU@2.30 GHz,16 GB內(nèi)存,Win10 64位操作系統(tǒng),VS2010編程。具體尋優(yōu)結果對比見表2。
從表中可見,3種算法的最優(yōu)解均能在約束范圍內(nèi)接近理論最優(yōu)值0,可以在一定程度上驗證本文算法程序的正確性。與原始AFSA相比,改進后的AFSA平均迭代次數(shù)減少幅度較為明顯,平均尋優(yōu)結果精度的數(shù)量級提升較為明顯,說明改進后的AFSA較原始AFSA具備更快的收斂速度和更高的收斂精度。將本文改進AFSA尋優(yōu)結果與文獻[16]中的雙高斯改進AFSA進行對比發(fā)現(xiàn),本文算法雖然經(jīng)過簡化,但精度依然很高,平均迭代次數(shù)與文獻[16]中的結果相近,且對于測試函數(shù)1,本文算法平均迭代次數(shù)明顯小于文獻中的結果。
以槳扇發(fā)動機在飛行高度=0 km時的加速工作狀態(tài)為例,對于其他工作點,只需在模型中修改相應高度、馬赫數(shù)的數(shù)值即可。在加速時,飛行員通過推油門桿來設定目標推力值,選取發(fā)動機的一種典型工作狀態(tài):從巡航狀態(tài)(推力為最大推力的60%)加速到最大推力狀態(tài)(100%推力)的場景進行優(yōu)化。分別運用改進的AFSA和SQP算法對該過程的加速控制計劃進行優(yōu)化,得到在加速過程中的推力、各控制量和典型參數(shù)隨時間的變化,如圖3~6所示。
表2 改進AFSA和AFSA、NAFSA[16]的尋優(yōu)結果對比
圖3 在加速過程中推力隨時間的變化
圖4 在加速過程中槳距角隨時間的變化
圖5 在加速過程中供油量隨時間的變化
圖6 在加速過程中典型參數(shù)隨時間的變化
從圖中可見,改進AFSA和SQP 2種算法均可保證優(yōu)化后的控制計劃在整個調節(jié)范圍內(nèi)滿足約束要求。
將2種算法得到的槳扇發(fā)動機時間最優(yōu)加速過程總時長和尋優(yōu)程序總計算時間進行對比,結果見表3。
表3 算法效率對比 s
從表中可見,改進AFSA計算出的時間最優(yōu)加速控制計劃的加速時間比SQP的結果縮短21.8%(0.58 s),說明改進AFSA的全局尋優(yōu)能力更強,在尋優(yōu)時可以更加精確地搜索到每個步長中滿足約束要求的最大推力;但SQP算法在計算代數(shù)更多的前提下,總計算時間仍然短于改進AFSA算法,說明在計算速度上,基于梯度的數(shù)學基礎更嚴密的SQP算法更勝一籌。
通過引入自適應調節(jié)策略和半可行域對AFSA算法進行改進,提高了收斂速度和尋優(yōu)精度,實現(xiàn)了對帶約束優(yōu)化問題的求解。
將改進AFSA算法應用于具有多個可調變量的槳扇發(fā)動機加速計劃優(yōu)化中,得到的控制計劃加速時間比SQP算法的縮短21.8%(0.58 s),證明了該算法具有更強的全局尋優(yōu)能力。
綜上所述可知,改進AFSA算法具有優(yōu)秀的非線性全局尋優(yōu)能力,適用于槳扇發(fā)動機過渡態(tài)加速計劃的優(yōu)化。