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