崔馨元,張 東,馬艷娟,寧兆秋
(1.沈陽工程學院研究生部,遼寧沈陽 110136;2.沈陽工程學院新能源學院,遼寧沈陽 110136)
“雙碳”戰略——碳達峰、碳中和的提出表明新能源大發展的時代已經到來。太陽能具有收集方便、分布廣泛、清潔無污染等優點,已經廣泛應用于國內外發電系統中。然而氣象因素的不穩定性使得光伏出力具有強烈的波動性和間歇性,對光伏并網的穩定運行產生影響。光伏發電功率預測可以與電網調度、負載調配相結合,減少光伏并網對電力系統產生的負面影響,提高系統調度能力和利用率。
關于光伏預測的方法有很多,以人工神經網絡為主的智能預測方法引起了眾多專家學者的關注。文獻[1]通過螢火蟲算法(firefly algorithm,FFA)優化的廣義回歸神經網絡(generalized regression neural network,GRNN)進行光伏出力預測。文獻[2]改進長短期記憶神經網絡(long short term memory,LSTM)作為預測模型,從提高輸入數據質量的角度抑制過擬合,提升預測的準確性。文獻[3]采用基本人工蜂群算法(artificial bee colony,ABC) 優化反向傳播(back propagation,BP)神經網絡,預測不同天氣狀況下的光伏發電功率,但該方法存在迭代速度慢且預測精度低的問題。
本文提出了一種交叉全局人工蜂群算法(cross global artificial bee colony,CGABC)優化Elman 神經網絡的模型(CGABC-Elman)預測光伏出力。Elman 神經網絡能解決傳統BP 對歷史數據不敏感、適應時變能力差等問題。CGABC 可以改善ABC 迭代時間長、陷入局部極值等現象。通過算例仿真證明了本文所建立模型的良好預測效果。
光伏發電的基本原理是光生伏特效應,利用光伏電池將太陽能轉為電能[4]。其等效模型表達式如下:

式中:Ipv和Vpv為等效電路輸出的電流和電壓;Iph為光生電流,主要影響因素為光照強度;I0為二極管逆向飽和電流;Tj為PN結熱力學溫度;Rsh、Rs分別為并聯電阻和串聯電阻;K和q分別為玻爾茲曼常數和電子電量,是固定值。
一般情況下,Rsh遠遠大于Rs,故式(1)中最后一項一般忽略不計,式(1)可以變形為:

由此可以看出,影響光伏電池輸出電壓的變化項為Iph和Tj,故影響光伏出力的主要因素為太陽輻射強度和空氣溫度,所以本文只選取這兩種氣象數據作為網絡模型的輸入向量,選取光伏發電功率樣本數據作為網絡模型的輸出向量。與現有的需輸入3~4 種氣象數據的功率預測方法相比,神經網絡的輸入維數變少,模型計算量減少,預測時間也得以大幅降低。
為了減少絕對數值的差異,需要將太陽輻射強度、空氣溫度和光伏發電功率這三種不同變化范圍的數據進行歸一化處理,將值統一縮放到[-1,1]的范圍后再輸入網絡模型。歸一化的公式如下:

式中:xnormal(k)為樣本數據中第k種類型數據歸一化后的值;x為實際數據中第k種類型數據的值;xmax為實際數據中第k種類型數據的最大值;xmin為實際數據中第k種類型數據的最小值。
選取與訓練樣本時段相近的某一日作為待預測日,由于夜間沒有光照,光伏電站不發電,故只需預測從日出到日落時段的光伏出力。將輸出結果進行反歸一化處理,可以直觀地與實際值對比,有利于評估預測模型的性能。
Elman 神經網絡是一種反饋型神經網絡[5],結構如圖1 所示。它與BP 網絡的區別是新增了一個反饋層,從輸出到輸入有了反向連接。它對歷史數據更加敏感,適應突變數據的能力更強。具體公式如式(4)~式(6)所示。

圖1 Elman 神經網絡結構

式中:f(*)為隱藏層傳輸函數;g(*)為輸出層傳輸函數;y=[y1,y2,…,ym]為輸出層m維向量;h=[h1,h2,…hn]為隱藏層n維向量;x=[x1,x2,…xr]為輸入層r維向量;u=[uc1,uc2,…ucn]為反饋層n維向量;w1,w2,w3為神經網絡不同層之間的連接權值。
隨著神經網絡不斷地學習,各層神經元之間的銜接強度會不斷增加,網絡對樣本特征的記憶度和敏感度也會隨之增加。本文利用優化算法通過多次迭代,尋找Elman 神經網絡的最佳權值并記憶最優網絡。測試隱藏層神經元個數不同的Elman 神經網絡,計算各預測點的誤差和,結果如下:神經元個數為7、9、11、13、15 時,預測誤差和分別為5.210 9、5.064 3、4.817 7、5.056 2、5.103 7。由此可知,當隱藏層有11 個神經元時,預測結果誤差最小。輸入為各個時刻的太陽輻射強度和空氣溫度,是二維向量;輸出僅為光伏功率,是一維向量。綜上,本文Elman神經網絡結構為2-11(11)-1。
ABC 是以蜜蜂采蜜為直觀背景,不同工種的蜜蜂進行不同的采蜜行為,共享信息后尋找最優蜜源[6],即神經網絡連接權值的最優解,基本過程如下。
a.初始化所有蜜源向量:

式中:xmi為蜜源向量;m為向量個數,m=1,2…N;i為每個向量的變量,i=1,2…n;ui和li分別為蜜源向量的最大和最小邊界值。
b.雇傭蜂在蜜源附近尋找新蜜源:

式中:vmi為雇傭蜂找到的新蜜源;xki為隨機選取的蜜源;Φmi為鄰域搜尋系數,Φmi∈[-1,1]。
c.計算每個蜜源適應度值:

式中:fitmi為蜜源適應度的值,在本文中為訓練數據的均方誤差。每產生一個新蜜源都要計算其適應度值,與原值進行比較,按照貪婪法則保留最優解,即保留均方誤差最小時的連接權值。
d.觀察蜂根據輪盤賭策略選擇是否跟隨:

式中:Pm為觀察蜂跟隨雇傭蜂的概率。若計算概率大于隨機產生的數值,則觀察蜂跟隨雇傭蜂;反之,則變為偵察蜂重新搜尋新蜜源。
e.偵察蜂階段:每個蜜源擁有參數trial,初始值為0,被開采一次trial值加1。如果蜜源的trial值高于初始閾值limit,說明蜜源枯竭。此時偵查蜂將化身為雇傭蜂,同式(8)繼續尋找新蜜源vmi。
f.判斷當前迭代次數是否大于初始設置的最大迭代次數。若大于,則循環停止,輸出神經網絡的最佳連接權值。
從ABC 的工作過程可以看出,該算法有相當好的鄰域搜尋能力,但并沒有被較好地開發。此外,該算法在雇傭蜂鄰域探索、觀察蜂選擇跟隨以及蜂群身份變化的各種選擇過程中,都是以適應度值作為貪婪法則的比較條件,這使蜂群的多樣性逐漸減少,容易發生因全局搜尋能力不足而收斂到局部極值的現象。
針對上述問題,Zhu 和Kwong[7]參照粒子群算法(particle swarm optimization,PSO),提出一種雇傭蜂根據全局最優解的指引在鄰域尋找新蜜源的全局人工蜂群算法(global artificial bee colony,GABC),其搜尋式如下:

式(11)與式(8)相比,增加了最后一項,將全局最優解加入算法的迭代與更新,可以提高收斂速度,使算法得到較好的開發。但本文認為新增的最后一項會使算法的全局尋優能力有一定程度的損傷,可能會陷入局部極值。所以借鑒遺傳算法(genetic algorithm,GA)中的二項交叉操作,使之與GABC相結合,提出CGABC 算法。
二項交叉運算是選擇兩個父代個體,對個體的每一位基因隨機創造一個對應的數值rand,rand∈[0,1]。若rand小于初始設定的交叉操作改變系數cr,則保留當前個體對應的基因編碼值;反之,則將兩個個體的基因編碼值進行位置互換,最終得到一個新的子代個體。
將雇傭蜂進行鄰域搜尋后的解與全局最優解進行交叉操作,具體如式(12)所示。

改變系數cr可以協調算法的開發能力與全局尋優能力。實驗證明,cr=0.5 左右時,算法較為穩定;β在[-1,1]區間取值,可以減少算法過早收斂的情況發生。
本文提出基于CGABC-Elman 的光伏出力預測模型,具體流程如圖2 所示。

圖2 CGABC-Elman 模型流程
首先,將太陽輻射強度、空氣溫度和光伏發電功率組成的“氣象-功率”樣本數據歸一化,作為訓練數據輸入神經網絡。
然后,創建結構為2-11(11)-1 的Elman 神經網絡,設置訓練速率為0.01,訓練精度為1×10-4;初始化人工蜂群參數:種群數量為30;雇傭蜂數量為10,觀察蜂數量為10;最大迭代次數為500;β取1;cr取0.6,limit取5。
接下來,將Elman 的連接權值作為CGABC 的優化目標,以訓練數據的均方誤差作為適應度值。通過多次迭代,找到神經網絡的最佳連接權值并記憶此時的最優網絡。
最后,將待預測日數據輸入最優網絡中對光伏出力進行預測,將預測結果反歸一化后與實際值相比較,證實本文預測模型有效且準確。
評價模型訓練效果以及預測性能的主要指標有:平均相對誤差(average relative error,σ)、均方誤差(mean squared error,MSE)和均方根誤差(root mean squared error,RMSE)。其值越小,表示模型具有越高的預測精度。

式中:Wtest為預測數據;Wtrue為實際數據;i為數據個數,i=1,2...N。
本實驗選擇在Matlab R2020a 平臺進行仿真。采用CGABC-Elman 模型對光伏發電功率進行預測,結果如圖3 所示。

圖3 CGABC-Elman模型
由圖3(a)可以看出,CGABC-Elman 模型預測值曲線和實際值曲線走向基本重合,表現出很好的擬合度,驗證了CGABC-Elman 預測模型的有效性。由圖3(b)可以看出,CGABC-Elman 模型的預測誤差大多分布在[0,0.05)之間,說明其具有良好的預測精度。誤差最大值為0.237 1,發生在中午12:00 左右。由圖3(a)可知,此時光伏出力出現急劇下降,從數據上推斷可能是發生了劇烈天氣變化,導致模型出現最大誤差。
本文依照參考文獻[8]改變輸入數據的維度,將光照輻射強度、光照輻射強度+空氣溫度、光照輻射強度+空氣溫度+全天云量平均值+相對濕度(下文簡稱方法1、2、3)分別輸入CGABC-Elman 模型進行光伏功率預測,結果如表1 所示。

表1 三種輸入維度對比
由表1 可知,方法1 的運行時間最短,但預測誤差相對較大,本文認為可以犧牲部分時間來提高預測精度。方法3 的預測誤差最小,但方法2 和方法3 的誤差值相差不大。方法2僅有兩種輸入維度,模型計算量小,運行時間比方法3 少很多。故本文所提出的輸入兩種氣象數據的預測模型能較好地預測光伏發電功率。
本文分別采用ABC、GABC 與CGABC 算法優化神經網絡,各算法參數設置相同,均以連接權值作為優化目標,MSE作為適應度函數。對比分析它們的優化效率及優化結果,如圖4 所示。

圖4 三種算法迭代收斂曲線
由圖4 可知,CGABC-Elman 在迭代80 次左右時可以穩定收斂,收斂精度為4.28×10-3。相比之下,ABC 算法的收斂速度較慢,在迭代期間出現了三次局部收斂,且在局部最優解附近持續時間較長。而CGABC 算法最先達到最優解,較好地避免了ABC 算法的缺陷,具有更高的尋優效率。CGABC算法無論是在收斂速度還是收斂精度上,與ABC、GABC 算法相比都有顯著提高。
為了更好地分析Elman 神經網絡的性能及優點,本文選擇BP 神經網絡與其對比。BP 除了沒有反饋層外,其余參數設置和各層神經元節點個數與Elman 神經網絡保持一致,同為2-11-1 結構。
本文采用BP、Elman、ABC-BP、ABC-Elman 和CGABCElman 五種模型進行仿真對比,輸入相同的樣本數據集,將預測結果和性能評估進行比對,評估結果見表2,可以看出CGABC-Elman 模型的各種誤差都最小,預測精度最高。

表2 五種預測模型性能對比
為了更直觀地展現五種模型的預測性能,將待預測日數據分別輸入五種模型中,由于五種模型的預測值曲線都較為貼合真實值曲線,故只選取測試數據中功率輸出波動較小的時間段(9:00—10:00)展示,如圖5 所示。

圖5 五種預測模型對比
由圖5(a)可以看出,CGABC-Elman 模型預測值曲線最貼合實際值曲線,預測效果最佳。圖5(b)中CGABC-Elman 模型預測誤差最大值為0.217 3,最小值2.111 7×10-4,總體來說,每個預測點的誤差值與其他四種模型相比較低。CGABCElman 模型分布在[0,0.05)之間的誤差個數最多,分布在[0,0.1)之間的誤差個數顯著高于前3 種模型,這與MSE的計算結果相呼應。綜上,本文所提出的CGABC-Elman 模型具有良好的預測精度。
預測光伏發電功率對光伏并網和電力系統的穩定發展具有至關重要的作用,可以為電網調度部門提供一定的參考價值。本文提出了一種光伏發電功率短期預測模型CGABCElman,將全局最優解引導的人工蜂群算法與二項交叉操作相結合,實現光伏出力的精準預測。通過與其他預測模型比較,驗證了本文所建模型的有效性與準確性。