吳忠強, 申丹丹, 尚夢瑤, 戚松崎
(燕山大學 電氣工程學院,河北 秦皇島 066004)
隨著現代工業和經濟的發展,能源匱乏和環境污染問題日益嚴重。太陽能因其無限性、無地域限制、無污染等優勢,被認為是解決這一系列問題的有效方案[1,2]。太陽能電池可以將太陽能轉換成電能,是收集陽光、轉換電能的基本單位。在光伏系統的研究和應用中,建立可高精度地描述太陽能電池電流-電壓關系的非線性數學模型,能為光伏系統的故障診斷[3]和最大功率點跟蹤控制[4]等技術的設計與應用提供依據。因此,對太陽能電池建立有效模型并準確獲取模型參數具有實際意義。
目前,獲取太陽能電池模型參數的方法主要有2種:數學分析近似求解[5~8]和基于優化算法的參數估計法。數學分析法求解的誤差會隨著辨識參數數量的增加而增大,使計算量大耗時長。基于優化算法的參數估計法,根據采用的優化技術的不同,可分為傳統最優化技術[9,10]和現代元啟發式算法[11,12]兩類。傳統最優化技術如牛頓法等往往具有一些局限性,譬如要求目標函數具有凸性、連續、可導等條件;這類方法還存在計算量大、對初始值敏感、容易陷入局部最優等缺點。而智能優化算法可以在少量的實驗數據的基礎上對模型參數進行全局尋優操作,具有計算速度快,求解參數精度高誤差小等優點,近年來越來越多地應用到光伏電池模型的參數辨識中。
文獻[13]將粒子群優化算法(partial swarm optimization,PSO)用于提取光伏電池的等效模型參數,實驗結果驗證了該方法的有效性。粒子群優化算法是一種靈感來源于鳥群捕食行為的群體智能算法。它從隨機解出發,通過適應度來評價解的品質,通過在解空間追隨個體極值和全局極值進行搜索,迭代搜尋最優值。PSO搜尋機制簡單,容易實現,并且沒有許多參數需要調整,但它容易陷入局部極小點,導致搜索精度不高。文獻[14]將混沌算法融入粒子群優化算法,采用混沌初始化改善個體質量,利用混沌擾動避免搜索過程陷入局部極值,提高了算法的求解精度。
在已知一個參數的條件下,文獻[15]用灰狼優化算法來辨識光伏電池單二極管模型的參數。灰狼優化算法(grey wolf optimization,GWO)是一種模擬灰狼群體等級制度和狩獵行為的新興群體智能優化方法。GWO具有原理清晰、編程容易、參數少等優點,因而在實際工程優化問題中得到廣泛應用。但基本GWO仍存在一些不足,如容易過早收斂、局部搜索能力弱等。為有效提高GWO算法的性能,文獻[16]提出了一種混合了差分進化策略的灰狼優化算法,改進后的算法具有更好的收斂速度和優化性能。
文獻[17]提出一種基于改進蟻獅優化算法的太陽電池模型參數辨識方法。蟻獅優化算法(ant lion optimizer,ALO)模擬了自然界中蟻獅的獵食機制。通過螞蟻圍繞蟻獅進行隨機游走實現對搜索空間的探索,并向精英蟻獅進行學習以保證種群的多樣性和算法的尋優性能。ALO算法的特點在于全局尋優能力好且易于實現,但在算法后期存在容易陷入局部最優解,收斂速度下降等問題。
文獻[18]用飛蛾火焰優化算法(moth flame optimizer,MFO)對太陽能電池模型參數進行辨識。MFO算法的靈感來自于自然界中飛蛾的導航方法,稱為橫向定向。飛蛾圍繞火焰飛行并最終收斂于火焰。目前,MFO在許多實際優化問題中得到了應用[19,20],但因其自身有限的搜索能力,導致收斂速度較慢,易早熟。
蝗蟲優化算法(grasshopper optimization algori-thm,GOA)[21]是由Saremi等人于2017年提出的一種新型群體智能優化算法,該算法模擬了蝗蟲在自然界的種群行為。GOA的優點在于原理簡單、特點鮮明、具備較好的局部開發能力,已被成功地應用到集合覆蓋[22]、變分模式分解參數優化[23]、特征選擇[24]、無人機追蹤軌跡最優化[25]、短期電力負荷預測等問題中[26]。然而作為一種新型算法,GOA在搜索過程中,存在種群多樣性下降快、全局搜索能力不足的缺陷,容易導致算法陷入局部最優。針對上述缺陷,本文引入混沌初始化來改善初始種群質量,增強種群的遍歷性;引入差分進化策略,通過變異、交叉和選擇過程,增加種群的多樣性,使算法能跳出局部最優;再引入直線尋優策略,以當前的最優個體為目標進行位置更新,加快算法尋優速度。最后將改進蝗蟲優化算法(improved grasshopper optimization algorithm,IGOA)用于多晶硅光伏電池模型的參數辨識中,并將辨識結果與PSO,GWO,ALO等算法進行比較。實驗結果表明了IGOA辨識太陽能電池參數的有效性和優越性。在此基礎上,采用IGOA對不同光照下的太陽能電池參數進行了辨識實驗。
目前常用的太陽能電池模型,有單二極管模型和雙二極管模型。其中單二極管光伏模型結構簡單且易于計算,能夠較準確地描述太陽能電池的非線性輸出特性,因而在實際工程中得到了廣泛的應用。單二極管模型等效電路如圖1所示。

圖1 太陽能電池模型等效電路圖Fig.1 Equivalent circuit diagram of solar cell model
太陽能電池模型的I-V特性方程為:
(1)
式中:V為負載兩端電壓;I為通過負載的電流;Iph表示光生電流;Io表示二極管反向飽和電流;A表示二極管品質因子;Rs為電池串聯電阻;Rsh為電池并聯電阻;T為電池的絕對溫度;kB為玻耳茲曼常數(1.380×10-23J/K);q為電子電荷(1.608×10-19C)。
進行參數辨識時需要利用電流的顯式表達式來建立適應度函數。為此引用Lambert W函數[27]簡化I-V方程,得到電流I的顯式表達式為:
(2)
式中:Vth=KT/q;W(Y(x))被稱為LambertW函數,是Y(x)=xex之類超越函數的解,可利用Matlab軟件處理該函數。
太陽能電池的輸出功率為:
P=IV
(3)
本文根據式(2)對光伏電池模型參數進行辨識。需要辨識的5個參數分別是:光生電流Iph,反向飽和電流Io,二極管品質因子A,串聯電阻Rs,并聯電阻Rsh。
蝗蟲優化算法(GOA)是模仿自然界中蝗蟲的覓食行為而抽象出的一種啟發式搜索算法。在GOA中,蝗蟲個體的位置代表給定優化問題的候選解。蝗蟲群在繁衍、聚集、覓食及遷移的過程中,個體的位置主要受到3個因素影響:種群交互力、重力和風力。用數學模型表述為:
Xi=Si+Gi+Ai
(4)
式中:Xi表示第i只蝗蟲的位置;Si表示第i只蝗蟲受到的種群交互力影響;Gi表示第i只蝗蟲受到的重力影響;Ai表示第i只蝗蟲受到的風力影響。
Si可通過式(5)進行計算:
(5)
式中:dij表示第i只蝗蟲與第j只蝗蟲的距離;dij表示第i只蝗蟲位置到第j只蝗蟲位置的單位向量。
dij=|Xj-Xi|
(6)
(7)
s函數為蝗蟲受到其他蝗蟲的影響力函數,表達式如下:
(8)
式中:f、l分別為吸引強度參數與吸引尺度參數,二者的取值情況可以控制吸引域、排斥域及舒適距離的分布情況。
Gi,Ai可通過式(9)和式(10)進行計算:
Gi=-geg
(9)
Ai=μew
(10)
式中:g是重力常數;eg為指向地心的單位向量;μ是飄移常數;ew為與風向同向的單位向量。
將Si、Gi和Ai代入式(4),得到
(11)
雖然該數學模型能用來模擬蝗蟲的移動,但不能直接用于解決優化問題,主要是因為蝗蟲快速到達舒適區后,不再移動了,所以群體很難收斂到最優位置。因此使用改進后的公式進行優化問題的求解[20]:
(12)

為了在全局搜索與局部搜索中取得平衡,隨著迭代次數的不斷增加,系數c的值也會成比例的減小。系數的更新方式如式(13)所示:
(13)
式中:cmax是c的最大值;cmin是c的最小值;t表示當前迭代次數;tmax是最大迭代次數。
在GOA算法開始時,所有蝗蟲的初始位置是隨機的。如果蝗蟲的初始位置集中在局部最優值附近并且遠離全局最優解,算法很可能陷入局部最優,影響求解的效率和質量。因為雖然搜索個體會向目標位置進行收斂,有一定的局部開發能力,但也會帶來算法的種群多樣性下降較快,易陷入局部最優從而影響搜索速度的問題;因此,有必要引入能夠增強種群多樣性,克服算法陷入局部最優的方法。
3.2.1 混沌初始化
將混沌技術引入蝗蟲優化算法,利用混沌運動的隨機性和遍歷性,產生遍布搜索空間的初始群體,增大算法找到最優解的概率。
混沌初始化步驟:
(1) 隨機產生一個d維的每個分量在[0,1]之間的向量Zi=[Zi1,Zi2,…,Zid]。
(2) 根據Logistic映射得到混沌序列:
Zij=μZij(1-Zij) (j=1,2,…,d)
(14)
式中μ是控制參數。當μ=4時,處于完全混沌狀態。
(3) 將混沌序列Zi的各個分量映射到變量的取值范圍,得到M個個體:
Xij=blj+(buj-blj)Zij
(i=1,2,…,M;j=1,2,…,d)
(15)
(4) 計算個體適應度函數值,從中選擇性能較好的N個作為初始種群。
3.2.2 差分進化策略
引入差分進化策略,通過變異和交叉等過程,維持種群的多樣性,提高算法跳出局部最優的可能性;同時充分利用差分進化在局部尋優方面的優點,提高算法的尋優精度。
差分進化步驟如下:
(1) 在父代種群中隨機選擇3個個體Xr1,Xr2,Xr3,產生變異個體MUi。
MUi=Xr1+Fr×(Xr2-Xr3)
(16)
式中Fr表示縮放因子,取值范圍在[0,2]之間。
(2) 對父代個體與相應的變異個體進行交叉操作,相互交換一些元素,生成新的子代個體CHij。對于第i個個體的第j維,其實現交叉操作的方法為:
(17)
式中:Cr表示交叉概率;rand表示[0,1]區間內的隨機數;sn表示1個隨機維度。
(3) 在父代個體和子代個體之間進行選擇操作,將性能更好的個體保存到下一代,以確保種群的進化方向。其選擇公式如下:
(18)
式中f(·)為適應度函數。
3.2.3 直線尋優
在個體位置更新部分引入了粒子群算法的思想,以當前個體最優位置為目標更新個體位置。
Xi=Xi+rand·(Fi-Xi·p)
(19)
式中:Fi代表第i只蝗蟲目前最優位置;p為改進參數。
3.2.4 算法步驟
將以上3種改進算子融合進基本蝗蟲優化算法,得到改進蝗蟲優化算法(IGOA),主要步驟如下:
(1) 設置算法參數:種群規模N,問題維度d,最大迭代次數tmax,變量范圍[bl,bu],交叉概率Cr。
(2) 根據第3.2.1節混沌初始化蝗蟲種群Xi,i=1,2,…,N。
(3) 計算蝗蟲個體初始適應度值,并記錄目前個體最優值和全局最優值。
(4) 計算每個個體間的距離,同時根據公式(11)進行個體位置更新。
(5) 根據當前個體最優值Fi按式(19)更新自己的位置。
(6) 根據第3.3.3節,通過式(16)產生變異后的種群MUi,i=1,2,…,N;根據式(17)將父代種群與變異種群交叉,產生中間種群CHi,i=1,2,…,N;根據式(18)比較中間種群與原始種群個體適應度,根據適應度值的大小進行種群的更新。
(7) 判斷算法是否達到最大迭代次數,若滿足則輸出全局最優解,否則轉步驟(4)繼續迭代。
為了驗證IGOA辨識光伏電池模型參數的可行性,本文通過實驗獲取了多晶硅電池在光強386 W/m2、溫度25 ℃下的輸出電壓電流數據,實驗平臺如圖2所示。

圖2 實驗平臺Fig.2 Experimental platform
在實驗數據的基礎上,利用IGOA對給定多晶硅太陽能電池進行參數辨識實驗。在辨識實驗前,首先使用傳統的數學方法估算5個未知參數,以便確定大致的參數搜尋范圍。表1顯示了參數的搜索范圍。
IGOA辨識光伏電池模型參數的步驟與標準測試函數尋優的流程相同,只是適應度函數不同。取適應度函數如式(20)所示。
(20)
式中:X=(Iph,Io,A,Rs,Rsh),即每個粒子的位置向量代表太陽能電池模型的5個參數;Ical和Imea分別
為算法辨識參數帶入式(2)所得到的電流值和實際電流測量值。適應度值越小表示辨識參數越準確。

表1 參數范圍Tab.1 Range of 5 parameters
為了驗證IGOA在光伏電池參數辨識上的優越性,將其辨識結果與GOA,PSO,GWO,ALO等算法進行對比。算法中共用的參數設置為:最大迭代次數為200,個體數目為30。其它參數設置與第3節相同。各算法獨立運行辨識實驗10次之后,統計結果的平均值Tm、標準偏差Tsd,以及適應度值f如表2所示。

表2 太陽電池模型的參數辨識結果Tab.2 The parameter identification result of solar cell model
由表2可知,IGOA算法得到的辨識結果適應度值f為2.2×10-4,明顯優于表中其它算法,表明IGOA辨識得到的參數更接近實際值。且各參數的標準偏差都很小,表明IGOA辨識的穩定性較高。

圖3、圖4顯示了各算法辨識得到的參數擬合出的輸出特性曲線與實際測試點曲線。

圖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所擬合的曲線與實際測量數據點基本重合,且相對于其它智能優化算法,擬合程度更高。綜上所述IGOA對于多晶硅太陽能電池參數的辨識能力明顯優于GOA,PSO,GWO,ALO等算法。

表3 電流與功率的實際值和IGOA計算值Tab.3 Measured and calculated currents and powers of the solar cell
通過改變太陽能電池離光源的位置,模擬光強的變化。取光強分別為386,164,93,74 W/m2,記錄每種情況下的I-V測量數據。根據實際測量值,利用IGOA估計電池模型參數。每種情況下辨識實驗運行10次,得到參數的平均值如表4所示。

表4 不同光照下IGOA辨識的光伏電池模型參數Tab.1 Parameters identified by IGOA under different illumination
由表4可得到光伏電池參數隨光照的變化曲線,如圖5所示。

圖5 參數隨光照的變化趨勢Fig.5 The trend of parameters with light
由圖5可知:隨著光強的變化,太陽能電池模型參數也隨之變化;Iph隨光照的增強而變大,Io和A基本不變;Rs小幅度減小,Rsh大幅度增加。
將表4的辨識結果代入式(2)擬合得到的輸出特性曲線如圖6所示。

圖6 不同光照下IGOA擬合的I-V曲線Fig.6 I-V curve fitted by IGOA under different illumination
由圖6可見,在不同光照條件下,IGOA辨識結果均與實際測量數據重合。
提出了一種基于改進蝗蟲優化算法的光伏電池模型參數辨識方法。針對蝗蟲優化算法全局搜索能力差、收斂精度不足等缺點,對蝗蟲優化算法進行混沌初始化,增強了種群的均勻性和遍歷性;引入差分進化策略,通過變異、交叉和選擇過程,維持種群的多樣性,增加其跳出局部最優的可能性,提高了算法的全局搜索能力。在個體更新部分引入了粒子群算法的思想,以當前的最優個體為目標進行計算,加快了算法尋優速度。通過對標準測試函數的尋優實驗驗證了每種改進因子的有效性。
相對于PSO,GWO,ALO,MFO等算法,IGOA尋優精度更高,收斂速度更快。將IGOA應用于多晶硅太陽能電池模型參數的辨識中,實驗結果表明了IGOA具有良好的參數辨識能力,效果優于GOA,PSO,GWO,ALO等算法。最后通過實驗驗證了IGOA在不同光照條件下都能準確有效地辨識太陽能電池參數。