吳忠強(qiáng), 申丹丹, 尚夢(mèng)瑤, 戚松崎
(燕山大學(xué) 電氣工程學(xué)院,河北 秦皇島 066004)
隨著現(xiàn)代工業(yè)和經(jīng)濟(jì)的發(fā)展,能源匱乏和環(huán)境污染問題日益嚴(yán)重。太陽能因其無限性、無地域限制、無污染等優(yōu)勢(shì),被認(rèn)為是解決這一系列問題的有效方案[1,2]。太陽能電池可以將太陽能轉(zhuǎn)換成電能,是收集陽光、轉(zhuǎn)換電能的基本單位。在光伏系統(tǒng)的研究和應(yīng)用中,建立可高精度地描述太陽能電池電流-電壓關(guān)系的非線性數(shù)學(xué)模型,能為光伏系統(tǒng)的故障診斷[3]和最大功率點(diǎn)跟蹤控制[4]等技術(shù)的設(shè)計(jì)與應(yīng)用提供依據(jù)。因此,對(duì)太陽能電池建立有效模型并準(zhǔn)確獲取模型參數(shù)具有實(shí)際意義。
目前,獲取太陽能電池模型參數(shù)的方法主要有2種:數(shù)學(xué)分析近似求解[5~8]和基于優(yōu)化算法的參數(shù)估計(jì)法。數(shù)學(xué)分析法求解的誤差會(huì)隨著辨識(shí)參數(shù)數(shù)量的增加而增大,使計(jì)算量大耗時(shí)長(zhǎng)。基于優(yōu)化算法的參數(shù)估計(jì)法,根據(jù)采用的優(yōu)化技術(shù)的不同,可分為傳統(tǒng)最優(yōu)化技術(shù)[9,10]和現(xiàn)代元啟發(fā)式算法[11,12]兩類。傳統(tǒng)最優(yōu)化技術(shù)如牛頓法等往往具有一些局限性,譬如要求目標(biāo)函數(shù)具有凸性、連續(xù)、可導(dǎo)等條件;這類方法還存在計(jì)算量大、對(duì)初始值敏感、容易陷入局部最優(yōu)等缺點(diǎn)。而智能優(yōu)化算法可以在少量的實(shí)驗(yàn)數(shù)據(jù)的基礎(chǔ)上對(duì)模型參數(shù)進(jìn)行全局尋優(yōu)操作,具有計(jì)算速度快,求解參數(shù)精度高誤差小等優(yōu)點(diǎn),近年來越來越多地應(yīng)用到光伏電池模型的參數(shù)辨識(shí)中。
文獻(xiàn)[13]將粒子群優(yōu)化算法(partial swarm optimization,PSO)用于提取光伏電池的等效模型參數(shù),實(shí)驗(yàn)結(jié)果驗(yàn)證了該方法的有效性。粒子群優(yōu)化算法是一種靈感來源于鳥群捕食行為的群體智能算法。它從隨機(jī)解出發(fā),通過適應(yīng)度來評(píng)價(jià)解的品質(zhì),通過在解空間追隨個(gè)體極值和全局極值進(jìn)行搜索,迭代搜尋最優(yōu)值。PSO搜尋機(jī)制簡(jiǎn)單,容易實(shí)現(xiàn),并且沒有許多參數(shù)需要調(diào)整,但它容易陷入局部極小點(diǎn),導(dǎo)致搜索精度不高。文獻(xiàn)[14]將混沌算法融入粒子群優(yōu)化算法,采用混沌初始化改善個(gè)體質(zhì)量,利用混沌擾動(dòng)避免搜索過程陷入局部極值,提高了算法的求解精度。
在已知一個(gè)參數(shù)的條件下,文獻(xiàn)[15]用灰狼優(yōu)化算法來辨識(shí)光伏電池單二極管模型的參數(shù)?;依莾?yōu)化算法(grey wolf optimization,GWO)是一種模擬灰狼群體等級(jí)制度和狩獵行為的新興群體智能優(yōu)化方法。GWO具有原理清晰、編程容易、參數(shù)少等優(yōu)點(diǎn),因而在實(shí)際工程優(yōu)化問題中得到廣泛應(yīng)用。但基本GWO仍存在一些不足,如容易過早收斂、局部搜索能力弱等。為有效提高GWO算法的性能,文獻(xiàn)[16]提出了一種混合了差分進(jìn)化策略的灰狼優(yōu)化算法,改進(jìn)后的算法具有更好的收斂速度和優(yōu)化性能。
文獻(xiàn)[17]提出一種基于改進(jìn)蟻獅優(yōu)化算法的太陽電池模型參數(shù)辨識(shí)方法。蟻獅優(yōu)化算法(ant lion optimizer,ALO)模擬了自然界中蟻獅的獵食機(jī)制。通過螞蟻圍繞蟻獅進(jìn)行隨機(jī)游走實(shí)現(xiàn)對(duì)搜索空間的探索,并向精英蟻獅進(jìn)行學(xué)習(xí)以保證種群的多樣性和算法的尋優(yōu)性能。ALO算法的特點(diǎn)在于全局尋優(yōu)能力好且易于實(shí)現(xiàn),但在算法后期存在容易陷入局部最優(yōu)解,收斂速度下降等問題。
文獻(xiàn)[18]用飛蛾火焰優(yōu)化算法(moth flame optimizer,MFO)對(duì)太陽能電池模型參數(shù)進(jìn)行辨識(shí)。MFO算法的靈感來自于自然界中飛蛾的導(dǎo)航方法,稱為橫向定向。飛蛾圍繞火焰飛行并最終收斂于火焰。目前,MFO在許多實(shí)際優(yōu)化問題中得到了應(yīng)用[19,20],但因其自身有限的搜索能力,導(dǎo)致收斂速度較慢,易早熟。
蝗蟲優(yōu)化算法(grasshopper optimization algori-thm,GOA)[21]是由Saremi等人于2017年提出的一種新型群體智能優(yōu)化算法,該算法模擬了蝗蟲在自然界的種群行為。GOA的優(yōu)點(diǎn)在于原理簡(jiǎn)單、特點(diǎn)鮮明、具備較好的局部開發(fā)能力,已被成功地應(yīng)用到集合覆蓋[22]、變分模式分解參數(shù)優(yōu)化[23]、特征選擇[24]、無人機(jī)追蹤軌跡最優(yōu)化[25]、短期電力負(fù)荷預(yù)測(cè)等問題中[26]。然而作為一種新型算法,GOA在搜索過程中,存在種群多樣性下降快、全局搜索能力不足的缺陷,容易導(dǎo)致算法陷入局部最優(yōu)。針對(duì)上述缺陷,本文引入混沌初始化來改善初始種群質(zhì)量,增強(qiáng)種群的遍歷性;引入差分進(jìn)化策略,通過變異、交叉和選擇過程,增加種群的多樣性,使算法能跳出局部最優(yōu);再引入直線尋優(yōu)策略,以當(dāng)前的最優(yōu)個(gè)體為目標(biāo)進(jìn)行位置更新,加快算法尋優(yōu)速度。最后將改進(jìn)蝗蟲優(yōu)化算法(improved grasshopper optimization algorithm,IGOA)用于多晶硅光伏電池模型的參數(shù)辨識(shí)中,并將辨識(shí)結(jié)果與PSO,GWO,ALO等算法進(jìn)行比較。實(shí)驗(yàn)結(jié)果表明了IGOA辨識(shí)太陽能電池參數(shù)的有效性和優(yōu)越性。在此基礎(chǔ)上,采用IGOA對(duì)不同光照下的太陽能電池參數(shù)進(jìn)行了辨識(shí)實(shí)驗(yàn)。
目前常用的太陽能電池模型,有單二極管模型和雙二極管模型。其中單二極管光伏模型結(jié)構(gòu)簡(jiǎn)單且易于計(jì)算,能夠較準(zhǔn)確地描述太陽能電池的非線性輸出特性,因而在實(shí)際工程中得到了廣泛的應(yīng)用。單二極管模型等效電路如圖1所示。
圖1 太陽能電池模型等效電路圖Fig.1 Equivalent circuit diagram of solar cell model
太陽能電池模型的I-V特性方程為:
(1)
式中:V為負(fù)載兩端電壓;I為通過負(fù)載的電流;Iph表示光生電流;Io表示二極管反向飽和電流;A表示二極管品質(zhì)因子;Rs為電池串聯(lián)電阻;Rsh為電池并聯(lián)電阻;T為電池的絕對(duì)溫度;kB為玻耳茲曼常數(shù)(1.380×10-23J/K);q為電子電荷(1.608×10-19C)。
進(jìn)行參數(shù)辨識(shí)時(shí)需要利用電流的顯式表達(dá)式來建立適應(yīng)度函數(shù)。為此引用Lambert W函數(shù)[27]簡(jiǎn)化I-V方程,得到電流I的顯式表達(dá)式為:
(2)
式中:Vth=KT/q;W(Y(x))被稱為L(zhǎng)ambertW函數(shù),是Y(x)=xex之類超越函數(shù)的解,可利用Matlab軟件處理該函數(shù)。
太陽能電池的輸出功率為:
P=IV
(3)
本文根據(jù)式(2)對(duì)光伏電池模型參數(shù)進(jìn)行辨識(shí)。需要辨識(shí)的5個(gè)參數(shù)分別是:光生電流Iph,反向飽和電流Io,二極管品質(zhì)因子A,串聯(lián)電阻Rs,并聯(lián)電阻Rsh。
蝗蟲優(yōu)化算法(GOA)是模仿自然界中蝗蟲的覓食行為而抽象出的一種啟發(fā)式搜索算法。在GOA中,蝗蟲個(gè)體的位置代表給定優(yōu)化問題的候選解。蝗蟲群在繁衍、聚集、覓食及遷移的過程中,個(gè)體的位置主要受到3個(gè)因素影響:種群交互力、重力和風(fēng)力。用數(shù)學(xué)模型表述為:
Xi=Si+Gi+Ai
(4)
式中:Xi表示第i只蝗蟲的位置;Si表示第i只蝗蟲受到的種群交互力影響;Gi表示第i只蝗蟲受到的重力影響;Ai表示第i只蝗蟲受到的風(fēng)力影響。
Si可通過式(5)進(jìn)行計(jì)算:
(5)
式中:dij表示第i只蝗蟲與第j只蝗蟲的距離;dij表示第i只蝗蟲位置到第j只蝗蟲位置的單位向量。
dij=|Xj-Xi|
(6)
(7)
s函數(shù)為蝗蟲受到其他蝗蟲的影響力函數(shù),表達(dá)式如下:
(8)
式中:f、l分別為吸引強(qiáng)度參數(shù)與吸引尺度參數(shù),二者的取值情況可以控制吸引域、排斥域及舒適距離的分布情況。
Gi,Ai可通過式(9)和式(10)進(jìn)行計(jì)算:
Gi=-geg
(9)
Ai=μew
(10)
式中:g是重力常數(shù);eg為指向地心的單位向量;μ是飄移常數(shù);ew為與風(fēng)向同向的單位向量。
將Si、Gi和Ai代入式(4),得到
(11)
雖然該數(shù)學(xué)模型能用來模擬蝗蟲的移動(dòng),但不能直接用于解決優(yōu)化問題,主要是因?yàn)榛认x快速到達(dá)舒適區(qū)后,不再移動(dòng)了,所以群體很難收斂到最優(yōu)位置。因此使用改進(jìn)后的公式進(jìn)行優(yōu)化問題的求解[20]:
(12)
為了在全局搜索與局部搜索中取得平衡,隨著迭代次數(shù)的不斷增加,系數(shù)c的值也會(huì)成比例的減小。系數(shù)的更新方式如式(13)所示:
(13)
式中:cmax是c的最大值;cmin是c的最小值;t表示當(dāng)前迭代次數(shù);tmax是最大迭代次數(shù)。
在GOA算法開始時(shí),所有蝗蟲的初始位置是隨機(jī)的。如果蝗蟲的初始位置集中在局部最優(yōu)值附近并且遠(yuǎn)離全局最優(yōu)解,算法很可能陷入局部最優(yōu),影響求解的效率和質(zhì)量。因?yàn)殡m然搜索個(gè)體會(huì)向目標(biāo)位置進(jìn)行收斂,有一定的局部開發(fā)能力,但也會(huì)帶來算法的種群多樣性下降較快,易陷入局部最優(yōu)從而影響搜索速度的問題;因此,有必要引入能夠增強(qiáng)種群多樣性,克服算法陷入局部最優(yōu)的方法。
3.2.1 混沌初始化
將混沌技術(shù)引入蝗蟲優(yōu)化算法,利用混沌運(yùn)動(dòng)的隨機(jī)性和遍歷性,產(chǎn)生遍布搜索空間的初始群體,增大算法找到最優(yōu)解的概率。
混沌初始化步驟:
(1) 隨機(jī)產(chǎn)生一個(gè)d維的每個(gè)分量在[0,1]之間的向量Zi=[Zi1,Zi2,…,Zid]。
(2) 根據(jù)Logistic映射得到混沌序列:
Zij=μZij(1-Zij) (j=1,2,…,d)
(14)
式中μ是控制參數(shù)。當(dāng)μ=4時(shí),處于完全混沌狀態(tài)。
(3) 將混沌序列Zi的各個(gè)分量映射到變量的取值范圍,得到M個(gè)個(gè)體:
Xij=blj+(buj-blj)Zij
(i=1,2,…,M;j=1,2,…,d)
(15)
(4) 計(jì)算個(gè)體適應(yīng)度函數(shù)值,從中選擇性能較好的N個(gè)作為初始種群。
3.2.2 差分進(jìn)化策略
引入差分進(jìn)化策略,通過變異和交叉等過程,維持種群的多樣性,提高算法跳出局部最優(yōu)的可能性;同時(shí)充分利用差分進(jìn)化在局部尋優(yōu)方面的優(yōu)點(diǎn),提高算法的尋優(yōu)精度。
差分進(jìn)化步驟如下:
(1) 在父代種群中隨機(jī)選擇3個(gè)個(gè)體Xr1,Xr2,Xr3,產(chǎn)生變異個(gè)體MUi。
MUi=Xr1+Fr×(Xr2-Xr3)
(16)
式中Fr表示縮放因子,取值范圍在[0,2]之間。
(2) 對(duì)父代個(gè)體與相應(yīng)的變異個(gè)體進(jìn)行交叉操作,相互交換一些元素,生成新的子代個(gè)體CHij。對(duì)于第i個(gè)個(gè)體的第j維,其實(shí)現(xiàn)交叉操作的方法為:
(17)
式中:Cr表示交叉概率;rand表示[0,1]區(qū)間內(nèi)的隨機(jī)數(shù);sn表示1個(gè)隨機(jī)維度。
(3) 在父代個(gè)體和子代個(gè)體之間進(jìn)行選擇操作,將性能更好的個(gè)體保存到下一代,以確保種群的進(jìn)化方向。其選擇公式如下:
(18)
式中f(·)為適應(yīng)度函數(shù)。
3.2.3 直線尋優(yōu)
在個(gè)體位置更新部分引入了粒子群算法的思想,以當(dāng)前個(gè)體最優(yōu)位置為目標(biāo)更新個(gè)體位置。
Xi=Xi+rand·(Fi-Xi·p)
(19)
式中:Fi代表第i只蝗蟲目前最優(yōu)位置;p為改進(jìn)參數(shù)。
3.2.4 算法步驟
將以上3種改進(jìn)算子融合進(jìn)基本蝗蟲優(yōu)化算法,得到改進(jìn)蝗蟲優(yōu)化算法(IGOA),主要步驟如下:
(1) 設(shè)置算法參數(shù):種群規(guī)模N,問題維度d,最大迭代次數(shù)tmax,變量范圍[bl,bu],交叉概率Cr。
(2) 根據(jù)第3.2.1節(jié)混沌初始化蝗蟲種群Xi,i=1,2,…,N。
(3) 計(jì)算蝗蟲個(gè)體初始適應(yīng)度值,并記錄目前個(gè)體最優(yōu)值和全局最優(yōu)值。
(4) 計(jì)算每個(gè)個(gè)體間的距離,同時(shí)根據(jù)公式(11)進(jìn)行個(gè)體位置更新。
(5) 根據(jù)當(dāng)前個(gè)體最優(yōu)值Fi按式(19)更新自己的位置。
(6) 根據(jù)第3.3.3節(jié),通過式(16)產(chǎn)生變異后的種群MUi,i=1,2,…,N;根據(jù)式(17)將父代種群與變異種群交叉,產(chǎn)生中間種群CHi,i=1,2,…,N;根據(jù)式(18)比較中間種群與原始種群個(gè)體適應(yīng)度,根據(jù)適應(yīng)度值的大小進(jìn)行種群的更新。
(7) 判斷算法是否達(dá)到最大迭代次數(shù),若滿足則輸出全局最優(yōu)解,否則轉(zhuǎn)步驟(4)繼續(xù)迭代。
為了驗(yàn)證IGOA辨識(shí)光伏電池模型參數(shù)的可行性,本文通過實(shí)驗(yàn)獲取了多晶硅電池在光強(qiáng)386 W/m2、溫度25 ℃下的輸出電壓電流數(shù)據(jù),實(shí)驗(yàn)平臺(tái)如圖2所示。
圖2 實(shí)驗(yàn)平臺(tái)Fig.2 Experimental platform
在實(shí)驗(yàn)數(shù)據(jù)的基礎(chǔ)上,利用IGOA對(duì)給定多晶硅太陽能電池進(jìn)行參數(shù)辨識(shí)實(shí)驗(yàn)。在辨識(shí)實(shí)驗(yàn)前,首先使用傳統(tǒng)的數(shù)學(xué)方法估算5個(gè)未知參數(shù),以便確定大致的參數(shù)搜尋范圍。表1顯示了參數(shù)的搜索范圍。
IGOA辨識(shí)光伏電池模型參數(shù)的步驟與標(biāo)準(zhǔn)測(cè)試函數(shù)尋優(yōu)的流程相同,只是適應(yīng)度函數(shù)不同。取適應(yīng)度函數(shù)如式(20)所示。
(20)
式中:X=(Iph,Io,A,Rs,Rsh),即每個(gè)粒子的位置向量代表太陽能電池模型的5個(gè)參數(shù);Ical和Imea分別
為算法辨識(shí)參數(shù)帶入式(2)所得到的電流值和實(shí)際電流測(cè)量值。適應(yīng)度值越小表示辨識(shí)參數(shù)越準(zhǔn)確。
表1 參數(shù)范圍Tab.1 Range of 5 parameters
為了驗(yàn)證IGOA在光伏電池參數(shù)辨識(shí)上的優(yōu)越性,將其辨識(shí)結(jié)果與GOA,PSO,GWO,ALO等算法進(jìn)行對(duì)比。算法中共用的參數(shù)設(shè)置為:最大迭代次數(shù)為200,個(gè)體數(shù)目為30。其它參數(shù)設(shè)置與第3節(jié)相同。各算法獨(dú)立運(yùn)行辨識(shí)實(shí)驗(yàn)10次之后,統(tǒng)計(jì)結(jié)果的平均值Tm、標(biāo)準(zhǔn)偏差Tsd,以及適應(yīng)度值f如表2所示。
表2 太陽電池模型的參數(shù)辨識(shí)結(jié)果Tab.2 The parameter identification result of solar cell model
由表2可知,IGOA算法得到的辨識(shí)結(jié)果適應(yīng)度值f為2.2×10-4,明顯優(yōu)于表中其它算法,表明IGOA辨識(shí)得到的參數(shù)更接近實(shí)際值。且各參數(shù)的標(biāo)準(zhǔn)偏差都很小,表明IGOA辨識(shí)的穩(wěn)定性較高。
圖3、圖4顯示了各算法辨識(shí)得到的參數(shù)擬合出的輸出特性曲線與實(shí)際測(cè)試點(diǎn)曲線。
圖3 各算法擬合的I-V曲線Fig.3 I-V curve fitted by each algorithm
圖4 各算法擬合的P-V曲線Fig.4 P-V curve fitted by each algorithm
從圖3和圖4中可看出,IGOA所擬合的曲線與實(shí)際測(cè)量數(shù)據(jù)點(diǎn)基本重合,且相對(duì)于其它智能優(yōu)化算法,擬合程度更高。綜上所述IGOA對(duì)于多晶硅太陽能電池參數(shù)的辨識(shí)能力明顯優(yōu)于GOA,PSO,GWO,ALO等算法。
表3 電流與功率的實(shí)際值和IGOA計(jì)算值Tab.3 Measured and calculated currents and powers of the solar cell
通過改變太陽能電池離光源的位置,模擬光強(qiáng)的變化。取光強(qiáng)分別為386,164,93,74 W/m2,記錄每種情況下的I-V測(cè)量數(shù)據(jù)。根據(jù)實(shí)際測(cè)量值,利用IGOA估計(jì)電池模型參數(shù)。每種情況下辨識(shí)實(shí)驗(yàn)運(yùn)行10次,得到參數(shù)的平均值如表4所示。
表4 不同光照下IGOA辨識(shí)的光伏電池模型參數(shù)Tab.1 Parameters identified by IGOA under different illumination
由表4可得到光伏電池參數(shù)隨光照的變化曲線,如圖5所示。
圖5 參數(shù)隨光照的變化趨勢(shì)Fig.5 The trend of parameters with light
由圖5可知:隨著光強(qiáng)的變化,太陽能電池模型參數(shù)也隨之變化;Iph隨光照的增強(qiáng)而變大,Io和A基本不變;Rs小幅度減小,Rsh大幅度增加。
將表4的辨識(shí)結(jié)果代入式(2)擬合得到的輸出特性曲線如圖6所示。
圖6 不同光照下IGOA擬合的I-V曲線Fig.6 I-V curve fitted by IGOA under different illumination
由圖6可見,在不同光照條件下,IGOA辨識(shí)結(jié)果均與實(shí)際測(cè)量數(shù)據(jù)重合。
提出了一種基于改進(jìn)蝗蟲優(yōu)化算法的光伏電池模型參數(shù)辨識(shí)方法。針對(duì)蝗蟲優(yōu)化算法全局搜索能力差、收斂精度不足等缺點(diǎn),對(duì)蝗蟲優(yōu)化算法進(jìn)行混沌初始化,增強(qiáng)了種群的均勻性和遍歷性;引入差分進(jìn)化策略,通過變異、交叉和選擇過程,維持種群的多樣性,增加其跳出局部最優(yōu)的可能性,提高了算法的全局搜索能力。在個(gè)體更新部分引入了粒子群算法的思想,以當(dāng)前的最優(yōu)個(gè)體為目標(biāo)進(jìn)行計(jì)算,加快了算法尋優(yōu)速度。通過對(duì)標(biāo)準(zhǔn)測(cè)試函數(shù)的尋優(yōu)實(shí)驗(yàn)驗(yàn)證了每種改進(jìn)因子的有效性。
相對(duì)于PSO,GWO,ALO,MFO等算法,IGOA尋優(yōu)精度更高,收斂速度更快。將IGOA應(yīng)用于多晶硅太陽能電池模型參數(shù)的辨識(shí)中,實(shí)驗(yàn)結(jié)果表明了IGOA具有良好的參數(shù)辨識(shí)能力,效果優(yōu)于GOA,PSO,GWO,ALO等算法。最后通過實(shí)驗(yàn)驗(yàn)證了IGOA在不同光照條件下都能準(zhǔn)確有效地辨識(shí)太陽能電池參數(shù)。