周 濤,崔德義,任書燕
(1.上海電力學(xué)院 電氣工程學(xué)院,上海 200090;2.上海市電力公司嘉定供電公司,上海 201899)
電力系統(tǒng)無功優(yōu)化目的在于滿足系統(tǒng)無功功率平衡和無功負(fù)荷需求的條件下,通過調(diào)節(jié)發(fā)電機(jī)端電壓、無功補(bǔ)償裝置容量、有載調(diào)壓變壓器分接頭檔位等,使整個(gè)系統(tǒng)達(dá)到降低有功網(wǎng)損、提高電壓穩(wěn)定裕度和保證電壓質(zhì)量等目標(biāo).一個(gè)合理有效的無功優(yōu)化方案,能夠提高電壓質(zhì)量、降低有功網(wǎng)損,并且能夠提高系統(tǒng)的穩(wěn)定性,這是保證電力系統(tǒng)安全穩(wěn)定、實(shí)現(xiàn)電壓和無功控制的重要措施.傳統(tǒng)的無功優(yōu)化方法包括線性規(guī)劃法、牛頓法等,近年來許多人工智能算法興起,如遺傳算法、粒子群算法、螞蟻算法等,它們對(duì)于無功優(yōu)化問題的解決各有優(yōu)點(diǎn),但也都存在各自的缺陷.[1-2]
粒子群優(yōu)化算法是人們模擬動(dòng)物界一些現(xiàn)象的隨機(jī)優(yōu)化算法,在迭代開始時(shí),粒子群的多樣性好,收斂速度快;隨著迭代次數(shù)的增加,種群多樣性變差,非常容易陷入局部最優(yōu),這就是粒子群算法的一大主要缺點(diǎn).為了解決這一問題,前人已經(jīng)研究出一些方法,如結(jié)合模擬退火和螞蟻算法的粒子群改進(jìn)算法,并取得了不錯(cuò)的效果.針對(duì)這一問題,本文引入了基于細(xì)菌趨化的改進(jìn)粒子群算法,并結(jié)合算例證明此種算法應(yīng)用于無功優(yōu)化是有效可行的.[3]
無功優(yōu)化是一個(gè)典型的非線性規(guī)劃問題,具有多變量、多約束和非線性等特點(diǎn).其數(shù)學(xué)建模的目的為調(diào)節(jié)發(fā)電機(jī)電壓、變壓器變比和投切補(bǔ)償電容器等參數(shù),從而盡量減小系統(tǒng)的網(wǎng)損,其優(yōu)化后的數(shù)學(xué)模型如下:
式中:Nk——支路集合;
Gk(i,j)——支路 k 的電導(dǎo);
θij——節(jié)點(diǎn)i與節(jié)點(diǎn)j之間的電壓角度差;
Ui,Uj——節(jié)點(diǎn) i和節(jié)點(diǎn) j的電壓.
無功優(yōu)化的變量約束包括負(fù)荷節(jié)點(diǎn)的電壓、發(fā)電機(jī)無功出力、發(fā)電機(jī)端電壓大小、無功補(bǔ)償節(jié)點(diǎn)補(bǔ)償容量、變壓器分接頭、發(fā)電機(jī)無功出力等.其中,負(fù)荷節(jié)點(diǎn)的電壓和發(fā)電機(jī)無功出力以罰函數(shù)形式加入目標(biāo)函數(shù)中,其他變量作為粒子群算法優(yōu)化過程中變量的約束條件.其表達(dá)式如下:
式中:λ1,λ2——負(fù)荷節(jié)點(diǎn)電壓越界懲罰系數(shù)和發(fā)電機(jī)無功出力越界懲罰系數(shù)罰因子;
Uj,Uj.max,Uj.min——節(jié)點(diǎn)電壓、電壓上限值和下限值;
QGk,QGk.max,QGk.min——發(fā)電機(jī)節(jié)點(diǎn) k 的無功出力、無功出力的上限值和下限值;
UGi,UGi.max,UGi.min——發(fā)電機(jī)節(jié)點(diǎn)的 端 電壓、端電壓上限值和下限值;
QCj,QCj.max,QCj.min——無功 補(bǔ) 償節(jié) 點(diǎn)補(bǔ) 償容量、補(bǔ)償容量的上限值和下限值;
TTk,TTk.max,TTk.min——變壓器可調(diào)分接頭、分接頭上限值和下限值;
QGi,QGi.max,QGi.min——發(fā)電機(jī)節(jié)點(diǎn)無 功 出力、無功出力上限值和下限值;
UDj,UDj.max,UDj.min——負(fù)荷節(jié)點(diǎn)的電壓、電壓上限值和下限值;
Ng,Nc,Nt,Nd——PV 發(fā)電機(jī)數(shù)、無功補(bǔ)償數(shù)、變壓器可調(diào)分接頭數(shù)、負(fù)荷節(jié)點(diǎn)數(shù).
無功優(yōu)化的程序分為潮流計(jì)算和無功優(yōu)化兩部分.首先根據(jù)系統(tǒng)的參數(shù)和初試條件算出各狀態(tài)變量的值和網(wǎng)損值(即潮流計(jì)算),然后通過無功優(yōu)化部分得出此狀態(tài)下的無功損耗,也就是此時(shí)的適應(yīng)值函數(shù),最后使用粒子群算法進(jìn)行優(yōu)化更新,得到新的粒子后繼續(xù)下一步的計(jì)算.潮流計(jì)算的方法有牛頓拉夫遜法和PQ分解法,后者相比前者進(jìn)行了一定的理想化假設(shè),更為簡單快捷但精度卻相近,因此本文采用極坐標(biāo)下的PQ分解法解決潮流計(jì)算部分.
粒子群算法(Particle Swarm Optimization,PSO)是人們通過學(xué)習(xí)自然界的運(yùn)行發(fā)展機(jī)制而形成的一種優(yōu)化算法,一般采用標(biāo)準(zhǔn)粒子群算法.種群的多樣性(即種群中各個(gè)粒子間的相似程度)與粒子群算法的性能密切相關(guān),多樣性的保持與否直接影響算法的的早熟收斂和是否陷入局部最優(yōu).在標(biāo)準(zhǔn)粒子群算法中,粒子在其飛行過程中始終記錄自己的個(gè)體最優(yōu)位置和全局最優(yōu)位置并向它們靠近.這種方式很容易導(dǎo)致種群多樣性的喪失,從而陷入局部的最優(yōu)點(diǎn).
本文采用的基于細(xì)菌趨化的粒子群改進(jìn)算法(Particle Swarm Optimization Based on Bacterial Chemotaxis,PSOBC)是通過多樣性控制與交叉操作協(xié)調(diào)來實(shí)現(xiàn)粒子群在細(xì)化搜索與擴(kuò)展新區(qū)之間的協(xié)調(diào).細(xì)菌對(duì)于化學(xué)刺激的反應(yīng)對(duì)其本身的生存有著極其重要的意義,細(xì)菌會(huì)通過自己的感知器官對(duì)有利或不利的環(huán)境做出反應(yīng).本算法就是模擬細(xì)菌在覓食時(shí)的吸引和排斥行為來進(jìn)行算法的優(yōu)化.將其應(yīng)用到粒子群算法中,吸引操作的定義同標(biāo)準(zhǔn)粒子群,而排斥操作則通過粒子的歷史最差位置和群體最差位置來實(shí)現(xiàn),排斥算法中的粒子速度更新如下:
式中:vid——第i個(gè)粒子的瞬時(shí)速度;
w——慣性系數(shù),通常采用線性策略;
R1,R2——均勻分布在 (0,1)之間的隨機(jī)數(shù);
c1,c2——學(xué)習(xí)因子,通常取 2;
Wid——粒子群的歷史最差位置;
Wgd——群體最差位置;
xid——粒子此時(shí)的位置;
xgd——粒子個(gè)體的最優(yōu)位置.
在PSOBC中,粒子可能被吸引也可能被排斥,如何判斷此時(shí)的狀態(tài),需要引入多樣性的量度,其定義如下:
式中:P——種群大小;
L——搜索空間最長對(duì)角線的長度;
N——維數(shù);
Sij——第i個(gè)粒子位置的第j個(gè)分量;
首先定義兩個(gè)閾值dlow和dhigh,當(dāng)種群的多樣性小于dlow時(shí),PSOBC進(jìn)行排斥操作以增加種群的多樣性;當(dāng)種群多樣性大于dhigh,算法就進(jìn)入吸引操作.[4]
步驟1 初始化種群規(guī)模、學(xué)習(xí)因子等各個(gè)參數(shù),隨機(jī)給定粒子的初始位置和速度;
步驟2 設(shè)置當(dāng)前迭代次數(shù)t=0,當(dāng)前模式為“吸引”,對(duì)每個(gè)粒子i執(zhí)行以下操作;
步驟3 計(jì)算各粒子的適應(yīng)度;
步驟4 若多樣性小于dlow,令模式為“排斥”,若多樣性大于dhigh,令模式為“吸引”;
步驟5 如果是“吸引”,用標(biāo)準(zhǔn)粒子群公式進(jìn)行速度更新和位置更新;
步驟6 如果是“排斥”狀態(tài),使用式(10)進(jìn)行速度更新,位置更新公式同上;
步驟7 如果當(dāng)前的迭代次數(shù)達(dá)到了預(yù)定的最大次數(shù)或者結(jié)果小于預(yù)定的收斂精度,停止迭代,輸出最優(yōu)解,否則,繼續(xù)迭代,轉(zhuǎn)到步驟3.
首先對(duì)如何在無功優(yōu)化問題中應(yīng)用PSO和PSOBC算法進(jìn)行說明.粒子群的粒子本質(zhì)上就是一個(gè)列向量,每一維代表一個(gè)變量,在無功優(yōu)化中可能是發(fā)電機(jī)電壓、無功補(bǔ)償投切檔位或者變壓器檔位.每個(gè)粒子都有其對(duì)應(yīng)的適應(yīng)度值,也都對(duì)應(yīng)著各自的網(wǎng)絡(luò)結(jié)構(gòu),首先進(jìn)行潮流計(jì)算求出此時(shí)的網(wǎng)絡(luò)各狀態(tài)變量的值,如電壓、電流、功角等;然后通過式(1)求出這個(gè)網(wǎng)絡(luò)的損耗,即粒子的適應(yīng)度值;再進(jìn)行PSO和PSOBC算法部分,通過算法得到粒子的下一個(gè)位置,進(jìn)行比較和記錄,依次往下進(jìn)行,最后得到最優(yōu)粒子.為了對(duì)PSOBC算法的可行性和計(jì)算性能進(jìn)行分析,下面結(jié)合一個(gè)14節(jié)點(diǎn)的算例進(jìn)行分析,如圖1所示.
本算例中有14個(gè)節(jié)點(diǎn),其中5臺(tái)發(fā)電機(jī)(節(jié)點(diǎn)1到節(jié)點(diǎn)5,節(jié)點(diǎn)1為平衡節(jié)點(diǎn),其他節(jié)點(diǎn)為PV節(jié)點(diǎn)).電壓范圍為0.95~1.05;節(jié)點(diǎn)9帶無功補(bǔ)償裝置,分5檔透切,步長為0.1.線路中共有3臺(tái)變壓器(分別在線路6-7、6-9、8-6上),初始有功損耗為0.148.本算例中的粒子應(yīng)該取作9維,分別對(duì)應(yīng)節(jié)點(diǎn)電壓(5個(gè))、無功補(bǔ)償投切檔位和變壓器檔位(3個(gè)).其中節(jié)點(diǎn)電壓采用的是離散編碼,可取0.95~1.05間的任意實(shí)數(shù);無功投切檔位和變壓器檔位采用整數(shù)編碼,只能是一個(gè)整數(shù)值,在進(jìn)行飛行的過程中可能得到小數(shù),四舍五入之后得到結(jié)果.
圖1 14節(jié)點(diǎn)算例網(wǎng)絡(luò)示意
電力系統(tǒng)無功優(yōu)化問題是一個(gè)多極值的非線性規(guī)劃問題,通常會(huì)存在多個(gè)局部最優(yōu)點(diǎn),粒子群算法又容易陷入局部最優(yōu),這些都導(dǎo)致目標(biāo)函數(shù)可能停滯較長時(shí)間才會(huì)走出局部最優(yōu)點(diǎn).已有的研究方法中,有的以連續(xù)幾次得到的最優(yōu)解變化不大或者最優(yōu)解與平均適應(yīng)值之差小于某一個(gè)常數(shù)為收斂條件,但這種收斂條件若設(shè)計(jì)得過大,可能會(huì)導(dǎo)致算法偏早收斂,如果收斂條件不夠大,又會(huì)使計(jì)算時(shí)間過長,造成不必要的計(jì)算.但對(duì)于不同的系統(tǒng),收斂條件不確定,因此本文以迭代計(jì)算的次數(shù)達(dá)到所設(shè)定的最大迭代次數(shù)為結(jié)束條件,用戶可以在進(jìn)行幾次計(jì)算后憑借經(jīng)驗(yàn)和實(shí)際需要,以及可承認(rèn)的最大時(shí)間來確定迭代次數(shù).
本文采用Visual C++6.0軟件進(jìn)行編程模擬,首先使用標(biāo)準(zhǔn)粒子群算法對(duì)圖1中的算例進(jìn)行跟蹤計(jì)算,一般群落大小取作維度的5到10倍,這里取50倍帶入計(jì)算.該次計(jì)算時(shí)的適應(yīng)度值和多樣性的情況如圖2和圖3所示.
可以看出,群體的最優(yōu)適應(yīng)度值總體趨勢(shì)一直在變小,中間略有起伏;而多樣性值也是一直變差,最后趨于穩(wěn)定,但值得注意的是,多樣性值趨于穩(wěn)定要先于適應(yīng)度值.根據(jù)圖2和圖3中的適應(yīng)度值和多樣性值的情況,人為取 dlow=0.5,dhigh=0.7,使用基于細(xì)菌趨化的改進(jìn)粒子群算法后的適應(yīng)度值和多樣性情況見圖4和圖5.
圖2 使用標(biāo)準(zhǔn)粒子群算法時(shí)的適應(yīng)度值
圖3 使用標(biāo)準(zhǔn)粒子群算法時(shí)的多樣性值
圖4 使用基于細(xì)菌趨化改進(jìn)粒子群算法后的適應(yīng)度值情況
圖5 使用基于細(xì)菌趨化改進(jìn)粒子群算法后的多樣性情況
使用改進(jìn)算法后,首先多樣性情況明顯好轉(zhuǎn),雖然總體趨勢(shì)還是一直變小,但是最后的多樣性值保持在0.5左右,比之前要好.而適應(yīng)度值下降速度很快,并且由于后期多樣性保持得不錯(cuò)也沒有陷入局部最優(yōu),很快就得到了全局最優(yōu)粒子.最后得到的最優(yōu)控制策略為各節(jié)點(diǎn)電壓,分別為1.050,1.039,1.008,1.024,1.048,無功補(bǔ)償?shù)臋n位為3,3個(gè)變壓器的檔位分別為1,-4,3,此時(shí)的有功損耗為0.127 542.與標(biāo)準(zhǔn)粒子群算法進(jìn)行優(yōu)化比較,收斂速度和多樣性明顯更好,速度也較快.
PSOBC算法是PSO算法的一種新思路,可以有效地克服其易陷入局部最優(yōu)、后期粒子多樣性差的缺點(diǎn).運(yùn)用到無功優(yōu)化中可以有效地提高算法的收斂速度.通過算例仿真表明,PSOBC算法無功優(yōu)化能得到較優(yōu)解,有效降低網(wǎng)損,因此在電力系統(tǒng)的其他很多領(lǐng)域具有很好的發(fā)展前景.
[1] 馬立新,單冠華,屈娜娜.基于改進(jìn)粒子群算法的電力系統(tǒng)無功優(yōu)化[J].控制工程,2012,19(6):1 077-1 080.
[2] 姜惠蘭,陳平,王敬朋,等.改進(jìn)粒子群算法在電網(wǎng)無功優(yōu)化中的應(yīng)用[J].中國電力,2012,44(12):11-15.
[3] 楊?亮.改進(jìn)粒子群算法的無功優(yōu)化[J].黑龍江電力,2011,33(1):33-36.
[4] 李麗,牛奔.粒子群優(yōu)化算法[M].北京:冶金工業(yè)出版社,2009:1-300.