許鵬 李紹銘
摘要:針對神經(jīng)網(wǎng)絡(luò)預(yù)測控制因滾動優(yōu)化算法初始值選擇不當(dāng)而降低控制性能的問題,提出一種通過粒子群算法對初始值進行動態(tài)選取的方法。通過RBF神經(jīng)網(wǎng)絡(luò)建立預(yù)測模型,使用L-M算法滾動優(yōu)化求解控制量,利用PSO算法的全局快速收斂能力動態(tài)確定L-M算法初始值,通過滾動優(yōu)化的目標(biāo)函數(shù)可獲取粒子適應(yīng)度值,實現(xiàn)初始值動態(tài)更新,并對權(quán)重系數(shù)λ進行實時修正。Matlab仿真實驗結(jié)果表明所提方法能夠解決初值選取問題,同時改善了控制系統(tǒng)的性能與可靠性。
關(guān)鍵詞:模型預(yù)測;RBF;L-M算法;粒子群算法;初始值
中圖分類號:TP13文獻標(biāo)志碼:A文章編號:1008-4657(2019)02-0018-07
0引言
傳統(tǒng)的模型預(yù)測控制(Model Predictive Control,MPC)大多基于線性預(yù)測模型,這就導(dǎo)致其運用范圍依舊局限于線性或非線性不強的對象[1]。而實際的工業(yè)對象通常都是強非線性的,模型往往很難精確建立。神經(jīng)網(wǎng)絡(luò)從理論上來說,能以任意精度逼近復(fù)雜的非線性對象。因此,將MPC與神經(jīng)網(wǎng)絡(luò)建模相結(jié)合而形成的神經(jīng)網(wǎng)絡(luò)預(yù)測控制成為研究熱點[2]。
由于神經(jīng)網(wǎng)絡(luò)模型自身便具有強非線性,這就使得在滾動優(yōu)化時需要對復(fù)雜的非線性方程組進行求解來獲取其最優(yōu)解。因此,目前大部分的研究者都通過局部優(yōu)化的方法獲取次優(yōu)解。如文獻[3]采用擬牛頓法(Quasi-Newton,Q-N)對廣義預(yù)測控制器(Generalized Predictive Control,GPC)進行優(yōu)化。文獻[4]采用L-M和Q-N算法進行滾動優(yōu)化改進,對系統(tǒng)的抗干擾能力有所提高。文獻[3-4]采用上一時刻的控制量作為優(yōu)化算法的初值來獲取控制量,得到不錯的控制效果,但皆未明確指出確定初值的方法。
在對神經(jīng)網(wǎng)絡(luò)預(yù)測控制進行研究時發(fā)現(xiàn),在滾動優(yōu)化部分,算法初值選取對整個控制系統(tǒng)的性能有較大影響。在使用文獻[3-4]中所采用的以上一時刻的控制量作為初值的方法來進行實驗時出現(xiàn)控制性能下降的情況。
為解決該問題,本文提出利用粒子群算法動態(tài)獲取優(yōu)化算法的初始值。
1神經(jīng)網(wǎng)絡(luò)預(yù)測控制
1.1預(yù)測模型
4.1建模
在Matlab中產(chǎn)生1000組[-2,2]之間的隨機數(shù)作用于上述非線性對象,獲取對象輸出。利用神經(jīng)網(wǎng)絡(luò)工具箱中的“newrb”函數(shù)對所獲取的輸出輸出數(shù)據(jù)進行RBF神經(jīng)網(wǎng)絡(luò)預(yù)測模型的搭建。設(shè)定訓(xùn)練精度為1×10-5,訓(xùn)練次數(shù)為500,最終得到含有27個神經(jīng)元的RBF神經(jīng)網(wǎng)絡(luò)模型。隨機產(chǎn)生50組測試數(shù)據(jù),對所建模型進行預(yù)測測試,實驗結(jié)果如圖4所示。
對于50組隨機測試數(shù)據(jù),本文所建立的RBF神經(jīng)網(wǎng)絡(luò)預(yù)測模型的預(yù)測誤差如圖5所示。
其模型準(zhǔn)確率為99.04%,累計誤差為0.3029,表明本文所建立的模型精度較高,能夠滿足預(yù)測控制要求。
4.2仿真結(jié)果
為比較文獻[3-4]的初值確定方法與本文所提方法的區(qū)別,將二者對比實驗,讓其跟蹤相同正弦波信號。
由圖6可知,文獻[3-4]中所使用的以上一時刻的控制量作為初始值的方法,出現(xiàn)了無法跟蹤期望輸出的問題,控制性能下降,由圖7可知,出現(xiàn)該情況是由于控制量不變所導(dǎo)致,即上文中初始值選在了C點造成;對比可知,本文所采用的使用PSO算法動態(tài)獲取L-M優(yōu)化算法初始值的方案不僅能夠?qū)崿F(xiàn)有效地跟蹤,并且響應(yīng)很快,誤差較小,解決了初值問題,并顯現(xiàn)出較為理想的控制效果。
為更清楚的看出初值選取不同,繪制兩種方法在實驗過程中的初始值選取點,如圖8所示。
通過將圖8與圖7進行比較可以看出,文獻[3-4]所使用的方法,初始值在約20s之后便不再改變,從而導(dǎo)致初值問題的發(fā)生;而本文所采用方法能夠獲取較為理想的初值。在仿真實驗中,若加大迭代代數(shù),通過PSO算法所獲取的初值將愈發(fā)接近L-M算法優(yōu)化得到的控制量,但迭代次數(shù)的增加會影響實時控制,本文通過仿真試驗發(fā)現(xiàn)選取迭代數(shù)為10便可獲得較為滿意的控制效果。
通過上述實驗結(jié)果分析可知,本文所提出的使用PSO算法獲取初始值的方案能夠有效的解決神經(jīng)網(wǎng)絡(luò)預(yù)測控制滾動優(yōu)化部分初始值的選取問題,并且對控制器的性能及穩(wěn)定性有一定程度的提高。
5結(jié)論
將L-M算法和PSO算法相組合,利用PSO算法的全局快速收斂能力,將其尋優(yōu)得到的最優(yōu)粒子作為L-M算法的初始值,實現(xiàn)初始值動態(tài)更新,再利用了L-M算法在接近局部極小值時收斂速度快、搜索精度高等優(yōu)點實現(xiàn)控制量的最優(yōu)選取,并對權(quán)重系數(shù)λ進行實時修正,解決了L-M算法依賴初值問題。通過Matlab進行仿真實驗,將文獻[3-4]中所使用的方法與本文所提出的方案做對比,結(jié)果表明了本文所提出的方法能夠有效地解決神經(jīng)網(wǎng)絡(luò)預(yù)測控制中優(yōu)化算法的初始值選取問題,改善了系統(tǒng)的控制性能,并且提高了神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)的可靠性。
參考文獻:
[1] 席裕庚.預(yù)測控制[M].第2版.北京:國防工業(yè)出版社,2013.
[2] 戴文戰(zhàn),婁海川,楊愛萍.非線性系統(tǒng)神經(jīng)網(wǎng)絡(luò)預(yù)測控制研究進展[J].控制理論與應(yīng)用,2009,26(5):521-530.
[3] Srensen P.H,Nrgaard M,Ravn O,et al.Implementation of Neural Network Based Non-linear Predictive Control[J].Neurocomputing,1999,28(1):37-51.
[4] Nand K,Singh S P.Simulated Response of NN Based Identification and Predictive Control of Hydro Plant[J].Expert Systems with Applications,2007,32(1):233-244.
[5] 王炳萱,李國勇,王艷暉.基于LM-PSO算法和BP神經(jīng)網(wǎng)絡(luò)的非線性預(yù)測控制[J].太原理工大學(xué)學(xué)報,2016,47(2):207-211.
[6] 劉金琨.RBF神經(jīng)網(wǎng)絡(luò)自適應(yīng)控制MATLAB仿真[M].北京:清華大學(xué)出版社,2014.
[7] 宮赤坤,閆雪.基于RBF神經(jīng)網(wǎng)絡(luò)的預(yù)測控制[J].上海理工大學(xué)學(xué)報,2005,27(5):421-424.
[8] 張日東,王樹青.基于神經(jīng)網(wǎng)絡(luò)的非線性系統(tǒng)多步預(yù)測控制[J].控制與決策,2005,20(3):332-336.
[9] Zhang Pengyuan,Xi Yugeng,Li Dewei.Closed-loop Robust Model Predictive Control for Time-delay Systems with Structured Uncertaines[J].Control Theory & Applications,2013,30(6):683-692.
[10] 張昭昭,喬俊飛,余文.基于LM算法的在線自適應(yīng)RBF網(wǎng)結(jié)構(gòu)優(yōu)化算法[J].控制與決策,2017,32(7):1 247-1 252.
[11] 高異,楊延西,劉軍.模糊遺傳滾動優(yōu)化的LS-SVM預(yù)測控制研究[J].系統(tǒng)仿真學(xué)報,2007,19(6):1 277-1 280.
[12] 樊兆峰,馬小平,邵曉根.神經(jīng)網(wǎng)絡(luò)預(yù)測控制局部優(yōu)化初值確定方法[J].控制理論與應(yīng)用,2014,31(6):741-747.
[責(zé)任編輯:許立群]