盧順 李英順
摘要:鎳鎘電池組作為移動電源對于現(xiàn)代軍民用品是必不可少的,為了能夠有效的提高鎳鎘電池壽命的預(yù)測精準(zhǔn)度,在建立BP神經(jīng)網(wǎng)絡(luò)的電池壽命預(yù)測模型的基礎(chǔ)上,運用差分進化算法(DE)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)連接的初始權(quán)值與閩值,預(yù)測結(jié)果表明:該改進的預(yù)測模型有較高的預(yù)測精度,誤差控制在5%以內(nèi),有效地提高了BP神經(jīng)網(wǎng)絡(luò)的收斂速度,符合現(xiàn)實中鎳鎘電池實際運行的特性,對提高電池壽命評估的時效性和精確性具有重要的意義。
關(guān)鍵詞:鎳鎘電池;循環(huán)壽命預(yù)測;BP神經(jīng)網(wǎng)絡(luò);差分進化算法
中圖分類號:TM 912DOI:10.16375.j.cnki,cn45-1395/t,2020.02.013
0引言
鎳鎘電池在日常生活中作為移動電源,應(yīng)用非常廣泛,但電池引起的安全事故不少,導(dǎo)致的經(jīng)濟損失非常巨大,如果能夠通過采集到的歷史數(shù)據(jù),提前預(yù)測電池的壽命狀態(tài),就可以確定何時應(yīng)該進行預(yù)防性維護以及何時應(yīng)該更換電池,避免帶來損失,因此,對電池的壽命預(yù)測具有十分重要的現(xiàn)實意義和經(jīng)濟價值。
目前在電池的壽命預(yù)測研究方面,可以分為兩類:基于數(shù)據(jù)驅(qū)動的方法和基于模型的方法,文獻[7]采用平均影響值(MIV)算法對BP神經(jīng)網(wǎng)絡(luò)模型的輸入?yún)?shù)進行篩選,雖然提高了預(yù)測精度,但是收斂速度較慢,網(wǎng)絡(luò)的迭代次數(shù)較多,壽命預(yù)測效率減慢,文獻[8]運用的是基于行駛工況的磷酸鐵鋰電池壽命模型研究,缺點是實驗數(shù)據(jù)較少,誤差較大。
為了解決上述問題,對電池進行500次循環(huán)充放電測試,得到影響電池壽命的關(guān)鍵性能參數(shù)數(shù)據(jù),電池的5個主要參數(shù)為:電池的容量、標(biāo)稱電壓、內(nèi)阻、放電終止電壓和充電終止電壓,通過對電池的健康狀態(tài)及失效機理進行分析,選擇內(nèi)阻、放電終止電壓和充電終止電壓作為BP神經(jīng)網(wǎng)絡(luò)模型的輸入,電池的放電容量作為輸出,并將差分進化算法運用到BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型中,利用差分進化算法具有較強的優(yōu)化能力的優(yōu)點,來改善BP神經(jīng)網(wǎng)絡(luò)連接權(quán)值與閾值隨機產(chǎn)生的問題,并與其他相關(guān)的研究方法進行對比分析,預(yù)測精度明顯提高,迭代次數(shù)明顯加快。
1電池循環(huán)壽命預(yù)測模型的建立
1.1BP神經(jīng)網(wǎng)絡(luò)壽命預(yù)測模型
BP(BackPropagation)神經(jīng)網(wǎng)絡(luò)算法是一種多層前饋神經(jīng)網(wǎng)絡(luò),其信號是正向傳播,而誤差是逆向傳播的,BP神經(jīng)網(wǎng)絡(luò)過程可以拆分為兩部分:正向傳播和誤差的逆向傳播,其中正向傳播是從輸入層經(jīng)過隱含層,再到達輸出層,逆向傳播是從輸出層到隱含層,然后到輸入層,在模擬過程中收集系統(tǒng)所產(chǎn)生的誤差,來不斷地調(diào)整隱含層到輸出層、輸入層到隱含層的權(quán)重和閾值,使網(wǎng)絡(luò)誤差達到設(shè)置的訓(xùn)練精度要求,訓(xùn)練結(jié)束,通過對鎳鎘電池容量衰退分析,選取鎳鎘電池充電截止電壓x1、放電截止電壓x2電池內(nèi)阻x3作為輸入變量,輸出變量為電池循環(huán)放電容量z其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。
下面具體介紹輸入、輸出和隱含層相關(guān)參數(shù)計算公式,隱含節(jié)點yk的計算方法是用輸入層的網(wǎng)絡(luò)節(jié)點去乘相應(yīng)的隱含層權(quán)值,再加上相應(yīng)的閾值來得到的,同理可以計算出Zj計算公式為:
1.2差分進化算法
差分進化算法(Differential Evolution),簡稱DE算法,該算法是在遺傳算法等進化思想的基礎(chǔ)上建立的,模擬遺傳算法中的復(fù)制、交叉、變異來設(shè)計算法,本質(zhì)是一種多目標(biāo)(連續(xù)變量)優(yōu)化算法,在多維空間中求整體最優(yōu)解運用較多,該算法的原理是:首先,搜索是從一個隨機初始化的種群開始,然后,經(jīng)過變異操作、交叉操作、選擇操作產(chǎn)生下一代種群;該過程重復(fù)進行,直到滿足停止條件。
算法的全局探索和局部開發(fā)能力決定著DE算法的搜索性能,種群規(guī)模、縮放比例因子和交叉概率等這些參數(shù)的選取至關(guān)重要,它首先生成隨機初始化種群:xi=(xi,1.xi,2.…,xi,D),其中i=1.2.…,N,D為問題的維數(shù),N為種群大小。
1.2.1變異操作(Mutation)
從當(dāng)前種群中的個體xi(g)產(chǎn)生下一個目標(biāo)個體vi(g),基本原理是在種群中隨機的去除兩個個體,將這兩個個體進行相減、縮放,然后再與待變異個體進行向量合成,公式為:
1.3DE-BP網(wǎng)絡(luò)算法預(yù)測模型
差分進化算法對復(fù)雜函數(shù)具有較強的優(yōu)化能力,由于初始權(quán)值是不應(yīng)完全相等的一組值,即便確定存在一組互不相等的使系統(tǒng)誤差更小的權(quán)值,如果所設(shè)權(quán)值的初始值彼此相等,它們將在學(xué)習(xí)過程中始終保持相等,故而,在程序中,一般會設(shè)計一個隨機發(fā)生器程序,產(chǎn)生一組-0.5-0.5的隨機數(shù),作為網(wǎng)絡(luò)的初始權(quán)值,針對初始權(quán)值與閾值隨機性問題,采用差分進化算法對其進行優(yōu)化,尋找出最優(yōu)的初始權(quán)值和閾值,整個算法流程是:先得到DE算法的初始種群,該種群主要由BP神經(jīng)網(wǎng)絡(luò)的各連接的初始權(quán)值和閾值組成,對該種群進行變異操作、交叉操作和選擇操作,采用適應(yīng)度值作為當(dāng)前種群個體的評價指標(biāo),在種群中尋找最優(yōu)的個體。只有當(dāng)BP神經(jīng)網(wǎng)絡(luò)的輸出值小于設(shè)置目標(biāo)誤差時,整個流程才結(jié)束,整個DE-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練流程如圖2所示。
具體的操作步驟如下:
Step 1初始化網(wǎng)絡(luò)各個參數(shù)的設(shè)置(BP神經(jīng)網(wǎng)絡(luò)和DE算法相關(guān)參數(shù)),
Step 2初始化權(quán)值和閾值,
Step 3初始種群的適應(yīng)度值,選取訓(xùn)練數(shù)據(jù)樣本對該模型進行訓(xùn)練,計算均方誤差的平均值,然后作為適應(yīng)度值。
Step 4運用1.2的公式進行變異操作、交叉操作和選擇操作,得到新一代的個體。
Step 5對產(chǎn)生的新個體計算其適應(yīng)度值,
Step 6判斷是否滿足終止條件:如果滿足終止條件就會執(zhí)行Step 7.如果不滿足終止條件就會返回Step 4重新執(zhí)行。
Step 7對建立的DE-BP神經(jīng)網(wǎng)絡(luò)循環(huán)壽命預(yù)測模型進行訓(xùn)練,
2DE,BP網(wǎng)絡(luò)算法訓(xùn)練
2.1訓(xùn)練參數(shù)選取
采用常用的3層神經(jīng)網(wǎng)絡(luò),即輸入層、隱含層和輸出層,電池的充電截止電壓x1、放電截止電壓x2.電池內(nèi)阻x3作為輸入變量,輸出變量為電池循環(huán)放電容量z,隱含層神經(jīng)元數(shù)量由式(10)計算得出:
通過公式分析計算設(shè)置BP神經(jīng)網(wǎng)絡(luò)和DE算法的相關(guān)參數(shù),BP神經(jīng)網(wǎng)絡(luò)參數(shù)選?。狠斎雽庸?jié)點數(shù)為3.隱含層節(jié)點數(shù)量為8.輸出層節(jié)點數(shù)為1.選擇tansig函數(shù)為隱含層的激活函數(shù),purelin函數(shù)為輸出層的激活函數(shù),trainlm函數(shù)作為訓(xùn)練函數(shù),誤差值MSE設(shè)置為0.00004.小于該值時算法性能達到收斂精度,訓(xùn)練到此結(jié)束,差分進化算法參數(shù)與選取:種群大?、粼O(shè)置為30.縮放因子F設(shè)置為0.5.交叉概率CR設(shè)置為0.3.最大進化代數(shù)tmax設(shè)置為50。
2.2DE-BP網(wǎng)絡(luò)訓(xùn)練
本文研究的電池為國內(nèi)某廠家生產(chǎn)的單體容量1200mAh的鎳鎘電池,充電截止電壓為1.4v,放電截止電壓為1.0v,標(biāo)稱電壓為1.2v在(20±5)°c工作溫度下,以0.5c恒流進行充電,直到電池電壓達到1.4v,然后以恒定電壓(cv)模式繼續(xù)充電,直到充電電流降至20mA,以2A的恒定電流(cc)進行放電,直到電池電壓降至1.0v一直這樣充放電循環(huán),當(dāng)電池容量下降到其閾值時判定電池失效,此時的循環(huán)次數(shù)就是電池的剩余壽命,從實驗數(shù)據(jù)庫中選擇0-400組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),其中另選400--415組數(shù)據(jù)作為測試樣本數(shù)據(jù),在MATLAB R2018a軟件環(huán)境下,建立DE-BP算法模型,把400組訓(xùn)練數(shù)據(jù)導(dǎo)入該模型中進行訓(xùn)練,在整個過程中,利用DE算法求解BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中最優(yōu)的初始權(quán)值和閾值,最后完成整個DE-BP神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練,得到鎳鎘電池循環(huán)壽命預(yù)測模型。
3DE-BP網(wǎng)絡(luò)訓(xùn)練結(jié)果與分析
把相同的訓(xùn)練樣本數(shù)據(jù)導(dǎo)入BP神經(jīng)網(wǎng)絡(luò)算法模型和DE-BP神經(jīng)網(wǎng)絡(luò)算法模型中進行訓(xùn)練,得出BP訓(xùn)練誤差曲線圖和DE-BP訓(xùn)練誤差曲線圖,如圖3和圖4所示,通過對比圖3和圖4發(fā)現(xiàn),同樣達到訓(xùn)練精度條件下,DE-BP神經(jīng)網(wǎng)絡(luò)算法的迭代次數(shù)比BP神經(jīng)網(wǎng)絡(luò)算法的迭代次數(shù)要減少,這可以說明在訓(xùn)練數(shù)據(jù)相同時,差分進化算法確實能夠起到優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的效果。
采用BP神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練的誤差曲線如圖3所示,經(jīng)過250次迭代后,訓(xùn)練誤差值(MSE)小于設(shè)定的0.00004.算法性能達到收斂精度。
采用DE-BP神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練的誤差曲線如圖4所示,經(jīng)過95次迭代后,訓(xùn)練誤差值(MSE)小于設(shè)定的0.00004.與圖3進行對比,發(fā)現(xiàn)運用差分進化算法優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)算法,其迭代次數(shù)明顯減少,相應(yīng)的收斂速度加快。
為了說明優(yōu)化后的預(yù)測模型能夠提高預(yù)測精度,即DE-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型,如表1和圖5所示,從實驗數(shù)據(jù)庫里選取實測值作為驗證數(shù)據(jù),和兩個預(yù)測模型輸出值進行對比,表1表示循環(huán)容量預(yù)測值與實際值對比,圖5表示改進前后循環(huán)容量對比曲線。
由圖5可知,當(dāng)電池的失效閾值設(shè)置為0.75Ah時,BP神經(jīng)網(wǎng)絡(luò)預(yù)測電池在405次充放電循環(huán)時失效,而優(yōu)化過后的DE-BP神經(jīng)網(wǎng)絡(luò)預(yù)測在407次充放電循環(huán)時失效,而且DE-BP網(wǎng)絡(luò)預(yù)測輸出值比BP網(wǎng)絡(luò)預(yù)測輸出值更接近真實值,預(yù)測精度有較大的提高,由表1可知,通過DE算法對BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值進行優(yōu)化以后,DE-BP網(wǎng)絡(luò)預(yù)測的最大相對誤差為3.0%,控制在5.0%以內(nèi);而BP神經(jīng)網(wǎng)絡(luò)的相對誤差9.8%,控制在10%以內(nèi),相較BP神經(jīng)網(wǎng)絡(luò)有很大改進,預(yù)測模型的精確度得到了提高,收斂速度也加快了,有效驗證DE算法能夠優(yōu)化BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型,
4總結(jié)
通過對鎳鎘電池的容量性能衰退進行分析,建立了一種基于差分進化算法和BP神經(jīng)網(wǎng)絡(luò)融合的模型;運用DE算法對BP神經(jīng)網(wǎng)絡(luò)連接的初始權(quán)值和閾值進行尋優(yōu),減少了初始權(quán)值和閾值具有的隨機性問題和神經(jīng)網(wǎng)絡(luò)迭代次數(shù),加快了數(shù)據(jù)的處理速度,提高了鎳鎘電池壽命預(yù)測的效率與精度,在現(xiàn)實生活中對電池進行預(yù)防性維護以及更換有重要意義,節(jié)約了大量成本。