章程明, 張雨飛
(東南大學(xué) 能源與環(huán)境學(xué)院, 南京 210096)
?
采用改進(jìn)蟻群算法的熱工過(guò)程模型參數(shù)辨識(shí)
章程明, 張雨飛
(東南大學(xué) 能源與環(huán)境學(xué)院, 南京 210096)
摘要:在基本蟻群算法基礎(chǔ)上引入人工免疫的思想,對(duì)算法中初始信息素分布、信息素調(diào)整機(jī)制及選擇概率函數(shù)等方面做出改進(jìn),使蟻群辨識(shí)方法能夠更快、更精確地逼近實(shí)際系統(tǒng)的輸出。結(jié)合仿真實(shí)驗(yàn)結(jié)果表明,該方法比基本蟻群算法具有更高的尋優(yōu)效率和辨識(shí)精度。
關(guān)鍵詞:熱工過(guò)程; 系統(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)化算法,采用正反饋并行自催化機(jī)制,具有較強(qiáng)的魯棒性、優(yōu)良的分布式計(jì)算機(jī)制、容易和其他方法相結(jié)合的特點(diǎn),成為人們研究的熱點(diǎn)算法之一[10-11]。然而由于基本蟻群算法前期信息素匱乏,求解初期過(guò)程耗時(shí)較長(zhǎng);算法迭代參數(shù)單一,信息素容易出現(xiàn)發(fā)散式增長(zhǎng),使求解后期陷入局部最優(yōu)。
對(duì)此,筆者在基本蟻群算法中引入人工免疫的思想,利用其快速的全局搜索能力,產(chǎn)生蟻群算法在算法前期所需的初始解及初始信息素分布,避免盲目搜索,提高算法效率;同時(shí)通過(guò)抗體的多樣性特征和自我調(diào)節(jié)的能力,調(diào)整信息素分布規(guī)律及擴(kuò)散機(jī)制、改進(jìn)概率選擇函數(shù),使算法能夠及時(shí)跳出局部最優(yōu),快速向全局最優(yōu)收斂,克服基本蟻群算法的缺陷。
筆者用組合優(yōu)化的角度來(lái)看待熱工過(guò)程模型的參數(shù)辨識(shí)問(wèn)題,利用改進(jìn)蟻群算法對(duì)所有可行解進(jìn)行高效搜索,從而獲得模型參數(shù)的最優(yōu)估計(jì)。最后利用某循環(huán)流化床鍋爐床壓特性實(shí)驗(yàn)驗(yàn)證,得到了較好的辨識(shí)效果。
1基本蟻群算法
蟻群算法中的所有可行路徑代表問(wèn)題的所有可行解[12]。在開(kāi)始時(shí)假設(shè)各節(jié)點(diǎn)上的信息素相等且為常數(shù),即τi(0)=C。螞蟻在前進(jìn)中由節(jié)點(diǎn)處的信息素濃度選擇路徑下一節(jié)點(diǎn)。選擇概率函數(shù)為:
(1)
式中:A表示待選擇路徑點(diǎn)的集合;τi(k)為第k次迭代中節(jié)點(diǎn)i的信息素強(qiáng)度;α為表示信息素重要程度的參數(shù);η為啟發(fā)因子;β為表示啟發(fā)式因子重要程度的參數(shù)。所有螞蟻完成一次循環(huán)后,各節(jié)點(diǎn)上信息素量根據(jù)下式調(diào)整:
(2)
螞蟻在完成每次搜索之后,按式(2)更新信息素矩陣。通過(guò)不斷地循環(huán)迭代,最終找到全局最優(yōu)解。
2蟻群算法的改進(jìn)
改進(jìn)蟻群算法的指導(dǎo)思想來(lái)源于人工免疫算法(Artificial Immune Algorithm,AIA)。它是一種根據(jù)生物免疫原理發(fā)展起來(lái)的新型智能隨機(jī)優(yōu)化算法,目前已經(jīng)廣泛應(yīng)用在智能控制、模式識(shí)別等眾多領(lǐng)域。
在人工免疫系統(tǒng)中,將被求解的問(wèn)題看作是抗原,問(wèn)題的解看作是抗體。算法從隨機(jī)生成的初始解群出發(fā),經(jīng)過(guò)交叉、變異等人工免疫算子操作,產(chǎn)生新的子代抗體,循環(huán)迭代,使算法結(jié)果逼近最優(yōu)解[13]。
2.1 改進(jìn)初始信息素分布
基本蟻群算法中初始時(shí)刻各條路徑上信息素相同,求解初期過(guò)程耗時(shí)較長(zhǎng)。利用人工免疫算法快速的全局搜索能力,產(chǎn)生基本蟻群算法所缺乏的初始解及初始信息素分布,提高尋優(yōu)效率。具體流程如下:
(1) 確定抗體集合。根據(jù)具體問(wèn)題目標(biāo)函數(shù),將滿足約束條件的所有解作為算法的抗體。
(2) 產(chǎn)生初始抗體。隨機(jī)產(chǎn)生一批初始抗體,計(jì)算抗體與抗原之間的親和力,剔除掉親和力過(guò)差的抗體,同時(shí)生成新的抗體作為補(bǔ)充,重復(fù)以上操作,直到所有抗體都滿足親和力要求。
(3) 選擇抗體。計(jì)算抗體濃度Ci,依次排除掉濃度最高的抗體,直到剩余抗體的個(gè)數(shù)滿足要求。
第i個(gè)抗體的濃度Ci的計(jì)算公式為:
(3)
式中:Ci是第i個(gè)抗體的濃度;N是抗體集合中的抗體數(shù)目;aCij是與第i個(gè)抗體相似的抗體;aij是相似系數(shù),當(dāng)其值大于相似系數(shù)判別閾值μ時(shí),則認(rèn)為此抗體與第i個(gè)抗體相似,并取值為1,反之取0,相似系數(shù)判別閾值μ的取值是一定的[13]。
(4) 根據(jù)第3步得到的較優(yōu)初始解生成信息素初始分布。
2.2 建立信息素分布調(diào)整機(jī)制
信息素分布是蟻群算法的核心,指導(dǎo)著算法結(jié)果向最優(yōu)解逼近。然而基本蟻群算法沒(méi)有對(duì)信息素的增長(zhǎng)加以調(diào)整和約束,在正反饋機(jī)制的作用下,很容易使搜索陷入局部最優(yōu),出現(xiàn)算法停滯的問(wèn)題。筆者引入人工免疫中的變異算子、交叉算子等操作,調(diào)整信息素分布,使其正確反映全局最優(yōu)解的趨勢(shì)。
2.2.1 交叉操作
當(dāng)每一輪螞蟻尋找路徑結(jié)束后,對(duì)信息素矩陣進(jìn)行交叉操作,即將當(dāng)前最優(yōu)路徑節(jié)點(diǎn)上的信息素與同位置信息素含量最高的節(jié)點(diǎn)互換,從而確保下一次搜索對(duì)當(dāng)前最優(yōu)路徑的搜索概率最大。
2.2.2 變異操作
對(duì)信息素矩陣特定節(jié)點(diǎn)進(jìn)行變異操作,實(shí)現(xiàn)信息素的抑制與擴(kuò)散,即對(duì)信息素矩陣同一列中信息素含量最高的節(jié)點(diǎn)進(jìn)行抑制,防止信息素發(fā)散式增長(zhǎng),淹沒(méi)其他節(jié)點(diǎn)被搜索到的可能,增大搜索的隨機(jī)性;同時(shí)對(duì)此節(jié)點(diǎn)縱向鄰域進(jìn)行信息素?cái)U(kuò)散,實(shí)現(xiàn)對(duì)局部最優(yōu)解的鄰域搜索。
2.3 信息素?cái)U(kuò)散策略調(diào)整
為了使算法在前期有較強(qiáng)的全局搜索能力,加大發(fā)現(xiàn)全局最優(yōu)解的概率,在后期能夠加強(qiáng)局部搜索,以加快收斂速度,同時(shí)提高算法的精度,采用模擬退火策略,對(duì)各節(jié)點(diǎn)設(shè)置退火因子λi,即
中國(guó)科學(xué)院計(jì)算所漢語(yǔ)詞法分析系統(tǒng)ICTCLAS采用層疊隱馬爾可夫模型識(shí)別中文命名實(shí)體,系統(tǒng)設(shè)計(jì)了三級(jí)模型,低層粗切分,高層在低層結(jié)果的基礎(chǔ)上精切分,每層都以隱馬爾可夫模型作為基本算法,采用N-Nest 策略,將低層產(chǎn)生的最好結(jié)果送到高層,并為高層提供參數(shù)估計(jì)支持[3]。ICTCLAS 在2003 年5 月SIGHAN 舉辦的第一屆漢語(yǔ)分詞大賽中名列前茅。
(4)
2.4 改進(jìn)選擇概率函數(shù)
在基本蟻群算法中,選擇概率函數(shù)包含的參數(shù)過(guò)于單一,搜索過(guò)程很可能陷入局部最優(yōu)。筆者在概率函數(shù)中融入抗體濃度的概念,加大了概率函數(shù)參數(shù)的多樣性,使其更加全面地反映出全局信息。第k次迭代中選擇概率函數(shù)為:
(5)
式中:τi(k)表示抗體所在的節(jié)點(diǎn)信息素;α是表示信息素重要程度的系數(shù);ci表示第i個(gè)抗體的濃度;β是一個(gè)定值的常數(shù)。
3采用改進(jìn)蟻群算法的熱工過(guò)程模型辨識(shí)
3.1 熱工過(guò)程辨識(shí)原理
定義指標(biāo)函數(shù)為:
(6)
3.2 熱工過(guò)程模型結(jié)構(gòu)
火電廠中絕大多數(shù)的熱工過(guò)程都具有自平衡能力,并且屬于多階慣性環(huán)節(jié),一般可認(rèn)為其為具有純延遲的高階慣性對(duì)象,即
(7)
基于上述,共有四個(gè)未知參數(shù):模型階次n、增益系數(shù)K、時(shí)間常數(shù)T和遲延時(shí)間τ。模型辨識(shí)的過(guò)程就是尋找最優(yōu)參數(shù)n、K、T、τ,使指標(biāo)函數(shù)式(6)最小的過(guò)程。
4辨識(shí)仿真
4.1 仿真實(shí)例1
為了驗(yàn)證改進(jìn)蟻群算法的有效性,在Matlab上對(duì)熱工過(guò)程模型進(jìn)行辨識(shí),并和采用基本蟻群算法的參數(shù)辨識(shí)結(jié)果進(jìn)行了比較。構(gòu)造熱工過(guò)程模型如下:
(8)
選取m=30,α=1.1,ρ=0.1,迭代次數(shù)為50,使用e(n)記錄每次迭代辨識(shí)誤差最小值,算法在迭代次數(shù)到達(dá)50或e(n)等于0就停止執(zhí)行。模型參數(shù)選取范圍為:K∈(-29.9,29.9),T∈(0,199.9),n∈(1,9),τ∈(0,99),其中,K和T的辨識(shí)精度為0.1,n和τ的辨識(shí)精度為1。
式(9)和式(10)分別為采用基本蟻群算法和改進(jìn)蟻群算法的辨識(shí)結(jié)果:
(9)
(10)
式中:基本蟻群算法最終辨識(shí)誤差e1為546.465 0,改進(jìn)蟻群算法的最終辨識(shí)誤差e2為9.122 8。
基本蟻群算法和改進(jìn)蟻群算法的單位階躍輸出和實(shí)際輸出對(duì)比見(jiàn)圖2。結(jié)果表明:改進(jìn)蟻群算法的單位階躍輸出和實(shí)際輸出的擬合度更好。
基本蟻群算法與改進(jìn)蟻群算法的辨識(shí)效果見(jiàn)圖3。結(jié)果表明:由于改進(jìn)了初始信息素分布,在算法初期辨識(shí)誤差明顯減小,且搜索后期沒(méi)有出現(xiàn)停滯現(xiàn)象,改進(jìn)蟻群算法比基本蟻群算法能夠獲得更小的辨識(shí)誤差以及更精確的優(yōu)化參數(shù)。
為驗(yàn)證算法的穩(wěn)定性,對(duì)該對(duì)象重復(fù)進(jìn)行了30次實(shí)驗(yàn)。圖4為兩種算法辨識(shí)效果的對(duì)比圖。由圖4可以看出:改進(jìn)蟻群算法搜索到全局最優(yōu)解的次數(shù)有12次,搜索概率為40%,且其他結(jié)果與最優(yōu)解也很接近,基本滿足工程實(shí)際需要;相比之下基本蟻群算法的搜索概率只有3%,其他搜索結(jié)果與全局最優(yōu)解也相差甚遠(yuǎn),效果不理想。由此表明:用改進(jìn)蟻群算法進(jìn)行目標(biāo)參數(shù)辨識(shí),辨識(shí)誤差更低,誤差波動(dòng)范圍更小,算法更加穩(wěn)定。
4.2 仿真實(shí)例2
圖5是300 MW循環(huán)流化床鍋爐負(fù)荷在200~250 MW運(yùn)行時(shí),維持其他輸入量不變,將一次風(fēng)量階躍增加16 km3/h,對(duì)床壓的影響曲線??梢钥闯?,當(dāng)一次風(fēng)量增加時(shí),床壓快速下降,整個(gè)下降過(guò)程時(shí)間約為60 s。
設(shè)定參數(shù)m=30,α=1.1,ρ=0.1,迭代次數(shù)為50。模型參數(shù)選取范圍為:K∈(-0.499,0),T∈(0,49.9),n∈(1,5)。辨識(shí)精度設(shè)定同上。
基本蟻群算法辨識(shí)出的傳遞函數(shù)模型為:
(11)
辨識(shí)誤差e1為2.518 4。改進(jìn)蟻群算法辨識(shí)出的傳遞函數(shù)模型為:
(12)
辨識(shí)誤差e2為0.867 1。
從以上仿真實(shí)例可以看出:與基本蟻群算法相比,利用改進(jìn)蟻群算法對(duì)熱工系統(tǒng)模型進(jìn)行參數(shù)辨識(shí),可以得到更好的辨識(shí)效果和更準(zhǔn)確的熱工模型。
5結(jié)語(yǔ)
筆者提出一種基于人工免疫的改進(jìn)蟻群優(yōu)化算法。該算法是在基本蟻群算法基礎(chǔ)上引入人工免疫的思想,在算法初期利用人工免疫算法獲得初始信息素分布,提高算法初期尋優(yōu)效率;利用人工免疫算子與退火因子建立信息素調(diào)整與擴(kuò)散機(jī)制,提高了算法的搜索效率與精度;將抗體濃度融入概率選擇函數(shù)以更全面綜合地利用全局信息,使算法進(jìn)一步避免陷入局部最優(yōu)。仿真實(shí)驗(yàn)結(jié)果表明:該方法克服了基本蟻群算法的缺陷,具有更高的尋優(yōu)效率和逼近精度,在電廠熱工過(guò)程參數(shù)辨識(shí)上具有一定的實(shí)用價(jià)值。
參考文獻(xiàn):
[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.
[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(5):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] 韋根原,趙鵬旭,韓璞. 基于混沌粒子群算法的火電機(jī)組熱工過(guò)程辨識(shí)方法[J]. 熱力發(fā)電,2014,43(10):35-39.
[10] 韋根原,朱波,馬磊. 基于蟻群算法的熱工系統(tǒng)模型辨識(shí)[J]. 計(jì)算機(jī)仿真,2014,31(1):154-156.
[11] 何雅琴. 電廠熱工過(guò)程參數(shù)辨識(shí)[J]. 計(jì)算機(jī)仿真,2015,32(2):127-130.
[12] Bonabeau E, Dorigo M, Theraulaz G. Inspiration for optimization from social insect behavior[J]. Nature,2000,406(6):39-42.
[13] 胡小兵,胡小平,黃席樾. 基于免疫原理的蟻群系統(tǒng)及其應(yīng)用[J]. 數(shù)學(xué)的實(shí)踐與認(rèn)知,2006,36(6):146-152.
Thermal Process Identification Based on Modified Ant Colony Algorithm
Zhang Chengming, Zhang Yufei
(School of Energy and Environment, Southeast University, Nanjing 210096, China)
Abstract:Based on the basic ant colony algorithm, the idea of artificial immune system was introduced to improve the initial distribution and adjustment mechanism of pheromones, and to optimize the selection probability function, so that the actual output of the system could be approached via ant colony identification method in a faster and more accurate way. Simulation results show that the method proposed has higher optimization efficiency and identification accuracy than the basic ant colony algorithm.
Keywords:thermal process; system identification; ant colony algorithm; artificial immunity
中圖分類號(hào):TK232; TP301.6
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1671-086X(2016)02-0077-04
作者簡(jiǎn)介:章程明(1990—),男,在讀碩士研究生,研究方向?yàn)闊峁み^(guò)程自動(dòng)化控制。E-mail: zcm1599@163.com
收稿日期:2015-09-02