徐斌
(上海工程技術(shù)大學(xué)機(jī)械與汽車(chē)工程學(xué)院,上海201620)
質(zhì)子交換膜燃料電池(proton exchange membrane fuel cell, PEMFC)是一種新的綠色能源,具有工作溫度低、能量密度高以及綠色環(huán)保等優(yōu)點(diǎn),在世界范圍內(nèi)得到了快速的發(fā)展和廣泛的應(yīng)用[1-2]。由于PEMFC 系統(tǒng)是一類(lèi)極其復(fù)雜的非線(xiàn)性強(qiáng)耦合動(dòng)態(tài)系統(tǒng),如何確定系統(tǒng)模型參數(shù)并提高模型的準(zhǔn)確性,對(duì)提高裝置的安全性和可靠性,并延長(zhǎng)使用壽命,具有重要的意義[3-5]。
一般來(lái)說(shuō),系統(tǒng)模型參數(shù)識(shí)別問(wèn)題可以轉(zhuǎn)化為復(fù)雜非線(xiàn)性多維函數(shù)最優(yōu)化問(wèn)題[6],并采用優(yōu)化方法進(jìn)行求解,因此優(yōu)化方法的搜索性能對(duì)模型精確性有至關(guān)重要的影響。近年來(lái),隨著智能優(yōu)化技術(shù)的發(fā)展,為求解復(fù)雜優(yōu)化問(wèn)題提供了一種有效的方法和手段,并在PEMFC系統(tǒng)模型參數(shù)優(yōu)化識(shí)別領(lǐng)域取得了較好的結(jié)果[7-8],如遺傳算法[6,9]、粒子群算法[10-11]、差分進(jìn)化算法[12-14]、人工蜂群算法[15]、P 系統(tǒng)優(yōu)化[16]和聲搜索[17]等。
差分進(jìn)化算法(differential evolution algorithm,DE)是一種新的智能優(yōu)化算法[18],具有結(jié)構(gòu)簡(jiǎn)單、實(shí)現(xiàn)簡(jiǎn)單、魯棒性強(qiáng)等特點(diǎn),在化工過(guò)程優(yōu)化中得到了廣泛的應(yīng)用[19-22]。在差分進(jìn)化算法中,變異和交叉算子是兩個(gè)關(guān)鍵的操作算子,對(duì)算法整體性能有重要的影響。因此,對(duì)變異和交叉算子的改進(jìn)得到了研究人員廣泛的重視,并取得了可喜的成績(jī)[23]。如Zhang 等[24]提出了一種名為DE/current-to-pbest/1的變異策略。該策略將部分較差個(gè)體保存在一個(gè)外部存檔集合中,然后基于該外部存檔集合為變異操作提供更多的有利差分向量。Das 等[25]基于種群個(gè)體拓?fù)浣Y(jié)構(gòu),提出一種關(guān)于局部和全局變異相結(jié)合的組合變異策略。但是該組合變異策略需要實(shí)驗(yàn)者提供合適的權(quán)重分配系數(shù)。Epitropakis 等[26]根據(jù)群體當(dāng)前個(gè)體與群體中其他個(gè)體之間的距離為群體中每個(gè)個(gè)體分配一個(gè)選擇概率,并基于該選擇概率選擇合適的個(gè)體參加變異操作。Gong 等[27]首先對(duì)個(gè)體進(jìn)行優(yōu)劣等級(jí)排序,然后根據(jù)排序結(jié)果提出了一種基于等級(jí)排序的變異策略。趙楊等[28]在多策略中選取合適的變異策略和較優(yōu)的隨機(jī)個(gè)體引導(dǎo)種群變異,同時(shí)根據(jù)進(jìn)化過(guò)程信息自適應(yīng)地更新交叉參數(shù)。將改進(jìn)算法用于求解污水處理過(guò)程,能有效實(shí)現(xiàn)對(duì)溶解氧和硝態(tài)氮濃度設(shè)定值的動(dòng)態(tài)尋優(yōu)和跟蹤控制。
本文分析了常用變異和交叉算子存在的問(wèn)題,并基于文獻(xiàn)[27]的啟發(fā),提出一種概率選擇模型,并將融入差分進(jìn)化算法的變異和交叉操作過(guò)程,進(jìn)而提出一種新的改進(jìn)的差分進(jìn)化算法(IDE),提高了基本差分進(jìn)化算法的搜索效率和最優(yōu)結(jié)果的精度。另外進(jìn)一步將改進(jìn)IDE 算法用于PEMFC 系統(tǒng)模型參數(shù)優(yōu)化識(shí)別問(wèn)題,驗(yàn)證了改進(jìn)算法的有效性和工程優(yōu)化過(guò)程的實(shí)用性,同時(shí)為系統(tǒng)模型參數(shù)識(shí)別提供一種有效的求解方法。
質(zhì)子交換膜是一種固態(tài)高分子聚合物膜,具有電解質(zhì)的作用,并固定在多孔電極之間。通常PEMFC 系統(tǒng)采用氫氣和氧氣作為燃料和氧化劑,電子運(yùn)動(dòng)形成電流,驅(qū)動(dòng)負(fù)載工作,反應(yīng)的生成物水則會(huì)隨尾氣排除,如圖1 所示[1]。一般情況下,在電池陽(yáng)極電化學(xué)反應(yīng)為:
在電池陰極電化學(xué)反應(yīng)為:
則總的反應(yīng)為:
圖1 PEMFC原理Fig.1 Principle of PEMFC
實(shí)際PEMFC 系統(tǒng)運(yùn)行過(guò)程中,由于裝置內(nèi)部會(huì)存在各種內(nèi)部阻力,從而導(dǎo)致PEMFC系統(tǒng)輸出電壓小于理想電壓。因此,單電池輸出電壓Vcell經(jīng)驗(yàn)計(jì)算公式為[3]:
其中,ENernst表示熱力學(xué)電動(dòng)勢(shì),Vact表示活化過(guò)電勢(shì),Vohm表示歐姆過(guò)電勢(shì),Vcon表示濃度差過(guò)電勢(shì)。
根據(jù)Nernst方程以及Gibbs自由能的變化情況,ENernst計(jì)算公式是[12]:
式中,T 表示工作溫度,K;pH2和pO2分別表示H2和O2的有效分壓,atm(1 atm=101.325 kPa),它們是關(guān)于當(dāng)前電流值I的函數(shù)[6]:
系統(tǒng)活化過(guò)電勢(shì)Vact包括陽(yáng)極和陰極處過(guò)電勢(shì),可以按式(9)計(jì)算[1,3,13]:
式中,ξi(i=1,2,3,4)是模型未知參數(shù),CO2是陰極催化劑界面溶解氧氣濃度,mol/cm3,其計(jì)算方法為[6]:
歐姆過(guò)電勢(shì)Vohm是質(zhì)子膜的等效膜阻抗產(chǎn)生的電勢(shì)和阻礙質(zhì)子通過(guò)質(zhì)子膜的阻抗產(chǎn)生的電勢(shì),可表示為[6]:
其中,RC是電子轉(zhuǎn)移等效電阻,Ω;RM是質(zhì)子膜等效阻抗,其計(jì)算公式為:
其中,L是質(zhì)子交換膜厚度,cm;ρM是Nafion系列質(zhì)子交換膜的電阻率,Ω·cm,計(jì)算公式為[14]:
其中,λ是表示氣體濕度狀態(tài)信息的未知參數(shù)。
濃度差過(guò)電勢(shì)Vcon是由于物質(zhì)擴(kuò)散阻力的存在導(dǎo)致反應(yīng)物濃度變化產(chǎn)生的電勢(shì),計(jì)算公式為:
其中,B 是關(guān)于電池工作狀態(tài)的未知參數(shù),V;J是電池實(shí)際電流密度,A/cm2,Jmax是實(shí)際電流密度的最大值。
為了提供充足的持續(xù)電量,實(shí)際PEMFC系統(tǒng)是由多個(gè)電池串聯(lián)組成的電池堆,NS個(gè)電池串聯(lián)構(gòu)成的PEMFC電池堆終端輸出電壓為:
從PEMFC 模型可以看出,系統(tǒng)模型中存在一些難以確定的未知參數(shù),即ξ1、ξ2、ξ3、ξ4、λ、RC和B。為了確定這些參數(shù)的最優(yōu)值,選擇實(shí)際輸出和模型輸出數(shù)據(jù)的誤差平方和為優(yōu)化目標(biāo)函數(shù)[29-30]:
其中,Vstack-actual是實(shí)際電池堆輸出電壓值;Vstack-model是系統(tǒng)模型輸出電壓值,它是關(guān)于未知參數(shù)x =[ξ1,ξ2,ξ3,ξ4,λ,RC,B]T的函數(shù);K 是樣本數(shù)據(jù)個(gè)數(shù)。系統(tǒng)工作參數(shù)和未知參數(shù)的實(shí)際值以及對(duì)應(yīng)的搜索范圍可參考文獻(xiàn)[13]??梢钥闯?,當(dāng)系統(tǒng)模型越加接近實(shí)際輸出時(shí),目標(biāo)函數(shù)值越小,理想情況下,當(dāng)系統(tǒng)模型輸出等于實(shí)際輸出時(shí),目標(biāo)函數(shù)取得最小值零。
差分進(jìn)化算法是一種新的啟發(fā)式搜索算法,主要用于求解連續(xù)優(yōu)化問(wèn)題[18]。不失一般性,對(duì)于給定的D維優(yōu)化問(wèn)題:
變異操作存在多種不同形式的策略,最為經(jīng)典和常用的策略是:
其中,r1、r2和r3是區(qū)間[1,N]內(nèi)與i不等的隨機(jī)整數(shù),且滿(mǎn)足兩兩互不相等;縮放因子F是在區(qū)間(0,1]內(nèi)的正實(shí)數(shù)。
交叉操作主要完成變異后向量和父代向量信息交換,增加種群的多樣性。最常用的二項(xiàng)式交叉表示為:
其中,sn∈[1,…,D]是一個(gè)隨機(jī)整數(shù)。交叉參數(shù)CR一般是區(qū)間[0,1]之間的實(shí)數(shù)。
選擇操作在父代向量和交叉后向量之間實(shí)行貪婪選擇,計(jì)算公式是:
假設(shè)群體含有N 個(gè)個(gè)體,首先按目標(biāo)函數(shù)值從小到大進(jìn)行排序,然后根據(jù)排序結(jié)果計(jì)算每個(gè)個(gè)體的選擇概率為:
其中,r(i)表示第i個(gè)個(gè)體對(duì)應(yīng)的排序等級(jí)。可以看出,對(duì)于種群中所有個(gè)體,最優(yōu)個(gè)體具有最大的選擇概率,最差個(gè)體具有最小的選擇概率。
在確定每個(gè)個(gè)體的選擇概率之后,根據(jù)概率大小從群體中選擇個(gè)體參與變異操作和選擇操作。這里采用最為常見(jiàn)的輪盤(pán)賭選擇方式。首先計(jì)算每個(gè)個(gè)體的累積選擇概率:
然后在區(qū)間[0,1]之間產(chǎn)生一個(gè)均勻分布的偽隨機(jī)數(shù)r;如果r<Q(1),則選擇第1 個(gè)個(gè)體,否則,令k=k+1,直到條件Q(k-1)<r≤Q(k) 成立,同時(shí)選擇個(gè)體k作為最終選擇結(jié)果。
在計(jì)算選擇概率后,采用概率選擇方式代替?zhèn)鹘y(tǒng)隨機(jī)選擇方式選擇群體中個(gè)體參加變異操作。適用于DE/rand/1 變異策略的個(gè)體概率選擇過(guò)程如下:
(2)While r1=i;
(5)While r2=r1or r2=i;
(8)While r3=r1or r3=r2or r3=i;
可以看出,與標(biāo)準(zhǔn)差分進(jìn)化算法相比,基于概率模型的變異算子最大的特點(diǎn)是個(gè)體和個(gè)體的選擇。值得注意的是這里個(gè)體選擇仍采用隨機(jī)方式,主要原因是(-)可以看成是方向向量,當(dāng)以概率方式提供,而以隨機(jī)方式提供時(shí),可以得到更豐富的梯度下降方向,加快算法的收斂速度。
在經(jīng)典二項(xiàng)式交叉的基礎(chǔ)上引入概率選擇操作。對(duì)于每個(gè)父代個(gè)體,以概率選擇方式選擇一個(gè)個(gè)體與實(shí)施交叉操作。計(jì)算方式如下:
從計(jì)算公式可以看出,變異后個(gè)體與概率選擇的個(gè)體交換信息,這樣可以讓更多的優(yōu)秀基因保留到下一代群體,加快算法的收斂速度和求解精度。
基于上述概率選擇模型以及對(duì)應(yīng)的改進(jìn)變異、交叉算子,本文IDE算法流程下:
輸入:算法參數(shù)N,F,CR,T;
隨機(jī)產(chǎn)生初始種群X0并計(jì)算目標(biāo)函數(shù)值;
While t<T
計(jì)算種群中每個(gè)個(gè)體的選擇概率Q;
For i=1∶N
If rand(0,1)<0.5
Else
按式(23)實(shí)施交叉操作;
Else
按式(19)實(shí)施交叉操作;
For i=1∶N
t=t+1
輸出:當(dāng)前群體中的最優(yōu)個(gè)體。
可以看出,本文IDE 算法和文獻(xiàn)[27]類(lèi)似。但是,它們是不同方法,主要區(qū)別是:(1)文獻(xiàn)[27]仍然采用隨機(jī)選擇方式選擇個(gè)體參與變異操作,選擇概率僅用于判斷被選個(gè)體是否滿(mǎn)足要求。本文IDE算法直接利用概率選擇方式選擇個(gè)體,但仍采用傳統(tǒng)方式判斷被選個(gè)體是否滿(mǎn)足要求。(2) 本文IDE 算法將概率選擇模型應(yīng)用于變異和交叉操作,而文獻(xiàn)[27]個(gè)體概率僅用于變異過(guò)程,交叉過(guò)程仍采用標(biāo)準(zhǔn)的二項(xiàng)式交叉方式。(3)本文概率選擇模型僅用于部分個(gè)體,而文獻(xiàn)[27]中改進(jìn)變異算子作用于所有個(gè)體。
為了驗(yàn)證IDE算法的有效性,將其與標(biāo)準(zhǔn)DE進(jìn)行比較,選擇Fsph、Fros、Fack、Fgwr、Fras、Fsch、Fsal以及Fwht這8 個(gè)常用的標(biāo)準(zhǔn)測(cè)試函數(shù)進(jìn)行試驗(yàn)仿真[31]。兩種算法參數(shù)設(shè)置如下:種群規(guī)模N=50,問(wèn)題維度D=30,縮放因子F=0.6,交叉參數(shù)CR=0.5,最大迭代次數(shù)T=1000。為了減少算法的隨機(jī)性,每個(gè)問(wèn)題采用相同的初始群體,并獨(dú)立運(yùn)行25 次,計(jì)算最小值、最大值、中位值、平均值以及標(biāo)準(zhǔn)方差。
表1 給出了兩種算法求解8 個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)得到的統(tǒng)計(jì)結(jié)果。從表中可以看出,相比標(biāo)準(zhǔn)DE 算法,IDE 算法得到的最優(yōu)結(jié)果要比標(biāo)準(zhǔn)DE 算法結(jié)果更好,也更加接近真實(shí)最優(yōu)值,特別是對(duì)于函數(shù)Fsph、Fack、Fgwr和Fsch,效果更加顯著。為了更加直觀顯示兩種算法在求解這些問(wèn)題時(shí)表現(xiàn)的收斂能力,圖2給出了25 次獨(dú)立運(yùn)行結(jié)果中位值對(duì)應(yīng)的收斂曲線(xiàn)圖。從圖中可以看出,IDE 算法對(duì)于所有問(wèn)題,表現(xiàn)出較快的收斂速度以及精度,同時(shí)對(duì)于部分問(wèn)題,如Fsch,能以一定概率跳出局部最優(yōu)值。因此,基于概率選擇模型的變異和交叉算子在提高差分進(jìn)化算法的收斂速度的同時(shí),也能提高求解精度,是一種有效的提高差分進(jìn)化算法性能的方法。
表1 兩種算法求解基準(zhǔn)函數(shù)的測(cè)試結(jié)果對(duì)比Table 1 The comparison results of two algorithms over benchmark functions
為了展示改進(jìn)算法在不同種群規(guī)模下的有效性和穩(wěn)定性,表2 給出了DE 和IDE 這兩種算法在不同種群規(guī)模條件設(shè)置下計(jì)算結(jié)果平均值。從表中可以看出,對(duì)于DE 和IDE 算法,當(dāng)種群規(guī)模從50 增加到400 時(shí),IDE 算法除了在求解Fgwr問(wèn)題時(shí)均值出現(xiàn)一定波動(dòng),在部分種群規(guī)模情況下效果較好之外,對(duì)于其余問(wèn)題沒(méi)有顯著的變化。至于基本DE算法,當(dāng)群體規(guī)模發(fā)生變化時(shí),均值變化不是很大。因此可以認(rèn)為群體規(guī)模在一定程度上對(duì)算法性能影響不明顯。
本文采用改進(jìn)IDE算法求解質(zhì)子交換膜燃料電池模型參數(shù)優(yōu)化識(shí)別問(wèn)題,如式(16)所示。該問(wèn)題較為復(fù)雜,無(wú)法直接求解梯度等相關(guān)信息。因此,本文中選擇目前較為主流的實(shí)數(shù)編碼遺傳算法(RCGA)、粒子群算法(PSO)、人工蜂群算法(ABC)等幾種典型智能優(yōu)化算法進(jìn)行比較與分析。
圖2 兩種算法迭代收斂曲線(xiàn)圖Fig.2 Convergence graphs of two algorithms
在無(wú)噪聲、低噪聲和高噪聲三種不同情況下進(jìn)行實(shí)驗(yàn)仿真,不失一般性,含有噪聲的輸出電壓值計(jì)算為[13]:
其中,Vs為無(wú)噪聲條件下的輸出電壓值,N(0,σ)代表均值為0、方差為σ 的高斯白噪聲。無(wú)噪聲、低噪聲和高噪聲三種不同情況下方差取值分別為0、1/6 和1/3。五種算法參數(shù)設(shè)置如下:種群規(guī)模N=50,最大迭代次數(shù)T=100。對(duì)于遺傳算法,交叉概率pc=0.9,變異概率pm=0.9。對(duì)于粒子群算法,學(xué)習(xí)因子c1=c2=2,采用動(dòng)態(tài)慣性權(quán)重。對(duì)于差分進(jìn)化算法,縮放因子F=0.6,交叉參數(shù)CR=0.5。
表3 給出了五種算法在三種不同情況下25 次獨(dú)立運(yùn)行得到的最優(yōu)結(jié)果。在無(wú)噪聲環(huán)境,IDE、DE以及RCGA 算法得到的結(jié)果較好,而PSO 和ABC 表現(xiàn)稍差,目標(biāo)函數(shù)相差1~2 個(gè)數(shù)量級(jí)。在低噪聲和高噪聲環(huán)境下,IDE、DE、ABC 和RCGA 表現(xiàn)較好,PSO 表現(xiàn)稍差,目標(biāo)函數(shù)相差1 個(gè)數(shù)量級(jí)??傮w來(lái)說(shuō),三種不同環(huán)境下采用IDE 算法得到的最優(yōu)參數(shù)都接近真實(shí)最優(yōu)值,對(duì)應(yīng)的目標(biāo)函數(shù)值最小,表現(xiàn)最優(yōu)。
表2 不同群體規(guī)模下測(cè)試結(jié)果Table 2 Experimental results with different population size
為了更直觀地顯示IDE算法優(yōu)化系統(tǒng)模型的有效性,圖3 給出了實(shí)驗(yàn)數(shù)據(jù)和IDE 算法優(yōu)化模型輸出電流-電壓曲線(xiàn)圖。從圖中可以看出,對(duì)于無(wú)噪聲情況,優(yōu)化模型輸出曲線(xiàn)幾乎與實(shí)驗(yàn)數(shù)據(jù)保持一致。對(duì)于存在噪聲的情況,系統(tǒng)電流-電壓曲線(xiàn)圖也能與實(shí)驗(yàn)數(shù)據(jù)保持一致。結(jié)果表明,優(yōu)化系統(tǒng)模型能較好地反映實(shí)際系統(tǒng)。
本文基于概率選擇模型提出了一種改進(jìn)的差分進(jìn)化算法并用于質(zhì)子交換膜燃料電池模型參數(shù)優(yōu)化識(shí)別過(guò)程,結(jié)論如下:
(1)在差分進(jìn)化算法個(gè)體選擇方面建立了個(gè)體概率選擇模型,并將該概率選擇模型應(yīng)用于差分進(jìn)化算法的變異和交叉操作過(guò)程,提高了算法的搜索效率和求解精度。
表3 五種算法在三種情況下求解最優(yōu)結(jié)果比較Table 3 The best results of five algorithms under three different conditions
圖3 實(shí)驗(yàn)數(shù)據(jù)和模型輸出曲線(xiàn)比較Fig.3 Comparisons between the simulated data and the model curves
(2)根據(jù)最小誤差平方和原理得到了關(guān)于模型未知參數(shù)的數(shù)學(xué)模型,然后將改進(jìn)算法用于求解質(zhì)子交換膜燃料電池模型參數(shù)優(yōu)化識(shí)別問(wèn)題,取得了滿(mǎn)意的結(jié)果。
(3)概率選擇模型僅應(yīng)用于變異和交叉操作過(guò)程,后續(xù)將進(jìn)一步推廣,將其應(yīng)用于算法其他操作算子中,并應(yīng)用于其他類(lèi)型參數(shù)最優(yōu)識(shí)別問(wèn)題中,驗(yàn)證其在工程優(yōu)化中的一般性和普適性。
符 號(hào) 說(shuō) 明
NS——電池個(gè)數(shù)
u——交叉后個(gè)體
v——變異后個(gè)體
x——主種群個(gè)體