劉 萌,王印松,牟文彪,楊 敏,陸 陸
(1.華北電力大學控制與計算機工程學院,河北 保定 071000;2.浙江省能源集團有限公司,浙江 杭州 310007;3.浙江省火力發(fā)電高效節(jié)能與污染物控制技術研究重點實驗室,浙江 杭州 310000)
隨著火電機組深度調峰技術的推廣應用和新能源發(fā)電的大批量并網,火電機組日負荷曲線常處于多峰波動狀態(tài),且機組升降負荷速率較快。為滿足火電機組快速深度變負荷工況下主蒸汽溫度控制器參數(shù)整定的需求[1],各種智能優(yōu)化算法被應用在主蒸汽溫度控制器優(yōu)化研究,如粒子群(PSO)算法[2]、遺傳算法[3]、多目標遺傳算法NSGA-Ⅱ[4]、差分進化算法[5]、云模型理論[6]及細菌覓食算法[7]等。這些算法不僅要保證參數(shù)優(yōu)化精度,還需要考慮算法收斂時間是否適應機組快速變負荷的性能要求[8]。
PSO算法作為一種基于迭代尋優(yōu)的智能優(yōu)化算法,在參數(shù)優(yōu)化中得到廣泛應用[9]。文獻[10]提出帶有自適應學習因子的PSO算法,在算法進化不同階段,通過改變因子c1與c2來動態(tài)調整PSO的個體認知和全局認知。仿真結果表明改進后算法較標準PSO算法具有更優(yōu)收斂精度;但改進后算法在提高全局搜索能力的同時降低了算法局部收斂的快速性,整體收斂時間與標準PSO算法區(qū)別不明顯。文獻[11]提出一種自適應權重PSO算法,根據(jù)非線性函數(shù)動態(tài)調整參數(shù),在搜索前期增加粒子全局搜索能力,搜索后期增加粒子局部搜索能力。仿真結果表明,改進后算法收斂精度較標準PSO算法有較大改善;但改進后算法進化前期收斂時間較長,進化后期收斂時間較短,整體收斂時間較標準PSO算法并無明顯提升。文獻[12]將標準PSO算法中個體最優(yōu)值采用所有個體最優(yōu)值,提出擴展PSO算法。擴展PSO算法利用所有個體最優(yōu)值信息,在算法進化過程中更充分地進行信息共享,從而提高了算法的收斂精度。但擴展PSO算法需要在每次迭代過程計算所有個體最優(yōu)值,使得收斂時間比標準PSO算法長。文獻[13]提出一種混沌PSO算法,該算法使PSO算法擺脫局部最優(yōu)值,在光伏電站無功優(yōu)化應用中取得較好效果,但混沌PSO算法引入混沌搜索機制,增加了算法迭代運行數(shù)據(jù)處理量,在算法收斂速度上不具備優(yōu)勢。
本文將遺傳算法中選擇算子、自適應學習因子和自適應慣性權重系數(shù)多種策略同時引入標準PSO算法,通過不同分區(qū)測試,將各算子優(yōu)勢充分體現(xiàn),提出基于多策略分區(qū)勘探PSO算法。并采用所提出算法優(yōu)化火電機組主蒸汽溫度控制器參數(shù),仿真結果驗證了本文算法的有效性。
火電機組主蒸汽系統(tǒng)簡化流程如圖1所示,主蒸汽溫度噴水減溫串級控制系統(tǒng)如圖2所示。圖2中:TSP為主蒸汽溫度設定值,TPV為主蒸汽溫度測量值,WP為過熱器減溫水噴水流量,GC1(s)為主環(huán)控制器,GC2(s)為副環(huán)控制器,G2(s)為導前區(qū)傳遞函數(shù),G1(s)為惰性區(qū)傳遞函數(shù)[14]。
圖1 火電機組主蒸汽系統(tǒng)簡化流程Fig.1 The simplified flow chart of main steam system in thermal power unit
圖2 主蒸汽溫度噴水減溫串級控制系統(tǒng)Fig.2 The cascade control system of spray desuperheating for main steam temperature
機組運行過程中,需要控制給煤量與給水量并使之處于動態(tài)平衡狀態(tài),根據(jù)給水量和給煤量改變的先后順序,可分為水跟煤和煤跟水2種控制方式。由于汽水分離器出口過熱蒸汽溫度能夠較靈敏地反映水煤比的變化,常稱為中間點溫度,實際應用中,常采用水煤比粗調、噴水減溫細調的串級PID控制。隨著火電機組快速深度變負荷技術的推廣應用,火電機組常處于快速變工況運行,為使得控制器性能最優(yōu),需要根據(jù)在線辨識后的模型不斷更新控制器參數(shù)。
當火電機組處于深度調峰快速變負荷運行工況,升降負荷速率常達到1%~2%,部分先進機組可以達到2%~4%,機組負荷可以在2.5~5.0 min內變化10%[15]。因此,針對火電機組快速深度變負荷工況下的主蒸汽溫度控制器參數(shù)的尋優(yōu),尋優(yōu)算法不僅需要具備尋優(yōu)精度高和跳出局部極值的能力,還需具有較快的收斂時間,保證在機組快速變負荷工況中始終運行在最優(yōu)控制器參數(shù),這對提高機組整體能量利用效率和安全穩(wěn)定運行具有重要意義。
PSO[9]算法結構簡單,參數(shù)易調整,算法迭代尋優(yōu)過程中粒子位置更新及粒子速度更新的計算分別為:
式中:vi為粒子速度,zi為粒子位置,w為慣性權重系數(shù),c1和c2為學習因子,rand為0~1之間隨機數(shù),pi為粒子自身搜索到的最優(yōu)解,pg為群體搜索到的最優(yōu)解。
標準PSO算法的尋優(yōu)策略比較單一,并且w、c1、c2為固定參數(shù),具有較大的改進空間。遺傳算法中選擇算子建立在對個體的適應度進行評價的基礎上,淘汰對算法無意義或影響很小的個體,由此提高計算效率和加快算法收斂速度,但同時也破壞了群體的多樣性,使算法容易過早陷入局部極值。自適應學習因子PSO[10](ALFPSO)算法根據(jù)當前迭代次數(shù)采用一種自適應調整學習因子c1、c2的非線性方法,具有較強的全局搜索能力,但同時也造成算法收斂時間的增加。文獻[11]指出,較大的w值有利于跳出局部極值,較小的w值有利于算法收斂,動態(tài)慣性權因子PSO(DIWPSO)算法的主要思想是在更新粒子速度時,根據(jù)當前迭代次數(shù)對原有速度加入一種壓縮系數(shù),使算法進化的不同時期具有不同的尋優(yōu)特性。
為了兼顧上述幾種算法在收斂精度和收斂時間方面的優(yōu)勢,針對火電機組主蒸汽溫度系統(tǒng)控制器參數(shù)尋優(yōu),本文提出了一種多策略分區(qū)勘探PSO(MSZPSO)算法,該算法描述如下:
1)迭代第k(k>1)步,將種群中粒子根據(jù)個體適應度pi進行升序排序。
2)將a%~b%區(qū)間(a∈R、b∈R且50<a<b<100)作為選擇算子操作區(qū),將a%~b%區(qū)間內粒子替換為(100-b)%~(100-a)%區(qū)間的粒子,即將選擇算子操作區(qū)內的低劣適應度個體替換為優(yōu)良適應度個體。
3)將c%~d%區(qū)間(c∈R、d∈R且0<c<d<100)作為自適應學習因子操作區(qū),根據(jù)式(3)、式(4)、式(5)更新參數(shù)c1、c2,其中t為當前迭代次數(shù)、M為算法設定最大迭代次數(shù)。
4)將e%~f%區(qū)間(e∈R、f∈R且0<e<f<100)作為自適應慣性權因子操作區(qū),根據(jù)式(6)更新參數(shù)w,其中wmin為初始慣性權重系數(shù)、wmax為終止慣性權重系數(shù)。
MSZPSO算法整體流程如圖3所示。
圖3 MSZPSO算法流程Fig.3 Flow chart of the MSZPSO algorithm
MSZPSO算法是在標準PSO算法基礎上加入選擇算子、自適應學習因子和動態(tài)慣性權因子,通過粒子個體適應度分區(qū)勘探的策略以保證算法具有較高收斂精度,同時具有較快的收斂速度。根據(jù)圖3所示,MSZPSO算法需要設定的變量有選擇算子操作區(qū)間a%~b%、自適應因子操作區(qū)間c%~d%、自適應慣性權重系數(shù)操作區(qū)間e%~f%、學習因子c1和c2、初始慣性權重系數(shù)wmin、終止慣性權重系數(shù)wmax。選擇算子不產生新的算子,其作用是加速算法收斂,自適應學習因子和自適應慣性權重系數(shù)的作用均是增加粒子群體的多樣性,避免算法陷入局部最優(yōu)。因此,為平衡3種算子之間的關系,提高算法綜合性能,劃分合適的算子操作區(qū)間是關鍵。
設定MSZPSO算法中粒子數(shù)目N為80,算法最大迭代次數(shù)M為5 000,學習因子c1=c2=2.0,初始慣性權重系數(shù)wmin=0.9,終止慣性權重系數(shù)wmax=0.2,選擇算子操作區(qū)間(SO)、自適應學習因子操作區(qū)間(ALFO)和自適應慣性權重系數(shù)操作區(qū)間(AIWF)選取8種(s1~s8)不同區(qū)間(表1)。實驗選取10種基準測試函數(shù)(表2),設定各測試函數(shù)維度D=50。采用各測試函數(shù)分別獨立運行100次,實驗中當全局最優(yōu)適應值與理論最優(yōu)值之差的絕對值小于10–10,則認為算法求得最優(yōu)解,TV表示求得最優(yōu)解的次數(shù),AM表示搜索到最優(yōu)解的平均迭代次數(shù),SDM表示最優(yōu)解迭代次數(shù)的標準差。若算法在某次運行迭代終止時,全局最優(yōu)適應值與理論最優(yōu)值之差的絕對值大于10–10,則該次結果不計入TV和SDM的運算。若算法運行100次均未求得最優(yōu)解,則用MBF表示算法平均最優(yōu)適應值,SD表示最優(yōu)適應值的標準差。8種分區(qū)測試實驗數(shù)據(jù)見表3,同一函數(shù)中每組實驗標準的最優(yōu)值用粗體表示。
表1 8種操作區(qū)間的劃分 單位:%Tab.1 Division of 8 operation intervals
表2 10種基準測試函數(shù)Tab.2 Information of 10 benchmark functions
根據(jù)表3,MSZPSO算法在D=50維基準函數(shù)f1、f2、f3、f5、f6、f7、f8、f9均可取得滿足精度要求的解,且不同的分區(qū)對算法性能有較大的影響。針對選擇算子分區(qū),當選擇算子操作區(qū)間(SO)范圍較大時,算法容易過早收斂,成功尋優(yōu)的次數(shù)較小,但具有較少的平均迭代次數(shù);當增大自適應學習因子操作區(qū)間(ALFO)分區(qū),算法成功尋優(yōu)次數(shù)有所提高,但平均迭代次數(shù)略微增加;自適應慣性權重系數(shù)操作區(qū)間(AIWF)主要影響算法的最優(yōu)解迭代次數(shù)的標準差,當選擇較小的AIWF區(qū)間,在不影響算法尋優(yōu)解次數(shù)下,可以使得算法SDM有所降低,使算法具有更可靠的尋優(yōu)性能。當算法選擇s4區(qū)間參數(shù)時,可以在10種基準函數(shù)的28類指標中取得10類最優(yōu)指標,算法擁有較好的優(yōu)化性能,因此本文選取s4區(qū)間作為后續(xù)仿真實驗中的MSZPSO算法參數(shù)。
表3 8種分區(qū)測試實驗數(shù)據(jù)對比Tab.3 The experimental data of 8 partition tests
為驗證本文所提算法有效性,將MSZPSO算法與4種改進PSO算法及標準PSO算法進行基準測試函數(shù)尋優(yōu)對比,4種改進PSO算法分別為自適應學習因子粒子群(ALFPSO)算法[10]、自適應動態(tài)慣性權重系數(shù)粒子群(DIWPSO)算法[11]、擴展粒子群(EPSO)算法[12]和混沌粒子群(ChPSO)算法[13]。實驗結果見表4,表4中各指標最優(yōu)值用粗體表示。
實驗基準測試函數(shù)見表2,設定各測試函數(shù)維度D=100,粒子數(shù)目N=80,算法最大迭代次數(shù)M=10 000,學習因子c1=c2=2.0,初始慣性權重系數(shù)wmin=0.9,終止慣性權重系數(shù)wmax=0.2,各改進PSO算法參數(shù)按照原文獻設置。各算法獨立運行100次,用MBF表示平均最優(yōu)適應值,SD為最優(yōu)適應值標準差,Tt表示算法平均尋優(yōu)時間,單位s。
根據(jù)表4數(shù)據(jù)可得:標準PSO算法參數(shù)固定且不加入額外運算,算法收斂時間在6種算法中較好,但早熟收斂問題也最為突出。ALFPSO、DIWPSO、EPSO算法均在收斂精度上較標準PSO算法有所提高,但這3種算法收斂時間指標均劣于標準PSO算法。ChPSO算法引入混沌搜索機制,在函數(shù)f10取得6種算法中唯一理論最優(yōu)解,但算法收斂時間是標準PSO算法的3~5倍。MSZPSO算法在函數(shù)f1、f2、f3、f5、f6、f7、f8均求得理論最優(yōu)解,在函數(shù)f4、f9、f10取得次最優(yōu)解;在函數(shù)f1、f2取得比其他5種算法更短的尋優(yōu)時間,在函數(shù)f3、f4、f6取得次最短尋優(yōu)時間,MSZPSO算法共計在所有指標中取得16次最優(yōu)和8次最優(yōu),同時兼顧了收斂精度和收斂時間。
表4 MSZPSO算法與其他5種PSO算法100維實驗數(shù)據(jù)對比結果Tab.4 The 100-dimensional test results of the MSZPSO algorithm and five other PSO algorithms
基于MATLAB平臺,對比PSO、ALFPSO、DIWPSO和MSZPSO算法在主蒸汽溫度串級控制系統(tǒng)中PID參數(shù)整定的尋優(yōu)效果,4種算法均以系統(tǒng)輸出的絕對誤差積分作為個體適應度,控制系統(tǒng)主、副環(huán)控制器均采用PI型,如式(7)所示[16]。
式中,Kp為比例增益,Ti為積分時間。
實驗采用文獻[2]中某火電機組主蒸汽溫度系統(tǒng)傳遞函數(shù)模型與仿真參數(shù),在62%負荷工況下進行主蒸汽溫度定值擾動實驗,分別采用PSO、ALFPSO、DIWPSO和MSZPSO算法進行控制器參數(shù)尋優(yōu),設置粒子數(shù)目N=40、最大迭代次數(shù)M=1 000、仿真時間TK=1 000 s,各算法收斂對比曲線如圖4所示,最優(yōu)輸出響應對比曲線如圖5所示,動態(tài)性能指標對比見表5,控制器參數(shù)對比見表6。
表5 動態(tài)性能指標對比1Tab.5 Dynamic performance index comparison 1
表6 控制器參數(shù)對比Tab.6 Comparison of the controller parameters
圖4 算法收斂比較Fig.4 Convergence comparison of the algorithms
圖5 算法最優(yōu)輸出響應曲線Fig.5 The optimal output response curves of algorithms
表5 、表6中:Tt為算法尋優(yōu)時間,s;Ts為算法最優(yōu)輸出響應調節(jié)時間(誤差范圍取穩(wěn)態(tài)值±2%),s;Tr為最優(yōu)輸出響應上升時間,s;σ為最優(yōu)輸出響應超調量;Kp1為主環(huán)控制器比例增益;Ti1為主環(huán)控制器積分時間;Kp2為副環(huán)控制器比例增益;Ti2為副環(huán)控制器積分時間。
由圖4可見:MSZPSO算法加入自適應學習因子和自適應慣性權因子,能夠避免過早陷入局部最優(yōu),具備良好的全局搜索能力。由圖5可見:PSO、ALFPSO、DIWPSO和MSZPSO 4種算法均取得較衰減曲線法更好的控制器性能。其中,MSZPSO算法對應的調節(jié)時間、超調量、尋優(yōu)時間指標均優(yōu)于PSO、DIWPSO算法。由于MSZPSO算法加入了選擇算子,使算法可以在每次迭代過程中淘汰適應度較大的個體,避免求取個體適應度時積分運算使數(shù)據(jù)處理過于龐大,提高了算法的執(zhí)行效率。因此,在調節(jié)時間、超調量指標接近情況下,MSZPSO算法尋優(yōu)時間僅為ALFPSO算法的38.93%,綜合尋優(yōu)性能優(yōu)于PSO、ALFPSO和DIWPSO算法。
采用機組負荷為44%的模型參數(shù),控制器采用表6中參數(shù),主蒸汽溫度擾動響應曲線如圖6所示,動態(tài)性能指標對比見表7。由圖6和表7可見,當模型參數(shù)改變時,在4種算法中,MSZPSO算法系統(tǒng)輸出的調節(jié)時間最短,超調量最小。
圖6 系統(tǒng)模型改變時系統(tǒng)動態(tài)響應Fig.6 The dynamic response when the system model changes
表7 動態(tài)性能指標對比2Tab.7 The dynamic performance index comparison 2
綜合上述仿真結果表明,MSZPSO算法基于多策略分區(qū)勘探,使算法同時兼顧選擇算子、自適應學習因子和自適應慣性權因子的優(yōu)勢,在尋優(yōu)過程中能夠兼顧收斂精度和收斂時間的要求。同時,當系統(tǒng)參數(shù)改變時,能夠較其他3種算法取得更好的控制效果。
1)基于多策略分區(qū)勘探設計理念,將選擇算子、自適應學習因子、自適應慣性權重系數(shù)通過合適的分區(qū),能夠使得算法同時具有較高尋優(yōu)精度和較短收斂時間。
2)本文所提改進算法較多種改進PSO算法更適合機組快速變負荷工況下的參數(shù)優(yōu)化,并可推廣應用至其他類似約束下PID參數(shù)整定問題。