徐斌
(上海工程技術(shù)大學(xué)機械與汽車工程學(xué)院,上海201620)
質(zhì)子交換膜燃料電池(proton exchange membrane fuel cell, PEMFC)是一種新的綠色能源,具有工作溫度低、能量密度高以及綠色環(huán)保等優(yōu)點,在世界范圍內(nèi)得到了快速的發(fā)展和廣泛的應(yīng)用[1-2]。由于PEMFC 系統(tǒng)是一類極其復(fù)雜的非線性強耦合動態(tài)系統(tǒng),如何確定系統(tǒng)模型參數(shù)并提高模型的準(zhǔn)確性,對提高裝置的安全性和可靠性,并延長使用壽命,具有重要的意義[3-5]。
一般來說,系統(tǒng)模型參數(shù)識別問題可以轉(zhuǎn)化為復(fù)雜非線性多維函數(shù)最優(yōu)化問題[6],并采用優(yōu)化方法進(jìn)行求解,因此優(yōu)化方法的搜索性能對模型精確性有至關(guān)重要的影響。近年來,隨著智能優(yōu)化技術(shù)的發(fā)展,為求解復(fù)雜優(yōu)化問題提供了一種有效的方法和手段,并在PEMFC系統(tǒng)模型參數(shù)優(yōu)化識別領(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)簡單、實現(xiàn)簡單、魯棒性強等特點,在化工過程優(yōu)化中得到了廣泛的應(yīng)用[19-22]。在差分進(jìn)化算法中,變異和交叉算子是兩個關(guān)鍵的操作算子,對算法整體性能有重要的影響。因此,對變異和交叉算子的改進(jìn)得到了研究人員廣泛的重視,并取得了可喜的成績[23]。如Zhang 等[24]提出了一種名為DE/current-to-pbest/1的變異策略。該策略將部分較差個體保存在一個外部存檔集合中,然后基于該外部存檔集合為變異操作提供更多的有利差分向量。Das 等[25]基于種群個體拓?fù)浣Y(jié)構(gòu),提出一種關(guān)于局部和全局變異相結(jié)合的組合變異策略。但是該組合變異策略需要實驗者提供合適的權(quán)重分配系數(shù)。Epitropakis 等[26]根據(jù)群體當(dāng)前個體與群體中其他個體之間的距離為群體中每個個體分配一個選擇概率,并基于該選擇概率選擇合適的個體參加變異操作。Gong 等[27]首先對個體進(jìn)行優(yōu)劣等級排序,然后根據(jù)排序結(jié)果提出了一種基于等級排序的變異策略。趙楊等[28]在多策略中選取合適的變異策略和較優(yōu)的隨機個體引導(dǎo)種群變異,同時根據(jù)進(jìn)化過程信息自適應(yīng)地更新交叉參數(shù)。將改進(jìn)算法用于求解污水處理過程,能有效實現(xiàn)對溶解氧和硝態(tài)氮濃度設(shè)定值的動態(tài)尋優(yōu)和跟蹤控制。
本文分析了常用變異和交叉算子存在的問題,并基于文獻(xiàn)[27]的啟發(fā),提出一種概率選擇模型,并將融入差分進(jìn)化算法的變異和交叉操作過程,進(jìn)而提出一種新的改進(jìn)的差分進(jìn)化算法(IDE),提高了基本差分進(jìn)化算法的搜索效率和最優(yōu)結(jié)果的精度。另外進(jìn)一步將改進(jìn)IDE 算法用于PEMFC 系統(tǒng)模型參數(shù)優(yōu)化識別問題,驗證了改進(jìn)算法的有效性和工程優(yōu)化過程的實用性,同時為系統(tǒng)模型參數(shù)識別提供一種有效的求解方法。
質(zhì)子交換膜是一種固態(tài)高分子聚合物膜,具有電解質(zhì)的作用,并固定在多孔電極之間。通常PEMFC 系統(tǒng)采用氫氣和氧氣作為燃料和氧化劑,電子運動形成電流,驅(qū)動負(fù)載工作,反應(yīng)的生成物水則會隨尾氣排除,如圖1 所示[1]。一般情況下,在電池陽極電化學(xué)反應(yīng)為:

在電池陰極電化學(xué)反應(yīng)為:

則總的反應(yīng)為:


圖1 PEMFC原理Fig.1 Principle of PEMFC
實際PEMFC 系統(tǒng)運行過程中,由于裝置內(nèi)部會存在各種內(nèi)部阻力,從而導(dǎo)致PEMFC系統(tǒng)輸出電壓小于理想電壓。因此,單電池輸出電壓Vcell經(jīng)驗計算公式為[3]:

其中,ENernst表示熱力學(xué)電動勢,Vact表示活化過電勢,Vohm表示歐姆過電勢,Vcon表示濃度差過電勢。
根據(jù)Nernst方程以及Gibbs自由能的變化情況,ENernst計算公式是[12]:

式中,T 表示工作溫度,K;pH2和pO2分別表示H2和O2的有效分壓,atm(1 atm=101.325 kPa),它們是關(guān)于當(dāng)前電流值I的函數(shù)[6]:



系統(tǒng)活化過電勢Vact包括陽極和陰極處過電勢,可以按式(9)計算[1,3,13]:

式中,ξi(i=1,2,3,4)是模型未知參數(shù),CO2是陰極催化劑界面溶解氧氣濃度,mol/cm3,其計算方法為[6]:
歐姆過電勢Vohm是質(zhì)子膜的等效膜阻抗產(chǎn)生的電勢和阻礙質(zhì)子通過質(zhì)子膜的阻抗產(chǎn)生的電勢,可表示為[6]:

其中,RC是電子轉(zhuǎn)移等效電阻,Ω;RM是質(zhì)子膜等效阻抗,其計算公式為:

其中,L是質(zhì)子交換膜厚度,cm;ρM是Nafion系列質(zhì)子交換膜的電阻率,Ω·cm,計算公式為[14]:

其中,λ是表示氣體濕度狀態(tài)信息的未知參數(shù)。
濃度差過電勢Vcon是由于物質(zhì)擴散阻力的存在導(dǎo)致反應(yīng)物濃度變化產(chǎn)生的電勢,計算公式為:

其中,B 是關(guān)于電池工作狀態(tài)的未知參數(shù),V;J是電池實際電流密度,A/cm2,Jmax是實際電流密度的最大值。
為了提供充足的持續(xù)電量,實際PEMFC系統(tǒng)是由多個電池串聯(lián)組成的電池堆,NS個電池串聯(lián)構(gòu)成的PEMFC電池堆終端輸出電壓為:

從PEMFC 模型可以看出,系統(tǒng)模型中存在一些難以確定的未知參數(shù),即ξ1、ξ2、ξ3、ξ4、λ、RC和B。為了確定這些參數(shù)的最優(yōu)值,選擇實際輸出和模型輸出數(shù)據(jù)的誤差平方和為優(yōu)化目標(biāo)函數(shù)[29-30]:

其中,Vstack-actual是實際電池堆輸出電壓值;Vstack-model是系統(tǒng)模型輸出電壓值,它是關(guān)于未知參數(shù)x =[ξ1,ξ2,ξ3,ξ4,λ,RC,B]T的函數(shù);K 是樣本數(shù)據(jù)個數(shù)。系統(tǒng)工作參數(shù)和未知參數(shù)的實際值以及對應(yīng)的搜索范圍可參考文獻(xiàn)[13]。可以看出,當(dāng)系統(tǒng)模型越加接近實際輸出時,目標(biāo)函數(shù)值越小,理想情況下,當(dāng)系統(tǒng)模型輸出等于實際輸出時,目標(biāo)函數(shù)取得最小值零。
差分進(jìn)化算法是一種新的啟發(fā)式搜索算法,主要用于求解連續(xù)優(yōu)化問題[18]。不失一般性,對于給定的D維優(yōu)化問題:


變異操作存在多種不同形式的策略,最為經(jīng)典和常用的策略是:

其中,r1、r2和r3是區(qū)間[1,N]內(nèi)與i不等的隨機整數(shù),且滿足兩兩互不相等;縮放因子F是在區(qū)間(0,1]內(nèi)的正實數(shù)。
交叉操作主要完成變異后向量和父代向量信息交換,增加種群的多樣性。最常用的二項式交叉表示為:

其中,sn∈[1,…,D]是一個隨機整數(shù)。交叉參數(shù)CR一般是區(qū)間[0,1]之間的實數(shù)。
選擇操作在父代向量和交叉后向量之間實行貪婪選擇,計算公式是:

假設(shè)群體含有N 個個體,首先按目標(biāo)函數(shù)值從小到大進(jìn)行排序,然后根據(jù)排序結(jié)果計算每個個體的選擇概率為:
其中,r(i)表示第i個個體對應(yīng)的排序等級。可以看出,對于種群中所有個體,最優(yōu)個體具有最大的選擇概率,最差個體具有最小的選擇概率。
在確定每個個體的選擇概率之后,根據(jù)概率大小從群體中選擇個體參與變異操作和選擇操作。這里采用最為常見的輪盤賭選擇方式。首先計算每個個體的累積選擇概率:

然后在區(qū)間[0,1]之間產(chǎn)生一個均勻分布的偽隨機數(shù)r;如果r<Q(1),則選擇第1 個個體,否則,令k=k+1,直到條件Q(k-1)<r≤Q(k) 成立,同時選擇個體k作為最終選擇結(jié)果。
在計算選擇概率后,采用概率選擇方式代替?zhèn)鹘y(tǒng)隨機選擇方式選擇群體中個體參加變異操作。適用于DE/rand/1 變異策略的個體概率選擇過程如下:
(2)While r1=i;
(5)While r2=r1or r2=i;
(8)While r3=r1or r3=r2or r3=i;
可以看出,與標(biāo)準(zhǔn)差分進(jìn)化算法相比,基于概率模型的變異算子最大的特點是個體和個體的選擇。值得注意的是這里個體選擇仍采用隨機方式,主要原因是(-)可以看成是方向向量,當(dāng)以概率方式提供,而以隨機方式提供時,可以得到更豐富的梯度下降方向,加快算法的收斂速度。
在經(jīng)典二項式交叉的基礎(chǔ)上引入概率選擇操作。對于每個父代個體,以概率選擇方式選擇一個個體與實施交叉操作。計算方式如下:

從計算公式可以看出,變異后個體與概率選擇的個體交換信息,這樣可以讓更多的優(yōu)秀基因保留到下一代群體,加快算法的收斂速度和求解精度。
基于上述概率選擇模型以及對應(yīng)的改進(jìn)變異、交叉算子,本文IDE算法流程下:
輸入:算法參數(shù)N,F,CR,T;
隨機產(chǎn)生初始種群X0并計算目標(biāo)函數(shù)值;
While t<T
計算種群中每個個體的選擇概率Q;
For i=1∶N
If rand(0,1)<0.5
Else
按式(23)實施交叉操作;
Else
按式(19)實施交叉操作;
For i=1∶N
t=t+1
輸出:當(dāng)前群體中的最優(yōu)個體。
可以看出,本文IDE 算法和文獻(xiàn)[27]類似。但是,它們是不同方法,主要區(qū)別是:(1)文獻(xiàn)[27]仍然采用隨機選擇方式選擇個體參與變異操作,選擇概率僅用于判斷被選個體是否滿足要求。本文IDE算法直接利用概率選擇方式選擇個體,但仍采用傳統(tǒng)方式判斷被選個體是否滿足要求。(2) 本文IDE 算法將概率選擇模型應(yīng)用于變異和交叉操作,而文獻(xiàn)[27]個體概率僅用于變異過程,交叉過程仍采用標(biāo)準(zhǔn)的二項式交叉方式。(3)本文概率選擇模型僅用于部分個體,而文獻(xiàn)[27]中改進(jìn)變異算子作用于所有個體。
為了驗證IDE算法的有效性,將其與標(biāo)準(zhǔn)DE進(jìn)行比較,選擇Fsph、Fros、Fack、Fgwr、Fras、Fsch、Fsal以及Fwht這8 個常用的標(biāo)準(zhǔn)測試函數(shù)進(jìn)行試驗仿真[31]。兩種算法參數(shù)設(shè)置如下:種群規(guī)模N=50,問題維度D=30,縮放因子F=0.6,交叉參數(shù)CR=0.5,最大迭代次數(shù)T=1000。為了減少算法的隨機性,每個問題采用相同的初始群體,并獨立運行25 次,計算最小值、最大值、中位值、平均值以及標(biāo)準(zhǔn)方差。
表1 給出了兩種算法求解8 個標(biāo)準(zhǔn)測試函數(shù)得到的統(tǒng)計結(jié)果。從表中可以看出,相比標(biāo)準(zhǔn)DE 算法,IDE 算法得到的最優(yōu)結(jié)果要比標(biāo)準(zhǔn)DE 算法結(jié)果更好,也更加接近真實最優(yōu)值,特別是對于函數(shù)Fsph、Fack、Fgwr和Fsch,效果更加顯著。為了更加直觀顯示兩種算法在求解這些問題時表現(xiàn)的收斂能力,圖2給出了25 次獨立運行結(jié)果中位值對應(yīng)的收斂曲線圖。從圖中可以看出,IDE 算法對于所有問題,表現(xiàn)出較快的收斂速度以及精度,同時對于部分問題,如Fsch,能以一定概率跳出局部最優(yōu)值。因此,基于概率選擇模型的變異和交叉算子在提高差分進(jìn)化算法的收斂速度的同時,也能提高求解精度,是一種有效的提高差分進(jìn)化算法性能的方法。

表1 兩種算法求解基準(zhǔn)函數(shù)的測試結(jié)果對比Table 1 The comparison results of two algorithms over benchmark functions
為了展示改進(jìn)算法在不同種群規(guī)模下的有效性和穩(wěn)定性,表2 給出了DE 和IDE 這兩種算法在不同種群規(guī)模條件設(shè)置下計算結(jié)果平均值。從表中可以看出,對于DE 和IDE 算法,當(dāng)種群規(guī)模從50 增加到400 時,IDE 算法除了在求解Fgwr問題時均值出現(xiàn)一定波動,在部分種群規(guī)模情況下效果較好之外,對于其余問題沒有顯著的變化。至于基本DE算法,當(dāng)群體規(guī)模發(fā)生變化時,均值變化不是很大。因此可以認(rèn)為群體規(guī)模在一定程度上對算法性能影響不明顯。
本文采用改進(jìn)IDE算法求解質(zhì)子交換膜燃料電池模型參數(shù)優(yōu)化識別問題,如式(16)所示。該問題較為復(fù)雜,無法直接求解梯度等相關(guān)信息。因此,本文中選擇目前較為主流的實數(shù)編碼遺傳算法(RCGA)、粒子群算法(PSO)、人工蜂群算法(ABC)等幾種典型智能優(yōu)化算法進(jìn)行比較與分析。

圖2 兩種算法迭代收斂曲線圖Fig.2 Convergence graphs of two algorithms
在無噪聲、低噪聲和高噪聲三種不同情況下進(jìn)行實驗仿真,不失一般性,含有噪聲的輸出電壓值計算為[13]:

其中,Vs為無噪聲條件下的輸出電壓值,N(0,σ)代表均值為0、方差為σ 的高斯白噪聲。無噪聲、低噪聲和高噪聲三種不同情況下方差取值分別為0、1/6 和1/3。五種算法參數(shù)設(shè)置如下:種群規(guī)模N=50,最大迭代次數(shù)T=100。對于遺傳算法,交叉概率pc=0.9,變異概率pm=0.9。對于粒子群算法,學(xué)習(xí)因子c1=c2=2,采用動態(tài)慣性權(quán)重。對于差分進(jìn)化算法,縮放因子F=0.6,交叉參數(shù)CR=0.5。
表3 給出了五種算法在三種不同情況下25 次獨立運行得到的最優(yōu)結(jié)果。在無噪聲環(huán)境,IDE、DE以及RCGA 算法得到的結(jié)果較好,而PSO 和ABC 表現(xiàn)稍差,目標(biāo)函數(shù)相差1~2 個數(shù)量級。在低噪聲和高噪聲環(huán)境下,IDE、DE、ABC 和RCGA 表現(xiàn)較好,PSO 表現(xiàn)稍差,目標(biāo)函數(shù)相差1 個數(shù)量級。總體來說,三種不同環(huán)境下采用IDE 算法得到的最優(yōu)參數(shù)都接近真實最優(yōu)值,對應(yīng)的目標(biāo)函數(shù)值最小,表現(xiàn)最優(yōu)。

表2 不同群體規(guī)模下測試結(jié)果Table 2 Experimental results with different population size
為了更直觀地顯示IDE算法優(yōu)化系統(tǒng)模型的有效性,圖3 給出了實驗數(shù)據(jù)和IDE 算法優(yōu)化模型輸出電流-電壓曲線圖。從圖中可以看出,對于無噪聲情況,優(yōu)化模型輸出曲線幾乎與實驗數(shù)據(jù)保持一致。對于存在噪聲的情況,系統(tǒng)電流-電壓曲線圖也能與實驗數(shù)據(jù)保持一致。結(jié)果表明,優(yōu)化系統(tǒng)模型能較好地反映實際系統(tǒng)。
本文基于概率選擇模型提出了一種改進(jìn)的差分進(jìn)化算法并用于質(zhì)子交換膜燃料電池模型參數(shù)優(yōu)化識別過程,結(jié)論如下:
(1)在差分進(jìn)化算法個體選擇方面建立了個體概率選擇模型,并將該概率選擇模型應(yīng)用于差分進(jìn)化算法的變異和交叉操作過程,提高了算法的搜索效率和求解精度。

表3 五種算法在三種情況下求解最優(yōu)結(jié)果比較Table 3 The best results of five algorithms under three different conditions

圖3 實驗數(shù)據(jù)和模型輸出曲線比較Fig.3 Comparisons between the simulated data and the model curves
(2)根據(jù)最小誤差平方和原理得到了關(guān)于模型未知參數(shù)的數(shù)學(xué)模型,然后將改進(jìn)算法用于求解質(zhì)子交換膜燃料電池模型參數(shù)優(yōu)化識別問題,取得了滿意的結(jié)果。
(3)概率選擇模型僅應(yīng)用于變異和交叉操作過程,后續(xù)將進(jìn)一步推廣,將其應(yīng)用于算法其他操作算子中,并應(yīng)用于其他類型參數(shù)最優(yōu)識別問題中,驗證其在工程優(yōu)化中的一般性和普適性。
符 號 說 明
NS——電池個數(shù)
u——交叉后個體
v——變異后個體
x——主種群個體