蘇柯文 張永明
(上海電機學院電氣學院 上海 201306)
近年來風力發電技術發展迅猛,并網風電場的規模和數量也在不斷增多。《2018全球風電研究報告》顯示,截至2018年全球風電裝機總容量已達592 GW,其中我國風電裝機總容量已達221 GW。風能具有間歇性、隨機性等特點,隨著并網風電場的建設規模越來越大,風力發電場輸出的不確定性及并網后各風力發電機間的相互影響對電網的影響問題越來越突出[1],因此對電力系統進行研究時,并網風電場的影響不容忽視。為減小計算規模,縮短仿真時間,對并網風電場進行建模時通常采用等值建模的方法。
風電場的等值建模目前主要有單機等值和多機等值兩種方法,當風電場各風力發電機組型號相同,進入風速差異不大時,可以采用單機等值的方法。但是現實中每個風電場包含幾十或者上百臺風力發電機組,風力發電機組型號不盡相同,進入風速也有較大的差異,因此單機等值模型不再適用,此時需要使用多機等值法來對整個風力發電場進行等值。
在使用多臺風力發電機對整個風力發電場進行等值之前,首先需要對風電場內的各風電機組進行分群聚類處理。在聚類方法的選取上,文獻[2]提出基于分裂層次半監督譜聚類算法的風電場機群劃分方法,但是這種方法容易導致聚類機群過多。文獻[3]使用遺傳算法對風電場進行機群劃分,但是遺傳算法迭代次數過多。文獻[4]使用K-means算法對風電場進行機群聚合,但是此算法對K值的選取是最大的問題,而且聚類結果與初始聚類中心的選取有關,無法獲得全局最優[5]。文獻[6]結合粒子群算法,定義了一種不需要迭代的方法,對初始聚類中心優化。在聚類參數的選取上,文獻[7]考慮了尾流效應、風速及風向的影響,但是考慮不夠全面。文獻[8]根據風電場中對風速-功率曲線的實測值對風電機組進行分群。為了使風力發電機組分群更加精確,也有學者充分研究了風速、滑移率、俯仰角和有功功率后,把它們作為分群指標[9-10],文獻[11]對風力發電場進行戴維南等值建模,文獻[12]就三種不同的風電場分布形式分別提出了等值建模方法。
本文針對K-means算法聚類中心選取困難的問題,提出一種基于改進自適應特性鳥群算法的K-means聚類方法。針對鳥群算法,首先通過利用混沌算法初始化種群,提高種群的多樣性;其次通過引入慣性權重,對認知和社會系數的非線性調整來提高鳥類的本地和全局搜索能力;然后通過與K-means聚類算法相結合,尋找最佳聚類中心對風電機組進行聚類;最后在MATLAB/Simulink中進行仿真驗證分析。
鳥群算法是2015年提出的一種生物啟發式算法,源于鳥類覓食、警戒和自然界中的飛行行為。鳥群算法的目標是解決優化問題,以下是關于鳥群算法的一些理想化規則:
(1) 每只鳥可以在覓食行為和警戒行為中自由切換,其中鳥類覓食或保持警惕被建模為隨機決策。
(2) 在覓食過程中,每只鳥都能及時記錄和更新其先前的最佳覓食位置,同時會把這一信息分享給群體中的其他鳥類,然后記錄下種群最佳覓食位置。
(3) 在警戒過程中,每只鳥都會有往種群中心移動的趨勢,但是這一過程會受到其他鳥類的干擾,儲備較高的鳥類比儲備較低的鳥類更容易接近種群中心。
(4) 鳥類會定期飛往另一個地方。飛往另一個地方時,食物信息儲量最高的鳥類是生產者,而儲備量最低的鳥類則是掠奪者,其他保留在最高和最低儲備之間的鳥將隨機選擇為生產者和掠奪者。
(5) 生產者積極尋找食物,掠奪者隨機跟隨一位生產者尋找食物。
鳥群的一系列行為可以理想化為以下數學模型:
(1) 覓食行為。每只鳥根據個人經驗或者種群經驗覓食,如果一個隨機數均勻分布在(0,1)之間,那么這只鳥就會覓食,否則這只鳥仍然會保持警惕。
(1)

(2) 警戒行為。鳥類會試圖移動到種群中心,它們將不可避免地發生競爭。它們的行為如下:
(2)

(3)
(4)
式中:k(k≠i)是正整數,且k
(3) 飛行行為。為了躲避天敵和覓食或者由于一些其他的原因,鳥群會從一個地方遷移到另一個地方,在新的地點鳥群會重新開始尋找食物。一些作為生產者的鳥類會開始覓食,另一些作為掠奪者的鳥類會跟隨生產者尋找食物。根據規則(4),生產者和掠奪者可以從種群中分離,它們的行為模擬表示為:
(5)
(6)
式中:randn(0,1)表示高斯分布的隨機數為0,標準差為1;k∈[1,N],且k≠i,FL∈[0,2]表示掠奪者跟隨生產者尋找食物。假設飛行頻率為FQ∈Z+,FQ的實際意義為鳥群算法中兩種不同搜索算子的切換頻率。
混沌優化初始化種群:鳥群算法以隨機的方式生成初始種群,因此不能保證群體的多樣性,從而影響算法的性能,所以可以采用混沌優化算法[13]來初始化種群。本文采用這種方法在搜索空間中均勻分布個體,提高鳥群算法的優化能力。
引入自適應慣性權重:慣性權重的概念最初由Shi和Eberhart提出,用于解決粒子爆炸問題,文獻[14]提出了基于慣性權重W的線性遞減粒子群優化算法,該算法對慣性權重的研究具有深遠影響。
本文將慣性權重W加入到式(1)中,通過調整W的值來實現全局搜索和局部搜索之間的平衡,該方法可以加速收斂并提高算法的性能。
(7)
式中:Wmax=0.9;Wmin=0.4;t是當前迭代次數;tmax是最大迭代次數。
學習系數的非線性調整:鳥群算法中的C和S分別代表認知和社會加速系數,這種方法適應性地調整自己的認知和社會經驗。C和S在覓食早期是相同的,這表明“個體”和“群體”對粒子搜索過程具有相同的影響。在覓食后期,C取一個較小的值,S取一個較大的值,這使得本地搜索能力加強。非線性調整學習系數的更新公式如下:
(8)
(9)
因此,改進的覓食公式為:
(10)
式(10)右邊第一部分為第i只鳥的先前位置,用來保證算法的收斂性;第二部分為引起鳥類位置變化的認知因素;第三部分為引起鳥類位置變化的社會因素,使算法具有局部搜索能力。所以,慣性權重W起到了平衡全局搜索能力和局部搜索能力的作用,如果W較大,則有利于全局搜索,此時雖然收斂速度快,但是得不到精確解;如果W較小,則全局搜索能力弱,局部搜索能力強,此時得到的解更加精確,但是收斂速度慢,有時會陷入局部最優。
關于生產者位置增加干擾問題,式(6)是位置更新的公式,由于掠奪者只跟隨生產者搜尋食物,一旦生產者陷入局部最優化,那么掠奪者也將陷入局部最優。為了解決這一問題,將干擾項增加到生產者的位置式(5)中,可以增強其獲得全局最優的能力而有效地避免局部最優化。改進的生產者位置更新公式如下:
(11)
K-means聚類算法的目的是找到聚類中心,每個類別中所有對象之間的距離和最小。K-means算法依賴于聚類中心,容易達不到全局最優。因此,改進鳥群算法在本文中的目的是找到最優的聚類中心,從而實現最佳的聚類效果。設定分群聚類后每一類中所有數據到該類中聚類中心的距離和為目標函數:
(12)
式中:yi為第i類聚類中心;K為聚類數;xi,j為第i類對象;f為目標函數的適應值;d(xi,j,yi)表示xi,j和yi的全導數。
基于改進鳥群算法的K-means聚類算法步驟如下:
步驟1初始化每個參數,將N設置為總人口,設置a1、a2和FQ的初始值,定義鳥群搜索的空間維度為2。
步驟2設置外部循環的最大迭代次數為tmax。
步驟3設置變量i=1,進入內循環,并根據式(2)、式(9)、式(11)和式(6)更新覓食行為中鳥群的位置信息。
步驟4設t=t+1,確認當前迭代次數是否達到FQ。如果達到當前迭代次數,則這些鳥兒將會被分成兩組:掠奪者和生產者,并且根據式(6)和式(11)分別更新鳥群位置;否則跳過式(6)處理,繼續迭代。
步驟5達到最大迭代次數或者在多次迭代中未更新鳥的位置,則停止計算并獲得最佳參考值。
步驟6步驟5獲得的最佳聚類中心用作K-means的初始聚類中心,數據被分配為K類。
步驟7重新計算聚類中心直到不再變化,迭代結束然后輸出聚類結果。
IBSA-K-means聚類算法流程如圖1所示。

圖1 IBSA-K-means聚類算法流程
本文所用聚類方法把雙饋風力發電機的12個狀態變量作為風電機組的聚類指標,主要有風速v、轉差率s、槳距角β、風電機轉矩TM、機械轉矩TT、電磁轉矩Te、定子d軸電流Ids、定子q軸電流Iqs、轉子d軸電流Idr、轉子q軸電流Iqr、轉子d軸電壓Udr、轉子q軸電壓Uqr。以上參數在知道風力發電機的功率因數及運行曲線的情況下,通過獲取風力發電機的進入風速可以很容易計算得到。
假設風力發電場分群后第K群中有n臺雙饋風力發電機組,把它們等值為一臺風力發電機,則各部分參數計算如下:
(1) 發電機參數計算:
(13)
式中:S為風力發電機的容量;P為風力發電機組有功功率;Q為風力發電機組無功功率;Xm為勵磁電抗;Rs為定子電阻;Rr為轉子電阻;Xs為定子電抗;Xr為轉子電抗;下標i為第i臺風力發電機參數;下標eq為等值后的風力發電機組參數;下標req和seq分別表示等值后轉子和定子參數。
(2) 軸系參數計算:
(14)
式中:H為慣性時間常數;K為軸系剛度系數;D為軸系阻尼系數;Di表示第i臺風力發電機的阻尼系數。
(3) 集電系統參數計算:
(15)
式中:n為風電機組的總數量;Zi為第i臺風電機組的線路阻抗;Pi為流過阻抗Zi的總功率;Zeq為等值后的阻抗。
(4) 等值模型誤差分析。為了對風力發電場等值模型的誤差進行分析,以風電場詳細模型輸出電氣參數為標準,采用均方差定義風電場等值模型的有功功率和無功功率誤差評價指標E為:
(16)
式中:z為詳細模型輸出電氣參數;zi為等值模型輸出電氣參數;n為采樣點數。
針對本文所提等值建模方法的仿真驗證,在MATLAB中搭建包含24臺雙饋風電機的風力發電場模型,其中每臺風力發電機組的容量為1.5 MW,風電場系統連接方式如圖2所示。每臺風力發電機通過變壓器升壓至35 kV,風電場內每6臺風電機組通過架空線路連接,然后匯入PCC處,通過35 kV/220 kV變電所與電網相連。

圖2 風電場系統單線圖
對本文所提12個狀態變量使用基于改進自適應特性鳥群的K-means聚類算法對這12個狀態變量進行聚類,把風電場中的24臺風力發電機組分為4類,如表1所示,圖3為等值后的風電場接線圖。

表1 聚類結果

圖3 等值風電場單線圖
通過選擇相同的聚類指標,把本文聚類算法與其他算法進行對比,如表2所示,所有算法設置最大迭代次數為500,本文中IBSA算法的參數設置為N=30,FQ=3,P=1。本文進行了50次獨立實驗,并進行記錄,然后把各類算法的最大值、最小值、平均值、標準差和達優率進行對比,不同算法的對比結果如表2所示。圖4和圖5分別給出了K-means算法和IBSA-K-means算法聚類輪廓值,輪廓值是對聚類效果好壞的一種評價方式,輪廓值處于-1~1之間,值越大說明聚類效果越好。

表2 不同算法實驗結果對比

圖4 K-means算法聚類輪廓值

圖5 IBSA-K-means算法聚類輪廓值
由表2可以看出,K-means算法的收斂效應最差,BSA-K-means算法與K-means相比有較大的優勢,可以滿足很多領域的要求,而本文對鳥群算法改進后的IBSA-K-means算法與其他三種相比具有較大的優勢,雖然收斂速度與K-means算法相比較慢,但是其穩定性和達優率都有較大的改觀。從圖4和圖5中可以看出,IBSA-K-means算法聚類輪廓值都處于0.8以上,有些輪廓值已經很接近1,反觀K-means算法聚類輪廓值參差不齊,有些輪廓值在0.1附近,顯示出了聚類的不合理性,由此可見本文改進的IBSA-K-means聚類算法在實際應用中要優于傳統的K-means算法。
為進一步證實本文所用聚類算法的優越性,在相同的聚類指標下,對比不同的聚類算法的優劣,分別在風速擾動和故障情況下從有功功率、無功功率兩個方面來分析。
三種不同的聚合模型分別用于再現風速擾動和故障擾動下的風電場動態響應,三種不同的聚類算法PCC處有功功率和無功功率的動態響應對比如圖6-圖9所示。表3和表4為在風速擾動和故障擾動下基于不同聚類算法的等值模型通過式(16)方法計算的等值誤差,從圖6至圖9、表3和表4中可以看出,與基于K-means聚類算法的等值模型相比,本文提出的基于改進BSA的K-means聚類算法的等值模型與詳細模型的功率出力曲線相似度更高,誤差更小,能準確地對雙饋風力發電機進行分群處理,可以適用于大規模風力發電場的等值建模。

圖6 風速擾動下有功功率的動態響應

圖7 風速擾動下無功功率的動態響應

圖8 故障擾動下有功功率的動態響應

圖9 故障擾動下無功功率的動態響應

表3 風速擾動下等值模型誤差 %

表4 故障擾動下等值模型誤差 %
針對目前風力發電場聚類等值建模精度不高的情況,本文提出一種基于改進自適應特性鳥群的K-means聚類算法。該算法采用風力發電機組的12個狀態變量作為分群指標對風電機組進行分群,然后分別對每個群組內的風力發電機進行等值。在相同的分群指標下,把仿真結果通過與傳統聚類方法和詳細模型對比,證實了本文方法的精確性。在擾動及故障情況下,都能很好地表征風力發電場的對外特性,為風力發電場的等值建模提供了一個很好的聚類方法。