吳大中,吳麗華
(南京信息工程大學(xué) 江蘇省氣象探測與信息處理重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210044)
固體氧化物燃料電池是一種將氣體或者氣化燃料的化學(xué)能直接轉(zhuǎn)化成電能和熱能的一種能量轉(zhuǎn)換裝置[1]。SOFC具有清潔、高效、噪音小、無泄漏、無電解質(zhì)腐蝕、壽命長等優(yōu)點(diǎn)。燃料的使用具有多樣性,既可以用H2作為燃料,也可以利用天然氣、CO等其他燃料。近年來,SOFC引起了人們的普遍關(guān)注,在許多商業(yè)領(lǐng)域也有其應(yīng)用前景,是目前燃料電池技術(shù)中的熱點(diǎn)和重點(diǎn)。世界各國研究人員采用電化學(xué)、材料學(xué)、熱力學(xué)、流體動力學(xué)等相關(guān)理論建立了SOFC一些比較完善的數(shù)學(xué)模型[2-5]。這些模型在研究SOFC的性能的過程中起了很重要的作用,同時(shí),這些模型表達(dá)式過于復(fù)雜,很難用于控制系統(tǒng)的設(shè)計(jì),特別是在線控制[6]。
粒子群(PSO)算法是基于種群搜索的進(jìn)化類算法,它算法簡單、容易編程實(shí)現(xiàn)、沒有很多參數(shù)需要調(diào)整、收斂速度較快,因此是一種很有潛力的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。Van den Bergh F等利用PSO算法對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,結(jié)果性能得到明顯改善[7]。徑向基函數(shù)(RBF)神經(jīng)網(wǎng)絡(luò)是一種具有全局收斂的前向網(wǎng)絡(luò),它能夠以任意精度逼近任一連續(xù)函數(shù),并且結(jié)構(gòu)簡單、學(xué)習(xí)速度快,現(xiàn)已被廣泛應(yīng)用于信號處理、模式識別、函數(shù)逼近等領(lǐng)域[8]。
結(jié)合兩者的優(yōu)點(diǎn),通過PSO算法對RBF神經(jīng)網(wǎng)絡(luò)的中心值進(jìn)行優(yōu)化,并調(diào)整隱含層到輸出層的連接權(quán)值,從而為SOFC系統(tǒng)建立更好更精確的模型。仿真結(jié)果顯示,通過粒子群算法優(yōu)化RBF神經(jīng)網(wǎng)絡(luò)對SOFC系統(tǒng)的建模和控制有一定的實(shí)用價(jià)值。
SOFC電化學(xué)氧化還原反應(yīng)過程的示意圖如圖1所示。在陰極,空氣中的氧原子與電子發(fā)生還原反應(yīng),生成氧離子O2-,氧離子O2-在電位差和氧濃度差驅(qū)動力的作用下,通過固體電解質(zhì)離子的導(dǎo)向作用到達(dá)陽極。在陽極,燃料氣體H2與氧離子進(jìn)行氧化反應(yīng)生成水并釋放出電子進(jìn)入外電路,從而產(chǎn)生直流電。電極上的反應(yīng)式是
圖1 SOFC工作原理圖Fig.1 Working principle diagram of SOFC
粒子群算法最早是由Kennedy和Eberhart在1995年提出的。PSO算法源于對鳥類捕食行為的研究,鳥類捕食時(shí),找到食物最簡單有效的方法就是搜尋當(dāng)前距離食物最近的鳥的周圍區(qū)域[9]。PSO算法就是從這種模型中得到啟示并用于解決優(yōu)化問題的,每個(gè)粒子都代表了問題的一個(gè)可能解,且都有一個(gè)被優(yōu)化的函數(shù)決定的適應(yīng)度值。粒子還有一個(gè)速度決定它們飛翔的方向和距離。為了實(shí)現(xiàn)個(gè)體在可解空間中的尋優(yōu),粒子的速度會隨自身及其他粒子的移動經(jīng)驗(yàn)進(jìn)行動態(tài)調(diào)整。
先對可解空間中的粒子進(jìn)行初始化,粒子的特征用位置、速度和適應(yīng)度值來表示,空間里的每個(gè)粒子都代表一個(gè)潛在最優(yōu)解,適應(yīng)度值的好壞代表粒子的優(yōu)劣,其值由適應(yīng)度函數(shù)計(jì)算得到。然后粒子通過跟蹤個(gè)體極值Hbest和群體極值Gbest更新個(gè)體位置,個(gè)體極值是指該微粒經(jīng)歷過的最優(yōu)位置,群體極值Gbest是指微粒群中任意個(gè)體經(jīng)歷過的最優(yōu)位置。粒子每更新一次位置,適應(yīng)度值就相應(yīng)的進(jìn)行計(jì)算調(diào)整,并通過比較個(gè)體極值和全局極值來對自身的速度和位置進(jìn)行更新。
假設(shè)微粒群規(guī)模為N,搜索空間為D維,每個(gè)粒子的位置向量表示為 Xi=(xi1,xi2,…xiD)T,代表問題的一個(gè)潛在解。 每個(gè)粒子的速度向量為 Vi=(Vi1,Vi2, …ViD)T, 個(gè)體極值為 Pi=(Pi1,Pi2,…PiD)T,種群的全局極值為 Pg=(Pg1,Pg2,…PgD)T。 由目標(biāo)函數(shù)即可算出每個(gè)粒子Xi位置對應(yīng)的適應(yīng)度值。
每一次迭代,粒子都會通過追隨兩個(gè)“極值”來對自己進(jìn)行更新,更新公式如下:
式中,ω為慣性權(quán)重,它能使微粒有擴(kuò)展搜索空間的趨勢,有能力探索新的區(qū)域,也可以隨著迭代線性的減小;d=1,2, …,D;i=1,2, …,n;k 為當(dāng)前迭代次數(shù);Vid為粒子的速度;c1和 c2是加速度因子,通常在[0,2]之間;r1和 r2為分布于[0,1]之間的隨機(jī)函數(shù),且相互獨(dú)立。為了防止在進(jìn)化過程中,粒子盲目搜索離開空間,通常將Xid和Vid限定于一定范圍內(nèi)[-Xmax,Xmax]、[-Vmax,Vmax]。
利用PSO算法訓(xùn)練時(shí),RBF網(wǎng)絡(luò)中所有需要優(yōu)化的神經(jīng)元間的連接權(quán)值和中心值,都要先編碼成實(shí)數(shù)碼串表示的個(gè)體。假設(shè)網(wǎng)絡(luò)中有M個(gè)中心值和優(yōu)化權(quán)值,則它們所組成的M維向量就能表示每個(gè)個(gè)體。依照上述個(gè)體結(jié)構(gòu),產(chǎn)生與微粒群規(guī)模相符的一定數(shù)量的個(gè)體以組成種群,神經(jīng)網(wǎng)絡(luò)的不同中心值和權(quán)值由不同的個(gè)體所代表。同時(shí)初始化Gbest、Pbest,就完成了對微粒群的初始化。
然后,對RBF神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。其中神經(jīng)網(wǎng)絡(luò)是由群中的每個(gè)個(gè)體將自己的分量,映射為網(wǎng)絡(luò)的中心值和權(quán)值而形成的。輸入訓(xùn)練樣本到每個(gè)個(gè)體對應(yīng)的神經(jīng)網(wǎng)絡(luò),就能進(jìn)行訓(xùn)練。為了使神經(jīng)網(wǎng)絡(luò)擁有較強(qiáng)的泛化能力,一般將給定的樣本空間在訓(xùn)練時(shí)分為兩部分,用來訓(xùn)練網(wǎng)絡(luò)的,讓網(wǎng)絡(luò)對訓(xùn)練樣本進(jìn)行學(xué)習(xí)的,為訓(xùn)練集,另外用來測試樣本的,測試已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)的性能的那部分,為測試集。在優(yōu)化過程中,因?yàn)橐_保每次訓(xùn)練時(shí)采用的訓(xùn)練集都不同,所以每次訓(xùn)練時(shí)都要對給定的樣本集進(jìn)行分類。為了計(jì)算個(gè)體的適應(yīng)度,需要構(gòu)造如下所示的適應(yīng)度函數(shù),
其中E(x)為目標(biāo)函數(shù),即每一個(gè)網(wǎng)絡(luò)在訓(xùn)練集上產(chǎn)生的均方誤差,P為訓(xùn)練樣本。
對群中的所有個(gè)體進(jìn)行評價(jià)來找到最佳個(gè)體,看是否有必要更新微粒的Gbest和Pbest。然后,更新所有粒子的速度和位置,產(chǎn)生新的微粒。當(dāng)均方誤差小于給定的ε時(shí),算法終止。
由于SOFC是一個(gè)非線性系統(tǒng),非線性系統(tǒng)常用的簡潔模型結(jié)構(gòu)為非線性自回歸滑動平均模型(NARX)[10]。
U(k+1)=f[U(k),U(k-1),…,U(k-n),I(k-1),…,I(km),T(k)](8)
其中,U(k-i)(i=0,1,…n)是系統(tǒng)在 k-i時(shí)刻的輸出,I(ki)(i=0,1,…m)是系統(tǒng)輸入,T(k)是電池溫度,f(·)是表征系統(tǒng)特性的待辨識非線性函數(shù)。所以本文SOFC的電壓/電流密度關(guān)系可以用 NARX 來描述。 I(k)、T(k)為輸入,U(k+1)為系統(tǒng)實(shí)際輸出,U^(k+1)為辨識器的輸出,ε(k+1)為誤差,TDL 為時(shí)分多路延時(shí)環(huán)節(jié)[11]。則基于PSO算法的RBF神經(jīng)網(wǎng)絡(luò)的SOFC系統(tǒng)辨識的結(jié)構(gòu)框圖如圖2所示。
應(yīng)用上述算法對SOFC系統(tǒng)進(jìn)行辨識仿真,根據(jù)文獻(xiàn)[12]的動態(tài)模型采集數(shù)據(jù),采集到的數(shù)據(jù)分為兩部分,用于網(wǎng)絡(luò)訓(xùn)練的為訓(xùn)練集,用于測試已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)的性能的為測試集。選擇SOFC系統(tǒng)工作溫度為T=1 273 K,輸入燃料氫氣的流量分別為 0.8 mol/s、1 mol/s、1.2 mol/s,圖 3 為在氫氣、氧氣不同流速下,固體氧化物燃料電池電流-電壓特性圖。
圖2 SOFC系統(tǒng)的PSO-RBF辨識模型結(jié)構(gòu)Fig.2 PSO-RBF identification model structure of the SOFC system
圖3 不同氫氧流速下的電流-電壓特性Fig.3 I-V characteristics under the different hydrogen and oxygen flow rate
為了說明所建辨識模型的有效性,對模型輸入不同的電流密度值,仿真的辨識及逼近誤差結(jié)果如圖4所示。再建立同結(jié)構(gòu)的RBF神經(jīng)網(wǎng)絡(luò)模型,輸入同樣的訓(xùn)練和預(yù)測數(shù)據(jù),其辨識及逼近誤差結(jié)果如圖5所示。對比圖4和圖5,可以看出當(dāng) I∈[0,20 mA/cm2]時(shí),經(jīng)過粒子群算法優(yōu)化的 RBF神經(jīng)網(wǎng)絡(luò)比一般的RBF神經(jīng)網(wǎng)絡(luò)辨識精度高很多,表明了所建模型的有效性。
圖4 PSO-RBF神經(jīng)網(wǎng)絡(luò)辨識及逼近誤差圖Fig.4 PSO-RBF neural network identification and approximation error chart
圖5 RBF神經(jīng)網(wǎng)絡(luò)辨識及逼近誤差Fig.5 RBF neural network identification andapproximation error chart
采用PSO算法優(yōu)化RBF神經(jīng)網(wǎng)絡(luò)的中心值和權(quán)值,對SOFC系統(tǒng)進(jìn)行辨識,仿真結(jié)果表明此算法精度高,對SOFC電特性模型有很好的辨識作用。說明粒子群算法用于SOFC系統(tǒng)的建模是可行的。另外,粒子群算法容易實(shí)現(xiàn),需要調(diào)整的參數(shù)少,能很快的計(jì)算出結(jié)果,從而為實(shí)現(xiàn)SOFC系統(tǒng)的在線控制創(chuàng)造了條件。但PSO—RBF模型還需進(jìn)一步完善,增加變量,把更多的因素納入考慮范圍,建立一個(gè)影響因素更為全面的模型,使之有更多的實(shí)用價(jià)值。
[1]Aguiar P, Adjiman C S, Brandon N P.Anode-supported intermediate temperature direct internal reforming solid oxide fuel cell.I:model-based steady state performance[J].Journal of Power Sources (S0378-7753),2004,138(1-2):120-136.
[2]Bove R,Lunghi P,Sammes N M.SOFC mathematic model for systems simulations-Part 2:definition of an analytical model[J].International Journal of Hydrogen Energy(S0360-3199),2005,30(2):189-200.
[3]Nehter P.Two-dimensional transient model of a cascaded micro-tubular solid oxide fuel cell fed with methane[J].Journal of Power Sources (S0378-7753),2006,157 (1):325-334.
[4]Recknagle K P,Williford R E,Chick L A,et al.Threedimensional thermo-fluid electrochemical modeling of planar SOFC stacks[J].Journal of Power Sources (S0378-7753),2003,113(1):109-114.
[5]程健,許世森.固體氧化物燃料電池本體模擬研究[J].熱力發(fā)電,2004,33(12):13-16.CHENG Jian,XU Shi-sen.Simulation study on the solid oxide fuel cell proper[J].Thermal Power Generation,2004,33(12):13-16.
[6]吳小娟,朱新堅(jiān),曹廣益,等.基于神經(jīng)網(wǎng)絡(luò)的固體氧化物燃料電池電堆建模[J].系統(tǒng)仿真學(xué)報(bào),2008,20(4):1068-1071.WU Xiao-juan, ZHU Xin-jian, CAO Guang-yi, et al.Modeling solid oxide fuel cell stack based on neural network[J].Journal of System Simulation,2008,20(4):1068-1071.
[7]Van den bergh F,Engelbrecht A P.Cooperative learning in neural networks using particle swarm optimization[J].South African Computer Journal (S1015-7999),2000,26 (11):84-90.
[8]劉鑫朝,顏宏文.一種改進(jìn)的粒子群優(yōu)化RBF網(wǎng)絡(luò)學(xué)習(xí)算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(2):185-187.LIU Xin-chao,YAN Hong-wen.A RBF neural network learning algorithm based on improved PSO [J].Computer Technology and Development,2006,16(2):185-187.
[9]史峰,王小川.MATLAB神經(jīng)網(wǎng)絡(luò)30個(gè)案例分析[M].北京:北京航空航天大學(xué)出版社,2010.
[10]Sjoberg J,Zhang Q H,JUNG L,et al.Nonlinear black-box modeling in system identification:a unified overview[J].Automatica (S0005-1098),1995,31(12):1691-1724.
[11]霍海娥,霍海波,楊長生.SOFC的支持向量機(jī)(SVM)辨識建模[J].系統(tǒng)仿真學(xué)報(bào),2010,22(6):1557-1560.HUO Hai-e, HUO Hai-bo, YANG Chang-sheng.Modeling SOFC based on support vector machine [J].Journal of System Simulation,2010,22(6):1557-1560.
[12]韓苗苗,沈炯,李益國.固體氧化物燃料電池的多模型預(yù)測控制方法研究[J].華東電力,2009,37(10):1767-1770.HAN Miao-miao, SHEN Jiong, LI Li-guo.Multi-model predictive control of solid oxide fuel cells[J].East China Electric Power,2009,37(10):1767-1770.