摘 要:模糊控制是一種非線性的控制方法,其性能在很大程度上取決于模糊控制規則、量化因子及比例因子,但傳統的靠專家經驗設計規則的方法不能根據被控對象的狀態對模糊控制規則進行實時、動態的調整,而且對量化因子和比例因子也是根據經驗選取,因此控制效果有時很難保證。提出了一種利用動力學演化算法自動對控制規則的調整因子、量化因子及比例因子進行優化。仿真實例表明了這種設計方法的可行性和良好的控制效果。
關鍵詞:模糊控制; 動力學演化算法; 多參數優化; 調整因子; 量化因子; 比例因子
中圖分類號:TP273.4;TP181 文獻標志碼:A
文章編號:1001-3695(2008)07-2004-03
Optimization of parameters in fuzzy controller in dynamic evolutionary algorithm
YU Lia, XIA Xuewena, LI Yuanxiangb
(a.Schoolof Computer, b.State Key Laboratory of Software Engineering, Wuhan University, Wuhan 430072,China)
Abstract:Fuzzy control is a nonlinear control method and the performance of it is mainly based on fuzzy controlrules. However, there are many flaws of traditional technique that based on expert’s experience to design the controlrules which cannot be adjusted dynamic. The measureparameter and scaleparameter whose selection based on experience also cannot ensure a better result of control. This paper advanced a new method to select these parameters depends on dynamic evolutionary algorithm (DEA). Simulation experiment indicates its availability and excellent control effect.
Key words:fuzzy control; dynamic evolutionary algorithm(DEA); multiparameter optimization; adjust parameter; measureparameter; scaleparameter
0 引言
模糊自動控制是一種有別于經典控制和現代控制的新的控制方式。它是以模糊集合理論、模糊語言變量及模糊邏輯推理為基礎的一種計算機智能控制。模糊控制與傳統控制方式的根本區別在于其并不需要建立控制過程中精確的數學模型,而是完全憑控制者的經驗知識直觀地進行控制,具有較強的魯棒性。但是,將人的經驗知識轉換為模糊控制規則是一項復雜的工作。因為模糊控制器設計過程中所包含的主觀因素,如控制規則、隸屬度函數、量化因子Ke和Kc、比例因子Ku等,其好壞都直接影響著模糊控制器的控制效果。
應該指出的是,以往的一些實驗表明量化因子、比例因子以及調整因子的選擇并不是惟一的,即存在幾組不同的參數組合都能使得系統獲得較好的響應特性。而且,對于比較復雜的被控對象,有時采用某固定的參數組合難以收到預期的控制效果,因此可以根據被控對象所處的狀態來動態地選擇不同的參數以優化控制效果。為了實現模糊控制規則的動態可調,有學者在其設計中引入調整因子,根據被控對象所處的不同狀態來選擇不同的控制規則,從而提高控制效果。
本文提出了一種利用動力學演化算法[1,2]對量化因子、比例因子以及控制規則的調整因子同時進行優化的方法。借助演化算法的并行性和內在學習性,該方法能夠在沒有專家經驗的前提下快速找到最優的參數組合,從而設計出高效的模糊控制系統。
1 調整因子、量化因子與比例因子
在模糊控制系統中,模糊控制器的性能對系統的控制特性影響很大,而模糊控制器的性能在很大程度上又取決于模糊控制規則的確定及其可調性[3]。
模糊控制規則一般是由模糊語言描述的,具有ifthen結構:
If input_1 and input_2 then output
這種規則是基于專家經驗的,即用模糊語言描述經驗。在簡單模糊控制器中,若將誤差E、誤差變化率C及控制量u的論域均取為{u}={E}={C}={-3,-2,-1,0,1,2,3},通過對其控制規則表的分析,可以用解析表達式來表示其模糊控制規則[3],即
u=-〈(E+C)/2〉(1)
其中:〈x〉 定義為取一個與x同號且最接近于x的整數。
由式(1)描述的控制規則可以看出,控制作用取決于誤差和誤差的變化,且兩者處于同等加權程度。然而,模糊控制系統在不同的狀態下對控制規則中的誤差E和誤差變化率C的加權程度應該是不同的。對二維模糊控制系統而言,當誤差較大時,控制系統的主要任務是消除誤差,這時,對誤差在控制規則中的加權應該大些;相反,當誤差較小時,此時系統已接近穩定,控制系統的主要任務是使系統盡快穩定,為此必須減少超調,這樣就要求在控制規則中誤差變化起的作用大些,即對誤差變化的加權要大些。為了適應不同被控對象的要求,對每個E的誤差等級都分別引入了不同的調整因子,這就構成了帶多個調整因子的控制規則:
由分析知:0≤α0≤α1≤α2≤α3≤1。
設計一個模糊控制器,除了要有一個好的模糊控制規則外,合理地選擇輸入變量的量化因子和輸出控制量的比例因子也是非常重要的[3~5]。
若設誤差的基本論域和模糊子集的論域分別為[-xe,xe]和{-n,-n+1,…,0,…,n-1,n},誤差變化的基本論域和模糊子集的論域分別為[-xc,xc]和{-m,-m+1,…,0,…,m-1,m},則誤差的量化因子Ke及誤差變化的量化因子Kc分別由公式Ke=n/xe和Kc=m/xc確定。同樣,若控制量的基本論域和模糊子集的論域分別為[-yu,yu]和{-l,-l+1,…,0,…,l-1,l},則輸出控制量的比例因子由Ku=yu/l確定。
由此可得出輸入/輸出關系為
y(k)=u(0)+Ku∑ki=1f(Kee(k),Kcec(k))(3)
其中:f為模糊控制器功能的函數抽象。
由此表明,系統在K時刻的響應不僅取決于e(k)和ec(k),也取決于Ke、Kc和Ku。
實際經驗表明,量化因子Ke和Kc對控制系統的動態性能影響很大。當Ke較大時,系統響應迅速,但超調較大,過渡時間較長;而當Kc較大時,超調量則顯著減小,但系統的響應速度變慢。此外,輸出比例因子Ku的選擇也影響著模糊控制系統的特性。Ku過小會使系統的動態響應過程變長;而Ku過大則會導致系統振蕩。
在模糊控制器的參數選取上,主要還是依靠設計者的經驗和反復調試,因而整個設計過程缺乏系統性,造成模糊控制器的設計無法保證有最優的控制性能。針對該問題,本文采用動力學演化算法對量化因子、比例因子及調整因子進行整體優化,以提高模糊控制器的性能。
2 動力學演化算法(DEA)
演化算法[6](evolutionary algorithm,EA)是基于演化機制發展起來的一種通用的問題求解方法。它采用簡單的編碼技術來表達各種復雜的結構,并通過對一組編碼表示進行簡單的遺傳操作和優勝劣汰的自然選擇以指導學習和確定搜索的方向。由于它采用種群(即一組解表示)的方式組織搜索,這使得它能以并行的方式同時搜索解空間內的多個區域。
動力學演化算法的基本思想是將演化算法的種群描述成一個動力系統,種群中的所有個體被看成是動力學中相互作用的粒子。對規模為N的種群在演化過程中用f(t,xi)來表示t時刻粒子xi的適應值, 并稱之為個體i在時間t的狀態,給出以下幾個定義:
定義1 p(t,xi)=f(t,xi)-f(t-1,xi)(4)
稱之為一個粒子xi在時刻t的動量 (momentum)。
定義2 a(t,xi)稱為t時刻粒子xi的活動量。它的表達式為:
如果xi在時刻t被選擇參加演化運算, 則
利用上述定義的兩個量,可定義一個選擇表達式[7]:
其中:λ是一個可調參數(一般可設為1.0)。
從式(7)中可以看出,第一項記錄的是直到時間t動量之和;第二項記錄的是直到時間粒子被選擇的次數。算法的核心思想是slct(t,xi)最小的粒子將優先被選擇。
3 基于動力學演化算法多參數優化
基于動力學演化算法的模糊控制系統設計原理如圖1所示。利用動力學演化算法對模糊控制規則的多個調整因子進行優化,并將最優結果帶入控制器,從而得到最優模糊控制系統。
基于動力學演化算法的模糊規則優化所需要解決的關鍵技術包括調整因子的編碼表示、遺傳操作算子以及對個體適應值的度量。
3.1 調整因子的遺傳編碼
演化算法求解問題不是直接作用在問題的解空間上,而是利用某種編碼方法把它轉換成特定形式的位串,并通過對位串的操作實現對解空間的搜索。
為了克服傳統二進制編碼所引起的漢明懸崖(Hamming cliff)問題,本文采用格雷碼(Gray code)對調整因子α進行編碼,并根據α所要達到的精度來設定格雷碼位串的長度。由于需要對四個調整因子同時進行優化,且它們又是相互關聯的,將它們先分別編碼,然后合并成一個染色體。在進行仿真時則分別根據其對應的子串先進行解碼即可。
3.2 DEA采用的遺傳算子
3.2.1 選擇算子
選擇算子對算法性能的影響很大,不同的選擇策略將導致不同的選擇壓力。較大的選擇壓力使較優的個體具有較高的復制數目,從而使得算法收斂的速度較快,但也容易出現早熟現象;相對而言,較小的選擇壓力一般能使群體保持足夠的多樣性,但收斂速度一般較慢。本文將采用式(7)所定義的量作為選擇的條件。因為,按照這樣的選擇方式,會出現下列兩種情況:
a)如果某粒子在時刻t沒有被選擇,則第一項和第二項的值都相應地減少,則在下一時刻t+1被選擇的可能性較大。
b)如果某一粒子在時刻t被選擇,第一項和第二項都相應地增加,則在下一時刻被選擇的可能性較小。
該算法將保證每一粒子每一時刻都有機會被選擇,一旦有好的個體,將被保留下來, 這樣一來就能實現演化算法的全局搜索能力,不會限于局部最優。文獻[8,9]的實驗結果也表明該策略在數值優化方面具有較好的效果。
3.2.2 雜交算子
雜交是指把父代中兩個(或多個)個體的部分結構加以替換重組而生成新個體的操作。這里采用的是兩父體的單點雜交,具體的操作就是在兩個個體位串中隨機選定一個雜交位置,實行雜交時,兩父體將該位置前或后的部分結構進行互換,并生成兩個新的個體,并隨機選取其中一個新個體加入到種群中去。例如:
父體A:10011|010→10011110 后代A1
父體B:01101|110→01101010 后代B1
雜交位置在“|”處。這里取雜交概率pc=0.6。
3.2.3 變異算子
變異操作是模擬自然界生物體進化中染色體上某位基因發生突變的現象。在演化算法中,變異算子的引入一方面可以使群體進化過程中丟失的等位基因信息得以恢復,以保持群體的多樣性;另一方面,當群體規模較大時,可以提高演化算法的局部搜索能力[10]。
對于本文采用的二進制編碼方式,變異操作就是把某些基因位上的基因值取反,即1變為0(或0變為1)。這里取變異概率pm=1/Lp。其中:Lp為個體的編碼長度。
3.3 個體適應值的評價函數
為了執行適者生存的原則,必須對個體位串的適應性進行評價。因此,評價函數就構成了個體的生存環境。根據個體的適應值,就可以決定它在此環境中的生存能力,并以此作為整個種群進化的驅動力。
在模糊控制系統中,為了能對多個加權因子進行尋優,本文采用ITAE積分性能作為個體評價的指標[3,11]。因為ITAE積分性能指標能夠綜合評價控制系統的動態和靜態性能,如響應快、調節時間短、超調量很小以及穩態誤差也很小等。其定義為
J(ITAE)=∫∞0t|e(t)|dt=min(8)
為了便于數字計算機實現,可將式(8)變為離散形式,即
ΔJ(ITAE)=t|E|Δt(9)
根據式(9)表示的性能指標作為目標函數,尋優過程則根據目標函數逐步減小的原則,不斷地校正加權因子,從而可以獲得一組優選的加權因子。目標函數定義為
f(α0,α1,α2,α3)=min (t|E|Δt)(10)
記t|E|Δt(i)為第i個個體仿真得到的ITAE積分性能指標,則該個體的適應值可定義為
fit(i)=1/[(max1≤k≤n t|E|Δt(k))-t|E|Δt(i)](11)
3.4 算法實現步驟
DEA算法的具體描述如下:
a)t=0,隨機初始化動力學系統(即初始種群):Xt={x1,x2,…,xN};
b)計算每個粒子的適應值,并保留最好的粒子;
c)設置初始動量、活動量為p(t,xi)=0,a(t,xi)=0,xi∈Xt;
d)當終止條件不滿足時反復執行e)~i);
e)令t=t+1;
f)按照式(7)計算slct(t,xi)的值, 并按從小到大的次序排列;
g)選擇slct(t,xi)值較小的m個粒子進行演化運算: 前m1個粒子雜交,后m2個粒子變異 (m1+m2=m), 得到新的動力學系統Xt+1;
h)計算每個粒子的適應值,并保留最好的粒子;
i)按照式(1)~(4)計算每個粒子的動量、活動量;
j)輸出最終結果。
4 實驗結果與分析
通常的工業過程都可以等效成二階系統。本文選取某二階對象為實驗被控對象,其數學模型為G(s)=20/[(4s+1)(0.4s+1)]。利用本文提出的方法對隨機生成100個待演化的個體,經過50次迭代后得到了一組優化后的參數值為α0=0.292 0,α1=0.548 8,α2=0.594 4,α3=0.895 8,Ke=12.24,Kc=6.50,Ku=45.71。
控制的采樣時間T=0.01 s,并分別采用傳統PID控制器、常規模糊控制器和帶調整因子的模糊控制器對該對象進行控制。其中:PID控制器的參數分別為Kp=5,Ki=0.1,Kd=10。圖2為三種控制器的控制效果對比圖。從圖2可以看出,參數優化后的模糊控制器的控制效果比其他兩種控制器無論是在穩態響應時間、穩態誤差和超調量上都有不同程度的改善。
5 結束語
本文提出了一種基于動力學演化算法優化模糊控制器的方法。該方法可以在沒有專家經驗的情況下設計出模糊控制系統。實驗結果也表明,該方法克服了以往常規設計模糊控制器的局限性和不精確性,可以獲得較好的控制品質。
參考文獻:
[1]LI Yuanxiang,ZOU Xiufen,KANG Lisan,et al. A new dynamical evolutionary algorithm based on statistical mechanics[J].Journal of Computer Science and Technology,2003,18(3):361-368.[2]ZOU Xiufen,LI Yuanxiang,KANG Lishan,et al. An efficient dynamical evolutionary algorithm for global optimization[J].International Journal of Computer and Mathematics,2003,80(11):14291436.
[3]李士勇.模糊控制、神經控制和智能控制論[M]. 哈爾濱:哈爾濱工業大學出版社,1996.
[4]邱玉霞,謝克明. 一種優化模糊控制規則的新方法[J]. 太原理工大學學報,2004,35(3):254-256.
[5]方千山,王永初. 模糊控制器因子的自尋優[J].電子測量與儀器學報,2002,16(3):28-31.
[6]潘正軍,康立山,陳毓屏. 演化計算[M]. 北京:清華大學出版社,1998.
[7]鄒秀芬. 動力學演化算法的理論分析及應用研究[D]. 武漢:武漢大學,2003.
[8]王軒. 求解組合優化問題的動力學演化算法研究[D]. 武漢:武漢大學,2006.
[9]HU Ting, LI Yuanxiang, DING Wei.A new dynamical evolutionary algorithm based on the principle of minimal free energy[M]. Wuhan: China University of Geosciences Press,2005:749-754.
[10]李敏強,寇紀淞,林丹,等. 遺傳算法的基本理論與應用[M].北京:科學出版社, 2002.
[11]李士勇. 模糊控制和智能控制理論與應用[M]. 哈爾濱:哈爾濱工業大學出版社,1990.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。”