蘇攀 張偉 李強 李世港
摘 要:PID控制是典型的工業(yè)控制,其核心內(nèi)容是PID參數(shù)優(yōu)化。為解決參數(shù)優(yōu)化時不能確保得到最佳性能且耗時問題,通過改進粒子群算法學習因子,研究基于相等隨機因子粒子群算法的PID參數(shù)優(yōu)化,將其與標準的粒子群算法及迭代次數(shù)線性變化的學習因子進行比較。仿真結果表明,該算法性能指標tr、ts、δ%分別為1.782、3.285、14.07%,兩種對比算法的tr、ts、δ%分別為1.804、4.825、24.33%和1.802、4.135、16.56%,改進算法提高了PID參數(shù)的穩(wěn)定性、收斂速度和搜索精度,性能指標更優(yōu)。
關鍵詞:粒子群算法;參數(shù)優(yōu)化;PID;線性變化;學習因子
DOI:10. 11907/rjdk. 201014
中圖分類號:TP301文獻標識碼:A 文章編號:1672-7800(2020)010-0094-04
Abstract: PID control is a typical industrial control, and its core content is PID parameter optimization. In order to solve the problem that PID parameter optimization cannot ensure the best performance and time consumption, a PID parameter optimization based on equal random factor particle swarm optimization algorithm is proposed by improving the learning factor of particle swarm optimization algorithm. Compared with the standard particle swarm optimization algorithm and the particle swarm optimization algorithm with linear learning factor of iteration times, the simulation results show that the performance indexes tr, ts, δ% are 1.782, 3.285 and 14.07%, respectively, which are better than the tr, ts, δ%: 1.804, 4.825, 24.33% and 1.802, 4.135 and 16.56% of the comparison algorithms. Therefore, the improved algorithm proposed can improve the stability of PID parameter optimization, save time, and obtain better performance indicators. At the same time, the convergence speed and search accuracy are improved, which proves the superiority of this algorithm.
Key Words: particle swarm optimization algorithm; parameter optimization; PID; linear change; learning factor
0 引言
PID控制器誕生至今已有70余年,因其結構簡單、穩(wěn)定性好、魯棒性強,在工業(yè)領域廣泛應用,大部分工業(yè)控制的反饋回路都具有 PID 結構[1-2]。傳統(tǒng) PID參數(shù)優(yōu)化一般采用 Z-N 法[3]、C-C整定公式法[4]、工業(yè)經(jīng)驗等,實踐表明這些方法獲得的參數(shù)并不是最佳參數(shù),改善空間還較大。
隨著智能算法的迅猛發(fā)展,涌現(xiàn)出許多參數(shù)優(yōu)化方法。孟桂艷[5]將一種改進的果蠅優(yōu)化算法應用在PID參數(shù)整定上以提高果蠅個體尋優(yōu)能力,改善算法的局部收斂狀況;張連強等[6]將融入模擬退火思想的人群搜索算法應用在PID參數(shù)優(yōu)化上。改進算法依據(jù)Metropolis準則選擇最優(yōu)解,在一定程度上避免算法過早熟及陷入局部極值,提升算法全局搜索能力;PBOM OLIVEIRA等[7]將引力捜索算法應用到PID參數(shù)整定上,解決跟蹤目標設定點及干擾控制器問題;Jimenezi等[8]提出將遺傳算法用于PID參數(shù)優(yōu)化,在無源光網(wǎng)絡管理條件下實驗,表明此算法能節(jié)省調(diào)整時間,提高控制器效率及魯棒性。
以上方法各有特色,但存在缺陷,如易陷于局部最優(yōu)點,或使用起來過于復雜等。粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)是基于群體智能的全局優(yōu)化算法,由Kennedy等[9]提出。該算法受到飛鳥集群規(guī)律啟示, 在多維空間內(nèi)構造“粒子群”進行尋優(yōu)。算法操作簡單,依賴參數(shù)少,應用廣泛。本文結合PID參數(shù)優(yōu)化,在PSO基礎上對學習因子進行改進,并將改進后的算法應用到PID參數(shù)整定中。將其與標準PSO和Ratnawecra[10]提出的線形調(diào)整學習因子取值比較,以證明改進算法的優(yōu)越性。
1 PID參數(shù)優(yōu)化
1.1 PID控制器
將比例(P)、積分(I)和微分(D)3種環(huán)節(jié)并聯(lián),可構成比列積分微分控制器,簡稱PID控制器[11]。設定這3個環(huán)節(jié)參數(shù)可控制被控對象。
其中,[u(t)]為控制器輸出,[e(t)]為系統(tǒng)給定與輸出量的偏差,[Ti]為積分時間常數(shù),[TD]為微分時間常數(shù),[KP]為比例系數(shù),[KI]為積分系數(shù),[KD]為微分系數(shù)。
比例環(huán)節(jié)反映系統(tǒng)偏差,通過調(diào)節(jié)能夠提高系統(tǒng)靈敏度及系統(tǒng)穩(wěn)定性;積分環(huán)節(jié)作用是消除系統(tǒng)穩(wěn)態(tài)誤差,改善系統(tǒng)無差度;微分環(huán)節(jié)反映偏差信號變化規(guī)律,依據(jù)這些規(guī)律進行超前控制調(diào)節(jié),改善系統(tǒng)能動性。PID參數(shù)優(yōu)化實際是對3個系數(shù)進行優(yōu)化,如果參數(shù)優(yōu)化不合理,不僅不能達到最佳控制效果,反而適得其反。本文采用改進的PSO對PID進行參數(shù)優(yōu)化,效果較好。
1.2 標準粒子群算法
PSO是通過模擬鳥群覓食行為發(fā)展的一種基于群體協(xié)作的隨機搜索算法,采用速度—位置模型[12]。PSO首先在D維空間中隨機初始化一組粒子,這些粒子擁有各自的速度與位置,然后通過迭代方式尋找最優(yōu)解。每次迭代過程中粒子更新主要依據(jù)兩個因素:①個體極值點,即粒子自身尋得的最優(yōu)解[pbest];②全局極值點,即粒子群尋得的最優(yōu)解[gbest]。粒子群速度—位置更新公式如下:
式(3)中,r1、r2是在(0,1)區(qū)間的隨機數(shù);c1、c2為學習因子,通常c1=2,c2=2。算法根據(jù)式(3)、式(4)循環(huán)往復更新粒子的速度、位置,直到達到最大循環(huán)次數(shù),或者達到預定的最小適應度閾值,此時的結果即為最優(yōu)解。
1.3 改進粒子群算法
1.3.1 學習因子研究
根據(jù)式(3)可知,粒子速度更新主要由3部分決定[13]:①Vtid,表示粒子的當前速度,換言之是粒子更新前的速度;②c1r1(Ptid-Xtid),表示粒子的自身思考,這部分由學習因子c1、隨機變量r1、當前粒子的位置和粒子最優(yōu)位置構成,由此可見,c1是調(diào)節(jié)粒子運動到個體極值點的步長;③c2r2? ?(Ptgd-Xtid),這部分表示粒子與整個粒子群之間的信息交流,也就是社會認知,是由c2、r2、當前粒子位置以及整個粒子群的最優(yōu)位置構成。同理可知,c2是調(diào)節(jié)粒子向全局極值點運動的步長。
所以在PSO中, 學習因子c1 、c2反映了粒子群之間的信息交流;與此同時,c1、c2也決定了粒子自身經(jīng)驗信息及其它粒子經(jīng)驗信息對粒子運動軌跡的影響;c1取值較大,則粒子會在局部過多徘徊; c2值較大會使粒子早熟,陷入局部最優(yōu)[14]。
Ratnawecra等[10]提出的改進方法將PSO學習因子進行線形調(diào)整取值,改進方法如下:
采用隨迭代次數(shù)線形變化方法,c1取值從2.5~0.5線形遞減;c2取值從0.5~2.5線形遞增。陳貴敏[15]提出將凹函數(shù)方法用于學習因子改進, 此方法目的是在早期時加快c1與c2的變化速度, 使算法能較快地進入局部搜索, 實驗結果證明該方法可行。但這些方法缺少多樣性,易過早收斂于局部極值,效果不明顯?;诖?,本文提出基于相等隨機學習因子的粒子群算法,試驗證明該算法效果較好。
1.3.2 學習因子改進
本文提出基于相等隨機的學習因子改進方法。令c1=c2=k,k取0.5、0.7、0.9、1.1、1.3、1.5、1.7、1.9、2.0九組數(shù)據(jù),按順序依次對3個不同的經(jīng)典函數(shù)進行尋優(yōu)運算,然后對實驗結果進行分析。選取相對較佳的尋優(yōu)結果作為學習因子隨機區(qū)間,豐富粒子多樣性,改善過早熟、陷入局部極值的情況,從而獲得較好的收斂性。
采取Rastrigin、Griewank以及Rosenbrock經(jīng)典測試函數(shù)對學習因子進行依次尋優(yōu),測試函數(shù)描述如表1所示。
九組數(shù)據(jù)對經(jīng)典函數(shù)進行尋優(yōu),迭代次數(shù)設為1 000,種群規(guī)模為30,尋優(yōu)次數(shù)50次,求平均最優(yōu)值。通過仿真實驗得到表2結果。
將以上數(shù)據(jù)繪制成散點圖進行觀察:
對3個經(jīng)典函數(shù)尋優(yōu)結果及散點圖進行分析:①對于Rastrigin函數(shù),當c1=c2=[1.1,2.0]時,尋優(yōu)結果相對精度較高;②對于Griewank函數(shù),當c1=c2=[0.9,2.0]時,尋優(yōu)結果相對精度較高;③對于Rosenbrock函數(shù),當c1=c2=[1.3,2.0]時,尋優(yōu)結果相對精度較高。
基于3個測試函數(shù)的實驗結果對學習因子進行改進,提出一種相等隨機學習因子策略。即c1=c2,且c1、c2隨機均勻分布在[1.3,2.0]區(qū)間,增加群體多樣性。其表達式如下:
將式(7)代入式(3),得到如下表達式:
式(8)與式(4)形成本文改進的PSO速度—位置更新公式。
1.4 參數(shù)優(yōu)化基本思想
本文基于改進的PSO進行PID參數(shù)優(yōu)化,其本質(zhì)是尋找最優(yōu)的一組[KP KI KD][16],換言之就是取合適的系統(tǒng)評價指標作為適應度函數(shù),使粒子群在參數(shù)空間里尋找到最優(yōu)值,使系統(tǒng)達到最優(yōu)控制性能。基于相等隨機學習因子PSO的PID控制結構如圖4所示。
對PID控制器性能進行評價時,要求所有指標都達到最佳效果是不可能的,每個參數(shù)之間相互影響,難以全部最優(yōu),故需要采用能體現(xiàn)綜合性能指標最優(yōu)的系統(tǒng)偏差與時間相聯(lián)系的性能指標。在眾多綜合性能指標中,本文選取時間乘絕對偏差積分準則(ITAE)作為改進算法的適應度函數(shù)[17-18]:
2 仿真實驗
2.1 仿真實驗流程
采用MATLAB進行PID參數(shù)優(yōu)化仿真,基于相等隨機因子算法流程如下:①初始化粒子群各參數(shù),并確定粒子速度位置;②評價粒子適應值;③將每個粒子適應值與粒子所經(jīng)歷過的最優(yōu)位置及粒子群所經(jīng)歷的最優(yōu)位置適應值進行對比更新;④按照式(8)和式(4)進行速度和位置更新;⑤判斷是否滿足終止條件,若不滿足則轉(zhuǎn)向步驟②。
2.2 測試函數(shù)仿真
為驗證改進算法的優(yōu)越性,使用標準PSO、文獻[10]中改進PSO以及本文改進方法分別對Rastrigin函數(shù)進行尋優(yōu)測試,將結果進行對比。Rastrigin函數(shù)表達式如下[19]:
實驗將式(3)、式(4)作為標準PSO,式(5)與式(6)代入到式(3)中,然后與式(4)作為文獻[10] 改進PSO的學習因子;將式(8)和式(4)作為改進PSO文本。標準PSO學習因子c1=c2=2.0;改進PSO的學習因子c1從2.5~0.5線性遞減,c2從0.5~2.5線性遞增;本文改進PSO的學習因子c1=c2=[1.3,2.0],最大迭代次數(shù)為1000,精度為0.1,重復仿真50次,得到結果如圖5和表3所示。
從圖5和表3可知,標準PSO出現(xiàn)早熟,易陷入局部最優(yōu),通過改進學習因子提高種群多樣性。本文改進的PSO較之于另外兩種算法,不論是收斂速度還是跳出局部最優(yōu)能力都有所提高,尋優(yōu)結果和精度也有明顯改善。
2.3 PID仿真
為證明本文改進算法對PID參數(shù)優(yōu)化的優(yōu)越性,選取系統(tǒng)控制對象傳遞函數(shù)表達式如下[20]:
對該系統(tǒng)進行仿真,以ITAE為適應度函數(shù)。標準PSO、文獻[10]改進PSO以及本文改進PSO在PID參數(shù)優(yōu)化的結果如圖6、表4所示。由圖表可知,本文改進的算法較之于標準PSO算法和文獻[10]改進算法,在PID參數(shù)優(yōu)化上收斂速度和搜索精度均取得較好結果,能夠用較少的迭代次數(shù)達到最優(yōu)值,而且本文改進算法在PID參數(shù)優(yōu)化仿真結果的最差值、最優(yōu)值、方差以及平均值指標上都優(yōu)于標準的PSO和文獻[10]改進的PSO。
圖7為改進算法的階躍響應圖。10s時加入一個單位階躍擾動,可看出本文改進算法有出色的抗干擾能力,表5顯示性能指標對比也優(yōu)于其它兩種算法。
3 結語
本文提出一種基于相等隨機學習因子粒子群算法,豐富了種群多樣性,改善了過早收斂于局部極值狀況。PID控制器參數(shù)的優(yōu)化對于系統(tǒng)魯棒性以及穩(wěn)定性有十分重要的意義,本文將改進算法應用到PID參數(shù)優(yōu)化上,將其與標準PSO以及文獻[10]改進的PSO作對比,仿真結果顯示,改進的PSO收斂精度和收斂速度較優(yōu),用較少的迭代次數(shù)即達到最優(yōu)值,性能指標更優(yōu)。
參考文獻:
[1] 李獻,駱志偉,丁晉臣.? MATLAB/Simulink系統(tǒng)仿真[M].? 北京: 清華大學出版社, 2017.
[2] 張霞.? 混沌粒子群優(yōu)化算法在PID參數(shù)整定中的應用[J]. 石油化工自動化,2016, 52(4): 32-34.
[3] ZIEGLER J G, NICHOLS N B. Optimum settings for automatic controllers[J].? Trans ASME, 1942(64): 759-768.
[4] COHEN G H, COON G A. Theoretieal consideration of retarded control[J].? Trans ASME, 1953(75) : 827-833.
[5] 孟桂艷. 迭代步進值遞減的果蠅優(yōu)化算法在PID整定中的應用[J].? 青島大學學報(自然學科版), 2017, 30(3): 19-23.
[6] 張連強, 王東風. 基于改進人群搜索算法的PID參數(shù)優(yōu)化[J].? 計算機工程與設計, 2016, 13(37): 3389-3393.
[7] PBDM OLIVEIRA, EJS PIRES. Gravitational search algorithm design of posicast PID control systems[J].? Soft Computing Models in Industrial and Environmental Applications Advances in Intelligent Systems and Computing,2013(188): 191-199.
[8] JIMENEZ T. An auto-tuning PID control system based on genetic algorithms to provide delay guarantees in passive optical networks[J].? Expert? Systems with Applications An International Journal,2015,42(23): 9211-9220.
[9] KENNEDY J,EBERHART R C. Particle swarm optimization[C].? IEEE International Conference on Neural Networks, Piscataway,1995(2): 1942-1948.
[10] RATNAWECRA A, HALAGAMUGE S. Self-orgranizing hierarchical particle swarm optimizer with? time-varying acceleration coefficients[J].? Evolutionary Computation, 2004, 8(3): 240-255.
[11] 楊平.? PID控制器參數(shù)整定方法及應用[M].? 北京: 中國電力出版社, 2016.
[12] 楊曉, 王國柱.? 基于PID控制理論的改進粒子群優(yōu)化算法[J].? 控制工程,2019, 26(8): 1497-1502.
[13] 王博華.? 粒子群算法的改進及其在 PID 參數(shù)整定中的應用[D].? 長沙: 湖南大學, 2017.
[14] 陳水利.? PSO算法加速因子的非線性策略研究[J].? 長江大學學報(自然科學版), 2007, 4(4): 1-4.
[15] 陳貴敏.? 粒子群優(yōu)化算法的慣性權值遞減策略研究[J].? 西安交通大學學報,2006, 40(1):53-61.
[16] 李曉含.? 基于細菌覓食算法的PID參數(shù)整定[D]. 蘭州: 甘肅農(nóng)業(yè)大學, 2018.
[17] 趙志剛, 林玉嬌, 尹兆遠. 基于自適應慣性權重的均值粒子群優(yōu)化算法[J].? 計算機工程與科學, 2016, 38(3): 501-506.
[18] 李恒.? 改進的螢火蟲算法及其在PID控制器參數(shù)整定中的應用[D].? 合肥:安徽大學,2017.
[19] 林玉嬌.? 基于改進粒子群的PID參數(shù)整定應用研究[D]. 南寧:廣西大學,2015.
[20] 史峰. MATLAB智能算法30個案例分析[M].? 北京:北京航空航天大學出版社,2011.
(責任編輯:杜能鋼)