魏家柱,潘庭龍
(江南大學 物聯(lián)網(wǎng)工程學院, 江蘇 無錫 214122)
電力經(jīng)濟調(diào)度問題可以歸納為如何進行負荷分配,實現(xiàn)總煤耗最低。然而,單純追求經(jīng)濟效益已經(jīng)不能滿足新形勢下電網(wǎng)建設(shè)的需要。隨著人們環(huán)保意識的提高,污染物的排放量正成為衡量電力系統(tǒng)調(diào)度優(yōu)良性的重要指標之一。由此引出環(huán)保經(jīng)濟發(fā)電調(diào)度(Environmental-Economic Dispatch, EED)的多目標優(yōu)化問題。
當前在研究EED問題時主要有3類方法:文獻[1-2]中的多目標問題轉(zhuǎn)化為單目標問題求解。文獻[3-4]的多目標優(yōu)化算法直接求解,文獻[5]中的單個目標轉(zhuǎn)換為約束條件求解。文獻[1]在容量優(yōu)化分配問題中引入了模糊集理論,將多個目標函數(shù)整合得到單個目標函數(shù)并進行優(yōu)化,對不同權(quán)重下的計算結(jié)果進行對比,選取最優(yōu)的滿意度,使得火電機組的出力曲線更為平滑,保證自動發(fā)電控制系統(tǒng)的經(jīng)濟、環(huán)保運行。文獻[2]在微電網(wǎng)并網(wǎng)運行時,綜合考慮需求側(cè)響應(yīng)建立多目標優(yōu)化模型,利用層次分析法將該多目標優(yōu)化問題轉(zhuǎn)化為單目標優(yōu)化問題,使得運行過程中的成本有所降低。文獻[1-2]只在特定的權(quán)重組合下說明文章算法的先進性,缺乏和多目標優(yōu)化算法的對比。而多目標優(yōu)化算法則有效避免了對各個子目標權(quán)重組合的選擇,一次性地給出多個Pareto最優(yōu)解,能夠很好地保證決策者的選擇空間,簡化計算過程。為了找到更加真實的Pareto解集并維護解集的多樣性,文獻[3]針對機組啟停和負荷分配的綜合模型,在非支配排序遺傳算法II的基礎(chǔ)上引入了0-1混合變量動態(tài)求解該多目標優(yōu)化問題。文獻[4]為了降低帕累托鋒的產(chǎn)生和滿意解的選擇帶來的計算復雜性,通過混合混沌微分進化算法和鮑威爾模式搜索算法的實現(xiàn),得到了多目標火電負荷調(diào)度問題的滿意解。 粒子群優(yōu)化算法原理相對簡單,迭代過程中不會出現(xiàn)交叉和變異,只要設(shè)定搜索范圍和全局最優(yōu)位置,就可以計算出優(yōu)化問題中的最優(yōu)解,因而在負荷優(yōu)化分配問題中得到了廣泛的應(yīng)用[6-8]。
而常規(guī)的多目標粒子群優(yōu)化(Multi Objective Particle Swarm Optimization,MOPSO)算法在求解EED問題時容易陷入局部最優(yōu)且難以保證求解結(jié)果分布的均勻性。在利用MOPSO求解EED問題時引入了精英交叉算子,并通過擁擠度排序的方法保留較好的粒子,同時在精確計及網(wǎng)損時給出了等式不等式約束的處理方法。
在對出力進行調(diào)節(jié)時,機組既發(fā)出有功功率又發(fā)出無功功率。其中無功功率對機組的煤耗量影響較小,利用二次函數(shù)擬合機組煤耗量和承擔的有功負荷總量可以得到發(fā)電總成本的目標函數(shù)為:
(1)
式中Pi為第i臺機組發(fā)出的總功率(MW);N是參與電力系統(tǒng)調(diào)節(jié)的機組總數(shù);ai、bi、ci是機組的煤耗量系數(shù),由機組的自身特性決定。
燃煤過程中主要排放SO2、CO2和NOx三種氣體,其中SO2和CO2的排放量較低,可以忽略。用三次函數(shù)來擬合NOx排放量和機組承擔的有功負荷之間的關(guān)系,則NOx排放量函數(shù)可以表示為:
(2)
式中αi、βi、γi和λi是機組的污染物排放系數(shù),由機組的自身特性所決定。
(1)考慮到整個互聯(lián)電力系統(tǒng)的安全,機組在輸出功率時首先要滿足系統(tǒng)的功率平衡約束條件。互聯(lián)電網(wǎng)機組出力的功率平衡約束條件為:
(3)
式中PD表示電力系統(tǒng)的負荷需求;PL表示電力系統(tǒng)的網(wǎng)絡(luò)損耗。其計算公式為:
(4)
式中B、B0、B00為網(wǎng)損系數(shù)。
(2)為了保證機組的穩(wěn)定運行,機組出力大小需限制在一定范圍內(nèi)。互聯(lián)電網(wǎng)機組出力的的不等式約束為:
Pmini≤Pi≤Pmaxi, (i=1,…,N)
(5)
式中Pmaxi為機組i的有功出力上限;Pmini為機組i的有功出力下限。
(1)等式約束
在設(shè)定機組出力的等式約束時,一些文獻直接忽略了網(wǎng)損[1]。還有另外一些文獻為了處理方便,只考慮了B項系數(shù)[9],這樣都會造成優(yōu)化結(jié)果存在誤差。為使求解結(jié)果嚴格滿足發(fā)電機出力等式不等式約束條件,在粒子初始化位置和更新位置時選取機組1作為等式約束平衡機組。
由式(3)和式(4)可以得到:
(6)
選取機組1作為平衡機組時,將式中機組1的出力分離開來可以得到:
(7)
又因為網(wǎng)損系數(shù)中存在BT=B,故存在:
(8)
將式(8)帶入式(7)中并合并同次冪,可得到:
(9)
(2)不等式約束
粒子在進行位置更新時,可能會飛離限定的區(qū)域。對于求解結(jié)果需要判定是否滿足1.3節(jié)中的不等式約束條件。粒子第i維度的大小Xi在不滿足約束條件時根據(jù)式(10)進行更新[8]:
(10)
而機組1的出力是由式(9)確定的,作為平衡機組其出力必須滿足不等式約束條件。若不滿足,應(yīng)該通過設(shè)置不滿足條件使得粒子重新開展此次循環(huán),直到1機組的出力滿足不等式約束條件。
在初始化粒子位置和更新粒子位置時處理其等式和不等式約束的一般流程圖如圖1所示。
圖1 等式不等式約束處理方法示意圖
具體步驟為:
Step 1:位置初始化時按照初始化公式確定機組2,…,N出力,位置更新時按照粒子群優(yōu)化算法的位置更新公式更新機組2 ,…,N出力;
Step2:按式(10)約束機組2,…,N的出力;
Step3:按式(9)更新機組1的出力;
Step4:按式(5)判斷機組1的出力是否滿足機組1的出力不等式約束條件,若滿足跳出此次位置更新過程,若不滿足返回Step1重新更新所有機組出力大小,直到所有機組同時滿足出力不等式約束條件時跳出粒子位置更新循環(huán)程。粒子位置每更新一次,等式不等式處理過程同步進行一次。
一個優(yōu)化算法的好壞的關(guān)鍵在于能否權(quán)衡全局以及局部搜索,粒子群優(yōu)化算法全局以及局部搜索受到慣性權(quán)重w設(shè)置的影響。動態(tài)改變w,可以加快粒子群算法的收斂速度?,F(xiàn)階段普遍采用的三者獨立的調(diào)整策略削弱了粒子群算法在進化過程中的統(tǒng)一性。根據(jù)慣性權(quán)重的變化規(guī)律,采用了慣性權(quán)重w、學習因子c1、c2的聯(lián)動策略,具體為:
(11)
式中wmax和wmin分別表示權(quán)重因子的最大和最小值;Tmax表示最大的迭代次數(shù)。
傳統(tǒng)粒子群優(yōu)化算法中的粒子只學習最優(yōu)粒子中的飛行經(jīng)驗,而沒有參照其他粒子的經(jīng)驗。這樣的一大缺陷在于粒子的多樣性優(yōu)勢難以發(fā)揮,很可能會陷入早熟。且在初始化粒子時存在相似粒子,會出現(xiàn)收斂速度慢,易陷入局部最優(yōu)等問題[10]。交叉操作則能很好地解決該問題,交叉操作一方面能夠使得粒子進行信息交換,另外一方面使得優(yōu)秀的基因得以保留。為了使MOPSO盡快跳出局部最優(yōu),本文將精英交叉算子[11]引入MOPSO之中。即在每次更新粒子位置后,產(chǎn)生一個隨機數(shù)a,如果a小于默認的交叉概率pc,則利用更新后的所有粒子中適應(yīng)度最好的兩個粒子生成兩個新的粒子,新產(chǎn)生的兩個粒子將替換更新后適應(yīng)度最差的兩個粒子并參與循環(huán)更新過程。新粒子的計算公式為:
(12)
外部歸檔集的作用為儲存粒子在更新過程中所探索到的非支配解。尋優(yōu)過程開始前,在外部設(shè)置歸檔集,其大小和粒子大小相同。循環(huán)過程正式開始之前即將非支配解集全部存儲到歸檔集中。每次循環(huán)結(jié)束,都將排序較高的粒子放入歸檔集中。循環(huán)次數(shù)到達上限時,歸檔集中存放的結(jié)果就是該經(jīng)濟環(huán)保負荷優(yōu)化分配問題的Pareto解集。
由于循環(huán)結(jié)束后排序較高的粒子會不斷地寫入檔案,而歸檔集的容量有限,當寫入粒子的數(shù)量大于檔案規(guī)模時應(yīng)該刪除排序較低的粒子,并再次重新排序,重復上述操作得到排序較高且和種群規(guī)模相等的外部歸檔集。一般認為,求解結(jié)果分布范圍廣且分布均勻視為優(yōu)化效果較好。為了保證最終的Pareto解集分布的廣度和均勻性,本文將非支配排序遺傳算法(NSGA-II)中按照擁擠距離排序的方法引入到粒子群優(yōu)化算法中來求解經(jīng)濟環(huán)保負荷優(yōu)化分配問題。
設(shè)定任一粒子的初始擁擠距離為0,單個目標擁擠距離的計算方法如下[13]:
(1)將歸檔集中的各粒子依次按照某一目標進行升序排序;
(2)為了讓粒子更能向排序在兩端的地方飛行,定義邊界點的擁擠距離大小為無窮大;
(3)按照公式(13)計算各個體的擁擠距離。
L[j]d=L[j]d+(L[j+1]i-L[j-1]i]/(fmaxi-fmini)
(13)
式中L[j+1]i表示第j+1個粒子的目標函數(shù)i的值;fmaxi和fmini則分別表示各個粒子下目標函數(shù)i的最大值和最小值。
對于多個目標函數(shù)均執(zhí)行(1)~(3)中的過程,得到所有粒子的擁擠距離,并將其從大到小排序。
根據(jù)以上思路,改進后的粒子群算法在求解負荷優(yōu)化分配問題時的一般流程如圖2所示,整個過程的實現(xiàn)均依靠機組的本地控制器。
具體步驟為:
Step1:在機組2 ,…,N承擔的負荷界限內(nèi)隨機選取Q個點作為粒子初始位置。為了加速尋優(yōu)過程,初始化公式為[13]:
Pi=Pmini+(Pmaxi-Pmini)×rand(i=2,...,N)
(14)
圖2 改進后的粒子群優(yōu)化算法的流程圖
按照2.1節(jié)中的所提方法處理機組1的出力大小,粒子初始化為Q行N列的矩陣;
Step2:定義同時存放機組出力大小,經(jīng)濟及環(huán)保性能指標和擁擠距離的矩陣,則該矩陣的維度為N+2+1;
Step3:對外部歸檔集進行初始化,選取非支配解集進入速度位置更新的循環(huán)中;
Step4:循環(huán)開始,按照2.4節(jié)中的方法計算非支配解集中各粒子經(jīng)濟環(huán)保目標函數(shù)的擁擠距離,并從大到小排序;
Step5:擁擠距離前10%的粒子中隨機選取一行作為全局最優(yōu)位置,此時的最優(yōu)位置處于比較分散的區(qū)間,能夠很好地提高算法的全局尋優(yōu)能力;
Step6:逐行更新粒子的速度和位置,公式為:
(15)
按照2.1節(jié)中的所提方法處理機組1的出力大小;
Step7:引入2.3節(jié)中的交叉算子,生成新粒子;
Step8:按照2.4節(jié)中的所提方法維護外部檔案,防止寫入外部檔案中的粒子溢出;
Step9:當前粒子支配個體最優(yōu)粒子時則用當前粒子替代個體最優(yōu)粒子,否則不操作;
Step10:若迭代次數(shù)不滿足則回到Step4;迭代次數(shù)滿足后輸出外部檔案,得到多行N+2+1列的矩陣。
將所提的負荷分配方法在三機組上進行測試,其對應(yīng)的特性參數(shù)[14]如表1所示,網(wǎng)損系數(shù)如下:
由表1可知擾動出現(xiàn)前3機組承擔的總負荷大小為908.06 MW,而擾動出現(xiàn)后調(diào)度中心所給指令值大小為1 200 MW,為了避免各機組反向調(diào)節(jié),設(shè)置當前機組的出力作為出力下限,計煤耗的單價為71 $/t??紤]忽略和計及網(wǎng)損兩種情況下經(jīng)濟環(huán)保負荷分配的結(jié)果,每種情況下均用文獻[15]中的標準MOPSO和本文所提的的IMOPSO分別求解。為了保證求解結(jié)果的公平性且簡化獲取最終分配結(jié)果的工作,四次求解的算法粒子大小均為50個,迭代次數(shù)均為20次。改進前c1=c2=2,w=1,改進后wmax=0.9,wmin=0.4,引入的精英交叉算子中交叉概率pc=0.8,從適應(yīng)度最好的粒子中繼承的比例b=50%。
在忽略和計及網(wǎng)損兩種情況下,利用所提的粒子群優(yōu)化算法和常規(guī)的粒子群優(yōu)化算法得到的Pareto最優(yōu)解集分別如圖3和圖4所示。
圖4 計及網(wǎng)損時的Pareto最優(yōu)解集
分析圖3和圖4中的結(jié)果可以發(fā)現(xiàn)引入精英交叉算子后Pareto解集的大部分點在改進前的下方,只在經(jīng)濟成本較高的一段才重合。這說明精英交叉算子的引入很好地增強了粒子的多樣性,使其很快的跳出了局部最優(yōu),克服了常規(guī)粒子群優(yōu)化算法求解高維粒子容易陷入局部最優(yōu)的缺陷。此外,引入的擁擠度排序的方法使得求解結(jié)果在分布上更加均勻,和改進前相比能夠為決策者提供更大的決策空間。
表1 3機組特性系數(shù)
在實際優(yōu)化配置過程中,最終實施的方案一般只有一個。利用文獻[16-19]中的模糊隸屬度函數(shù)篩選各種情型下的Pareto解集,得到的該經(jīng)濟環(huán)保負荷優(yōu)化分配的最終解如表2所示。該求解結(jié)果包括經(jīng)濟成本Fe、污染物排放量Fg、各機組出力大小Pi,并進一步計算各機組出力之和P∑以及網(wǎng)損PL。
分析表2中結(jié)果可以發(fā)現(xiàn),同樣在Pareto解集中利用模糊隸屬度函數(shù)對求解結(jié)果進行篩選,忽略網(wǎng)損時粒子群優(yōu)化算法在改進后使得發(fā)電成本降低了7 $/h,污染物排放降低了5.432 3 t/h。計及網(wǎng)損時粒子群優(yōu)化算法在改進后使得發(fā)電成本降低了174 $/h,污染物排放降低了11.041 8t /h。該結(jié)果表明,所提算法在忽略和計及網(wǎng)損兩種情況下都能較好的適用于經(jīng)濟環(huán)保負荷多目標優(yōu)化分配問題中。
同在算法改進后,計及網(wǎng)損時和忽略網(wǎng)損時相對比經(jīng)濟成本和污染物排放分別上升了1 894 $/h和30.722 8 t/h,該結(jié)果說明所研究的電力系統(tǒng)中網(wǎng)損對優(yōu)化結(jié)果影響較大,進一步論證了給出精確計及網(wǎng)損時等式約束不等式處理方法的必要性。
表2 算法改進前后的最優(yōu)解
為了提升粒子群優(yōu)化算法在求解EED問題時的表現(xiàn),提出在求解過程中引入了精英交叉算子,并利用基于擁擠度排序的粒子群優(yōu)化算法求解該模型,得出的結(jié)論如下:
(1)引入精英交叉算子和基于擁擠度排序的MOPSO求解EED問題優(yōu)化效果更好且Pareto前沿分布更加均勻。利用模糊隸屬度函數(shù)篩選Pareto解集得到的唯一負荷優(yōu)化分配結(jié)果證明所提方法能有效降低發(fā)電成本及污染物排放;
(2)在計及網(wǎng)損時,為了保證分配結(jié)果的精確性同時考慮了網(wǎng)損計算式中的B、B0、B00系數(shù)。通過設(shè)置平衡機組的方式處理等式不等式約束,在該種方法下給出了平衡機組出力大小的設(shè)定公式和等式不等式處理的一般流程,使得求解結(jié)果能嚴格滿足等式不等式約束條件;
(3)機組在實際運行時在出力上限和下限之間還存在著禁止運行區(qū)間,如何利用改進的粒子群優(yōu)化算法處理多段禁止的運行區(qū)間,將是下一步要解決的問題。