郭堃, 薛太林, 耿杰, 楊擎宇, 張昊杰
(山西大學 電力工程系,山西 太原 030013)
雞群算法(chicken swarm optimization,CSO)是Meng等人于2014年提出來的仿生優化算法。雞群算法啟發自雞群覓食行為,與其他優化算法相比具有參數少、收斂速度快和收斂精度高的優點[1-3]。因傳統的無功優化算法如梯度法、二次規劃法等要求目標函數和約束條件盡可能可微、可導,對數學模型精度要求較高和對初始解要求苛刻,研究學者將人工智能算法應用到無功優化上[4]。
電力系統的無功優化問題因其擁有高維數、多變量和多約束的特點,在面對無功優化這樣的高維問題時,雞群算法易陷入局部最優[5]。因此,本文引入反向學習、柯西變異和學習因子來改進雞群算法,提高算法的尋優能力,并與其他算法比較驗證其有效性。
雞群算法由模擬雞群的社會結構和覓食規則而來的群智能算法,即將整個群體分為公雞、母雞和小雞三個群體。每個小組都是由公雞、母雞、雞媽媽和小雞組成,每個小組由公雞帶領進行覓食,組中小雞只跟隨雞媽媽覓食。這種種群關系可以存在數代,數代后重新劃分種群關系[6]。
位置更新規則如下:
(1) CSO中將適應度值高的定義為公雞,其覓食能力高于母雞和小雞。公雞的位置更新公式如式(1)所示。
(1)

(2) 母雞為適應度適中的個體。母雞的覓食行為受到該子群中公雞的影響,并且也會受其他群體中的公雞母雞的影響,但不會受到小雞的影響,其位置更新公式如式(2)所示。
(2)
(3)
C2=exp(fr2-fi)
(4)
式中:Rand為0到1之間的隨機數;C1為該母雞所在子群的公雞r1對該母雞i的影響系數;C2為從全種群中隨機選取的公雞或母雞r2對該母雞的影響系數。
(3) 小雞受雞媽媽影響,跟隨雞媽媽進行覓食。位置更新公式如式(3)所示。
(5)

為了改進雞群算法在面對無功優化這樣的高維問題時,容易陷入局部最優的問題。本文從三個方面對雞群算法進行改進。
為提高算法的收斂速度,引入反向學習機制對種群初始化進行改進。即在計算每個個體的適應度值時,同時計算其反向個體的適應度值,并與該個體進行比較。若該個體的適應度值大于該反向個體,則選取該反向個體替代該個體來進行種群適應度值排序。反向個體的選取規則如下:
(6)

為解決母雞容易陷入局部最優的問題,引入柯西算子來對母雞進行變異。柯西分布函數具有中間峰值低,兩邊分布長的特點。一維柯西分布的概率密度函數為:

(7)
式中:t為比例參數且大于0。
本文對母雞進行柯西變異,利用柯西分布中間峰值低的特點,使母雞花費在局部最優的鄰域內搜索的時間減少,讓母雞用更多的時間花費在全局最優的搜索上。使用柯西變異后的母雞位置更新公式如下:
(8)
式中:C(0,1)為比例參數為1的柯西分布所產生的隨機數。
由于小雞位置更新只與母雞有關,當母雞陷入局部最優時,小雞不可避免也會陷入局部最優。為解決這個問題,引入學習因子,使小雞跟隨母雞的同時也會與公雞學習。引入學習因子的小雞位置更新規則如下:
(9)

改進雞群算法的具體流程為:
(1)初始化雞群參數。確定雞群總數X、公雞數NG、母雞數NM、雞媽媽數NJ、小雞數NC、最大迭代次數和更新代數G等基本參數。
(2)設置目標函數,迭代次數k=1。
(3)判斷當前迭代次數是否是更新代數G的整數倍:若是則運用式(6)計算雞群每個個體和其反向個體的適應度值,判斷是否反向個體要替代該個體,然后對每個個體進行適應度排序,將雞群分成若干子群,確定子群各個體之間的等級關系,然后按步驟(4)進行;否則直接按步驟(4)進行。
(4)按照式(1)、式(8)和式(9)來對公雞、母雞和小雞進行位置更新。
(5)更新個體最優值和全局最優值。
(6)令k=k+1,判斷是否滿足最大迭代次數,若是則輸出結果,否則轉向步驟(3)。
對應的流程如圖1所示。

圖1 改進雞群算法流程圖
無功優化目標函數的建立通常考慮其經濟性和安全性兩方面。本文從經濟性出發,以有功網損最小為目標函數,其表達是為:
(10)
式中:gij為電導納系數;θij為節點i到節點j的電壓角度之差;Ui、Uj為節點i、j的電壓幅值。
使用MATLAB編程對IEEE 30節點系統進行仿真。該系統6臺發電機分別為節點1、2、5、8、11、13;2個無功補償點分別為10、24;4臺有載調壓變壓器為4-12,6-9,6-10,27-28;22個負荷節點。基準容量為100 MVA。節點接線圖如圖2所示。

圖2 IEEE-30節點接線圖
參數設置:算法最大迭代數為100,種群數量為100,其中公雞數為20,小雞數為20,母雞數為60,更新代數G為10,學習因子C為0.6。無功優化前讓所有發電機電壓取1.0,變壓器變比取1.0,無功補償容量取0,變壓器變比上下限為0.9~1.1,步長為2.5%,無功補償容量上下限為0~0.5,步長為0.1,系統的初始網損為0.078。
改進CSO、CSO、PSO、DE對上述目標函數求最優解,得出有功網損和網損降幅以及收斂時的迭代次數結果如表1所示。

表1 4種算法算法的性能比較
從優化結果可以看出,通過對系統進行無功優化,改進CSO的優化效果均好于其算法,改進CSO與初始潮流相比,有功網損從0.078降低到了0.062,降低了20.51%。從表1可以看出,改進CSO算法的優化結果明顯高于上述其他三種算法,說明了改進后的CSO算法跳出局部最優的能力大大加強。
在上述目標函數下,改進CSO、CSO、PSO、DE的收斂曲線如圖3所示。
通過圖3以及表1可以看出,改進CSO算法在迭代次數為48次時收斂,得到的最優值為0.062。改進CSO算法的收斂速度和收斂精度均高于其他算法,說明改進CSO算法跳出局部最優的能力大大加強,收斂速度得到提高。綜上所述,可說明改進CSO算法的有效性和可行性。

圖3 4種算法的收斂曲線
本文提出了一種混合策略的雞群算法,引入反向學習機制對種群進行初始化,提高算法的收斂速度。為解決母雞容易陷入局部最優的問題,引入柯西變異來提高種群的多樣性,使母雞能跳出局部最優。對小雞引入學習因子使其向公雞學習,防止小雞跟隨母雞陷入局部最優。結合無功優化的特點,從經濟性出發,以有功網損最小為目標函數,使用改進的雞群算法對其進行求解。算例結果表明,改進雞群算法的收斂精度和收斂速度均高于其他算法。接下來的研究方向是拓展改進雞群算法在多目標函數的應用。