馬 健,李海明,李 鑫
(上海電力大學,上海 201306)
電力經濟負荷分配(economic load dispatch,ELD)指的是對某一區域配電網中的所有機組進行負荷的經濟型分配,使得在成本最小的情況下利用現有資源可靠地滿足用戶的需求,以獲得最大經濟效益。
由于發電機組的閥點效應、配電網輸送性能差異的限制以及功率平衡的和機組運行條件的約束,在分配機組負荷時往往使得最優解的求解區域無法拓寬。早期通常選擇拉格朗日法、動態規劃法等數學常規優化方法處理該類負荷分配問題[1]。除此之外,當配網系統中出現較多機組時,發電機組兩端表現出的高維特性是基本數學優化方法所無法快速求解的。
近些年來,許多學者提出使用群智能算法來應對ELD問題中的難點。群智能算法對計算中目標函數的種類、計算數據的不確定性和搜索空間的結構具有很強的適應性,能夠處理電網損耗、閥點效應、燃料差異等因素帶來的影響,使得求解結果更加符合工程實際。目前,粒子群算法(particle swarm optimization,PSO)[2]、遺傳算法(genetic algorithm,GA)[3]、簇類進化算法(cluster evolutionary algorithm,CEA)[4]、差分進化算法(differential evolution,DE)[5]等在最優化領域均取得了不錯的成果。
陳皓等在文章中提出了一種基于簇類搜索驅動的群體進化算法,該算法提出通過聚類對進化個體構建具有相互關聯的簇類化組織,實現了對計算過程進行有目標的調整和優化[6]。Rahmat N等提出利用差分進化免疫蟻群優化算法解決具有閥點效應的ELD問題。該算法將原始蟻群優化算法通過差分進化和人工免疫算法的突變、交叉、選擇和克隆過程來改善原始算法的計算速度和防止計算進入停滯[4]。Sen T等提出了三種元啟發式算法的混合,蟻群優化(ant colony optimization,ACO)、人工蜂群算法(artificial bee colony,ABC)和諧波搜索(harmony search,HS)。尋找初始解集的任務由ACO算法處理。ABC算法檢查并增強了由ACO算法生成的解,而HS算法從解集中刪除了平庸的解,并用更高質量的解替換了它們[7]。Chen X提出了一種通過雙種群自適應DE算法(dual-population adaptive differential evolution,DPADE)處理考慮閥點效應的大規模復合燃料ELD問題的方案[8]。
鯨魚優化算法(whale optimization algorithm,WOA)[9]在近些年已成功應用于水庫群供水[10]、斷路器的生產優化[11]、魯棒多用戶檢測[12]、微網復合儲能系統容量優化配置[13]、電網無功優化調度[14]等方面。WOA算法雖然結構簡單,尋優方式新穎獨特,但同其他傳統的優化算法一樣,在搜尋速度、搜尋最優解的精度方面仍不理想,也難以擺脫局部最優的困境,且在尋優的后期易出現搜索疲軟的特征。DE算法是一種全局收斂性良好,運算操作步驟簡潔的典型算法,但該算法初始種群的選取具有不穩定性,參數的選擇不當將使算法在初期就陷入局部最優。
為此,考慮將鯨魚優化和差分進化算法分別改進,然后選取兩種算法各自的優點,合并成一種改進的差分進化鯨魚優化算法(improved differential evolution whale optimization algorithm,IDEWOA)。首先使用WOA算法中的捕食和氣泡網策略來代替DE中的變異步驟,更新種群信息。然后將算法中的收斂因子調整為特殊的非線性更新策略以增強算法的探索能力。最后引入差分進化算法的交叉和選擇環節增強種群的多樣性,防止在求最優解的過程中收斂精度的過早下降。同時在交叉環節采用淘汰機制,提高了算法的尋優效率,從而證明了該算法在求解ELD問題中的優越性。
在上述研究的基礎上,該文選取13機組和40機組的電力系統負荷,用改進的新算法對其進行優化分配的仿真測試,最后將該算法與標準鯨魚優化算法、標準差分進化算法等進行對比分析,驗證了該優化算法的優越性。
電力系統經濟負荷分配模型中,目標函數的解實際為整個電力系統機組發電費用的最小值:
(1)
式中,F為機組發電所需的耗費;Fi(Pi)為機組i的費用特征函數;Pi為機組i的運行功率;ai,bi,ci為耗量特征參數。
閥點效應將引起發電機組的耗量曲線上的不連續現象,其主要原因是機組氣閥在運行過程中突然啟動造成的拔絲現象。將閥點效應納入計算中有利于提高負荷分配問題最優解的精度,故引入閥點效應之后的數學模型為:
(2)
(3)

2.3.1 功率平衡約束
(4)
其中,m為系統中發電機組之和;PD為電力系統中的負荷目標值;PL為電網的損耗值。在一定配電網范圍下,當系統內負荷集中分布且覆蓋面較小時,其網絡損失可忽略不計,故將式(4)調整為如下形式:
(5)
2.3.2 機組運行約束
(6)
綜上所述,考慮了閥點效應、功率平衡約束和運行功率約束的ELD問題的數學模型為:
(8)
由上式可知,ELD問題的數學模型中含有非線性等式和不等式約束的限制,其函數變量不可微且不連續,所求的可行解范圍非凸。為更有效地求解ELD問題,該文提出將原先的兩種算法加以改進并組合成一種新型優化算法。
WOA算法的靈感來源于座頭鯨的捕獵行為。算法的主要步驟為包圍獵物、氣泡網捕食、搜尋新獵物三步,算法的尋優過程如下:
(1)包圍獵物。
包圍獵物階段,當前種群的鯨魚個體根據食物所在位置開展包圍行動,以當前迭代中適應度最佳的鯨魚坐標作為獵物所在的位置,而其他鯨魚則通過不斷更新自己坐標來包圍獵物,其位置更新公式如下:
XG+1=X*-A·|XG-C·X*|
(9)
其中,X*為本次迭代最優解個體的坐標,XG為該鯨魚種群的坐標,A為收斂因子,由式(10)得出:
A=2a·r-a
(10)
A采用線性遞減策略從2變化至0。C為一個隨機數,表示鯨魚捕食的擺動行為,由式(11)得出:
C=2·r
(11)
在式(10)和式(11)中,r表示為(0,1)的常數。
(2)氣泡網捕食。
WOA中的氣泡網捕食階段,主要由螺旋吐氣泡與包圍捕食兩種策略構成,其中螺旋運動按照公式(12)進行移動:
XG+1=D·ebl·cos2πl+X*
(12)
式中,D=|X*-Xt|表示該個體與目標獵物之間的距離,b為螺旋線常量,一般取1,用于定義鯨魚運動方式,l取值為[-1,1]。
在WOA中,鯨魚螺旋線運動與包圍捕食同時進行,故通常假設鯨魚均有一半的可能性選擇其中一種方式靠近獵物,其坐標迭代表達式如式(13)所示:
(13)
式中,p為[0,1]的隨機數。
(3)搜尋新獵物。
當|A|<1時,鯨魚繼續進行包圍性的搜尋,并依照式(9)改變其本身的坐標;當|A|≥1時,鯨魚進行隨機的全局搜尋,防止出現局部最優。其坐標迭代表達式如下:
D'=|XG-C·Xrand|
(14)
XG+1=Xrand-A·D'
(15)
其中,Xrand表示該種群中的任意一頭鯨魚,D'為此鯨魚與其尋找到的更優獵物間的距離。
(1)變異環節。
在當前種群G的所有個體Xi,G(i=1,2,…,N)中選取互異的三個作為變異個體:
Vi,G+1=Xr1,G+F*(Xr2,G-Xr3,G)
(16)
式中,r1,r2,r3表示[1,N]中的隨機自然數,同時滿足r1≠r2≠r3≠i,F為縮放因子,文中取F=0.5。
(2)交叉環節。
交叉環節為使交叉后的種群Ui,G+1(i=1,2,…,N)中能至少包含一個變異個體,采用以下策略保證變異個體Vi,G的貢獻率:
(17)
式中,rand(j)的取值范圍為[0,1];rnb(i)表示[1,N]中的隨機整數;CR為交叉概率因子,用以控制交叉的程度,文中取CR=0.5。
(3)選擇環節。
交叉環節后得到的個體Ui,G+1與當前個體Xi,G進行優劣對比,選擇適應度更佳的個體放入下一代種群。
(18)
文中將具有較強探索能力的DE整合到WOA中,來完善WOA開發算法空間的能力。每輪迭代的初始階段,WOA利用氣泡網和獵物搜尋機制對種群個體的位置進行預處理變異,生成初始化種群,再由DE對鯨魚算法處理過的種群進行交叉和選擇,來進行種群的更新迭代。具體改進方法如下:
3.3.1 約束條件處理
考慮到功率平衡約束在高維情況下復雜度過高的情況,文中提出一種將運行約束和功率平衡約束同時考慮在內的策略,具體步驟如下:
Step1:設置種群序號為i(i=1,2,…,N),N為種群數量。
Step2:計算當前種群i中所有機組的功率之和Psum與系統需求的總負荷值PD,并計算其差值。若差值不為0,則繼續下一步;若為0,則跳轉至Step5。
Step3:隨機生成一個序號r(r為[1,m]內的任意整數),將該序號下r機組的有功功率Pi設置為Pi=Pi-(Psum-PD)。
Step4:檢查Pi的機組運行約束,若超出上下限,則將其設置為上下限。跳轉至Step2。重新驗證是否滿足差值為0。
Step5:i=i+1依次對所有種群的機組進行約束調整,直到所有種群的Psum與系統需求的總負荷值PD的差值均為0。
3.3.2 鯨魚優化算法取代差分進化算法的變異部分
Wi,G+1=
(19)
其中,Wi,G+1為新一代變異種群。即用Wi,G+1代替Vi,G+1進行下一步的交叉操作。
同時改進鯨魚優化算法的變異操作:WOA的探索和開發能力的相互協調引導著整個算法的走向。其中,探索能力指的是搜索更廣的區域范圍,跳出局部最優的能力;開發能力指的是對已知解附近的區域進行局部搜索的能力,有利于加快收斂速度。
3.3.3 收斂因子的改進
通過文獻[11,15]可知,WOA算法中的收斂因子a對該算法的探索和開發能力有著至關重要的影響:收斂因子a越大,算法的全局搜索性能越強;若收斂因子a越小,則算法的局部尋優性能越強,收斂速率越高。而在標準WOA算法中,隨著迭代的進行,收斂因子a這種線性遞減的方式雖然讓算法在前期擁有較好的全局搜索能力,但收斂速度過慢;而當算法即將達到最大迭代次數時,收斂因子a才逼近零點,其收斂速度才有所加快,但已經無法擺脫局部最優的困境,沒有做到探索和開發的良好協調。因此原始的WOA算法中的收斂因子并不能有效利用算法的優越性。
現有的研究中,已有多種非線性更新策略。文獻[12]中提出用三角函數代替原收斂因子,公式如下:
(20)
式中,t和T分別表示當前迭代次數和最大迭代次數,下同。
文獻[16]則提出采用分段的收斂因子更新策略,公式如下:
(21)
文獻[17]提出一種以e為底的正指數形式的收斂因子更新策略,公式如下:
(22)
文中提出一種以常數為底的負指數形式的自適應收斂因子更新策略:
(23)
其中,μ表示一常數,其取值根據算例的自身情況而調整,經過實驗測試,取μ=1 000為最佳。
將上述四種策略函數與線性遞減的曲線繪制在同一幅圖中,如圖1所示(取迭代次數T=2 000)。
從圖1中可知:負指數形式遞減的更新策略相比于其他策略函數,其在算法的早期迭代階段保持了較大的a值,使算法跳出局部極值的機會更多;在算法的中期,函數單調遞減幅度高于其他四種策略,且能夠將收斂因子a驟降到一個較小的值,從而有效保證收斂的高效性;而后期最優解的搜索范圍基本確定,該策略中的收斂因子a又處于較小值且遞減速度緩慢,算法的最終收斂精度得到了保障。
如圖2所示,文中將僅采取非線性負指數形式遞減策略的鯨魚算法與經典鯨魚算法進行檢驗(算例采用文章中的13臺機組系統)對比。由圖可知,采取非線性收斂因子的鯨魚算法取得的全局最優極小值所需要的迭代次數更少,極值更小,且在早期階段就實現收斂,可有效改善傳統鯨魚算法中線性遞減所帶來的收斂性能不佳等負面效應。
3.3.4 引入交叉操作和淘汰機制
改進差分進化的交叉操作:交叉因子CR的大小很大程度上決定了差分進化算法的收斂性能。從等式(17)可知,CR值越大,Vi對Ui的貢獻率越高,這意味著交叉操作后種群中將包含更多的變異個體;CR的值越小,Xi對Ui的貢獻率越低,算法開拓其他區域解的能力越差,收斂效率不佳,但有利于保留原始個體特征(維持物種的多樣性),從而使得算法在局部求解期間具有更高的成功率。
因此,若要在早期階段更穩定地保持種群的多樣性,則應從一個較小的CR值出發,以維持初期的多樣性和成功率,而后逐漸增加CR,提升后期的收斂速度,從而有效減少整個迭代中陷入局部最優的次數,這才是較為理想的CR變化規律。
此外,文中提出在交叉操作中提前篩選變異的個體,從而為種群中優秀的個體提供更多的機會;而劣勢個體則被賦予較低的選擇概率而被逐漸淘汰。因此,文中提出了一種基于個體適應度的淘汰機制(以求解最小值為例):
(24)
其中,CRmax和CRmin分別為CR的最大值和最小值。同時,每次迭代都會計算所有種群個體適應度的平均值fav并尋找最佳的適應度fmin。以尋找全局最小值為例,如果種群適應度的平均值fav低于個體當前的適應度fi,可以將此個體視為優勢個體。單獨個體的交叉率CR將根據接近最佳適應度的程度而自適應調整。如果適應度的平均值fav高于個體當前的適應度fi,則可以將此個體視為劣勢個體。該個體的CR將被重新設置為CRmin。因此,優勢個體將不斷被保留至下一代,劣勢個體由于被選擇的概率較低而逐漸減少。
該方法下,適應度更好的個體將被保留,同時CR將逐步趨近于最大參數值CRmax,從而契合CR的最佳變化規律。
3.3.5 正常的選擇環節
圖3為IDEWOA算法求解電力系統經濟負荷分配模型的流程圖。
為測試IDEWOA算法對電力系統經濟負荷的優化分配能力,分別采用標準DE、標準WOA和IDEWOA算法對13臺機組和40臺機組的電力系統經濟負荷進行最優化求解,引入閥點效應,暫不考慮電網損耗,系統的基本參數設置均來自文獻[18]。
為避免算法隨機性問題,分別對三種算法獨立執行40次。圖4和圖5分別為三種算法對2個測試算例的收斂曲線圖,表1和表3為多種算法對2個測試算例的統計結果。
13臺機組系統要求的負荷值為D=1 800 MW,維數為13,種群規模為65(一般設置為維數的5~10倍),CRmax和CRmin分別取1和0.5,迭代次數為2 000次。

表1 13臺機組結果對比
IDEWOA與其他算法仿真結果比較見表1。其中,DE、WOA和IDEWOA算法在Python 3.7上分別運行40次,統計并分析所得運算結果,PSO、SA和CS的仿真結果參考自文獻[19]。13臺機組的IDEWOA算法與基本DE、基本WOA算法的運行結果對比如圖4所示。圖中所選取為IDEWOA算法中較優的一次運行結果。
從圖4中的曲線和表1中的數據可知,IDEWOA算法相比于其他標準的DE、WOA以及其他類似的群智能算法,能夠取得更好的效果,收斂速度提升顯著,搜索精度較高。表1數據顯示:IDEWOA算法運行平均值為17 972.88,明顯優于其他算法的最優解,且實驗的標準差僅為0.04,證明該算法所求解比較穩定,魯棒性較強。從圖4中可以看出,WOA和DE算法在早期容易陷入早熟的特點較為明顯,而IDEWOA經過改進后能夠在短時間內多次跳出局部最優解區域,并在算法中期之前就取得了精確度較高的解。綜上所述,IDEWOA在13臺機組的負荷分配問題上能夠有效降低能耗,減少經濟成本。
表2為IDEWOA算法求解得到的仿真實驗結果。該條件下求得的最優解即為17 972.81。

表2 13機組功率分配情況
為了測試IDEWOA算法在更高維環境中的穩定性,文中選擇IEEE 40臺機組300節點作為實驗對象,該算例中機組數(維數)較多,增大了求解的難度,極其考驗算法高維度的求解能力。其系統所需負荷值為D=10 500 MW,維數為40,種群規模取維數的五倍,即200,CRmax和CRmin分別取1和0.5,最大迭代次數tmax=2 000。
IDEWOA與其他5種算法仿真結果對比見表3。其中同樣對DE、WOA和IDEWOA算法分別在Python 3.7上獨立隨機地運行40次,PSO、SA和CS的仿真結果參考自文獻[19]。40臺機組的IDEWOA算法與基本DE、基本WOA算法的運行結果對比如圖5所示。圖中選取的為IDEWOA算法較優的一次運行結果。

表3 40臺機組結果對比
從圖5中的曲線和表3中的數據可知,在高維度算例中,IDEWOA算法相比于其他算法,優化配置能力明顯更強。仿真實驗的運行結果顯示:IDEWOA算法所得最優值的平均值、最大值和最小值均為所列算法中最低,其收斂性能優秀,其標準差為6.45也比其他算法低,說明在高維度下,IDEWOA算法仍能保持較好的魯棒性。

表4 40機組功率分配情況
表4為IDEWOA算法求解得到的仿真實驗結果。該條件下求得的最優解即為120 645.74。
通過上述算例可以發現,IDEWOA算法相比其他算法,具有較好的全局收斂能力,在尋優速度和收斂精度方面都有所提升,且在高維條件下仍保持了良好的穩定性,優越性明顯。
文中提出一種改進的差分進化鯨魚優化(IDEWOA)算法應用于電力系統經濟負荷的尋優分配,利用該算法可以解決非凸、非線性約束、高維度的優化問題。首先在鯨魚算法中的搜尋包圍獵物時期,調整了原有的線性收斂因子,使其更適應整個算法的尋優同時兼顧全局探索和局部開發能力。然后結合差分進化算法的交叉選擇策略,同時引入自適應淘汰機制,加快整個算法的收斂,推進了搜尋最優解的進程。最后將該算法應用于電力系統13機組和40機組負荷分配的優化測試,測試結果驗證了利用IDEWOA求解負荷分配問題的優越性和有效性。
下一步的研究是如何將IDEWOA算法應用于多目標優化領域以及如何改進算法中的控制參數。