張偉偉,陶 聰,范 巖,于坤杰,文笑雨,張衛正*
(1.鄭州輕工業大學計算機與通信工程學院,鄭州 450000;2.鄭州大學電氣工程學院,鄭州 450000)
可再生能源的利用是當前研究熱點之一。太陽能通過光伏發電系統被轉化為電能,是一種非常好的可再生能源。但是,光伏發電系統一般運行在室外環境,其光伏陣列很容易出現故障,這將嚴重影響太陽能的利用效率。基于實測的電壓電流數據建立精確的光伏陣列模型,對光伏系統進行及時的控制和優化是非常重要的。近年來學者們建立了若干數學模型,成功地描述了光伏系統的性能和非線性行為,其中Alam等[1]運用了單二極管模型和雙二極管模型來描述光伏系統。此外,光伏模型的準確性主要取決于其模型參數,但是這些參數通常由于老化、故障和不穩定的運行條件不斷變化導致可用性下降。因此,準確、可靠地識別模型參數對于光伏模型的評價、優化和控制是十分重要的,這也推動了近年來各種參數識別研究的發展。
光伏模型的參數識別是一個多變量且具有多個局部極值的非線性多模態問題[2-12],在采用確定性技術進行參數識別時,很容易陷入局部最優[9-11]。啟發式方法由于對問題特性沒有特別的限制,尤其適合求解各種復雜的“黑箱問題”,因此被廣泛應用于光伏模型的參數識別等問題上。
在文獻[2]中,提出了一種基于擾動變異分類的粒子群優化(Classified Perturbation Mutation based Particle Swarm Optimization,CPMPSO)算法,并利用阻尼約束處理策略解決陷入局部最優問題。在文獻[3]中,通過引入搜索算子,提出了一種擾動隨機分形搜索(perturbed Stochastic Fractal Search,pSFS)算法的參數估計方法。在文獻[4]中,提出了一種基于生物地理學的異質杜鵑搜索(Biogeography-based Heterogeneous Cuckoo Search,BHCS)算法,該算法將杜鵑搜索(Cuckoo Search,CS)和基于生物地理的優化(Biogeography-Based Optimization,BBO)進行融合,應用于解決不同光伏模型的參數估計問題。在文獻[5]中,提出了一種基于自適應教與 學 的 優 化(Self-Adaptive Teaching-Learning-Based Optimization,SATLBO)算法用于光伏模型的參數識別。在文獻[6]中,提出一種基于廣義對立的教與學優化(Generalized Oppositional Teaching Learning Based Optimization,GOTLBO)算法來識別太陽能電池模型的參數。在文獻[7]中,設計了一種簡化的基于教與學的優化(Simplified Teaching-Learning-Based Optimization,STLBO)方法,該方法采用精英策略和局部搜索來識別太陽能電池的參數。在文獻[8]中,提出一種邏輯混沌JAYA(Logistic Chaotic JAYA,LCJAYA)算法,在LCJAYA 中將logistic 混沌映射策略引入到JAYA 算法的求解更新階段,提高算法的種群多樣性。在文獻[9]中,提出一種性能導向的JAYA(Performance-Guided JAYA,PGJAYA)算法來提取不同光伏模型的參數。在文獻[10]中,提出了多重學習回溯搜索算法(Multiple Learning Backtracking Search Algorithm,MLBSA)來解決不同光伏模型的參數識別問題。Yu 等[11]提出了一種改進的JAYA(Improved JAYA,IJAYA)優化算法用于解決不同光伏模型的參數識別問題。文獻[13]中將廣義反向學習與差分進化的改進變異和交叉機制混合到粒子群優化算法中,解決約束優化問題。文獻[14]中提出一種基于教與學的優化(Teaching-Learning-Based Optimization,TLBO)算法解決機械設計優化問題。
文獻[15]提出的回溯搜索算法(Backtracking Search Algorithm,BSA)具有結構簡單、高效、快速的特點,并且對初值不敏感,在選擇操作中不依賴“精英選擇”策略,從而更適合求解多模態優化問題;另外,BSA 同時使用當前種群和歷史種群來更新個體,相較于單一的種群,增加了種群間的信息交流,不僅提高了種群多樣性,還增加了引導信息指導當前種群個體進化。鑒于其以上優點,BSA 已經被廣泛地用于參數識別[16-17]、流水車間調度[18-19]等。在求解光伏模型參數識別問題時,Yu 等[10]針對BSA 存在收斂速度慢,易陷入局部最優的問題進行改進提出了多重學習回溯搜索算法(MLBSA)。在MLBSA 中,種群個體同時利用當前種群和歷史種群進行學習,保持了種群多樣性,增加了算法的探索能力。其他個體向當前種群的最優個體進行學習,提高了收斂速度。然而,MLBSA 的全局尋優和局部收斂能力之間的平衡主要靠兩個隨機數的關系來確定,這將對算法的穩定性帶來負面的影響。
針對以上問題,本文提出了改進回溯搜索算法(Modified BSA,MBSA)。本文的主要工作如下:
1)針對BSA 容易陷入局部最優,以及全局尋優與局部收斂能力不均衡的問題,引入了個體適應度量化排隊機制;
2)為提升種群的多樣性,引入差分進化算法學習策略;
3)針對BSA 收斂速度較慢的問題,引入自適應權值策略提升算法收斂速度;
4)采用混沌精英學習策略,提升種群局部搜索的能力。
目前已有多個光伏模型描述了太陽能電池和光伏組件的伏安特性。其中,單二極管模型和雙二極管模型在實際應用中最為普遍。
1)單二極管模型。
單二極管模型由于簡單、準確等優點,被廣泛用于描述太陽能電池的靜態特性。圖1 給出了單二極管模型的等效電路圖。

圖1 單二極管模型的等效電路圖Fig.1 Equivalent circuit diagram for single diode model
該模型由并聯于二極管的電流源、表示泄漏電流的分流電阻和表示負載電流相關損耗的串聯電阻組成。輸出電流由式(1)計算:

其中:IL為輸出電流;Iph為光生電流;Id是二極管電流;Ish是并聯電阻電流;Isd為二極管的反向飽和電流;RS和Rsh分別表示串聯電阻和分流電阻;VL為輸出電壓;n為二極管理想因子;k為玻爾茲曼常數(1.380 650 3×10-23J/K);q為電子的電荷量(1.602 176 46×10-19C);T為電池的開爾文溫度。因此,式(1)可改寫為式(4):

由式(4)可知,單二極管模型有5 個未知參數(Iph,Isd,RS,Rsh,n)。這些參數的準確估計對反映太陽能電池的性能具有十分重要的意義。
2)雙二極管模型。
上述單二極管模型忽略了損耗區復合電流損耗的影響,如果考慮損耗,可以得到更精確的雙二極管模型。該模型具有兩個與電流源并聯的二極管和一個用于分流光生電流源的分流電阻。一個作為整流器,另一個用來模擬電荷復合電流。雙二極管模型的等效電路如圖2所示。

圖2 雙二極管模型的等效電路Fig.2 Equivalent circuit diagram for double diode model

其中:Isd1和Isd2分別表示擴散電流和飽和電流;n1和n2分別代表了擴散和復合二極管理想因子。由式(5)可知,雙二極管模型涉及7 個未知參數(Iph,Isd1,Isd2,RS,Rsh,n1,n2),它們需要準確識別才能獲知太陽能電池的實際行為。
光伏組件模型通常包含幾個串聯或并聯的太陽能電池。圖3給出了單個二極管光伏模塊的等效電路。

圖3 光伏模塊模型的等效電路Fig.3 Equivalent circuit of photovoltaic module model

其中:Np表示并聯的太陽能電池數量;Ns表示串聯的太陽能電池數量。與單二極管模型相同,光伏模塊模型也需要估計5個未知參數(Iph,Isd,RS,Rsh,n)。
對于光伏模型的參數辨識問題,其主要目的是尋找未知參數的最優值,使實測數據與計算電流數據的差值最小化。因此,需要給出每一對測量和計算的電流數據點的誤差函數。式(7)和式(8)分別適用于單二極管模型和雙二極管模型。然后通過式(9)定義的均方根誤差(Root Mean Squared Error,RMSE)對總體差異進行量化,將RMSE 作為目標函數。因此,在本文中,優化過程是通過調整每一代的解向量x來最小化目標函數RMSE(x)。


本文提出的改進回溯搜索算法基本框架如算法1 所示。首先對種群進行初始化,并評估個體的適應度,然后采用BSA選擇機制重新定義歷史種群,并采用個體適應度量化排隊機制計算個體的概率,根據不同的概率值采用不同的策略產生新的子代個體,最后執行混沌自適應精英搜索策略強化局部搜索,直到滿足停止條件。

在搜索空間內隨機初始化當前種群與歷史種群:

其中:i=1,2,…,NP,NP是種群的大小;j=1,2,…,D,D是變量的維數;upj和lowj是分別是第j個變量的上下限;rand是[0,1]內隨機分布的隨機數。
在每次迭代開始時,通過式(12)重新定義歷史中群oldP,并通過式(13)隨機改變歷史中群中的個體順序:

其中:a和b是0 和1 之間的兩個均勻分布的隨機數;permuting是將序列打亂順序的函數。
針對算法在搜索過程中存在全局搜索與局部搜索能力的不均衡問題,本文算法引入文獻[9]中個體適應度量化排隊機制。即個體在整個種群中的表現是通過概率來量化的,排序的原則是適應度高的個體具有較大的概率,而適應度低的個體具有較小的概率,每個個體可以根據其概率自適應地選擇屬于自己的進化策略,以提高全局搜索與局部搜索能力。特別地,適應度較差的個體進行局部搜索,而較優的個體進行全局搜索。
首先,種群中的個體根據適應度值按升序排序(從最好到最差)。根據式(14)計算第i個個體的排名,然后根據每個個體的排名,用式(15)計算出每個個體的概率,適應度高的個體有著較大的概率。

其中:NP是種群的大小;R是一個序列,代表每個個體的排名;Pi是在[0,1]范圍的浮點數,表示第i個個體的概率。
在BSA中,沒有考慮最優個體對于局部搜索的引導作用,個體可能無法快速找到由最優個體引導的搜索區域,這會導致BSA 的收斂速度較慢。而在IJAYA 算法中,主要引入了自適應權值來調整趨近最優解和遠離最差解的趨勢。在JAYA算法的搜索過程中,期望種群在搜索空間的早期階段接近有希望的區域,在搜索后期階段進行局部搜索,以提高種群的質量。因此,Yu等[11]引入式(16)中的權值來調整最優解的趨近程度和最差解的避免程度,進而得到改進的更新方式見式(17):

其中:xbest、f(xbest)分別為種群中的最優解及其適應度函數值,xworst、f(xworst)分別為最差解及其適應度函數值;xi,j為第i個候選解的第j個變量的值,x′i,j是xi,j的更新值;rand1和rand2分別為[0,1]區間內的隨機數。可以看出,引入的權重因子可以自適應調節。隨著搜索過程的進行,最優解與最差解之間的函數值差越來越小,權值逐漸增大。因此,在早期,由于w值較小,當前趨勢主要是接近最優解;隨著搜索的進行,w值越來越大,開始越來越側重局部收斂,不僅可以繼續接近最優解而且可以不斷遠離最差解。
在BSA中變異階段只是單純利用歷史種群來進行更新新個體,這使得在迭代的過程中,種群的多樣性會迅速下降。針對這一缺點,本文算法引入差分進化學習策略,對當前種群也進行差分進化學習,期望借助此方法提高種群多樣性。因此,改進的公式如式(18)所示:

其中:Vi,j是產生的新個體;Ph,j、Ph′,j和Ph′′,j是在現有種群中隨機挑選的三個互不相同的個體;oldPi,j與Pi,j分別是歷史種群與現有種群中的個體;mapi,j是一個大小為NP*D的二進整數值矩陣,元素值由混合率參數(mix rate)控制,混合率參數一般取1,它被用來引導交叉方向;F是控制搜索方向矩陣振幅的尺度因子,其值通常設置為3*randn,其中:randn~N(0,1),即randn為服從均值為0,標準差為1的正態分布的隨機數;F1是自適應的變異系數。F1的計算公式如下:

為了進一步提高種群的質量,本文算法引入文獻[9-11]中的自適應混沌精英搜索策略,在當前的最優解附近尋找新解,然后將這個新解代替最差解。
在該搜索策略中,最優解吸引其他個體靠近,從而逐步地提高全體種群的質量。但是光伏模型參數識別是典型的非線性多模態問題,其最優個體經常處于局部最優,它如果持續吸引其他個體,就會造成整個種群早熟收斂。而混沌序列具有隨機性與便利性,這對通過生成新的解來進一步提高種群的質量非常有幫助。這里使用的混沌序列是使用logistic 映射所得到的,如式(20)所示:

在搜索的早期,需要在最優解附近盡可能地搜索,拓展空間,增強全局搜索能力;而在搜索后期需要深入探索,加快收斂速度。采用式(21)產生最優解附近的新解:

其中:m為迭代次數;Zm為第m次混沌迭代的值,其初始值Z0在[0,1]中隨機產生。rand1和rand2是兩個[0,1]范圍內的隨機數。
在時間復雜度上,BSA 的時間復雜度為O(Gmax*(NP*D),與原始的BSA 相比,MBSA 的額外復雜度主要來自于個體適應度量化排隊機制、基于IJAYA算法的改進策略、差分進化學習策略和自適應的混沌精英搜索策略。O(2*(NP-1))是引入的IJAYA 算法中尋找最優個體和最差個體的花費,計算每個個體概率的花費是O(NP),種群中所有個體排序的花費是O(NP*log(NP)),實現混沌精英搜索策略的花費是O(D),Gmax為適應度最大評價次數。MBSA 的總的時間復雜度為:O(Gmax*(NP*D+D+NP*log(NP)+2*(NP-1) +NP))。一般來說,種群大小NP與待求解問題的維數D成正比,因此根據時間復雜度運算規則,MBSA 的時間復雜度為O(Gmax*NP*D),與BSA的時間復雜度相同。
為驗證算法在解決參數識別問題的有效性,本文采用實驗電流電壓數據[20]作為基準數據對算法性能進行驗證。表1給出了各參數的取值范圍,為保證實驗公平性,本文中實驗所比較的算法涉及的參數取值范圍均保持一致。為消除種群大小對于各個算法性能的影響,本文統一將各算法的種群大小設置為50,而MBSA 的引入的參數F0設置為0.6、混合率參數(mix rate)設置為1。每個算法設置最大函數評價次數為50 000,每個算法獨立運行30次。在比較結果中,所有算法的總體最佳RMSE值用粗體標記。

表1 光伏電池(RTC,France)和光伏組件(Photo Watt-PWP 201)的參數范圍Tab.1 Parameter ranges of photovoltaic cell(RTC,France)and photovoltaic module(Photo Watt-PWP 201)
為了測試本文所提策略的有效性,對算法中引入的策略進行了驗證。本節中以BSA 為基本算法,逐步添加所引入的策略。將個體適應度量化排隊機制稱為A、將基于IJAYA 算法的改進策略稱為B、將差分進化學習策略稱為C、將自適應的混沌精英搜索策略稱為D。圖4 展示了參與對比的5 種算法在單二極管模型上獨立運行30 次的RMSE 均值的收斂曲線,其中BSA+A+B+C+D 即為本文提出的MBSA。表2 是5 種對比算法在單二極管、雙二極管以及光伏模型上獲得的RMSE的均值和標準差結果。

表2 不同算法在單二極管、雙二極管和光伏組件模型上獲得的RMES結果Tab.2 RMES results of different algorithms on single diode,double diode and photovoltaic module models

圖4 不同算法在單二極管模型上的收斂圖Fig.4 Convergence diagram of different algorithms on single diode model
從圖4 中對比可以明顯看出,通過引入四種策略,算法整體的收斂速度和準確性都在逐漸穩步提升。可以看到基準的BSA 表現最差。通過添加個體適應度量化排序機制使每個個體可以根據其概率自適應地選擇屬于自己的進化策略,從而提高了尋優速度,從圖4 中可以明顯看到其收斂速度有了很大提升。而基于IJAYA 算法的改進策略旨在增強算法的局部收斂能力,結合表2 數據中單二極管模型對應的數據中可以看到,算法的準確性以及穩定性得到了進一步提升。差分進化學習策略意圖通過差分學習進一步增加種群多樣性,結合其對應的單二極管模型的仿真數據可以看到,此時算法的全局尋優能力有明顯提升。最后,在此基礎上添加解決整個種群早熟收斂的策略,由于其策略中獨特的隨機性混沌序列,使算法增加跳出局部最優解的能力。如表2 所示,算法的穩定性得到了進一步的提升。綜上,文中引入的策略從算法的收斂性和多樣性上對BSA 起到了提升作用,提高了算法的尋優能力和結果的穩定性。
為了進一步驗證算法的有效性,本文選取了八種先進算法與本文所提算法進行比較,包括:BSA[15]、MLBSA[10]、TLBO[14]、LCJAYA[8]、PGJAYA[9]、IJAYA[11]、STLBO[7]、JAYA[21]。其中與BSA 和MLBSA 的對比用于測試本文所提策略對BSA的改進效果,而其余幾種算法則是目前在求解光伏模型參數識別問題上表現較好的算法。
在比較結果中,所有算法的總體最佳RMSE 值用粗體標記。如表3 所示,在單二極管模型的實驗中,算法MBSA、PGJAYA、MLBSA 得到了最小RMSE 值9.860 2E-04,但是這三種算法中MBSA 的RMSE 值最小,意味著其可靠性最高。而在雙二極管模型的實驗中,只有MBSA 得到了最小RMSE值9.857 6E-04,剩下的幾種算法中只有PGJAYA 算法得到的最小RMSE 值9.867 2E-04 與之最接近,但是MBSA 比PGJAYA 算法的整體表現要好得多,可靠性也很高。最后,在光伏組件中,得到最小RMSE值2.425 1E-03的算法有MBSA、LCJAYA 和STLBO,然而,在這三種算法中只有MBSA 的可靠性更高、更穩定。
為了直觀地表示不同算法在30 次運行中得到的結果分布,圖5 給出了每個算法的箱線圖。通過比較每個算法的最佳RMSE 值的箱線圖的分布情況,可以清晰地看出MBSA 的準確性與魯棒性明顯優于其他用于比較的八種算法。

圖5 光伏電池和光伏組件運行30次下九種算法的最佳RMSE值的箱線圖Fig.5 Boxplot of optimal RMSE values of nine algorithms under 30 runs of photovoltaic cell and photovoltaic module

表3 光伏電池(RTC,France)和光伏組件(Photo Watt-PWP 201)的計算結果Tab.3 Calculation results of photovoltaic cell(RTC,France)and photovoltaic module(Photo Watt-PWP 201)
為了進一步評價所提MBSA 的可靠性,本節利用從三個不同類型的光伏組件制造商的數據表中獲得的真實數據對算法進行實際測試。實驗涉及的三種不同類型的光伏組件是:薄膜(ST40)、單晶(SM55)和多晶(KC200GT)[22]。使用的實驗數據直接從廠商數據表中給出的五種不同光照水平(1 000 W/m2、800 W/m2、600 W/m2、400 W/m2、200 W/m2)和不同溫度水平下的電流電壓曲線中提取。
未知參數的范圍是Iph∈[0,2*Isc],ISd∈[0,100],Rs∈[0,2],Rsh∈[0,5 000],n∈[0,4]。如式(22)所示,非標準實驗條件下的Isc由標準實驗條件(Standard Test Condition,STC)下的數據表參數決定:

其中:Isc_stc為短路電流;α為短路電流的溫度系數;G和T分別代表光照水平和溫度。
如表4所示,MBSA 在25℃不同光照條件下對三種光伏組件預測了最佳參數,因為沒有準確的參數值來驗證得到的參數,于是繪制了三種光伏組件在25℃不同光照水平下的I_V特性曲線,如圖6 所示。在圖6 中,可以清晰地看到預測數據與實測數據的擬合程度非常高,驗證了MBSA 在三種光伏組件仿真實驗中的準確性。
如表5 所示,MBSA 在1 000 W/m2光照強度下,對三種光伏組件進行了最優參數預測。如圖7所示,繪制了1 000 W/m2光照強度不同溫度下的I_V特性曲線,同樣地,預測數據與實測數據二者十分接近。

圖6 三種光伏組件在不同光照強度下預測數據與實測數據的比較結果Fig.6 Comparison between predicted data and measured data of three photovoltaic modules under different illumination intensities

表4 MBSA在25℃不同光照條件下對三種光伏組件的預測的最佳參數結果Tab.4 Results of optimal parameters predicted by MBSA for 3 photovoltaic modules under different illumination conditions at 25℃

表5 MBSA在1 000 W/m2和不同溫度條件下對三種光伏組件的預測最佳參數的結果Tab.5 Results of optimal parameters predicted by IJAYABSA for three photovoltaic modules under 1 000 W/m2 and at different temperatures

圖7 三種光伏組件在不同溫度下預測數據與實測數據比較Fig.7 Comparison between predicted and measured data of three photovoltaic modules at different temperatures
本文提出了一種基于IJAYA 算法的改進回溯搜索算法(MBSA)識別光伏模型參數。首先,利用排序量化個體在種群中的表現為每個個體分配一個概率,在此基礎上,每個個體自適應地選擇合適的進化策略,增強相應的搜索能力;其次,根據隨機概率同時學習歷史種群信息和當前種群信息,并運用差分進化算法對當前種群進行進化變異,以增強種群多樣性;再者,運用IJAYA 算法在向最優個體靠近的同時還遠離最差個體,并且IJAYA 算法特有的參數幫助算法在早期階段接近潛在區域,在后期階段實現局部搜索的特點,來增強算法的挖掘能力和提高算法的收斂速度;最后,運用混沌精英學習策略利用當前最優解搜索出更好的解來代替最劣解,以提高每一代種群的質量。通過在單二極管、雙二極管和光伏組件模型的參數識別的仿真實驗驗證算法的性能,并與現有的其他八種優秀算法進行比較分析表明了本文所提算法的優越性。最后根據真實廠商數據,在三種不同類型的光伏組件上進行不同光照強度和不同溫度的實驗,進一步檢驗MBSA 的有效性。綜上所述,本文所提的算法具有一定的競爭力和優越性,預期可廣泛地應用到其他領域的參數識別問題當中。