[摘 要] 在現(xiàn)有灰色預(yù)測(cè)模型進(jìn)行深入研究的基礎(chǔ)上,提出了一種以蓄電池電容量為特征量基于遺傳算法的蓄電池故障灰色預(yù)測(cè)改進(jìn)模型,進(jìn)而為判斷蓄電池是否故障提供依據(jù),避免了傳統(tǒng)的容量試驗(yàn)帶來(lái)的弊端。該方法可以實(shí)現(xiàn)蓄電池故障的早期預(yù)測(cè),減少傳統(tǒng)的電池容量放電試驗(yàn)次數(shù),從而延長(zhǎng)蓄電池的使用壽命。同時(shí)為直流系統(tǒng)蓄電池組在線監(jiān)測(cè)提供重要基礎(chǔ)。
[關(guān)鍵詞] 蓄電池 灰色預(yù)測(cè) 遺傳算法 直流系統(tǒng)
一、引言
蓄電池作為直流系統(tǒng)的備用電源,平時(shí)由充電機(jī)浮充電,當(dāng)發(fā)生故障時(shí)由蓄電池組提供不間斷電源。閥空式密封鉛酸蓄電池在長(zhǎng)期浮充之后,常常會(huì)出現(xiàn)活性物質(zhì)脫落、電解液干、極板變形、柵極腐蝕及硫化等現(xiàn)象,導(dǎo)致蓄電池容量降低甚至失效,而一旦發(fā)生故障需繼續(xù)維持供電時(shí),該電池就可能無(wú)法保證事故狀態(tài)下的放電要求,從而擴(kuò)大事故范圍,因此實(shí)現(xiàn)對(duì)蓄電池故障早期預(yù)測(cè)具有重大意義。
二、預(yù)測(cè)模型的建立
普通的GM(1,1)灰色預(yù)測(cè)模型是一種指數(shù)增長(zhǎng)模型,當(dāng)蓄電池產(chǎn)生故障時(shí)的容量呈指數(shù)規(guī)律持續(xù)變化時(shí),用此方法進(jìn)行預(yù)測(cè)可獲得較高的預(yù)測(cè)精度,同時(shí)還具有所需樣本數(shù)據(jù)少,計(jì)算簡(jiǎn)便,可檢驗(yàn)等優(yōu)點(diǎn)。但是,蓄電池發(fā)生故障的原因是多種多樣的,同時(shí)蓄電池的故障可能是單一故障,也可能是多種故障的組合,具有不確定性和隨機(jī)性,故容量數(shù)據(jù)并不是按照嚴(yán)格的指數(shù)規(guī)律變化,此時(shí)若采用GM(1,1)模型進(jìn)行預(yù)測(cè),預(yù)測(cè)精度就會(huì)變低,預(yù)測(cè)誤差會(huì)顯著變大,不能滿(mǎn)足實(shí)際工程應(yīng)用的要求,有必要對(duì)該模型進(jìn)行改進(jìn)。
1.GM(1,1)模型及其改進(jìn)
GM(1,1)模型的實(shí)質(zhì)是對(duì)原始數(shù)據(jù)序列做一次累加生成,使生成的序列呈現(xiàn)出一定的規(guī)律,然后用曲線擬合累積生成數(shù)列,再累減還原即可得到新的預(yù)測(cè)值。
設(shè)有原始數(shù)據(jù)數(shù)列x(0)={x(0)(1),x(0)(2),…,x((0)(n)},對(duì)其做一次累加生成運(yùn)算,得新序列x(1)={x(1)(1),x(1)(2),…x(1)(n)},其中x(1)(k)=,k=l,2,…,n。
GM(1,1)模型的白化微分方程為: (1)
GM(1,1)模型的灰微分方程為:
x(0)+a×z(1)(k)=b,k= 2,3,…,n (2)
其中z(1)(k)為背景值, (3)
令
可利用最小二乘法求得a、b,即 (4)
GM(1,1)白化微分方程的離散響應(yīng)式為
(5)
因此原始數(shù)據(jù)序列的預(yù)測(cè)值為
(6)
將式(1)向前差分得 (7)
對(duì)等距時(shí)間序列可令k2-k1=l,即
x(1)(k+1)-x(1)(k)+ax(1)(k)=b (8)
同理將式(1)向后差分得x(1)(k+1)-x(1)(k)+ax(1)(k+1)=b (9)
不同的序列滿(mǎn)足不同的差分格式,有的滿(mǎn)足式(8),有的滿(mǎn)足式(9),有的滿(mǎn)足式(8)與式(9)的組合,即(8)Xλ+(9)X(1一λ),也就是x(1)(k十1)-x(1)(k)=-a[λx(1)(k)+(1-λ)x(1)(k十1)]+b (10)
其中0≤λ≤1
式(10)即為GM(1,1)模型的一般差分格式,該模型是GM(1,1)的另一種表現(xiàn)形式。該模型的實(shí)質(zhì)是在GM(1,1)模型的基礎(chǔ)上,將背景值z(mì)(1)(k)做了相應(yīng)修改,從而提高了計(jì)算精度。
該模型對(duì)應(yīng)的背景值為
z(1)(k)=λ×x(1)(k)+(1一λ)×x(1)(k+1)(11)
顯然當(dāng)λ為0.5時(shí),該模型即為標(biāo)準(zhǔn)的GM(1,1)模型。 由式(10)可知,只要給出一個(gè)λ0,便有
(12)
Yn與式(4)中原理相同。
由最小二乘原理(13)
將a0、b0值代入式(6)即可得預(yù)測(cè)值。
2.用遺傳算法求解最優(yōu)λ值
從上面可以看出,只要給定λ,便可求出預(yù)測(cè)值。
顯然當(dāng)原始序列x(0)={x(0)(1),x(0)(2),…,x(0)(n)}確定時(shí),影響預(yù)測(cè)精度的惟一因素便是λ,而且從式(5)、(12)、(13)可以看出,λ與誤差之間呈現(xiàn)出高度的非線性關(guān)系,很難用解析式顯性表示,因此如何確定合理的λ值,就成為提高預(yù)測(cè)精度的關(guān)鍵?;谶@種思想,這里采用遺傳算法,以誤差絕對(duì)值和最小作為目標(biāo)函數(shù)來(lái)求解最為合理的λ值,即:(14)
具體求解步驟如下:
(1)編碼。將λ∈[0,1]表示為一個(gè)n位二進(jìn)制串,其中n的大小可根據(jù)入的精度來(lái)確定。
(2)初始化群體。選擇一個(gè)整數(shù)M作為群體的規(guī)模參數(shù),然后從[0,1]上隨機(jī)地選取M個(gè)點(diǎn),即λ(i,0)(i=1,2,…M),這些點(diǎn)組成初始群體,即P(0)={λ(1,0),λ(1,0),…,λ(K,0)}。
(3)適應(yīng)度計(jì)算。計(jì)算群體P(k)中每個(gè)個(gè)體λ(i,k)的適應(yīng)度F(λ(i,k)),其中k表示迭代次數(shù),適應(yīng)度函數(shù)可取為
F(λ(i,k))= (15)
其中g(shù)(λ(i,k))=±|x(0)(i)(λ(i,k))-x(0)(i)|,x(0)(i)(λ(i,k))表示由λ(i,k)得到的預(yù)測(cè)值;Cmax表示該迭代中誤差絕對(duì)值和的最大值。
(4)選擇、交叉和變異運(yùn)算。根據(jù)每個(gè)個(gè)體的適應(yīng)度F(λ(i,k),計(jì)算其選擇概率=,然后以Pi(k)按某種規(guī)則或模型遺傳到下一代群體中。一般要求選擇概率較高的個(gè)體將有更多的機(jī)會(huì)遺傳到下一代群體中。
交叉運(yùn)算是遺傳算法中產(chǎn)生新個(gè)體的主要操作過(guò)程。它以交叉概率pc相互交換某兩個(gè)個(gè)體之間的部分染色體。
變異運(yùn)算是對(duì)個(gè)體的某一個(gè)或某一些基因座上的基因值按變異概率pm進(jìn)行改變。這也是產(chǎn)生新個(gè)體的一種操作方法。
對(duì)群體P(i)進(jìn)行一輪選擇、交叉、變異運(yùn)算之后可得到新一代的群體P(i+1)。群體經(jīng)過(guò)一代進(jìn)化之后其適應(yīng)度的最大值、平均值都得到了明顯的改進(jìn)。
(5)停止準(zhǔn)則。遺傳算法循環(huán)執(zhí)行適應(yīng)度計(jì)算、選擇運(yùn)算、交叉運(yùn)算、變異運(yùn)算這幾個(gè)步驟,直到算法已找到滿(mǎn)足精度的解,或已經(jīng)達(dá)到預(yù)定的迭代代數(shù)。
3.基于遺傳算法的蓄電池故障灰色預(yù)測(cè)模型的MATLAB實(shí)現(xiàn)
采用MATLAB來(lái)實(shí)現(xiàn)基于遺傳算法的蓄電池故障灰色預(yù)測(cè)模型。用MATLAB實(shí)現(xiàn)的優(yōu)勢(shì)在于它具有強(qiáng)大的處理矩陣運(yùn)算的功能。遺傳算法的許多算子如選擇、雜交、變異等,都是針對(duì)所謂的染色體進(jìn)行的,染色體實(shí)質(zhì)是一個(gè)向量,可將其看成一個(gè)1Xn的矩陣,因而這些算子實(shí)質(zhì)上是一些矩陣運(yùn)算。
在認(rèn)真分析了基于遺傳算法的蓄電池故障灰色預(yù)測(cè)模型求解算法特點(diǎn)的基礎(chǔ)上,充分利用MATLAB具有強(qiáng)大矩陣運(yùn)算能力的優(yōu)點(diǎn),使用MATLAB語(yǔ)言編寫(xiě)了基于遺傳算法的蓄電池故障灰色預(yù)測(cè)模型的求解和預(yù)測(cè)程序。該程序采用模塊結(jié)構(gòu),由如下,m文件組成:主程序Main.m、初始化予程序Initialization.m、適應(yīng)度計(jì)算子程序Fitness.m、選擇運(yùn)算子程序Selection.m、交叉運(yùn)算子程序Crossover.m、變異運(yùn)算子程序Mutation.m和預(yù)測(cè)值計(jì)算子程序Calculation.m等,其中主程序流程圖如圖所示。
三、實(shí)例分析
1.試驗(yàn)數(shù)據(jù)
某電業(yè)局分別于1997年~2002年,在等時(shí)間段內(nèi)分別對(duì)兩個(gè)變電站的直流系統(tǒng)蓄電池組進(jìn)行了核對(duì)性放電實(shí)驗(yàn),其中站1蓄電池為2V/500Ah,站2蓄電池為2V/300Ah,每個(gè)站分別獲得了6個(gè)數(shù)據(jù),分別為472.6,482.3,496.1,475.6,455.6,446.2和291.9,289.1,285.2,281.3,297.3,296.1。
2.預(yù)測(cè)步驟及預(yù)測(cè)結(jié)果
下面以變電站1數(shù)據(jù)預(yù)測(cè)為例說(shuō)明整個(gè)預(yù)測(cè)過(guò)程。
(1)取前5個(gè)數(shù)據(jù)進(jìn)行建模,最后一個(gè)數(shù)據(jù)用于和預(yù)測(cè)值進(jìn)行對(duì)比。即x(0')={x(0')(1),x(0')(2),…,x(0')(5)}={472.6,482.3,496.1,475.6,455.6}
(2)根據(jù)2.4.3中方法對(duì)序列x(0')進(jìn)行弱化處理,得序列x(0),即x(0)={x(0)(1),x(0)(2),…,x(0)(5)}={476.4,477.4,475.8,465.6,455.6}
(3)設(shè)定遺傳算法初始參數(shù),其中群體規(guī)模M為30、最大迭代代數(shù)T為1000、交叉概率pc為0.8和變異概率pm為0.006。經(jīng)運(yùn)算得λ=0.24732,由式(12)和(13)可得a=0.016、b=489.48,由式(5)和(6)即可求出預(yù)測(cè)值,如表3所示。
(4)對(duì)序列x(0')進(jìn)行GM(1,1)建模。先對(duì)x(0')序列做一次累加生成運(yùn)算得到新序列x(1'),由式(4)可得a=0.02077、b=507.3l,最后由式(5)和(6)即可求出預(yù)測(cè)值。
采用本文模型所算出的變電站1和2的2003年的預(yù)測(cè)值分別為448.4和297.9,而傳統(tǒng)GM(1,1)模型預(yù)測(cè)值分別為453.1和282.3。
本文提出的基于遺傳算法的直流系統(tǒng)蓄電池故障灰色預(yù)測(cè)改進(jìn)模型的預(yù)測(cè)精度比傳統(tǒng)的GM(1,1)模型有了較大提高,完全能夠滿(mǎn)足實(shí)際工程需要。應(yīng)用本文模型,分別對(duì)變電站1和2的全部試驗(yàn)數(shù)據(jù)進(jìn)行建模預(yù)測(cè),可預(yù)測(cè)出2003年相應(yīng)試驗(yàn)時(shí)間內(nèi)的蓄電池組容量為439.4Ah和299.5Ah,都高于其標(biāo)稱(chēng)容量的80%,可認(rèn)為兩站的蓄電池組都是正常的。
四、總結(jié)
通過(guò)MATLAB解析和故障預(yù)測(cè)實(shí)例分析可以證明,本文提出的基于遺傳算法的直流系統(tǒng)蓄電池故障灰色預(yù)測(cè)改進(jìn)模型比傳統(tǒng)GM(1,1)預(yù)測(cè)模型具有更高的模型精度,能有效地預(yù)測(cè)直流系統(tǒng)中蓄電池的發(fā)展變化趨勢(shì),可為直流系統(tǒng)蓄電池組在線監(jiān)測(cè)提供依據(jù)。