李水佳,龔文引
(中國地質(zhì)大學(xué)(武漢) 計算機學(xué)院,湖北 武漢 430074)
由于能源危機、環(huán)境污染和氣候變化,替代可再生能源的需求顯著增加[1]。太陽能作為一種安全和清潔的可再生能源,近來得到了廣泛關(guān)注[2]。太陽能主要應(yīng)用于光伏發(fā)電,由于光伏發(fā)電系統(tǒng)能夠直接將太陽能轉(zhuǎn)換為電能,因此已在全球范圍內(nèi)應(yīng)用。然而,由于對天氣和環(huán)境因素的依賴性,特別是受溫度和光輻射的影響,使得采用太陽能光伏系統(tǒng)發(fā)電成為了一項重要的挑戰(zhàn)[3-4]。為了提高光伏發(fā)電的效率,需要根據(jù)測量的電壓-電流數(shù)據(jù)來提取出準確的光伏模型參數(shù)。因此,高效提取PV模型參數(shù)的方法就變得尤為重要。目前,解決PV模型參數(shù)提取的方法主要是一些分析方法和確定性方法。分析方法實現(xiàn)起來很簡單并且能夠快速得到問題的解決方案,但需要做出某些假設(shè),這可能會導(dǎo)致提取的參數(shù)不一定準確。對于確定性方法,如Newton-Raphson方法[5]等,它們對初始值非常敏感。更重要的是,確定性方法對目標函數(shù)有著嚴格的要求:連續(xù)、可微和凸函數(shù)。
近些年來,智能優(yōu)化算法引起了越來越多的關(guān)注。許多研究者嘗試用智能優(yōu)化算法去提取PV模型的參數(shù),如模式搜索(PS)[6]、模擬退火(SA)[7]、差分進化(DE)[8]、粒子群優(yōu)化(PSO)[9]、基于教學(xué)優(yōu)化(TLBO)[10]等。PS簡單易實現(xiàn),但對于不可導(dǎo)問題求解時比較困難;SA局部搜索能力強,而全局搜索能力差,容易受參數(shù)的影響;DE簡單有效但受控制參數(shù)影響較大;PSO有著很強的局部搜索能力,卻容易陷入局部最優(yōu)[11];TLBO簡單高效卻收斂較慢。另外,這些智能優(yōu)化算法在提取PV模型參數(shù)時,通常需要消耗大量的計算資源。因此,提出了一種基于自適應(yīng)的差分演化算法,對不同的PV模型進行了參數(shù)提取,并且與已有智能優(yōu)化算法的結(jié)果進行了比較。實驗結(jié)果表明,提出的算法在PV模型參數(shù)提取中有著很大的優(yōu)越性。
在實際應(yīng)用中主要有兩種廣泛使用的模型來描述PV系統(tǒng)的V-I特性:單二極管模型和雙二極管模型。
根據(jù)單二極管模型的等效電路[8],其輸出電流I滿足式(1):
(1)
式中:Iph為可用于實際供電的光照產(chǎn)生的電流,A;Isd為二極管反向飽和電流,μA;Rs和Rsh分別為光伏電池板的等效串聯(lián)和并聯(lián)電阻,Ω;n為二極管理想因子;Vt=kT/q;k為玻爾茲曼常量(1.38×10-23J/K);q為電子電量(1.6×10-18C);T為環(huán)境溫度,K。
根據(jù)雙二極管模型的等效電路[8],其輸出電流I滿足式(2):
(2)
式中:Isd1和Isd2分別為兩個二極管反向飽和電流,μA;n1和n2分別為兩個二極管理想因子。
從上述兩種模型可以看出,單二極管模型有5個參數(shù)待提?。篒ph、Isd、Rs、Rsh和n;而雙二極管模型則有Iph、Isd1、Isd2、Rs、Rsh、n1和n27個參數(shù)待提取。直接求解PV模型各個參數(shù)十分困難,文獻[8]中將參數(shù)提取問題轉(zhuǎn)化為非線性最優(yōu)化問題,可建立優(yōu)化目標函數(shù)如式(3)所示:
(3)
式中:X包含各個模型待提取的參數(shù);N為V-I數(shù)據(jù)集的個數(shù);f(Vk,Ik,X)=Isim-Ik,即為仿真電流Isim與實驗電流Ik的差值;采用均方根誤差RMSE作為評價目標,即RMSE表示所有的仿真電流和實驗電流的誤差的平方和,這意味著RMSE越小,所提取到的參數(shù)越準確。
差分演化算法(differential evolution, DE)[12]最初由Storn和Price在1997年提出,主要用于求解數(shù)值優(yōu)化問題。在差分演化算法中,主要包含4種操作:初始化、變異、交叉和選擇。
初始化:一般種群中有NP個個體(每個個體Xi表示一組解向量),初始化則是將每個個體在邊界范圍內(nèi)隨機產(chǎn)生一組值,如式(4)所示:
Xi,j=LBj+rand(UBj-LBj),
(4)
式中:LBj和UBj分別表示第j維的上下邊界;j為1到D(維數(shù))之間的整數(shù);rand為0到1之間的隨機數(shù)。
變異:變異操作是差分演化的核心部分,主要用于產(chǎn)生新的個體,常用的變異策略為DE/rand/1、DE/best/1、DE/current-to-best/1等,其中DE/rand/1策略如式(5)所示:
Vi=Xr1+F·(Xr2-Xr3),
(5)
式中:Vi為第i個個體的變異向量;r1、r2、r3為3個不同的1到NP之間的隨機整數(shù),且不等于i。
交叉:為了保持種群的多樣性,DE算法在突變之后,采用交叉操作。通過將目標向量與突變向量進行交叉,得到試驗向量。常用的有二項交叉和指數(shù)交叉,其中二項交叉如式(6)所示:
(6)
式中:CR為交叉率;jrand為1到D之間的隨機整數(shù)。
選擇:采用貪婪的思想,在試驗向量和目標向量之間,選擇更好的作為下一代的個體,如式(7)所示:
(7)
式中:f(Xi)為Xi對應(yīng)的目標函數(shù)值。
傳統(tǒng)的DE算法有3個參數(shù):縮放因子F、交叉因子CR和種群大小NP。其中F和CR的取值對算法有非常大的影響,所以自適應(yīng)差分演化算法有著廣闊的前景。為了準確快速地提取PV模型參數(shù),提出了一種新型變異策略自適應(yīng)DE算法(SADE)。
DE/rand/1策略,這種策略從隨機群體中選擇3個向量進行突變,然后在3個向量中隨機選擇基本向量,再將其他兩個矢量的差矢量添加到基矢量上。 雖然這種策略能夠保持種群多樣性和全局搜索能力,但是沒有任何確定的搜索方向,導(dǎo)致收斂速度慢。DE/best/1策略,這種策略雖然收斂快,但是總是朝著最優(yōu)個體的方向搜索,容易陷入到局部最優(yōu)。之后,為了更充分地利用貪婪思想,JADE[13]引入了一種新的變異策略:DE/current-to-pbest/1,這種策略在解決各種問題上被證明是一種非常成功的策略。DE/current-to-best/1策略,它在全局搜索和局部搜索中有著一定的平衡能力,是一種成功的策略。筆者提出的新突變策略可以顯著提高DE算法的搜索能力,并增加在復(fù)雜和大規(guī)模優(yōu)化問題中實現(xiàn)有希望和成功結(jié)果的可能性,這是差分演化算法研究中的一個重要的開放挑戰(zhàn)。因此,筆者采用新的變異策略,引導(dǎo)個體朝著有希望的且遠離希望較小的區(qū)域搜索,以提高算法的收斂速度。提出的變異策略如式(8)所示:
Vi=Xi+Fi(Xpbest-Xi)-ωi(Xi-Xpworst),
(8)
式中:Xpbest和Xpworst分別為種群中個體適應(yīng)值由小到大排序后的前p%和后p%個體;Fi為第i個個體朝著有希望方向的縮放因子;ωi為第i個個體遠離希望較小的區(qū)域搜索的縮放因子。
筆者提出的新型變異策略采用p%的貪婪原則,能夠使得種群中的個體朝著希望較大的區(qū)域但又不總是同一個有希望的區(qū)域搜索;能夠遠離一些沒有希望的搜索區(qū)域,但又不總是同一個沒有希望的區(qū)域,這對提高DE算法的收斂速度是非常有效的。
綜合上述,提出的DE算法主要有F、CR、ω、NP和p5個參數(shù),其中NP保持20固定不變,而p根據(jù)JADE中給出的比較好的取值范圍,保持0.2不變。
對于F和ω,采用JADE中自適應(yīng)方式如下:
Fi=randc(μF,0.1),
(9)
ωi=randc(μω,0.1),
(10)
μF=(1-c)μF+c·meanL(SF),
(11)
μω=(1-c)μω+c·meanL(Sω),
(12)
式中:randc為柯西分布;μF和μω的初值均為0.5;c為0.1;SF和Sω為成功縮放因子的集合;meanL為賴默均值,詳細描述見JADE[13]。
對于CR自適應(yīng),每個個體的交叉率CRi的產(chǎn)生方式如下:
CRi=randn(μCR,0.1),
(13)
式中:randn為正態(tài)分布;μCR初始值為0.5,一代結(jié)束后,μCR采用式(14)更新:
μCR=(1-c)·μCR+c·meanA(SCR),
(14)
式中:meanA為算術(shù)平均值;SCR為成功交叉率的集合。
新型變異策略的自適應(yīng)DE算法(SADE)用來提取PV模型的參數(shù)的計算流程如圖1所示。初始化時,使待提取的PV參數(shù)在規(guī)定的范圍內(nèi)均勻產(chǎn)生,經(jīng)過新型的變異策略進行變異,得到變異向量,再經(jīng)過交叉和選擇操作得到下一代個體。如果給定的最大函數(shù)評價次數(shù)沒用完則采用自適應(yīng)的方式去更新控制參數(shù)μF、μω和μCR,直至最大函數(shù)評價次數(shù)耗盡,輸出提取的參數(shù)。
圖1 SADE算法流程圖Figure 1 Flowchart of SADE algorithm
為了驗證SADE的性能,它被用于提取單二極管模型,雙二極管模型和PV組件模型的參數(shù)。其中,單、雙二極管的數(shù)據(jù)均來自于33 ℃,57 mm直徑的商業(yè)硅R.T.C.法國太陽能電池[5],PV組件模型的數(shù)據(jù)來自于45 ℃的多晶Photowatt-PWP201電池[5],所有待提取的參數(shù)范圍如表1所示。所有模型的SADE的實驗結(jié)果都是在Win7操作系統(tǒng)MATLAB2016b下獨立運行30次獲得的結(jié)果。
表1 待提取的參數(shù)范圍Table 1 Range of parameters to be extracted
將SADE算法的實驗結(jié)果與一些效果比較好的算法進行了比較,比較結(jié)果如表2、3和4所示。
對于單二極管模型,從表2中可以看出,雖然SADE和MLBSA算法取得了最小的RMSE值,但是筆者提出的SADE只消耗了10 000次函數(shù)評價次數(shù)(NFEs),MLBSA卻消耗了50 000次。其次是IJAYA、JADE、GOTLBO、ABSO、IGHS和CPSO。
表2 單二極管模型不同參數(shù)提取方法的比較Table 2 Comparison of different parameter extraction methods for single diode model
另外,利用提取到的參數(shù)進行仿真電流的計算,將得到的仿真電流與測量電流曲線進行對比,如圖2所示,可以看出,測量電流與仿真電流有著非常好的擬合性。
圖2 單二極管模型測量數(shù)據(jù)與仿真數(shù)據(jù)比較Figure 2 Comparison of single diode model measured data and simulated data
對于雙二極管,有7個參數(shù)待提取。由表3的比較結(jié)果可知,SADE取得了最好的RMSE值(9.824 8E-04),并且使用的函數(shù)評價次數(shù)最少。BMO、CWOA和IJAYA的結(jié)果雖然很接近最優(yōu)值的結(jié)果,但是消耗了大量的函數(shù)評價次數(shù),也就是消耗了大量的計算資源。其余的幾種參數(shù)提取方法也消耗了大量的計算資源,且提取的參數(shù)不夠準確。圖3的測量數(shù)據(jù)與仿真數(shù)據(jù)高度擬合也證明了筆者提出的SADE方法能夠提供更準確的參數(shù)值。
表3 雙二極管模型不同參數(shù)提取方法的比較Table 3 Comparison of different parameter extraction methods for double diode model
圖3 雙二極管模型測量數(shù)據(jù)與仿真數(shù)據(jù)比較Figure 3 Comparison of double diode model measured data and simulated data
對于Photowatt-PWP201模型,從表4中可知,SADE、JADE和GOTLBO取得了最好的RMSE值(2.425 1E-03)以及消耗最少的函數(shù)評價次數(shù)(10 000);IJAYA和MLBSA雖然取得了同樣的RMSE值,卻消耗了50 000次函數(shù)評價次數(shù);其次是CPSO、SA和PS,其中SA和PS所用的函數(shù)評價次數(shù)在原文中無法獲取(NA)。像前面兩種模型一樣,將SADE利用提取到的參數(shù)得到的仿真數(shù)據(jù)與測量數(shù)據(jù)進行了擬合對比,如圖4所示??梢钥闯觯抡鏀?shù)據(jù)與測量數(shù)據(jù)仍然有著良好的擬合性。
表4 Photowatt-PWP201模型不同參數(shù)提取方法的比較Table 4 Comparison of different parameter extraction methods for Photowatt-PWP201
圖4 Photowatt-PWP201模型測量數(shù)據(jù)與仿真數(shù)據(jù)比較Figure 4 Comparison of Photowatt-PWP201 measured data and simulated data
提出了一種新型的自適應(yīng)差分演化算法,可以準確快速地提取不同光伏模型的未知參數(shù)。在SADE算法中,筆者提出了一種新型的變異策略,能夠有效地促使種群中的個體朝著有希望的區(qū)域搜索,以提高算法的收斂速度。SADE算法的有效性可以通過單二極管模型、雙二極管模型以及PV組件模型的參數(shù)提取問題來評估,并且將SADE的結(jié)果與一些最近提出的成熟算法進行了比較。結(jié)果表明,筆者提出的SADE算法能夠提供更準確、更可靠的參數(shù)值。因此,SADE算法可以作為一種有效的PV模型參數(shù)提取的選擇方法。