呂 輝, 陳國初
(上海電機(jī)學(xué)院 電氣學(xué)院,上海 201306)
對風(fēng)電場風(fēng)能資源進(jìn)行評估是風(fēng)電場建設(shè)前期的一項(xiàng)基礎(chǔ)性工作[1-2]。其中,對歷史測風(fēng)數(shù)據(jù)資料進(jìn)行概率分布研究是風(fēng)能資源評估中的重點(diǎn)工作。目前,還沒有從成因和理論上給出某地風(fēng)速概率分布的形式,但是,應(yīng)用最多的方法是兩參數(shù)威布爾(Weibull)分布模型[3]。
對于兩參數(shù)Weibull分布模型,只要確定了形狀參數(shù)k和尺度參數(shù)c后,就可以計(jì)算體現(xiàn)風(fēng)能資源特性最重要的4個(gè)特征指標(biāo),即年平均風(fēng)速、年平均風(fēng)能密度、年平均有效風(fēng)能密度以及風(fēng)能利用時(shí)間,故k和c的精度直接影響了特性指標(biāo)的精度。通常,k和c參數(shù)確定的方法有最小二乘法[4]、矩估計(jì)法[5]、極大似然估計(jì)參數(shù)法[6]等;但是,這些方法有的簡單、易實(shí)現(xiàn),卻精度差;有的精度高,卻難以實(shí)現(xiàn)。因此,迫切需要研究一種更為有效的計(jì)算方法。
本文針對雞群算法[7](Chicken Swarm Optimization, CSO)中,雞媽媽在陷入局部最優(yōu)時(shí),小雞也會(huì)陷入局部最優(yōu),且母雞和小雞缺少自我學(xué)習(xí)能力的問題,研究了一種改進(jìn)的CSO算法,用于尋找k和c的最優(yōu)值,以便能更精確地評估風(fēng)能資源。最后,將改進(jìn)的CSO算法應(yīng)用于實(shí)際風(fēng)電場的風(fēng)能資源評估,并參照實(shí)測數(shù)據(jù)統(tǒng)計(jì)結(jié)果比較了利用改進(jìn)的CSO算法與等能量密度法進(jìn)行風(fēng)能資源評估的精度。
CSO算法是由MENG等[8]于2014年提出的一種基于雞群搜索行為的隨機(jī)優(yōu)化方法,它模擬了雞群等級制度和雞群行為。將整個(gè)雞群分為若干子群,每個(gè)子群都由1個(gè)公雞、若干母雞和小雞組成。不同的雞遵循不同的移動(dòng)規(guī)律,在具體的等級制度下,不同的雞群之間存在競爭,因此,CSO算法是一種全局優(yōu)化算法。
假設(shè)整個(gè)雞群中NR個(gè)公雞、NH個(gè)母雞、NC個(gè)小雞、NM個(gè)雞媽媽,個(gè)體位置xij(t)表示第i個(gè)體的j維在第t次迭代的值,則公雞對應(yīng)的位置更新為[9]
xR_i,j(t+1)=xR_i,j(t)[(1+Randn(0,σ2)]
(1)
(2)
q∈[1,NR],q≠i
(3)
式中:Randn(0,σ2)為均值為0、標(biāo)準(zhǔn)差為σ2的一個(gè)高斯分布;ε為一個(gè)很小的常數(shù);q為所有公雞中除去i外的任一個(gè)體;fR_i和fR_q分別為公雞i,q的適應(yīng)度值。
母雞的位置更新為:
xH_i,j(t+1)=xH_i,j(t)+C1Rand·(xH_r1,j(t)-
xH_i,j(t))+C2Rand·(xr2,j(t)-
xH_i,j(t)),r1≠r2
(4)
C1=exp((fH_i-fH_r1)/(abs(fH_i)+ε))
(5)
C2=exp[(fr2-fH_i)]
(6)
式中:Rand為[0,1]中的隨機(jī)數(shù);xH_r1,j(t)為該母雞所屬族群公雞的位置信息;xr2,j(t)為其他族群公雞的位置信息;C1和C2分別為母雞參考自身族群和其他族群搜索的權(quán)重;fH_i和fH_r1分別為母雞i和所屬族群公雞r1的適應(yīng)度值;fr2為其他族群公雞r2的適應(yīng)度值,r1≠r2。
由式(3)可見,母雞的位置更新由3部分構(gòu)成:上一次迭代母雞所處的位置;與所屬族群公雞的位置關(guān)系;與其他族群公雞的位置關(guān)系。這模擬了自然界中母雞既跟隨自身族群搜索食物,又從其他族群偷取食物的機(jī)制。由式(5)和式(6)可知,C1>1>C2,故母雞的位置將更多地參考自身族群公雞所處位置。
小雞的位置更新為
xC_i,j(t+1)=xC_i,j(t)+F·
(xC_m,j(t)-xC_i,j(t))
(7)
式中:m為第i只小雞對應(yīng)的母雞;F(F∈[0,2])為跟隨系數(shù),表示小雞跟隨母雞尋找食物的緊密度。
1.2.1 增強(qiáng)小雞向公雞學(xué)習(xí)的能力 在CSO算法中,小雞只向雞媽媽學(xué)習(xí),并沒有向自身所在群中的公雞學(xué)習(xí),這就很容易導(dǎo)致當(dāng)雞媽媽陷入局部最優(yōu)時(shí),小雞也因此陷入局部最優(yōu),從而導(dǎo)致整個(gè)雞群算法陷于局部最優(yōu),影響算法的精度。本文在小雞更新自己的位置時(shí),不僅獲取雞媽媽的位置信息,還要獲得整個(gè)子群中公雞的位置。通過實(shí)驗(yàn)仿真,在控制其他變量不變的情況下,改變學(xué)習(xí)因子C的值(C∈(0,1)),即每隔0.1改變一次,找出最為合適的C值。
1.2.2 增強(qiáng)母雞、小雞自我學(xué)習(xí)能力 在基本CSO算法中,母雞、小雞都沒有自我學(xué)習(xí)能力,這降低了算法的尋優(yōu)能力,本文引進(jìn)自我學(xué)習(xí)系數(shù)ω(與粒子群的慣性權(quán)值類似)。傳統(tǒng)的慣性權(quán)值的線性、非線性動(dòng)態(tài)調(diào)整主要是在迭代初期,將慣性權(quán)值設(shè)為較大值,使其具有較強(qiáng)地探索能力,有利于全局搜索;而在迭代后期,將慣性權(quán)值設(shè)為較小值,使其進(jìn)行更為精細(xì)的局部搜索,以便得到更精確的解。但這些方法的慣性權(quán)值調(diào)節(jié)方法太過單一,微粒均采用相同的慣性權(quán)值,忽略了微粒的獨(dú)特性,降低了種群的多樣性,遇到復(fù)雜函數(shù)(多峰、高維)時(shí),很難跳出局部最優(yōu)值。為此,本文使ω隨著各自的適應(yīng)度值自適應(yīng)調(diào)節(jié)。以極小值問題為例,自我學(xué)習(xí)系數(shù)設(shè)置如下[10-11]:
ω=
(8)
式中:ωmin和ωmax分別為最小、最大自我學(xué)習(xí)系數(shù);fmean為平均適應(yīng)度值;fmin為最小適應(yīng)度值;fi為整個(gè)雞群每次迭代的適應(yīng)度值。
因此,改進(jìn)后的母雞位置更新為
xH_i,j(t+1)=ωxH_i,j(t)+C1Rand·
(xH_r1,j(t)-xH_i,j(t))+C2Rand·
(xr2,j(t)-xH_i,j(t))
(9)
改進(jìn)后的小雞位置更新為
xC_i,j(t+1)=xC_i,j(t)+ωF·(xC_m,j(t)-
xC_i,j(t))+C(xr,j(t)-xC_i,j(t))
(10)
(1) 初始化雞群位置信息x,并定義相關(guān)參數(shù)NR,NH,NC,NM等;
(2) 計(jì)算雞群的適應(yīng)度值fi,初始化個(gè)體當(dāng)前最好位置pb和雞群全局最好位置gb,t=1;
(3) 若t%G=1或t=1(G為排序間隔長度),則對fi排序,建立雞群等級制度,將雞群分成數(shù)個(gè)子群,并確定母雞和小雞的對應(yīng)關(guān)系;
(4) 利用式(1)、(9)和(10)分別更新公雞、母雞和小雞的位置,計(jì)算每個(gè)個(gè)體的適應(yīng)度值;
(5) 更新雞群個(gè)體當(dāng)前的最好位置和雞群全局的最好位置。
(6) 令t′=t+1,若滿足迭代停止條件,則停止迭代,輸出最優(yōu)值;否則,轉(zhuǎn)到步驟(3)。
為了考察改進(jìn)后CSO算法的性能,本文利用3個(gè)經(jīng)典測試函數(shù)對其進(jìn)行仿真實(shí)驗(yàn),并對結(jié)果加以分析。3個(gè)測試函數(shù)中,Schaffer和Rosenbrock函數(shù)為單模函數(shù),用于考察算法的尋優(yōu)精度和收斂速度;Griewank函數(shù)為多模函數(shù),用于考察算法擺脫局部最優(yōu)解和全局搜尋的能力。
(1) Schaffer函數(shù)
x1,x2∈[-10,10]
(2) Griewank函數(shù)
-600≤xi≤600
(3) Rosenbrock函數(shù)
x1,x2∈[-2.048,2.048]
上述3個(gè)測試函數(shù)的共同點(diǎn)是全局最小值為零,且很難找到全局最優(yōu)值。Schaffer函數(shù)是二維函數(shù),在(0,0)處取得最小值0;Griewank函數(shù)是非線性多模態(tài)函數(shù),在(x1,x2,…,xn)=(0,0,…,0)處取得全局最小值0;Rosenbrock函數(shù)在二維情況下,在(1,1)可取得唯一全局最小值為零。
利用CSO算法和本文改進(jìn)的CSO算法對測試函數(shù)進(jìn)行仿真實(shí)驗(yàn),實(shí)驗(yàn)所用軟件為Matlab R2014a,實(shí)驗(yàn)參數(shù)設(shè)置如下:群體數(shù)量為100,最大迭代數(shù)為1 000,G=10,C=0.3,ωmax=1.5,ωmin=0.04;為得到客觀評價(jià),結(jié)果均是在進(jìn)行了100次獨(dú)立測試后取其均值后得到。表1所示為維數(shù)為2時(shí),CSO算法和改進(jìn)的CSO算法對測試函數(shù)的求解結(jié)果。由表可見,改進(jìn)的CSO算法的尋優(yōu)能力明顯好于CSO算法,這是由于改進(jìn)的CSO算法中引進(jìn)了C和ω;從搜索時(shí)間看,雖然改進(jìn)的CSO算法比CSO算法稍微慢了一些,這是由于改進(jìn)的CSO算法結(jié)構(gòu)較CSO復(fù)雜,但從權(quán)衡看,改進(jìn)的CSO算法用少量的時(shí)間換取了高精度,是可取并有意義的。
兩參數(shù)Weibull分布模型的分布函數(shù)為[12]
表1 維數(shù)為2時(shí),CSO和改進(jìn)的CSO算法對測試函數(shù)的求解結(jié)果
(11)
其概率密度函數(shù)為[13]
(12)
式中:v為實(shí)際測量風(fēng)速;vl為第l個(gè)風(fēng)速值;P(v≤vl)為實(shí)際測量風(fēng)速小于第l個(gè)風(fēng)速值的概率。
等能量密度法是WAsP軟件中用來進(jìn)行風(fēng)能資源評估的方法,在工程實(shí)際中被廣泛應(yīng)用。此方法的中心思想是確保最大限度地表達(dá)風(fēng)的能量部分。利用等能量密度法估計(jì)Weibull分布的2個(gè)參數(shù)需要滿足以下條件[14-15]:① 風(fēng)能密度相等;② 大于平均風(fēng)速的風(fēng)頻概率相同。
根據(jù)實(shí)測風(fēng)速數(shù)據(jù)統(tǒng)計(jì)出風(fēng)速大于年平均風(fēng)速的概率,記為X,則可得到
(13)
設(shè)k的初值為2,經(jīng)過多次迭代計(jì)算,穩(wěn)定后的解即為k的解。則可計(jì)算得到
(14)
式中:v測為實(shí)測的平均風(fēng)速。
建立如下的風(fēng)速Weibull分布模型參數(shù)的目標(biāo)優(yōu)化函數(shù):
(15)
式中:E(k,c)為誤差平方和函數(shù),當(dāng)其為極小值時(shí),對應(yīng)的k,c即為所要計(jì)算的最優(yōu)解(k,c);Pvl為實(shí)際第l個(gè)風(fēng)速值vl(即vl=1 m/s)的統(tǒng)計(jì)概率;N為原始風(fēng)速數(shù)據(jù)劃分的風(fēng)速段數(shù)。
利用改進(jìn)的CSO算法優(yōu)化Weibull分布模型參數(shù)的流程如圖1所示。
圖1 優(yōu)化的Weibull分布模型參數(shù)流程圖
表2 不同輪轂高度實(shí)際測量得到的風(fēng)能資源特性指標(biāo)值
利用等能量密度法和改進(jìn)的CSO算法分別計(jì)算k,c,然后,利用計(jì)算得到的結(jié)果分別對實(shí)測風(fēng)速數(shù)據(jù)進(jìn)行風(fēng)能資源評估,即計(jì)算風(fēng)能資源的特性指標(biāo)值,得到的結(jié)果如表3所示。
表3 2種方法計(jì)算得到的k,c及風(fēng)能特性指標(biāo)評估值
為評價(jià)改進(jìn)的CSO算法對風(fēng)能資源特性指標(biāo)的評估精度,利用絕對誤差e和相對誤差R對評估結(jié)果進(jìn)行評價(jià),并與等能量密度法進(jìn)行比較,其中:
表4 2種方法在不同輪轂高度的風(fēng)能資源特性指標(biāo)評價(jià)結(jié)果
考慮到風(fēng)速分布服從兩參數(shù)Weibull分布函數(shù),本文在CSO算法的基礎(chǔ)上,引入小雞的學(xué)習(xí)因子C和自我學(xué)習(xí)系數(shù)ω加以改進(jìn),并利用河南開封尉氏某風(fēng)電場連續(xù)一年的的測風(fēng)數(shù)據(jù)對改進(jìn)的雞群算法進(jìn)行驗(yàn)證。結(jié)果表明,利用改進(jìn)的CSO算法尋優(yōu)得到的Weibull參數(shù)所計(jì)算出的風(fēng)能特性指標(biāo)誤差率普遍較好,由此可見,改進(jìn)的CSO算法更適合應(yīng)用于風(fēng)電場的風(fēng)能資源評估。
[1] 封宇, 何焱, 朱啟昊,等. 近海及海上風(fēng)資源時(shí)空特性研究 [J]. 清華大學(xué)學(xué)報(bào)(自然科學(xué)版), 2016,56(5):522-529.
[2] 郁永靜, 何一, 劉志遠(yuǎn),等. 基于最大熵原理的風(fēng)電場風(fēng)頻分布研究 [J]. 水力發(fā)電, 2017,43(6):93-96,119.
[3] 陳國初,楊維,張延遲,等.風(fēng)電場風(fēng)速概率分布參數(shù)計(jì)算新方法[J].電力系統(tǒng)及其自動(dòng)化學(xué)報(bào),2011,23(01):46-51.
[4] 陳光,任志良,孫海柱.最小二乘曲線擬合及Matlab 實(shí)現(xiàn) [J].兵工自動(dòng)化,2005,24(3):107-108.
[5] BAUM C F,SCHAFFER M E,STILLMAN S. Enhanced routines for instrumental variables/generalized method of moments estimation and testing [J]. Boston College Working Papers in Economics, 2007,7(4):465-506.
[6] METZ C E, HERMAN B A, SHEN J H. Maxi-mum likelihood estimation of receiver operating characteristic (ROC) curves from continuously-distributed data [J]. Statistics in Medicine,2015,17(9):1033-1053.
[7] QU Chiwen, ZHAO Shi’an, FU Yanming,et al. Chicken Swarm Optimization Based on Elite Opposition-Based Learning [J]. Mathematical Problems in Engineering,2017,2017:1-20.
[8] Meng X, Liu Y, Gao X, et al. A new bio-inspired algorithm: Chicken swarm optimization[G]// Advances in Swarm Intelligence.[S.l.]: Springer International Publishing, 2014: 86-94.
[9] 孔飛, 吳定會(huì). 一種改進(jìn)的雞群算法 [J]. 江南大學(xué)學(xué)報(bào)(自然科學(xué)版), 2015, 14(6):681-688.
[10] 葉林, 楊丹萍, 趙永寧. 風(fēng)電場風(fēng)能資源評估的測量—關(guān)聯(lián)—預(yù)測方法綜述 [J]. 電力系統(tǒng)自動(dòng)化, 2016,40(3):140-151.
[11] 楊維, 陳國初, 張延遲,等. 改進(jìn)的微粒群算法及其在風(fēng)電場建模中的應(yīng)用 [J]. 計(jì)算機(jī)工程與應(yīng)用, 2011, 47(1):223-227.
[12] LI Gong, SHI Jing. Application of Bayesian model averaging in modeling long-term wind speed distributions [J]. Renewable Energy, 2010, 35(6):1192-1202.
[13] CARTA J A, RAMíREZ P. Analysis of two-component mixture Weibull statistics for estimation of wind speed distributions [J]. Renewable Energy, 2007, 32(3):518-531.
[14] WANG Zhifeng, DONG Sheng, DONG Xiangke,et al. Assessment of wind energy and wave energy resources in Weifang sea area [J]. International Journal of Hydrogen Energy, 2016, 41(35):15805-15811.
[15] MAHMUDDIN F, IDRUS M, HAMZAH. Analysis of ocean wind energy density around sulawesi and maluku islands with scatterometer data [J]. Energy Procedia, 2015, 65:107-115.