陳 真,王明春,張雨飛
(東南大學(xué) 能源與環(huán)境學(xué)院,南京 210096)
?
研究與分析
采用改進(jìn)混合粒子群算法的熱工過(guò)程模型參數(shù)辨識(shí)
陳 真,王明春,張雨飛
(東南大學(xué) 能源與環(huán)境學(xué)院,南京 210096)
針對(duì)基本粒子群算法在求解過(guò)程中容易陷入局部最優(yōu)解的問(wèn)題,提出了一種基于遺傳算法和模擬退火算法而改進(jìn)的粒子群算法。引入遺傳算法中的選擇、雜交和變異,以及模擬退火機(jī)制的粒子群算法,在保持群體多樣性的同時(shí),提高全局搜索速度,并將改進(jìn)的算法應(yīng)用到熱工過(guò)程模型參數(shù)的辨識(shí),試驗(yàn)結(jié)果顯示改進(jìn)效果良好。
系統(tǒng)辨識(shí); 粒子群算法; 遺傳算法; 模擬退火算法
電力生產(chǎn)系統(tǒng)結(jié)構(gòu)復(fù)雜,系統(tǒng)之間強(qiáng)耦合,難以試驗(yàn)建模,至今沒(méi)有普遍適用的控制傳遞函數(shù)模型[1-2],根據(jù)現(xiàn)場(chǎng)運(yùn)行參數(shù)直接求得熱工過(guò)程的傳遞函數(shù)一直是控制領(lǐng)域研究的重要課題之一。近年來(lái),群體智能(Swarm Intelligent)的快速發(fā)展及其在系統(tǒng)辨識(shí)中的應(yīng)用,彌補(bǔ)了傳統(tǒng)熱工過(guò)程辨識(shí)方法的不足[3]。國(guó)內(nèi)外學(xué)者對(duì)神經(jīng)網(wǎng)絡(luò)[4-6]、遺傳算法[7-8]、蟻群算法[9]等群體智能算法在過(guò)程模型辨識(shí)的應(yīng)用進(jìn)行了廣泛研究,其中粒子群優(yōu)化 (PSO)算法是一種新興的優(yōu)化技術(shù) ,其思想來(lái)源于人工生命和演化計(jì)算理論。PSO通過(guò)粒子追隨自身最優(yōu)解和整個(gè)種群的最優(yōu)解來(lái)完成優(yōu)化。該算法簡(jiǎn)單易實(shí)現(xiàn),可調(diào)參數(shù)少,成為人們研究的熱點(diǎn)算法之一[10]。然而通過(guò)實(shí)驗(yàn)證明,基本粒子群依賴(lài)信息共享和學(xué)習(xí)的最優(yōu)解搜索方向機(jī)制[11]及種群特征控制的單一度量將逐漸弱化種群的多樣性,且使得粒子個(gè)體的優(yōu)勢(shì)基因可能在進(jìn)化中無(wú)法持續(xù)保持,從而導(dǎo)致在進(jìn)化后期收斂速度下降出現(xiàn)早熟。
對(duì)此,筆者在基本粒子群算法中引入基于遺傳算法中的選擇機(jī)制,保留接種一部分較好的解,從而提高算法的收斂速度;同時(shí)算法融合了雜交、變異和模擬退火的思想,豐富粒子的多樣性,使算法及時(shí)跳出局部最優(yōu),快速向全局最優(yōu)收斂,克服基本粒子群算法的缺陷。將改進(jìn)的算法應(yīng)用到熱工過(guò)程模型參數(shù)的辨識(shí),試驗(yàn)結(jié)果顯示改進(jìn)效果良好。
基本粒子群優(yōu)化算法是在1995年Kennedy和Eberhart模擬鳥(niǎo)群覓食過(guò)程中的遷徙和群集行為時(shí)提出的一種基于群體智能的演化計(jì)算技術(shù)。粒子群優(yōu)化算法適用于求解非線性、不可微的復(fù)雜優(yōu)化問(wèn)題,其需要調(diào)節(jié)的參數(shù)不多,計(jì)算效率比傳統(tǒng)隨機(jī)方法高,且具有較好的魯棒性。在粒子群算法中,用粒子的位置表示待優(yōu)化問(wèn)題的解,每個(gè)粒子性能的優(yōu)劣程度取決于待優(yōu)化問(wèn)題目標(biāo)函數(shù)確定的適應(yīng)值,每個(gè)粒子由一個(gè)速度決定其飛行方向和速率的大小[12]。各粒子通過(guò)學(xué)習(xí)個(gè)體極值和全局極值逐漸向全局最優(yōu)值靠近,根據(jù)下式更新自己的速度與位置。
(1)
(2)
各個(gè)參數(shù)的選取原則如下:
粒子數(shù)N:粒子數(shù)的多少根據(jù)問(wèn)題的復(fù)雜程度自行決定。對(duì)于一般的優(yōu)化問(wèn)題取20至40個(gè)粒子就完全可以得到很好的結(jié)果。
迭代次數(shù)k:取值和優(yōu)化問(wèn)題的復(fù)雜程度以及需要的運(yùn)算精度有關(guān)。
慣性權(quán)重ω:一般取0.4至0.9之間。ω越小,算法局部收斂能力越強(qiáng),卻容易陷入局部最優(yōu);ω越大,算法全局搜索能力越強(qiáng),卻導(dǎo)致收斂速度慢。實(shí)驗(yàn)表明,ω約為0.729 8時(shí),算法可以保證局部收斂能力的同時(shí)提高全局搜索能力。
學(xué)習(xí)因子c1和c2:學(xué)習(xí)因子使粒子具有自我總結(jié)和向群體中優(yōu)秀個(gè)體學(xué)習(xí)的能力。一般取1至2.5之間,且c1等于c2。
PSO算法參數(shù)少、收斂速度快、計(jì)算簡(jiǎn)便,但是在粒子搜索到接近最優(yōu)粒子位置時(shí),其速度會(huì)減小,粒子群趨向同一而失去多樣性,這樣使算法在迭代后期速度減慢且容易收斂到局部最優(yōu)解。遺傳算法中的選擇、雜交和變異以及模擬退火算法具有獨(dú)特的粒子多樣性保持機(jī)制,與粒子群算法相結(jié)合,可以實(shí)現(xiàn)快速收斂到全局最優(yōu)解。
混合粒子群算法流程圖見(jiàn)圖1。
圖1 混合粒子群算法流程圖
混合算子設(shè)計(jì):
(1) 自然選擇。每次迭代過(guò)程中將整個(gè)粒子群按適應(yīng)度由大到小進(jìn)行排序,選取前m(m (2) 雜交。根據(jù)雜交概率選取指定數(shù)量的粒子放入雜交池內(nèi),池中的粒子隨機(jī)兩兩雜交產(chǎn)生同樣數(shù)目的子代粒子,子代的位置和速度計(jì)算公式如下: (3) 式中:xc、vc分別為子代粒子的位置和速度;xp1、xp2為父代粒子的位置;vp1、vp2為父代粒子的速度;p是0到1之間的隨機(jī)數(shù)。 (3) 自適應(yīng)變異。采用自適應(yīng)變異來(lái)保證選擇復(fù)制后抗體的多樣性,在迭代開(kāi)始時(shí),種群多樣性較好,則變異概率Pm應(yīng)較?。浑S著迭代的進(jìn)行,種群中個(gè)體趨向同一,使Pm增加來(lái)改善種群多樣性。Pm的表達(dá)式為: (4) 式中:Pmax、Pmin分別為最大、最小變異率;fmax為種群中最大適應(yīng)度;favg為每代種群中的平均適應(yīng)度;f為變異個(gè)體的適應(yīng)度。 (4) 模擬退火。模擬退火算法在搜索過(guò)程中具有概率突跳的能力,能夠有效地避免搜索過(guò)程陷入局部極小解。在退火過(guò)程中不但接受好的解,而且還以一定的概率接受差的解,同時(shí)這種概率受到溫度參數(shù)的控制,其大小隨著溫度的下降而減小。根據(jù)下式確定當(dāng)前溫度下各pi的適配值: (5) vi,j(t+1)=φ{(diào)vi,j(t)+c1r1[pi,j-xi,j(t)]+ (6) xi,j(t+1)=xi,j(t)+vi,j(t+1) (7) 初始溫度和退溫方式對(duì)算法有一定的影響,一般采用下式的初溫和退火方式: t0=f(pg)/ln5 (8) tk+1=λtk (9) (5) 接種疫苗與選擇。將之前提取的疫苗與模擬退火后的粒子合并,按適應(yīng)度由大到小排序,選取前N個(gè)粒子生成新一代種群。 3.1 辨識(shí)原理 圖2 系統(tǒng)辨識(shí)結(jié)構(gòu)圖 定義指標(biāo)函數(shù)為: (10) 3.2 模型結(jié)構(gòu) 火電廠中絕大多數(shù)的熱工過(guò)程都具有自平衡能力,一般可認(rèn)為其為具有純延遲的慣性系統(tǒng),以二階非線性動(dòng)態(tài)模型為例,即: (11) 基于上述,共有四個(gè)未知參數(shù):增益系數(shù)K、時(shí)間常數(shù)T1、T2和延遲時(shí)間τ。模型辨識(shí)的過(guò)程就是尋找最優(yōu)參數(shù)K、T1、T2和τ,使指標(biāo)函數(shù)式(10)最小的過(guò)程。 4.1 辨識(shí)步驟 為了驗(yàn)證改進(jìn)混合粒子群算法的有效性,在Matlab上對(duì)熱工過(guò)程的參數(shù)進(jìn)行辨識(shí),并和采用基本粒子群算法的參數(shù)辨識(shí)結(jié)果進(jìn)行比較。構(gòu)造熱工過(guò)程模型如下: (12) 選取N=40,迭代次數(shù)為50,由于c1+c2必須大于4,c1=c2=2.05,此時(shí)C=4.1,收縮因子φ=0.729,這在形式上就等效于ω=0.729,c1=c2=1.494 45的基本PSO參數(shù)。使用e(n)記錄每次迭代辨識(shí)誤差最小值,算法在迭代次數(shù)到達(dá)50或e(n)等于0就停止執(zhí)行。設(shè)待辨識(shí)參數(shù)K、T1、T2分布在[0,30]之間,τ分布在[0,1]之間。 首先運(yùn)行模型測(cè)試程序,對(duì)象的輸入信號(hào)采用8級(jí)線性反饋移位寄存器產(chǎn)生偽隨機(jī)二進(jìn)制序列(PRBS),及用于辨識(shí)的輸入ut,考慮對(duì)系統(tǒng)的充分激勵(lì),幅值取為4,采樣周期取0.1 s,運(yùn)行時(shí)間t為100 s。偽隨機(jī)二進(jìn)制序列信號(hào)見(jiàn)圖3。 圖3 偽隨機(jī)二進(jìn)制序列信號(hào) 利用lsim函數(shù)求輸出信號(hào)y,及y=lsim(G,ut,t),其中G為系統(tǒng)傳遞函數(shù),從而得到用于辨識(shí)的模型測(cè)試數(shù)據(jù)。 4.2 結(jié)果分析 下兩式分別為采用基本粒子群算法和改進(jìn)混合粒子群算法的辨識(shí)結(jié)果: (13) (14) 式中:基本粒子群算法最終辨識(shí)誤差e1為0.117;改進(jìn)混合粒子群算法的最終辨識(shí)誤差e2為5.94×10-6。 基本粒子群算法和改進(jìn)混合粒子群算法的單位階躍輸出和實(shí)際輸出對(duì)比見(jiàn)圖4。結(jié)果表明:改進(jìn)混合粒子群算法的單位階躍輸出和實(shí)際輸出的擬合度更好。 圖4 單位階躍輸出和實(shí)際輸出對(duì)比圖 基本粒子群算法與改進(jìn)混合粒子群算法的辨識(shí)效果見(jiàn)圖5。結(jié)果表明:由于引入了遺傳算法中的選擇、雜交和變異,以及模擬退火機(jī)制的粒子群算法,使粒子保持多樣性的同時(shí),提高全局搜索速度,且搜索后期避免了陷入局部極值。改進(jìn)混合粒子群算法比基本粒子群算法能夠獲得更小的辨識(shí)誤差以及更精確的模型參數(shù)。 圖5 基本粒子群算法與改進(jìn)混合粒子群算法辨識(shí)效果圖 為驗(yàn)證算法的穩(wěn)定性,對(duì)該對(duì)象重復(fù)進(jìn)行了30次試驗(yàn)。圖6為兩種算法辨識(shí)效果的對(duì)比圖。由圖6可以看出:改進(jìn)混合粒子群算法搜索到全局最優(yōu)解的次數(shù)有15次,搜索概率為50%,且其他結(jié)果與最優(yōu)解也很接近,基本滿(mǎn)足工程實(shí)際需要;相比之下基本粒子群算法的搜索概率只有2%,其他搜索結(jié)果與全局最優(yōu)解也相差甚遠(yuǎn),效果不理想。由此表明:用改進(jìn)混合粒子群算法進(jìn)行目標(biāo)參數(shù)辨識(shí),辨識(shí)誤差更低,誤差波動(dòng)范圍更小,算法更加穩(wěn)定。 圖6 30次試驗(yàn)辨識(shí)誤差e對(duì)比圖 筆者提出一種基于遺傳算法和模擬退火算法的改進(jìn)粒子群優(yōu)化算法。該算法是在基本粒子群算法基礎(chǔ)上引入遺傳算法中的選擇、雜交和變異的思想,提高算法搜索速度并保持粒子多樣性,避免陷入局部極值;利用模擬退火算法在搜索過(guò)程中具有概率突跳的能力,能夠有效地避免搜索過(guò)程陷入局部極小解,提高了算法的精度。該方法克服了基本粒子群算法的缺陷,具有更高的尋優(yōu)效率和逼近精度,在電廠熱工過(guò)程參數(shù)辨識(shí)上具有一定的實(shí)用價(jià)值。 [1] 孫劍. 大型循環(huán)流化床鍋爐燃燒系統(tǒng)特性與建模研究[D]. 北京: 華北電力大學(xué)(北京),2010. [2] 郝勇生,于沖,吳波. 先進(jìn)控制算法在熱工控制中的關(guān)鍵問(wèn)題研究[J]. 發(fā)電設(shè)備,2013,27(2): 101-104. [3] 張洪濤,胡紅麗,徐欣航,等. 基于粒子群算法的火電廠熱工過(guò)程模型辨識(shí)[J]. 熱力發(fā)電,2010,39(5): 59-61,81. [4] 張欒英,李瑞欣,秦志明,等. 采用模擬退火算法的Elman網(wǎng)絡(luò)及在熱工過(guò)程建模中的應(yīng)用[J]. 中國(guó)電機(jī)工程學(xué)報(bào),2005,25(11): 90-94. [5] 吳波,吳科,呂劍虹,等. 補(bǔ)償遞歸模糊神經(jīng)網(wǎng)絡(luò)及在熱工建模中的應(yīng)用[J]. 東南大學(xué)學(xué)報(bào): 自然科學(xué)版,2008,38(4): 668-673. [6] 米江,紀(jì)國(guó)宜. 基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的風(fēng)機(jī)故障診斷研究[J]. 發(fā)電設(shè)備,2010,24(6): 430-434. [7] 劉長(zhǎng)良,于希寧,姚萬(wàn)業(yè),等. 基于遺傳算法的火電廠熱工過(guò)程模型辨識(shí)[J]. 中國(guó)電機(jī)工程學(xué)報(bào),2003,23(3): 170-174. [8] 焦嵩鳴,韓璞,黃宇,等. 模糊量子遺傳算法及其在熱工過(guò)程模型辨識(shí)中的應(yīng)用[J]. 中國(guó)電機(jī)工程學(xué)報(bào),2007,27(5): 87-92. [9] 楊劍峰. 蟻群算法及其應(yīng)用研究[D]. 杭州: 浙江大學(xué),2007. [10] 楊維,李歧強(qiáng). 粒子群優(yōu)化算法綜述[J]. 中國(guó)工程科學(xué),2004,6(5): 87-94. [11] KENNEDY J. The particle swarm: social adaptation of knowledge[C]//Proceedings of IEEE International Conference on Evolutionary Computation. Indianapolis: IEEE,1997: 303-308. [12] 袁曉輝,王乘,張勇傳,等. 粒子群優(yōu)化算法在電力系統(tǒng)中的應(yīng)用[J]. 電網(wǎng)技術(shù),2004,28(19): 14-19. Model Identification of Thermal Process Based on Modified Hybrid Particle Swarm Optimization Chen Zhen,Wang Mingchun,Zhang Yufei (School of Energy and Environment,Southeast University,Nanjing 210096,China) To solve the problem of basic particle swarm optimization algorithm that is easy to fall into the local optimal solution,a modified hybrid particle swarm optimization algorithm was proposed based on the genetic algorithm and simulated annealing algorithm,i.e. introducing the selection,crossover and mutation in the genetic algorithm and the particle swarm optimization in the simulated annealing mechanism,which is able to maintain the diversity of particle swarms and improve the global evolution speed. Application results show that the modified hybrid particle swarm optimization algorithm has better effects compared with the basic particle swarm optimization algorithm. system identification; particle swarm optimization; genetic algorithm; simulated annealing algorithm 2016-09-18; 2016-10-17 陳 真(1990—),男,在讀碩士研究生,研究方向?yàn)闊峁み^(guò)程自動(dòng)化控制。 E-mail: dian5566@qq.com TK321 A 1671-086X(2017)04-0223-043 模型辨識(shí)
4 辨識(shí)仿真
5 結(jié)語(yǔ)