郝 超,徐志成
(常州機(jī)電職業(yè)技術(shù)學(xué)院,江蘇 常州213164)
隨著現(xiàn)代火力發(fā)電機(jī)組越來越向著大容量、多參數(shù)發(fā)展,熱工過程自動(dòng)控制在大型火電機(jī)組中的地位越來越重要。要定量、準(zhǔn)確地分析設(shè)計(jì)熱工過程控制系統(tǒng),一定要建立被控對(duì)象的數(shù)學(xué)模型。傳遞函數(shù)是描述熱工對(duì)象數(shù)學(xué)模型的一種方法,獲得對(duì)象傳遞函數(shù)的方法有階躍響應(yīng)法、最小二乘法、極大似然法以及基于神經(jīng)網(wǎng)絡(luò)、遺傳算法(Genetic Algorithm,GA)等智能算法[1-4]。但是,很多算法由于對(duì)輸入信號(hào)有一定的要求或算法過于復(fù)雜,一直很難在實(shí)際中實(shí)施。
粒子群優(yōu)化 (Particle Swarm Optimization,PSO)算法[5]由Kennedy等人于1995年提出,已經(jīng)被證明是一種很好的優(yōu)化方法。其概念簡(jiǎn)單、實(shí)現(xiàn)容易,已成為當(dāng)前智能計(jì)算領(lǐng)域的研究熱點(diǎn)之一。Eberhart等[6]通過對(duì)速度項(xiàng)引入慣性權(quán)重 w,并在進(jìn)化過程中動(dòng)態(tài)調(diào)整慣性權(quán)重以平衡收斂的全局性和收斂速度,得到了標(biāo)準(zhǔn) PSO算法。Clerc[7]在進(jìn)化方程中引入收縮因子來進(jìn)一步增強(qiáng)算法的收斂性,同時(shí)可以放松對(duì)速度的限制。針對(duì)算法特點(diǎn),很多學(xué)者還提出了其他一些改進(jìn)的版本。其中,M.Senthil Arumugam提出了一種全局-局部參數(shù)最優(yōu)粒子群優(yōu)化(Global-Local Best PSO,GLBest-PSO)算法,增加了粒子的多樣性,避免算法過早收斂,提高了算法搜索效率。本文將該算法應(yīng)用于熱工過程的模型建立中,進(jìn)行了初步的應(yīng)用研究。
PSO算法是一種新型的演化計(jì)算方法,其基本原理為[5-6]:D維空間中存在 m個(gè)粒子,每個(gè)粒子的坐標(biāo)為 xi=(xi1,xi2,…,xiD),并且具有與優(yōu)化目標(biāo)函數(shù)f(x)相關(guān)的適應(yīng)度,同時(shí)每個(gè)粒子具有各自的速度 vi=(vi1,vi2,…,viD)。對(duì)于第 i個(gè)粒子,其歷史最好位置為 pi=(pi1,pi2,…,piD),記為 pbesti;記群體中所有粒子經(jīng)過的最好位置為 pg=(gi1,gi2,…,giD),記為gbesti。對(duì)第 t代的第 i個(gè)粒子,粒子群算法根據(jù)式(1)計(jì)算第t+1代的第j維的速度和位置。
式中,w為慣性權(quán)重,它使微粒保持運(yùn)動(dòng)慣性,使其具有擴(kuò)展搜索空間的趨勢(shì),有助于新區(qū)域的搜索;r1、r2為[0,1]的隨機(jī)數(shù);c1和 c2為加速度常數(shù),表示將每個(gè)粒子推向 pbesti和 gbesti的統(tǒng)計(jì)加速度權(quán)重,兩者均為正值。此外,粒子的速度 vi被一個(gè)最大速度Vmax所限制。
研究表明[6-8]:若PSO算法過早收斂,粒子速度將下降至0,粒子群將趨于當(dāng)前的極值,而它們往往為局部極值,尚未達(dá)到全局最優(yōu)。因此對(duì)算法的改進(jìn)不能著眼于收斂性,而應(yīng)調(diào)節(jié)算法的搜索范圍,以及全局和局部搜索能力。對(duì)全局搜索,通常好的方法是在前期具有較高的探索能力以得到合適的粒子,而在后期有較高的開發(fā)能力以加快收斂速度。鑒于慣性權(quán)值對(duì)粒子速度的影響以及c1和c2是決定粒子“認(rèn)知”和“社會(huì)”能力的關(guān)鍵參數(shù)[5-6],文獻(xiàn)[9]中提出了一種改進(jìn)的PSO算法,該算法中,慣性權(quán)重w,加速常數(shù) c1和 c2既不取恒值,也不隨進(jìn)化次數(shù)的增加而線性變化,而是表示成局部最優(yōu)和全局最優(yōu)的適應(yīng)度函數(shù):
式中,w為每個(gè)進(jìn)化代數(shù)的慣性權(quán)重;c為每個(gè)進(jìn)化代數(shù)的加速度常數(shù);(pbesti)average為該進(jìn)化代數(shù)對(duì)應(yīng)的所有粒子歷史最優(yōu)位置的平均值。式(2)為全局-局部平均最優(yōu)慣性權(quán)重;式(3)為全局-局部最優(yōu)加速度常數(shù),則相應(yīng)的速度更新表達(dá)式為:
式中,r為[0,1]的隨機(jī)數(shù),式(2)~式(5)稱為GLBest-PSO算法。
可以看出,當(dāng)全局最優(yōu)值等于局部最優(yōu)值時(shí),全局-局部平均最優(yōu)慣性權(quán)重的值達(dá)到最小,這實(shí)際上使粒子在全局最優(yōu)值附近搜索,并迅速地向最優(yōu)值收斂。同樣,當(dāng)全局最優(yōu)值等于局部最優(yōu)值時(shí),全局-局部最優(yōu)加速度常數(shù)等于2,并且在整個(gè)搜索過程中,其值始終位于2附近。這兩個(gè)參數(shù)幫助算法提高搜索精度和效率,獲得更佳的尋優(yōu)性能。
熱工過程模型的傳遞函數(shù)為[4]:
式中,y(s)和u(s)分別是過程的輸出和輸入函數(shù);bm,…,b1,b0和 am,…,a1,a0分別是 y(s)和 u(s)表達(dá)式對(duì)應(yīng)的系數(shù)。由于熱工對(duì)象的時(shí)間常數(shù)大、階次高,各參數(shù) ai間的數(shù)量級(jí)相差較大,難以確定各參數(shù)的合適范圍,因此直接利用式(6)進(jìn)行參數(shù)辨識(shí)時(shí),往往尋優(yōu)時(shí)間長(zhǎng),辨識(shí)精度低,難以獲得好的效果。為此,可以結(jié)合熱工過程的特性,對(duì)于有自衡和無自衡的傳遞函數(shù)為[4]
文中需對(duì) T1,T2,…,Tn,K,τ進(jìn)行尋優(yōu),根據(jù)熱工過程特性和已有經(jīng)驗(yàn),可以確定模型的時(shí)間常數(shù)T1,T2,…,Tn∈[0.01,100],過程純滯后時(shí)間 τ∈[0,300],對(duì)象靜態(tài)增益 K∈[0.01,100]。為與文獻(xiàn)[4]中的GA進(jìn)行比較,本文取與其相同的目標(biāo)函數(shù):
式中,y和y0分別是實(shí)際對(duì)象輸出和模型輸出。對(duì)熱工過程的模型辨識(shí)就是尋找最優(yōu)參數(shù) θ=[T1,T2,…,Tn,K,τ],使 Q 值最小化。
實(shí)例一:選取文獻(xiàn)[4]中的熱工過程實(shí)例:
算法的參數(shù)設(shè)置為:群體規(guī)模m=20,群體初始速度和初始位置在取值范圍內(nèi)隨機(jī)產(chǎn)生,i=1,2,…20,w和 c的初值在取值范圍內(nèi)隨機(jī)產(chǎn)生,r在[0,1]之間隨機(jī)產(chǎn)生,需對(duì)[T1,T2,T3,K,τ]五個(gè)參數(shù)尋優(yōu),所以搜索空間維數(shù)D=5,仿真時(shí)間長(zhǎng)為300s,采樣周期為1s,算法的終止條件與文獻(xiàn)[4]相同,即最大搜索步數(shù)L=70或目標(biāo)函數(shù)值 Q<0.2。3次辨識(shí)結(jié)果見表1。表2是GA所對(duì)應(yīng)的辨識(shí)結(jié)果[4]。
表1 GLBest-PSO在階躍輸入下的辨識(shí)結(jié)果(三階)Tab.1 Identification results of step input with GLBest-PSO(Step 3)
由表1和表2可知,用本文算法得到的結(jié)果較GA更接近于真值,辨識(shí)誤差小于GA的辨識(shí)結(jié)果。
為驗(yàn)證算法的穩(wěn)定性,對(duì)該對(duì)象進(jìn)行50次試驗(yàn),圖1是GLBest-PSO算法和GA每次辨識(shí)結(jié)果所對(duì)應(yīng)的目標(biāo)函數(shù)值。n是實(shí)驗(yàn)次數(shù),Q是對(duì)應(yīng)的目標(biāo)值。可以看出,用GLBest-PSO算法進(jìn)行辨識(shí)時(shí),目標(biāo)函數(shù)值及變化范圍較小,算法更穩(wěn)定。
表2 GA在階躍輸入下的辨識(shí)結(jié)果(三階)Tab.2 Identification results of step input with GA(Step 3)
圖1 50次實(shí)驗(yàn)下對(duì)應(yīng)的目標(biāo)函數(shù)值Fig.1 Objective function value for 50 times experiments
當(dāng)模型階次變化時(shí),可得到表3所示的二階、四階、五階辨識(shí)結(jié)果及準(zhǔn)則函數(shù)值。表中n為設(shè)定的模型階次,L為算法終止時(shí)的搜索步數(shù)。由表3可知,當(dāng)辨識(shí)階次大于實(shí)際階次時(shí),誤差較小,模型辨識(shí)結(jié)果與過程真值較接近。當(dāng)辨識(shí)階次小于對(duì)象實(shí)際階次時(shí),辨識(shí)誤差相對(duì)較大,但仍在允許范圍內(nèi);可見,本文算法用于模型參數(shù)辨識(shí)時(shí),在模型階次不匹配時(shí),辨識(shí)誤差雖增大,但仍在允許范圍內(nèi),因此可以認(rèn)為其對(duì)模型階次的敏感性不強(qiáng)。
表3 GLBest-PSO在階躍輸入下不同階次辨識(shí)結(jié)果Tab.3 Identification results of step input with GLBest-PSO for different step
用隨機(jī)階躍信號(hào)、含噪聲的階躍信號(hào)、正弦信號(hào)等作為辨識(shí)信號(hào),結(jié)果見表4,可以看出,對(duì)于其他輸入信號(hào),本文方法都能得到滿意的效果。
表4 GLBest-PSO在多種輸入信號(hào)時(shí)的辨識(shí)結(jié)果Tab.4 Identification results of different input signals with GLBest-PSO
對(duì)該例的仿真結(jié)果表明,對(duì)于大時(shí)滯的對(duì)象或過程,用本文提出的方法進(jìn)行模型參數(shù)辨識(shí)時(shí),可以得到滿意的結(jié)果。
實(shí)例二:球磨機(jī)是燃煤電廠制粉系統(tǒng)中的常用設(shè)備,它是一個(gè)具有非線性、大滯后、強(qiáng)耦合和具有多種不確定性擾動(dòng)的多變量對(duì)象,對(duì)其建模難度大,造成自動(dòng)控制系統(tǒng)的投用率低。本節(jié)以該系統(tǒng)的主要環(huán)節(jié)——機(jī)內(nèi)存煤量過程為例,采用GLBest-PSO算法進(jìn)行過程建模。
對(duì)于磨煤機(jī)內(nèi)存煤量控制回路,經(jīng)現(xiàn)場(chǎng)實(shí)驗(yàn)測(cè)試和分析,得到如表5所示的300s內(nèi)的單位階躍輸出觀測(cè)數(shù)據(jù)。
表5 單位階躍輸入下過程輸出Tab.5 Process output of step input
以表5的觀測(cè)數(shù)據(jù)來進(jìn)行GLBest-PSO算法建模仿真實(shí)驗(yàn),GLBest-PSO算法參數(shù)設(shè)置和終止條件與前述相同。表6是不同階次的辨識(shí)結(jié)果,表7是利用文獻(xiàn)[4]中的 GA方法所得到的結(jié)果。其中 n是辨識(shí)階次,L是算法終止時(shí)算法已循環(huán)次數(shù)。圖2是實(shí)際過程單位階躍響應(yīng)輸出和二階模型單位階躍響應(yīng)輸出結(jié)果。
從圖表中可以看出,無論從準(zhǔn)則函數(shù)值還是算法終止時(shí)的循環(huán)次數(shù),GLBest-PSO算法均優(yōu)于GA。用GLBest-PSO算法對(duì)該回路對(duì)象進(jìn)行建模時(shí),可得到較為精確的模型,辨識(shí)效果較好。
表6 GLBest-PSO在階躍輸入下不同階次辨識(shí)結(jié)果Tab.6 Identification results with step input with GLBest-PSO
表7 GA在階躍輸入下不同階次辨識(shí)結(jié)果Tab.7 Identification results with step input with GA
圖2 單位階躍輸入下實(shí)際過程與二階模型輸出Fig.2 Actual process and step 2 model output of step input
被控對(duì)象數(shù)學(xué)模型的精確辨識(shí)對(duì)火電廠控制系統(tǒng)的設(shè)計(jì)和優(yōu)化具有重要意義。本文研究了GLBest-PSO算法在熱工過程模型辨識(shí)中的應(yīng)用,結(jié)果表明該算法可有效地辨識(shí)模型參數(shù),方法簡(jiǎn)單,收斂速度快,計(jì)算量小,辨識(shí)精度高,該方法對(duì)解決熱工過程系統(tǒng)的建模問題具有潛在的實(shí)用價(jià)值。
[1]Golub G H,Van Loan C F.An analysis of the total leastsquares problem[J].SIAM J.Numer.Anal.,1980,17(6):883-893.
[2]Felsenstein J.Evolutionary trees from dna sequences:A maximum likelihood approach[J].J.Mol.Evol.,1981,17(1):368-376.
[3]王田,薛建中,習(xí)志勇,等(Wang Tian,Xue Jianzhong,Xi Zhiyong,et al.).基于RBF神經(jīng)網(wǎng)絡(luò)辨識(shí)的過熱蒸汽溫度控制(Control of superheated steam temperature based on RBF neural network identification)[J].熱力發(fā)電(Thermal Power Generation),2008,37(10):87-91.
[4]劉長(zhǎng)良,于希寧,姚萬業(yè),等(Liu Changliang,Yu Xining,Yao Wanye,et al.).基于遺傳算法的火電廠熱工過程模型辨識(shí)(Model identification of power plant thermal process based on genetic algorithm)[J].中國(guó)電機(jī)工程學(xué)報(bào)(Proceedings of the CSEE),2003,23(3):170-174.
[5]Kennedy J,Eberhart R.Particle swarm optimization[A].Proc.IEEE Int.Conf.on Neural Networks[C].Perth:IEEE Press,1995.1942-1948.
[6]Shi Yuhui,Eberhart R.A modified particle swarm optimizer[A].Proc.IEEE Int.Conf.on Evolutionary Computation[C].Anchorage:IEEE Press,1997.303-308.
[7]Clerc M,Kennedy J.The particle swarm explosion,stability,and convergence in a multidimensional complex space[J].IEEE Transactions on Evolutionary Computation,2002,6(1):58-73.
[8]Ratnaweera A,Halgamuge S K,Watson C.Self-organizing hierarchical particle swarm optimizer with time-varying acceleration coefficient[A].IEEE Trans.Evolutionary Computation[C].IEEE Press,2004.240-255.
[9]Senthil Arumugam M,Rao M V C.A new and improved version of particle swarm optimization algorithm with global-local best parameters[J].Knowledge and Information Systems,2008,16:331-357.