王震 陸金桂



摘要:針對單一BP神經網絡模型估算鋰離子電池SOC易陷入局部最優的問題,引入蟻群算法ACO,并與BP神經網絡模型相結合,提出了改進的ACO|BP神經網絡以估算電池SOC.采用慣性矯正算法,在校正權閾值時加入慣性量,以改進BP神經網絡;利用改進的全局信息素更新規則來改進ACO算法,以解決其易早熟收斂的問題.將經改進的ACO|BP神經網絡應用于18650鋰離子動力電池SOC估算,結果表明,改進的ACO|BP神經網絡估算SOC的相對誤差能控制在±1.957%以內,MAPE為0.897%,精度和穩定性明顯優于單一BP神經網絡和ACO|BP神經網絡.
Abstract:Aiming at the problem that SOC of lithium ion batteries is easy to fall into local optimum by single BP neural network, ant colony algorithm was introduced and combined with BP neural network model,and an improvedACO|BP neural network was proposed to estimate battery SOC.Inertia correction algorithm was used to add inertia amount when correcting the weight threshold to improve BP neural network. ACO algorithm was improved using the improved global pheromone updating rules to solve the problem of premature convergence.The improved ACO|BP neural network was applied to estimate SOC of 18650 lithiumion power battery. The resultsshowed that the relative error of the improved ACO|BP neural network in estimating SOC could be controlled within ±1.957% and the MAPE was 0.897%. The accuracy and stability of the improved ACO|BP neural network were obviously better than those of single BP neural network and ACO|BP neural network.
關鍵詞:電池SOC;蟻群優化;神經網絡;估算模型
Key words:SOC of battery;
ant colony optimization;
neural network;estimation model
中圖分類號:TM912文獻標識碼:ADOI:10.3969/j.issn.2096-1553.2019.04.012
文章編號:2096-1553(2019)04-0081-06
0 引言
動力電池SOC(state of charge)的估算是動力電池管理系統的核心.精確地估計動力電池SOC,一方面可以合理地分配能量,提高動力電池的續航時間,另一方面可以避免動力電池的過充和過放,安全保護動力電池,延長動力電池的使用壽命.如何精確地估算動力電池的SOC是業界當今研究的熱點和難點.
目前國內外用于估算動力電池SOC的方法主要有安時積分法[1]、開路電壓法[2]、擴展卡爾曼濾波法[3]、BP神經網絡法[4]等.安時積分法雖然簡單穩定,但是無法避免累計誤差;開路電壓法不能滿足在線動態估算電池SOC的要求;擴展卡爾曼濾波法具有一階泰勒精度[5],但個別特征參數不穩定.
BP神經網絡具有較強的自學習和非線性擬合能力,
而SOC與測量所得的電壓、電流、溫度等值之間是強烈的非線性關系,所以BP神經網絡能夠較好地估算動力電池的SOC.張傳偉等[6]提出了BP神經網絡估算SOC的模型;黃妙華等[7]改進了BP神經網絡的SOC估算,利用較優的訓練函數和傳遞函數提高了BP神經網絡估算SOC的普適性.但單純的BP神經網絡法易陷入局部最優、收斂速度慢的情況.王鴿等[8]將蟻群算法(ACO)與BP神經網絡結合,加快了網絡的收斂速度,在一定程度上避免了單純BP算法易出現局部極小值的問題,但是標準ACO算法仍存在易陷入局部最優的問題.
鑒于此,本文擬采用改進ACO算法優化改進后的BP神經網絡,構建改進的ACO|BP神經網絡,將其運用于鋰電子電池的SOC估算,以期提高動力電池SOC的估算精度.
1 改進ACO|BP神經網絡的構建
1.1 BP神經網絡的改進
BP神經網絡在訓練過程中信號前向傳播,誤差逆向傳播[9],是通過模仿人類大腦神經網絡構造、具有自適應和非線性擬合等能力的人工神經網絡,其實質是通過不斷修正神經網絡各隱含層的各個權值和閾值,使誤差達到設置的范圍.估算SOC的BP神經網絡由3層網絡結構構成,即輸入層、隱含層和輸出層.
為了提高BP神經網絡估算的實時性和準確性,本文采用慣性校正算法來改進BP神經網絡,即在校正權閾值時,在本次誤差計算得到的校正量的基礎上,以一定的慣性系數加上前一次權閾值的校正量,作為此次的校正量.其計算公式為
其中,ΔW(n)為本次最終校正量;W為誤差計算得到的校正量;αΔW(n-1)為慣性量,α是取值為(0,1)的慣性系數,ΔW(n-1)為前一次權閾值最終校正量.
相較于標準BP神經網絡,經改進的BP神經網絡其學習收斂速度和精度有較大的提高[10].
1.2 ACO算法的改進
ACO算法是一種仿生智能隨機搜索算法.螞蟻的覓食行為是一種強化正確行為的正反饋,而優先選擇信息素濃度較高的路徑則是該正反饋的前提,所有待優化問題的解空間對應整個螞蟻群體的所有路徑,較優螞蟻(即行進路徑較短的螞蟻)釋放較多的信息素,一段時間以后,該路徑上累積了較高濃度的信息素,在正反饋的作用下選擇此條路徑的螞蟻數量相應增多,如此循環,最終在最佳路徑上集中了數量最多的螞蟻[11],此時該最短路徑即為最優解.
由于蟻群系統是通過信息素的累積將搜索行為集中到最優解附近來尋優的,當局部最優解附近已經有較高濃度信息素時,絕大多數螞蟻會選擇局部最優解的路徑,在正反饋的作用下易造成早熟收斂的行為,導致最終得到的是局部最優解而不是全局最優解.
本文擬通過改進ACO算法的全局信息素更新規則來避免蟻群陷入局部最優解,改進的全局信息素更新規則
是:通過增強蟻群目前最優解的信息素,削弱之前局部最優解信息素的方法,可以避免蟻群算法陷入局部最優解的問題,即為
1.3 ACO|BP神經網絡的改進
設BP神經網絡有K個權值,根據權值的取值范圍將每個參數Ki(1≤i≤K)的定義域平均劃分成L個區間,即每個區間的長度被L等分,從而形成一個K×L大小的集合A.將區間的臨界值或選擇區間中的隨機值作為候選值.螞蟻在集合A中遍歷.計算螞蟻經過的路徑,分別選出最優和最差的螞蟻,然后更新調節信息素,循環以上步驟直到達到最大循環次數,找出使得權值最合適的節點所在.所得到的解即是較優解.將此較優解作為BP神經網絡算法權值的初始值.訓練BP神經網絡,對誤差進行反饋調節,調整權值,得到最優解.算法流程圖如圖1所示,具體步驟如下.
步驟1 參數初始化:將每個權值和閾值的定義域等分,設置有m個螞蟻,信息揮發系數ρ,信息素殘留系數λ,信息素強度Q,最大迭代次數Nmax,BP神經網絡全局誤差E,最大學習次數N.
步驟2 權值選擇:m只螞蟻根據狀態轉移概率函數選擇路徑,蟻群迭代一次則完成一次解的構造,狀態轉移概率函數為
步驟3 若k 步驟4 將蟻群迭代得到的解作為BP神經網絡的初始權值對網絡進行訓練,將BP神經網絡的輸出均方差最小值作為蟻群算法較優解. 步驟5 一個循環結束后,根據公式②③對殘留信息進行全局更新,并重置信息表. 步驟6 若達到最大循環次數則輸出較優權值,否則跳轉至步驟2重復以上步驟. 步驟7 將蟻群迭代得到的較優解作為BP神經網絡的初始權值進行訓練,根據輸出值與實際值的誤差進行反饋調節,得到最優權值. 2 改進后的ACO|BP神經網絡在電池SOC估算中的應用 2.1 輸入層建模 神經網絡輸入參數的選擇一般按照輸入參數和輸出參數相關性大、輸入參數較易測量或提取、各輸入參數之間相關性越小越好的原則進行.影響電池SOC的因素很復雜,其中電池的端電壓、充放電電流和工況溫度與SOC有極大的關系且較容易測得,故將其作為輸入.因為有3個輸入量,所以輸入層節點數為3. 2.2 隱含層建模 多隱含層訓練的復雜度高,訓練所需的時間長,雖然估算精度高,泛化能力強,但是會增大過擬合的可能性.本文選用單隱含層的神經網絡實現電池SOC的估算. 隱含層節點數根據經驗公式大致確定為 其中,N為隱含層節點數,m為輸入層節點數,n為輸出層節點數,a為區間[0,10]之間的常數. 將每一個可能的隱含層節點數代入BP神經網絡進行訓練,選取最小誤差值的隱含層節點數為5. 2.3 輸出層建模 電池SOC的估計值是輸出層的唯一項,所以輸出層節點數為1. 2.4 確定學習速率 學習速率過大,網絡訓練時間縮短,犧牲了BP神經網絡訓練的收斂性,如果預期提高估算精度,則需降低學習速率,但是易造成網絡收斂速度慢,訓練時間過長[12].通過不斷調整BP神經網絡訓練中的學習速率,選取最適合本模型的學習速率為0.01. 2.5 數據歸一化處理 由于電壓、電流和溫度不是同一個量綱,本文將訓練樣本和估算樣本數據通過最大最小法進行歸一化處理,將樣本數據歸一化為無量綱數據[13].數據歸一化函數形式為 3 仿真結果與分析 本文測試對象為額定電壓3.7 V,容量為2.9 Ah的18650動力電池單體.分別測得該電池在0.5 C,1 C,1.5 C的放電率下恒流放電的電壓、電流和溫度數據.隨機取100組數據作為訓練樣本,15組數據作為測試樣本.為了驗證本文改進后的ACO|BP神經網絡估算電池SOC的準確性,將其與單一BP神經網絡、ACO|BP神經網絡估算結果進行對比.通過仿真實驗,三者的估算效果、估算數據與樣本數據誤差分別如圖2,圖3和表1所示. 由圖2可以看出,改進后的ACO|BP神經網絡估算SOC的結果明顯比單一BP神經網絡和ACO|BP神經網絡的估算結果更逼近樣本數據值.由圖3和表1可以看出,改進后的ACO|BP神經網絡訓練結果的相對誤差在±1.957%以內,ACO輸出層BP神經網絡訓練結果的相對誤差在±2.597%以內,單一BP神經網絡訓練結果的相對誤差在±4.978%以內.改進后的ACO|BP神經網絡的相對誤差范圍明顯小于標準ACO|BP和單一BP神經網絡,表明改進后的ACO|BP神經網絡估算電池SOC具有較高的精度和較高的穩定性.
為了更加直觀地評價ACO|BP神經網絡的估算能力,本文采用平均絕對值百分比誤差(MAPE)進行分析,其計算公式為
其中,N為估算樣本總數;Pf,i為第i個樣本SOC估算值;Pa,i為第i個樣本的樣本值.由表1數據計算可得,改進后的ACO|BP神經網絡、ACO|BP神經網絡和BP神經網絡的MAPE分別為0.897%,1.871%,3.124%,改進后的ACO|BP神經網絡的估算精度明顯優于單一BP神經網絡和標準ACO|BP神經網絡,證明了改進后的ACO|BP神經網絡估算動力電池SOC的可行性.
4 結語
本文利用慣性校正算法優化BP神經網絡,利用改進的全局信息素更新規則改進ACO算法,利用改進的ACO算法優秀的整體尋優能力,優化BP神經網絡的初始權值,在一定程度上彌補了BP神經網絡容易陷入局部最優的缺點.將改進后的ACO|BP神經網絡模型用于動力電池SOC估算,使得估算誤差明顯減小.與單一BP神經網絡、標準ACO|BP神經網絡估算結果對比發現,其在逼近能力方面明顯更優,精度更高,故本模型有較好的準確性和合理性.深入研究影響電池SOC的因素,如循環次數、充電倍率和內阻等,以進一步提高電池SOC的估算精度,將是下一步的工作重點.
參考文獻:
[1] 歐陽劍,李迪,柳俊城.電動汽車用動力電池荷電狀態估算方法研究綜述[J].機電工程技術,2016,45(1):52.
[2] 李爭,智若東,孫宏旺,等.基于開路電壓預測的SOC估算方法[J].河北工業科技,2017,34(1):36.
[3] 王宇航,王順利,潘小琴,等.基于擴展卡爾曼的鋰離子電池SOC估算研究[J].自動化與儀表,2018,33(8):76.
[4] 趙鋼,朱芳欣,竇汝振.基于PSO|BP
的電動汽車鋰離子
電池SOC估算[J].電源技術,2018,42(9):1318.
[5] 歐陽劍.電動汽車用鋰離子動力電池SOC估算和SOF評估的研究[D].廣州:華南理工大學,2016.
[6] 張傳偉,李林陽,趙東剛.基于BP神經網絡法估算動力電池SOC[J].電源技術,2017,41(9):1356.
[7] 黃妙華,嚴永剛,朱立明.改進 BP 神經網絡的磷酸鐵鋰電池 SOC 估算[J].武漢理工大學學報(信息與管理工程版),2014(6):790.
[8] 王鴿,蒲蓬勃.ACO|BP在神經網絡訓練中的研究與應用[J].計算機仿真,2009,26(12):136.
[9] 趙鋼,孫豪賽,羅淑貞.基于BP神經網絡的動力電池SOC估算[J].電源技術,2016,40(4):818.
[10]李東玉,王睿,馮宜民.基于BP神經網絡的閥控鉛酸鹽蓄電池劣化程度預測[J].鄭州輕工業學院學報(自然科學版),2012,27(4):12.
[11]孫啟豪,蔡愛華.航空搜潛布陣航路優化研究[J].電光與控制,2017(4):39.
[12]霍健.大跨徑連續梁橋懸臂施工線形控制[D].哈爾濱:東北林業大學,2013.
[13]周美蘭,王吉昌,李艷萍.優化的BP神經網絡在預測電動汽車SOC上的應用[J].黑龍江大學自然科學學報,2015,32(1):129.