黃 偉,常 俊,孫智濱
(上海電力學(xué)院 自動(dòng)化工程學(xué)院, 上海 200090)
燃?xì)廨啓C(jī)是一種重要的動(dòng)力機(jī)械,被廣泛應(yīng)用于航空航天、輪船艦艇和火力發(fā)電等多個(gè)領(lǐng)域。針對(duì)燃?xì)廨啓C(jī)核心技術(shù)需要長(zhǎng)期從國(guó)外進(jìn)口的情況,燃機(jī)技術(shù)國(guó)產(chǎn)化勢(shì)在必行。采用模塊化建模的方式對(duì)燃?xì)廨啓C(jī)建立整體模型,可以得到相關(guān)的建模數(shù)據(jù),進(jìn)而可以進(jìn)行故障診斷、健康管理和狀態(tài)監(jiān)控等研究??梢?jiàn),對(duì)燃?xì)廨啓C(jī)進(jìn)行建模仿真并研究其性能特點(diǎn)具有很高的實(shí)用價(jià)值[1-2]。
在燃?xì)廨啓C(jī)的整體建模仿真中,壓氣機(jī)作為一個(gè)重要的組成部分,其流量和效率特性曲線的準(zhǔn)確性直接關(guān)系到發(fā)電機(jī)穩(wěn)態(tài)、瞬態(tài)過(guò)程模擬以及發(fā)電機(jī)與增壓器匹配計(jì)算的精度。但是,由于壓氣機(jī)特性曲線的可變性和離散不連續(xù)的特點(diǎn),對(duì)該曲線的預(yù)測(cè)成為建模的重點(diǎn)和難點(diǎn)。因此,要根據(jù)有限的樣本數(shù)據(jù),借助合適的建模方法對(duì)壓氣機(jī)特性曲線進(jìn)行預(yù)測(cè),得出變工況條件下不同轉(zhuǎn)速所對(duì)應(yīng)的流量和效率,進(jìn)而為后期燃?xì)廨啓C(jī)的整體建模打下基礎(chǔ)。
壓氣機(jī)的特性曲線基本都是在額定工況下通過(guò)試驗(yàn)的方法得到的,變工況的情況下,試驗(yàn)測(cè)得的數(shù)據(jù)更加離散化,不利于后期的統(tǒng)計(jì)與分析。崔茂佩[3]通過(guò)人為劃分依據(jù)線,確定等轉(zhuǎn)速線的擬合區(qū)域,利用二步一元方法分別擬合;張東陽(yáng)[4]利用插值函數(shù)法和最小二乘法對(duì)壓氣機(jī)特性曲線做第一步和第二步擬合,并對(duì)不同擬合冪次所得結(jié)果進(jìn)行比較。目前大多方法都存在泛化能力不足的特點(diǎn)。
思維進(jìn)化算法(mind evolutionary algorithm,MEA)作為一種改進(jìn)的種群優(yōu)化算法,具有全局尋優(yōu)的能力,可以改善神經(jīng)網(wǎng)絡(luò)的收斂速度和精度,已被使用于疾病研究、發(fā)電機(jī)故障分析、變壓器故障診斷和電廠主氣溫控制等多個(gè)領(lǐng)域[5-7]。在神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值范圍內(nèi),通過(guò)MEA的多次“趨同”與“異化”操作進(jìn)行全局尋優(yōu),將得到的全局最優(yōu)解應(yīng)用于BP神經(jīng)網(wǎng)絡(luò)的初始值中。實(shí)踐證明,使用MEA優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)方法能夠提高擬合和預(yù)測(cè)的準(zhǔn)確性,并且具有很強(qiáng)的記憶功能,提升了模型的泛化能力,適合于預(yù)測(cè)不同轉(zhuǎn)速下的壓氣機(jī)特性曲線[8]。
為了彌補(bǔ)BP神經(jīng)網(wǎng)絡(luò)的不足,筆者擬將MEA引入壓氣機(jī)特性曲線預(yù)測(cè),采用MEA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,探討MEA優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)在壓氣機(jī)特性曲線預(yù)測(cè)模型中的精度和泛化能力,為后期燃?xì)廨啓C(jī)整體模型的建立和仿真做好準(zhǔn)備。
利用Matlab/Simulink建立某重型燃?xì)廨啓C(jī)整體模型,作為穩(wěn)、動(dòng)態(tài)仿真的框架基礎(chǔ)。模型如圖1所示。
圖1所示模型為采用模塊化建模搭建的燃?xì)廨啓C(jī)整體模型,分為壓氣機(jī)模塊、燃燒室模塊和透平模塊。壓氣機(jī)模塊的輸入?yún)?shù)有溫度、壓力、轉(zhuǎn)速和壓比。輸出參數(shù)主要為空氣流量,該輸出參數(shù)在燃?xì)廨啓C(jī)整體模型的分析中至關(guān)重要。通過(guò)對(duì)壓氣機(jī)特性曲線的處理和預(yù)測(cè),得到非設(shè)計(jì)工況、任意轉(zhuǎn)速條件下的空氣流量,進(jìn)而得出燃燒室的進(jìn)氣量,為后續(xù)燃燒室和透平的建模研究打下基礎(chǔ)[9-11]。
為了得到滿足該整體模型的壓氣機(jī)特性曲線預(yù)測(cè)結(jié)果,本文分別采用BP神經(jīng)網(wǎng)絡(luò)和MEA-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,并對(duì)結(jié)果進(jìn)行對(duì)比分析。
圖1 某重型燃?xì)廨啓C(jī)整體模型
BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò)模型,該網(wǎng)絡(luò)的主要特點(diǎn)是信號(hào)前向傳遞,誤差反向傳播。BP神經(jīng)網(wǎng)絡(luò)采用反向傳播算法作為學(xué)習(xí)算法,激活函數(shù)通常采用連續(xù)可導(dǎo)的S型函數(shù),隨著激活函數(shù)的不同會(huì)推算出不同的權(quán)值調(diào)整公式。如果輸出層得不到期望輸出,則轉(zhuǎn)入反向傳播,根據(jù)預(yù)測(cè)誤差調(diào)整網(wǎng)絡(luò)權(quán)值和閾值,從而使 BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)輸出不斷逼近期望輸出。BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
由圖2可知,BP神經(jīng)網(wǎng)絡(luò)可以看成是一個(gè)非線性函數(shù),網(wǎng)絡(luò)輸入值和預(yù)測(cè)值分別為該函數(shù)的自變量和因變量[12-13]。對(duì)于3層神經(jīng)網(wǎng)絡(luò),具體的訓(xùn)練過(guò)程如下:
1) 初始化網(wǎng)絡(luò)
確定輸入維數(shù)n、輸出維數(shù)m和隱含層節(jié)點(diǎn)數(shù)l,初始化權(quán)值和閾值。
2) 計(jì)算隱含層輸出
(1)
式中:f為神經(jīng)元激勵(lì)函數(shù);wij為隱含層神經(jīng)元間的連接權(quán)值;a為隱含層閾值。
3) 計(jì)算輸出層
(2)
式中:wjk為隱含層與輸出層神經(jīng)元之間的連接權(quán)值;b為輸出層閾值。
4) 誤差計(jì)算
ek=Ok-Yk
(3)
5) 權(quán)值更新
(4)
wjk=wjk+ηHjek
(5)
6) 閾值更新
(6)
bk=bk+ek
(7)
7) 判斷算法迭代是否結(jié)束;若未結(jié)束,則返回步驟2)。
2.2.1 思維進(jìn)化算法
思維進(jìn)化算法(MEA)沿襲了遺傳算法的一些基本概念,其基本框架如圖3所示。
圖3 思維進(jìn)化算法系統(tǒng)結(jié)構(gòu)
由圖3可知,思維進(jìn)化算法主要由以下4個(gè)環(huán)節(jié)組成:群體和子群體、公告板、趨同和異化。其中,趨同和異化過(guò)程是思維進(jìn)化算法的核心部分,代替了遺傳算法中交叉和變異這2種遺傳算子,決定著該算法的精度和記憶能力。
2.2.2 MEA優(yōu)化過(guò)程
思維進(jìn)化算法的設(shè)計(jì)思路就是對(duì)BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值進(jìn)行優(yōu)化。首先,根據(jù) BP 神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),將解空間映射到編碼空間,每個(gè)編碼對(duì)應(yīng)問(wèn)題的一個(gè)解。然后,選取訓(xùn)練集的均方誤差的倒數(shù)作為各個(gè)個(gè)體與種群的得分函數(shù)。利用思維進(jìn)化算法,通過(guò)不斷迭代,輸出最優(yōu)個(gè)體,并以此作為初始權(quán)值和閾值,訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)[7-8]。其優(yōu)化過(guò)程如下:
1) 根據(jù)BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),將解空間映射到編碼空間。編碼長(zhǎng)度為
s=nl+ml+l+m
(8)
2) 定義迭代次數(shù)iter、種群大小popsize、預(yù)分配優(yōu)勝子群體bestsize和臨時(shí)子群體tempsize大小。子群體SG大小為:
(9)
3) 選取各個(gè)個(gè)體和種群的得分函數(shù)val。
(10)
SE=mse(T-A2)
(11)
式中:A2為每次迭代后輸出層的輸出值;T為期望輸出;SE為均方差。
4) 不斷進(jìn)行迭代,輸出最優(yōu)個(gè)體,并以此作為BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,訓(xùn)練網(wǎng)絡(luò)。
該算法的具體流程如圖4所示。
圖4 算法流程
當(dāng)滿足迭代停止條件時(shí),思維進(jìn)化算法結(jié)束優(yōu)化過(guò)程。此時(shí),根據(jù)編碼規(guī)則,對(duì)尋找到的最優(yōu)個(gè)體進(jìn)行解析,從而得到對(duì)應(yīng)的BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值。將優(yōu)化得到的權(quán)值和閾值作為BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,并利用訓(xùn)練集樣本對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練、學(xué)習(xí)。與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)相同,訓(xùn)練完成后,可輸入測(cè)試集樣本進(jìn)行仿真預(yù)測(cè),并可進(jìn)行結(jié)果分析和討論。
為了驗(yàn)證采用BP神經(jīng)網(wǎng)絡(luò)和MEA-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)時(shí)的隨機(jī)性,采用式(12)所示的非線性函數(shù)進(jìn)行擬合[14]。該函數(shù)的圖形如圖5所示。
(12)
圖5 非線性函數(shù)圖形
此處的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練用非線性函數(shù)的輸入和輸出數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò),使訓(xùn)練后的網(wǎng)絡(luò)能預(yù)測(cè)非線性函數(shù)輸出。從式(12)得到2 000組輸入輸出數(shù)據(jù),由中挑選1 900組作為訓(xùn)練集,剩下的100組數(shù)據(jù)作為測(cè)試集。BP神經(jīng)網(wǎng)絡(luò)算法流程如圖6所示。
圖6 BP神經(jīng)網(wǎng)絡(luò)算法流程
分別用訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)和MEA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)函數(shù)輸出,預(yù)測(cè)誤差百分比如圖7所示。
圖7 BP神經(jīng)網(wǎng)絡(luò)和MEA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)誤差百分比
由圖7可知,對(duì)于式(12)給出的非線性函數(shù),BP神經(jīng)網(wǎng)絡(luò)和MEA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果的誤差百分比都維持在0%上下,精度均較高,符合壓氣機(jī)特性曲線預(yù)測(cè)的使用要求。但是,二者相比而言,采用BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)誤差百分比最大能夠達(dá)到-3%附近,而采用MEA-BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)誤差百分比最大只在-0.5%附近,可見(jiàn)采用MEA優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)具有更好的精度,更加適合實(shí)際應(yīng)用。下文將分別利用這2種方法對(duì)壓氣機(jī)特性曲線進(jìn)行預(yù)測(cè)和分析。
本文利用Matlab中的神經(jīng)網(wǎng)絡(luò)工具箱建立BP神經(jīng)網(wǎng)絡(luò),采用MEA對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,對(duì)壓氣機(jī)特性曲線進(jìn)行擬合和預(yù)測(cè)。圖8是某型軸流式壓氣機(jī)特性曲線,其中橫坐標(biāo)表示折合流量,縱坐標(biāo)表示壓比。
圖8 某型軸流式壓氣機(jī)特性曲線
由圖8可知,圖中共有11條等轉(zhuǎn)速線,分別取轉(zhuǎn)速n=0.9、0.8、0.7、0.6、0.5、0.4、0.3上的樣本數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集,每條等轉(zhuǎn)速線上取6個(gè)點(diǎn),而將轉(zhuǎn)速n=0.95、0.82、0.25上的樣本數(shù)據(jù)作為檢驗(yàn)數(shù)據(jù)。其中,n=0.95作為高轉(zhuǎn)速樣本外插值,n=0.82為樣本內(nèi)插值,n=0.25作為低轉(zhuǎn)速樣本外插值。
經(jīng)過(guò)數(shù)據(jù)歸一化處理,分別進(jìn)行BP神經(jīng)網(wǎng)絡(luò)和MEA-BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)。
在沒(méi)有先進(jìn)算法優(yōu)化的情況下,運(yùn)行獨(dú)立的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行計(jì)算,BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果如圖9所示。
圖9 BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果
圖9中,“○”線為訓(xùn)練樣本數(shù)據(jù)的擬合結(jié)果,“+”線分別為轉(zhuǎn)速n=0.95、0.82、0.25時(shí)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果。
由圖9分析可知,對(duì)于低轉(zhuǎn)速樣本外插值n=0.25和樣本內(nèi)插值n=0.82,獨(dú)立的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果具有較低的相對(duì)誤差,但是對(duì)于高轉(zhuǎn)速樣本外插值n=0.95時(shí)的誤差較大。由此可知,BP神經(jīng)網(wǎng)絡(luò)的泛化能力主要針對(duì)輸入和輸出數(shù)據(jù)都在最大值范圍內(nèi),即低轉(zhuǎn)速樣本外插值和樣本內(nèi)插值,如果是高轉(zhuǎn)速樣本外插值,則會(huì)有比較高的輸出誤差。
為了獲得更高的預(yù)測(cè)精度和更好的泛化能力,采用MEA優(yōu)化算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行優(yōu)化。相比其他種群類優(yōu)化算法,MEA具有特有的趨同過(guò)程,使優(yōu)化結(jié)果更加準(zhǔn)確。針對(duì)本案例,MEA優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)初始優(yōu)勝子種群和臨時(shí)子種群的趨同過(guò)程如圖10所示。
由圖10可知,經(jīng)過(guò)若干次趨同操作,各子種群均已成熟,即得分不再增加。同時(shí),優(yōu)勝子種群和臨時(shí)子種群成熟后,臨時(shí)子種群中的子種群5的得分比優(yōu)勝子種群中的一部分子種群得分高,而優(yōu)勝子種群中的子種群5的得分比臨時(shí)子種群中的一部分子種群得分低。對(duì)于這種情況需要執(zhí)行一次“異化”操作,同時(shí)要補(bǔ)充一個(gè)新的子種群到臨時(shí)子種群中。經(jīng)過(guò)“趨同”和“異化”過(guò)程,完成MEA對(duì)權(quán)值和閾值的優(yōu)化。
MEA優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)經(jīng)過(guò)訓(xùn)練后,預(yù)測(cè)結(jié)果如圖11所示。
圖10 MEA-BP趨同過(guò)程
圖11 MEA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果
圖11中,“○”線為訓(xùn)練樣本數(shù)據(jù)的擬合結(jié)果,“+”線分別為轉(zhuǎn)速n=0.95、0.82、0.25時(shí)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果。
通過(guò)對(duì)圖11分析可知,采用MEA優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果誤差大多維持在1%以下,具有較好的精度;同時(shí),針對(duì)不同的樣本外插值和樣本內(nèi)插值都有比較不錯(cuò)的結(jié)果,具有較好的泛化能力。
為了分析BP神經(jīng)網(wǎng)絡(luò)和MEA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果的準(zhǔn)確性和泛化能力,將具體的實(shí)際特性圖數(shù)據(jù)和2種方法的預(yù)測(cè)數(shù)據(jù)結(jié)果統(tǒng)計(jì)如表1所示,并將BP神經(jīng)網(wǎng)絡(luò)和MEA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果的相對(duì)誤差百分比進(jìn)行對(duì)比分析。
表1 BP神經(jīng)網(wǎng)絡(luò)和MEA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)與實(shí)際數(shù)據(jù)對(duì)比
由表1分析可知,采用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)時(shí),所得相對(duì)誤差大多大于2%,其中對(duì)于樣本內(nèi)插值和低轉(zhuǎn)速樣本外插值的相對(duì)誤差在2%左右,對(duì)于高轉(zhuǎn)速樣本外插值的相對(duì)誤差均大于2%,甚至達(dá)到了16%。可見(jiàn),BP神經(jīng)網(wǎng)絡(luò)的泛化能力主要針對(duì)輸入和輸出數(shù)據(jù)都在最大值范圍內(nèi),即低轉(zhuǎn)速樣本外插值和樣本內(nèi)插值。如果是高轉(zhuǎn)速樣本外插值,則會(huì)有比較高的輸出誤差,不適用于燃?xì)廨啓C(jī)的實(shí)際工況。
采用MEA-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)時(shí),所得相對(duì)誤差小于1%。對(duì)于高轉(zhuǎn)速樣本外插值,雖然其誤差在1.5%上下,略高于樣本內(nèi)插值和低轉(zhuǎn)速樣本外插值的結(jié)果,但是相比BP神經(jīng)網(wǎng)絡(luò)而言,采用MEA優(yōu)化過(guò)的BP神經(jīng)網(wǎng)絡(luò)的相對(duì)誤差降低了很多??梢?jiàn),相比BP神經(jīng)網(wǎng)絡(luò),采用MEA-BP神經(jīng)網(wǎng)絡(luò)得出的壓氣機(jī)特性曲線預(yù)測(cè)具有更好的精度和泛化能力,更適用于燃?xì)廨啓C(jī)建模。
1) 首次將思維進(jìn)化算法(MEA)引入壓氣機(jī)特性曲線預(yù)測(cè)中,分別通過(guò)BP神經(jīng)網(wǎng)絡(luò)和MEA-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行壓氣機(jī)特性曲線計(jì)算,得到了相應(yīng)的預(yù)測(cè)結(jié)果。
BP神經(jīng)網(wǎng)絡(luò)的泛化能力主要針對(duì)輸入和輸出數(shù)據(jù)都在最大值范圍內(nèi),即低轉(zhuǎn)速樣本外插值和樣本內(nèi)插值。如果是高轉(zhuǎn)速樣本外插值,則會(huì)有比較高的輸出誤差。MEA-BP神經(jīng)網(wǎng)絡(luò)相比以上2種方法具有明顯的優(yōu)勢(shì)。采用MEA優(yōu)化過(guò)的神經(jīng)網(wǎng)絡(luò),預(yù)測(cè)結(jié)果誤差大多維持在1%以下,具有很好的精度;并且針對(duì)不同的樣本外插值和樣本內(nèi)插值,都有比較不錯(cuò)的結(jié)果。
經(jīng)過(guò)對(duì)預(yù)測(cè)結(jié)果的對(duì)比分析,發(fā)現(xiàn)利用MEA算法優(yōu)化過(guò)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)效果較好,并且具有很強(qiáng)的泛化能力。
2) 非設(shè)計(jì)工況下的壓氣機(jī)特性曲線可以通過(guò)神經(jīng)網(wǎng)絡(luò)計(jì)算獲得,并且思維進(jìn)化算法(MEA)能適用于燃?xì)廨啓C(jī)壓氣機(jī)特性曲線的預(yù)測(cè)。在其優(yōu)化的情況下,BP神經(jīng)網(wǎng)絡(luò)也具有更高的實(shí)用價(jià)值,適合于壓氣機(jī)的實(shí)際運(yùn)行分析,有利于燃?xì)廨啓C(jī)整體模型的建立與仿真,有助于燃?xì)廨啓C(jī)機(jī)組的運(yùn)行優(yōu)化。
重慶理工大學(xué)學(xué)報(bào)(自然科學(xué))2019年2期