王重陽,李維奇,李岳林
(1.長沙理工大學汽車與機械工程學院,湖南長沙 410004;2.武漢理工大學,湖北武漢 430070)
基于PSO-BP神經網絡的汽油機點火提前角優化模型*
王重陽1,李維奇2,李岳林1
(1.長沙理工大學汽車與機械工程學院,湖南長沙 410004;2.武漢理工大學,湖北武漢 430070)
針對查表插值法獲取汽油機點火提前角精度不高的問題,提出了基于PSO-BP神經絡網的汽油機點火提前角優化模型,通過粒子群算法(PSO)優化BP神經網絡的權值和閾值,使BP神經網絡的收斂速度和輸出精度得到提高,并與傳統BP神經網絡模型進行了對比。對比仿真結果表明,該模型能準確獲取不同工況下的點火提前角,且精度優于傳統BP神經網絡模型,在優化發動機點火提前角的問題上具有一定的實用性和可靠性。
汽車;汽油機;粒子群神經網絡;點火提前角;優化模型
發動機點火提前角是除空燃比之外另一個直接影響其動力性、經濟性和排放性能的重要因素。目前汽油機上普遍采用查表插值方法獲得基本點火提前角,盡管該方法在計算速度上有優勢,但精度偏低。神經網絡具備強大的非線性映射能力,文獻[2]中采用最常用的誤差反向傳播(Back Propagation,BP)算法對汽油機基本點火提前角進行優化,取得了一定成果。但基于梯度下降的BP網絡本身存在收斂速度慢、易陷入局部最小等缺點。針對上述不足,該文采用PSO(Particle Swarm Optimization,PSO)算法優化BP神經網絡的初始權值和閾值,使BP網絡的收斂速度和輸出精度得到提高,進而準確獲取發動機不同工況下的點火提前角。
PSO優化算法的核心思想是速度-位置搜索模型,通過種群中個體之間的信息共享獲取問題的最優解。例如有m個粒子組成一個種群M,Xi=(ri1,ri2,…,rid)T、Vi=(vi1,vi2,…,vid)T、Pi=(pi1,pi2,…,pid)T、Pg=(pg1,pg2,…,pgd)T分別表示種群M中第i個粒子在D維空間中的當前位置、速度、個體所經過的最好位置及群體經過的最好位置。算法首先初始化種群粒子(解隨機),然后每個粒子通過跟蹤2個極值(Pi、Pg)實現自己速度和位置的更新:

式中:i=1,2,3,…,n;j=1,2,3,…,d;w為慣性因子,按式(3)確定;vij(t)、rij(t)分別表示進化到第t代時粒子i的速度和位置;c1、c2表示學習因子,其值一般為0~2;r1、r2為0~1的隨機數。

式中:itermax、iter分別為算法的最大迭代次數和當前迭代次數。

式中:p為網絡輸出個數;Yij、yij分別為i個樣本的第j個理想輸出值和實際輸出值;m=1,2,…,M;M為種群粒子的個數;n為樣本個數。
2.1點火提前角影響因素分析
影響汽油機點火提前角的因素有很多,包括轉速n、負荷(進氣歧管壓強pa)、節氣門開度ρ、冷卻水溫度Tw等,并且這些因素具有非線性、分散性和不確定性的特點。其中主要影響因素為轉速和負荷。因此,以轉速和負荷作為網絡的輸入,以對應的點火提前角作為網絡的輸出。
2.2點火提前角優化模型的建立
Hecht Nielsen R.證明了只要節點數足夠多,擁有3層結構的網絡便可生成任意復雜的映射,可模仿任意復雜的非線性函數和曲線。因此,建立包含1個隱含層的3層前向神經網絡。
神經網絡隱含層節點數的確定一直是模型建立的難點和關鍵,目前還沒有嚴格的理論依據。實際應用時一般是先通過經驗公式計算得到一個大致范圍,然后在該范圍內逐一進行試驗驗證,最終得到較為理想的隱含層節點數。結合經驗公式即式(6)、式(7)和仿真試驗結果,當隱含層節點數為15,構成2-15-1的3層BP網絡時,網絡精度和收斂速度均比較理想。隱含層節點數與網絡誤差關系的仿真結果見圖1。

式中:H、Ⅰ、P分別表示隱含層節點個數、輸入層節點個數和輸出層節點個數;m為[0,10]的整數。

圖1 隱含層個數與網絡誤差的關系
PSO-BP神經網絡的訓練過程如下:
(1)歸一化,將原始樣本數據處理到[0,1]內。
(2)建立2-15-1的3層BP神經網絡,并將連接神經元的各個初始連接權值wij和閾值θij表示成粒子位置的向量。粒子向量維數按式(8)計算。

(3)對粒子群初始化,對每個粒子的初始位置、速度、慣性因子w、學習因子c1和c2等按照上述理論依據進行初始賦值。
(4)粒子適應度值計算。按照編碼在粒子位置向量中的網絡權值和閾值,對于每一個輸入樣本,均可以依照BP算法原理計算出一個輸出值;然后按式(4)計算對應網絡輸出與實際樣本之間的誤差,直至所有樣本的誤差均計算完成;最后按式(5)計算得到所有樣本的均方差值,此即前粒子的適應度值。如此反復計算,直到計算出種群中所有粒子的適應度值。
(5)通過共享第4步中各粒子的適應度值,確定Pi和Pg。若f(Xi)<f(Pi),則f(Pi)= f(Xi),Pi=Xi;否則,f(Pi)、Pi不變。若f(Xi)<f(Pg),則f(Pg)=f(Xi),Pg=Xi;否則,f(Pg)、Pg不變。其中f(Xi)、f(Pi)、f(Pg)分別為粒子的適應度值、個體極值點對應的適應度值、全局最優值點對應的適應度值。
(6)根據第4步中的比較結果,按式(1)、式(2)對每個粒子的位置和速度在限定范圍內進行更新,完成種群粒子的第一次進化,即BP網絡的第一次迭代。若Vi>Vmax,則Vi=Vmax;若Vi<-Vmax,則Vi=-Vmax;否則,Vi不變。若Xi>Xmax,則Xi= Xmax;若Xi<-Xmax,則Xi=-Xmax;否則,Xi不變。其中Vmax=1、Xmax=1、Xmin=-1。
(7)按式(9)計算PSO-BP網絡模型的誤差。

式中:k為算法當前迭代次數;f( Pg( i))為第i次迭代時全局最優解所對應的適應度值。
(8)誤差判斷。若網絡誤差已達到預設精度,則最后一次迭代時種群的Pg所對應的wij和θij便是網絡的最優解;若網絡誤差還未達到預設精度,且迭代次數未達到最大,則返回第4步;否則,算法不收斂,迭代終止。
(9)對網絡輸出進行反歸一化處理,得到點火提前角。
以某四缸汽油機點火提前角標定數據作為原始樣本數據,共600組,從中均勻抽取100組作為測試數據。PSO算法和BP神經網絡的參數設置如下:粒子種群規模M為20;由式(8)可知BP網絡中需要優化的連接權值共有61個,即PSO算法中各粒子的搜索空間為61維;迭代次數為1000;目標誤差為0.0001;wmax=0.9;wmin=0.4;c1=2;c2=2。BP神經網絡的最大迭代次數為2000,學習速率為0.1,目標誤差為0.002,初始動量因子取0.9。
采用MATLAB編程實現兩種算法,傳統BP網絡和PSO-BP網絡的收斂速度分別見圖2和圖3。從中可見:PSO-BP模型在迭代不到300次時就達到了目標誤差,而傳統BP模型迭代到1471次后才達到目標誤差。

圖2 BP模型的迭代次數

圖3 PSO-BP模型的迭代次數
圖4和圖5分別為PSO-BP模型、傳統BP模型訓練輸出值與實際值對比,圖6為兩模型的輸出誤差對比。

圖4 PSO-BP模型輸出與實際值對比
對測試樣本分別運用訓練后的PSO-BP模型進行預測,并與實驗標定值進行比較,結果見圖7。兩模型的預測誤差比較見表1。

圖5 BP模型輸出與實際值對比

圖6 PSO-BP模型與BP模型輸出誤差對比

圖7 PSO-BP模型預測效果

表1 PSO-BP模型與BP模型預測誤差對比
從表1來看,基于PSO-BP神經網絡的點火提前角優化模型具有較強的泛化能力,能準確獲取不同工況下的點火提前角。
該文通過PSO算法對BP網絡進行優化,建立了PSO-BP神經網絡點火提前角優化模型,并采用實驗獲取的點火提前角樣本數據對其進行訓練和仿真預測,結果表明:PSO-BP神經網絡模型能準確獲取不同工況下的點火提前角,在優化發動機點火提前角的問題上具有一定的實用性和可靠性。
[1] 馮輝宗,楊廣,袁榮棣,等.關于發動機點火提前角優化控制研究與仿真[J].計算機仿真,2015,32(12).
[2] 張晟愷,孫仁云,嚴浩銘.基于發動機模型的神經網絡點火控制器[J].湖北汽車工業學院學報,2013,27(4).
[3] 朱小明,張慧斌.PSO算法的穩定性分析及算法改進[J].計算機科學,2013,40(3).
[4] 張志政,周威.基于PSO-BP神經網絡的參考作物蒸騰量預測[J].節水灌溉,2014(11).
[5] 張佳偉,張自嘉.基于PSO-BP神經網絡的短期光伏系統發電預測[J].可再生能源,2012(8).
[6] 劉健,何林,袁建華,等.基于新式組合算法的上證綜合指數預測[J].計算機仿真,2013,30(12).
[7] 艾永冠,朱衛東,閆冬.基于PSO-BP神經網絡的股市預測模型[J].計算機應用,2008,28(增刊2).
[8] 艾永冠.粒子群優化神經網絡在股市預測中的建模與應用[D].合肥:合肥工業大學,2009.
[9] 王麗君,楊振中,張慶波,等.基于粒子群神經網絡優化氫發動機點火提前角[J].小型內燃機與摩托車,2010,39(4).
[10] 周品.MTLAB神經網絡設計與應用[M].北京:清華大學出版社,2013.
U464.171
A
1671-2668(2016)05-0001-03
湖南省自然科學基金資助項目(2016JJ2003)
2016-03-20