蔣麗麗,陳國彬
(重慶工商大學(xué)融智學(xué)院, 重慶 401320)
電池荷電狀態(tài)(state of charge,SOC)指電池在一定放電倍率下,剩余電量與相同條件下額定容量的比值[1],100%表示全電池狀態(tài),0%表示空電池狀態(tài),是電池使用過程中的重要參數(shù)。SOC值可以讓用戶了解電池在需要充電之前還能繼續(xù)工作的時間。近年來,電動汽車技術(shù)發(fā)展迅速,電池管理系統(tǒng)(battery management system,BMS)的一項重要研究內(nèi)容是保證電池組的荷電狀態(tài)(state of charge,SOC)在合理的范圍內(nèi),防止過充電或過放電對電池造成損傷。因而,SOC的準確計算是BMS系統(tǒng)重要研究內(nèi)容之一[2-3]。
SOC計算受電池工作狀態(tài)、環(huán)境溫度大小、電流大小等因素影響,并且隨著充放電循環(huán)次數(shù)的增加,電池會發(fā)生不可逆的老化現(xiàn)象,因此SOC精確計算是一項困難任務(wù)[4]。設(shè)計精確的SOC指示系統(tǒng)的主要問題是電池和用戶行為的不可預(yù)測性。SOC常見的計算方法有狀態(tài)估計法,包括計量估計法、開路電壓法、內(nèi)阻法、卡爾曼濾波等[5-7]。這些方法已被廣泛使用并在不同應(yīng)用中獲得了可接受的效果。然而,這些方法的缺點是由于計算復(fù)雜而需要更高的實現(xiàn)成本,且SOC的計算精度仍有待改善。
極限學(xué)習(xí)機(extreme learning machine,ELM)是一種新的前饋神經(jīng)網(wǎng)絡(luò)。與傳統(tǒng)的單隱層前饋神經(jīng)網(wǎng)絡(luò)(FNN)相比,ELM由于具有分類精度高、泛化能力強、可調(diào)參數(shù)少等顯著優(yōu)點而得到較大發(fā)展[8-9]。ELM具有非線性的基本特性,對于外部激勵能給出相應(yīng)輸出,針對電池高度非線性系統(tǒng)[10],ELM能夠建立準確的充放電模型。為了提升SOC預(yù)測精度,采用具有全局優(yōu)化性能的飛蛾火焰優(yōu)化算法(moth-flame optimization,MFO)[11-12]優(yōu)化ELM模型參數(shù)。通過對電池電壓、電流和溫度數(shù)據(jù)進行訓(xùn)練學(xué)習(xí),得到最優(yōu)的MFO-ELM模型。最后,對某型號電池進行仿真實驗,SOC預(yù)測結(jié)果表明了MFO-ELM算法的有效性。
受自然界飛蛾導(dǎo)航啟發(fā),Mirjalili S在2015年提出飛蛾火焰算法(MFO)[11]。MFO以飛蛾行為為基礎(chǔ),通過一種特殊的稱作橫向定向?qū)Ш降臋C制實現(xiàn)了勘探與開發(fā)的較好平衡,以獲得全局優(yōu)化性能。
在MFO算法中,飛蛾個體為優(yōu)化問題的候選解,假設(shè)有n個飛蛾X=[x1,x2,…,xn]T,i=1,2,…,n,第i個飛蛾定義為xi=[xi,1,xi,2,…,xi,d]T,其中d為優(yōu)化問題維數(shù)?;鹧鏋楫斍暗@得的最佳位置,第i個火焰定義為fi=[fi,1,fi,2,…,fi,d]T。MFO算法捕焰行為和棄焰行為描述如下:
1) 捕焰行為。自然界中具有趨光特性的飛蛾Mi會朝著距離自身最近的亮光(火焰)Fj移動,其對數(shù)螺線捕焰軌跡數(shù)學(xué)模型為
S(Mi,Fj)=Di·ebt·cos(2πt)+Fj
(1)
式中:S(Mi,Fj)為更新后的飛蛾位置;b為與螺線形狀相關(guān)的常量;t為[-1,1]區(qū)間的隨機數(shù);Di=|Fj-Mi|為飛蛾Mi到火焰Fj的距離。人工模擬的飛蛾捕焰軌跡如圖1所示。
圖1 飛蛾捕焰運動軌跡
圖1描述了飛蛾Mi沿著螺線運動到火焰Fj以搜索全局最優(yōu)解。MFO整個螺旋搜索過程以飛蛾的初始位置為起點,最優(yōu)解位置為終點。
2) 棄焰行為:火焰數(shù)量通過棄焰操作逐漸減小,棄焰操作描述為
(2)
式中:t和T分別為當前和最大迭代次數(shù);N為最大火焰數(shù)量。
極限學(xué)習(xí)機(extreme learning machine,ELM)是由黃廣斌提出的求解單隱層神經(jīng)網(wǎng)絡(luò)的算法。ELM最大的特點是對于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),尤其是單隱層前饋神經(jīng)網(wǎng)絡(luò)(SLFNs),在保證學(xué)習(xí)精度的前提下比傳統(tǒng)的學(xué)習(xí)算法速度更快。
ELM是一種新型的快速學(xué)習(xí)算法,對于單隱層神經(jīng)網(wǎng)絡(luò),ELM 可以隨機初始化輸入權(quán)重和偏置并得到相應(yīng)的輸出權(quán)重。設(shè)n、L、m分別為網(wǎng)絡(luò)輸入層、隱層和輸出層的節(jié)點數(shù),其基本結(jié)構(gòu)如圖2所示。
圖2 ELM基本結(jié)構(gòu)
圖2中:輸入層n個節(jié)點表示樣本維度;Xj表示第j個樣本;隱含層有L個節(jié)點,L越大,表達能力越強,節(jié)點i與輸入層連接權(quán)值為ai,與輸出層連接權(quán)值為βi;輸出層oj表示樣本j的輸出。假設(shè)有任意的樣本(Xj,Tj),其中輸入樣本為Xj=[xj1,xj2,…,xjn]T∈Rn,輸出向量為Tj=[t1,t2,…,tm]T∈Rm,則單隱層神經(jīng)網(wǎng)絡(luò)可表示為
(3)
式中:g(X)為隱層神經(jīng)元的激活函數(shù);ai=[ai,1,ai,2,…,ai,n]T為輸入權(quán)重;βi為輸出權(quán)重;bi是第i個隱層單元的偏置。
ELM學(xué)習(xí)的目標是使輸出的誤差最?。?/p>
(4)
式中:S=(ωi,bi,i=1,2,…,M),包含了網(wǎng)絡(luò)輸入權(quán)值及隱層節(jié)點閾值;β為輸出權(quán)值矩陣。
ELM的訓(xùn)練目標是尋求最優(yōu)的S,β。min(E(S,β))可進一步描述為
minE=min||H(ω,b,X)β-T||
(5)
其中:H是隱層節(jié)點的輸出;β為輸出權(quán)重;T為期望輸出。
H(a1,…,aL,b1,…,bL,X1,…,XL)=
(6)
(7)
(8)
這等價于最小化損失函數(shù)
(9)
傳統(tǒng)的基于梯度下降法的算法在迭代過程中將調(diào)整所有參數(shù),而在ELM算法中,一旦輸入權(quán)重ai和隱層的偏置bi被隨機確定,隱層的輸出矩陣H就被唯一確定。訓(xùn)練單隱層神經(jīng)網(wǎng)絡(luò)可以轉(zhuǎn)化為求解一個線性系統(tǒng)Hβ=T,且輸出權(quán)重可以被確定:
(10)
為了提升ELM預(yù)測精度和泛化能力,采用具有全局優(yōu)化能力的MFO算法進行模型參數(shù)的優(yōu)化選擇,并得到最優(yōu)的SOC模型,即MFO-ELM模型。模型參數(shù)調(diào)整示意圖如圖3所示,其核心思想是將SOC樣本數(shù)據(jù)作為ELM的輸入,得到網(wǎng)絡(luò)的一組輸出,將輸出值與實驗值作對比,得到預(yù)測誤差。MFO算法根據(jù)預(yù)測誤差調(diào)整整個網(wǎng)絡(luò)的模型參數(shù),直到誤差降到允許誤差為止,并得到最終的SOC預(yù)測模型。
圖3 ELM模型參數(shù)調(diào)整示意圖
MFO算法優(yōu)化調(diào)整ELM模型參數(shù)的適應(yīng)度函數(shù)J定義如下:
(11)
鉛蓄電池工作過程中,SOC隨著電池電壓、電流、溫度、極化電阻的變化呈現(xiàn)復(fù)雜非線性關(guān)系,因而,選擇輸入變量為電池電壓、電流、溫度和極化電阻,輸出變量為SOC值。通過對MFO-ELM進行訓(xùn)練,得到最優(yōu)的MFO-ELM模型對未來SOC樣本進行預(yù)測,SOC具體實現(xiàn)步驟如下:
1) 對采樣數(shù)據(jù)進行相關(guān)性分析和預(yù)處理,構(gòu)成訓(xùn)練集和測試集。
2) 確定ELM的SOC模型所需的運行參數(shù),確定MFO算法各項參數(shù),建立ELM預(yù)測模型。
3) 用訓(xùn)練集對ELM網(wǎng)絡(luò)進行訓(xùn)練,MFO算法不斷調(diào)整網(wǎng)絡(luò)參數(shù),到達終止條件時為止,獲得MFO-ELM的SOC預(yù)測模型。
4) 將測試集送入到訓(xùn)練好的MFO-ELM模型進行泛化能力測試。將得到的預(yù)測值與真實值進行對比,計算誤差。若誤差較大,表明模型泛化能力不足,則需重新采集大量數(shù)據(jù)進行SOC預(yù)測模型的訓(xùn)練。
鉛蓄電池常見的充放電倍率為0.1~1 C,通過蓄電池測試分析儀對某型號的鉛蓄電池按照0.1、0.2、0.33、0.75 C的充放電倍率進行測試,測試結(jié)果如表1所示。表1中前25組數(shù)據(jù)用來訓(xùn)練模型,后5組用來驗證模型。
表1 SOC預(yù)測樣本
取25組放電倍率為0.1、0.2、0.33、0.75 C的數(shù)據(jù)作為訓(xùn)練樣本,用MOF優(yōu)化的ELM模型對訓(xùn)練樣本進行訓(xùn)練。針對訓(xùn)練樣本,SOC預(yù)測結(jié)果及SOC預(yù)測相對誤差如圖4、5所示。從圖4可以看出,針對訓(xùn)練樣本,MFO-ELM預(yù)測結(jié)果幾乎與SOC真實值完成重合。圖5顯示MFO-ELM預(yù)測相對誤差較小,最大相對誤差為2%,滿足工程需求。
圖4 MFO-ELM模型的SOC預(yù)測結(jié)果
為了驗證模型的泛化性能,采用后5組測試樣本進行仿真實驗。圖6、7為MFO-ELM與ELM模型預(yù)測結(jié)果及預(yù)測相對誤差。
圖5 MFO-ELM模型的SOC預(yù)測誤差
圖6 SOC預(yù)測結(jié)果
圖7 SOC預(yù)測誤差
由圖6可以看出,MFO-ELM模型與ELM模型的SOC預(yù)測趨勢一致,但采用MFO算法優(yōu)化的ELM模型預(yù)測結(jié)果與真實值明顯更加吻合,尤其是針對樣本2、4、5,MFO-ELM模型比ELM模型預(yù)測效果更好,總體上,MFO-ELM模型的預(yù)測精度更好。從圖6預(yù)測相對誤差曲線可以看出:MFO-ELM模型的預(yù)測相對誤差低于5%,而未經(jīng)優(yōu)化的標準ELM模型預(yù)測相對誤差超過15%;同時,MFO-ELM模型的預(yù)測誤差曲線相對較小且平緩,表明MFO-ELM泛化能力更強。總之,MFO算法能夠改善ELM模型的預(yù)測精度,MFO-ELM模型的SOC預(yù)測相對誤差低于5%,滿足實際需求,仿真實驗驗證了MFO-ELM模型的有效性。
電池準確的SOC值對于方便用戶和延長電池壽命非常重要。針對SOC值難以精準預(yù)測的不足,利用ELM非線性處理特性,從電池充電、放電測試周期中提取模型參數(shù),通過電壓、電流、溫度和極化內(nèi)阻數(shù)據(jù)作為輸入變量,建立了SOC預(yù)測模型,避免電池內(nèi)部復(fù)雜的非線性關(guān)系和數(shù)學(xué)解析過程。在ELM模型訓(xùn)練過程中,采用MFO算法優(yōu)化選擇ELM模型參數(shù)以提升SOC預(yù)測模型的泛化能力?;贓LM的SOC預(yù)測模型可以在基于低成本微控制器的BMS系統(tǒng)上運行,以實現(xiàn)SOC預(yù)測功能。最后通過仿真實驗測試MFO-ELM模型的預(yù)測性能,模型預(yù)測誤差控制在5%以內(nèi),滿足工程需求,可為電池的狀態(tài)監(jiān)測、維護、安全可靠運行提供準確的SOC值。