戴寶賦,胡 天,譚建軍,孫先波,黃 勇,朱 黎,胡 濤,易金橋*
(1.湖北民族大學 信息工程學院,湖北 恩施 445000;2.國家電網(wǎng)湖北電力公司 宜昌供電公司,湖北 宜昌 443000)
2020年,中國光伏發(fā)電裝機總?cè)萘坷塾?53 GW,連續(xù)6年位居全球首位[1].但大型光伏電站本地用戶的消納能力有限,因此,準確預測光伏電站發(fā)電量,有助于實時調(diào)整調(diào)度計劃.
反向傳播神經(jīng)網(wǎng)絡(back propagation neural network,BPNN)是預測光伏電站發(fā)電量的主要方法之一,具有高度的自我學習能力和較強的非線性映射能力,但對初始權(quán)值和閾值較為敏感.為避免BPNN因初始權(quán)值和閾值選取不當而陷入局部最優(yōu)解,龔波等[2]基于改進人工魚群算法優(yōu)化BPNN的初始權(quán)值和閾值,提高了系統(tǒng)的泛化能力.鄭建鄂等[3]將天氣類型進行量化處理,基于人工蜂群算法優(yōu)化BPNN,提高了預測的準確性.楊書杰等[4]基于灰狼算法優(yōu)化BPNN,增強全局搜索能力,提高收斂速度和精度.耿博等[5]基于GA優(yōu)化BPNN,并引入相似日的概念提高了預測精度.
鯨魚算法通過模擬鯨魚的搜索行為、包圍行為和泡網(wǎng)捕食行為,以到達尋找最優(yōu)解的目的.鯨魚算法具有結(jié)構(gòu)簡單、操作簡便等優(yōu)點,但收斂速度慢、易早熟.徐航等[6]引入Gauss映射產(chǎn)生種群,提高了算法跳出局部最優(yōu)解的能力.劉琨等[7]使用精英反向?qū)W習的策略初始化種群,提高種群的質(zhì)量及全局收斂速度.趙傳武等[8]通過引入非線性權(quán)重優(yōu)化鯨魚的位置更新公式,提高了收斂速度和精度.馮文濤等[9]基于柯西反向?qū)W習和DE算法對鯨魚算法的種群進行變異和選擇,增加種群的多樣性并提高算法的收斂速度.
本文采用Tent映射初始化種群并引入非線性系數(shù),以彌補算法易早熟的缺點,引入選擇策略對種群進行篩選,以加快算法的收斂速度,從而提出一種基于選擇策略的鯨魚優(yōu)化算法(selection whale optimization algorithm,SWOA),并用于優(yōu)化BPNN,避免BPNN陷入局部最優(yōu)解,并提高預測精度.
鯨魚優(yōu)化算法由Mirjalili等[10]于2016年首次提出,鯨魚優(yōu)化算法是模擬座頭鯨捕食行為的新型智能優(yōu)化算法,該算法的尋優(yōu)過程主要由包圍行為、搜索行為和泡網(wǎng)捕食行為組成.
(1)
(2)
(3)
其中b為定義對數(shù)螺旋形狀的常數(shù),一般設置為1.l是區(qū)間[-1,1]的一個隨機數(shù).
鯨魚優(yōu)化算法中需要產(chǎn)生一個隨機數(shù)p,當p<0.5,且|A|<1時,執(zhí)行包圍獵物行為;當p<0.5,且|A|≥1時,執(zhí)行搜索獵物行為.當p≥0.5時,執(zhí)行泡網(wǎng)捕食行為.
混沌運動具有隨機性和遍歷性特點,使用混沌映射生成初始種群能有效克服因使用隨機數(shù)進行初始化導致種群單一性問題.常用的混沌映射有Logistic映射、Henon映射、Tent映射、Kent映射等[11-13].其中Tent映射的均勻性較強,其表示為:
(4)
其中,Xn表示初始值,Xn∈(0,1),Xn+1表示經(jīng)過一次Tent映射后的值.
使用Tent映射生成初始種群的步驟為:
步驟1n=1,生成隨機數(shù)Xn;
步驟2 將Xn代入Tent映射得到Xn+1;
步驟3 將生成的值按順序組成數(shù)組x;
步驟4 如果n大于最大次數(shù),則執(zhí)行步驟6;否則,n=n+1;
步驟5 如果序列x落入不動點或5周期以內(nèi)的循環(huán),則重新生成一個隨機數(shù)Xn,然后執(zhí)行步驟2;否則,直接執(zhí)行步驟2;
步驟6 輸出序列x,將其作為Tent映射生成的種群.
鯨魚優(yōu)化算法[10]中的系數(shù)a由2線性減小到0,協(xié)同系數(shù)A∈[-a,a].因為A是[-a,a]之間的隨機數(shù),|A|<1和|A|≥1的概率相當,即全局尋優(yōu)的次數(shù)和局部尋優(yōu)的次數(shù)相當.為了增強算法的全局尋優(yōu)能力,本文采用非線性系數(shù)a,其表達式為:
(5)
非線性系數(shù)a的函數(shù)曲線如圖1所示.由圖1可知,增加a>1的次數(shù),即增加|A|≥1的次數(shù),提高了算法的全局尋優(yōu)能力.
圖1 a系數(shù)Fig.1 a coefficient
選擇策略是指在舊群體中以一定的概率選擇個體到新群體中,該個體的適應度越好,被選中的概率越大.本文的選擇策略使用遺傳算法中的輪盤賭法,表達式為:
fi=k/Fi,
(6)
(7)
其中Fi表示第i個個體的適應度,k為系數(shù),N為種群數(shù),pi表示fi被選擇的概率.
采用選擇策略將種群中較差的個體舍去,保留適應度好的個體,以減小適應度差的個體對種群產(chǎn)生負面效果.
SWOA算法的收斂速度快,優(yōu)化BPNN可避免其陷入局部最優(yōu)解.基于SWOA優(yōu)化BPNN的流程圖如圖2所示.
圖2 SWOA優(yōu)化BPNN流程圖Fig.2 Flow chart of SWOA optimized BP neural network
基于SWOA優(yōu)化BPNN的步驟為:
步驟1 設置BPNN的輸入層、隱含層、輸出層的節(jié)點數(shù)和激活函數(shù),輸入層到隱含層、隱含層到輸出層的傳遞函數(shù);
步驟2 初始化鯨魚算法的種群數(shù)、最大迭代次數(shù)、邊界等參數(shù),使用Tent映射生成種群;
步驟3 將迭代次數(shù)Iteration設置為1;
步驟4 計算種群中每條鯨魚的適應度,并將適應度最好的一條鯨魚設置為公告牌;
步驟5 生成隨機數(shù)p,若p<0.5則執(zhí)行步驟7;
步驟6 執(zhí)行泡網(wǎng)捕食行為,執(zhí)行步驟8;
步驟7 計算協(xié)同系數(shù)A的值,若|A|≥1,則執(zhí)行搜索獵物行為;否則執(zhí)行包圍獵物行為;
步驟8 對種群使用輪盤賭法進行選擇處理,保留種群中適應度好的鯨魚;
步驟9 使用新位置取代舊的位置;
步驟10Iteration=Iteration+1;
步驟11 判斷種群中的最優(yōu)鯨魚的適應度是否優(yōu)于公告牌,如果優(yōu)于公告牌則更新公告牌;
步驟12 若Iteration 步驟13 將公告牌中記錄的最優(yōu)鯨魚的值賦給BPNN. 適應度計算方法:將鯨魚的參數(shù)賦予BPNN,并進行訓練和仿真,計算仿真結(jié)果與實際值之間的均方誤差(mean squared error,MSE),MSE越小則說明該鯨魚的適應度越好. BPNN中待定的權(quán)值和閾值多,維度高,運算量大.經(jīng)過實驗,本文確定鯨魚的種群數(shù)為10,迭代的最大次數(shù)為100,輪盤賭法中的k為10. 輸入層的神經(jīng)元個數(shù)為5,隱含層的神經(jīng)元個數(shù)為6,輸出層的神經(jīng)元個數(shù)為1.輸入層到隱含層的傳遞函數(shù)為tansig,隱含層到輸出層的傳遞函數(shù)為purelin,訓練函數(shù)為traingdx.BPNN模型如圖3所示. 圖3 BPNN模型Fig.3 Model of BP neural network 3.3.1 數(shù)據(jù)集簡介 數(shù)據(jù)來源于國能日新光伏功率預測大賽提供的數(shù)據(jù).train_1數(shù)據(jù)記錄了某光伏電站從2016年4月1日到2018年4月30日的歷史數(shù)據(jù),采樣頻率為15 min/次.本文使用文獻[3]中的數(shù)據(jù)處理方式,選取2017年6月1日至2017年8月31日每天8:00-19:00的12個整點數(shù)據(jù)進行訓練和仿真.數(shù)據(jù)如表1所示,該數(shù)據(jù)集的環(huán)境數(shù)據(jù)已進行脫敏處理. 表1 某光伏電站環(huán)境數(shù)據(jù)與發(fā)電量Tab.1 Environmental data and power generation of a photovoltaic station 3.3.2 數(shù)據(jù)歸一化 當數(shù)據(jù)之間的數(shù)量級相差較大時,為了減小誤差,對數(shù)據(jù)進行歸一化處理. xnorm=2·(x-xmin)/(xmax-xmin)-1, (8) 其中,xnorm為歸一化后的值,x為原始數(shù)據(jù),xmin為數(shù)據(jù)集中的小值,xmax為數(shù)據(jù)集中的最大值. 表2 三種算法測試集的MSETab.2 MSE of three algorithm test sets 程序在Matlab R2018b的環(huán)境下運行.使用2017年8月最后3 d的數(shù)據(jù)作為測試集,其他數(shù)據(jù)作為訓練集.使用SWOA、PSO和WOA算法分別優(yōu)化BPNN.基于測試集數(shù)據(jù)的3種算法仿真結(jié)果的MSE如表2所示.3種算法的適應度曲線和仿真結(jié)果如圖4和圖5所示. 圖4 適應度曲線圖5 預測結(jié)果 Fig.4 Fitness curve Fig.5 Predicted results 由圖4可知,在迭代初期,SWOA-BPNN的適應度起點最低,說明引入混沌映射提高了算法種群初始化的均一性.迭代前期,SWOA-BPNN的收斂速度優(yōu)于WOA-BPNN,可見引入輪盤賭法有效剔除種群中較差的個體,保留較好的個體;PSO-BPNN的收斂速度略優(yōu)于SWOA-BPNN,這是因為在迭代前期,鯨魚主要進行全局尋優(yōu),其局部尋優(yōu)能力不強.在迭代后期,SWOA-BPNN的收斂適應度是3種算法中最小的. 圖5中有36組數(shù)據(jù),12組為1 d,共3 d.由圖5可知,3種算法的預測結(jié)果都比較接近實際值. 為了進一步比較3種算法的仿真結(jié)果,選取8月31日3種算法的仿真結(jié)果絕對誤差進行比較,如圖6所示,3種算法預測結(jié)果的絕對誤差均在2.5 kW以下,其中SWOA-BPNN的絕對誤差僅僅在9:00、10:00、14:00和15:00高于WOA-BPNN和PSO-BPNN的絕對誤差.其他時刻SWOA-BPNN的絕對誤差低于WOA-BPNN和PSO-BPNN的絕對誤差.總體而言,SWOA-BPNN的預測結(jié)果優(yōu)于WOA-BPNN和PSO-BPNN的預測結(jié)果. 圖6 絕對誤差Fig.6 Absolute error 本文提出SWOA算法優(yōu)化BPNN,使用風速、壓強、溫度、濕度和輻照度5種數(shù)據(jù)建立光伏電站發(fā)電量的預測模型并預測發(fā)電量.采用SWOA算法優(yōu)化BPNN的初始權(quán)值和閾值,由表2可知,SWOA-BPNN與PSO-BPNN相比,其MSE降低了0.077 2;SWOA-BPNN與WOA-BPNN相比,其MSE降低了0.032 8.3.1 SWOA初始化
3.2 BPNN模型
3.3 數(shù)據(jù)處理
4 實驗結(jié)果與分析
5 結(jié)語