談發明, 王 琪
(江蘇理工學院 a. 信息中心; b. 電氣信息工程學院, 江蘇 常州 213001)
預測汽車車載電池荷電狀態 (state of charge, SOC)是動力電池管理系統的核心功能之一。根據電池SOC來估計續航里程,以防汽車在行駛過程中因電池過度放電造成電池本身的損害而導致危險的發生。因此,如何準確預測車載電池的SOC成為汽車電池管理系統的重點問題之一。
目前對SOC的估計方法各有優點,但也存在一定的應用限制。常用的放電實驗及開路電壓法測量數據可靠,但此類方法測量不容易實現實時測量,難以直接應用到車輛上[1]。文獻[2]中用卡爾曼濾波法簡單且便于工程應用,但汽車工況、溫度以及自身老化等原因會影響電池組的參數,因此估計精度會受影響。文獻[3]中用神經網絡理論建立模型預測SOC取得了比較好的效果。但模型中網絡拓撲結構的確定,網絡中權值、閾值的選取暫無完備理論指導,因此,對樣本的訓練可能會陷入局部最優。文獻[4]中提出最小二乘支持向量機(least squares support vector machine,LSSVM)用等式約束將求解二次規劃問題轉化為求解線性方法,提高了預測速度和精度,誤差也小,但是正則化參數γ和核函數參數σ的選擇對LSSVM性能的影響在理論上很難找到必然的對應關系,實際應用時參數的調節沒有一個準確可行的方法。文獻[5]中提出利用粒子群優化最小二乘支持向量機測量建模方法(particle swarm optimization least squares support vector machine,PSO-LSSVM),提高了預測的精度并有較好的泛化能力,但粒子群算法(particle swarm optimization,PSO)容易陷入局部極值而形成早熟。
為此,在之前研究的基礎上,本文提出的混沌粒子群算法(chaos particle swarm optimization,CPSO)首先對PSO算法采用慣性權重的自適應方法平衡粒子的搜索行為,減小算法陷入局部極值的概率,在算法陷入局部極值時,再利用引入隨機方程的Tent映射產生混沌序列的方法對PSO算法進行混沌優化策略,不但克服了容易陷入局部極值而形成早熟的缺點,提高了粒子搜索的遍歷性和尋優能力,而且避免單純Tent映射自身的小周期、不穩周期的不足。在此基礎上優化LSSVM模型參數形成混沌粒子群優化最小二乘支持向量機測量建模方法(chaos particle swarm optimization least squares support vector machine,CPSO-LSSVM),該方法用于車載電池SOC預測可以取得良好的效果,可避免常規交叉驗證法選取模型參數的耗時和盲目性。
LSSVM是一種改進的SVM算法,用二次損失函數取代SVM中的不敏感損失函數,通過構造損失函數將SVM的二次尋優變為求解線性方程,設輸入為n維向量,對于樣本集{(xi,yi)},線性函數設xi表示輸入,yi表示輸出,最優分類平面函數為:
f(x)=wTφ(x)+b
(1)
式中:w為權值向量;b為偏置量。式(1)約束優化問題為:
(2)
式中:C為懲罰參數;ei為預測誤差。
將上述約束優化問題變為無約束對偶空間優化問題,定義Lagrange函數為:
(3)
式中,αi為Lagrange乘子。
根據KKT條件,得
式中:I為單位矩陣;Q=(φ(xi),φ(xj))。
根據Mercer條件,選取合格的核函數K(x,y),可以獲得高維特征空間的線性回歸為:
(6)
回歸型LSSVM的泛化能力主要取決于正則化參數γ、核函數σ的選取以及優化。本文選取徑向基核函數為:
(7)
式中,σ決定了徑向基核函數圍繞中心點的寬度,對LSSVM的回歸能力有直接的影響。因此,需要對(γ,σ)進行尋優。
標準粒子群優化算法可描述為:假設在一個D維的目標搜索空間中,有M個粒子組成一個群落,其中第i個粒子根據個體極值Pi=(pi1,pi2,…,piD)和全局極值Pg=(pg1,pg2,…,pgD),動態調整自身的位置Xi=(xi1,xi2,…,xiD)和速度位置。在第t次迭代時,粒子的速度和位置更新的公式如下:
(8)
(9)
式中:i=1,2,…,M;d=1,2,…,D;ωi為第i個粒子在t代中的慣性權重;vid∈[-vdmax,vdmax],vdmax為用戶設定的速度最大值;xid∈[xmin,d,xmax,d] ;c1、c2為非負常數的學習因子;r1、r2介于[0,1]之間的隨機數。
由于混沌運動具有遍歷性、隨機性,對初始條件的敏感性等特點,在局部最優的位置上引入混沌思想則可使PSO跳出局部極值點而實現全局最優,提高了基本PSO算法的收斂速度和精度。在混沌優化算法中,多采用Logistic算法,但受到該映射函數遍歷不均勻性的影響,尋優的效率并不高[6]。
本文在CPSO算法中采用文獻[7]中提出的引入隨機方程的改進型Tent映射,如果zti=0, 0.25, 0.5,0.75或zti=zt-mi,m={0,1,2,3,4} (即x落入不動點或5周期以內的小循環)時,則引入下式加以改進:
(10)
由于隨機量的引入,在出現小周期或不動點時Tent映射能重新進入混沌狀態,文獻[7]中利用該方法和標準PSO算法分別對單峰函數和多峰函數進行仿真測試,改進后的方法增強了全局搜索能力和精度,擺脫了極值點的吸引,同時又不降低收斂速度,通過對粒子位置更新加以引導,減少算法隨機性以提高搜索效果。
在PSO算法中,慣性權重用于平衡粒子的搜索行為,為了提高尋優進程的調節和適應能力,本文利用文獻[8]中提出的新自適應慣性權重方法(new adaptive inertia weight,NAIW),該算法通過粒子相對于群體極值位置的距離對權重進行動態調整,把權重的變化與粒子的位置狀態信息關聯起來,以更加精確地調整權重。NAIW算法公式如下:
(11)
(12)
(13)
式中:ωmax和ωmin分別為慣性權重的最大和最小值;△xi為第i個粒子與群體極值最優位置的距離;△xi為△xi在t次迭代中的值,iternum為最大迭代次數;k為迭代系數。
采用CPSO優化LSSVM模型主要對正則化參數γ和核函數參數σ的算法進行優化選擇,CPSO算法以全局極值粒子為基礎迭代產生一個混沌序列,然后將序列中的最優粒子隨機替代當前粒子群中的某一粒子并進行迭代,具體步驟如下:
(1) 初始化粒子群參數,隨機初始化粒子的位置xi和速度vi,并把γ和σ映射為一群粒子xi=[γi,σi]。
(2) 建立LSSVM測量模型,根據
(14)

(3) 對種群中所有粒子執行以下操作:
① 根據式(11)更新粒子的ωi;
② 根據式(8)和(9)更新粒子的速度和位置;
③ 根據式(14)計算粒子適應度,并更新粒子的pibest和pgbest。
(4) 對粒子群最優位置pgbest進行混沌優化:
① 根據式(15)將pgbest由區間[xmin,d,xmax,d]映射到Tent方程的定義域[0,1]上
(15)
② 對zi通過式(10)進行M次迭代,得到混沌序列zmi(m=1,2,…,M);
③ 將混沌序列通過式(16)逆射回原解空間,即
(16)

(6) 跳至步驟(3)直到計算達到最大迭代次數iternum。
實驗采用高級汽車仿真軟件ADVISOR對標準混合動力車型中使用的車載電池的電壓、電流、溫度及SOC真實值進行記錄,標準混合動力車型參數見表1。記錄采集頻率為1Hz,總共可獲取1 370組,5 480個樣本數據。模擬測試工況采用美國城市道路典型工況UDDS,其全長為 11.99 km,運行時間為1 370 s,最大車速為56.7 km/h,平均車速為19.58 km/h,路譜信息與電池電流、電壓參數如圖1、2所示。

表1 標準車型參數表
在大多數情況下電池處于小電流充放電狀態,溫度如圖3所示,呈緩慢上升態勢,符合UDDS工況的實際情況。從圖4的SOC曲線可以看出:電池的荷電量整體呈緩慢下降趨勢,但由于汽車再生制動過程會對電池能量回饋,導致時而會呈現出增加趨勢波動,對應圖2電池電流的負值部分。

圖1 UDDS路譜信息

圖2 電池電流、電壓參數

圖3 電池溫度參數

圖4 電池SOC參數
CPSO-LSSVM算法以電池組的工作電流、電壓及溫度3個向量構成一個3D矩陣作為模型輸入,以電池SOC作模型輸出向量。由于電池電壓、電流、溫度在采集時使用不同的單位,表示含義不一樣,在數量級上存在很大的差別,對算法的收斂速度有影響。本文使用的歸一化方法是將這些數據處理為均值為0,均方差為1的范圍[0,1]的新數據,消去不變量之間由于量綱不同所帶來的影響[9],其公式如下:
Yi=Xi-μi,i=1,2,…,n
(17)
式中:X=[X1,X2,…,Xn]為輸入向量;Y=[Y1,Y2,…,Yn]表示經第1步處理后的向量,此時得到的各向量的平均值都為0;μi表示xi的均值。
Zi=Yi/σi,i=1,2,…,n
(18)
式中:σi為Yi的標準差;Zi表示經過歸一化處理后得到的數據。接著對電池數據進行標準化處理,本文將數據比例縮放到范圍[0,1]之間,變換公式如下:
(19)
為了充分驗證預測模型的有效性,對獲得的樣本數據進行排列,將執行樣本中的奇數項數據用于訓練,樣本中的偶數項數據進行測試[10]。設置粒子總數M=30、維數D=2、迭代次數iternum=100、學習因子c1=1.5、c2=1.7、慣性權重ωmax=0.9,ωmin=0.3等參數,并設定γ、σ的取值范圍分別為[0.1,1 000]和[0.01,100]。為了充分體現CPSO-LSSVM的優越性,與PSO-LSSVM進行比較研究,在參數設置相同的條件下,對LSSVM的正則化參數γ和核函數參數σ的算法進行優化選擇,結果如表2所示。

表2 不同方法的參數優化結果
圖5中,PSO-LSSVM預測模型在起始階段預測能力較好,而中前階段和后階段的預測能力較差,這是由于在這個階段SOC的變化趨勢不斷變化,電池能量回饋較多,算法不能及時跟蹤響應。

圖5 基于PSO-LSSVM預測結果
圖6中CPSO-LSSVM預測模型預測效果明顯優于PSO-LSSVM,預測值和真實值的咬合度更加緊密,收斂精度更高,具有較高的跟蹤性能。為了進一步說明PSO-LSSVM和CPSO-LSSVM所建預測模型的優劣,將預測模型絕對誤差和相對誤差來評價兩種預測模型[11],絕對誤差EA和相對誤差ER的定義為:
(20)

圖6 基于CPSO-LSSVM預測結果
根據上式的定義,兩種算法建立的預測模型的誤差如表3所示。

表3 不同方法的預測誤差
由圖7和圖8可以看出,無論是哪種誤差類型,預測準確性都較高,但是,CPSO-LSSVM預測模型的誤差均比PSO-LSSVM預測模型的誤差小,誤差分布更加密集,因此,CPSO-LSSVM預測模型的性能更加優越。

圖7 基于PSO-LSSVM預測誤差

圖8 基于CPSO-LSSVM預測誤差
(1) CPSO算法以全局極值為基礎,利用引入隨機方程的Tent映射產生混沌序列對算法進行混沌處理,克服了容易陷入局部極值而形成早熟的缺點;
(2) 利用CPSO算法對LSSVM的參數進行優化,可將預測誤差控制在1%以內,預測精度較高;
(3) CPSO-LSSVM算法對車載電池SOC的精確預測可行性較高。