于仲安 褚彪 葛庭宇
(江西理工大學,贛州 341000)
主題詞:荷電狀態 磷酸鐵鋰電池 混合粒子群算法 BP神經網絡
動力電池荷電狀態(State Of Charge,SOC)的預測在電池管理系統(Battery Management System,BMS)中具有極其重要的地位,準確預測電池SOC不僅能夠提高電池系統的安全性,避免電池過充、過放,延長使用壽命,而且可以優化駕駛和提高電動汽車的使用性能[1]。目前主流的鋰電池SOC估計方法有安時積分法、開路電壓法、內阻法、卡爾曼濾波法、人工神經網絡法等。這些方法都有各自的優缺點,通過一定的改進與聯合,可以提高鋰電池SOC的預測精度。文獻[2]提出由標準卡爾曼濾波器和無味卡爾曼濾波器組成的雙重過濾器,用以預測電池內部狀態;文獻[3]利用非線性預測濾波器(Nonlinear Predictive Filter,NPF)電荷估計方法,可以任意統計分布形態,準確估計電池的SOC;文獻[4]提出一種基于改進滑模觀測器的SOC估計算法,采用sigmoid函數代替傳統滑模觀測器中的符號函數,并對觀測器中的模型參數進行在線更新,進一步消除參數變化帶來的模型誤差,從而提高估計精度;文獻[5]提出基于遞歸非線性自回歸(Nonlinear Autoregression with Exogenous,NARX)神經網絡模型,利用閃電搜索算法(Lightning Search Algorithm,LSA)尋找輸入延遲、反饋延遲和隱藏層神經元的最佳值,對鋰離子電池進行了精確而可靠的SOC估計;劉艷麗等[6]提出有限差分擴展卡爾曼濾波算法,用于鋰電池SOC的估算,取得了很好的精度;李哲等[7]通過修正初始SOC值,提高安時積分法的精度,對后續的SOC估算精度提高有很大的參考價值。
人工神經網絡擁有強大的自學習能力,能夠通過對訓練樣本數據的學習實現對輸入、輸出間內在規律的刻畫,因此具有高度的非線性能力,此外,還擁有優秀的容錯性和魯棒性,非常適合應用于鋰電池SOC的估算[8]。BP算法理論依據堅實、通用性好,至今仍是前向網絡學習的主流算法,但其同時存在著本質缺點:容易陷入局部極小,收斂速度較慢,學習率不易選擇。
遺傳算法(Genetic Algorithm,GA)遵循“優勝劣汰,適者生存”原則,具有全局最優的特點。將遺傳算法與BP網絡結合起來形成GA-BP網絡算法,可以克服BP算法陷入局部最優的缺點,提高網絡穩定性。標準粒子群算法在基本粒子群算法的基礎上引入了慣性權重w,適當選擇w的大小可以使得算法具有廣域搜索能力和局部搜索能力,然而依然避免不了陷入局部最小的問題[9-10]。
粒子群算法比較簡便、易于實現,沒有過多參數需要調整,本文采用HPSO-BP算法,將粒子群算法與遺傳算法中的交叉變異思想結合起來,用于優化BP神經網絡中的初始權值和閾值,可以提高收斂速度,克服易陷入局部極小的缺點。
根據Kolmogorov定理,3層的前向網絡在隱層神經元數目足夠多的情況下,能夠以任意精度對非線性函數進行映射。本文采用應用最為廣泛的BP神經網絡對鋰離子電池SOC進行預測。將鋰電池的工作電壓U、工作電流I、內阻R、環境溫度T作為電池SOC的影響因子,即SOC=f(V,I,R,T)。圖1所示為BP神經網絡SOC預測模型。

圖1 基于BP神經網絡的SOC預測模型
BP網絡的輸入矢量為[X1,X2,X3,X4],網絡輸入層節點數n=4,電池SOC作為輸出矢量[Y],輸出節點數為l=1,根據經驗公式m=(n+l)0.5+a(a為[1,10]范圍內的常數[11]),經過多次仿真試驗,設m=12時,網絡的誤差精度更高,收斂速度也更快。網絡激活函數選用tansig函數,性能函數選為均方誤差性能函數(Mean Squared Error,MSE)。
粒子群優化(Particle Swarm Optimization,PSO)算法是由Eberhart博士和Kennedy博士于1995年提出的一類群智能隨機優化算法,其思想源于對鳥群捕食行為的研究[12]。在粒子群算法中,每個粒子都代表著問題的一個潛在最優解,對應著適應度函數決定的適應度值,其大小決定著解的優劣程度。在每一次迭代中,粒子通過跟蹤個體極值pbest和全局極值gbest更新自身的速度和位置。
粒子i的信息用D維向量表示,包括速度信息vi=(vi1,vi2,…,viD)T和位置信息xi=(xi1,xi2,…,xiD)T,速度和位置的更新公式分別為:

式中,d∈[1,D]為維數;w為慣性權重;k為當前迭代次數;c1、c2為學習因子或者加速系數,通常取為2;r1、r2為[1,0]區間內均勻分布的偽隨機數。
慣性權重的大小決定了粒子對當前速度繼承的多少,合理選擇可使粒子具有均衡的探索能力(廣域搜索能力)和開發能力(局部搜索能力),目前調整慣性權重w的策略有線性調整、模糊調整、隨機調整等。模糊調整策略參數比較多,增加了算法的復雜度;隨機調整策略在面臨動態優化問題時,不能預測粒子群需要更好的探索能力還是開發能力;線性調整策略使算法前期具有全局搜索能力,后期具有局部搜索能力,并且調整策略簡單易行,符合實際優化問題的一般策略。故本文采用線性調整策略:

式中,wmax、wmin分別為慣性權重的最大值和最小值;itermax、iter分別為最大迭代次數和當前迭代次數。
一般將慣性權重初始化為0.9,隨著迭代次數的增加,w線性遞減至0.4。
粒子群算法雖然具有收斂速度快、操作簡單等優點,但是隨著迭代次數的增加,種群達到收斂時,個體粒子越來越相似,使得粒子群很可能陷入局部最優困境。鑒于此,本文將遺傳算法中的交叉、變異操作融入粒子群算法中,交叉操作體現粒子群算法中信息交換的思想,變異操作不但可以維持種群的多樣性,而且能夠減少早熟收斂現象的發生[13-15]。利用二者的優勢互補性,本文提出一種混合粒子群(Hybrid Particle Swarm Opti-mization,HPSO)算法。
粒子位置和速度的交叉操作過程為:

式中,α1、α2為[0,1]范圍內的隨機數;粒子分別為粒子進行交叉操作后的子代粒子。
解的質量依賴于變異率的選擇,本文采用隨機擾動的方法對當前個體極值pbest進行高斯變異操作。對于每個粒子的當前最優極值,按照一定的概率pm實行變異,β服從gauss(0,1)分布,公式如下:

鑒于HPSO算法具有收斂速度快、不易陷入局部極小的優點,可用于BP神經網絡初始權值和閾值的優化,本文基于HPSO-BP神經網絡算法進行鋰離子電池SOC的預測。HPSO-BP神經網絡聯合算法流程為(見圖2):
a.根據輸入、輸出樣本集設計BP神經網絡輸入層、隱含層和輸出層的神經元個數,確定網絡拓撲結構;
b.粒子群初始化,粒子群的大小取BP神經網絡中所有權值w和閾值b的個數和,由于BP神經網絡結構設置為4-12-1,得到粒子維數d=4×12+12+12×1+1=73,學習因子c1、c2均設置為2,設定最大迭代次數itermax=300,誤差精度設定為0.001;
c.適應度計算,根據適應度函數計算各粒子的適應度,確定每個粒子的個體最優極值pbest和群體最優極值gbest;
d.判斷算法是否達到終止條件(最大迭代次數或者誤差精度),如若滿足,則迭代結束,將最優群體極值定為BP神經網絡最優初始權值閾值,進行網絡訓練與測試,否則進入下一步迭代;
e.更新粒子群,按照式(1)和式(2)更新粒子速度和位置,并計算各粒子的適應度,然后更新粒子的個體極值pbest和群體極值gbest;
f.個體、群體最優粒子的交叉、變異操作,根據式(4)和式(5)完成粒子群位置和速度的交叉操作,然后根據式(6)完成變異操作;
g.采用輪盤賭法進行最優個體的保留與剔除。

圖2 HPSO-BP神經網絡聯合算法流程
利用Neware公司的充放電測試儀記錄磷酸鐵鋰電池(4.2 V,1.75 A·h)的工作電壓、電流、溫度、內阻和容量,從中提取580組數據作為樣本數據,部分樣本數據如表1所示。

表1 部分樣本數據
由于本文BP神經網絡中的激活函數為logsig函數,故將上述樣本數據進行歸一化處理:

式中,Xi、Xinor分別為樣本值及其歸一化值;Xmin、Xmax分別為樣本數據中的最小值和最大值。
為了驗證HPSO-BP神經網絡算法預測鋰電池SOC的準確性和快速性,以BP神經網絡均方根誤差(Root Mean Square Error,RMSE)作為適應度評估函數:


圖3 仿真誤差迭代曲線
從圖3a中可以看出,GA-BP神經網絡在第32次迭代達到網絡設定精度,訓練和驗證迭代速度大致相同,測試速度相對較慢;圖3b中,HPSO-BP神經網絡在第8次迭代就達到了網絡所設置的精度,并且迭代速度基本保持同步。通過對比可知,HPSO-BP神經網絡表現出了更快的收斂速度。
圖4所示為網絡估算鋰電池SOC及其期望值。從圖4中可以看出,兩種網絡算法都取得了不錯的預測效果,為了凸顯HPSO-BP神經網絡算法預測鋰電池SOC的準確性,繪制兩種網絡算法的誤差精度曲線如圖5所示。
從圖5中可以明顯看出:GA-BP神經網絡算法的輸出結果誤差大部分保持在4%以內,最大誤差接近6%,達到了目前行業要求的低于8%的誤差精度;HPSO-BP神經網絡算法的輸出結果誤差基本保持在2%以內,最大為3%,表現出了更高的估算精度。

圖4 網絡輸出與期望輸出對比

圖5 網絡估算SOC誤差曲線
本文通過運用改進后的粒子群算法優化BP神經網絡初始權值閾值敏感、容易陷入局部極小值等缺點,建立鋰離子電池荷電狀態估算模型,仿真結果表明,該聯合算法與傳統BP神經網絡相比更具快速收斂性、準確性和穩定性。