蘇柯文 張永明
(上海電機(jī)學(xué)院電氣學(xué)院 上海 201306)
近年來(lái)風(fēng)力發(fā)電技術(shù)發(fā)展迅猛,并網(wǎng)風(fēng)電場(chǎng)的規(guī)模和數(shù)量也在不斷增多。《2018全球風(fēng)電研究報(bào)告》顯示,截至2018年全球風(fēng)電裝機(jī)總?cè)萘恳堰_(dá)592 GW,其中我國(guó)風(fēng)電裝機(jī)總?cè)萘恳堰_(dá)221 GW。風(fēng)能具有間歇性、隨機(jī)性等特點(diǎn),隨著并網(wǎng)風(fēng)電場(chǎng)的建設(shè)規(guī)模越來(lái)越大,風(fēng)力發(fā)電場(chǎng)輸出的不確定性及并網(wǎng)后各風(fēng)力發(fā)電機(jī)間的相互影響對(duì)電網(wǎng)的影響問(wèn)題越來(lái)越突出[1],因此對(duì)電力系統(tǒng)進(jìn)行研究時(shí),并網(wǎng)風(fēng)電場(chǎng)的影響不容忽視。為減小計(jì)算規(guī)模,縮短仿真時(shí)間,對(duì)并網(wǎng)風(fēng)電場(chǎng)進(jìn)行建模時(shí)通常采用等值建模的方法。
風(fēng)電場(chǎng)的等值建模目前主要有單機(jī)等值和多機(jī)等值兩種方法,當(dāng)風(fēng)電場(chǎng)各風(fēng)力發(fā)電機(jī)組型號(hào)相同,進(jìn)入風(fēng)速差異不大時(shí),可以采用單機(jī)等值的方法。但是現(xiàn)實(shí)中每個(gè)風(fēng)電場(chǎng)包含幾十或者上百臺(tái)風(fēng)力發(fā)電機(jī)組,風(fēng)力發(fā)電機(jī)組型號(hào)不盡相同,進(jìn)入風(fēng)速也有較大的差異,因此單機(jī)等值模型不再適用,此時(shí)需要使用多機(jī)等值法來(lái)對(duì)整個(gè)風(fēng)力發(fā)電場(chǎng)進(jìn)行等值。
在使用多臺(tái)風(fēng)力發(fā)電機(jī)對(duì)整個(gè)風(fēng)力發(fā)電場(chǎng)進(jìn)行等值之前,首先需要對(duì)風(fēng)電場(chǎng)內(nèi)的各風(fēng)電機(jī)組進(jìn)行分群聚類(lèi)處理。在聚類(lèi)方法的選取上,文獻(xiàn)[2]提出基于分裂層次半監(jiān)督譜聚類(lèi)算法的風(fēng)電場(chǎng)機(jī)群劃分方法,但是這種方法容易導(dǎo)致聚類(lèi)機(jī)群過(guò)多。文獻(xiàn)[3]使用遺傳算法對(duì)風(fēng)電場(chǎng)進(jìn)行機(jī)群劃分,但是遺傳算法迭代次數(shù)過(guò)多。文獻(xiàn)[4]使用K-means算法對(duì)風(fēng)電場(chǎng)進(jìn)行機(jī)群聚合,但是此算法對(duì)K值的選取是最大的問(wèn)題,而且聚類(lèi)結(jié)果與初始聚類(lèi)中心的選取有關(guān),無(wú)法獲得全局最優(yōu)[5]。文獻(xiàn)[6]結(jié)合粒子群算法,定義了一種不需要迭代的方法,對(duì)初始聚類(lèi)中心優(yōu)化。在聚類(lèi)參數(shù)的選取上,文獻(xiàn)[7]考慮了尾流效應(yīng)、風(fēng)速及風(fēng)向的影響,但是考慮不夠全面。文獻(xiàn)[8]根據(jù)風(fēng)電場(chǎng)中對(duì)風(fēng)速-功率曲線的實(shí)測(cè)值對(duì)風(fēng)電機(jī)組進(jìn)行分群。為了使風(fēng)力發(fā)電機(jī)組分群更加精確,也有學(xué)者充分研究了風(fēng)速、滑移率、俯仰角和有功功率后,把它們作為分群指標(biāo)[9-10],文獻(xiàn)[11]對(duì)風(fēng)力發(fā)電場(chǎng)進(jìn)行戴維南等值建模,文獻(xiàn)[12]就三種不同的風(fēng)電場(chǎng)分布形式分別提出了等值建模方法。
本文針對(duì)K-means算法聚類(lèi)中心選取困難的問(wèn)題,提出一種基于改進(jìn)自適應(yīng)特性鳥(niǎo)群算法的K-means聚類(lèi)方法。針對(duì)鳥(niǎo)群算法,首先通過(guò)利用混沌算法初始化種群,提高種群的多樣性;其次通過(guò)引入慣性權(quán)重,對(duì)認(rèn)知和社會(huì)系數(shù)的非線性調(diào)整來(lái)提高鳥(niǎo)類(lèi)的本地和全局搜索能力;然后通過(guò)與K-means聚類(lèi)算法相結(jié)合,尋找最佳聚類(lèi)中心對(duì)風(fēng)電機(jī)組進(jìn)行聚類(lèi);最后在MATLAB/Simulink中進(jìn)行仿真驗(yàn)證分析。
鳥(niǎo)群算法是2015年提出的一種生物啟發(fā)式算法,源于鳥(niǎo)類(lèi)覓食、警戒和自然界中的飛行行為。鳥(niǎo)群算法的目標(biāo)是解決優(yōu)化問(wèn)題,以下是關(guān)于鳥(niǎo)群算法的一些理想化規(guī)則:
(1) 每只鳥(niǎo)可以在覓食行為和警戒行為中自由切換,其中鳥(niǎo)類(lèi)覓食或保持警惕被建模為隨機(jī)決策。
(2) 在覓食過(guò)程中,每只鳥(niǎo)都能及時(shí)記錄和更新其先前的最佳覓食位置,同時(shí)會(huì)把這一信息分享給群體中的其他鳥(niǎo)類(lèi),然后記錄下種群最佳覓食位置。
(3) 在警戒過(guò)程中,每只鳥(niǎo)都會(huì)有往種群中心移動(dòng)的趨勢(shì),但是這一過(guò)程會(huì)受到其他鳥(niǎo)類(lèi)的干擾,儲(chǔ)備較高的鳥(niǎo)類(lèi)比儲(chǔ)備較低的鳥(niǎo)類(lèi)更容易接近種群中心。
(4) 鳥(niǎo)類(lèi)會(huì)定期飛往另一個(gè)地方。飛往另一個(gè)地方時(shí),食物信息儲(chǔ)量最高的鳥(niǎo)類(lèi)是生產(chǎn)者,而儲(chǔ)備量最低的鳥(niǎo)類(lèi)則是掠奪者,其他保留在最高和最低儲(chǔ)備之間的鳥(niǎo)將隨機(jī)選擇為生產(chǎn)者和掠奪者。
(5) 生產(chǎn)者積極尋找食物,掠奪者隨機(jī)跟隨一位生產(chǎn)者尋找食物。
鳥(niǎo)群的一系列行為可以理想化為以下數(shù)學(xué)模型:
(1) 覓食行為。每只鳥(niǎo)根據(jù)個(gè)人經(jīng)驗(yàn)或者種群經(jīng)驗(yàn)覓食,如果一個(gè)隨機(jī)數(shù)均勻分布在(0,1)之間,那么這只鳥(niǎo)就會(huì)覓食,否則這只鳥(niǎo)仍然會(huì)保持警惕。
(1)
(2) 警戒行為。鳥(niǎo)類(lèi)會(huì)試圖移動(dòng)到種群中心,它們將不可避免地發(fā)生競(jìng)爭(zhēng)。它們的行為如下:
(2)
(3)
(4)
式中:k(k≠i)是正整數(shù),且k
(3) 飛行行為。為了躲避天敵和覓食或者由于一些其他的原因,鳥(niǎo)群會(huì)從一個(gè)地方遷移到另一個(gè)地方,在新的地點(diǎn)鳥(niǎo)群會(huì)重新開(kāi)始尋找食物。一些作為生產(chǎn)者的鳥(niǎo)類(lèi)會(huì)開(kāi)始覓食,另一些作為掠奪者的鳥(niǎo)類(lèi)會(huì)跟隨生產(chǎn)者尋找食物。根據(jù)規(guī)則(4),生產(chǎn)者和掠奪者可以從種群中分離,它們的行為模擬表示為:
(5)
(6)
式中:randn(0,1)表示高斯分布的隨機(jī)數(shù)為0,標(biāo)準(zhǔn)差為1;k∈[1,N],且k≠i,F(xiàn)L∈[0,2]表示掠奪者跟隨生產(chǎn)者尋找食物。假設(shè)飛行頻率為FQ∈Z+,F(xiàn)Q的實(shí)際意義為鳥(niǎo)群算法中兩種不同搜索算子的切換頻率。
混沌優(yōu)化初始化種群:鳥(niǎo)群算法以隨機(jī)的方式生成初始種群,因此不能保證群體的多樣性,從而影響算法的性能,所以可以采用混沌優(yōu)化算法[13]來(lái)初始化種群。本文采用這種方法在搜索空間中均勻分布個(gè)體,提高鳥(niǎo)群算法的優(yōu)化能力。
引入自適應(yīng)慣性權(quán)重:慣性權(quán)重的概念最初由Shi和Eberhart提出,用于解決粒子爆炸問(wèn)題,文獻(xiàn)[14]提出了基于慣性權(quán)重W的線性遞減粒子群優(yōu)化算法,該算法對(duì)慣性權(quán)重的研究具有深遠(yuǎn)影響。
本文將慣性權(quán)重W加入到式(1)中,通過(guò)調(diào)整W的值來(lái)實(shí)現(xiàn)全局搜索和局部搜索之間的平衡,該方法可以加速收斂并提高算法的性能。
(7)
式中:Wmax=0.9;Wmin=0.4;t是當(dāng)前迭代次數(shù);tmax是最大迭代次數(shù)。
學(xué)習(xí)系數(shù)的非線性調(diào)整:鳥(niǎo)群算法中的C和S分別代表認(rèn)知和社會(huì)加速系數(shù),這種方法適應(yīng)性地調(diào)整自己的認(rèn)知和社會(huì)經(jīng)驗(yàn)。C和S在覓食早期是相同的,這表明“個(gè)體”和“群體”對(duì)粒子搜索過(guò)程具有相同的影響。在覓食后期,C取一個(gè)較小的值,S取一個(gè)較大的值,這使得本地搜索能力加強(qiáng)。非線性調(diào)整學(xué)習(xí)系數(shù)的更新公式如下:
(8)
(9)
因此,改進(jìn)的覓食公式為:
(10)
式(10)右邊第一部分為第i只鳥(niǎo)的先前位置,用來(lái)保證算法的收斂性;第二部分為引起鳥(niǎo)類(lèi)位置變化的認(rèn)知因素;第三部分為引起鳥(niǎo)類(lèi)位置變化的社會(huì)因素,使算法具有局部搜索能力。所以,慣性權(quán)重W起到了平衡全局搜索能力和局部搜索能力的作用,如果W較大,則有利于全局搜索,此時(shí)雖然收斂速度快,但是得不到精確解;如果W較小,則全局搜索能力弱,局部搜索能力強(qiáng),此時(shí)得到的解更加精確,但是收斂速度慢,有時(shí)會(huì)陷入局部最優(yōu)。
關(guān)于生產(chǎn)者位置增加干擾問(wèn)題,式(6)是位置更新的公式,由于掠奪者只跟隨生產(chǎn)者搜尋食物,一旦生產(chǎn)者陷入局部最優(yōu)化,那么掠奪者也將陷入局部最優(yōu)。為了解決這一問(wèn)題,將干擾項(xiàng)增加到生產(chǎn)者的位置式(5)中,可以增強(qiáng)其獲得全局最優(yōu)的能力而有效地避免局部最優(yōu)化。改進(jìn)的生產(chǎn)者位置更新公式如下:
(11)
K-means聚類(lèi)算法的目的是找到聚類(lèi)中心,每個(gè)類(lèi)別中所有對(duì)象之間的距離和最小。K-means算法依賴(lài)于聚類(lèi)中心,容易達(dá)不到全局最優(yōu)。因此,改進(jìn)鳥(niǎo)群算法在本文中的目的是找到最優(yōu)的聚類(lèi)中心,從而實(shí)現(xiàn)最佳的聚類(lèi)效果。設(shè)定分群聚類(lèi)后每一類(lèi)中所有數(shù)據(jù)到該類(lèi)中聚類(lèi)中心的距離和為目標(biāo)函數(shù):
(12)
式中:yi為第i類(lèi)聚類(lèi)中心;K為聚類(lèi)數(shù);xi,j為第i類(lèi)對(duì)象;f為目標(biāo)函數(shù)的適應(yīng)值;d(xi,j,yi)表示xi,j和yi的全導(dǎo)數(shù)。
基于改進(jìn)鳥(niǎo)群算法的K-means聚類(lèi)算法步驟如下:
步驟1初始化每個(gè)參數(shù),將N設(shè)置為總?cè)丝?,設(shè)置a1、a2和FQ的初始值,定義鳥(niǎo)群搜索的空間維度為2。
步驟2設(shè)置外部循環(huán)的最大迭代次數(shù)為tmax。
步驟3設(shè)置變量i=1,進(jìn)入內(nèi)循環(huán),并根據(jù)式(2)、式(9)、式(11)和式(6)更新覓食行為中鳥(niǎo)群的位置信息。
步驟4設(shè)t=t+1,確認(rèn)當(dāng)前迭代次數(shù)是否達(dá)到FQ。如果達(dá)到當(dāng)前迭代次數(shù),則這些鳥(niǎo)兒將會(huì)被分成兩組:掠奪者和生產(chǎn)者,并且根據(jù)式(6)和式(11)分別更新鳥(niǎo)群位置;否則跳過(guò)式(6)處理,繼續(xù)迭代。
步驟5達(dá)到最大迭代次數(shù)或者在多次迭代中未更新鳥(niǎo)的位置,則停止計(jì)算并獲得最佳參考值。
步驟6步驟5獲得的最佳聚類(lèi)中心用作K-means的初始聚類(lèi)中心,數(shù)據(jù)被分配為K類(lèi)。
步驟7重新計(jì)算聚類(lèi)中心直到不再變化,迭代結(jié)束然后輸出聚類(lèi)結(jié)果。
IBSA-K-means聚類(lèi)算法流程如圖1所示。
圖1 IBSA-K-means聚類(lèi)算法流程
本文所用聚類(lèi)方法把雙饋風(fēng)力發(fā)電機(jī)的12個(gè)狀態(tài)變量作為風(fēng)電機(jī)組的聚類(lèi)指標(biāo),主要有風(fēng)速v、轉(zhuǎn)差率s、槳距角β、風(fēng)電機(jī)轉(zhuǎn)矩TM、機(jī)械轉(zhuǎn)矩TT、電磁轉(zhuǎn)矩Te、定子d軸電流Ids、定子q軸電流Iqs、轉(zhuǎn)子d軸電流Idr、轉(zhuǎn)子q軸電流Iqr、轉(zhuǎn)子d軸電壓Udr、轉(zhuǎn)子q軸電壓Uqr。以上參數(shù)在知道風(fēng)力發(fā)電機(jī)的功率因數(shù)及運(yùn)行曲線的情況下,通過(guò)獲取風(fēng)力發(fā)電機(jī)的進(jìn)入風(fēng)速可以很容易計(jì)算得到。
假設(shè)風(fēng)力發(fā)電場(chǎng)分群后第K群中有n臺(tái)雙饋風(fēng)力發(fā)電機(jī)組,把它們等值為一臺(tái)風(fēng)力發(fā)電機(jī),則各部分參數(shù)計(jì)算如下:
(1) 發(fā)電機(jī)參數(shù)計(jì)算:
(13)
式中:S為風(fēng)力發(fā)電機(jī)的容量;P為風(fēng)力發(fā)電機(jī)組有功功率;Q為風(fēng)力發(fā)電機(jī)組無(wú)功功率;Xm為勵(lì)磁電抗;Rs為定子電阻;Rr為轉(zhuǎn)子電阻;Xs為定子電抗;Xr為轉(zhuǎn)子電抗;下標(biāo)i為第i臺(tái)風(fēng)力發(fā)電機(jī)參數(shù);下標(biāo)eq為等值后的風(fēng)力發(fā)電機(jī)組參數(shù);下標(biāo)req和seq分別表示等值后轉(zhuǎn)子和定子參數(shù)。
(2) 軸系參數(shù)計(jì)算:
(14)
式中:H為慣性時(shí)間常數(shù);K為軸系剛度系數(shù);D為軸系阻尼系數(shù);Di表示第i臺(tái)風(fēng)力發(fā)電機(jī)的阻尼系數(shù)。
(3) 集電系統(tǒng)參數(shù)計(jì)算:
(15)
式中:n為風(fēng)電機(jī)組的總數(shù)量;Zi為第i臺(tái)風(fēng)電機(jī)組的線路阻抗;Pi為流過(guò)阻抗Zi的總功率;Zeq為等值后的阻抗。
(4) 等值模型誤差分析。為了對(duì)風(fēng)力發(fā)電場(chǎng)等值模型的誤差進(jìn)行分析,以風(fēng)電場(chǎng)詳細(xì)模型輸出電氣參數(shù)為標(biāo)準(zhǔn),采用均方差定義風(fēng)電場(chǎng)等值模型的有功功率和無(wú)功功率誤差評(píng)價(jià)指標(biāo)E為:
(16)
式中:z為詳細(xì)模型輸出電氣參數(shù);zi為等值模型輸出電氣參數(shù);n為采樣點(diǎn)數(shù)。
針對(duì)本文所提等值建模方法的仿真驗(yàn)證,在MATLAB中搭建包含24臺(tái)雙饋風(fēng)電機(jī)的風(fēng)力發(fā)電場(chǎng)模型,其中每臺(tái)風(fēng)力發(fā)電機(jī)組的容量為1.5 MW,風(fēng)電場(chǎng)系統(tǒng)連接方式如圖2所示。每臺(tái)風(fēng)力發(fā)電機(jī)通過(guò)變壓器升壓至35 kV,風(fēng)電場(chǎng)內(nèi)每6臺(tái)風(fēng)電機(jī)組通過(guò)架空線路連接,然后匯入PCC處,通過(guò)35 kV/220 kV變電所與電網(wǎng)相連。
圖2 風(fēng)電場(chǎng)系統(tǒng)單線圖
對(duì)本文所提12個(gè)狀態(tài)變量使用基于改進(jìn)自適應(yīng)特性鳥(niǎo)群的K-means聚類(lèi)算法對(duì)這12個(gè)狀態(tài)變量進(jìn)行聚類(lèi),把風(fēng)電場(chǎng)中的24臺(tái)風(fēng)力發(fā)電機(jī)組分為4類(lèi),如表1所示,圖3為等值后的風(fēng)電場(chǎng)接線圖。
表1 聚類(lèi)結(jié)果
圖3 等值風(fēng)電場(chǎng)單線圖
通過(guò)選擇相同的聚類(lèi)指標(biāo),把本文聚類(lèi)算法與其他算法進(jìn)行對(duì)比,如表2所示,所有算法設(shè)置最大迭代次數(shù)為500,本文中IBSA算法的參數(shù)設(shè)置為N=30,F(xiàn)Q=3,P=1。本文進(jìn)行了50次獨(dú)立實(shí)驗(yàn),并進(jìn)行記錄,然后把各類(lèi)算法的最大值、最小值、平均值、標(biāo)準(zhǔn)差和達(dá)優(yōu)率進(jìn)行對(duì)比,不同算法的對(duì)比結(jié)果如表2所示。圖4和圖5分別給出了K-means算法和IBSA-K-means算法聚類(lèi)輪廓值,輪廓值是對(duì)聚類(lèi)效果好壞的一種評(píng)價(jià)方式,輪廓值處于-1~1之間,值越大說(shuō)明聚類(lèi)效果越好。
表2 不同算法實(shí)驗(yàn)結(jié)果對(duì)比
圖4 K-means算法聚類(lèi)輪廓值
圖5 IBSA-K-means算法聚類(lèi)輪廓值
由表2可以看出,K-means算法的收斂效應(yīng)最差,BSA-K-means算法與K-means相比有較大的優(yōu)勢(shì),可以滿足很多領(lǐng)域的要求,而本文對(duì)鳥(niǎo)群算法改進(jìn)后的IBSA-K-means算法與其他三種相比具有較大的優(yōu)勢(shì),雖然收斂速度與K-means算法相比較慢,但是其穩(wěn)定性和達(dá)優(yōu)率都有較大的改觀。從圖4和圖5中可以看出,IBSA-K-means算法聚類(lèi)輪廓值都處于0.8以上,有些輪廓值已經(jīng)很接近1,反觀K-means算法聚類(lèi)輪廓值參差不齊,有些輪廓值在0.1附近,顯示出了聚類(lèi)的不合理性,由此可見(jiàn)本文改進(jìn)的IBSA-K-means聚類(lèi)算法在實(shí)際應(yīng)用中要優(yōu)于傳統(tǒng)的K-means算法。
為進(jìn)一步證實(shí)本文所用聚類(lèi)算法的優(yōu)越性,在相同的聚類(lèi)指標(biāo)下,對(duì)比不同的聚類(lèi)算法的優(yōu)劣,分別在風(fēng)速擾動(dòng)和故障情況下從有功功率、無(wú)功功率兩個(gè)方面來(lái)分析。
三種不同的聚合模型分別用于再現(xiàn)風(fēng)速擾動(dòng)和故障擾動(dòng)下的風(fēng)電場(chǎng)動(dòng)態(tài)響應(yīng),三種不同的聚類(lèi)算法PCC處有功功率和無(wú)功功率的動(dòng)態(tài)響應(yīng)對(duì)比如圖6-圖9所示。表3和表4為在風(fēng)速擾動(dòng)和故障擾動(dòng)下基于不同聚類(lèi)算法的等值模型通過(guò)式(16)方法計(jì)算的等值誤差,從圖6至圖9、表3和表4中可以看出,與基于K-means聚類(lèi)算法的等值模型相比,本文提出的基于改進(jìn)BSA的K-means聚類(lèi)算法的等值模型與詳細(xì)模型的功率出力曲線相似度更高,誤差更小,能準(zhǔn)確地對(duì)雙饋風(fēng)力發(fā)電機(jī)進(jìn)行分群處理,可以適用于大規(guī)模風(fēng)力發(fā)電場(chǎng)的等值建模。
圖6 風(fēng)速擾動(dòng)下有功功率的動(dòng)態(tài)響應(yīng)
圖7 風(fēng)速擾動(dòng)下無(wú)功功率的動(dòng)態(tài)響應(yīng)
圖8 故障擾動(dòng)下有功功率的動(dòng)態(tài)響應(yīng)
圖9 故障擾動(dòng)下無(wú)功功率的動(dòng)態(tài)響應(yīng)
表3 風(fēng)速擾動(dòng)下等值模型誤差 %
表4 故障擾動(dòng)下等值模型誤差 %
針對(duì)目前風(fēng)力發(fā)電場(chǎng)聚類(lèi)等值建模精度不高的情況,本文提出一種基于改進(jìn)自適應(yīng)特性鳥(niǎo)群的K-means聚類(lèi)算法。該算法采用風(fēng)力發(fā)電機(jī)組的12個(gè)狀態(tài)變量作為分群指標(biāo)對(duì)風(fēng)電機(jī)組進(jìn)行分群,然后分別對(duì)每個(gè)群組內(nèi)的風(fēng)力發(fā)電機(jī)進(jìn)行等值。在相同的分群指標(biāo)下,把仿真結(jié)果通過(guò)與傳統(tǒng)聚類(lèi)方法和詳細(xì)模型對(duì)比,證實(shí)了本文方法的精確性。在擾動(dòng)及故障情況下,都能很好地表征風(fēng)力發(fā)電場(chǎng)的對(duì)外特性,為風(fēng)力發(fā)電場(chǎng)的等值建模提供了一個(gè)很好的聚類(lèi)方法。