拓守恒,雍龍泉(陜西理工學院數計學院,陜西漢中723000)
一種用于PID控制的教與學優(yōu)化算法
拓守恒,雍龍泉
(陜西理工學院數計學院,陜西漢中723000)
為了有效提高PID控制器的性能,提出了一種改進的教與學優(yōu)化算法(MTLBO),并將MTLBO算法應用到了PID控制器的參數優(yōu)化。改進的教與學優(yōu)化算法對TLBO算法中的“教”和“學”分別進行了改進,并引入了一種新的“自我學習”方法,使其有效提高了算法的搜索能力,并成功地將其應用于PID控制器的參數優(yōu)化整定。通過與基本TLBO算法、粒子群算法和遺傳算法相比,MTLBO算法在PID控制器的參數優(yōu)化中具有優(yōu)化速度快,求解精度高等優(yōu)勢。
PID控制器;TLBO算法;MTLBO算法;粒子群算法;遺傳算法
在工業(yè)生產中,往往需要對生產裝置的溫度、壓力和液位等控制在一定的范圍內,或者按一定的規(guī)律進行變化,從而滿足生產工藝規(guī)格的要求。PID控制器就是用于對生產中的控制變量進行偏差調節(jié),使得控制變量與產品生產工藝要求的預定值一致[1?3]。PID(proportional?integral?derivative)控制器由比例單元、積分單元和微分單元組成。為了最小化受控對象的輸出和期望輸出的差異,使其能夠精確輸出。PID控制器的優(yōu)化設計關鍵是整定3個參數:比例系數KP、積分系數KI和微分系數KD。根據被控生產過程的特性確定比例系數的大小。因此,如何對PID控制器的參數進行整定是PID控制系統(tǒng)設計的核心[4?5]。然而,設計比較滿意的PID控制器并不是很容易,這是由于PID參數存在不確定性,是動態(tài)的。因此,文獻[6?7]提出了自動調整的、自適應的PID控制器,文獻[8?9]設計出一種模糊PID控制器。盡管這些設計方法對于PID控制器的設計提供了有效的方法,但是,由于PID參數調整往往是非線性的復雜問題,為了最小化PID輸出誤差,需要快速有效的參數調整方法。近年來,隨著智能優(yōu)化技術的發(fā)展,遺傳算法[10]、粒子群優(yōu)化算法[11]和聲搜索算法[12]等成功應用于PID控制的優(yōu)化中。教與學優(yōu)化(teaching?learning?based opti?mization,TLBO)[13]算法是一種新型的智能優(yōu)化技術,具有優(yōu)化速度快,收斂能力強等特性,本文提出一種改進的教與學優(yōu)化(modified teaching?learning?based optimization,MTLBO)算法進行PID控制器參數的優(yōu)化整定。
TLBO算法和其他群智能優(yōu)化算法一樣,也是利用群體信息進行啟發(fā)式搜索[14]。TLBO算法是印度學者R.V.Rao和V.D.Kalyankar于2010年提出,算法通過模擬人類在學習過程中的“教”和“學”2個階段的學習方法,從而提高每個個體的能力。
1.1 基本概念
TLBO算法是模擬以班級為單位的學習方式,班級中的學員水平的提高需要教師的“教”來引導,同時,學員之間需要相互“學習”來促進知識的吸收。其中,教師和學員相當于進化算法中的個體,而教師是適應值最好的個體之一。每個學員所學的某一科目相當于一個決策變量。具體定義如下:
2)搜索點:設Xj=(,,…,)(j=1,2,…,NP)為搜索空間中的一個點(i=1,2,…,d)為點Xj的一個決策變量。NP為空間搜索點的個數(種群規(guī)模)。
3)班級:在TLBO算法中,將搜索空間中所有點的集合稱為班級(Class)。
4)學員:班級中某一個點Xj=,,…,)稱之為一個學員。
5)教師:班級中成績最好的學員Xbest稱之為教師,用Xteacher表示。
一個班級(Class)可以表示為如下形式:
式中:Xj(j=1,2,…,NP)表示班級學員,Xteacher=argmax f(Xj),j=1,2,…,NP。NP為學員個數,d為學員所學科目數量。
1.2 教與學優(yōu)化(TLBO)算法
1)“教”階段。
在TLBO算法的“教”階段,班級中每個學員Xj(j=1,2,…,NP)根據Xteacher和學員平均值Mean之間的差異性進行學習。
如圖1所示,在開始時,班級平均成績是MeanA=30,平均成績較低,并且成績分布比較廣,通過Teacher多次的努力教學,班級平均成績逐步提高到了MeanB=80,成績分布也越來越集中。在“教”階段,每個學員向老師學習,學習的方法是利用老師Xteacher和學員的平均值Mean之間的水平差異性進行學習,具體的教學方法如式(1)和(2)。
圖1 教學方法Fig.1 The teachingm ethod of TLBO
2)“學”階段。
在“學”階段,對每一個學員Xi(i=1,2,…,NP),在班級中隨機選取一個學習對象Xj(j=1,2,…,NP,j≠i),Xi通過分析自己和學員Xj的差異進行學習調整,學習改進的方法類似于差分算法中的差分變異算子,不同在于,TLBO算法中的學習步長r對每個學員采用不同的學習因子。采用式(3)實現(xiàn)“學”的過程。
式中:ri=U(0,1)表示第i個學員的學習因子(學習步長)。
3)更新,學員在經過“教”階段和“學”階段都要分別進行更新操作。更新思想類似于差分進化算法,如果學習后的個體比學習前的學員更好,則用替換。否則,保持不變。更新方法如下:
1.3 TLBO算法流程
算法1 TLBO算法。
1)設置初始參數,個體初始化。
2)計算學員適應值
3)選擇最好個體作為老師,計算個體平均值。
4)“教”階段。
For i=1 to NP
5)學員間相互“學習”階段。
6)如果滿足終止條件,則優(yōu)化結束并輸出最優(yōu)解,否則迭代次數t=t+1并轉至3)繼續(xù)。
TLBO算法具體流程如圖2所示。
對單模優(yōu)化問題,TLBO算法的收斂速度很快,求解精度很高,并且在搜索空間很大時也能夠快速獲得最優(yōu)解,運行代價較小,算法的時間復雜度為O(NP×T),(NP是種群規(guī)模,T是最大允許迭代次數)。TLBO算法的缺點是,對于“多模態(tài)”復雜優(yōu)化問題,全局探索能力較差,這是由于TLBO算法的“教”階段算法的收斂性很強,學員很容易快速向“老師”的位置聚集,導致種群的多樣性快速丟失,并陷入局部搜索。這樣,對于“多模態(tài)”問題,TLBO算法往往會丟失全局最優(yōu)解而獲得局部最優(yōu)解[15?16]。
圖2 TLBO算法流程圖Fig.2 Flow chart of TLBO
這是由于TLBO算法中,學員的學習過程完全依賴老師的“教”和學員之間的交流“學習”,造成學員在學習過程中對他人的過度依賴,但卻喪失了學習過程中自我學習和自我創(chuàng)新能力挖掘。因此,為了發(fā)揮群體中每個學員的智慧和才能,本文針對TLBO算法的缺陷,提出一種改進的教與學優(yōu)化算法(MTLBO),算法借鑒和聲搜索算法思想進行個體的自我學習和自我探索創(chuàng)新能力挖掘,用于加強每個個體的自我局部搜索能力,從而增加種群的全局探索能力。
2.1 改進的“教”(Teaching)學階段
在標準的教與學優(yōu)化算法的“教”階段,教學過程中(如式(2))的Difference=ri·(Xteacher-TFi· Mean)顯示,Xteacher和Mean對于所有學員都是一樣的,對每個學員來說,只有隨機數ri和TFi不相同,這說明“教師”Xteacher對每位學員的“教”是盲目的,只依賴于隨機數ri和TFi,并沒有考慮每位學員的水平差異性,從而,造成種群多樣性很快喪失,導致搜索停滯。本文通過對Mean進行改進,使Mean=(Xworst+Xi)/2,這樣計算的好處是Mean對每個個體Xi其值都不同,“教”學更具有針對性,還能保證種群的多樣性,避免算法早熟,改進后的教學過程如下所示。
2.2 改進的相互“學習”階段
在相互“學習”階段,TLBO算法中每個學員Xi(i=1,2,…,N)每次隨機選取另一個學習對象Xj(j=1,2,…,N,j≠i)進行學習。本文中,每次隨機選取2個學習對象Xr1和Xr2,(r1=1,2,…,N;r2=1,2,…,N;r1≠r2),通過比較Xr1和Xr2的優(yōu)劣性并計算二者的差異性進行學習,這樣能夠有效提高學習成功率,避免“盲目學習”。本文學習過程偽代碼如下:
rand(1,d)表示在[0,1]隨機生成一個d維的行向量。
在本文算法的相互“學習”階段,與TLBO算法的不同點有:
1)學習方法不同。根據文獻[17]中的最好個體與最差個體的差異性思想,算法首先利用2個隨機選擇的學員做差異計算:XR=2×Xr1-Xr2,對XR修正后再次和學員Xi做差異學習,使得算法具有更強的自適應學習能力。
2)更新操作不同。首先判斷產生的新個體Xnew是否比原來的個體更好,如果是則用新個體替換原個體,否則,再次判斷新個體是否比種群中的最差個體Xworst優(yōu)秀,如果是,則用Xnew替換Xworst。如下:
If Xnewis better than Xi,Xi=Xnew;
ElseIf Xnewis better than Xworst,Xworst=Xnew;
由于算法在應用上述的“教”與“學”過程時,收斂速度很快,局部開發(fā)能力較強,種群的多樣性容易丟失,全局搜索能力較弱,本文引入“自學”階段,每個學員通過自學階段,充分發(fā)揮每個學員的能力,增強算法的全局探索能力。本文中的“自學”階段采用類似于作者提出的一種改進的和聲算法[18?19]思想進行。
2.3 提出新的“自我”學習階段
在前面的“教”和“學”階段,學習的對象是學員整體進行,但是,由于每個學員都會學習多門科目(對應于搜索算法中的決策變量),學員學習時可能會出現(xiàn)“偏科”現(xiàn)象,有些學員可能會部分科目學習較好,部分科目學習效果較差。因此,在“自學”階段,根據每個學員的特點對成績不夠理想的科目進行針對性學習。采用3種學習策略對學員的某些科目進行自我學習調整:1)以學習率(learn from others probability,LoP)選擇學習對象;2)以概率SRP(self repair probability,SRP)進行自我學習方法調整;3)以概率(innovative learning probability,ILP)進行創(chuàng)新學習。具體“自我”學習階段的算法如下:
其中:Step是自我學習調整步長,定義為:Step=min Step+(max Step-min Step其中,max Step=(xU-xL)/50,m in Step=(xU-xL)/3 000,t是當且迭代次數,T是允許最大迭代次數。
3.1 PID控制器
本文利用MTLBO對PID控制器進行優(yōu)化,以便快速獲得高性能的PID控制器參數(KP,KI,KD)。為了驗證MTLBO算法的有效性,將其和粒子群PSO算法[21]、遺傳算法GA[20]和基本TLBO算法進行比較。采用ITAE作為誤差性能指標[22],定義如下:
其PID系統(tǒng)控制模型如圖3所示。
圖3 PID系統(tǒng)控制模型Fig.3 System controlmodel of PID
3.2 實驗結果與分析
對圖1所示PID控制器的優(yōu)化設計,分別采用粒子群算法PSO、遺傳算法GA、基本TLBO算法和本文算法TLBO對其進行優(yōu)化測試。在允許最大評價次數(FEs)=2 000,種群大小N=20時,4種算法其他參數設置如表1。
表1 算法參數設置Table 1 Parameters setting
設置(KP,KI,KD)的搜索范圍為0~30。
為了驗證算法的性能,對每種算法分別獨立運行20次,并記錄20次運行結果(ITAE),結果見表2。20次運行中最優(yōu)解對應的(KP,KI,KD)見表3。
表2 實驗測試結果比較Table 2 Comparison of experimental results
表3 實驗測試結果比較Tab le 3 (KP,KI,KD)for best fitness
由表2可明顯看出,在種群大小和適應值最大評價次數(FEs)相同時,在20次獨立運行中本文算法(MTLBO)獲得的最佳適應值,平均值,最差值和標準差都是最優(yōu)的。雖然PSO算法在20次獨立運行中也獲得過最優(yōu)解,但平均值,最差值和標準差也不夠理想,說明PSO算法獲得最優(yōu)解的能力如MTLBO算法穩(wěn)定可靠。
圖4繪制出了4個算法在20次獨立運行時的優(yōu)化過程曲線。可以看出MTLBO算法不論是收斂速度還是求解精度都明顯優(yōu)于其他3種算法。
圖4 4種算法對PID參數優(yōu)化過程曲線Fig.4 Convergence cu rves of four algorithm s for PID optim ization
圖5 是MTLBO、TLBO、PSO和GA算法在20次運行中獲得的最優(yōu)解統(tǒng)計盒圖。明顯可以看出本文算法的穩(wěn)定性和最優(yōu)解分布都是最好的。圖6~圖9是TLBO算法優(yōu)化獲得的PID參數(KP=33.576 1,KI=0.166 2,KD=38.727 0)對應的階躍響應曲線。設置輸入信號源Step初始值為0,采樣時間為0,終止值分別設置為0.8、1.0、1.5和2時.分別對應的階躍響應曲線如圖6~9,表4是相應的階躍響應的指標性量化比較。
圖5 算法運行結果統(tǒng)計盒圖Fig.5 Results box plot of algorithms
圖6 階躍響應曲線(最終值=0.8)Fig.6 Step response curve(step final value=0.8)
圖7 階躍響應曲線(最終值=1)Fig.7 Step response curve(step final value=1)
圖8 階躍響應曲線(最終值=1.5)Fig.8 Step response curve(step final value=1.5)
圖9 階躍響應曲線(最終值=2)Fig.9 Step response curve(step final value=2)
表4 階躍響應的指標性量化比較Tab le 4 Com parison of index quantification for step response
從圖6~9的階躍響應曲線可以看出,通過本文算法可以快速獲得最優(yōu)參數值(KP,KI,KD),并且使得PID控制器具有快速、穩(wěn)定和精確控制特性,說明本文算法MTLBO適用于PID參數優(yōu)化。最大超調量計算方法如下:
式中:x0(tp)為最大峰值,x0(∞)為穩(wěn)態(tài)值。
本文首先介紹了一種新的群智能優(yōu)化算法—“教”與“學”優(yōu)化算法TLBO,通過實驗和分析發(fā)現(xiàn)TLBO算法的一些缺陷,并對此提出一種改進策略。對基本TLBO算法中“教”和“學”方法的分別進行改進,并提出一種新的學習方式——“自我”學習。通過仿真實驗測試表明,改進后的算法在優(yōu)化速度和求解精度等方面都有了明顯的改善,和其他傳統(tǒng)的智能優(yōu)化算法(GA,PSO)相比優(yōu)勢明顯,說明本文算法適用于PID控制器的優(yōu)化。
[1]金翠云,王建林.改進的PSO算法及其在PID控制器參數整定中的應用[J].電子測量與儀器學報,2010,2(24):141?146.JIN Cuiyun,WANG Jianlin.Application of improved PSO for parameter tuning of PID controller[J].Journal of Elec?tronic Measurement and Instrument,2010,2(24):141?146.
[2]秦福高,毛鶯池.改進遺傳算法在PID優(yōu)化中的應用[J].計算機工程,2011,9(37):149?151.QIN Fugao,MAO Yingchi.Application of improved genetic algorithm in PID optimization[J].Computer Engineering,2011,9(37):149?151.
[3]李超順,周建中,肖劍.基于改進引力搜索算法的勵磁控制PID參數優(yōu)化[J].華中科技大學學報:自然科學版,2012,40(10):119?122.LIChaoshun,ZHOU Jianzhong,XIAO Jian.PID parameteroptimization of excitation control systems by using improved gravitational search algorithm[J].Journal of Huazhong Uni?versity of Science and Technology:Natural Science Edition,2012,40(10):119?122.
[4]ZHONG Jinghua.PID controller tuning:a short tutorial[OL/EB].[2013?01?22].http://saba.kntu.ac.ir/eecd/pcl/download/PIDtutorial.pdf.
[5]ANG K H,CHONG G C Y,LIY.PID control system anal?ysis,design,and technology[J].IEEE Trans Control Sys?tems Tech,2005,13(4):559?576.
[6]DEY C.An improved auto?tuning scheme for PID controllers[J].ISA Trans,2011,48(4):396?409.
[7]MIZUMOTO I,IKEDA D,HIRAHATA T,et al.Design of discrete time adaptive PID control systems with parallel feedforward compensator[J].Control Eng Practice,2010,18(2):168?176
[8]AHN K K,TRUONG D Q.Online tuning fuzzy PID control?ler using robust extended Kalman filter[J].JProcess Con?trol,2009,19(6):1011?1023.
[9]TRUONGD Q,AHN K K.Force control for pressmachines using an online smart tuning fuzzy PID based on a robustex?tended Kalman filter[J].Exp Syst Appl,2011,38(5):5879?5894.
[10]JAHEDI G,ARDEHALIM M.Genetic algorithm?based fuzzy?PID controlmethodologies for enhancement of energy efficiency of adynamic energy system[J].Energy Convers Manage,2011,52(1):725?732.
[11]CHIOU JS,LIU M T.Numerical simulation for fuzzy?PID controllers and helping EP reproduction with PSO hybrid algorithm[J].Simulat Modell Practice Theory,2009,17(10):1555?1565.
[12]WANG Hui,YUAN Xiaofang.Harmony search algorithm?based fuzzy?PID controller for electronic throttle valve[J].Neural Comput&Applic,2013,22:329?336.
[13]RAO R V,SAVSANI V J,VAKHARIA D P.Teaching?learning?based optimization:a novelmethod for constrain?ed mechanical design optimization problems[J].Comput?er?Aided Design,2011(43):303?315.
[14]RAO R V,SAVSANIV J,VAKHARIA D P.Teaching?learning?based optimization:an optimization method for continuous non?linear large scale problems[J].Information Sciences,2012,183(1):1?15.
[15]MATEJC,LIU SH,MERNIK L.A note on teaching?learning?based optim ization algorithm[J].Information Sci?ences,2012,212(12):79?93.
[16]RAO R V,PATEL V.An elitist teaching?learning?based optimization algorithm for solving complex constrained opti?mization problems[J].International Journal of Industrial Engineering Computations,2012(3):535?560.
[17]ZOU D X,GAO L Q,WU JH,et al.A novel global har?mony search algorithm for reliability problems[J].Comput?ers&Industrial Engineering,2010,58(2):307?316.
[18]GEEM ZW,KIM JH,LOGANATHAN G V.A new heu?ristic optimization algorithm:harmony search[J].Simula?tion,2001,76:60?68.
[19]TUO Shouheng,YONG Longquan.An improved harmony search algorithm with chaos[J].Journal of Computational Information Systems,2012,8(10):4269?4276.
[20]GOLDBERG D E.Genetic algorithms in search optimiza?tion and machine learning[M].Addison?Wesley,Boston,1989:2?32.
[21]EBERHART R C,KENNEDY J.A new optimizer using particle swarm theory[C]//Proceedings of The Sixth Inter?national Symposium on Micro Machine and Human Sci?ence.Nagoya,Japan,1995:25?30.
[22]史峰,王輝.Matlab智能算法30個案例分析[M].北京:北京航空航天大學出版社,2011:21?31.
A modified teaching?learning?based optim ization algorithm for parameter tuning of a PID controller
TUO Shouheng,YONG Longquan
(School of Mathematics and Computer Science,Shaanxi University of Technology,Hanzhong 723000,China)
In order to enhance the performance of a PID controller,amodified teaching?learning?based optimization(MTLBO)algorithm ispresented and applied to the parameteroptimization of the PID controller.The MTLBO algo?rithm modifies the"Teaching"and"Learning"phases,respectively.It is based on the basic teaching?learning?based optimization(TLBO)method,which introducesa new"self?learning"method.It also improves the searching ability of the TLBO.The MTLBO algorithm is successfully applied to parameter optimization and tuning of the PID controller.In order to demonstrate the performance of the proposed algorithm,the MTLBOmethod is compared with GA,PSO and TLBO algorithms.The experimental results showed that the MTLBO algorithm has distinctadvantages in speed and precision.
proportional?integral?derivative controller;teaching?learning?based optimization;particle swarm optimi?zation;genetic algorithm
TP301.6;N945
A
1673?4785(2014)06?0740?07
拓守恒,雍龍泉.一種用于PID控制的教與學優(yōu)化算法[J].智能系統(tǒng)學報,2014,9(6):740?746.
英文引用格式:TUO Shouheng,YONG Longquan.A m odified teaching?learning?based optim ization algorithm for parameter tuning of a PID controller[J].CAAITransactions on Intelligent Systems,2014,9(6):740?746.
10.3969/j.issn.1673?4785.201304072
http://www.cnki.net/kcms/doi/10.3969/j.issn.1673?4785.201304072.htm l
2013?04?24.
日期:2014?09?30.
國家自然科學基金資助項目(11401357),陜西省教育廳科研資助項目(14JK1141),漢中市科技局科研資助項目(2013hzzx-39),陜西理工學院科研基金資助項目(SL?GKY12?04).
拓守恒.E?mail:tuo_sh@126.com.
拓守恒,男,1978年生,副教授,CCF會員,主要研究方向為智能優(yōu)化算法與智能信息處理,發(fā)表學術論文多篇。