陳文雯,劉友寬,孫建平
(1.華北電力大學(xué)自動(dòng)化系,河北 保定 071000;2.華北電力大學(xué)云南電網(wǎng)公司研究生工作站,昆明 650217; 3.云南電網(wǎng)公司電力研究院,昆明 650217)
群體智能的系統(tǒng)辨識(shí)
陳文雯1,2,劉友寬3,孫建平1
(1.華北電力大學(xué)自動(dòng)化系,河北 保定 071000;2.華北電力大學(xué)云南電網(wǎng)公司研究生工作站,昆明 650217; 3.云南電網(wǎng)公司電力研究院,昆明 650217)
概括了系統(tǒng)辨識(shí)的方法,重點(diǎn)介紹了最小二乘法、群體智能算法中的粒子群算法和改進(jìn)的粒子群算法,給出了估計(jì)模型的選擇方法,并結(jié)合某1000MW火電機(jī)組實(shí)例,運(yùn)用兩種方法進(jìn)行了系統(tǒng)辨識(shí)和仿真。仿真結(jié)果表明,最小二乘法可以完成對(duì)系統(tǒng)的辨識(shí),但存在較大偏差;采用粒子群算法辨識(shí)結(jié)果良好。
系統(tǒng)辨識(shí);最小二乘法;粒子群算法;仿真
系統(tǒng)識(shí)別是建模的一種方法。建立數(shù)學(xué)模型有兩種方法:解析法和系統(tǒng)辨識(shí)。
系統(tǒng)辨識(shí)的過程實(shí)質(zhì)上就是函數(shù)擬合的過程,這里包括傳遞函數(shù)的結(jié)構(gòu)和參數(shù)。因此,所要面臨的是結(jié)構(gòu)優(yōu)化和參數(shù)優(yōu)化的問題。如果已經(jīng)對(duì)系統(tǒng)有了一定的了解,那么可以先給出系統(tǒng)模型描述函數(shù)的結(jié)構(gòu),然后辨識(shí)出函數(shù)中的參數(shù)即可,即把結(jié)構(gòu) (函數(shù))優(yōu)化問題轉(zhuǎn)化成參數(shù)優(yōu)化問題。
文中從傳統(tǒng)系統(tǒng)辨識(shí)方法和群體智能系統(tǒng)辨識(shí)方法兩方面入手,闡述系統(tǒng)辨識(shí)的方法,辨識(shí)實(shí)際工業(yè)控制系統(tǒng),并對(duì)其進(jìn)行仿真。
最小二乘法 (LS)是估計(jì)理論的奠基石,其思想是使各次實(shí)際觀測(cè)值和計(jì)算值之間差值的平方乘以度量其精確度的數(shù)值以后的和為最小。最小二乘法容易理解和掌握,利用其所擬定的識(shí)別算法在實(shí)施上比較簡(jiǎn)單。但由于最小二乘估計(jì)是非一致的、有偏差的,因而為了克服它的不足,形成了一些以最小二乘法為基礎(chǔ)的辨識(shí)方法,如廣義最小二乘法、輔助變量法和增廣矩陣法,以及將一般的最小二乘法與其它方法相結(jié)合的方法,譬如最小二乘兩步法和隨機(jī)逼近算法[1]。
3.1 PSO基本思想
PSO首先初始化一群隨機(jī)粒子 (初始速度、位移及其決定的適應(yīng)值都隨機(jī)化),然后通過迭代搜索最優(yōu)解。在每一次迭代中,粒子通過跟蹤兩個(gè)最優(yōu)值來跟新自己,第一個(gè)就是粒子本身目前所找到的最優(yōu)解Xbesti,即個(gè)體最優(yōu)值。每個(gè)粒子都具有記憶功能,Xbesti是它們記住的各自曾經(jīng)達(dá)到的最好位置。另一個(gè)最優(yōu)值是整個(gè)種群目前找到的最優(yōu)解Xbesti,即全局最優(yōu)值 (假設(shè)群體之間存在著某種通信方式,每個(gè)粒子都能夠記住目前為止整個(gè)群體的最好位置)。
下面以求某一函數(shù)Q(Xi)的極小值為例,介紹基本粒子群算法的實(shí)現(xiàn)方法[2]。
假設(shè)在一個(gè)N維的目標(biāo)搜索空間中 (N相當(dāng)于Q(Xi)中未知因子個(gè)數(shù),也就是優(yōu)化參數(shù)個(gè)數(shù)),有m個(gè)粒子組成的一個(gè)群體 (即m組可能解),其中第 i個(gè)粒子的位置表示為向量 Xi= (xi1,xi2,……,xiN);i=1,2,……,m其速度也是一個(gè)N維的向量,記為Vi=(vi1,vi2,……, viN)。隨機(jī)產(chǎn)生一組 Xi,作為第一代初始種群,將Xi帶入目標(biāo)函數(shù)Q(Xi)就可以計(jì)算出其適應(yīng)值,根據(jù)適應(yīng)值的大小衡量Xi的優(yōu)劣。對(duì)于最小化問題,目標(biāo)函數(shù)值越小,對(duì)應(yīng)的適應(yīng)值越好。設(shè)粒子 i迄今為止經(jīng)歷的最有位置為 Xbesti= (xi1,xi2,……,xiN),相應(yīng)的適應(yīng)值記為Qbesti,則粒子的當(dāng)前最好位置可表示為:
尋優(yōu)過程中粒子群經(jīng)歷的最優(yōu)位置記為 Xbestg= (xg1,xg2,…,xgN)其對(duì)應(yīng)適應(yīng)值即全局最優(yōu)解為Qbestg。則粒子根據(jù)式(2)來更新自己的速度,即:
式 (2)中,i=1,2,…,m,n=1,2,…,N,t表示第t代。在速度更新時(shí),不應(yīng)該超出給定的速度范圍,即要求Vi∈[-Vmax,Vmax],單步前進(jìn)的最大值Vmax根據(jù)粒子的取值區(qū)間長(zhǎng)度來確定。
然后按式 (3)來更新位置向量,即:
xin(t+1)=xin(t)+vin(t+1)(3)
式中的變量意義同前。根據(jù)實(shí)際問題來確定粒子的取值范圍xin∈[xinmin,xinmax]。
這樣一代一代地執(zhí)行下去直到達(dá)到要求,取得極值。
對(duì)公式中一些符號(hào)意義作用的幾點(diǎn)說明:①c1表示認(rèn)知因子,c2表示社會(huì)因子。它們分別代表了向自身極值和全局極值推進(jìn)的加速極值。實(shí)驗(yàn)結(jié)果表明,一般取c1=c2=2比較好,但實(shí)際上加速權(quán)值是可以變化的,而且如何變化將直接影響尋優(yōu)過程;②r1,r2是0~1之間的隨機(jī)變量。
PSO算法流程:
1)初始化,包括定義初始種群 (速度—位移模型以及種群大小等),進(jìn)化代數(shù),還有一些修正改進(jìn)算法中可能用到的常量。
2)評(píng)價(jià)種群。計(jì)算初始種群各個(gè)粒子的適應(yīng)度。
3)求出當(dāng)前的Qbesti和Qbestg。
4)進(jìn)行速度和位置更新。
5)評(píng)價(jià)種群。計(jì)算新種群中粒子的適應(yīng)度。
6)比較Xbesti和Qbestg,若優(yōu)越則替換。
7)判斷算法結(jié)束條件 (包括精度要求和進(jìn)化代數(shù)要求),滿足則跳出循環(huán),不滿足則跳到 (4)繼續(xù)執(zhí)行。
以上為基本粒子群算法[3-5]。
3.2 粒子群算法的改進(jìn)
為了改善基本PSO算法的收斂性能,本文提出了帶權(quán)重的粒子群算法,即標(biāo)準(zhǔn)粒子群算法。這是對(duì)基本粒子群算法最早的一種改進(jìn)。
標(biāo)準(zhǔn) PSO主要是在式 (2)中引入了慣性權(quán)重ω,即:
慣性權(quán)重是為了平衡全局搜索和局部搜索而引入的,慣性權(quán)重代表了原來速度在下一次迭代中所占的比例,ω較大時(shí),前一速度的影響較大,全局搜索能力比較強(qiáng);ω較小時(shí),前一速度的影響較小,局部搜索能力比較強(qiáng)。合適的ω值在搜索速度和搜索精度方面起著協(xié)調(diào)作用。因此,一般采用慣性權(quán)重遞減策略,即在算法的初期取較大的慣性權(quán)值ω,使對(duì)整個(gè)問題空間進(jìn)行有效的搜索,算法進(jìn)行后期取較小慣性權(quán)值ω,以有利于算法的收斂。慣性權(quán)重遞減公式為:
式中,ωmax和ωmin分別為ω的最大最小值,ω的取值范圍在 [0,1.4]比較合適,但通常取在 [0.8, 1.2];Tmax、t分別是最大的迭代數(shù)和當(dāng)前的迭代數(shù)。
另外,Clerc提出的收縮因子法也是一種標(biāo)準(zhǔn)的PSO算法。他是把基本的速度公式,即式 (2)改變?yōu)椋?/p>
φ=c1+c2,φ>4。通常情況下取 c1=c2=2.05,φ= 4.1,此時(shí)γ=0.7298。實(shí)驗(yàn)結(jié)果表明,兩種方法差不多,收縮因子更有效率,但是在有些情況下無(wú)法得到全局極值點(diǎn)[6-9]。
4.1 估計(jì)模型的選擇
確定模型的結(jié)構(gòu)是決定模型質(zhì)量關(guān)鍵性的一步[10-12]。
實(shí)際上,一個(gè)實(shí)際的物理表象,可以用無(wú)窮多的數(shù)學(xué)模型來描述,物理表象與數(shù)學(xué)模型不存在一一對(duì)應(yīng)的關(guān)系,我們所能做的就是從各種數(shù)學(xué)模型中選擇出一種來近似描述實(shí)際的物理表象。這一特性給選擇模型結(jié)構(gòu)帶來困難。我們只好用對(duì)各過程領(lǐng)域的先驗(yàn)知識(shí)來假想一個(gè)模型結(jié)構(gòu)。專家總結(jié)出的經(jīng)驗(yàn)?zāi)P褪牵?/p>
式中:K為系統(tǒng)增益;子為純遲延時(shí)間常數(shù);T為系統(tǒng)慣性時(shí)間常數(shù);β為微分時(shí)間常數(shù);當(dāng)系統(tǒng)為無(wú)自平衡時(shí),有自平衡時(shí);為慣性部分的階次。
由式 (7)系統(tǒng)可以簡(jiǎn)化成以下幾種模型結(jié)構(gòu)。
1)高階對(duì)象
絕大多數(shù)的熱工對(duì)象有自平衡能力,并且屬于多階慣性環(huán)節(jié)。一般可以認(rèn)為它是等容多階對(duì)象,定義它為I型對(duì)象,即:
當(dāng)求出的階次n不是整數(shù)時(shí),用近似的整數(shù)代替。
2)多容慣性對(duì)象
如果想描述有自平衡對(duì)象的細(xì)節(jié),則可以用多容慣性對(duì)象,定義它為II型對(duì)象,即:
3)具有純遲延的高階慣性對(duì)象
當(dāng)系統(tǒng)存在純遲延時(shí),可以加入純遲延環(huán)節(jié),定義它為III型對(duì)象,即:
當(dāng)使用高階對(duì)象時(shí),可能會(huì)遇到困難,這時(shí)可以對(duì)其進(jìn)行降階處理。此外,純遲延對(duì)象并不適合于系統(tǒng)分析,這時(shí)可以與高階對(duì)象互換。如果不要求有特別高的精度,則可以用下面的方法進(jìn)行升降系統(tǒng)階次與純遲延之間的關(guān)系相互轉(zhuǎn)換來處理。
如果原傳遞函數(shù)如式 (10)所示,則可把它簡(jiǎn)化成:
兩式中的參數(shù)關(guān)系為:
4)無(wú)自平衡能力對(duì)象
對(duì)于汽包水位系統(tǒng)等少數(shù)無(wú)自平衡能力對(duì)象,其傳遞函數(shù)可用式 (13)來描述,并定義它為IV型對(duì)象,即:
5)零穩(wěn)態(tài)對(duì)象
對(duì)于具有微分作用的對(duì)象,當(dāng)系統(tǒng)趨于穩(wěn)態(tài)時(shí),輸出趨近于零,把這種對(duì)象定義為V型對(duì)象,即:
6)逆向響應(yīng)系統(tǒng)
在工程中,存在一種逆向相應(yīng)系統(tǒng),它的表征是,在階躍擾動(dòng)作用下,系統(tǒng)的輸出先朝著與最終趨向相反的方向變化,然后再朝著最終趨向變化。汽包鍋爐的蒸汽量階躍擾動(dòng)引起的汽包水位變化就是逆向響應(yīng)過程,在熱工里被稱為 “虛假水位”;循環(huán)流化床鍋爐一次風(fēng)階躍擾動(dòng)引起的床溫變化也是一個(gè)典型的逆向響應(yīng)過程。逆向響應(yīng)系統(tǒng)的傳遞函數(shù)如式 (15)和式(16)所示,定義它為VI和VII型對(duì)象,即:
4.2 系統(tǒng)辨識(shí)與仿真
基于上述理論,用粒子群算法和最小二乘法辨識(shí)以下兩個(gè)系統(tǒng)。
I.已知某火電機(jī)組在負(fù)荷下得到的蒸汽量變化對(duì)應(yīng)汽包水位變化的傳遞函數(shù)為:(系統(tǒng)I)(17)
II.某1000MW超超臨界火電機(jī)組,在負(fù)荷時(shí),負(fù)荷發(fā)生變動(dòng)后的各變量響應(yīng)曲線如圖1所示,從該圖中截取的一段數(shù)據(jù)可用于系統(tǒng)辨識(shí)。辨識(shí)送風(fēng)量和引風(fēng)量變化引起爐膛壓力變化的數(shù)學(xué)模型。(系統(tǒng)II)
圖1 1000 MW機(jī)組負(fù)荷圖
4.2.1 系統(tǒng)I辨識(shí)
系統(tǒng)I采用最小二乘法辨識(shí)的結(jié)果為:
V1=0.150 4,V2=4.945 0,V2=3.615 5,V4=3.685 4,V5=5.504 5。辨識(shí)后的傳遞函數(shù)為式(18):
系統(tǒng)I采用粒子群法辨識(shí)的結(jié)果為:V1= 0.184 5,V2=8.971 6,V3=3.492 8,V4=2.830 3,V5=5.721 1。辨識(shí)后的傳遞函數(shù)為式 (19):
最小二乘法辨識(shí)結(jié)果如圖2所示。
圖2 系統(tǒng)I最小二乘法辨識(shí)結(jié)果
把仿真步距設(shè)為500,在同一方波信號(hào)下觀察比較最小二乘法和粒子群把對(duì)系統(tǒng)I的辨識(shí)結(jié)果。最小二乘辨識(shí)見圖2,粒子群算法辨識(shí)見圖3。
圖3 同一方波信號(hào)下系統(tǒng)I粒子群辨識(shí)結(jié)果
比較圖2、圖3可知,采用最小二乘法辨識(shí)的辨識(shí)曲線大概能與實(shí)測(cè)數(shù)據(jù)擬合,但有明顯誤差。采用粒子群發(fā)進(jìn)行系統(tǒng)辨識(shí)時(shí),只要選擇合適的參數(shù),辨識(shí)曲線與實(shí)測(cè)數(shù)據(jù)的擬合效果很好,幾乎完全重合。
4.2.2 系統(tǒng)II辨識(shí)
讀取的現(xiàn)場(chǎng)數(shù)據(jù)見圖4。系統(tǒng)辨識(shí)模型結(jié)構(gòu)為:
圖4 讀取的現(xiàn)場(chǎng)數(shù)據(jù)
系統(tǒng)II采用粒子群算法辨識(shí)結(jié)果見圖5。
圖5 系統(tǒng)II粒子群算法辨識(shí)結(jié)果
辨識(shí)結(jié)果為:V1=0.577 3,V2=2.126 9,V3=1.859 5。近似為:
最小二乘法辨識(shí)。V1=0.524 3,V2=1.968 7,V3=2.2951,辨識(shí)結(jié)果見圖6。
圖6 系統(tǒng)II最小二乘法辨識(shí)結(jié)果
本文介紹了系統(tǒng)辨識(shí)的有關(guān)概念和方法,系統(tǒng)辨識(shí)實(shí)質(zhì)上是結(jié)構(gòu)優(yōu)化和參數(shù)優(yōu)化。重點(diǎn)介紹了粒子群算法和最小二乘法,并根據(jù)火電機(jī)組實(shí)例,應(yīng)用這兩種方法進(jìn)行了系統(tǒng)辨識(shí)與仿真。
粒子群算法是一種全局隨機(jī)優(yōu)化算法,具有參數(shù)少、速度快的特點(diǎn),從仿真結(jié)果可以看出粒子群優(yōu)化算法辨識(shí)精度較好、速度快,且對(duì)輸入輸出觀測(cè)量的要求可以根據(jù)實(shí)際情況方便選擇。最小二乘法是傳統(tǒng)的辨識(shí)方法,收斂速度較快,但存在局部最小問題,易出現(xiàn)產(chǎn)生非奇異矩陣導(dǎo)致收斂失敗的情況。
[1] 王琳,馬平.系統(tǒng)辨識(shí)方法綜述 [J].電力情報(bào),2001, (4):63-66.
[2] 韓璞,等.智能控制理論及應(yīng)用 [M].北京:中國(guó)電力出版社,2013.
[3] T.H.Kim,I.Maruta,T.Sugie.Robust PID controller tuning based on the constrained particle swarm optimization[J]. Automatica,2008,44(4):1104-1110.
[4] 王俊偉,汪定偉.粒子群算法中慣性權(quán)重的調(diào)整策略[J].計(jì)算機(jī)工程,2007,33(11):193-195.
[5] J.Chen,T.C.Huang.Applying neural networks to on-line updated PID controllers for nonlinear process control[J].Journal of Process Control,2004,14(2):211-230.
[6] 何小賢,朱云龍,王玫.群體智能中的知識(shí)涌現(xiàn)與復(fù)雜適應(yīng)性問題綜述研究 [J].信息與控制,2005,34(5): 560-566.
[7] 李凱.基于微粒群優(yōu)化算法的結(jié)構(gòu)系統(tǒng)識(shí)別 [D].同濟(jì)大學(xué)土木工程學(xué)院,2008.
[8] J.Q.Han.From PID to active disturbance rejection control [J].IEEE Transactions on Industrial Electronics,2009,56(3):900-906.
[9] V.A.Oliveira,L.V.Cossi,M.C.M.Teixeira,A.M.F.Silva. Synthesis of PID controllers for a class of time delay system [J].Automatica,2009,45(7):1778-1782.
[10] 劉金琨,沈曉蓉,趙龍.系統(tǒng)辨識(shí)理論及MATLAB仿真[M].北京:電子工業(yè)出版社,2013.
[11] 田謙益.基于群體智能算法的非線性系統(tǒng)參數(shù)辨識(shí)[J].佳木斯大學(xué)學(xué)報(bào) (自然科學(xué)版),2010,28(4):502-505.
[12] 韓璞,朱希彥.自動(dòng)控制系統(tǒng)數(shù)字仿真 [M].北京:中國(guó)電力出版社,1996.
System Identification Based on Swarm Intelligence
CHEN Wenwen1,2,LIU Youkuan3,SUN Jianping1
(1.Department of Automation,North China Electric Power University,Baoding,Hebei 071000; 2.North China Electric Power University Graduate Student Workstations of Yunnan Power Grid Corporation,Kunming 650217; 3.Smart Grid Department of Yunnan Electric Power Research Institute,Kunming 650217)
Establishment of the system model is necessary when it comes to study the control system.Therefore,system identification plays a crucial role in the study of control system,of which the essences are structural optimization and parameter optimization. The article summarizes the methods of system identification,focusing on the least squares method,the particle swarm optimization (PSO)which included in swarm intelligence algorithm and the improved particle swarm optimization,gives the selection method of estimation model and combine with a 1000MW thermal power instance,use two methods to identify and simulate the control system. Simulation results show that the least squares method of identification can be done on the system,but there is a big deviation and it can get good recognition results by using particle swarm optimization.
System Identification;Least Squares;PSO;Simulation
TP15;TP18
B
1006-7345(2014)03-0010-05
2014-05-06
陳文雯 (1989),女,碩士研究生,華北電力大學(xué)云南電網(wǎng)公司研究生工作站,從事控制理論與控制工程、新能源等領(lǐng)域研究 (email)961689821@qq.com。
劉友寬 (1973),男,云南電網(wǎng)公司電力研究院,長(zhǎng)期從事水火電機(jī)組控制研究、新能源遠(yuǎn)程控制系統(tǒng)研究。
孫建平 (1961),男,教授,華北電力大學(xué)自動(dòng)化系,長(zhǎng)期從事控制理論與控制工程、模式識(shí)別領(lǐng)域的教學(xué)與研究。