史 磊,熊國江,潘 政,劉 宇,何其多,付子怡
(貴州大學電氣工程學院,貴陽 550025)
在電力行業中,火電廠由于化石燃料燃燒產生大量污染氣體,如SO2、NOx以及CO2氣體,對環境造成嚴重污染。因此,有必要將傳統單純考慮發電成本的調度方式轉變為兼顧環境因素影響的環境經濟調度(Environmental Economic Dispatch,EED)方式。在EED問題中,同時以發電成本最小和污染氣體排放量最低為目標。通過EED 旨在使發電成本和污染氣體排放兩者利益趨于平衡,具有現實意義。
EED優化問題是一個非凸、非線性、存在多個約束條件的多目標優化問題。目前對EED 問題的目標處理方式主要有兩種,其一是將兩個目標同時處理,周汝南[1]提出一種交互式模糊偏好多目標進化算法,或采用帕累托前沿[2],將Pareto最優解作為求解目標,但對于高維多目標同時處理時,對求解算法的要求較高、求解質量較差,且運行周期長;其二為單目標處理方法,文獻[3]中將其中一個目標作為約束條件處理,但很難獲取合理的解,偏重性太強。文獻[4]中運用價格罰因子,通過價格罰系數(Price Penalty Factor,PPF)將氣體排放量轉化為費用嵌入經濟調度,這種方法在一定程度上犧牲了目標之間的協調關系,對求解算法要求相對較低、求解質量高、運行周期短。
傳統優化算法在求解EED問題時,存在求解速度慢、精度差等缺點,智能優化算法開始受到更多研究學者的青睞。智能優化算法在求解EED 問題中具有較大的優越性。目前發展迅速的智能優化算法有粒子群算法、遺傳算法、退火算法、免疫算法、螢火蟲算法、差分進化算法以及禁忌搜索算法等。武慧虹等[5]提出一種基于精英克隆和突變機制的改進差分進化算法,提高算法的全局搜索能力;于德鰲等[6]提出一種變步長的螢火蟲算法,提高求解的精度;Al-Amyal 等[7]提出一種改進蟻群算法,通過減少每層節點數量而不影響問題探索來提高算法的搜索能力;Dasgupta 等[8]利用價格懲罰因子構建一個單目標函數,利用基于混沌序列的混合回溯搜索算法和粒子群優化算法求取目標函數最優值。
粒子群算法作為一種典型的智能優化算法,具有易于實現、精度高、收斂速度快等優點。傳統粒子群算法在算法早期容易陷入局部極值,且其慣性權重和學習因子等參數對算法的求解結果有很大影響。針對這一問題,陸松建等[9]設計出一種帶逃逸策略的簡化粒子群算法,引入一種逃逸機制來跳出局部最優解。該方法解決了局部極值問題,但求解結果欠佳;閆群民等[10]提出一種基于雙曲正切函數模型的慣性系數決策,進行非線性的自適應變換,使得求解水平有所提高。吳永紅等[11]提出一種對慣性權重和學習因子進行調整的策略,試圖建立學習因子與權重系數的變化函數,提高算法的優化精度。除參數自適應的改進外,還可通過改進更新公式來提高粒子群算法的性能。Lin等[12]增加粒子個體朝向全局最優的引領搜索項,使粒子群獲得更多擾動,避開局部極值;還有引入黑洞理論的黑洞粒子群[13]等。多種智能優化算法融合也備受學者青睞,郭明杰等[14]將模擬退火思想和粒子群進行融合,提高離散優化問題的處理能力,同時避免陷入局部最優;劉剛等[15]將微分進化算法和粒子群相融合,既保持前者的快速收斂性,同時兼具后者搜索多樣性;田壁源等[16]則根據粒子當前狀態對權重系數和學習因子進行修正,進一步改善早熟的缺陷,增強其局部搜索能力。
基于上述研究現狀,采用修改平均價格罰因子(Modified Average Price Penalty Factor,MAPPF)[17]的折算方法將EED問題轉化為單目標優化問題,降低問題的求解復雜度,提出一種改進自適應禁忌退火粒子群算法(Improved Adaptive Tabu Annealing Particle Swarm Optimization,IATAPSO)來提高EED 問題的求解效率,避免早熟現象的發生。針對慣性系數和學習因子,分別設計基于反正切函數和余弦函數的參數自適應控制策略,保證算法在前期具有較強的全局搜索能力,中期局部搜索能力逐步提升,后期擁有局部收斂速度。引入禁忌思想的退火擾動機制,加強粒子擺脫局部極值的能力,有效避免粒子種群“早熟”現象的發生。通過15 機系統為算例[17],進行仿真分析。
EED問題需要在滿足等式和不等式約束條件下,最小化發電機組發電成本和污染氣體排放量。
總發電成本的目標函數[18]為

式中:N為火電機組數;Pi為火電機組i的有功出力;ai、bi和ci分別為火電機組i運行費用系數。
污染氣體總排放量的目標函數[18]為

式中,αi、βi和γi為火電機組i的污染排放系數。
(1)功率平衡約束。發電機組總有功出力等于系統總負荷與系統總網損之和,即

式中:PD為系統總負荷;Ploss為總網損。對于Ploss,采用B系數法求解

式中,Bij、B0和B00為系統網損系數。
(2)發電機出力約束。綜合考慮機組有功出力最大、最小范圍和爬坡速度約束后的機組出力限值:

式中:為機組i前一時段的出力;DRi、URi分別為機組i爬坡速率的下限值和上限值;Pi,max、Pi,min分別為機組i的最大、最小出力,為機組i在該調度時段的最大、最小出力。
(3)旋轉備用約束

式中,PR為調度時段總旋轉備用容量。
受鳥類群體行為啟發,提出粒子群算法(Particle Swarm Optimization,PSO)。PSO 是一種隨機搜索算法,具有較快的收斂速度和全局搜索能力。假設在D維的搜索空間中,N個粒子形成一個種群,每個粒子為一個D維向量xi=[xi1,xi2,…,xiD],i=1,2,…,N;其速度向量為:vi=[vi1,vi2,…,viD];第i個粒子個體最優位置pbi=[pi1,pi2,…,piD];粒子群最優位置gb =[g1,g2,…,gD];每個粒子向量都是優化問題的一個潛在解,在PSO中粒子更新

在標準粒子群算法中,參數ω、c1和c2是控制粒子運動方向的重要參數,在大多的算法中,其取值多靠經驗,但給定的取值難以滿足不同迭代時期的要求。
2.1.1 慣性系數反正切函數控制策略
慣性系數ω表征繼承上一代速度的程度,直接影響算法搜索能力。當ω 較大時,受上代粒子速度影響大,飛行速度快,全局搜索能力強,但難以做到局部收斂;ω較小時,受前代粒子影響小,對局部進行細致搜索,很容易陷入局部極值,求解效果差。針對這種特點,提出一種基于反正切函數的ω系數的控制策略:

式中:ωmin、ωmax分別為給定慣性系數的最小、最大值;t、M分別為當前代數和給定最大代數;n為衰減系數。n越大,其中期衰減速度越快,反之則相反。
在算法前期使ω 保持較大值,增大全局搜索能力,避免陷入局部極值;在中期,保持一定速度逐漸減小ω的取值,逐步增強其局部搜索能力;在后期,ω 的取值較小,較小的取值可以對極值附近區域進行精細搜索,使粒子向著全局最優位置收斂。通過自適應策略可實現全局搜索能力和局部搜索能力之間的控制。
2.1.2 學習因子余弦函數控制策略
對于學習因子c1、c2而言,若c1較大,粒子更多向著個體最優位置移動,粒子群全局搜索能力有所提高,但難以找到最優值且難以收斂;若c2較大,其收斂速度快,容易陷入局部極值。因此采用余弦函數的非線性學習因子策略:

在算法初期,c1=2.5、c2=0.8,隨著迭代數t的增大,c1逐漸減小為0.1,相反c2逐步增加到3.2。這樣設置可在初期保證全局搜索能力,且變化速度較緩,對全局進行較全面的搜索;在中、后期c1迅速下降,c2迅速上升,使得局部搜索能力迅速提高,收斂速度加快。
在粒子群進化過程中,通過參數的自適應使算法具備一定全局搜索能力,但其全局搜索能力有限,在粒子迭代過程中,難以避免出現大量粒子聚集的現象,使得粒子多樣性變得匱乏,在迭代前、中期出現大量粒子聚集的“早熟”現象,容易陷入局部,僅通過式(7)進行位置的更新,難以跳出局部極值,引入禁忌激勵的退火選擇機制,來選擇全局最優位置的替代解xbr來取代gb,利用其突跳的概率,一定程度上避免“早熟”情況的發生。
2.2.1 退火溫度適應值
模擬退火算法是一種全局性優化算法,借鑒物理退火過程,利用Metropolis 準則并適時控制溫度的下降來求解全局性優化問題[14]。結合Metropolis 準則,定義其第i個粒子溫度適應值為Tfit(i),求取過程如下:

式中:T(i)為第i個粒子對應的溫度適應值;pbest(i)為第i個粒子的個體最優值,其對應粒子個體最優位置為pbi;gbest為全局最優值,其對應的粒子全局最優位置為gb;Tc為當前代數對應退火溫度,其初始的取值與更新的方式為:

式中,K為退火的降溫系數,一般取值為[0,1]之間接近1 的值,取值為0.9。
2.2.2 禁忌激勵度
結合禁忌搜索思想,算法在迭代前、中期應避免過多重復于局部搜索,造成粒子的浪費,記錄前一代到達過的全局最優位置,在下一代搜索中應減少對該位置的搜索,使前期粒子更新更多作用在全局范圍搜索,提高全局搜索能力。
根據粒子間歐式距離對遠離全局最優位置的粒子給予“激勵”(Mfit):

為避免迭代后期產生過大的擾動,保證算法的收斂能力,在此僅考慮D(i)數值降序排列的前3 個粒子激勵度,其他粒子則不予考慮,視為不存在激勵度。
2.2.3 輪盤賭算法選擇擾動粒子
將Tfit、Mfit進行線性組合,歸一化處理得到總體適應度值

通過輪盤賭選擇法,根據其粒子總體適應值,在粒子pbt的集合中進行選擇,得到的粒子為擾動粒子xbr。利用xbr代替式(7)中gbt粒子來參與粒子更新,

xbr選擇為gbt的概率如圖1 所示。

圖1 禁忌激勵后xbr選擇到gbt 的概率
由圖1 可見,在迭代初期禁忌激勵度的影響較大,擾動粒子xbr有較大概率選擇到遠離前代最優位置gbt的激勵粒子對應的個體最優解pbit,來替代gbt去引導粒子進行全局性搜索,一定程度上避免“早熟”現象;而在迭代中、后期,隨著溫度適應值差距的擴大與激勵度系數(M-t/M)的逐漸衰減,禁忌激勵效果減弱,xbr選到gbt粒子的概率逐漸增大,最后逼近于1,從而保證算法的收斂能力。
EED屬于多目標問題,兩目標之間量度不一致,難以同時求得兩目標的最優解。因此需要尋求二者的利益平衡點,建立EED數學模型:

式中:f(P)為環境經濟優化調度的機組綜合總費用;hm為修改平均價格罰因子[17]。
為滿足約束條件,需對條件中的等式約束和不等式約束進行處理。對違反不等式約束的值進行邊界截斷處理,即越界則取臨近邊界值,對違反等式約束的值采用罰函數法處理。
IATAPSO算法求解EED步驟如下:
步驟1參數初始化,設置初始粒子群參數及退火參數。
步驟2隨機生成初始粒子位置,并計算適應度值,選出pb和gb。
步驟3根據式(11)~(13)計算溫度適應值Tfit,根據式(14)、(15)計算求得禁忌激勵度Mfit。
步驟4根據式(16)求解總體適應值,結合輪盤賭選擇法選出擾動粒子xbr。
步驟5根據式(8)~(10)分別對參數ω、c1、c2進行更新。
步驟6根據式(17)對粒子位置進行更新,并進行約束處理。
步驟7計算更新粒子適應度值,更新個體最優pb和全局最優gb。
步驟8根據式(13)對當前溫度Tc進行降溫;判斷當前迭代次數是否大于最大迭代次數,若大于則執行步驟9;否則,重復步驟3~7。
步驟9輸出搜索到的全局最優位置gb 以及全局最優值gbest,算法結束。
以15 機系統為算例,分別采用PSO、ASAPSO[10]、SAPSO[14]、ADCPSO[19]和IATAPSO等算法進行仿真求解,種群粒子數為50,迭代1 000 代,在Matlab 試驗平臺上獨立運行20 次,記錄其最優目標函數值,平均目標函數值以及輸出結果的標準差。此外與文獻[17]中EPA算法與HEPA 算法的實驗結果進行比較。結果見表1、2。

表1 各算法最優值及各機組出力
對比表1 中數據,IATAPSO最優解與其他的算法最優解相比,機組發電總成本略高于其他算法,而污染氣體總排放量最低,證明模型充分考慮環境調度的影響因素,也說明發電成本與污染排放二者相互矛盾。
對比表2 中數據,IATAPSO 最優值最小,較之標準PSO節約費用2 426.57 $/h,較之ASAPSO[10]節約費用991.34 $/h,與SAPSO 相比節約費用1 080.04$/h,較之ADCPSO[19]節約費用2 144.78 $/h,較之EPA 與HEPA,分別節約費用為8 737.09 $/h 與7 377.09 $/h。這說明,IATAPSO較之其他算法具有更強的尋優能力與跳出局部極值的能力,將各算法求解結果的20 次平均值進行比較,IATAPSO 具有出色的表現,說明IATAPSO 具有穩定的運算結果,可以有效的避免“早熟”的現象發生。

表2 各算法運行20 代的最優值、平均值、標準差
此外,通過標準差分析可知,IATAPSO 標準差遠小于其他各類算法,可見其魯棒性強,求解質量高。
各算法的收斂曲線如圖2 所示。

圖2 各算法收斂曲線對比
可見,IATAPSO 可以保持較快的收斂速度,同時具有出色的跳出局部極值的能力,在50 代以內便已遠超其他算法,避免了“早熟”現象的發生。
上述仿真結果表明,IATAPSO在跳出局部極值能力,收斂速度以及魯棒性等方面均有出色的表現,較之其他對比算法更有競爭力。
本文提出一種基于改進自適應禁忌退火粒子群算法的EED求解方法,采用修改平均價格罰因子將EED轉化為單目標優化問題,降低問題求解難度。為提高粒子群算法的求解性能,設計了相互協調的參數自適應策略,同時引入禁忌搜索和模擬退火思想,增強了粒子群算法的全局搜索能力,降低了前、中期陷入局部極值的概率,提高算法的收斂速度。15 機系統仿真結果表明,與其他算法相比,IATAPSO 具有更好的求解精度和求解穩定性,且收斂速度更快。