孟蓉歌 張春化 梁繼超
1.長安大學汽車學院,西安,7100642.陜西重型汽車有限公司,西安,710200
曲軸信號是燃油噴射正時控制的基準,僅靠曲軸的機械結構無法精確判斷曲軸相位,燃油噴射控制精度不高。如60-2結構的曲軸齒盤,其曲軸轉角所能識別的精度僅為6°,以6°曲軸轉角為依據進行噴油控制精度明顯不夠,而目前可用于高精度噴油控制的電子編碼器多為進口,價格昂貴。由此,有必要對曲軸信號脈寬進行準確預測,根據預測結果倍頻曲軸信號,從而提高發動機燃油噴射的控制精度。利用鎖相環與分頻器實現鎖相倍頻,硬件電路復雜,元器件的參數設計調整相對困難,同時信號的倍頻數也無法靈活設置。楊騏菲等[1]利用單片機實現了信號倍頻,馬志磊等[2]利用TC1728對曲軸信號進行了判缸模式研究。這兩種方法中所用倍頻方式受單片機計數器位數的影響,脈寬預測精度受到限制。文獻[3-4]基于最小二乘算法實現了曲軸信號脈寬預測,這種方式預測精度較低且瞬態工況下脈寬預測的跟隨性較差。
對此,本文提出采用改進粒子群優化(PSO)-Elman神經網絡的方法(以下簡稱“PSO-Elman算法”)對曲軸脈寬信號進行預測。陳杰等[5]將PSO算法優化Elman神經網絡用于短期電力負荷預測;張俊玲等[6]選用慣性權重線性遞減的PSO算法優化了Elman神經網絡并將其用于無模型控制中;顏宏文等[7]用關聯規則對PSO-Elman算法預測結果進行修正,提高了算法的預測精度。這幾種采用PSO算法優化Elman的方法沒有對算法陷入局部最優的情況進行處理,算法易出現早熟現象。本文針對基本PSO算法種群過早陷于當前局部最優,未能對整個解空間進行充分搜索的問題,通過改變慣性權重的修正方法使得PSO算法得到改進,改善了算法搜索的全局性,使算法能以較快速度跳出局部最優,提高網絡收斂速度。

x(k)=ψXc(k-1)
Xc(k)=f(WI1u(k-1)+WI2x(k))
y(k)=g(WLXc(k))
式中,f(·)、g(·)分別為隱含層與輸出層的激勵函數;ψ為反饋層的自連接增益因子。

粒子群算法最初用于模擬鳥群覓食過程[8]。粒子群中的每個粒子代表問題的一個潛在解,粒子通過自身的個體認知與群體中其他成員的社會認知動態地更新自己的速度與位置以優化群體行為。粒子速度和位置更新公式為
vid(t+1)=w(t)vid(t)+c1r1(pid-xid(t))+
c2r2(pgd-xid(t))
(1)
xid(t+1)=xid(t)+γvid(t+1)
(2)
式中,vid、xid分別為粒子i的速度和位置;c1為粒子跟蹤個體歷史最優的權重系數;c2為粒子跟蹤社會認知的權重系數;pid、pgd為粒子個體和群體的歷史最優位置;r1、r2為[0,1]內的隨機數;w為慣性權重。
慣性權重w和加速因子c1、c2是影響算法優化性能的重要參數,王東風等[9]研究了不同參數組合對算法優化性能的影響,推薦了一組固定參數組合和一種變化的參數設置方法。慣性權重w用于平衡粒子的全局搜索能力和局部搜索能力,w較大時算法具有全局收斂性,但運算量較大,w較小時算法易收斂,但也易陷入局部最優點。w一般按線性遞減算法取值[10]。帶壓縮因子的慣性權重能夠克服線性遞減算法的不足[11],但對算法陷入局部最優沒有給出具體的解決方法。對此,本文提出根據算法迭代結果動態設置慣性權重以改進基本粒子群優化的方法。將本次適應度函數的值與上次進行比較,若兩次適應度值變化在0.01%內則認為算法本次陷入局部最優,陷入局部最優的代數加1,否則算法未陷入局部最優,代數清零。算法求解過程中如果連續5代尋找到的最優值變化在0.01%內則認為算法陷入局部最優。算法未陷入局部最優時慣性權重按線性遞減更新;算法陷入局部最優時則根據陷入局部最優的代數按比例增大慣性權重,以使算法盡快跳出局部最優點。改進PSO算法與PSO算法的主要區別在于對慣性權重的修正方法不同,如表1所示。

表1 PSO算法與改進PSO算法慣性權重修正方法
改進PSO-Elman神經網絡步驟如下:
(1)采集輸入輸出樣本數據,并進行歸一化處理,創建Elman神經網絡。
(2)根據Elman神經網絡結構確定粒子群規模,初始化粒子速度、位置、慣性權重、加速因子及迭代次數。
(3)計算群體中各粒子的適應度值及全局最優適應度值。采用誤差平方和函數為學習指標函數,即粒子的適應度函數。適應度值定義為

如果該粒子的當前適應度值優于其歷史最優位置的適應度值,則更新該粒子個體最優位置。如果所有粒子中個體最優位置所對應的適應度值優于當前全局最優適應度值,則更新全局最優位置。
(4)采用式(1)、式(2)對各粒子的速度和位置進行更新,產生下一代粒子群。
(5)判斷算法是否陷入局部最優。適應度函數優化過程中,若連續5代尋找到的最優值變化在0.01%內,則認為算法陷入局部最優(陷入局部最優的代數設為gJ),按w=w+gJ/0.1更新慣性權重,w最大取1.2,超出時則取1.2。若未陷入局部最優則慣性權重按w=0.9-0.5g/M(g為迭代次數,M為種群規模)進行更新,w最小取0.68。
(6)判斷迭代次數是否到達,到達則停止迭代;否則進入步驟(3)重復。
(7)利用改進PSO算法優化所得參數(輸入層至隱層權值WI1、反饋層至隱層權值WI2、隱層至輸出層權值WL、隱層閾值與反饋層閾值)訓練Elman神經網絡。
(8)訓練結果反歸一化,輸出。
實驗用發動機為一臺6缸增壓中冷YC6G270-30型柴油機。發動機主要參數如表2所示。

表2 發動機主要參數
穩態工況下分別對650 r/min、1 000 r/min、1 200 r/min與2 000 r/min時的曲軸脈寬進行預測,瞬態工況下對1 030 r/min波動時的曲軸信號脈寬進行預測。為便于確定粒子規模,每6個脈寬作為一組樣本數據,前5個為輸入脈寬,第6個為預測脈寬。各工況下取訓練樣本500組,測試樣本100組。將樣本數據歸一化后輸入所創建的Elman神經網絡中。
網絡隱層傳遞函數取tansig和logsig,反向傳播函數取traingdx和trainlm,輸出層傳遞函數取tansig與purelin分別組合進行預測。結果發現隱層傳遞函數取tansig或logsig對訓練結果影響不大;反向傳播函數取trainlm時比traingdx訓練結果精度稍有提高,但網絡訓練時間明顯增長;輸出層傳遞函數取線性傳遞函數purelin時,網絡訓練精度明顯更高(相較采用tansig函數)。最終選擇tansig為所設計網絡的隱層傳遞函數,traingdx為反向傳遞函數,purelin為輸出層傳遞函數。


圖2 預測結果均方差與隱層節點數關系Fig.2 The relationship between mean square error andthe number of hidden layer nodes
根據實際工程需要,網絡最大訓練步數設為1 000,誤差容限取0.001。利用改進PSO算法對Elman神經網絡進行優化,各粒子由WI1、WI2、WL、輸入層閾值b1及輸出層網絡閾值b2組成,粒子編碼格式如圖3所示。

WI1WI2WLb1b2
圖3粒子編碼格式
Fig.3Codingformatofparticle
因此,網絡權值的個數為5×9+9+9×1=63個,閾值為9+1=10個,PSO算法粒子的長度為73。設定粒子個數為40,最大迭代次數為100,加速因子取c1=2.05、c2=0.5[13]。
2.3.1不同工況下脈寬預測結果比較
曲軸脈寬信號采樣周期為2.5 μs,穩態工況下以怠速650r/min為例,其脈寬預測結果如圖4所示。其他穩態轉速工況下可得相似的預測波形。

圖4 650 r/min穩態工況脈寬預測結果Fig.4 Prediction result of engine speed under steady-state operating condition 650 r/min
瞬態工況下將1 030 r/min波動時的轉速預測值與實際值進行比較,結果如圖5所示。各工況下曲軸脈寬預測誤差結果見表3。

圖5 1 030 r/min瞬態工況轉速預測結果Fig 5 Prediction result of engine speed under transient operating condition 1 030 r/min

發動機轉速(r/min)絕對誤差均值相對誤差(%)650(穩態)0.44780.05821000(穩態)0.50200.05371030(瞬態)0.78910.07651200(穩態)0.60190.05012000(穩態)0.67390.0298
由表3可見,隨著發動機轉速的增大,脈寬預測絕對誤差均值略有增大,怠速工況下絕對誤差均值最小,相對誤差隨著發動機轉速的增加明顯減小。瞬態工況轉速在1 030 r/min波動時脈寬預測絕對誤差與相對誤差均為最大。
2.3.2不同算法預測結果對比
為驗證算法在小樣本情況下的預測能力,任取10個怠速工況下的連續采樣脈寬數據,分別采用最小二乘算法、訓練好的Elman神經網絡、PSO-Elman神經網絡及改進PSO-Elman神經網絡進行預測,預測結果如圖6所示。脈寬預測絕對誤差均值見表4。

圖6 不同模型脈寬預測結果Fig.6 Prediction results of different models

算法絕對誤差均值最小二乘3.4256Elman1.5362PSO-Elman0.9397改進PSO-Elman0.4982
圖7所示為脈寬預測相對誤差。

圖7 相對誤差結果比較Fig.7 Comparison of relative error
圖8為改進PSO-Elman神經網絡算法與PSO-Elman神經網絡算法適應度函數變化曲線。

圖8 適應度曲線對比圖Fig.8 Comparison graph of adaptability curves betweenPSO-Elman and advanced PSO-Elman
由圖8可見,改進PSO-Elman算法能夠以較快的速度跳出局部最優,經13次迭代算法可達穩定值,同時其收斂精度明顯高于PSO-Elman神經網絡算法。由于PSO算法采用并行計算,同時受種群規模及維數影響,故文中所用神經網絡均采用離線訓練方式。
(1)改進PSO-Elman神經網絡算法能夠準確預測發動機曲軸脈寬信號,可用于信號倍頻以提高發動機噴油控制的精度。瞬態工況時因為發動機加速度變化大,脈寬預測精度略低于穩態。
(2)改進PSO-Elman神經網絡算法根據迭代陷入局部最優的代數修改慣性權重使算法能夠以較短步長跳出局部最優,有效地提高了算法的收斂速度。改進PSO-Elman神經網絡算法預測精度明顯高于最小二乘、Elman神經網絡與PSO-Elman神經網絡算法的預測精度。
參考文獻:
[1] 楊騏菲,申立中,王貴勇,等. 高壓共軌柴油機曲軸信號倍頻研究[J]. 科學技術與工程,2011,25(11):6065-6070.
YANG Qifei, SHEN Lizhong, WANG Guiyong, et al. Study of High Pressure Common Rail Diesel Crank Sensor Signal Frequency Multiplier[J]. Science Technology and Engineering,2011,25(11):6065-6070.
[2] 馬志磊,王貴勇,申立中. 基于TC1728的高壓共軌柴油機判缸研究[J]. 車用發動機,2015,2(1):6-16.
MA Zhilei, WANG Guiyong, SHEN Lizhong. Cylinder Detection for High-pressure Common Rail Diesel Engine Based on TC 1728[J]. Vehicle Engine,2015,2(1):6-16.
[3] WANG Junmin, SARLSHKAR J V. Engine Crankshaft Position Tracking Algorithms Applicable for Given Arbitrary Cam and Crank-shaft Position Signal Patterns[J]. SAE Technical Paper Series,2007-01-1597.
[4] LETEINTURIER P, BENNING J. Enhanced Engine Position Acquisition & Treatment[J]. SAE Technical Paper Series, 1999-01-0203.
[5] 陳杰,高翠云,胡翀. 基于PSO-Elman神經網絡的短期電力負荷預測[J]. 安徽建筑大學學報,2016,24(1):82-86.
CHEN Jie, GAO Cuiyun, HU Chong. Short-term Electric Load Forecasting Based on PSO-Elman Neural Network[J]. Journal of Anhui Institute of Architecture & Industry,2016,24(1):82-86.
[6] 張俊玲,陳增強,張青. 基于粒子群優化的Elman神經網絡無模型控制[J]. 智能系統學報,2016,11(1):49-54.
ZHANG Junling, CHEN Zengqiang, ZHANG Qing. Elman Model-free Control Method Based on Particle Swarm Optimization Algorithm [J]. CAAI Transactions on Intelligent Systems,2016,11(1):49-54.
[7] 顏宏文,鄒丹. 基于關聯規則的PSO-Elman短期風速預測[J]. 計算機工程與應用,2017(1):1-10.
YAN Hongwen, ZOU Dan. Short-term Wind Speed Forecasting Based on PSO-Elman Optimized by Association Rule[J]. Computer Engineering and Applications,2017(1):1-10.
[8] 干旭波,姚棟偉,吳鋒,等. 基于PSO算法的SCR尿素熱解動力學參數優化[J]. 內燃機工程,2016,37(3):83-93.
GAN Xubo, YAO Dongwei, WU Feng, et al. Kinetic Optimization of Urea-SCR Thermal Decomposition Based on PSO Algorithm[J]. Chinese Internal Combustion Engine Engineering,2016,37(3):83-93.
[9] 王東風,孟麗. 粒子群優化算法的性能分析和參數選擇[J]. 自動化學報,2016,42(10):1552-1561.
WANG Dongfeng, MENG Li. Performance Analysis and Parameter Selection of PSO Algorithms[J]. Acta Automatica Sinica,2016,42(10):1552-1561.
[10] 張任,胥芳,陳教科,等. 基于PSO-RBF神經網絡的鋰離子電池健康狀態預測[J]. 中國機械工程,2016,27(21):2975-2981.
ZHANG Ren, XU Fang, CHEN Jiaoke, et al. Li-ion Battery SOH Prediction Based on PSO-RBF Neural Network[J]. China Mechanical Engineering,2016,27(21):2975-2981.
[11] 黃平. 粒子群算法改進及其在電子系統的應用[D].廣州:華南理工大學,2012.
HUANG Ping. Improved Particle Swarm Algorithm and Its Application in Power System[D]. Guangzhou: South China University of Technology,2012.
[12] 浦健,程靜. 基于PSO-Elman神經網絡的汽輪機排汽焓在線預測計算[J]. 南京師范大學學報(工程技術版),2009,9(2):35-40.
PU Jian, CHENG Jing. Online Prediction and Calculation of Steam Turbine Exhaust Enthalpy Based on PSO-Elman Neural Network[J]. Journal of Nanjing Normal University(Natural Science Edition),2009,9(2):35-40.
[13] 陳波,潘海鵬,鄧志輝. 基于PSO優化RBF神經網絡的反應釜故障診斷[J]. 中國機械工程,2012,23(18):2204-2207.
CHEN Bo, PAN Haipeng, DENG Zhihui. Application of PSO-based RBF Neural Network in Fault Diagnosis of CSTR[J]. China Mechanical Engineering,2012,23(18):2204-2207.