袁桂麗,薛彥廣,劉吉臻,張 健
(華北電力大學 控制與計算機工程學院,北京102206)
主蒸汽溫度是火電機組熱力過程的主要參數(shù),對電廠的安全經(jīng)濟運行有重要影響[1].目前,火電廠主汽溫控制系統(tǒng)廣泛采用PID 串級控制.但主汽溫調節(jié)對象具有大慣性、大遲延等特性,而且擾動因素多,采用傳統(tǒng)的整定方法難以獲得滿意的控制效果[2].國內(nèi)外學者提出利用遺傳算法及其改進算法來優(yōu)化PID 參數(shù),以取得較好的控制效果.但是,上述算法存在難以克服的問題,如易出現(xiàn)收斂穩(wěn)定性差、未成熟收斂和多樣性降低等問題.筆者提出將免疫原理中的免疫記憶算子和疫苗算子引入遺傳算法中,用自適應交叉變異算子代替遺傳算法中的固定交叉、變異算子,構成了自適應免疫疫苗算法(Adaptive Immune Vaccine Algorithm,AIVA),并將其與自適應免疫遺傳算法進行了比較.
免疫系統(tǒng)是一種復雜的分布式信息處理學習系統(tǒng),這種系統(tǒng)具有免疫防護、免疫耐受、免疫記憶和免疫監(jiān)視功能,尤其具有較強的自適應性、多樣性、學習、識別和記憶等功能,這些功能和特性給予人們許多靈感,建立了許多基于免疫機理的智能算法,解決了大量的非線性科學問題.
受免疫理論中非特異性免疫和特異性免疫的啟發(fā),筆者在算法中引入疫苗算子,即疫苗提取算子和疫苗接種算子,防止了種群的退化,提高了抗體的適應度、收斂的穩(wěn)定性和收斂速度.免疫記憶細胞的引入保證了算法概率1收斂,縮短了搜索時間.此外,筆者還采用了自適應交叉變異算子,交叉變異概率可隨適應度自動改變,在保證群體多樣性的同時,也保證了算法的收斂性.自適應免疫疫苗算法流程圖見圖1.
1.2.1 免疫記憶模塊設計[3]
免疫記憶模塊設計的原則是將高適應度的抗體寫入數(shù)據(jù)庫.當識別出抗原首次入侵時,隨機產(chǎn)生初始群體(m個個體),將群體中適應度高的前n(n<m)個個體復制到免疫記憶細胞中;否則,對免疫記憶細胞中的抗體和經(jīng)算子操作產(chǎn)生的新群體中的個體,依據(jù)適應度從高到低進行排序,選擇適應度高的前n個抗體復制到免疫記憶細胞,并取前m個抗體作為新群體,完成對記憶細胞庫的更新.
1.2.2 疫苗提取和接種
疫苗是根據(jù)先驗知識所提取的一種對全局最優(yōu)抗體模式的估計.疫苗接種是指用提取的疫苗來修改抗體的某些基因位.其將優(yōu)良基因傳遞給下一代,以提高優(yōu)良模式繁殖的概率,修復在交叉和變異中被破壞的優(yōu)良基因,因此可以抑制退化現(xiàn)象,加快免疫算法的收斂速度.
圖1 自適應免疫疫苗算法流程圖Fig.1 Flow chart of AIVA
經(jīng)過分析,對種群中適應度較高的抗體求取交集并提取疫苗.具體操作如下[4]:
疫苗vα∈S,S={0,1,*}l(l∈N,l>0),即vα被定義為由0、1、*組成的長度為l的串,vαk表示vα在第k個基因位上的編碼.假設α1、α2、…、αs是抗體種群A在某種評價標準下的優(yōu)良個體,則疫苗提取操作為
其中:參數(shù)α和β一般取α≥0.8和β≤0.2.
疫苗其實就是一種優(yōu)良模式,疫苗中不為*的基因位是所有優(yōu)良個體所共有的,稱疫苗中不為*的基因位為優(yōu)良基因位.在疫苗提取過程中,提取集合的規(guī)模過大或過小均不利于適應度的提高,筆者通過實驗確定疫苗提取規(guī)模為種群抗體數(shù)的10%時提取效果較好.
疫苗接種操作是指使用疫苗優(yōu)良基因位來代替抗體上等位基因的過程.假設α為抗體,vα為疫苗,疫苗接種操作為是抗體α接種疫苗后的編碼形式.疫苗接種操作為
采用隨機接種方式進行疫苗接種,即每間隔5~10代隨機從種群中選取一定比例的抗體進行接種.
采用綜合排序選擇的方法進行抗體種群的更新和記憶細胞的更新.即根據(jù)適應度對接種疫苗前的種群、接種疫苗后的種群和記憶細胞中的優(yōu)秀抗體進行綜合排序,取適應度較高的部分抗體去更新記憶細胞和種群[3].在種群更新時,引入10%隨機產(chǎn)生的抗體進行種群的多樣性調整,防止局部收斂.
1.2.3 自適應交叉、變異概率[5]
交叉概率Pc和變異概率Pm這2 個參數(shù)是決定遺傳算法性能的關鍵,直接影響算法的收斂性和收斂速度,對于不同的優(yōu)化問題,需要反復實驗來確定,而且很難找到一個適應每個問題的最佳值.故筆者采用自適應交叉和變異概率,他們能夠提供相對某個個體的最佳Pc、Pm.
Pc和Pm的計算表達式為:
式中:fmax為群體中最大的適應度;favg為每代群體中的平均適應度;f′為要交叉的2個個體中較大的適應度值;f為要變異個體的適應度值;Pc1為最大交叉概率;Pc2為最小交叉概率;Pm1為最大變異概率;Pm2為最小變異概率.
交叉概率和變異概率依據(jù)適應度自動調節(jié),陷入局部最優(yōu)的可能性明顯減小.交叉概率一般取0.4~0.99,變異概率一般取0.000 1~0.1[6],具體數(shù)值需根據(jù)被控對象的特性來確定.其他模塊、算子的設計均與遺傳算法的相關算子設計相同.且筆者在文獻[7]中已進行了該算法性能測試的相關驗證.
定義1 若aij>0,i,j=1,2,…,n,記為A>0,稱n×n方陣A=(aij)為嚴格正的;若A≥0且存在自然數(shù)k使Ak>0,則A是正則的;若1,i=1,2,…,n,則A是隨機的;若A是隨機的且所有行相同,則A是穩(wěn)定的;若A是隨機的且每列中至少有一個正數(shù),則A是列容的.
其中1≤j≤m時,pj>0,m+1≤j≤n時,pj=0.
定義2 設Fk是k時刻群體中的最優(yōu)抗體,F(xiàn)*是待求問題的抗原,當且僅當成立,稱自適應免疫疫苗算法是全局收斂的.
定義3A是一個n×n的方陣.若對所有的i≥0,j≥0,aij≥0,記為A≥0,稱A為非負的;若A是非負的,且對所有的則A是隨機的;若A是非負的,且對A中的行和列經(jīng)過置換能得到形式(C,T是方陣),則A是可約的.
定理1 設P是一個可約隨機矩陣,P=其中C是正的m階隨機矩陣,R≠0,T≠0,則
定理2 自適應免疫疫苗算法依概率1收斂.
算法的狀態(tài)轉移情況可用如下隨機過程來表述:
算法中的交叉操作是根據(jù)由抗體適應度確定的交叉概率Pc對選擇的一對B細胞上的2個基因位進行交叉.變異操作是對B細胞的每個基因位以由抗體適應度確定的變異概率Pm相互獨立地進行變異.接種疫苗操作是隨機選取一定比例的抗體進行優(yōu)良模式的接種.從Ak到Dk的狀態(tài)轉換構成了馬爾可夫鏈,并且Ak+1的狀態(tài)與前面各變量的狀態(tài)均有關.顯然隨機過程{Ak|k=1,2,…}是一個馬爾可夫過程.則算法中n狀態(tài)轉移可用狀態(tài)轉移矩陣P=(pij)表示,且根據(jù)定義1和引理1,狀態(tài)轉移矩陣P是隨機的.
通過置換將狀態(tài)轉移矩陣P的各狀態(tài)排列如下:第一個狀態(tài)為全局最優(yōu)解,第二個狀態(tài)為全局次優(yōu)解,……,第n個狀態(tài)為全局最差解.則對B細胞的更新操作可視為:對任意狀態(tài)i,依和pij=0,?j>i對狀態(tài)轉移矩陣更新,生成新的狀態(tài)轉移矩陣P*
式中:
R≠0,T≠0;C=[1],是一階正的隨機矩陣,根據(jù)定義,狀態(tài)轉移矩陣P是可約的.根據(jù)定理,有
P*的第一狀態(tài)的極限概率為1,即(Fk=F*)=1,可知自適應免疫疫苗算法是全局收斂的[8].
以某超臨界600 MW 直流鍋爐高溫過熱器為例,內(nèi)回路采用比例控制,外回路采用免疫疫苗算法自整定的PID 控制器,經(jīng)簡化、擬合得到100%負荷時廣義被控對象模型為
PID控制器的比例系數(shù)、積分系數(shù)、微分系數(shù)分別為Kp、Ki、Kd,先根據(jù)被控對象傳遞函數(shù),用ITAE標準整定公式進行整定,獲取一組參數(shù),以此組參數(shù)為核心,確定PID 參數(shù)的取值范圍,這樣可以減小搜索空間,提高收斂速度.取參數(shù)Kp的取值范圍為[0.8,1.0],Ki的取值范圍為[0.008,0.01],Kd的取值范圍為[18,20].采用二進制編碼方式,同時為了保證尋優(yōu)精度,每個參數(shù)采用10位無符號二進制碼表示.
通常衡量一個控制系統(tǒng)的指標有3個方面,即穩(wěn)定性、準確性和快速性.為了使控制效果更好,將控制量、誤差和上升時間作為約束條件[6].取適應度函數(shù)為目標函數(shù)的倒數(shù)(即f(x)=1/J(x))進行參數(shù)尋優(yōu).即在滿足約束條件下使f(x)最大時,x為所對應的最優(yōu)控制參數(shù).
為獲取滿意的過渡過程動態(tài)特性,以誤差絕對值時間積分性能指標作為參數(shù)選擇的最小目標函數(shù).為防止控制量過大,在目標函數(shù)中加入控制輸入的平方項.選用式(10)作為參數(shù)選取的最優(yōu)指標[6]:
式中:e(t)為系統(tǒng)誤差;u(t)為控制器輸出;tu為上升時間;w1、w2、w3為權值,w1+w2=1,w1?w2.
為了避免超調,采用了懲罰功能,即一旦產(chǎn)生超調,引入超調量作為最優(yōu)指標的一項.
初始群體的規(guī)模設置要保證有足夠大的搜索空間.一般群體大小取為20~100[6],本設計中設置初始種群規(guī)模為30.
為了檢驗自適應免疫疫苗算法的尋優(yōu)效果,同時鑒于筆者在文獻[9]中提出的自適應免疫遺傳算法尋優(yōu)參數(shù)的控制效果明顯優(yōu)于Z-N 法、柯恩(Cohen)-庫恩(Coon)整定公式和ITAE 標準整定公式整定的PID 參數(shù)控制效果,故僅對免疫疫苗算法和自適應免疫遺傳算法各運行10次所獲得的PID 整定參數(shù),進行控制效果的仿真對比實驗.
設置算法的尋優(yōu)參數(shù):采樣時間為0.1s,w1=0.999,w2=0.001,w3=2.0,w4=1 000.自適應疫苗算法基于比例的適應度分配進行選擇操作,取交叉概率、變 異 概 率 為:Pc1=0.9,Pc2=0.5,Pm1=0.1,Pm2=0.01;疫苗閾值為:α=0.8,β=0.2,接種系數(shù)c=0.3.而自適應免疫遺傳算法在基于濃度和適應度分配進行選擇操作時,濃度衰減系數(shù)為:r=0.8×cos20(π×kg/(2×G)),自適應交叉、變異算子中,參數(shù)為:Pc1=0.9,Pc2=0.6,Pm1=0.1,Pm2=0.001.獨立運行算法,則2種算法運行10次的迭代次數(shù)見表1.
將2種算法運行10次所得的PID 參數(shù)各自進行控制效果對比,得出自適應免疫遺傳算法確定的最 優(yōu) 控 制 效 果PID 參 數(shù) 為:Kp=0.844 8,Kd=18.189 6,Ki=0.008 2;自適應免疫疫苗算法確定的最優(yōu)控制效果PID 參數(shù)為:Kp=0.824 4,Kd=18.512 2,Ki=0.008 5.利用Matlab對兩組PID 參數(shù)進行仿真實驗.系統(tǒng)階躍響應曲線對比如圖2所示.
表1 自適應免疫遺傳算法和自適應免疫疫苗算法10次尋優(yōu)迭代次數(shù)對比Tab.1 Comparison of iteration times between AIVA and AIGA
圖2 2種方法整定參數(shù)的階躍響應曲線對比Fig.2 Comparison of step response between AIVA and AIGA
從表1可以看出,在算法性能上,自適應免疫疫苗算法和自適應免疫遺傳算法均能搜索到全局最優(yōu)解,但自適應免疫疫苗算法的平均收斂速度快于自適應免疫遺傳算法.而且在算法運行過程中,自適應免疫遺傳算法的收斂代數(shù)最小可以達到4代,最大可達到80代,波動范圍較大,這是由于該算法在一定概率下,隨機地、無指導地迭代搜索時,群體會產(chǎn)生退化現(xiàn)象.而自適應免疫疫苗算法的收斂代數(shù)范圍為8~15 代,范圍波動不大,即收斂的穩(wěn)定性較高,由于該算法引入了疫苗算子,有效地防止了種群退化,提高了收斂穩(wěn)定性,故更適用于工業(yè)應用.
從圖2可以看出,在控制性能上,2種算法獲得的PID 參數(shù)的超調量、延遲時間、上升時間和峰值時間相差不大,但調節(jié)時間相差較大.無論是誤差帶為5%或2%時,自適應免疫疫苗算法獲得的PID 參數(shù)的調節(jié)時間遠小于自適應免疫遺傳算法獲得的PID 參數(shù)的調節(jié)時間.總體來說,自適應免疫疫苗算法獲得的PID 參數(shù)對應系統(tǒng)的控制性能優(yōu)于自適應免疫遺傳算法獲得的PID 參數(shù)的控制性能.
針對遺傳算法存在的不足,借鑒免疫系統(tǒng)理論,引入了基于免疫原理的免疫記憶細胞和疫苗提取、接種算子以及自適應交叉、變異算子,以改善遺傳算法的尋優(yōu)能力和搜索效率,提出了自適應免疫疫苗算法.將其用于主汽溫控制系統(tǒng)PID 參數(shù)優(yōu)化,結果表明:自適應免疫疫苗算法具有快速、穩(wěn)定的全局尋優(yōu)能力,更適用于工業(yè)應用;自適應免疫疫苗算法所產(chǎn)生的PID 參數(shù)的控制效果優(yōu)于自適應免疫遺傳算法和傳統(tǒng)整定方法獲得的PID 參數(shù)的控制效果,驗證了自適應免疫疫苗算法的有效性.
[1]常太華,鐘灼均,朱紅路.改進的自適應模型算法控制在過熱汽溫控制中的應用[J].動力工程學報,2010,30(12):932-936.CHANG Taihua,ZHONG Zhuojun,ZHU Honglu.Application of improved self-adaptive algorithm to superheated steam temperature control[J].Journal of Chinese Society of Power Engineering,2010,30(12):932-936.
[2]王爽心,楊輝,張秀霞.基于混沌遺傳算法的主汽溫系統(tǒng)RBF-PID控制[J].中國電機工程學報,2008,28(23):87-92.WANG Shuangxin,YANG Hui,ZHANG Xiuxia.A novel RBF-PID control strategy for fresh steam temperature based on chaotic and genetic algorithm[J].Proceedings of the CSEE,2008,28(23):87-92.
[3]林金星,沈炯,李益國.基于免疫優(yōu)化的機爐協(xié)調系統(tǒng)模糊增益調度H∞魯棒控制[J].中國電機工程學報,2008,28(17):92-98.LIN Jinxing,SHEN Jiong,LI Yiguo.Fuzzy gain scheduledH∞r(nóng)obust control for boiler-turbine coordinated system based on immune optimization[J].Proceedings of the CSEE,2008,28(17):92-98.
[4]嚴宣輝.應用疫苗接種策略的免疫入侵檢測模型[J].電子學報,2009,37(4):780-785.YAN Xuanhui.An artificial immune-based intrusion detection model using vaccination strategy[J].ACTA Electronica Sinic,2009,37(4):780-785.
[5]王小平,曹立民.遺傳算法理論、應用與軟件實現(xiàn)[M].陜西:西安交通大學出版社,2002:73-74.
[6]劉金琨.先進PID 控制及其MATLAB 仿真[M].3版.北京:電子工業(yè)出版社,2011:130-150.
[7]YUAN Guili,XUE Yanguang,LIANG Qingjiao.The design of adaptive immune vaccine algorithm[J].Advanced Materials Research,2011,308/309/310:1094-1098.
[8]莫宏偉,左興權.人工免疫系統(tǒng)[M].北京:科學出版社,2009:185-202.
[9]YUAN Guili,XUE Yanguang,LIU Jizhen.Adaptive immune genetic algorithm and its application in PID parameter optimization for main steam temperature control system[C]//3rd International Workshop on Advanced Computational Intelligence. Suzhou:IWACI,2010:304-309.