林振敏
(中國能源建設(shè)集團(tuán) 江蘇省電力設(shè)計(jì)院有限公司,南京 211102)
目前,以傳遞函數(shù)描述的線性系統(tǒng)建模經(jīng)常采用的方法是:首先,根據(jù)系統(tǒng)特性確定模型的形式和階次;然后,利用系統(tǒng)的階躍響應(yīng)曲線,根據(jù)不同的傳遞函數(shù)形式,確定相應(yīng)的模型參數(shù)。這種方法實(shí)施起來,需要讀取響應(yīng)曲線,誤差較大。一般得到參數(shù)以后,還需要進(jìn)一步地調(diào)整來確定最終的參數(shù)。
群體智能優(yōu)化算法基于物種的遷移或者進(jìn)化特性,對需要解決的問題設(shè)定目標(biāo)函數(shù),通過全局搜索能力,得到目標(biāo)函數(shù)的極值。使用較多的群體智能算法主要包括:遺傳算法[1]、粒子群算法[2]、蟻群算法[3]等。隨群體智能的進(jìn)一步深入研究,一些其他的優(yōu)化算法被提出,比如:細(xì)菌群體趨藥性算法[4-5]、人工魚群[6]、混合蛙跳算法[7]、狼群算法[8]、布谷鳥搜索算法[9]、人工蜂群算法[10]等。隨著群體智能算法的發(fā)展,一些學(xué)者將智能優(yōu)化算法應(yīng)用于線性系統(tǒng)的模型辨識(shí),比如基于粒子群算法的系統(tǒng)辨識(shí)[11]。
人 工 蜂 群 算 法(Artificial Bee Colony,ABC) 是 由Karaboga 提出的一種新穎的基于群智能的全局優(yōu)化算法,其直觀背景來源于蜂群的采蜜行為,蜜蜂根據(jù)各自的分工進(jìn)行不同的活動(dòng),并實(shí)現(xiàn)蜂群信息的共享和交流,從而找到問題的最優(yōu)解。人工蜂群算法實(shí)現(xiàn)簡單、尋優(yōu)能力較強(qiáng),已經(jīng)應(yīng)用于多個(gè)領(lǐng)域,比如:故障診斷[12]、參數(shù)優(yōu)化[13]、車間作業(yè)調(diào)度[14]、聚類[15]等。而在系統(tǒng)辨識(shí)領(lǐng)域,人工蜂群算法也有較多的應(yīng)用,比如:非線性系統(tǒng)參數(shù)辨識(shí)[16-18]、機(jī)器人參數(shù)辨識(shí)[19]、潛器參數(shù)[20]等。
本文針對以傳遞函數(shù)描述的線性系統(tǒng),提出了一種基于人工蜂群算法的系統(tǒng)辨識(shí)算法。該算法利用人工蜂群算法的全局搜索能力,根據(jù)給定的階躍響應(yīng)數(shù)據(jù)以及設(shè)計(jì)的尋優(yōu)目標(biāo)函數(shù),得到一組合適的傳遞函數(shù)參數(shù)。仿真實(shí)驗(yàn)表明,本文提出的辨識(shí)方法具有較高的辨識(shí)精度。
人工蜂群算法包括三種類型的蜜蜂:雇傭蜂、跟隨蜂以及觀察蜂。其中,雇傭蜂和跟隨蜂的數(shù)量相同,并且分別占蜂群總數(shù)的1/2。每個(gè)雇傭蜂對應(yīng)一個(gè)蜂蜜源,這些雇傭蜂的主要工作是尋找并記錄與之對應(yīng)的蜂蜜源。然后,將蜂蜜源的相關(guān)信息通過圓擺舞的方式傳遞給跟隨蜂,跟隨蜂就根據(jù)這些信息來選擇蜂蜜源[21]。當(dāng)雇傭蜂對應(yīng)的蜂蜜源的位置多次未改變,雇傭蜂變?yōu)橛^察蜂,通過局部搜索確定新蜂蜜源的位置[22]。
在該算法中,每個(gè)蜂蜜源位置坐標(biāo)表示一個(gè)可行解。在算法的每一次循環(huán)中,雇傭蜂都通過鄰域搜索尋找每個(gè)蜂蜜源,并計(jì)算每個(gè)蜂蜜源對應(yīng)的適應(yīng)值。根據(jù)雇傭蜂傳遞的信息(即每個(gè)蜂蜜源的適應(yīng)值),跟隨蜂通過一定的概率來選擇蜂蜜源,并在選擇的蜂蜜源周圍尋找新的蜂蜜源,并計(jì)算它們的適應(yīng)值及目標(biāo)函數(shù)值[23]。
雇傭蜂和跟隨蜂尋找蜂蜜源的公式,如式(1):
其 中,j ∈{1,2,…,D},i ∈{1,2,…,N}。N 是 蜜 蜂 源 的個(gè)數(shù),D 是每個(gè)蜜蜂源的維度,k 是不等于i 的隨機(jī)索引值,φij是在[-1,1]區(qū)間的隨機(jī)數(shù),xij(n)是蜂群新的更新位置,xij(n-1)是當(dāng)前位置。如果更新后的蜂蜜源的目標(biāo)值優(yōu)于當(dāng)前蜂蜜源,則利用新的蜂蜜源更新當(dāng)前的值,否則,保留當(dāng)前的蜂蜜源值。
跟隨蜂選擇蜂蜜源的概率為[24]:
其中:Pi 表示跟隨蜂選擇蜂源i 的概率,fit(i)是選擇蜂源i 所對應(yīng)的目標(biāo)函數(shù)值。
目前,比較常見的線性系統(tǒng)的辨識(shí)模型主要包括如下幾類:
1)高階對象
當(dāng)求取出的n 不是整數(shù)時(shí),用近似的整數(shù)代替。
2)多容慣性對象
3)具有純遲延的高階慣性對象
4)無自平衡對象
5)零穩(wěn)態(tài)對象
6)逆響應(yīng)對象
該對象的特點(diǎn)是:在階躍擾動(dòng)情況下,系統(tǒng)的輸出先朝著與最終趨勢相反的方向變化,然后在朝著最終的趨勢變化。比較典型的,比如汽包爐的蒸汽量擾動(dòng)引起的汽包水位的變化、循環(huán)流化床鍋爐一次風(fēng)階躍擾動(dòng)引起的床溫變化等。除了式(8)以外,逆響應(yīng)系統(tǒng)的傳遞函數(shù)還可描述為:
7)高階有理對象
該對象描述的參數(shù)較多,一般不采用這種辨識(shí)模型。
本文提出的辨識(shí)算法具體描述如下:
1)選擇辨識(shí)模型,根據(jù)對象特性確定待辨識(shí)模型參數(shù)的變化區(qū)間。
2)確定人工蜂群優(yōu)化算法的目標(biāo)函數(shù),一般選擇為:
其中,yi為實(shí)際輸出,為辨識(shí)模型輸出。
3)初始化蜂群算法的種群個(gè)數(shù)、蜂源開采次數(shù)以及初始種群值,并計(jì)算初始種群的適應(yīng)度(目標(biāo)函數(shù)值)。
4)根據(jù)式(1)更新雇傭蜂的值,計(jì)算新的適應(yīng)度值并選擇最佳值。
5)判斷同一蜂源利用的次數(shù)是否超過設(shè)定值,如果沒有,則根據(jù)式(2)計(jì)算蜜源被選擇的概率,舍棄該蜂源變?yōu)閭刹榉洳⒅匦鲁跏蓟湓础?/p>
6)根據(jù)式(1)更新雇傭蜂的值,計(jì)算新的適應(yīng)度值并選擇最佳值。
7)判斷同一蜂源利用的次數(shù)是否超過設(shè)定值,如果超過,則舍棄該蜂源變?yōu)閭刹榉洳⒅匦鲁跏蓟湓础?/p>
8)判斷人工蜂群算法是否達(dá)到了結(jié)束條件,如果沒有達(dá)到結(jié)束條件,則轉(zhuǎn)步驟(4)。
9)算法結(jié)束后,驗(yàn)證得到的辨識(shí)模型是否滿足辨識(shí)精度要求,如果不滿足,則重新進(jìn)行尋優(yōu)或者選擇新的傳遞函數(shù)形式。
待辨識(shí)模型為:
本例采用第一種傳遞函數(shù)形式,原始的數(shù)據(jù)通過該對象的階躍響應(yīng)得到,并在輸出的時(shí)候,增加了隨機(jī)分布的白噪聲,以模擬現(xiàn)場的測量誤差[11]。辨識(shí)出的傳遞函數(shù)如下:
圖1 顯示了實(shí)際輸出和辨識(shí)模型輸出曲線。
待辨識(shí)模型為:
本例采用第二種傳遞函數(shù)形式,原始的數(shù)據(jù)通過該對象的階躍響應(yīng)得到,并在輸出的時(shí)候,增加了隨機(jī)分布的白噪聲,以模擬現(xiàn)場的測量誤差。辨識(shí)出的傳遞函數(shù)如下:
圖1 實(shí)際輸出和辨識(shí)模型輸出曲線(仿真實(shí)例1)Fig.1 Actual output and identification model output curve(Simulation 1)
圖2 實(shí)際輸出和辨識(shí)模型輸出曲線(仿真實(shí)例2)Fig.2 Actual output and identification model output curve(Simulation 2)
圖2 顯示了實(shí)際輸出和辨識(shí)模型輸出曲線。
待辨識(shí)模型為:
本例采用第三種傳遞函數(shù)形式,原始的數(shù)據(jù)通過該對象的階躍響應(yīng)得到,并在輸出的時(shí)候,增加了隨機(jī)分布的白噪聲,以模擬現(xiàn)場的測量誤差。辨識(shí)出的傳遞函數(shù)如下:
圖3 顯示了實(shí)際輸出和辨識(shí)模型輸出曲線。
圖3 實(shí)際輸出和辨識(shí)模型輸出曲線(仿真實(shí)例3)Fig.3 Actual output and identification model output curve(Simulation 3)
本文提出了一種基于人工蜂群算法的線性系統(tǒng)辨識(shí)方法,線性系統(tǒng)通過傳遞函數(shù)來描述。人工蜂群算法是近些年發(fā)展起來的一種群體智能優(yōu)化算法,其全局尋優(yōu)能力強(qiáng)、效率較高,得到了廣泛應(yīng)用。常見的線性傳遞函數(shù)的辨識(shí)模型有7 類,在辨識(shí)中使用較多的是前3 種,本文通過3個(gè)仿真實(shí)例,分別驗(yàn)證了前3 種辨識(shí)模型。通過比較實(shí)際輸出和辨識(shí)模型輸出曲線,本文提出的辨識(shí)算法具有較高辨識(shí)精度,而模型1 和模型3 的辨識(shí)精度更高,在實(shí)際中應(yīng)用也較多。