李雪林,孫玉坤
(1. 江蘇旅游職業(yè)學(xué)院 信息工程學(xué)院,江蘇 揚(yáng)州 225001;2. 江蘇大學(xué) 電氣信息工程學(xué)院,江蘇 鎮(zhèn)江 212013)
目前電池荷電狀態(tài)(SOC)主要的預(yù)測方法(內(nèi)阻特性法、等效電路法、安時計量法、內(nèi)阻特性法、估計開路電壓法、卡爾曼濾波器遞推算法、神經(jīng)網(wǎng)絡(luò)法等)基本是對電池工作中發(fā)生的物理及化學(xué)變化進(jìn)行分析,并在數(shù)學(xué)方程基礎(chǔ)上建立的預(yù)測模型[1-7],這些模型的缺點(diǎn)是前置了許多條件和先驗參數(shù),導(dǎo)致求解過程繁瑣且模型預(yù)測精度不能滿足工業(yè)要求。最小二乘支持向量機(jī)(LSSVM)將標(biāo)準(zhǔn)支持向量機(jī)(SVM)的學(xué)習(xí)問題轉(zhuǎn)化為線性矩陣求解問題,明顯提高求解速度,有效解決了SVM算法的缺陷,并且LSSVM具有結(jié)構(gòu)風(fēng)險最小化的優(yōu)點(diǎn)[8-13],其利用樣本數(shù)據(jù)在訓(xùn)練過程中確定結(jié)構(gòu)參數(shù),從而不會出現(xiàn)過擬合問題,但LSSVM模型的參數(shù)選取不當(dāng)可能會嚴(yán)重影響預(yù)測結(jié)果的精確性[14-21]。本文分別運(yùn)用果蠅算法和改進(jìn)果蠅算法對LSSVM參數(shù)進(jìn)行優(yōu)化,用改進(jìn)果蠅算法優(yōu)化的LSSVM設(shè)計動力鋰電池 SOC 混合預(yù)測模型。
LSSVM是在SVM基礎(chǔ)上進(jìn)行改進(jìn)的, 通過引入損失函數(shù)、誤差平方、等式化約束的方法,避免了求解二次規(guī)劃問題,將求解最優(yōu)化問題變?yōu)榍蠼饩€性矩陣問題,使得算法的復(fù)雜度降低,和SVM相比,LSSVM的運(yùn)算速度較快。
基于LSSVM的回歸預(yù)測:對于非線性樣本集s={(xi,yi)|i=1,2,…,n},其中n為樣本數(shù)量,xi∈Rn,為樣本輸入向量;yi為樣本輸出。
通過非線性函數(shù)p(x)映射到高維特征空間,再進(jìn)行線性回歸,即
f(x)=wTp(x)+b
(1)
式中:w為n維權(quán)重向量,b為偏差,f(x)為線性回歸表達(dá)式。
通過風(fēng)險最小化原則,可以轉(zhuǎn)化為等式約束下的優(yōu)化,如式(2)所示。
s.t.γi[wTp(x)+b]=1-φi,i=1,2,…,n
(2)
式中:γ為懲罰函數(shù),φ為松弛變量,J(w,φ)為最小二乘支持向量機(jī)的損失函數(shù)。
引入Lagrange系數(shù)(αi),將式(2)構(gòu)造成無約束目標(biāo)函數(shù)(Q),如式(3)所示。
Q(w,b,α,φ)=J(w,φ)-
(3)
式中:αi為拉格朗日乘子。
對式(3)中的w,b,α,φ求偏導(dǎo),并令其偏導(dǎo)數(shù)為0,則利用對偶關(guān)系的線性Karush-Kuhn-Tucher(KKT)條件,消除w、φ后,最優(yōu)可得
(4)
由α、b可得LSSVM回歸模型,如式(5)所示。
(5)
式中:K(x,xi)為滿足 Mercer 條件的任何對稱的核函數(shù)對應(yīng)于特征空間的點(diǎn)積。
在沒有先驗信息條件下,一般求解非線性問題時,采用徑向基核函數(shù)設(shè)計的模型,其具有測試誤差小、數(shù)據(jù)更精確的優(yōu)勢。本文在構(gòu)造LSSVM 回歸模型時采用徑向基核函數(shù),如式(6)所示。
(6)
式中:σ2為核函數(shù)的寬度。
果蠅算法是在觀察果蠅尋找食物中發(fā)生的一系列行為中總結(jié)提出的具有智能尋優(yōu)特點(diǎn)的算法。果蠅有著無與倫比的嗅覺,在獲取食物的氣味后會向氣味方向搜索,然后在視覺作用引導(dǎo)下找到果蠅伙伴和食物的目標(biāo)位置,然后再朝目標(biāo)飛去。研究表明:果蠅搜索食物的氣味濃度與食物的距離成正比關(guān)系。果蠅通過不間斷地搜索,逐漸會從氣味濃度小的地方慢慢逼近氣味濃度大的地方,如此反復(fù),最終在搜索到食物后結(jié)束。
分析果蠅搜尋食物過程,總結(jié)出果蠅優(yōu)化算法的展開順序。
1)采用隨機(jī)方法對果蠅群體位置的橫、縱坐標(biāo)進(jìn)行初始化設(shè)定,分別為xinitial和yinitial。
2)給出果蠅個體在嗅覺作用引導(dǎo)下搜尋食物的隨機(jī)方向和距離(drandom),如式(7)所示。
(7)
式中:xi和yi分別為果蠅位置的橫、縱坐標(biāo)。
3)測算果蠅與坐標(biāo)原點(diǎn)的距離(Di),然后計算食物氣味濃度判定值(Ji),分別如式(8)和(9)所示。
(8)
Ji=1/Di
(9)
4)在食物氣味濃度判定函數(shù)(F)的基礎(chǔ)上,代入食物氣味濃度判定值(Ji),可以獲得該果蠅個體位置獲得的氣味濃度(S(i)),如式(10)所示。
S(i)=F(Ji)
(10)
5)將獲得氣味濃度最大的果蠅從所有果蠅群體中識別出來,如式(11)所示。
[bS,bI]=max (S(i))
(11)
式中:bS為當(dāng)前氣味濃度最大值,bI為獲得當(dāng)前氣味濃度最大的果蠅序號。
6)標(biāo)注氣味濃度最大值(Smax)和位置坐標(biāo),則果蠅群體在視覺作用下朝該坐標(biāo)飛去,如式(12)和(13)所示。
Smax=bS
(12)
(13)
7)進(jìn)行迭代尋優(yōu),重復(fù)1)—6)步驟,并判斷氣味濃度是否大于前一迭代氣味濃度,若是,則繼續(xù)執(zhí)行步驟6)。
在果蠅算法(FOA)中,氣味濃度判定式為Ji=1/Di,是距離的倒數(shù)。而距離Di的數(shù)值范圍相當(dāng)大,所以Ji非常容易早熟,只在非常小的空間進(jìn)行搜索,搜索沒有覆蓋所有范圍,得到的僅僅是局部范圍內(nèi)的最優(yōu)解,并非全局最優(yōu)解。針對這個缺陷,對果蠅算法(FOA)進(jìn)行改進(jìn),將氣味濃度判定式進(jìn)行了改進(jìn)。
1)對最大迭代次數(shù)(M)進(jìn)行初始化,設(shè)定毎次迭代循環(huán)時的氣味濃度判定值為Ji(l)(1
2)設(shè)定“懸?!睜顟B(tài)和“懸停時間”。
如果某個果蠅某次迭代的搜索狀態(tài)滿足下列條件
S(l)=S(l-1)
(14)
S(l)<0.99
(15)
式中:S(l)為某個果蠅某次迭代時搜索到的最大氣味值。
則此時就被標(biāo)記為“懸停”。
“懸停時間”設(shè)為t(t=1,2,…),t S(l)=S(l-t) (16) S(l)≠S(l-t-1) (17) 3)修改氣味濃度判定值Ji(l),修改后的表達(dá)式為 Ji(l)=1/Di(l)+k(l)×Di(l) (18) (19) 在式(18)中增加一個松弛項k(l)×Di(l),k(l)能夠自適應(yīng)變化,加大了氣味濃度判定值Ji(l)的分布范圍,避免在尋優(yōu)過程中陷入局部最優(yōu)解。 在訓(xùn)練樣本集和徑向基函數(shù)(RBF)核函數(shù)確定之后,LSSVM模型同樣對懲罰因子(γ)和核函數(shù)參數(shù)(σ2)進(jìn)行設(shè)定。γ是用來對 LSSVM的置信范圍和經(jīng)驗風(fēng)險的比例進(jìn)行調(diào)控的,γ泛化能力在取中間值時效果最佳。σ2的主要作用是描述訓(xùn)練樣本數(shù)據(jù)的分布特性,對局部領(lǐng)域的范圍進(jìn)行設(shè)定,σ2的數(shù)值和方差成反比關(guān)系。由此可見,LSSVM的學(xué)習(xí)能力和泛化能力受γ和σ2的影響非常大。尋找參數(shù)γ和σ2最優(yōu)值能夠很好地改善LSSVM 的性能。筆者利用改進(jìn)果蠅算法(IFOA)對LSSVM中的γ和σ2進(jìn)行優(yōu)化,其表達(dá)式為 γi(l)=C1Ji(l)(1,1) (20) (21) 式中:C1和C2為常量,Ji(l)為1×2維的矢量。 氣味濃度的判定值Ji(l)是由LSSVM中的相關(guān)系數(shù)(R2)和均方根誤差(E)的差值決定的,如式(22)所示。 Ji(l)=R2-E (22) 1)對動力鋰電池SOC預(yù)測模型的輸入函數(shù)和輸出函數(shù)進(jìn)行確定; 2)歸一化處理輸出樣本數(shù)據(jù),用于建立LSSVM樣本集,利用訓(xùn)練樣本尋找LSSVM 的最優(yōu)參數(shù)集; 3)確定LSSVM 中參數(shù)γ和σ2的初值; 4)參數(shù)γ和σ2初值確定后,利用訓(xùn)練樣本集對 LSSVM進(jìn)行訓(xùn)練,建立動力鋰電池SOC的預(yù)測模型; 5)基于IFOA對參數(shù)γ和σ2進(jìn)行尋優(yōu); 6)利用得到的γ和σ2繼續(xù)對LSSVM預(yù)測模型重新進(jìn)行訓(xùn)練,多次返回步驟4),確認(rèn)得到最優(yōu)預(yù)測模型后終止; 7)用得到的最優(yōu)預(yù)測模型對動力鋰電池進(jìn)行SOC預(yù)測,根據(jù)預(yù)測結(jié)果對比實(shí)測結(jié)果,進(jìn)行針對性的誤差分析。 要對電池SOC進(jìn)行精準(zhǔn)預(yù)測,首先要選擇合適的輸入和輸出參數(shù)。電池的輸入和輸出參數(shù)主要有電流、電壓、內(nèi)阻和溫度等。對動力鋰電池工作狀況進(jìn)行研究后發(fā)現(xiàn):影響電池SOC最關(guān)鍵的參數(shù)是電池的工作電壓(U)和工作電流(I),所以提取工作電壓和工作電流這2個核心參數(shù)對動力鋰電池進(jìn)行SOC預(yù)測。 本仿真實(shí)驗選取的動力鋰電池是磷酸鋰電池,型號為DEC100, 其銘牌額定電壓 3.3 V, 銘牌額定容量為1.1 A·h。采用可編程電源對電池進(jìn)行充電,電子負(fù)載對電池進(jìn)行放電,以保證電池充放電的有序進(jìn)行及數(shù)據(jù)的完整性,利用電腦記錄檢測到的電壓和電流數(shù)據(jù)信號。為了避免電池過充、過放,采用電子智能數(shù)字測量儀對動力鋰電池端電壓進(jìn)行實(shí)時跟蹤監(jiān)測。 分別在 0.5、1.0、2.0、3.0放電倍率下重復(fù)進(jìn)行恒流放電測試,獲取電池數(shù)據(jù)。通過式(22)進(jìn)行數(shù)據(jù)歸一化處理后得 (23) 采集到64組電壓和電流數(shù)據(jù),選取其中一部分?jǐn)?shù)據(jù)作為訓(xùn)練集,另一部分?jǐn)?shù)據(jù)作為測試集(表1)。 表1 部分測試集數(shù)據(jù)Table 1 Partial test set data 為了檢驗?zāi)P偷念A(yù)測效果,根據(jù)IFOA算法的尋優(yōu)過程,本文設(shè)置種群規(guī)模為30、迭代次數(shù)為100、步長為10,將由LSSVM中的相關(guān)系數(shù)(R2)和均方根誤差(E)的差值來作為濃度判定函數(shù),將表1中的測試樣本輸入基于IFOA優(yōu)化的LSSVM預(yù)測模型,仿真結(jié)果見圖2。由圖2可知:LSSVM預(yù)測模型對電池SOC預(yù)測結(jié)果和實(shí)測結(jié)果吻合度很好,其平均絕對誤差(MAPE)為1.02%,充分說明預(yù)測結(jié)果具有較高的精確性。 圖2 實(shí)際測量與仿真SOC曲線Fig.2 Actual measurement and simulated SOC curve 為了對預(yù)測模型的泛化能力做出客觀評價,并檢驗其實(shí)用性,在MATLAB平臺上模擬汽車行駛時加速、減速、怠速和勻速的各種情況,在該工況下對電池進(jìn)行放電,采集樣本數(shù)據(jù)。為了展現(xiàn)電池在該工況下的實(shí)用性,將仿真所用的鋰電池利用電池盒拼裝成一個電池組, 設(shè)定V=19.8 V,C=11 A·h,采集放電過程中的數(shù)據(jù)(表2)。 表2 參數(shù)優(yōu)化和性能對比Table 2 Parameter optimization and performance comparison 將采集的電流和電壓數(shù)據(jù)輸入FOA-LSSVM算法、貝葉斯-LSSVM算法(BEF-LSSVM)和IFOA-LSSVM優(yōu)化算法所建預(yù)測模型中,其輸出結(jié)果如圖3所示。 圖3 輸出結(jié)果曲線Fig.3 Output result curves 由圖3可知:與FOA-LSSVM、BEF-LSSVM預(yù)測模型相比,IFOA-LSSVM優(yōu)化算法所建預(yù)測模型的電池SOC預(yù)測結(jié)果與實(shí)際測量結(jié)果更接近,說明其泛化能力強(qiáng),預(yù)測精度也遠(yuǎn)遠(yuǎn)超過另外2個預(yù)測模型。在參數(shù)優(yōu)化、迭代次數(shù)、運(yùn)行時間上,IFOA-LSSVM預(yù)測模型明顯優(yōu)于FOA-LSSVM和BEF-LSSVM預(yù)測模型,而且由于模擬實(shí)際工況下電池的電流波動幅度大, 更加能夠證明IFOA-LSSVM預(yù)測模型進(jìn)行 SOC預(yù)測時,具有更好的效果?;贗FOA優(yōu)化的最小二乘支持向量機(jī)預(yù)測電池 SOC滿足工業(yè)精度的要求,具有良好的預(yù)測效果,表明IFOA-LSSVM預(yù)測SOC方法可行。 1)在節(jié)能減排、能源替代的大背景下,動力電池SOC的預(yù)測一直是國內(nèi)外電動汽車電池管理系統(tǒng)研究的熱點(diǎn)。由于部分缺陷,果蠅算法在尋優(yōu)時可能得到的是局部最優(yōu)解而不是全局最優(yōu)解,筆者在果蠅算法的基礎(chǔ)上進(jìn)行了改進(jìn),增加了一個自適應(yīng)松弛項,從而加大了濃度判定值的分布范圍,并用改進(jìn)后的果蠅優(yōu)化算法優(yōu)化選取支持向量機(jī)的參數(shù)。 2)建立了基于IFOA優(yōu)化的LSSVM預(yù)測SOC模型,并應(yīng)用于鋰電池的SOC預(yù)測, 仿真實(shí)驗結(jié)果表明, 基于交叉訓(xùn)練的IFOA優(yōu)化LSSVM的SOC 預(yù)測模型,對LSSVM進(jìn)行參數(shù)尋優(yōu),能夠極大提高參數(shù)的尋優(yōu)效率,減少迭代次數(shù),顯著地提升LSSVM預(yù)測模型的精度,完全避開了分析電池復(fù)雜的物理化學(xué)過程與求解數(shù)學(xué)方程,IFOA優(yōu)化的LSSVM預(yù)測SOC方法可行,并具有較高的準(zhǔn)確性。4 LSSVM 的參數(shù)優(yōu)化和預(yù)測模型實(shí)現(xiàn)
4.1 LSSVM 的參數(shù)優(yōu)化
4.2 預(yù)測模型實(shí)現(xiàn)流程
5 實(shí)例測試數(shù)據(jù)的獲取及處理
5.1 輸入和輸出參數(shù)的選用
5.2 測試對象和方法
5.3 測試數(shù)據(jù)的獲取與處理
6 基于IFOA優(yōu)化LSSVM動力鋰電池的SOC預(yù)測分析
6.1 仿真結(jié)果與分析
6.2 模型評價
7 結(jié)論