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