陳年,王宏華,韓偉
(河海大學 能源與電氣學院,江蘇 南京 211100)
光伏發(fā)電是利用光伏電池的光伏效應把太陽能轉換為電能,具有環(huán)保、安全、壽命長等優(yōu)點。由于每天照射到地球表面的輻射能量相當于數(shù)億萬桶石油燃燒的能量,所以在將來有望可能成為重要的替代能源之一[1]。
光伏陣列的輸出具有較強的時變性和隨機性,當外界環(huán)境改變,比如光照強度、環(huán)境溫度、輻照時間改變時,光伏陣列輸出不同的電壓,但只有某一特定輸出電壓,光伏陣列的輸出功率才能維持在最大值,因此光伏發(fā)電系統(tǒng)要能實時地跟蹤光伏陣列的最大功率點[2-3]。目前國內外提出了多種預測模型來實現(xiàn)。如基于最優(yōu)梯度的滯環(huán)比較預測建模,模糊控制光伏陣列最大功率點跟蹤預測建模,自適應預測建模,BP神經(jīng)網(wǎng)絡預測建模,RBF神經(jīng)網(wǎng)絡預測建模。且預測結果表明上述方法能夠較準確的預測出光伏整列最大功率點,但當氣候條件劇烈變化時,這些預測方法的精度有待提高。
基于此,提出了將溫度和光照強度作為輸入變量,通過遺傳算法的全局尋優(yōu)能力優(yōu)化BP網(wǎng)絡的權值和閾值的方法。仿真表明,所設計的基于遺傳算法優(yōu)化的光伏陣列最大功率點預測BP網(wǎng)絡具有良好的泛化能力。
根據(jù)光伏電池的發(fā)電原理,光伏電池相當于具有與受光面平行的大面積薄P-N結接面的等效二極管,當有太陽照射到P-N結時,P-N結兩端會產(chǎn)生一個光生電壓,當接上負載時,就會產(chǎn)生電流。光伏電池的簡化等值電路如圖1所示,電氣特性可以由公式(1)表示。
圖1 光伏電池等效電路
其中Iph是指光生電流;ID是二極管電流;q是電荷電量,取值1.6×10-19C;A是理想因子,取值為1;K是波爾茲曼系數(shù),取值是1.38×10-23J/K;T是電池表面溫度;V是輸出電壓;I是輸出電流;Rs,Rsh:光伏電池的串聯(lián)內阻與并聯(lián)內阻。
根據(jù)上面的電氣特性搭建了典型的光伏陣列特性如圖2,圖3所示。
圖2、圖3表明當光照強度增加時,光伏陣列的短路電流明顯增加,開路電壓變化不大,導致光伏陣列輸出功率增加。當溫度增加時,光伏陣列的短路電流變化較小、開路電壓下降明顯,導致光伏陣列輸出功率下降[4]。
圖2 環(huán)境溫度T=25℃時,不同光照強度條件下,光伏陣列的輸出特性
圖3 光照強度S=1kW/m2時,不同環(huán)境溫度條件下,光伏陣列的輸出特性
BP神經(jīng)網(wǎng)絡是一種按誤差反向傳播算法訓練的多層前饋網(wǎng)絡,其采用有導師的學習方式。BP算法由于其自學習、自組織能力以及其容錯能力和聯(lián)想能力較好,在目前比較流行。但傳統(tǒng)的BP神經(jīng)網(wǎng)絡待尋優(yōu)的參數(shù)多,造成收斂速度較慢,且目標函數(shù)存在多個極值點如果按梯度下降法進行學習,很容易陷入局部極小值。
BP神經(jīng)網(wǎng)絡的收斂速度和預測精度收到其初始權值和閾值的影響,其權值和閾值需要經(jīng)過多次的試算才能確定。而遺傳算法作為一種基于自然學機理的優(yōu)化方法,通過全局的目標尋優(yōu),有效的避開了局部極小點,為了利用GA算法和BP算法的長處,本文采用遺傳算法改進的BP網(wǎng)絡光伏陣列最大功率點預測模型。
BP神經(jīng)網(wǎng)絡主要由輸入層、隱含層、輸出層三部分組成,同層結點之間沒有連接、層與層之間實行全連接,本文設計的光伏陣列最大功率點預測BP網(wǎng)絡結構如圖4所示。
圖4 光伏陣列最大功率點預測BPNN模型
影響光伏陣列最大功率的因素為光照和溫度,所以輸入層為二個神經(jīng)元,輸出層傳遞函數(shù)采用tansig型。由于光伏陣列模型輸出的是預測的最大功率點,因此輸出層為一個神經(jīng)元,輸出層函數(shù)采用logsig型。人工神經(jīng)網(wǎng)絡通過增加其隱含層數(shù)可以降低誤差,但這樣便會增加網(wǎng)絡的訓練時間,同時使網(wǎng)絡復雜化。大量文獻表明在單隱層不能滿足要求時才增加隱含層數(shù),因此本文采用單隱層。單隱層中節(jié)點個數(shù)將會對神經(jīng)網(wǎng)絡的性能產(chǎn)生影響,本文采用黃金分割法[5]確定單隱層中節(jié)點的個數(shù)。隱含層節(jié)點數(shù)設計為5個。
在光伏發(fā)電系統(tǒng)預測模型中要防止神經(jīng)元進入飽和狀態(tài),需要限制其神經(jīng)元的幅值。為了避免出現(xiàn)神經(jīng)元飽和使得網(wǎng)絡學習速度變慢的問題,本文采用神經(jīng)網(wǎng)絡工具箱函數(shù)對輸入和輸出數(shù)據(jù)進行歸一化,歸一化公式如式(2)所示。
式中 xn為輸入的原始數(shù)據(jù),yn是 xn歸一化后的值,xmin,xmax分別為原始數(shù)據(jù)的最小值和最大值。
每隔一段時間記錄一組數(shù)據(jù),包括壞境溫度、光照強度和它們對應的最大功率點的數(shù)據(jù)作為樣本。最后一共得到315組數(shù)據(jù),從中選取280組作為訓練樣本,35組作為測試訓練后BP網(wǎng)絡泛化能力的檢驗。
BP神經(jīng)網(wǎng)絡是從局部的角度調整神經(jīng)網(wǎng)絡的連接權值和閾值,通過使用GA在由BP網(wǎng)絡初步確定的基本解空間(即網(wǎng)絡的權值和閾值范圍),再通過對種群個體的選擇、交叉、變異操作。使得種群個體不斷擇優(yōu)進化,最終把適應度值最優(yōu)的個體確定為網(wǎng)絡結構的權值和閥值,其算法流程如圖5。
遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡主要包括編碼、種群初始化、適應度函數(shù)、選擇操作、交叉操作和變異操作[6-8]。
(1)編碼
GA是通過某種編碼機制把對象抽象為由特定符號按一定順序排成的串,常見的編碼方式主要包括二進制編碼和實數(shù)編碼,本文采用實數(shù)編碼,由隱層節(jié)點數(shù)、各層的連接權值、隱層節(jié)點閾值、輸出層節(jié)點閾值組成碼串。
(2)適應度函數(shù)
圖5 GA-BP算法流程
適應度函數(shù)是檢驗種群中的個體在進化過程中與最優(yōu)個體的接近程度。本文通過初始化個體得到BP神經(jīng)網(wǎng)絡的初始權值和閾值,用訓練數(shù)據(jù)訓練BP神經(jīng)網(wǎng)絡后預測系統(tǒng)輸出,把預測輸出和期望輸出之間的誤差絕對值和E作為個體適應度值F,計算公式為:
式中yi為神經(jīng)網(wǎng)絡第i個節(jié)點的期望輸出;oi為第i個節(jié)點的預測輸出;k為系數(shù)。
(3)選擇操作
選擇就是實現(xiàn)對種群的優(yōu)勝劣汰操作,目的是為了從當前種群中選擇優(yōu)良個體,其適應度越高,被選擇的機會越大,遺傳到下一代群體中的概率也越大。本文的遺傳算法選擇操作使用輪盤賭法,其基本思想是各個個體被選中的概率與其適應度函數(shù)值大小成正比,計算公式為:
(4)交叉操作
交叉操作作用于個體對,產(chǎn)生新的個體,實質上是在解空間中進行有效搜索使得遺傳算法獲得新的優(yōu)良個體,例如染色體k和L的交叉操作具體方法如下:
式中,b是[0,1]間的隨機數(shù)。
(5)變異操作
變異可以加強遺傳算法的局部搜索能力,保證了生物種群的多樣性,并防止在進化的過程中過早的收斂。生物體的繁衍過程中如果第i個個體的第j個基因進行變異,就會形成新的個體,其變異操作方法如下:
式中g為當前迭代次數(shù);r為[0,1]間的隨機數(shù)。
(6)遺傳算法的收斂性和最終解的性能受到多種因素的影響,由于沒有相應的理論體系,通過參考文獻,本文遺傳算法的種群大小為 10,進化次數(shù)為 50,交叉率為 0.4,變異率為 0.2[9-10]。
神經(jīng)網(wǎng)絡預測模型結構設計好后,需要對網(wǎng)絡進行訓練,最大訓練次數(shù)1000次,訓練函數(shù)采用trainlm,期望誤差為0.00004。學習速率為0.01。在MATLAB中編程訓練結果如圖6~圖8所示。
圖6 GA-BP神經(jīng)網(wǎng)絡訓練誤差曲線
圖7 GA-BP神經(jīng)網(wǎng)絡預測輸出與期望輸出對比
圖8 GA-BP神經(jīng)網(wǎng)絡適應度曲線
從圖中可以看出GA-BP神經(jīng)網(wǎng)絡適應度值較好,在種群進化到第10代時已經(jīng)能夠找到最優(yōu)的BP神經(jīng)網(wǎng)絡權值和閾值。然后把GA-BP得到的權值和閾值賦值給BP神經(jīng)網(wǎng)絡進行訓練后,在第32步左右已達到了期望誤差,且預測的最大功率點與實際光伏陣列的最大功率點很接近。
神經(jīng)網(wǎng)絡的泛性能是檢驗訓練模型的重要指標,為了驗證本文所研究的預測模型在預測精度、及泛化能力方面的改進,分別提出了BP神經(jīng)網(wǎng)絡的預測模型和RBF神經(jīng)網(wǎng)絡預測模型,并與本文所提出的GA-BP神經(jīng)網(wǎng)絡預測模型進行比較分析。
通過圖9所示的仿真結果,可以看出GA-BP神經(jīng)網(wǎng)絡算法正是通過遺傳和變異操作使得網(wǎng)絡的系統(tǒng)總誤差(sum square,SSE)趨于最小,最終表現(xiàn)在其泛化能力優(yōu)于BP神經(jīng)網(wǎng)絡和RBF神經(jīng)網(wǎng)絡。
圖9 神經(jīng)網(wǎng)絡預測誤差對比
本文在研究溫度和光照強度對光伏陣列影響的基礎上,提出了一種基于遺傳算法改進的BP網(wǎng)絡在光伏陣列最大功率點的預測模型。將訓練后的模型直接用于最大功率點的預測,避免了復雜的數(shù)學建模。相對于傳統(tǒng)的神經(jīng)網(wǎng)絡算法,GA-BP神經(jīng)網(wǎng)絡算法解決了BP神經(jīng)網(wǎng)絡算法容易陷入局部極小和收斂速度慢的問題,該預測模型可以學習和辨識各輸入量和輸出量的關系,并且做到較好的預測。
仿真表明,基于GA-BP神經(jīng)網(wǎng)絡的預測模型顯著提高了不同環(huán)境條件下光伏電池最大功率點的預測精度,誤差更小,訓練時間短。從而可以提高光伏發(fā)電系統(tǒng)的性能和效率。
[1] 趙爭鳴,劉建政,孫曉瑛,等.太陽能光伏發(fā)電及其應用[M].北京:科學出版社,2005.
[2] LIU Xue-jun,LOPES L A C.An improved perturbation and observation maximum power point tracking aigorithithm for PV arrays[J].IEEE 35 Annual,2004,3:2005 -2010.
[3] 茆美琴,余世杰,蘇建徽.帶有MPPT功能的光伏陣列MATLAB通用仿真模型.系統(tǒng)仿真學報[J],2005.17(5):1248-1251.
[4] 崔巖,王麗霞.基于神經(jīng)網(wǎng)絡應用的光伏陣列最大功率點跟蹤.系統(tǒng)仿真技術[J].2009.5(4):241-246.
[5] 夏克文,李昌彪,沈鈞毅.前向神經(jīng)網(wǎng)絡隱含層節(jié)點數(shù)的一種優(yōu)化算法[J].計算機科學,2005.32(10):143-145.
[6] 白靜晶,崔巖.基于遺傳神經(jīng)網(wǎng)絡的光伏陣列多峰最大功率點追蹤[D].廣東:汕頭大學,2011-05-01.
[7] 丁明,王磊,畢銳.基于改進BP神經(jīng)網(wǎng)絡的光伏發(fā)電系統(tǒng)輸出功率短期預測模型[J].電力系統(tǒng)保護與控制.2012.40(11):93-99.
[8] 史峰,王小川,郁磊,等.MATLAB神經(jīng)網(wǎng)絡30個案例分析[M].北京航空航天大學出版社,2011.
[9] 孫慧慧,高印寒.基于GA-BP神經(jīng)網(wǎng)絡的車內品質評價研究[D].吉林:吉林大學,2012-04-01.
[10] 王鶴,周東祥.基于神經(jīng)網(wǎng)絡的電子鼻系統(tǒng)研究[D].武漢:華中科技大學,2007-06-01.