摘 要: PID控制器是過程控制中應用最為廣泛的控制器,而傳統PID控制器參數整定難以達到最優狀態,同時,存在控制結果超調量過大、調節時間偏長等缺點,因此,將變異粒子群優化算法(Mutation Particle Swarm Optimization,MPSO)運用于BP-PID的參數整定過程中,設計了一種高效、穩定的自適應控制器。考慮MPSO的變異機制,以種群適應度方差與種群最優適應度值為標準,進行種群變異操作,可以克服早熟,提高收斂精度和PSO的全局搜索能力,使MPSO優化的BP神經網絡整定的PID控制器能以更快的速度、更高的精度完成過程控制操作。在實驗中,通過比較BP-PID、PSO-BP-PID以及MPSO-BP-PID三控制器仿真結果,證明了所提MPSO算法的有效性和所設計MPSO-BP-PID控制器的優越性。
關鍵詞: 變異粒子優化算法;BP神經網絡;PID控制器;MATLAB仿真
0 引言
PID控制即比例-積分-微分控制,它是建立在經典控制理論基礎上的一種控制策略。PID控制器具有算法簡單、魯棒性強、穩定可靠等優點[1]。其中,PID參數整定是PID控制器設計的關鍵所在[2-5],而傳統的PID控制器參數整定主要通過人工經驗完成,不僅費時,而且不能保證獲得最佳的控制效果。在這種情況下,智能化算法[6-9]被引入到PID參數調整中,其中神經網絡[8]以其具有的非線性特性、優化和自適應控制性能等被引入到PID控制器設計中。但是在其實際應用的過程中,采用BP神經網絡所設計的BP-PID控制器時,由于其反向傳播學習算法的全局搜索能力弱,易陷入局部最優,其控制效果并不理想,從而限制了神經網絡在PID控制器中的應用。
針對上述問題,本文將變異操作引入粒子群算法,形成變異粒子群算法。以變異粒子群算法作為BP神經網絡新的學習算法,設計了MPSO-BP-PID控制器。該控制器不僅克服了粒子群算法最優值搜索易陷入局部最優值[8]以及BP神經網絡反向傳播學習算法全局搜索能力弱的缺點,而且可以較大程度地提高其控制過程的穩定性、精確性和魯棒性。本文通過實驗仿真,建立了MPSO-BP-PID控制器,并在過程控制中與BP-PID、PSO-PID控制器進行對比,結果證明MPSO-BP-PID控制器不僅在尋優精度上,而且在尋優速度上都比BP-PID和PSO-BP-PID控制器表現得更為優異。
1 MPSO-BP-PID控制器整體結構
如圖1所示,MPSO-BP-PID控制器由傳統PID控制器及MPSO優化的BP神經網絡組成。其中,由MPSO優化的BP神經網絡部分稱為MPSO-BP;而將MPSO-BP用到PID控制參數整定的部分稱為MPSO-BP-PID控制器。工作過程中,利用系統輸入rin(k)和yout(k)之間的誤差信號error(k),同時根據某種性能指標的最優化,利用MPSO-BP在線實時調整PID控制器kp,ki,kd參數,得到PID調節器的輸出u(k),再根據控制對象的傳遞函數得到系統的輸出yout(k),從而實現直接對被控對象進行閉環控制。
本文采用3層BP神經網絡[10],如圖2所示,輸入層有3個神經元即系統輸入rin(k),系統輸出yout(k),輸入與輸出之間的誤差error(k),輸入信號經隱含層權值wij進入隱含層,隱含層有5個神經元,隱含層輸出值乘以輸出層權值woj輸入輸出層,輸出層有3個神經元分別為kp,ki,kd。隱含層、輸出層的激活函數fh,fo分別為式(1)和(2)[10]:
2 MPSO算法
2.1 PSO算法
粒子群算法(Particle Swarm Optimization,PSO)是由Kennedy和Eberhart[11]博士在1995年提出的基于群智能的隨機優化算法,是模擬鳥類群體覓食行為的一種新的進化計算方法。在D維搜索空間中,第i個粒子在D維空間中的位置表示為:xi=(xi1,xi2,xi3,...xiD),第i個粒子經歷的最好位置(個體最好適應度)記為:pi=(pi1,pi2,pi3,...piD),在整個群體中,所有粒子經歷過的最好位置為:pg=(pg1,pg2,pg3,...pgD)。每個粒子的飛行速度為:vi=(vi1,vi2,vi3,...viD)。每一代粒子根據式(3)和式(4)更新自己的速度和位置:
vid=wvid+c1r1(pid-xid)+c2r2(pgd-xid)(3)
xid=xid+vid(4)
其中:w為慣性權重[12],慣性權重的引進使PSO可以調節算法的全局與局部尋優能力;c1和c2為正常數,稱為加速系數;r1和r2是[0,1]的隨機數。更新過程中,粒子每一維的位置、速度都限制在允許的范圍之內。
PSO算法結構簡單,搜索速度快,同時也容易出現早熟現象,為了避免早熟對尋優結果的影響,保存個體的多樣性,從而提高系統的全局搜索能力,在此引入變異操作,使得粒子陷入局部最優時能夠朝新的方向重新搜索,增大尋找全局最優的幾率,即為MPSO算法。
2.2 MPSO算法
MPSO算法引入的變異操作[7]是以群體適度方差σ2和粒子數N為判斷標準,在人為設置的最大、最小變異概率之內,群體適應度方差越小,即各粒子越靠近時,全局極值的變異概率越大;反之,當適應度方差越大即群體還保持較高的多樣性時,全局極值的變異概率越小。具體粒子群變異操作的概率如式(5):
其中:Pm為群體全局極值的變異概率,σ2為群體適應度方差,Pmax為變異概率的最大值,Pmin為變異概率的最小值。
考慮到粒子在當前全局最佳適應度f(gbest)的作用下可能找到更好位置,因此MPSO算法將變異操作設計成為一個隨機算子,即對滿足變異條件的f(gbest)按一定的概率Pm進行變異操作。計算過程如式(6):
其中,k可以取[0.1,0.2]之間的任意數值。σ2的取值與實際問題有關,一般遠小于σ2的最大值,fd為理論最優值。在進行粒子群尋優的過程中,由于變異操作避免粒子群陷入一些偽最優值,從而使算法的全局搜索能力及魯棒性大大增強,從而更加容易發現目標的全局最優值。
3 MPSO-BP-PID控制器工作過程
由圖3可知,在MPSO-BP-PID控制器工作過程中,第一步是由MPSO算法優化BP神經網絡。在此過程中MPSO算法結合PID控制對象的控制誤差error(k)對神經網絡的隱含層權值wij及輸出層權值woj進行優化更新,從而為BP神經網絡提供優化過的權值,得到PID最優化的控制參數kp,ki,kd;第二步,在控制參數的作用下,由PID控制器輸出最優化的控制參數u(k),從而完成最終對被控制對象的最優控制。
3.1 MPSO-BP-PID控制器
MPSO-BP-PID控制器具體執行過程如下:
(1)初始化BP神經網絡基本參數,確定網絡結構以及節點數,并給出加權系數初始值;初始化粒子群算法中的基本參數,確定粒子速度與位置的范圍等。
(2)由當前輸入值rin(k)及被控制對象的傳遞函數,控制器輸出初始值計算當前輸出yout(k),以及誤差函數error(k)=rin(k)-yout(k),得BP神經網絡的輸入信號rin(k)、yout(k)、error(k),對輸入信號進行采樣、歸一化預處理,之后輸入BP神經網絡。
(3)正向計算BP神經網絡各層神經元輸入、輸出,BP神經網絡輸出的三個輸出值即為PID控制器的三個可調參數kp,ki,kd。
(4)本文以增量式PID為例,由式(7)可得PID控制器的輸出為u(k),將得到的u(k)送入被控制系統,對被控制系統進行在線調控。
3.2 MPSO優化BP神經網絡
MPSO優化BP神經網絡具體過程如下:
(1)粒子群開始尋優,將粒子的位置及速度向量都設計為隱含層和輸出層個數之和的維數M,其中N個粒子即為隱含層與輸出層權值wij、woj可能的解;
(2)根據公式(3)和公式(4),更新每個粒子的位置和速度;
(3)由式(8)計算每個粒子的適應度值,更新粒子個體最優值及全局最優值;
(4)計算種群適應度方差σ2,判斷種群適應度方差及種群最優適應度值,確定變異操作的概率,如果Pm超出[Pmin,Pmax],則以公式(6)進行變異操作,否則以公式(5)進行變異操作;
(5)判斷迭代次數以及誤差值,若滿足則終止迭代,則尋優結束,得到最優粒子群即wij、woj,將其送入BP神經網絡,否則迭代次數加一返回步驟(2)。
4 實驗結果
將MPSO優化的BP神經網絡PID控制器應用于非線性模型控制中,被控制對象模型如式(9):
其輸入為指數衰減信號,如式(10):
rin(k)=e-1.5×k×ts×sin(2π×k×ts)(10)
設種群大小為40,迭代次數為10,粒子群慣性權重為[wmax,wmin]=[0.9,0.4]呈線性遞減,加速系數c1=c2= 1.496 2,位置的初始范圍設置在[-1,1]之間,速度的初始范圍設置在[-0.5,0.5]之間。BP神經網絡結構為:輸入層3個神經元,隱含層5個神經元,輸出層3個神經元,神經網絡的學習速率η=0.20,慣性系數α=0.05。輸入信號的采樣點數為6 000,其采樣間隔為0.001。圖4所示為BP-PID、PSO-BP-PID、MPSO-BP-PID三種控制器的控制效果圖,其中,在t=3.5 s時加入幅值為0.15的干擾量。
從圖4、圖5可見,BP-PID、PSO-BP-PID、MPSO-BP-PID三種控制器對于被控制系統都起到了一定的控制作用。由控制器控制效果曲線圖以及kp、ki、kd過程變化曲線可知,控制器在初始階段都會產生誤差抖動,其中,BP-PID控制器初始階段中,誤差抖動幅度較大且持續時間較長,相比于BP-PID控制器誤差抖動,PSO-BP-PID控制器初始階段誤差抖動幅度與抖動所持續的時間都有所減小。而MPSO-BP-PID控制器在初始階段的調整中不論在調整幅度還是在調整時間等方面相比BP-PID和PSO-BP-PID控制器都有更好的控制效果。
在t=3.5 s加入突變式干擾量時,三種控制器都能對外界干擾做出反應。其中,BP-PID控制器反應速度較慢,且調整過程存在的誤差抖動幅度較大;相比于BP-PID控制器,PSO-BP-PID控制器也同樣存在著反應時間長、所持續的誤差抖動較大的問題。而MPSO控制器對于干擾的反應速度較于BP-PID控制器和PSO-BP-PID控制器快,且調整幅度小,過渡時間短,這將有利于MPSO-BP-PID控制器在復雜壞境情況下對于被控制對象的實時控制。
導致上述控制效果的主要原因:BP-PID控制器以傳統的誤差反向傳播的BP算法為學習算法,然而BP算法的全局搜索能力弱且易陷入局部最優值與偽最優值,因此控制效果并不理想,對于突變式干擾,通常會有較大的誤差抖動;而以PSO優化算法為學習算法的PSO-BP-PID控制器雖然操作簡單,方便易行,并且在一定程度上克服了BP算法易陷入局部最優值的問題,但在算法優化后期也存在著優化速度降低以及早熟等情況,導致其全局搜索能力減弱而不繼續優化以獲得最優值,因此,其控制效果欠佳,對于突變式干擾的適應性較差并且導致個別區域誤差比較大;MPSO-BP-PID控制器則采用具有變異能力的MPSO優化算法,與PSO算法相比較,MPSO優化算法考慮到粒子多樣性對尋優的有利影響,在PSO的基本框架中增加了由種群適應度方差以及粒子數確定的隨機變異算子和通過對最優適應度值的判斷而確定固定變異算子來提高粒子群跳出局部最優解的能力且增加粒子群的多樣性,從而在PSO優化算法后期,跳出其中偽最優值與次優解,繼而克服了PSO算法自身所具有的早熟問題,使其全局搜索能力增強,算法的魯棒性也得到了較大提高,從而確保PID控制完成對被控制對象的精確控制。因此,MPSO-BP-PID控制器能在較大程度上提高其控制過程的穩定性、精確性與魯棒性。
5 結論
本文提出了一種新的改進粒子群算法,即變異粒子群算法,用于優化BP神經網絡權值,從而建立了MPSO-BP-PID控制器。由于MPSO優化算法引入變異的概念,在粒子群尋優過程中,使其具有更強的全局及局部尋優能力,該算法在增加種群多樣性的同時也有效地克服了傳統PSO易陷入局部最優的缺點,充分發揮了PSO種群間搜索信息的能力,從而保證其在尋優權值時能得到最優權值,縮短了BP神經網絡的訓練時間,同時使BP-PID控制器在初始階段,能更有效果地跟蹤系統整體變化,在快速應變方面有著更為優秀的表現。仿真結果表明,基于MPSO-BP-PID控制器可以實現對被控系統的有效控制,并使相應控制過程的穩定性、精確性與魯棒性都有較大的提高。
參考文獻
[1] VILANOVA R, ALFARO V. Robust PID control: an overview[J]. Revista Iberoamericana De Automatica E Informatica Industrial, 2011, 8(3):141-158.
[2] Zhang Jinhua, Zhuang Jian, Du Haifeng, et al. Self-organizing genetic algorithm based tuning of PID controllers[J]. Information Sciences, 2009,179(7):1007-1018.
[3] NTOGRAMATZIDIS L, FERRANTE A. Exact tuning of controllers in control feedback design[J]. IET Control Theory And Applications, 2011, 5(4): 565-578.
[4] 王偉,張晶濤,柴天佑.PID參數先進整定方法綜述[J].自動化學報,2000,26(3):347-355.
[5] 霍延軍.基于量子粒子群算法的PID參數自整定方法[J].微電子學與計算機,2012,20(10):194-197.
[6] NTOGRAMATZIDIS L, FERRANTE A. Exact tuning of controllers in control feedback design[J]. IET Control Theory and Applications, 2011, 5(4): 565-578.
[7] HSU C F, TSAI J Z, CHIU C J. Chaos synchronization of nonlinear gyros using self-learning PID control approach[J]. Applied Soft Computing, 2012, 12(1): 430-439.
[8] SENG T L, BIN K, YUSOF R. Tuning of a neuro-fuzzy controller by genetic algorithm[J]. IEEE Transactions on Systems, Man, and Cybernetics, 1999,29(2):226-236.
[9] MOHAN B M. Fuzzy PID control via modified takagi-sugeno rules[J]. Intelligent Automation and Soft Computing, 2011, 17(2): 165-174.
[10] 劉金琨.先進PID控制MATLAB仿真[M].北京:電子工業出版社,2004.
[11] KENNEDY J, EBERHART R. Particle swarm optimization[C]. Proceedings of the 1995 IEEE International Conference on neural networks, 1995: 1942-1948.
[12] SHI Y, EBERHART R C. Particle swarm optimization: developments, applications and resources[C]. Proceedings of the IEEE Congress on Evolutionary Computation, 2001:81-86.