胡永迅,姜媛媛,夏玲
(安徽理工大學(xué) 電氣與信息工程學(xué)院,安徽 淮南,232001)
2020年冬季,沿海各省相繼發(fā)布有序用電或限電通知。通知要求企業(yè)要實行錯峰生產(chǎn),非必需的景觀亮化設(shè)施應(yīng)該全部關(guān)閉,在用電高峰期應(yīng)該避免使用大功率的家用電器。綜合分析電力供應(yīng)偏緊的主要原因有工業(yè)生產(chǎn)快速恢復(fù)拉動用電增長、極寒天氣的到來進一步增加用電負荷,且外受電能力有限和機組故障增加的影響電力保供困難。電力系統(tǒng)的可靠運行決定著人們生產(chǎn)生活的穩(wěn)定有序進行。
輸電線路的負荷預(yù)測是保障電網(wǎng)可靠運行的重要研究內(nèi)容。事實證明,對于輸電線路精確的負荷預(yù)測,可以為電力運行制定出更加合理的方案,從而給社會創(chuàng)造一定的經(jīng)濟價值?,F(xiàn)在的電力系統(tǒng)技術(shù)發(fā)展日新月異,傳統(tǒng)負荷預(yù)測技術(shù)的預(yù)測精度有待進一步提高[1],電力部門也越來越需要更加精準的負荷預(yù)測結(jié)果。因此,通過遺傳算法對常規(guī)的輸電線路負荷預(yù)測模型進行優(yōu)化升級,進一步提高負荷預(yù)測的準確性就顯得很有必要。
關(guān)于負荷預(yù)測問題,國內(nèi)外學(xué)者提出了很多種研究方法。文獻[2]提出了以徑向基神經(jīng)網(wǎng)絡(luò)預(yù)測輸電線路動態(tài)容量的方法,預(yù)測4 h的穩(wěn)態(tài)負載能力可以將誤差控制在40%以內(nèi)。文獻[3]提出了基于自組織特征神經(jīng)網(wǎng)絡(luò)和最小二乘支持向量機的短期電力負荷預(yù)測方法。這種方法雖然得到了較為理想的預(yù)測結(jié)果,但是計算量比較大。文獻[4]提出了一種基于多源數(shù)據(jù)和模型融合的超短期母線負荷預(yù)測方法,這種方法雖然預(yù)測結(jié)果較為理想,但是需要采集最高氣溫、最低氣溫以及風(fēng)向等大量的數(shù)據(jù),存在一定的難度。因此,有必要進一步研究在使用有限的樣本數(shù)據(jù)下,預(yù)測方法不僅簡便快捷,而且能夠取得理想的預(yù)測結(jié)果。
本文通過智能算法中比較經(jīng)典的遺傳算法來尋找BP神經(jīng)網(wǎng)絡(luò)最優(yōu)的權(quán)值和閾值,以提高BP神經(jīng)網(wǎng)絡(luò)的收斂速度,避免陷入局部最優(yōu)解,從而提高網(wǎng)絡(luò)的預(yù)測精度[5]。每年的夏季和冬季都是用電的高峰期,因此,本文選取了最為關(guān)鍵的影響因素即環(huán)境溫度作為神經(jīng)網(wǎng)絡(luò)的輸入[6]。這與基于統(tǒng)計的方法相比,具有更強的魯棒性和更準確的負荷預(yù)測效果。
BP神經(jīng)網(wǎng)絡(luò)算法包含兩部分內(nèi)容,分別是信號的前向傳播和誤差的反向傳播。實際輸出的計算從輸入到輸出的方向,而權(quán)值和閾值的調(diào)整從輸出到輸入的方向進行。BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),它由輸入層、隱含層和輸出層組成[7]。如圖1所示為具有代表性的3層BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)示意圖,不同層之間采用全互聯(lián)方式,同層之間不存在相互連接,隱含層可以選擇1層或者是多層。
圖1 三層BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖Fig.1 Architecture diagram of three-layer BP neural network
1.1.1 信號的前向傳播過程
隱含層第i個節(jié)點的輸入ni:
(1)
隱含層第i個節(jié)點的輸出oi:
(2)
輸出層第k個節(jié)點的輸入nk:
(3)
輸出層第k個節(jié)點的輸出ok:
(4)
式中:ωij為隱含層第i個節(jié)點到輸入層第j個節(jié)點間的權(quán)值;θi為隱含層第i個節(jié)點的閾值;φ為隱含層的激勵函數(shù);ωki為輸出層第k個節(jié)點到隱含層第i個節(jié)點間的權(quán)值;ak為輸出層第k個節(jié)點的閾值;ψ為輸出層的激勵函數(shù)。
1.1.2 誤差的反向傳播過程
首先,逐層計算輸出層每個神經(jīng)元的輸出誤差。然后,使用誤差梯度下降法對各層的權(quán)值和各節(jié)點閾值進行調(diào)整,使調(diào)整后的神經(jīng)網(wǎng)絡(luò)輸出能夠更加接近期望值。
每個樣本p的二次型誤差準則函數(shù)為
(5)
系統(tǒng)對p個訓(xùn)練樣本的總誤差準則函數(shù)為
(6)
輸出層權(quán)值調(diào)整公式:
(7)
輸出層閾值調(diào)整公式:
(8)
隱含層權(quán)值調(diào)整公式:
(9)
隱含層閾值調(diào)整公式:
(10)
1.2.1 神經(jīng)網(wǎng)絡(luò)算法流程和實現(xiàn)
本文輸入?yún)?shù)有2個,分別為日最高和日最低環(huán)境溫度,輸出參數(shù)只有日平均負荷,所以,可以設(shè)置BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為2—5—1。輸入層共有2個節(jié)點,輸出層共有1個節(jié)點,隱含層共有5個節(jié)點,所以,權(quán)值有15個,閾值有6個,遺傳算法編碼的長度為21。
網(wǎng)絡(luò)創(chuàng)建完成后就要對網(wǎng)絡(luò)進行訓(xùn)練。訓(xùn)練是一個不斷調(diào)整權(quán)值和閾值的過程,使輸出誤差變得越來越小。訓(xùn)練結(jié)束后就可以對網(wǎng)絡(luò)進行測試。
神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值是通過隨機初始化為某一區(qū)間的隨機數(shù),這些參數(shù)對網(wǎng)絡(luò)訓(xùn)練的結(jié)果影響較大,導(dǎo)致輸出結(jié)果的精度不同。如果能夠確定網(wǎng)絡(luò)的權(quán)值和閾值,就能確定網(wǎng)絡(luò)的輸出結(jié)果。由于BP神經(jīng)網(wǎng)絡(luò)容易陷入局部極小狀態(tài),學(xué)習(xí)效率低,收斂速度慢[8],因此,引入遺傳算法這一智能算法對其進行優(yōu)化升級[9]。
遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法流程見圖2。算法主要分為:BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)確定;遺傳算法優(yōu)化權(quán)值、閾值和BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和預(yù)測。
圖2 算法流程圖Fig.2 Algorithm flow chart
1.2.2 遺傳算法實現(xiàn)
遺傳算法是通過模仿生物界中“物競天擇、適者生存”演化法則而得到的一種進化算法。遺傳算法的優(yōu)點是穩(wěn)定性好,過程比較簡單,容易與其他智能算法相結(jié)合等。由于遺傳算法從問題解的串集開始搜索,而不是從單個解開始,覆蓋面比較大,因此,能夠更好地選擇全局最優(yōu)解[10]。
遺傳算法的操作就是一種優(yōu)勝劣態(tài)的進化過程。在確定了實際問題參數(shù)集后,首先,對參數(shù)集進行編碼。然后,初始化群體。通過位串解碼的參數(shù)、計算目標函數(shù)值、函數(shù)值向適應(yīng)值映射和適應(yīng)值調(diào)整對群體進行評價。如果評價后的群體滿足停止條件,那么就可以直接結(jié)束。如果評價后的群體不滿足停止條件,那么就進行選擇、交叉和變異操作產(chǎn)生新一代的群體,然后繼續(xù)對群體進行評價,直到滿足停止規(guī)則才結(jié)束。
遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)主要包括種群的初始化、適應(yīng)度函數(shù)、選擇算子、交叉算子和變異算子[11]。
種群初始化。首先,隨機產(chǎn)生N個初始串數(shù)據(jù),每串數(shù)據(jù)代表1個個體,所有的個體構(gòu)成了1個群體。遺傳算法就是以這些初始串數(shù)據(jù)為起點開始進化。在本文中個體編碼方法采用了實數(shù)編碼的方式,每一個個體都是1個實數(shù)串。個體包含了神經(jīng)網(wǎng)絡(luò)中的所有權(quán)值和閾值。在網(wǎng)絡(luò)結(jié)構(gòu)已經(jīng)確定的情況下,就形成了結(jié)構(gòu)、權(quán)值和閾值確定的網(wǎng)絡(luò)。
適應(yīng)度函數(shù)。適應(yīng)度是指對環(huán)境的適應(yīng)程度,它可以表達個體的優(yōu)劣性。對于不同的問題,適應(yīng)度函數(shù)的選擇也是不同的,需要具體問題具體分析。適應(yīng)度函數(shù)是用來計算個體在群體中被使用的概率。在本文中把BP神經(jīng)網(wǎng)絡(luò)的預(yù)測輸出和期望輸出間的誤差絕對值之和作為個體適應(yīng)度F,它的計算公式是:
(11)
式中:n為網(wǎng)絡(luò)的輸出節(jié)點;yi為第i個節(jié)點的輸出期望;oi為第i個節(jié)點輸出。
選擇操作。選擇操作的目的是從目前的群體中挑選出優(yōu)良的個體作為父代用來繁殖下一代。選擇操作正是達爾文適者生存原則的最大體現(xiàn),它的準則是對環(huán)境適應(yīng)性強的個體為繁殖后代的概率更大。常見的選擇方法有適應(yīng)度比例方法、隨機遍歷抽樣法、局部選擇法等。本文遺傳算法選擇操作選用輪盤賭法,這是一種基于適應(yīng)度比例的選擇方法。每個個體i的選擇概率pi為
(12)
交叉操作。遺傳算法中最為重要的操作就是交叉操作,通過此操作可以得到組合父輩個體特性的新一代個體,體現(xiàn)了信息交換的重要思想。本文使用實數(shù)交叉法來實現(xiàn)交叉操作。第k個染色體ak和第l個染色體al在j位的交叉操作如下:
(13)
式中:b為[0,1]間的隨機數(shù)。
變異操作。變異的個體是在群體中隨機選擇的,被選中的個體以一定的概率隨機地改變串結(jié)構(gòu)數(shù)據(jù)中某個串的值。因為生物界變異出現(xiàn)的概率通常比較低,所以,遺傳算法中變異概率通常取值很小。第i個個體的第j個基因aij進行變異操作的方法如下:
(14)
式中:amax和amin分別為基因aij的上界和下界;f(g)=r2(1-g/Gmax)2;r2是1個隨機數(shù);g為當前迭代次數(shù);Gmax為最大進化次數(shù);r是閉區(qū)間0到1上的1個隨機數(shù)。
本文遺傳優(yōu)化參數(shù)設(shè)置見表1。
表1 遺傳優(yōu)化參數(shù)
本文以某市2019年11月1日至2020年7月17日電網(wǎng)線路在線監(jiān)測系統(tǒng)采集的260 d負荷和每天最高和最低環(huán)境溫度進行算法驗證。采樣間隔為15 min,1天共采樣96次,然后得到日平均負荷作為網(wǎng)絡(luò)的輸出。輸入?yún)?shù)分別為日最高和日最低環(huán)境溫度。選取前250組數(shù)據(jù)作為訓(xùn)練樣本,后10組數(shù)據(jù)作為預(yù)測樣本。采用相對誤差和均方誤差指標對模型預(yù)測性能進行評價。
相對誤差(E):
(15)
均方誤差(MSE):
(16)
本案例的輸入?yún)?shù)是2個,輸出參數(shù)是1個,可以建立結(jié)構(gòu)為2—5—1的網(wǎng)絡(luò),即輸入層是2個節(jié)點,隱含層是5個節(jié)點,輸出層是1個節(jié)點。輸入為日最高環(huán)境溫度、日最低環(huán)境溫度,輸出為輸電線路負荷。
優(yōu)化后的神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值見圖3。優(yōu)化后輸入層隱含層間的權(quán)值分別為0.276 9,-2.47,0.944 1,1.872,1.227,-2.139,2.197,-2.18,0.179 6和0.746 5。隱含層節(jié)點閾值分別為-1.504,-1.734,1.89,-2.534和-2.717。隱含層輸出層間權(quán)值分別為-0.638 7,-1.687,-1.401,-0.823和-1.034。輸出層節(jié)點閾值為2.998。
圖3 最優(yōu)初始權(quán)值和閾值Fig.3 Optimal initial weight and threshold
在BP神經(jīng)網(wǎng)絡(luò)模型中,權(quán)值和閾值的選擇對預(yù)測結(jié)果影響較大,本文通過遺傳算法這一智能算法準確獲得了最優(yōu)的權(quán)值和閾值。其次,隱含層個數(shù)的選擇對預(yù)測結(jié)果有影響,本文通過經(jīng)驗公式和實驗比較,最終確定隱含層個數(shù)為5。預(yù)測結(jié)果見圖4。
圖4 預(yù)測結(jié)果對比圖Fig.4 Comparison chart of prediction results
預(yù)測模型預(yù)測值與實際值見表2。通過表2可以看出,優(yōu)化后最大相對誤差從15.38%降為9.18%,相對誤差的變化范圍縮小。優(yōu)化后均方誤差從14 831.166降低為3 619.706 8。BP神經(jīng)網(wǎng)絡(luò)建模仿真時間為2.484 4 s。GA優(yōu)化后BP神經(jīng)網(wǎng)絡(luò)再建模仿真時間為0.125 s。優(yōu)化后的網(wǎng)絡(luò)不僅減小了預(yù)測誤差,而且提高了收斂速度,取得了理想的預(yù)測結(jié)果。
表2 預(yù)測模型預(yù)測值與實際值
利用BP神經(jīng)網(wǎng)絡(luò)對輸電線路負荷進行預(yù)測時,網(wǎng)絡(luò)的權(quán)值和閾值是通過隨機初始化為某一區(qū)間的隨機數(shù),這些參數(shù)的選擇對網(wǎng)絡(luò)預(yù)測結(jié)果影響較大,不同權(quán)值和閾值的選擇會導(dǎo)致預(yù)測結(jié)果精度不同。為了提高網(wǎng)絡(luò)的預(yù)測精度,提出一種基于GA-BP的輸電線路負荷預(yù)測研究方法,采用遺傳算法對BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進行優(yōu)化。經(jīng)過優(yōu)化,均方誤差從14 831.166降低為3 619.706 8,與優(yōu)化前的BP神經(jīng)網(wǎng)絡(luò)相比,輸電線路負荷預(yù)測的誤差降低,預(yù)測精度提高。