王一宣 李澤滔
(貴州大學,貴陽 550025)
主題詞:鋰離子電池 剩余循環(huán)壽命 支持向量回歸機 粒子群優(yōu)化 人工免疫算法 完全學習
鋰離子電池材料本身的特性、外界環(huán)境溫度及放電深度等均會對其剩余循環(huán)壽命(Remaining Useful Life,RUL)造成影響。為保證其安全可靠運行,減少意外發(fā)生,RUL預測成為當前研究的熱點問題之一[1]。
目前,國內(nèi)外針對鋰離子電池RUL的預測研究已有較為顯著的成果。文獻[2]利用支持向量機(Support Vector Machine,SVM)算法建立基于特征參量的RUL回歸模型,并利用支持向量回歸算法實現(xiàn)了對鋰離子電池RUL的預測,但預測速度和精度較低;文獻[3]用遺傳算法對支持向量回歸機(Support Vector Regression Machine,SVR)進行全局尋優(yōu),改善其回歸能力,但仍存在較大誤差;文獻[4]通過粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法對SVR參數(shù)進行尋優(yōu),與蟻群算法相比,具有更高精度,但傳統(tǒng)PSO算法存在易陷入局部最小值的缺點,預測結(jié)果不夠準確。
為保持粒子種群多樣性,文獻[5]提出了一種完全學習型粒子群算法以解決全局最優(yōu)解不夠精確的問題,但該算法局部搜索能力較差,文獻[6]在搜索過程中根據(jù)單個粒子和群體的進化信息動態(tài)改變權(quán)重和加速度等關(guān)鍵參數(shù),但存在易陷入局部最優(yōu)值的問題,文獻[7]提出一種完全學習型粒子群優(yōu)化(Complete Learning Particle Swarm Optimization,CLPSO)算法,提高了PSO算法的尋優(yōu)能力,但局部極值的問題仍未解決。人工免疫系統(tǒng)(Artificial Immune Systems,AIS)通過理解內(nèi)在分布式本質(zhì)、自我容忍和分散控制機制,建立計算模型來解決復雜問題[8],將AIS應用于CLPSO算法中,可使其在較好地保留完全學習型算法多樣性的同時,提高預測精度和收斂速度,避免個體極值陷入局部最優(yōu)[9]。
針對上述問題,本文用AIS-CLPSO算法對SVR的懲罰系數(shù)和超參數(shù)進行優(yōu)化,使SVR的某些關(guān)鍵參數(shù)獲得最優(yōu),并建立AIS-CLPSO-SVR預測模型,利用美國國家航空航天局(NASA)PCoE(Prognostic Center of Excellence)鋰離子電池充放電數(shù)據(jù)集進行仿真驗證,同時與其他模型進行對比。
支持向量回歸機是一種基于VC維(Vapnik-Cher?vonenkis Dimension)理論框架,通過結(jié)構(gòu)風險最小化解決小樣本、非線性問題的回歸算法[3]。即使樣本數(shù)據(jù)較少,也可保證較為準確的預測效果和較強的泛化能力。
對于給定訓練數(shù)據(jù)集G={(x1,y1),…,(xi,yi)},其中,xi∈Rn為輸入特征向量,yi∈R(R為實數(shù)集)為輸出目標值,n=1,2,…,i,Rn為n維向量空間。SVR的目標是尋找函數(shù)g(x),使g(x)與訓練集的偏差小于用戶定義的不敏感損失函數(shù)ε,同時有較高平坦度,若ε較大,則支持向量數(shù)量較少。回歸函數(shù)g(x)的計算方法為:
式中,w為權(quán)重矢量;b為偏差。
通過數(shù)據(jù)訓練,尋找w和b使式(1)結(jié)構(gòu)化風險最小,引入松弛因子ζ、ζ*。依據(jù)統(tǒng)計學結(jié)構(gòu)化風險準則,可將線性回歸求解問題轉(zhuǎn)化為優(yōu)化問題的形式:
式中,C(C>0且為常數(shù))為懲罰因子,用于平衡算法復雜度與樣本誤差之間的權(quán)重,對樣本中超出誤差ε的懲罰度進行控制。
引入拉格朗日函數(shù),SVR模型的回歸函數(shù)為:
如果σ過小,樣本訓練準確性一般較高,但泛化能力較差,容易出現(xiàn)過擬合現(xiàn)象;如果σ過大,訓練準確性不高。
經(jīng)典粒子群[4]算法依據(jù)鳥群覓食行為找到最優(yōu)解。每個粒子通過全局極值Pg和個體極值Pi自我更新。假設在D維搜索空間中,選取種群中第i個粒子的位置為Xi=(xi1,xi2,…,xid),其速度為Vi=(vi1,vi2,…,vid),將每個粒子搜尋到的最優(yōu)解記為Pbestid,種群搜索到的最優(yōu)解記為Gbestd。則第i個粒子的位置和速度更新公式為:
式中,c1、c2為權(quán)衡因子;we為慣性權(quán)值;ra為介于0和1之間的隨機數(shù)。
完全學習型粒子群算法采用新學習策略求解多模態(tài)問題[10]。此策略利用任意粒子的歷史最優(yōu)極值Pbest更新粒子速度,更新方程為:
式中,fi=(fi(1),fi(2),…,fi(d))為待選擇被學習的第i個粒子樣本;Pbestfi(d)為任一粒子Pbest對應的維數(shù)。
該決策依賴于學習概率pc,可對不同粒子取不同的學習概率值。在粒子每維中隨機生成一個數(shù),將該數(shù)與學習概率pci比較,若該數(shù)大于pc則學習它本身的Pbest,否則學習其他粒子的Pbest。
基本CLPSO算法通過保證種群差異性,不易使種群陷入早熟收斂并維持了其多樣性。但該算法存在一些問題:隨機選擇的粒子中,選擇較好粒子的Pbest進行學習,但若粒子的Pbest未能找到跳出局部最優(yōu)的有效機制,則種群整體尋優(yōu)效果會受到影響。
人工免疫系統(tǒng)通過模擬生物免疫機制形成一種新型仿生優(yōu)化算法[11]。系統(tǒng)對自然免疫系統(tǒng)的生物學模型進行建模,特別是抗原與抗體的識別和增殖、克隆選擇和免疫網(wǎng)絡等。其促進高親和度抗體的同時抑制高濃度抗體,可有效提高算法的搜索效率,加快收斂速度,在具有較高精度的同時維持了抗體群的多樣性。
本文將AIS理論應用于完全學習型粒子群算法,結(jié)合CLPSO算法和AIS算法的優(yōu)點,使其在尋優(yōu)時具有較高精確度。由此建立一種免疫完全學習型粒子群(AIS-CLPSO)計算模型,其流程如圖1所示。
圖1 AIS-CLPSO算法流程
由于粒子極值Pbest隨著迭代次數(shù)的變化而變化,在CLPSO算法中隨機運動,算法陷入局部最優(yōu)時,在參數(shù)改變的情況下無法辨識,因此需對CLPSO算法中粒子的Pbest進行免疫克隆選擇,提高粒子Pbest全局優(yōu)化時的效率。
參考文獻[12],相關(guān)定義描述如下:
3.3.1 親和度
親和度作為權(quán)衡抗體抗原間匹配程度的標準,可將其與目標函數(shù)M聯(lián)系起來,親和度的計算方法為:
式中,ga為抗體親和度;ε為非零系數(shù),保證式(10)有意義。
ga越小,抗體親和度越高,與抗原間的匹配程度越高。
3.3.2 濃度
抗體濃度是種群搜索過程中多樣性程度的體現(xiàn),若某類粒子濃度較高,則抗體多樣性較差。將基于距離描述的種群親和度差值作為表征抗體濃度的方法,可能存在抗體當前濃度很低時具有很大發(fā)展?jié)撃艿目贵w不能被挑選的問題,在一定程度上抑制了種群多樣性。因此,本文選擇一種用區(qū)間描述抗體濃度的方法,取n個抗體,其中每個抗體的親和度分別為ga1,ga2,…,gan,濃度表達式為:
式中,Di(Lj)為每個區(qū)間中的抗體濃度,本文將其視為單個抗體濃度;Lj為適應區(qū)間進行排序后分成的子區(qū)間;s(k)為每個Lj的抗體個數(shù)。
由于子區(qū)間內(nèi)部抗體濃度一致,可將具有較大發(fā)展?jié)撃艿目贵w保留,較好地維持了種群多樣性。
3.3.3 選擇概率
為保持較高的種群多樣性,種群通過抑制高濃度低親和力抗體,促進低濃度高親和力的抗體來提高種群多樣性?;跐舛鹊倪x擇概率Pd(i)和基于親和度的選擇概率Pa(i)表達式分別為:
該抗體的綜合選擇概率為:
式中,α為協(xié)調(diào)系數(shù),用于對兩種概率進行協(xié)調(diào),促進低濃度高親和度的抗體,從而提高種群多樣性。
AIS-CLPSO模型中免疫操作的具體步驟為:
a.挑選數(shù)量為m的適應度較高粒子的Pbest,將每個粒子的Pbest構(gòu)建臨時種群,視該種群為AIS中的抗體。親和度越大,克隆規(guī)模N越大,克隆擴增后生成新種群。
b.對新種群中個體進行免疫高頻變異:
式中,t為種群當前進化代數(shù);b≥0且為常數(shù),一般取b=2。
由式(15)可知,在進化初期變異空間大,而后期在小范圍內(nèi)進行局部搜索。
c.免疫選擇操作,選擇步驟b變異后親和度最高的個體進入下一代。
d.通過選擇概率函數(shù)選取最優(yōu)抗體,將抗體補充回粒子群。
為提高SVR性能,本文采用免疫完全學習型粒子群優(yōu)化算法對SVR算法中懲罰參數(shù)C和高斯核函數(shù)中參數(shù)g進行取值優(yōu)化,AIS-CLPSO-SVR算法訓練結(jié)構(gòu)如圖2所示。
具體步驟為:
a.粒子初始化,由SVR的參數(shù)C、σ組成一個粒子。
b.通過AIS-CLPSO-SVR算法對參數(shù)值進行優(yōu)化迭代,訓練相應的SVR模型,并利用該模型訓練和預測樣本,達到最大迭代次數(shù)或獲得滿意解時,進入步驟e,否則進入步驟c。
c.粒子個體最優(yōu)值及全局最優(yōu)值更新,根據(jù)式(5)、式(6)更新粒子速度和位置。
d.本代種群返回步驟b進行判斷。
e.保存AIS-CLPSO-SVR算法尋優(yōu)后的最優(yōu)參數(shù)Cbest和σbest,并使用AIS-CLPSO-SVR模型對數(shù)據(jù)集進行訓練和預測。
圖2 AIS-CLPSO-SVR算法訓練結(jié)構(gòu)
仿真數(shù)據(jù)選用NASA PCoE的鋰離子電池充放電數(shù)據(jù)集[13],本文選取數(shù)據(jù)集中B5、B6、B18電池試驗數(shù)據(jù)驗證模型預測精度,電池額定容量為2 A·h,在室溫24 ℃條件下以2 A恒流放電。本文將電池失效閾值設為1.4 A·h,選用電池充放電循環(huán)周期作為電池剩余壽命評估標準,B5、B6、B18電池的實際有效循環(huán)周期為第124次、第108次和第97次,3種電池容量衰退曲線如圖3所示。
圖3 電池實際容量衰退曲線
由圖3可以看出,隨著鋰離子電池充放電次數(shù)遞增,電池的實際容量呈遞減趨勢。
為了驗證AIS-CLPSO-SVR模型準確性,在充放電數(shù)據(jù)集B5、B6、B18中選取前45%周期作為訓練集,剩余數(shù)據(jù)為測試集,用于檢測和驗證。圖4~圖6為B5、B6和B18電池剩余容量與不同模型預測結(jié)果對比。為保證公平,設置AIS-CLPSO和CLPSO中的種群規(guī)模為10,迭代次數(shù)為100,c1=1.5,c2=1.7。
由圖4~圖6對比結(jié)果可知,AIS-CLPSO-SVR預測模型與電池的實際容量實際誤差相差較小。圖7所示為B6電池CLPSO-SVR算法預測模型與AIS-CLPSOSVR算法預測模型絕對誤差曲線對比。
圖4 B5電池容量預測結(jié)果
圖5 B6電池容量預測結(jié)果
圖6 B18電池容量預測結(jié)果
圖7 B6電池預測絕對誤差曲線
由圖7可看出,CLPSO-SVR算法的電池容量絕對誤差在0.03~0.05 A·h范圍內(nèi),AIS-CLPSO-SVR算法的電池容量絕對誤差低于0.03 A·h,誤差較小。為使對比結(jié)果更加清晰,將兩種預測模型性能進行對比,結(jié)果如表1、表2所示。表1中RUL為電池剩余壽命的真實值,RUL'為電池剩余壽命的預測值,RE為相對誤差。
由表1可知,AIS-CLPSO-SVR模型電池剩余壽命預測相對誤差低于6%,而CLPSO-SVR模型誤差在10%~20%之間,相對誤差較大,AIS-CLPSO-SVR模型預測剩余壽命更為準確。
表1 B5、B6、B18電池剩余壽命預測結(jié)果對比
表2 B5、B6、B18電池容量預測誤差對比
本文選用均方根誤差(Root Mean Squared Error,RMSE)描述兩種模型的回歸能力:
由表2中的容量預測誤差可以看出,AIS-CLPSOSVR模型的平均相對誤差和最大相對誤差均小于CLPSO-SVR模型,且AIS-CLPSO-SVR模型的均方根誤差較小。由此可見AIS-CLPSO-SVR模型精度高于CLPSO-SVR模型。
本文提出了一種基于免疫完全學習型粒子群優(yōu)化SVR的預測方法,用人工免疫算法對CLPSO算法進行優(yōu)化,改善CLSPO算法易陷入局部最小值的問題,用AIS-CLPSO優(yōu)化算法對支持向量回歸機的關(guān)鍵參數(shù)進行優(yōu)化,建立了AIS-CLPSO-SVR預測模型,最后通過NASA PCoE的鋰離子電池充放電數(shù)據(jù)集將AISCLPSO-SVR模型與CLPSO-SVR模型進行對比,證明了所設計模型具有較強的預測精度。