吳 擎, 張春江, 高 亮
(1.華中農(nóng)業(yè)大學 工學院,湖北 武漢 430070; 2.南洋理工大學 電機與電子工程學院,新加坡 639798; 3.華中科技大學 機械科學與工程學院,湖北 武漢 430074)
經(jīng)濟負荷分配問題(economic load dispatch problem,EDP)的目標是在滿足各種等式與不等式約束的情況下減少總?cè)剂铣杀?求解EDP的優(yōu)化方法大體可以分為兩類:傳統(tǒng)的數(shù)值優(yōu)化方法和智能優(yōu)化方法.傳統(tǒng)的優(yōu)化方法包括線性規(guī)劃、二次規(guī)劃和內(nèi)點法等[1-2].這類方法高效且精確,但對初始值很敏感,易提前收斂于局部最優(yōu)解.智能優(yōu)化方法包括遺傳算法[3-4]、進化策略[5]、粒子群優(yōu)化[6-7]和差分進化算法(differential evolution,DE)[8-9]等.此類方法對所求問題的特性沒有要求,還能應用于復雜的大規(guī)模優(yōu)化問題[10],因而被越來越多的學者所采用.為了提高效率和精度,這些算法往往經(jīng)過了復雜的改進,例如有些算法[11]還需借助于二次序列規(guī)劃的局部搜索能力,這些改進在很大程度上給使用者帶來了麻煩.因此,筆者將采用最基本的差分進化算法[12]來求解該問題.
本文的重點在于約束處理方法.前面提到的方法大部分采用罰函數(shù)法,該方法需要設置罰系數(shù),易造成過懲罰或欠懲罰的問題.智能優(yōu)化算法中最常用的約束處理方法有可行性規(guī)則(feasi-bility rules,F(xiàn)R)[13]和ε約束法[14],這兩種方法簡單高效且易于與進化算法結(jié)合,因而得到了非常廣泛的應用[15].但在EDP中,卻鮮少發(fā)現(xiàn)這兩種方法的存在.通過分析FR和ε約束法的特性以及所求問題的特點,發(fā)現(xiàn)了這兩種方法不適合求解EDP問題的原因.在此基礎上,結(jié)合EDP問題的特點,筆者提出了一種將負荷平衡約束轉(zhuǎn)化為邊界不等式約束的方法,轉(zhuǎn)化后在進化算法中采用FR和ε約束法便十分有效了.實驗結(jié)果表明,即便采用最簡單的差分進化算法,仍然能求得非常有競爭力的解.
EDP的目標是在一定時間內(nèi)在滿足電力系統(tǒng)運行條件的情況下,通過對發(fā)電機組的發(fā)電功率進行優(yōu)化使得系統(tǒng)的燃料成本最小.
電力系統(tǒng)燃料成本FC是每個發(fā)電機組燃料成本的總和,如式(1)所示:
(1)
式中:n為系統(tǒng)的發(fā)電機組數(shù);pi為第i臺發(fā)電機功率;FCi(pi)為第i個發(fā)電機組的燃料成本函數(shù).FCi(pi)通常被擬合為一個二次多項式,如式(2)所示:
FCi(pi)=aipi2+bipi+ci,i=1,2,…,n,
(2)
式中:ai、bi、ci為燃料成本的系數(shù).
考慮以下4個約束.
(1)功率平衡約束.在考慮系統(tǒng)損耗的情況下,電力系統(tǒng)的發(fā)電功率應等于實際功率需求D與系統(tǒng)的轉(zhuǎn)運損耗PL之和,如式(3)所示:
(3)
系統(tǒng)的轉(zhuǎn)運損耗由式(4)計算:
(4)
式中:Bij、Bi0、B00為損耗系數(shù).
(2)電機發(fā)電功率范圍約束.單個發(fā)電機組的發(fā)電功率pi必須滿足最小與最大功率約束pimin、pimax,即
pimin≤pi≤pimax,i=1,2,…,n.
(5)
(3)功率升降限制約束.考慮輸出功率的升降限制,即較前一次的輸出功率相比,當前的輸出功率要在一定的范圍之內(nèi).具體約束如下式所示:
(6)
(4)禁止功率區(qū)域約束.某些發(fā)電機組有一些禁止功率區(qū)域.其約束如式(7)所示:
(7)
當采用進化算法求解上述問題時,式(5)表示的電機發(fā)電功率范圍約束通常被處理為自變量的邊界約束.
數(shù)學模型中有4個約束,通常將發(fā)電機組功率范圍約束和功率升降限制約束結(jié)合形成如下的自變量邊界約束:
(8)
可對新解中的越界分量重新賦值來處理該約束.對于功率平衡約束和禁止功率區(qū)域約束,以往文獻中通常采用罰函數(shù)法.除罰函數(shù)法以外,可行性規(guī)則(feasibility rules,F(xiàn)R)與ε約束處理法是進化算法中兩種常見的約束處理方法[15],都可以用來比較兩個解的優(yōu)劣.
FR最初用于遺傳算法中的錦標賽選擇,其具體表述如下:當兩個解都不可行時,根據(jù)約束違反量的大小來比較優(yōu)劣;當兩個解一個可行、另一個不可行時,可行解優(yōu)于不可行解;當兩個解都是可行解時,根據(jù)目標函數(shù)的大小比較優(yōu)劣.
ε約束法最初由Takahama和Sakai[16]提出,與FR一樣,ε約束法也可用來比較兩個解的優(yōu)劣,只是在比較的時候增加了一個參數(shù)ε.比較規(guī)則如下:當兩個解的約束違反量都大于ε時,根據(jù)約束違反量的大小比較優(yōu)劣;當兩個解的約束違反量一個小于ε、另一個大于ε時,前者優(yōu)于后者;當兩個解的約束違反量都小于ε時,根據(jù)目標函數(shù)的大小來比較優(yōu)劣.實際上,當ε=0時,ε約束法就等同于FR.通常采用下式來控制ε值[15]:
ε(0)=φ(Xθ);
(9)
式中:ε的初值ε(0)被設為在初始種群中排第θ位的約束違反量φ(Xθ);t為當前迭代次數(shù).當?shù)螖?shù)t小于Tc時,ε值按指數(shù)形式下降,下降速度由參數(shù)cp控制;否則的話,將ε取值為0.
EDP中功率平衡等式約束會使得約束優(yōu)化的可行域變?yōu)橐粋€超平面.當問題的維度很大時,很難找到這個超平面上的可行解.另一方面,這個可行域超平面還很大,這意味著當偏好可行解的FR找到一個可行解后,就很難搜尋到遠處的最優(yōu)解了.ε約束法能增加可行域的大小,在一定程度上能克服FR的缺點,但這種對可行域的擴增是暫時的,當ε下降為0時,其本質(zhì)上仍然是可行性規(guī)則,如果此時還沒有找到超平面上鄰近最優(yōu)解的可行解,就很容易陷入超平面上的局部最小值.為了降低求解難度,通常的做法是將等式約束松弛為一個不等式約束,如式(10)所示.但這一方面難免影響到解的精確性,另一方面松弛為不等式約束后,可行域的范圍還是很小.
(10)
式中:σ為一個很小的常數(shù),如1e-3.
這里采用以下的改進方法處理功率平衡約束:采用DE來求解該問題時,只對前n-1個變量進行優(yōu)化.在計算目標函數(shù)時,先根據(jù)功率平衡約束求解第n個未被優(yōu)化的變量pn,并增加pn的兩個邊界約束,如式(11)所示,然后采用可行性規(guī)則或ε約束法來處理這兩個約束:
(11)
功率平衡約束為一個二次式.對于二次式,可采用求解二次方程的方法來進行轉(zhuǎn)換,將式(3)轉(zhuǎn)化如下:
(12)
但并不是所有的情況下,都滿足b2-4ac≥0.尤其是在搜索過程的早期,通常b2-4ac<0,此時不能采用一元二次函數(shù)的求根公式求解pn值.因此,對式(3)進行簡單變形,如下式所示:
(13)
此處采用了上次迭代中的pn值來計算PL,能夠如此簡化的原因是,相對于pn,PL的值較小,pn對PL的貢獻值也很小,采用不精確的pn對PL的影響不大.通過上式可求得pn的近似值,也能很快搜尋到可行域附近.當搜尋到可行域附近后,易滿足b2-4ac≥0的條件,然后就可根據(jù)式(12)求得滿足功率平衡約束的可行解.
該約束處理方式的優(yōu)勢有三點:最重要的是將可行域極小的等式約束轉(zhuǎn)化為了可行域較大的不等式約束,易找到可行解.其二,縮減了問題的一個維度,把n維的問題縮減到了n-1維.第三,不需要對等式約束進行松弛,能獲得精確解.
(14)
這里采用差分進化算法作為優(yōu)化方法.差分進化算法(DE)最初由Storn & Price[12]在1997年提出,它具有簡單、高效、參數(shù)少、易于編程實現(xiàn)等優(yōu)點,DE是近年來得到關(guān)注最廣泛的進化算法之一.它有4個基本步驟:初始化;變異;交叉;選擇.根據(jù)變異策略及交叉方式的不同,DE算法有很多變種,這里采用最基本的DE/rand/1/exp.
結(jié)合可行性規(guī)則的DE的偽代碼如圖1所示.結(jié)合ε約束法的DE的偽代碼與之類似.
圖1 結(jié)合可行性規(guī)則的DE/rand/1/exp的偽代碼 Fig.1 Pseudo code of DE/rand/1/exp with Feasibility rules
選用兩個經(jīng)典問題[7]來進行測試,將其分別命名為EDP1和EDP2.EDP1包含6個發(fā)電單元,26根總線和46根傳輸線,總功率需求是1 263 MW,6個單元的特性及損耗系數(shù)B值見文獻[7].
EDP2包含15個發(fā)電單元,總功率需求是2 630 MW,15個單元的特性及B值見文獻[7],約束差分進化算法參數(shù)設置如表1所示.
表1 算法參數(shù)設置
3.3.1 4種方案比較
將FR與DE結(jié)合并采用式(10)處理功率平衡約束稱為方案1;將ε約束法與DE結(jié)合并采用式(10)處理功率平衡約束稱為方案2;將FR與DE結(jié)合并采用改進方法處理功率平衡約束稱為方案3;將ε約束法與DE結(jié)合并采用改進方法處理功率平衡約束求稱為方案4.
4種方案在EDP1和EDP2上獨立運行30次的統(tǒng)計結(jié)果如表2所示.從表2可見,對于EDP1和EDP2,方案3和方案4的結(jié)果明顯優(yōu)于方案1和方案2.對于EDP1,方案2的結(jié)果也明顯優(yōu)于方案1,可見對于該問題ε約束法是有效的.方案3和方案4沒有顯著性差異,這是因為采用改進方法處理功率平衡約束后,算法的效率很高,方案3和方案4都能找到很好的解.對于EDP2,方案1的最優(yōu)值和最差值要優(yōu)于方案2,但方案2的平均值要優(yōu)于方案1,而方案4的結(jié)果優(yōu)于方案3,可見ε約束法表現(xiàn)較好.
表2 4種方案在EDP1和EDP2上的統(tǒng)計結(jié)果
圖2 4種方案在EDP1上目標函數(shù)的收斂圖 Fig.2 Convergence plots of four tests on EDP1
圖3 4種方案在EDP2上目標函數(shù)的收斂圖 Fig.3 Convergence plots of four tests on EDP2
4種方案在兩個問題上的收斂過程如圖2和圖3所示.在搜索前期,方案1出現(xiàn)了目標函數(shù)值的波動,這是因為在可行性規(guī)則下,方案1力求找到可行解,只優(yōu)化約束違反量.而方案2在ε約束的作用下,可以先優(yōu)化目標函數(shù),因而剛開始時方案2獲得了很小的目標函數(shù)值,但隨著ε的減小,目標函數(shù)值越來越大;當ε快變?yōu)?時,收斂曲線在最優(yōu)解附近停留了一段時間,但最終丟失了該解,陷入了局部最優(yōu).這是因為在功率平衡等式約束下,可行域太小,而可行性規(guī)則和ε約束法偏好可行解,難以找到全局最優(yōu).而方案3和方案4,對唯一的等式約束進行了處理,使算法中的種群都是可行解,能直接優(yōu)化目標函數(shù).因此,方案3和方案4都極快地收斂到了全局最優(yōu)解.
對于EDP2,方案1和方案2的表現(xiàn)與EDP1中類似.但因為該問題維度較高,方案1和方案2的解與方案3和方案4相差較大.方案3和方案4相比,很顯然,ε約束法在這里起了很大作用.方案4中,目標函數(shù)值先迅速下降,隨著ε的減小,略有上升,然后再緩慢下降.與方案2不同的是,方案4中的目標函數(shù)值變化比較緩慢,不至于丟失近優(yōu)解.
3.3.2 與文獻方法的比較
文獻中有很多算法對該問題進行了求解,如模擬退火算法(simulated annealing,SA)[17]、遺傳算法(genetic algorithm,GA)[6]、粒子群算法(particle swarm optimization,PSO)[6-7,18]、人工免疫系統(tǒng)(artificial immune system,AIS)[19].這些算法均采用罰函數(shù)方法來處理約束,并且大多在基礎算法上進行了改進.
各種算法的統(tǒng)計結(jié)果如表3和表4所示.表中展示了各算法在多次運行下的最優(yōu)值、平均值、最差值和標準差.某些算法的標準差未知,對于函數(shù)評估次數(shù),PSO和GA均為20 000次;CPSO(chaotic particle swarm optimization)算法在文獻[7]中未給出局部搜索的參數(shù),但能推算出函數(shù)評估次數(shù)要大于14 400;對于SOH_PSO(self-organizing hierarchical particle swarm optimization)[18],在EDP2上的種群數(shù)量達到了400和500,即使其函數(shù)迭代次數(shù)只有125,其函數(shù)評估次數(shù)也分別為50 000和62 500,遠超方案3和方案4在EDP2上的最大函數(shù)評估次數(shù)20 000.通過這些數(shù)據(jù)可知,方案3和方案4在EDP1和EDP2上的最大函數(shù)評估次數(shù)(分別為5 000和20 000)是比較少的.
表3 在EDP1上各算法的統(tǒng)計結(jié)果
表4 在EDP2上各算法的統(tǒng)計結(jié)果 Tab.4 Statistical results of some algorithms on EDP2 美元
從表3可見,對于EDP1,方案3和方案4的結(jié)果要全面優(yōu)于所比較的算法.其原因就在于等式約束的存在,而采用罰函數(shù)的方法容易造成過懲罰,使算法偏好可行解,容易收斂到局部最優(yōu).
從表4可見,對于EDP2,方案4在所有指標中都是最優(yōu)的;而方案3的結(jié)果也遠優(yōu)于其他算法.由此可見,對于維度較大的問題,采用罰函數(shù)法來處理約束的效果更差.采用改進方法處理功率平衡約束后,F(xiàn)R和ε約束法均能求得較好的結(jié)果,特別是ε約束法的效果更佳.
可行性規(guī)則與ε約束法是進化算法中兩種常用的約束處理方法,在以往的文獻中,雖然有很多的進化算法被用來求解EDP問題,但大部分約束處理方法都是傳統(tǒng)的罰函數(shù)法.筆者分析了EDP問題中不適合采用可行性規(guī)則和ε約束法的原因,并提出了一種將EDP中的功率平衡約束轉(zhuǎn)換為不等式約束的方法.實驗結(jié)果表明,采用該方法時,即便是采用最基本的差分進化算法,也能求得非常有競爭力的解.