999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于布谷鳥算法優化BP神經網絡的鋰電池健康狀態預測

2021-05-07 07:54:04魏新堯佘世剛劉愛琦
計算機測量與控制 2021年4期
關鍵詞:模型

魏新堯,佘世剛,容 偉,劉愛琦

(常州大學 機械工程學院,江蘇 常州 213164)

0 引言

鋰電池因為其容量大、環保等特點,目前被廣泛用作電動汽車的主要動力源,因此針對鋰電池的研究日益受到廣泛的關注。由于電動汽車在行駛過程中可能需要頻繁的啟停造成鋰電池大電流充放電,導致鋰電池呈現強烈非線性退化效應[1],進而影響到電池壽命,這對于以后的駕駛勢必造成隱患,因此對電池管理系統的研究則顯得至關重要。其中鋰電池的健康狀態(SOH,state of health)是電池管理系統中最關鍵的因素之一。然而,電池內部所涉及的電化學反應的復雜性和耦合效應,且不同類型的鋰電池老化機理不同,都增加了對SOH的精確預測的難度。

電池的SOH是表征電池老化狀態的指標。SOH定義為電池當前所能充入或放出電量與電池標稱容量的百分比[2]:

(1)

式中,Qnow為當前所能充入或放出電量,Qrated為電池標稱容量。目前常用的SOH估計方法主要分為兩類:1)基于電路或電化學模型的方法,該方法將電池的SOH估計問題視為模型參數估算問題。通過對電池模型中相關參數進行辨識,建立電池模型。張民等采用卡爾曼濾波算法對SOH進行預測[3],康道新等采用卡爾曼濾波算法的衍生算法,即雙適應無跡卡爾曼濾波算法對SOH值進行估算研究[4]。Xiong等人用粒子濾波法對電池模型中相關參數進行辨識,建立電池模型[5]。此類方法對電池模型的依賴較大,電池模型的選用和參數的辨識精度將直接決定電池SOH估算的準確性和適用性;2)基于數據驅動的方法,該方法不需要探究工作時電池物質結構變化和工作機理,從數據的角度尋找代表特征,應用基于黑箱模型和機器學習工具的映射技術,以數據中提取的代表特征為輸入、電池SOH為輸出,建立網絡,從而實現電池SOH的準確估算。BP(error back propagation)神經網絡算法是最為常見的機器學習算法。Yang等利用三層BP神經網絡估算SOH[6],但傳統的BP神經網絡在估算SOH這種非線性問題時對初始值依賴較大,容易使權值陷入局部最優解,導致SOH預測不精確。劉春艷等人采用遺傳算法(GA,genetic algorithm)優化BP神經網絡的初始權值和閾值[7]。該算法收斂速度較慢,需要交叉率和變異率等參數較多,預測精度容易受影響。李祚泳等人引入粒子群算法的權值和閾值修正,從而建立了基于粒子群算法(PSO,particle swarm optimization)優化的BP神經網絡模型[8]。該算法提高了BP算法的收斂速度,改善了對初始值的依賴,但算法本身的局部尋優能力不強。

為了有效地減小BP神經網絡對初始權值和閾值的依賴,提高算法求精能力和收斂速度,本文提出一種基于布谷鳥搜索算法(CS,cuckoo search)優化BP神經網絡的鋰電池SOH預測方法。該優化算法的優點在于需求的參數較少、容易實現、搜索路徑優和尋優能力強等特點[9],王凡等通過建立Markov鏈模型在理論上證明了CS算法可收斂于全局最優[10]。同時將網絡預測結果與BP算法、PSO-BP算法、GA-BP算法作比較,可以得到該算法具有更好的預測能力。

1 BP神經網絡

BP神經網絡一般是指用誤差逆傳播算法訓練的多層前饋神經網絡,廣泛應用于非線性逼近。SOH預測的BP神經網絡結構如圖1所示,網絡共有三層,即輸入層、隱層和輸出層。在層與層之間是全連接的,每一層神經元之間無連接。通常輸入層和輸出層的單元個數與建立的問題需求或模型有關,而隱層的單元個數的設計通常根據經驗公式[11]:

(2)

式中,n為輸入層單元個數;m為輸出層單元個數;d為1~10之間的整數。經多次仿真實驗對比,d取10時仿真效果最好,所以由圖1可知,SOH估計的神經網絡的隱層單元個數為12。

BP神經網絡SOH預測模型如圖1所示,輸入層由5個神經元組成,即電流、電壓、溫度、放電時間和充放電循環次數,xi(i=1,2,…,5)表示其輸入亦即該層的輸出;隱層由12個神經元組成,zk(k=1,2,…,12)表示隱層的輸出,θk(k=1,2,…,12)表示隱層的閾值;輸出層由1個神經元組成,用y表示輸出層的輸出,即BP神經網絡SOH的預測值,用φ表示輸出層的閾值;用vik(i=1,2,…,5;k(k=1,2,…,12)表示從輸入層到隱層的連接權值;用wk(k=1,2,…,12)表示從隱層到輸出層的連接權值。隱層采用logsig函數f(x)=1/(1+e-x)為激活函數,輸出層采用Purelin函數g(y)=y為激活函數,性能函數采用均方誤差性能函數(MSE,mean squared error)。算法步驟如下:

1)初始參數。假設初始迭代次數t=0,BP神經網絡初始權值和閾值為[-1,1]內的隨機數,即vik(t)∈[-1,1],wk(t)∈[-1,1],θik(t)∈[-1,1],φik(t)∈[-1,1];

2)信號正向傳播。輸入一個樣本(Xm,Ym),其中m∈{1,2,…,M},M為樣本數,X=[I,V,T,t,c]T∈R5×m,Y表示SOH的真實值;

3)計算隱層的輸入與輸出:

(3)

zk=f(Sk-θk)

(4)

4)計算輸出層的輸入與輸出:

(5)

y=f(S-φ)

(6)

5)誤差逆向傳播。計算輸出層各節點誤差:

Err=y(1-y)(Y-y)

(7)

6)計算隱層各節點誤差:

Errk=zk(1-zk)wkErr

(8)

7)權值、閾值更新:

wk(t+1)=wk(t)+αzkErr

(9)

vik(t+1)=vik(t)+αxkErrk

(10)

φ(t+1)=φ(t)+ηErr

(11)

θk(t+1)=θk(t)+ηErrk

(12)

其中:η為學習率,α為學習速率;

8)輸入下一個樣本進行訓練,重新回到步驟2)開始執行,直到訓練集中的所有樣本都被訓練完;

9)對于每一個輸入的樣本計算輸出層的誤差函數Em:

Em=(Ym-ym)2

(13)

對所有的樣本的均方誤差進行累計求和,就可得到基于BP神經網絡模型的SOH估計的目標函數:

(14)

比較E與規定的誤差的大小,如果E小于誤差精度要求或者學習次數達到規定次數,則算法結束;否則更新學習次數t←t+1,并重新回到步驟2)繼續執行。

BP神經網絡經常遭遇過擬合,過擬合是指網絡模型把一些訓練樣本特有的性質當作一般性質,從而導致泛化性降低,訓練誤差增大。為了解決這一問題選用一種策略是“早停”,即將數據分成訓練集和驗證集,訓練集用來更新權值和閾值,驗證集用來估計誤差,若訓練集誤差降低但驗證集誤差升高且樣本個數超過某個給定的值,則停止訓練,同時返回具有最小驗證集誤差的權值和閾值。

2 CS-BP神經網絡

2.1 CS算法

CS算法是由學者X.S.Yang和S.Deb提出的一種智能優化算法[12]。CS算法是模擬布谷鳥尋巢產卵行為的一種尋求目標函數最優化問題的仿生算法,類似的仿生算法還有GA算法和PSO算法。與GA算法和PSO算法相比,CS算法具有選用參數少、容易實現、搜索路徑優、尋優能力強等特點。在自然界中,布谷鳥采用寄生育雛的特殊繁殖后代策略,即在其他鳥的鳥巢里產卵,由其他鳥來代替自己孵育下一代,并且為了保證孵化率,將其他鳥的蛋扔出鳥巢。

該算法的尋優過程采用萊維飛行,所謂萊維飛行是指一種隨機游走方式,即每一步游走方向完全隨機且各不相同,小步長行走與偶爾的大步長行走相互交替,且步長服從重尾分布。文獻將該萊維飛行應用到尋優算法中,少量的大步長行走可以擴大算法的搜索范圍,有助于算法跳出局部尋優;大量的小步長行走有利于算法局部尋優,提高算法的精度,距離越小,求解精度越高,但會降低搜索速度。萊維飛行的每一步游走都由兩個因素控制:一是游走方向,一般選取一個服從均勻分布的數;二是步長,步長服從萊維分布。為了簡化和模擬布谷鳥的育雛行為,學者Xin-She Yang和Suash Deb提出了以下三條理想規則:

1)每只布谷鳥每次只生產一個蛋,并隨機選擇一個寄生巢來放置;

2)在隨機選擇的一組寄生巢中,最好的寄生巢會被保留到下一代;

3)可利用的寄生巢的數量是一定的,布谷鳥蛋被宿主發現的概率為Pa。

在上述3個理想規則的基礎上,將布谷鳥、宿主鳥巢以及布谷鳥蛋均看作解,則從自然界布谷鳥行為中抽象出布谷鳥算法的主要步驟為:

1)初始參數,隨機生成一組初始解并計算他們的適應度;

2)通過萊維飛行對解進行更新:

xi(t+1)=xi(t)+α?Levy(β)

(15)

式中,xi(t)和xi(t+1)分別為第t次和t+1次迭代時的第i個解;α=α0(xi(t)-xbest)是步長信息,用于控制搜索范圍,α0=0.01是常數,xbest表示當前最優解;?表示點對點乘法;Levy(β)是隨機搜索路徑,服從萊維概率分布:

Levy~u=t-1-β, 0<β≤2

(16)

3)比較新解得適應度和舊解得適應度值,若新解得適應度值優于舊解得適應度值,則用新解替換舊解;

4)根據發現概率丟棄部分解,然后隨機偏好游走生成同樣多的解來代替被丟棄的解:

xi(t+1)=xi(t)+r?Heaviside

(Pa-ε)?(xk(t)-xj(t))

(17)

式中,r和ε為[0,1]區間內正態分布的隨機數,Heaviside(u)表示階躍函數,Pa為發現概率,xk(t)和xj(t)為第t次迭代時的兩個隨機解;

5)計算通過步驟2)~4)產生的新一代的解的適應度值并挑選出最優解;

6)重復步驟2)~5),直到達到最大迭代次數。

2.2 CS-BP神經網絡

CS算法具有提高算法的局部和全局尋優的等優點。為了改善BP神經網絡對初始權值和閾值的依賴問題,將CS算法運用到BP神經網絡中,在網絡進行訓練前,運用CS算法對網絡初始權值和閾值進行尋優,得到的最優解再賦值給網絡進行訓練,這種方法可以有效地避免BP神經網絡因為初始權值和閾值而容易陷入局部最小的問題,同時改善了BP神經網絡的收斂速度。

總算法流程如圖2所示。

圖2 CS-BP神經網絡流程圖

CS算法優化BP神經網絡算法步驟:

1)初始化鳥巢數n、Pa及最大迭代次數Nmax等參數;

3 實驗仿真和結果分析

3.1 實驗數據預處理

本實驗鋰電池數據集來源于美國國家航空航天局Ames研究中心的預測數據儲存庫。該數據庫中含有多種不同類型的鋰電池數據集,為了驗證模型的泛化性,本文選擇6、7號電池數據集進行實驗。對上述兩種類型的鋰電池在3種不同工作模式(充電、放電和阻抗測試)下實驗數據進行記錄。每次充放電的過程為:首先在1.5 A的恒流模式下充電,直到電池電壓升高到4.2 V,然后在4.2 V的恒壓模式下繼續充電,直到充電電流將至20 mA,充電過程結束;在2 A的恒流模式下對電池進行放電,直到電池電壓降至截止放電電壓(6、7號電池的截止放電電壓分別為2.5 V、2.2 V)。重復的充放電周期導致電池加速老化,隨著老化的進展,當電池達到壽命結束標準時,記錄停止。兩種類型的電池均進行168次充放電循環,在每次充放電循環中選擇利用放電數據進行模型構建。圖3是兩種鋰電池的SOH變化曲線圖,從圖中可以看出,鋰電池的SOH會隨著迭代次數的增加而不斷減小,這意味著電池隨著使用次數的增多其的老化狀態會變得更加明顯。本文中將前138次充放電循環樣本作為訓練樣本,剩余的30次循環作為測試樣本。選取均方根誤差(RMSE,root mean square error)和平均絕對百分比誤差(MAPE,mean absolute percentage error)作為衡量預測模型好壞的標準,計算公式如式(18)和(19):

(18)

(19)

圖3 兩種鋰電池的SOH變化曲線圖

鋰電池的SOH可以認為是長期變化量,其在單次充放電循環過程中保持不變,但會隨著鋰離子電池長期使用而逐漸改變,因此針對單次充放電循環隨時間變化測得的部分輸入參數,即電池端電壓、電流和溫度,取其平均值作為表示該時間段對應的參數特征,同時根據式(1)可以得到該次充放電循環后的SOH值,即輸出參數。考慮到鋰電池輸入參數和輸出參數的量綱和量綱單位不同,為了消除各參數的量綱影響,需要對參數數據進行標準化處理。通過式(20)可以將樣本數據映射到[0,1]區間。

(20)

式中,max和min分為樣本數據的最大值和最小值。

3.2 仿真分析

本實驗通過在Matlab R2018b環境下編程建立仿真模型,具體仿真分析步驟如下:

1)給各個算法模型預設參數:

BP:網絡的結構為5-12-1,訓練目標為10-5,隱層的激活函數為logsig,輸出層的激活函數為purelin,訓練函數為trainlm,學習速率為0.01,輸入為電池端電壓、端電流、環境溫度、充放電循環次數和放電時間,輸出為對應該次放電循環后的SOH值;

CS:迭代次數均為50,種群規模n=25。其中CS算法中發現概率Pa=0.25,步長α=0.05;

PSO:迭代次數均為50,種群規模n=25。c1=c2=1.494 45;

GA:交叉率Pcross=0.2、變異率Pmutation=0.4;

2)利用式(19)對訓練樣本和測試樣本進行歸一化;

3)使用newff函數建立BP神經網絡。并固定初始權值和閾值的隨機種子;

4)在進行網絡訓練前分別用CS算法、PSO算法、GA算法對初始權值和閾值進行尋優,可以得到3種尋優算法的適應度值隨迭代次數的變化,如圖4所示。

可見在迭代次數均為50次的情況下,CS算法比GA算法和PSO算法可以得到更小的適應度值;

5)使用train函數對網絡進行訓練;

6)把測試樣本加入到訓練好的網絡中,進行預測,預測的結果與真實值對比,如圖5所示;

可見對于兩種電池的測試樣本來說,CS-BP算法的預測值比PSO-BP算法、GA-BP算法、BP算法都要更接近真實值。

7)針對兩種電池的測試樣本,計算預測值與真實值的絕對誤差,如圖6所示。

宏觀上看,CS-BP算法的預測絕對誤差比PSO-BP算法、GA-BP算法、BP算法都要更接近0。表明CS-BP算法比其他的方法精度更高。

微觀上看,表1給出了4種算法的RMSE和MAPE值。對于6號電池來說,CS-BP算法的RMSE值比PSO-BP算法、GA-BP算法、BP算法分別降低了0.442 5、0.723、1.222;CS-BP算法的MAPE值比PSO-BP算法、GA-BP算法、BP算法分別降低了0.674 5%、0.715 3%、1.763 9%;CS-BP算法的最大絕對誤差比PSO-BP算法、GA-BP算法、BP算法分別降低了0.293 3、2.005 3、2.288 3。對于7號電池來說,CS-BP算法的RMSE值比PSO-BP算法、GA-BP算法、BP算法分別降低了0.385 8、0.784 9、0.901 5;CS-BP算法的MAPE值比PSO-BP算法、GA-BP算法、BP算法分別降低了0.473%、0.964 3%、1.080 9%;CS-BP算法的最大絕對誤差比PSO-BP算法、GA-BP算法、BP算法分別降低了0.504 5、1.152 5、1.384 5。對于在兩種電池數據集上的仿真預測結果,CS-BP算法的RMSE值、MAPE值和絕對誤差最大值都是最小的,所以CS-BP算法的預測能力要優于PSO-BP算法GA-BP算法、BP算法。

表1 4種算法的預測性能比較

4 結束語

本文主要研究了鋰電池SOH的預測問題。因為電池內部化學反應復雜,且SOH值呈非線性,所以本文采用BP神經網絡模型來預測SOH。但傳統的BP算法誤差較大,對初始值依賴較大,且容易陷入局部最優。為了解決這些問題,提出了CS-BP算法,該算法的核心是在BP算法的訓練開始前,用CS算法找出最優的初始權值和閾值,并賦值跟網絡,然后進行訓練。在美國國家航空航天局的鋰電池數據集上的實驗表明,本文的SOH預測方法比BP算法、GA-BP算法、PSO-BP算法更有效。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 特级aaaaaaaaa毛片免费视频| 日本黄色a视频| 国产无人区一区二区三区| 在线国产91| 亚洲国产中文精品va在线播放| 国产乱人伦精品一区二区| 福利视频一区| 久久中文字幕2021精品| 色综合久久久久8天国| 色首页AV在线| 久久99久久无码毛片一区二区| 毛片网站免费在线观看| 免费AV在线播放观看18禁强制| av在线5g无码天天| 国产激情无码一区二区三区免费| 国产精品青青| 日韩午夜伦| 久久免费观看视频| 青青久久91| 国内精品一区二区在线观看 | 国产亚洲高清视频| 亚洲精品第五页| 亚洲无码高清免费视频亚洲| 在线精品亚洲国产| 成年人国产网站| 青青草原国产av福利网站| 精品一区二区三区中文字幕| 久久精品亚洲中文字幕乱码| 国产成人精品亚洲日本对白优播| 欧美日韩国产在线人| 黄色三级毛片网站| 好久久免费视频高清| 国产欧美精品一区二区| 亚洲激情区| 精品国产Ⅴ无码大片在线观看81| 日韩毛片基地| 永久天堂网Av| 69视频国产| 内射人妻无码色AV天堂| 国产欧美日韩91| 国产va在线| 国产美女人喷水在线观看| 青青草原国产| 一级毛片免费观看久| 91av成人日本不卡三区| 91青青视频| 欧洲日本亚洲中文字幕| 国产精品夜夜嗨视频免费视频| 色精品视频| 99er精品视频| 她的性爱视频| 亚洲开心婷婷中文字幕| 亚洲va精品中文字幕| 国产真实二区一区在线亚洲| 欧美日本视频在线观看| 国产91蝌蚪窝| 99精品一区二区免费视频| 国内精品自在自线视频香蕉| 国产欧美又粗又猛又爽老| 不卡网亚洲无码| 国产一区二区三区视频| 精品国产中文一级毛片在线看| 国产福利免费在线观看| 一边摸一边做爽的视频17国产| 国产精品开放后亚洲| 欧美第二区| 国产精品久久久精品三级| 波多野结衣视频网站| 亚洲黄色片免费看| 欧美精品二区| 波多野结衣无码中文字幕在线观看一区二区 | julia中文字幕久久亚洲| 另类欧美日韩| 精品天海翼一区二区| 国产在线欧美| 91麻豆国产视频| 五月丁香伊人啪啪手机免费观看| 免费jjzz在在线播放国产| 极品尤物av美乳在线观看| 久久国产拍爱| 中文字幕人妻av一区二区| 综合色亚洲|