張五龍,李岳林,楊得志,謝清華,尹鈺屹,陳侗
(1.長沙理工大學湖南省工程車輛安全性設(shè)計與可靠性技術(shù)重點實驗室,湖南 長沙 410114;2.長沙理工大學汽車與機械工程學院,湖南 長沙 410114)
空燃比是車用發(fā)動機動力性、燃油經(jīng)濟性與排放性的重要影響參數(shù),進氣流量的測量結(jié)果直接影響著空燃比的控制精度。過渡工況下發(fā)動機進氣管內(nèi)存在充排氣效應(yīng)、節(jié)氣門突變、傳感器響應(yīng)滯后等問題,導(dǎo)致進氣管內(nèi)進氣流量很難精準測量[1]。近些年,許多學者深入研究了進氣量測量路徑。高金武等[2]通過辨識系統(tǒng)參數(shù)獲取充氣效率并利用速度密度方程算出進氣量,穩(wěn)瞬態(tài)試驗均獲得較好的估計精度;馮煜等[3]利用UKF優(yōu)勢且考慮了曲軸角速度動態(tài)和泵氣波動影響,建立并驗證了UKF估計模型精度優(yōu)于EKF模型;Wang等[4]提出了利用FLS參數(shù)化容積效率誤差并與氣路系統(tǒng)相結(jié)合的自適應(yīng)模糊估計方法,證明了其收斂性和有效性;Zhao等[5]通過考慮進氣動力學和傳感器延遲提出了基于充氣估計的AFR控制策略,試驗表明擁有較優(yōu)的估計精度和控制效果。由于汽油機過渡工況進氣過程復(fù)雜多變,致使這些測量算法存在計算量過大、運算速率慢、需要確定參數(shù)過多、估計精度不足等問題,難以有效實現(xiàn)進氣量精準測量。隨著人工智能算法與神經(jīng)網(wǎng)絡(luò)技術(shù)高速發(fā)展,其在汽油機進氣量測量方面的應(yīng)用獲得了廣泛關(guān)注。胡春明等[6]結(jié)合BP神經(jīng)網(wǎng)絡(luò)與進氣通路模型各自特點,利用GA算法辨識參數(shù),建立并驗證了預(yù)估模型;徐東輝等[7]利用具有混沌性的進氣流量時間序列進行了相重構(gòu)以恢復(fù)原有的混沌性,證明了混沌RBF預(yù)測模型優(yōu)于均值模型和RBF模型;Wang等[8]利用Elman神經(jīng)網(wǎng)絡(luò)建立模型用來觀測進氣壓力,仿真結(jié)果表明采樣誤差幅度和誤差波動較小,實現(xiàn)了有效觀測。然而上述以經(jīng)驗風險最小化為原則的神經(jīng)網(wǎng)絡(luò)模型或是單一智能算法容易出現(xiàn)過學習、泛化性能不高的情況,同時也存在網(wǎng)絡(luò)結(jié)構(gòu)不易確定、易陷入局部最小的缺點,過渡工況下難以獲得良好的預(yù)測效果,所以進一步研究進氣量測量方法很有必要。
支持向量回歸機(SVR)是一種基于統(tǒng)計學習理論和結(jié)構(gòu)風險最小化原則的機器學習方法,可避免過學習,能保證模型的泛化能力和逼近性能[9-10]。SVR適用于有限樣本條件下尋找因變量與多個影響因素之間的非線性關(guān)系,在小樣本、非線性和高維數(shù)的問題中擁有較大優(yōu)勢。因此,本研究結(jié)合了支持向量回歸機的結(jié)構(gòu)優(yōu)勢,分析了汽油機進氣過程的變化特性,融合了促使進氣流量變化的工況因素信息。首先建立了基于SVR的汽油機進氣流量預(yù)測模型,其次采用灰色關(guān)聯(lián)分析法對模型的特征向量進行提取,而后利用遺傳算法(GA)對SVR預(yù)測模型的關(guān)鍵參數(shù)C和g進行了尋優(yōu)辨識。把建立的RBF模型、BP模型的預(yù)測效果與SVR預(yù)測模型進行了對比分析,通過建立AMESim汽油機仿真模型獲取了典型的加減速工況試驗數(shù)據(jù),從而能夠?qū)Ω黝A(yù)測模型進行訓練和預(yù)測。最后應(yīng)用MATLAB軟件和LIBSVM工具箱分別實現(xiàn)了遺傳算法優(yōu)化辨識功能和模型預(yù)測功能,為進氣流量精準預(yù)測提供了新思路。
汽油機進氣是一種多維非線性的變化過程,而SVR具有處理非線性問題的回歸優(yōu)勢,故將其應(yīng)用于進氣流量預(yù)測。
支持向量機(SVM)是Cortes等[11]提出的一種機器學習算法,通過有限樣本解決非線性高維空間的分類與回歸問題。SVR是SVM在回歸預(yù)測問題上的擴展,擁有良好的預(yù)測性能。基本結(jié)構(gòu)為給定訓練樣本集L={[x(1),y(1)],[x(2),y(2)],…[x(i),y(i)]},x(i)∈Rd,y(i)∈R,引入非線性映射函數(shù)φ(·),將x(i)從原始空間映射到高維特征空間中進行線性回歸,構(gòu)建高維空間的回歸函數(shù):
f[x(i)]=ω·φ[x(i)]+b。
(1)
式中:法向量ω、位移項b為需要確定的參數(shù)。
根據(jù)統(tǒng)計學習理論,對樣本點和回歸函數(shù)之間實現(xiàn)距離誤差控制,可得到兩部分的距離誤差表達式:
(2)
式中:Rsrm為期望風險;右邊前項為結(jié)構(gòu)風險;右邊后項為經(jīng)驗風險,L[f(x),y(x)]為需要確定的損失函數(shù),懲罰因子C>0。面對大量試驗數(shù)據(jù)計算,利用線性ε-不敏感損失函數(shù)可去除誤差較小的樣本點,以此降低整體計算量;本研究把其作為SVR的損失函數(shù):
L[f(x),y(x)]=

(3)

(4)
(5)
再對式(5)求偏導(dǎo)數(shù),并轉(zhuǎn)化為滿足KKT條件的對偶問題,代入到式(1)中得到最終SVR結(jié)構(gòu)式:

f[x(j)]=

(6)

針對式(6)中內(nèi)積φ[x(i)]Tφ[x(j)]計算過于困難的問題,引入核函數(shù)к[x(i),x(j)]替換此內(nèi)積,使高維特征空間中的內(nèi)積運算轉(zhuǎn)換到初始空間內(nèi)進行,極大降低了運算工作量。常用核函數(shù)有線性、多項式、RBF和Sigmoid等核函數(shù);由于RBF核函數(shù)的參數(shù)少且對各種數(shù)據(jù)具有良好適應(yīng)性[12-13],故采用RBF核函數(shù):
κ[x(i),x(j)]=exp(-g‖x(i)-x(j)‖2)。
(7)
式中:g>0為核參數(shù);‖x(i)-x(j)‖為歐式范數(shù)。
根據(jù)1.1節(jié)中選取的SVR結(jié)構(gòu)建立進氣流量預(yù)測模型,即式(7)帶入式(6)中得到:
(8)

b=yi+ε-

(9)
如圖1所示,用于預(yù)測的SVR結(jié)構(gòu)與神經(jīng)網(wǎng)絡(luò)相似,預(yù)測值f(x)是中間層核函數(shù)的線性組合,中間層每個節(jié)點對應(yīng)一個支持向量,x1,x2,…xn為輸入變量。

圖1 SVR結(jié)構(gòu)示意
汽車行駛工況的變化促使進氣流量改變,則這兩者之間必然存在某種聯(lián)系,為此以工況參數(shù)作為SVR模型的輸入節(jié)點來反映出進氣流量(q)取值情況。汽油機工況因素主要是節(jié)氣門開度(α)、曲軸轉(zhuǎn)速(n)和進氣壓力(p),同時把節(jié)氣門開度變化率(α′)和進氣壓力變化率(p′)作為輸入變量是為了充分考慮汽油機過渡工況的動態(tài)變化特性,彌補了發(fā)動機均值數(shù)學模型在進氣壓力狀態(tài)方程線性化過程的缺陷,進而有利于預(yù)測模型的精準辨識。模型的輸入節(jié)點過多勢必增加訓練和預(yù)測時間,也會干擾預(yù)測模型對數(shù)據(jù)的訓練和預(yù)測而降低預(yù)測效果。為了去除不必要的工況參數(shù)以及與進氣流量關(guān)聯(lián)不高的影響因素,對上述工況因素進行相關(guān)度測試分析,本研究利用灰色關(guān)聯(lián)分析法對特征參數(shù)進行提取,優(yōu)化模型輸入節(jié)點的質(zhì)量。
采用灰色關(guān)聯(lián)分析法[14]針對進氣流量影響因素的發(fā)展趨勢進行分析,以時間數(shù)據(jù)序列為基礎(chǔ),通過灰色關(guān)聯(lián)度值反映影響因素之間的相似程度。設(shè)辨識系統(tǒng)的參考序列V0為
V0={v0(1),v0(2),…v0(n)},
(10)
比較序列Vi為
Vi={vi(1),vi(2),…vi(n)}。
(11)
式中:i=1,2,…m。灰色關(guān)聯(lián)系數(shù)γ[v0(k),vi(k)]定義為
(12)
式中:k=1,2,…n;Δmin=minimink|v0(k)-vi(k)|;Δmax=maximaxk|v0(k)-vi(k)|;Δi=|v0(k)-vi(k)∣。分辨系數(shù)ρ∈(0,1),一般取0.5;那么序列V0和Vi灰色關(guān)聯(lián)度γ(V0,Vi)為
(13)
參考序列V0取q,比較序列Vi取α,n,p,α′,p′。
在SVR預(yù)測模型中,參數(shù)C,g的合理選取是提高模型擬合精度和回歸性能的重要途徑,反之也必然使預(yù)測結(jié)果產(chǎn)生較大誤差,從而無法滿足預(yù)測精度要求[15]。為了避免人為選擇參數(shù)的盲目性,利用遺傳算法(GA)對模型參數(shù)進行尋優(yōu)辨識,尋找出最優(yōu)解。GA是一種成熟的非線性全局搜索的優(yōu)化算法,只需要對初始種群進行限制就可快速搜索到全局最優(yōu)點[16]。在對汽油機進氣過程中采集的樣本數(shù)據(jù)進行辨識之前,為了遍歷所有樣本數(shù)據(jù),尋找出全局最優(yōu)參數(shù)值,在GA基礎(chǔ)上增加K折交叉驗證操作。設(shè)計的GA尋優(yōu)辨識過程如步驟1~步驟7。
步驟1 數(shù)據(jù)預(yù)處理及初始化。為消除量綱影響,對樣本數(shù)據(jù)進行歸一化處理:
(14)
式中:xmin,xmax分別為樣本最小值、最大值。按照SVR預(yù)測模型精度要求可選取常規(guī)的GA初始參數(shù)值,即種群數(shù)量N=20,迭代次數(shù)Gmax=100,交叉率β=0.7,變異率γ=0.01。
步驟2 參數(shù)編碼。根據(jù)參數(shù)C,g的取值范圍對其進行二進制編碼,按照參數(shù)先后順序組成長度為L的染色體,之后隨機產(chǎn)生一組代表SVR模型參數(shù)組的染色體作為初始種群S={a1,a2,…aN}。
步驟3 計算適應(yīng)度函數(shù)R。適應(yīng)度是個體適應(yīng)環(huán)境強弱的表現(xiàn),也是尋找最優(yōu)參數(shù)的評價指標,與目標函數(shù)密切相關(guān)。SVR預(yù)測模型的目標函數(shù)為預(yù)測值f1(x)與實測值F1(x)之間的均方誤差MSE,同時將采集的樣本劃分成K份,使訓練、測試樣本數(shù)據(jù)輪流交叉替換,則將K次MSE之和的平均值作為適應(yīng)度函數(shù),本研究選取K=5,即5折交叉驗證。由于GA只能向著促使適應(yīng)度值增大的方向迭代,取其倒數(shù)作為R:
(15)
式中:M為測試次數(shù)。
步驟4 運行選擇算子。選擇操作以適應(yīng)度為原則,從群體中選擇適應(yīng)度強的個體組成新的種群。本研究選擇算子采用輪盤賭算子,計算累積概率Qj,
(16)
式中:P(aj)和R(ai)分別為個體ai的選擇概率和適應(yīng)度。選取一個均勻分布的隨機數(shù)r∈[0,1],若Qk-1≤r≤Qk,則選擇染色體ak;i,j,k∈[1,2,…N]。
步驟5 運行交叉算子。交叉是遺傳算法的核心,能產(chǎn)生具有潛力最優(yōu)的個體,從而保證了種群多樣性。本研究采用單點交叉算子,即只有一個位置點進行交叉互換。從種群中隨機選取2個個體,按照β進行染色體交換,經(jīng)交叉運算產(chǎn)生子代替換其父代。個體ai,aj在z位的交叉運算為
(17)
步驟6 運行變異算子。從種群中隨機選擇一個個體,按照γ對該個體的某個基因進行變異,個體au的第v位基因進行的變異操作為
(18)
式中:amin,amax分別為染色體基因auv的最小值、最大值;G為當前迭代數(shù)次。
步驟7 迭代終止條件。通過選擇、交叉和變異算子循環(huán)操作迭代,適應(yīng)度值大的個體被保留下來,若滿足Gmax且連續(xù)三代適應(yīng)度的變化量均小于5%,則將其最優(yōu)的二進制個體轉(zhuǎn)換成十進制數(shù)值,輸出最優(yōu)參數(shù)值C,g;否則,繼續(xù)循環(huán)迭代。這里選取Gmax作為迭代終止條件是因為難以選擇收斂性的判定準則,同時把連續(xù)三代適應(yīng)度的變化量也作為判斷終止的必要條件之一,保證了迭代終止時適應(yīng)度值趨于穩(wěn)定。
為驗證SVR應(yīng)用在進氣流量預(yù)測的可行性,通過建立的汽油機仿真模型進行試驗,獲取樣本數(shù)據(jù)來訓練與檢驗SVR預(yù)測模型。
為了獲取樣本數(shù)據(jù)來訓練、檢驗SVR模型在汽油機過渡工況進氣流量預(yù)測應(yīng)用的有效性,同時也為了簡化實物系統(tǒng)、減少試驗工作量和縮短研究開發(fā)周期,選取HL495Q汽油機為研究對象,通過AMESim/IFP-Engine軟件模塊建立原型樣機仿真模型。HL495Q電噴汽油機的技術(shù)參數(shù)見表1,汽油機仿真模型見圖2。

表1 HL495Q電噴汽油機技術(shù)參數(shù)

圖2 AMESim汽油機仿真模型
為檢驗汽油機仿真模型的有效性和可行性,根據(jù)同型號HL495Q汽油機臺架試驗采集得到的氣缸壓力值對模型進行標定,臺架試驗中曲軸轉(zhuǎn)速分別為2 500 r/min,3 500 r/min,節(jié)氣門開度分別為40%,60%。模型標定后的仿真缸內(nèi)壓力值與臺架試驗值相吻合,上述幾種工況的仿真計算值與臺架試驗值誤差在6%范圍之內(nèi),說明AMESim汽油機仿真模型與原型樣機的進氣流量變化過程一致,仿真結(jié)果具有參考性。圖3示出曲軸轉(zhuǎn)速3 500 r/min、節(jié)氣門開度60%的缸內(nèi)壓力臺架試驗值和仿真計算值的對比。

圖3 轉(zhuǎn)速3 500 r/min、節(jié)氣門開度60%時的缸壓對比
由于汽油機進氣流量是基于前饋控制預(yù)測的,不涉及復(fù)雜的缸內(nèi)燃燒和尾氣排放過程,所選擇的AMESim一維仿真滿足精度要求。
運用GRA分析影響因素與進氣流量的關(guān)聯(lián)程度,篩去關(guān)聯(lián)度較低的影響因素,結(jié)合1.3節(jié)中的關(guān)聯(lián)度算式,計算出各影響因素的關(guān)聯(lián)度,如表2所示。

表2 特征向量的灰色關(guān)聯(lián)度
由計算結(jié)果可知,p′關(guān)聯(lián)度γ(V0,V5)=0.555 33,明顯小于其他因素關(guān)聯(lián)度,存在較大的重復(fù)性訓練和干擾模型的可能性,所以除去其因素,采用4個影響因素a,n,p,a′作為輸入變量。汽油機過渡工況采用典型的加減速階段試驗,在建立的AMESim汽油機仿真模型上進行試驗,采樣周期0.01 s,測試時間5 s。根據(jù)經(jīng)驗設(shè)定訓練樣本和預(yù)測樣本的比例為2∶1,同時結(jié)合仿真試驗方案和具體效果情況,最終確定訓練樣本為1 200組。具體試驗數(shù)據(jù)采集過程如下:
試驗一為加速工況,節(jié)氣門開度在不同時間內(nèi)(1 s,2 s,3 s,4 s,5 s)由10%位置勻速開啟至50%位置,測量輸入變量和輸出變量數(shù)據(jù)信號,共獲得1 700組試驗數(shù)據(jù)。經(jīng)過歸一化處理,從中抽取1 200組數(shù)據(jù)(1 s,2 s,4 s,5 s)作為訓練樣本,剩下500組數(shù)據(jù)(3 s+工況前后2 s)作為檢驗樣本。
試驗二為減速工況,節(jié)氣門開度在不同時間內(nèi)(1 s,2 s,3 s,4 s,5 s)由50%位置勻速關(guān)閉至10%位置,測量輸入和輸出變量數(shù)據(jù)信號,共獲得1 700組試驗數(shù)據(jù)。數(shù)據(jù)經(jīng)過歸一化處理之后,抽取1 200組數(shù)據(jù)(1 s,2 s,4 s,5 s)作為訓練樣本,剩下500組數(shù)據(jù)(3 s+工況前后2 s)作為檢驗樣本。
在模型預(yù)測之前需要確定參數(shù)C,g值。已知GA辨識步驟(見1.4節(jié))和試驗數(shù)據(jù),取染色體長度L為20,在MATLAB軟件上編寫GA程序?qū)δP蛥?shù)C∈[0.1,1 000],g∈[0.001,10]進行優(yōu)化辨識。加減速工況的適應(yīng)度曲線迭代過程見圖4。

圖4 GA優(yōu)化SVR模型參數(shù)適應(yīng)度曲線
經(jīng)多次運行穩(wěn)定之后得到加減速工況的最佳參數(shù)值,分別為C1=933.596,g1=0.340 713和C2=999.487,g2=0.421 281,取ε=0.4,然后代入到SVR模型中進行訓練和預(yù)測。在LIBSVM工具箱基礎(chǔ)上建立SVR預(yù)測模型,通過程序讀取指令實現(xiàn)樣本數(shù)據(jù)獲取,再將測試樣本輸入到訓練好的SVR模型中進行預(yù)測,記錄模型的預(yù)測結(jié)果。加減速工況SVR模型的預(yù)測結(jié)果見圖5。經(jīng)過計算,SVR模型預(yù)測值與真實值的最大絕對百分比誤差分別為1.46%和1.45%,預(yù)測值與真實值之間誤差控制在2%之內(nèi),模型擁有優(yōu)良的預(yù)測性能和逼近精度,說明預(yù)測值能較好地反映出未來循環(huán)的進氣流量,SVR應(yīng)用在進氣流量預(yù)測方面可行有效。

圖5 SVR模型進氣流量預(yù)測結(jié)果
預(yù)測性能的好壞取決于模型的優(yōu)劣。以下通過不同模型之間預(yù)測效果對比分析,驗證SVR預(yù)測模型的先進性。為了控制變量,在保持相同條件下,本研究對文獻[7]中RBF預(yù)測模型和文獻[6]中BP預(yù)測模型的結(jié)構(gòu)與參數(shù)進行調(diào)整,分別建立了RBF預(yù)測模型和BP預(yù)測模型,在MATLAB平臺上編寫程序?qū)崿F(xiàn)其功能。
建立基于RBF的預(yù)測模型,將AMESim汽油機模型采集的1 700組試驗數(shù)據(jù)進行歸一化處理,取1 200組數(shù)據(jù)作為RBF神經(jīng)網(wǎng)絡(luò)模型的訓練樣本,另500組數(shù)據(jù)作為檢驗樣本。RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)輸入層、隱含層和輸出層的節(jié)點數(shù)分別設(shè)置為4,200,1,擴散因子為50,允許誤差為0.001。基于RBF神經(jīng)網(wǎng)絡(luò)的加減速工況流量預(yù)測情況見圖6。

圖6 RBF模型進氣流量預(yù)測結(jié)果
建立基于BP的預(yù)測模型,將采集的1 700組試驗數(shù)據(jù)進行歸一化處理,然后取1 200組數(shù)據(jù)作為BP神經(jīng)網(wǎng)絡(luò)模型的訓練樣本,另500組數(shù)據(jù)作為檢驗樣本。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)輸入層和輸出層的節(jié)點數(shù)分別設(shè)置為4和1,訓練次數(shù)為1 500,學習速率為0.01,允許誤差為0.001,根據(jù)經(jīng)驗公式num=sqrt(m+n)+a,選取隱含層神經(jīng)元數(shù)目為9。基于BP神經(jīng)網(wǎng)絡(luò)的進氣流量預(yù)測情況見圖7。

圖7 BP模型進氣流量預(yù)測結(jié)果
引入3種預(yù)測性能評價指標,即均方誤差(MSE)、平均絕對誤差(MAE)和平均相對誤差(MRE),用于定量分析模型的預(yù)測效果。從表3中模型的誤差結(jié)果可知,SVR模型誤差值遠低于RBF模型和BP模型,顯然SVR模型的預(yù)測精度更高,說明其能夠結(jié)合進氣流量變化過程發(fā)揮出本身結(jié)構(gòu)特性,能夠克服過學習和逼近能力不高的問題,應(yīng)用在汽油機過渡工況進氣流量預(yù)測方面更具有優(yōu)勢。

表3 加減速工況模型預(yù)測誤差比較
結(jié)合了SVR的結(jié)構(gòu)優(yōu)勢和回歸性能,提出了基于支持向量回歸機的汽油機進氣流量預(yù)測模型;采用了灰色關(guān)聯(lián)分析法對模型的特征向量進行提取,提高了模型輸入節(jié)點的質(zhì)量;利用了遺傳算法對模型參數(shù)進行尋優(yōu)辨識,增加了選擇參數(shù)的科學性,進而尋找出最優(yōu)參數(shù)解;然后通過AMESim汽油機仿真試驗獲取的樣本數(shù)據(jù)對模型進行了訓練和預(yù)測;最后將模型預(yù)測結(jié)果與試驗值進行了比較,同時把訓練好的SVR模型與RBF預(yù)測模型、BP預(yù)測模型進行了橫向?qū)Ρ确治觥=Y(jié)果表明:SVR模型的預(yù)測值與真實值的誤差控制在2%之內(nèi),擁有優(yōu)良的預(yù)測性能和逼近精度,說明能夠結(jié)合進氣流量變化過程發(fā)揮出本身結(jié)構(gòu)特性,實現(xiàn)了未來時刻進氣量的有效預(yù)測;SVR模型的預(yù)測精度和泛化能力明顯優(yōu)于常規(guī)的RBF預(yù)測模型、BP預(yù)測模型,克服了神經(jīng)網(wǎng)絡(luò)應(yīng)用在進氣流量預(yù)測方面的缺陷。
需要注意的是,由于該模型的計算量龐大,相對于神經(jīng)網(wǎng)絡(luò)模型的實時性來說,對數(shù)據(jù)的實時運算能力較差,未來需要對這方面做進一步的研究。