張洪濤, 夏耀威, 凃玲英, 張燦
(湖北工業(yè)大學 電氣與電子工程學院, 湖北 武漢 430068)
電動汽車電池荷電狀態(tài)(SOC)一直是我國專家學者研究的熱點,專家們提出很多估算方法.劉光明[1]考慮溫度變化對電池剩余能量的影響,對不同條件下電池產(chǎn)熱成分進行化學分析,建立電池SOC的精確估算模型,該模型根據(jù)溫度變化對電池容量進行實時預測.鄭英東[2]將電池官方參數(shù)與實驗數(shù)據(jù)進行對比,并對NCR18650A型電池的SOC進行估算,聯(lián)合估算法的估算效果明顯比單一方法更好.郭向偉[3]根據(jù)電動汽車電池充放電時端電壓存在的動態(tài)響應,采用二階電阻電容回路模型建立電動汽車電池等效模型,并在電池模型的基礎上,利用最小二乘支持向量機(LSSVM)等,擴展卡爾曼濾波(EKF)算法對電動汽車電池SOC進行聯(lián)合估算.陳峭巖[4]考慮到電池老化和環(huán)境因素對電池SOC估算的影響,在多模型SOC估算中加入自適應算法,明顯提高電池SOC的估算精度.王晨等[5]采用粒子群優(yōu)化(PSO)算法對BP(back propagation)神經(jīng)網(wǎng)絡的權(quán)值和閾值進行優(yōu)化,建立基于PSO-BP的電池SOC估算模型,取得較好的預測效果,但由于PSO中粒子搜索方向性較差,該尋優(yōu)方法有待進一步改進.
針對上述問題,本文在粒子群優(yōu)化算法中引入慣性權(quán)重和收縮因子,用于增強粒子群的全局搜索能力和局部尋優(yōu)能力,形成改進粒子群算法.
PSO算法起源于20世紀90年代,Kennedy等認為數(shù)學上優(yōu)化問題的求解過程可看作是大自然中一群飛鳥在搜尋食物,每只飛鳥相當于求解數(shù)學問題用到的每一顆“粒子”,也就相當于數(shù)學問題的最優(yōu)解.在這一過程中,每只飛鳥與其他飛鳥間既有競爭又有合作,當它們找到食物時,即找到了最優(yōu)解.由于粒子群算法具有操作簡單、所需調(diào)節(jié)參數(shù)少等特點,因此,應用非常廣泛[6].
在粒子群算法中,每個粒子在飛行過程中都在尋找自己最好的位置和速度,且每次飛行后有一個適應度值,該適應度值由目標函數(shù)決定;當某個粒子找到自己當前最好的位置時,該位置叫作個體極值(pbest);當這群粒子找到群體的最好位置時,這個位置就叫作全局最優(yōu)解(gbest).
圖1 PSO算法尋優(yōu)示意圖Fig.1 Schematic diagram of PSO algorithm optimization
假設在D維空間中,存在一個含有n個粒子的種群x,x=(x1,x2,…,xn),令該種群中的第i個粒子在D維空間中對應的一個向量為xi=(xi,1,xi,2,…,xi,l)T,該向量為第i個粒子在D維空間中的位置,需要根據(jù)目標函數(shù)計算該粒子位置xi的適應度值.令第i個粒子的速度對應的向量為vi=(vi,1,vi,2,…,vi,l)T,則該粒子個體極值的向量可表示為pi=(pi,1,pi,2,…,pi,l)T,種群x極值的向量可表示為pg=(pg,1,pg,2,…,pg,l)T.個體極值和群體極值的更新粒子的速度和位置公式分別為
(1)
(2)
式(1),(2)中:vi,d為當前速度,d=1,2,…,D,i=1,2,…,n;k為迭代次數(shù);c1,c2為加速因子[7],且c1>0,c2>0;r1,r2取值范圍為[0,1]的隨機函數(shù).PSO算法的尋優(yōu)示意圖,如圖1所示.
為了保證粒子群在尋優(yōu)過程中能夠更好地確定局部最優(yōu)和全局最優(yōu)的搜索比例,找到二者之間的平衡點,Shi等[8]將慣性權(quán)重引入到基本PSO算法中,以提高粒子群的搜索性能.粒子速度的更新公式為
(3)
(4)
式(3),(4)中:ω為慣性權(quán)重;vd,max為粒子群在D維空間中飛行時的最大速度.
研究表明,慣性權(quán)重增大時,粒子群的全局搜索性能增強,局部搜索性能減弱;慣性權(quán)重減小時,粒子群的局部搜索性能增強,全局搜索性能減弱.選擇合理的慣性權(quán)重能夠使二者平衡,當慣性權(quán)重為1時,即變?yōu)榛玖W尤核惴ǎ痪邆淦胶庑?
利用標準PSO算法進行仿真計算時,慣性權(quán)重ω通常由0.9~0.4進行線性遞減.因為迭代初期粒子群的搜索范圍較大,較大的ω能夠快速鎖定最優(yōu)解的大致位置,隨著迭代次數(shù)的增加,使減小ω的粒子的速度變小,在最優(yōu)解的大致范圍內(nèi)進行局部搜素尋找最優(yōu)解.由此可以看出,ω的引入能夠明顯提高算法的收斂速度.ω的計算式為
(5)
式(5)中:ωmax為慣性權(quán)重的最大值;ωmin為慣性權(quán)重的最小值;M為總迭代次數(shù).
為了消除粒子速度邊界的限制,加快PSO算法的收斂,Clerc等[9]將收縮因子引入基本PSO算法中,收縮因子能夠改變加速因子c1和c2的值,從而改變粒子的速度.收縮因子η計算式為
(6)
式(6)中:η為收縮因子;φ為總加速因子,φ>4;K為收縮系數(shù).
引入收縮因子后,粒子速度的更新公式為
(7)
收縮系數(shù)用于控制粒子群的全局搜索能力及局部搜索能力,K趨近1會使粒子速度變大,導致搜索范圍擴大,大量的全局搜索使粒子群算法收斂慢;K趨近0時,會降低粒子搜索速度,減小搜索范圍,大量的局部搜索又會導致粒子群算法收斂過快.收縮系數(shù)K通常取固定值.為了保障粒子群的前期全局搜索及后期局部搜索的能力,將K與迭代次數(shù)相關(guān)聯(lián),收縮系數(shù)計算式為
K=1-k/n.
(8)
基本PSO算法在尋優(yōu)過程中過于依賴初始值的選取,導致其收斂較慢,且容易陷入局部最小值[10].將慣性權(quán)重和收縮因子引入基本粒子群算法中,保證粒子群全局搜索和局部尋優(yōu)能力.
改進PSO算法的具體實施過程是將式(3),(6)進行整合,慣性權(quán)重的計算采用式(4),收縮因子的計算采用式(7),(8),慣性權(quán)重和收縮因子引入后得到改進PSO算法速度更新公式為
(9)
研究表明,改進PSO算法使粒子群在搜索過程中的方向更清晰、目的更明確,能夠有效減少迭代次數(shù),加快算法的收斂速度,以最直接有效的方式找到全局最優(yōu)值.
鋰電池SOC影響因素眾多,且這些因素與電池容量之間呈現(xiàn)出非線性關(guān)系.應用LSSVM解決非線性回歸問題時,所需樣本少且回歸效果較好,可見LSSVM算法比較適合研究鋰電池SOC及其影響因素之間的關(guān)系.但利用LSSVM建立估算模型時,其估算精度受懲罰參數(shù)C和核函數(shù)寬度σ的影響很大[11].因此,采用改進PSO算法對LSSVM的參數(shù)C和σ進行尋優(yōu)[12],建立基于改進PSO-LSSVM模型的鋰電池SOC估算模型.具體有以下10個實施步驟.
1) 對鋰電池樣本數(shù)據(jù)進行預處理.樣本數(shù)據(jù)一般由不同單位及不同數(shù)量級的數(shù)據(jù)組成,為了減小單位、數(shù)量級的影響,應對樣本數(shù)據(jù)進行歸一化處理[13],其計算式為
(10)
式(10)中:xi′為某一特征量歸一化后的數(shù)據(jù);xi為某一特征量的原始數(shù)據(jù);xmax為某一特征量的最大值;xmin為某一特征量的最小值.
2) 對LSSVM參數(shù)進行初始設置.C和σ的初始值是隨機的,C∈[1,1 000],σ∈[0.1,100.0],根據(jù)經(jīng)驗,設置C=100,σ2=2.5,經(jīng)首次訓練并輸出結(jié)果,計算適應度值.適應度I的計算式為
(11)
3) 對改進PSO參數(shù)初始化設置.令種群規(guī)模d=30,最大迭代次數(shù)k=300,加速因子c1=2.6,c2=1.7,總加速因子φ=4.3,收縮因子η=0.729,將慣性權(quán)重ω從0.9到0.4進行線性遞減.
4) 把C和σ分別作為粒子,并賦予初始值.C=100,σ2=2.5,將其作為當前個體最優(yōu)解,計算適應度值.比較是否為全局最優(yōu)適應度值,全局最優(yōu)適應度值與對應的粒子就是全局最優(yōu)解.
5) 執(zhí)行迭代過程.利用式(2),(6),更新粒子的速度和位置.
6) 更新后的速度及位置即為懲罰參數(shù)和核函數(shù)參數(shù)的新值,將其賦值LSSVM模型,然后,訓練輸出,重新計算適應度值.
7) 比較步驟6)中的適應度值與當前適應度值.若比當前適應度值更好,則將其更新為當前適應度值,并把更新后的適應度值所對應的粒子值替換成個體最優(yōu)值.
8) 比較當前適應度值與全局適應度值.若比全局適應度值更好,則將其替換成全局適應度值,并把全局適應度值對應的速度及位置更新為全局最優(yōu)解.
9) 判斷迭代后的尋優(yōu)結(jié)果是否滿足要求.如果滿足,則計算結(jié)束,輸出尋優(yōu)結(jié)果;否則,返回步驟5)繼續(xù)計算.
10) 將最終的尋優(yōu)結(jié)果C和σ的值賦值給LSSVM模型,完成對鋰電池SOC的估算.
在對鋰電池SOC進行估算的過程中,必然存在計算誤差,正確的誤差評價方法有利于對估算模型進行進一步認識和評價,是分析模型估算效果的重要步驟[14-15].誤差評價僅僅采用一種誤差形式進行誤差評價是不夠科學的[16],往往采用多種誤差形式進行綜合評價,文中采用3種計算誤差對鋰電池SOC估算效果進行評價.
1) 平均相對誤差δ,即
(12)
2) 均方根誤差δRMSE,即
(13)
3) 全局最大相對誤差δmax,即
(14)
采用磷酸鐵鋰(額定電壓為4.2 V,額定容量為1.75 A·h)充放電實驗獲取樣本數(shù)據(jù),利用具有精度高、穩(wěn)定性好的Neware充放電記錄儀[17]記錄電池放電過程中的溫度、電流、電壓及SOC.
表1 測試集數(shù)據(jù)Tab.1 Test set data
從記錄儀中選取100組樣本數(shù)據(jù)進行仿真分析,由樣本數(shù)據(jù)可知,鋰電池SOC的影響因子共有3個,分別是溫度(θ)、電流(I)和電壓(U).在建模時,將100組樣本數(shù)據(jù)分為兩部分,前90組數(shù)據(jù)為訓練集,用于對估算模型的訓練,后10組數(shù)據(jù)為測試集,用于檢驗估算模型的精度.測試集數(shù)據(jù),如表1所示.
利用Matlab 2012軟件進行仿真,為了對比分析,分別建立未優(yōu)化的LSSVM,PSO-LSSVM和改進PSO-LSSVM三種鋰電池SOC估算模型.未優(yōu)化的LSSVM模型采用LIBSVM工具箱中的默認參數(shù),其中,C=1,σ2=0.01;PSO-LSSVM估算模型采用基本粒子群算法尋找C和σ的最優(yōu)參數(shù);改進PSO-LSSVM模型采用改進粒子群算法進行尋優(yōu).利用測試集數(shù)據(jù)進行訓練,基本PSO算法和改進PSO算法尋優(yōu)的適應度曲線,如圖2所示.圖2中:F表示適應度.
由圖2可知:基本PSO算法經(jīng)過106次迭代后找到最優(yōu)參數(shù),而改進PSO算法只迭代了64次就找到了最優(yōu)參數(shù),能夠明顯減少迭代次數(shù),加快算法收斂;基本PSO算法輸出最優(yōu)參數(shù)為C=48.74和σ2=2.58,改進PSO算法輸出最優(yōu)參數(shù)為C=36.26和σ2=1.68.
將3組參數(shù)分別賦值給LSSVM,組成LSSVM,PSO-LSSVM和改進PSO-LSSVM三種鋰電池SOC估算模型,SOC估算模型訓練效果圖,如圖3所示.由圖3可知:3種估算模型在訓練時的擬合結(jié)果與鋰電池SOC實際值的變化趨勢基本一致,但LSSVM估算模型的異常點較多.
圖2 尋優(yōu)的適應度曲線 圖3 SOC估算模型訓練效果圖 Fig.2 Fitness curve of optimization Fig.3 Training effect diagram of SOC estimation models
為進一步比較3種估算模型的估算效果,計算3種模型在訓練過程中每個樣本的絕對誤差.SOC估算模型的訓練誤差,如圖4所示.圖4中:ξ表示誤差.將訓練好的LSSVM,PSO-LSSVM和改進PSO-LSSVM模型分別對測試集數(shù)據(jù)進行估算.測試集數(shù)據(jù)估算結(jié)果,如圖5所示.
圖4 SOC估算模型的訓練誤差 圖5 測試集數(shù)據(jù)估算結(jié)果Fig.4 Training errors of SOC estimation models Fig.5 Test set data estimation results
由圖4可知:LSSVM模型的訓練誤差波動性最大,最大誤差超過40%.PSO-LSSVM模型訓練誤差波動性明顯減小,最大訓練誤差降到10%左右,大部分數(shù)據(jù)誤差均集中在±5%以內(nèi);而改進PSO-LSSVM模型的波動性最小,最大訓練誤差降到5%左右,大部分數(shù)據(jù)誤差均集中在±2%以內(nèi),改進PSO-LSSVM模型對鋰電池SOC估算的訓練效果最好.
由圖5可知:LSSVM模型的估算結(jié)果與實際值差別較大,PSO-LSSVM模型的估算結(jié)果較LSSVM模型更好,更接近實際值,但改進PSO-LSSVM模型的估算擬合效果最好,最接近實際值.
表2 鋰電池SOC估算誤差表Tab.2 SOC estimation error table of lithium battery
為進一步比較3種模型的估算精度,計算各模型的平均相對誤差(δ)、均方根誤差(δRMSE)和全局最大相對誤差δmax.鋰電池SOC估算誤差表,如表2所示.由表2可知:從平均相對誤差上看,LSSVM模型為7.67%,PSO-LSSVM模型為4.81%,改進PSO-LSSVM模型為2.96%,說明改進PSO-LSSVM模型對鋰電池SOC的估算精度更高;從均方根誤差上看,LSSVM模型為0.041,PSO-LSSVM模型為0.028,改進PSO-LSSVM模型為0.018,說明改進PSO-LSSVM模型對鋰電池SOC進行估算時的穩(wěn)定性更好;從全局最大相對誤差上看,LSSVM模型為22.60%,PSO-LSSVM模型為7.61%,改進PSO-LSSVM模型為4.79%,說明改進PSO-LSSVM模型對鋰電池SOC進行估算時的波動性更小.
綜上所述,經(jīng)改進PSO優(yōu)化的LSSVM的鋰電池SOC估算模型不僅能夠有效減少迭代次數(shù),加快收斂速度,而且還能夠降低估算過程中的波動性和不穩(wěn)定性,提高計算精度.
1) 在基本粒子群算法中引入慣性權(quán)重和收縮因子,形成改進粒子群算法,增強了粒子群全局搜索能力和局部尋優(yōu)能力,使粒子群在尋優(yōu)過程中的方向更清晰、目的更明確,能夠有效減少迭代次數(shù),加快算法的收斂速度.將改進PSO算法應用于鋰電池SOC估算更有利于找到全局最優(yōu)值.
2) 采用改進PSO算法對LSSVM的懲罰參數(shù)C和核函數(shù)參數(shù)σ進行尋優(yōu),建立基于改進PSO-LSSVM的鋰電池SOC估算模型.采用磷酸鐵鋰充放電實驗數(shù)據(jù)進行仿真分析,結(jié)果表明,相對于其他鋰電池SOC估算模型,改進PSO-LSSVM模型的平均相對誤差、均方根誤差和全局最大相對誤差均為最小,說明改進PSO-LSSVM模型能夠明顯提高鋰電池SOC估算精度.
3) 采用改進PSO-LSSVM模型對鋰電池SOC進行估算,取得了較理想的估算效果,但由于樣本容量的局限性,使鋰電池SOC估算方法的計算精度滿足產(chǎn)業(yè)標準將有待進一步研究.