郝浩 張庭玉



摘? ?要:為了降低火電廠煤耗,針對廠內機組負荷分配問題,本文提出模擬退火的粒子群算法進行優化。該方法采取異步變化的學習因子和模擬退火算法對標準粒子群算法進行改進。通過對比實驗發現,改進的算法能有效進行負荷分配,具有較高的優化效率和精度。
關鍵詞:改進粒子群算法? 負荷優化分配? 模擬退火? 異步變化學習因子
中圖分類號:TP39? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1674-098X(2019)10(a)-0106-03
隨著電力市場改革的進一步推進,發電企業之間的市場競爭愈發激烈。降低煤耗對火電廠降低成本,增強市場競爭力至關重要。負荷優化分配的目的就是在滿足電力系統約束條件的基礎上,根據機組的煤耗特性,科學合理分配各機組負荷,使得機組總煤耗等目標盡可能小[1]。因此,解決負荷分配問題對火電廠實現經濟運行,提高經濟效益有著重要意義。
目前,解決這類約束優化問題主要有傳統算法和智能優化算法。傳統算法主要有等微增率,線性規劃[2],動態規劃等。智能優化算法主要有粒子群,遺傳算法等[3]。本文提出將模擬退火算法與異步學習因子粒子群算法進行結合的方法。通過與其他算法的比較,本文算法能有效加快收斂速度,提高全局尋優能力,優化負荷分配,降低煤耗。
1? 關鍵技術
1.1 負荷分配數學模型
設某臺機組i的標準煤耗為Fi,此機組的輸出功率為pi,那么二次函數關系式fi(pi)為:式中:ai、bi、ci為此機組煤耗特性曲線系數。
本文以全廠總煤耗F最小為目標,設電廠有N臺機組投入運行,那么負荷優化分配的目標函數為:電網下達至電廠的總負荷為D,每臺機組都有最大最小輸出功率pimax、pimin,那么約束條件如下:
1.2 粒子群算法
粒子群算法(Particle Swarm Optimization, PSO)的具體描述如下:設有D維空間,種群X由n個粒子組成,粒子i在空間中的位置為Xi,速度為Vi,計算出每個粒子位置Xi對應的適應度值,并比較適應度值大小,找到當前個體最優解Pi。粒子從當前最優解所在位置尋找到符合目標函數的位置,得到全局最優解為Pg。在迭代過程中,粒子根據公式(4)、(5)更新Xi和Vi,如果尋找到的新解比當前最優解好,那么更新Pi,如果新解比當前全局的最優解要好,那么將其賦值給Pg。速度和位置更新的公式如下:式中,w為慣性權重;d=1,2,…,D;i=1,2, …,n;k表示當前迭代次數;為粒子的速度;c1和c2為加速度因子;r1和r2表示分布在[0,1]之間的隨機數。
1.3 改進算法
1.3.1 異步學習因子
學習因子c1和c2決定了粒子更新速度時自身經驗和社會經驗所占的權重,本文采用異步變化的學習因子,使學習因子能夠隨著迭代次數不同發生變化,這樣在迭代初期,粒子自身經驗在計算粒子速度時所占的權重較大,在迭代后期,粒子社會經驗在計算粒子速度時所占的權重較大,最終增強了算法的全局搜索能力。本文異步變化學習因子的公式為:
1.3.2 本文算法
本文提出模擬退火的粒子群算法(Simulated Annealing Particle Swarm Optimization, SAPSO)。模擬退火算法模擬了物理固體退火的過程,采取Metropolis準則,有一定概率接受劣質解的特點。本文算法借鑒SA算法,每當粒子群產生一個新解,先利用SA計算新解的突跳概率,之后進行判斷是否接受。這樣不僅控制著整個迭代過程往最優解的方向進行,又能以一定概率跳出局部極值點,從而達到優化效果。算法步驟如下:
Step1 設置粒子群算法的參數,在機組最大最小輸出功率范圍內隨機生成初始種群,調用煤耗特性曲線計算適應度,找到初始全局最優解和最優適應度。
Step2 設置SA算法的初始溫度,為當前全局最優適應度值。
Step3 根據公式(6)得到異步學習因子,根據公式(4)更新粒子的速度和位置,并計算適應度值。
Step4 計算更新后的粒子新解的突跳概率,將其與[0,1]之間的隨機數進行比較,判斷是否接受本次更新,如果大于隨機數,就接受該新解,執行下一步,否則重新更新粒子速度和位置。
Step5 比較新解與原粒子的適應度,如果小于當前個體最優解,那么把更新后的粒子賦值給當前位置,如果仍小于當前全局最優解,那么修改全局最優解為更新后的粒子。
Step6 進行退火操作,c為退火系數,如果此時已經達到收斂條件,那么結束本次迭代,否則進入Step2進入下一次迭代,繼續尋優。
2? 機組負荷優化分配模型的建立
電廠廠級負荷具體分配流程圖如下圖1所示。具體流程如下:
(1)獲取電廠每臺機組的歷史運行數據,進行數據預處理,選擇穩態數據。
(2)利用非線性最小二乘法分別擬合出每臺機組的輸出功率與實際機組煤耗之間的二次函數關系。
(3)獲取電廠的總負荷指令,該電廠機組數以及每臺機組的最大最小輸出功率。
(4)利用改進粒子群算法進行負荷優化分配,得到各機組的分配結果,并輸出。
(5)判斷電廠是否接收到新的負荷指令,如果有新的負荷指令,跳至第(3)步,繼續優化分配負荷,否則結束本次分配流程。
3? 實驗與結果分析
本文以某火電廠SIS系統中的機組歷史運行數據進行實驗。該火電廠有2臺機組,歷史數據為2018年每天間隔4小時的數據。利用非線性最小二乘法擬合得到機組特性函數式系數和各機組的最大最小輸出功率見表1。本文將SAPSO與標準PSO,動態慣性權重WPSO算法[3]的實驗結果進行比較。不同算法參數設置如表2所示。
3.1 優化結果分析
將實際生產中的兩臺機組歷史同一時段的負荷值相加,得到該段時間內電廠收到的總負荷指令。通過SAPSO算法,將所得到的總負荷進行分配。該火電廠某天24h每間隔4h的6個負荷指令值進行優化分配的結果與實際運行情況之間的對比如表3。
觀察表3的實際煤耗與SAPSO煤耗可以發現,SAPSO結果都低于實際煤耗,當總負荷為1608.68MW時,SAPSO煤耗比實際煤耗降低了9.71g/kwh,當總負荷為1602.73MW時,SAPSO煤耗比實際煤耗降低了6.45g/kwh,說明SAPSO進行負荷分配,一定程度地降低了煤耗。通過對比兩個分配方案,發現SAPSO負荷分配方案里機組1分到的負荷普遍比機組2多,而實際的分配接近于平均分配方法,說明SAPSO更能根據機組煤耗特性進行分配,從而降低煤耗,為電廠調度提供參考。
3.2 不同算法迭代速度比較
圖3為迭代次數相同,負荷為1500MW時,各粒子群算法的適應度值變化曲線。可以看出,不同負荷下,SAPSO表現都優于PSO和WPSO。WPSO基本在迭代次數20以內接近最優解,SAPSO在迭代次數10次以內已經接近最優解,SAPSO的收斂速度更快,算法尋優能力明顯提高。
4? 結語
本文采用模擬退火改進的粒子群算法進行電廠機組負荷優化分配。通過對比實驗發現,改進粒子群算法進行負荷分配能有效降低煤耗,分配方案明顯優于實際情況;在迭代次數相同,總負荷相同的情況下,改進粒子群算法的收斂速度更快。綜上所述,本文算法具有較強的實用性和適用性。
參考文獻
[1] 金洪吉. 火電廠機組負荷優化分配的混沌粒子群算法分析[J]. 電子器件,2017,40(1):212-216.
[2] 王惠杰, 范志愿,李鑫鑫.基于線性規劃法和等微增率法的電廠負荷優化分配[J].電力科學與工程, 2016, 32(1):1-5,30.
[3] 亢國棟,孫偉,楊海群,等.基于改進粒子群優化算法的火電廠機組負荷分配[J].計算機測量與控制,2015, 23(2):593-596.