王炳萱,李國勇,王艷暉
(太原理工大學(xué) 信息工程學(xué)院,太原 030024)
?
基于LM-PSO算法和BP神經(jīng)網(wǎng)絡(luò)的非線性預(yù)測控制
王炳萱,李國勇,王艷暉
(太原理工大學(xué) 信息工程學(xué)院,太原 030024)
摘要:針對非線性系統(tǒng),提出了一種基于BP神經(jīng)網(wǎng)絡(luò)的預(yù)測控制方法。以BP神經(jīng)網(wǎng)絡(luò)建立多步預(yù)測模型并預(yù)測系統(tǒng)輸出值,用LM (Levenberg-Marquardt)算法和PSO(Particle Swarm Optimization)算法組合的混合算法對目標性能指標函數(shù)進行滾動優(yōu)化求解,得到非線性系統(tǒng)的最優(yōu)控制量;利用誤差修正參考輸入法實現(xiàn)反饋矯正。通過將粒子群算法引入LM算法,克服了LM算法依賴初值和粒子群算法過早收斂于局部極值的問題,提高了求解的運行速度和精確度。通過對單變量非線性系統(tǒng)仿真實驗,證明了該控制系統(tǒng)具有良好的穩(wěn)定性、自適應(yīng)性和魯棒性。該方法可在數(shù)學(xué)模型不確定的情況下設(shè)計出有效的預(yù)測控制器。
關(guān)鍵詞:非線性系統(tǒng);預(yù)測控制;LM算法;粒子群算法;BP神經(jīng)網(wǎng)絡(luò)
模型預(yù)測控制(Model Predictive Control,MPC)最初提出時針對的是線性系統(tǒng),用線性模型對對象進行預(yù)測,而用線性模型優(yōu)化處理具有強非線性的對象時會使得輸出預(yù)測與實際結(jié)果存在較大偏差,從而失去最佳的控制效果[1-2]。近年來,國內(nèi)外許多專家學(xué)者針對非線性系統(tǒng)的本質(zhì)特點,提出許多預(yù)測模型,文獻[3-4]提出了Wiener模型,文獻[5-6]提出了Hammerstein模型,但上述模型只適用于某些特定場合,辨識難度較大,并具有一定的約束性。本文選用BP神經(jīng)網(wǎng)絡(luò)(Back Propagation neural network)作為預(yù)測模型。BP神經(jīng)網(wǎng)絡(luò)實質(zhì)功能為輸入到輸出的映射,具有良好的泛化能力,在選取合適的隱含層和隱節(jié)點時可以實現(xiàn)任何復(fù)雜的非線性映射關(guān)系[7]。
滾動優(yōu)化是預(yù)測控制的重要組成部分,其通過反復(fù)優(yōu)化目標函數(shù)從而求取最優(yōu)控制量[8]。文獻[9-10]采用LM算法求解控制量。LM算法收斂速度快、穩(wěn)定性強,且避免陷入局部極值,可有效地求解優(yōu)化目標函數(shù),但其也存在過于依賴初值的問題[11-12]。
針對上述問題,筆者利用粒子群算法的簡單易行且可調(diào)參數(shù)較少等優(yōu)點,將其引入LM算法,解決了LM算法對初值的依賴問題,提高了算法的精確度。該非線性系統(tǒng)預(yù)測控制方法以BP神經(jīng)網(wǎng)絡(luò)對非線性系統(tǒng)進行建模,LM-PSO算法對目標性能函數(shù)進行滾動優(yōu)化求解最優(yōu)控制量。仿真結(jié)果表明,LM-PSO-BP預(yù)測控制方法具有良好的控制性能。
1神經(jīng)網(wǎng)絡(luò)預(yù)測模型
將如下單輸入單輸出(SISO)非線性離散系統(tǒng)作為被控系統(tǒng)[13]:



(1)
式中:n為系統(tǒng)輸出y(t) 的階次;m為系統(tǒng)輸入u(t)的階次;d+1為系統(tǒng)的時滯;f為非線性函數(shù)。
選用3層BP神經(jīng)網(wǎng)絡(luò)來建立非線性系統(tǒng)預(yù)測模型,可表示為:

(2)
式中:ym為預(yù)測模型輸出值;wi為隱含層神經(jīng)元與輸入層神經(jīng)元之間的連接權(quán)值;wij為輸出層神經(jīng)元與隱含層神經(jīng)元之間的連接權(quán)值;p為輸入層節(jié)點數(shù);1為輸出層節(jié)點數(shù);q為隱含層神經(jīng)元個數(shù);g(·)為激活函數(shù),選取Sigmoid型激活函數(shù)
為得到對未來的多步預(yù)測輸出,對式(2)中的預(yù)測模型的基礎(chǔ)上建立多個簡單的BP神經(jīng)網(wǎng)絡(luò),第l個BP神經(jīng)網(wǎng)絡(luò)可表示為:
(3)
2反饋校正
由于對象和環(huán)境等因素存在隨機性和不確定性,在t時刻實施控制后,被控對象的實際輸出y(t)與預(yù)測模型輸出ym(t)之間可能存在一定偏差,因此形成預(yù)測誤差:
(4)
此誤差經(jīng)過加權(quán)后對系統(tǒng)未來的輸出進行預(yù)測,表示為:
(5)
式中,h=[h1,h2,…,hp]T為反饋校正矢量,h1=1.
3滾動優(yōu)化
構(gòu)造目標性能函數(shù)如下:
(6)
(7)
式中:簡化加權(quán)系數(shù)λ(j)為λ(常數(shù));α為柔化系數(shù),0<α<1;yn為實測模型輸出值;yr為系統(tǒng)給定值;ye(k+j)為期望輸出序列。
通過求解Jmin來確定最優(yōu)控制增量,使系統(tǒng)在未來n(p≥n≥m)個時刻系統(tǒng)實際輸出值盡可能接近系統(tǒng)期望值。
3.1LM算法
LM算法是梯度下降法與Gauss-Newton法的結(jié)合。當μ增大時,算法與梯度下降法相似,發(fā)揮其全局特性;當μ減小時,算法接近Gauss-Newton法,發(fā)揮其局部收斂特性[14]。LM算法采用近似的二階導(dǎo)數(shù)信息,所需迭代時間較少,收斂非常迅速,算法穩(wěn)定性較好,避免陷入局部最小值。其迭代公式為
(8)
式中:uk為第k次迭代時控制輸入序列;uk+1為新一時刻的控制輸入序列;μ是阻尼因子;ek為誤差;E(u)為誤差函數(shù);A(uk)是Jacobian矩陣。
(9)
(10)
3.2粒子群算法
通過模擬研究鳥群捕食的過程,KENNEDY和EBERHART提出了粒子群(PSO)優(yōu)化算法。由于PSO算法操作簡單易行,需調(diào)參數(shù)較少,尤其適用于求解復(fù)雜非線性問題[15]。
粒子速度和位置的更新公式如下:
(11)
(12)
式中:i=1,2,…,N;d=1,2,…,D;c1,c2為加速因子,通常取c1=c2;r1和r2為[0,1]區(qū)間內(nèi)的隨機數(shù);w為慣性權(quán)重,w=w1-(w1-w2)k/kmax,w1為初始慣性權(quán)重,w2為終止慣性權(quán)重,kmax為最大迭代次數(shù);l為速度約束因子。
為防止粒子在搜索過程中因搜索空間范圍過大而導(dǎo)致粒子發(fā)散,將限制粒子的速度、位置在區(qū)間[vmin,vmax],[xmin,xmax]之內(nèi)。
3.3LM-PSO算法
將LM算法和PSO算法組合提出了LM-PSO算法。LM-PSO算法利用了LM算法在接近局部極小值時收斂速度快、搜索精度高等優(yōu)點,和PSO算法的全局快速收斂能力,并克服了LM算法過于依賴初值和PSO算法易陷入局部極值的缺點。
先利用PSO算法對目標性能函數(shù)進行求解得到一個優(yōu)化控制量結(jié)果即群體最優(yōu)解,將該結(jié)果作為LM算法的初始值,反復(fù)迭代得到符合條件的最優(yōu)解即最優(yōu)控制量。算法步驟如下:
1) 初始化粒子群中的參數(shù),將待優(yōu)化控制量uk設(shè)為初始粒子。設(shè)置每個粒子當前最優(yōu)位置為pi,當前全體粒子中的最優(yōu)位置為pg,即pg=pimin.
2) 根據(jù)式(11)、式(12)更新粒子的速度和位置,計算各粒子的適應(yīng)度值,記錄個體極值pi和群體極值pg.
3) 將每個粒子的當前位置與pi相比較,若優(yōu)于pi,則對pi進行更新;否則,pi保持不變。
4) 將每個粒子的當前pi與pg相比較,若優(yōu)于pg,則對pg進行更新;否則,pg保持不變。
5) 若滿足終止條件達到最大迭代次數(shù),則終止迭代,pg為群體最優(yōu)解,即當前最優(yōu)控制量;否則,返回步驟2) .
6) 給出訓(xùn)練誤差允許值e,β,μ0,令k=0,μ=μ0.將由PSO算法得到的群體最優(yōu)解pg作為LM算法的初值u0.
7) 由式(8)計算k+1時刻控制量uk+1,由式(3)和式(4)計算目標函數(shù)值Jk+1.
8) 按式(9)計算Jacobian矩陣A(u) .
9) 若E(uk)<ε,uk為最優(yōu)控制量,轉(zhuǎn)至步驟11);否則,以uk+1為新的初值計算誤差指標函數(shù)E(uk+1)=uk+1E(uk) .
10) 若E(uk+1) 11) 停止。 4預(yù)測控制結(jié)構(gòu)圖 預(yù)測控制結(jié)構(gòu)圖如圖1所示。針對非線性被控對象,以BP神經(jīng)網(wǎng)絡(luò)建立多步預(yù)測模型并預(yù)測系統(tǒng)輸出值ym,通過反饋校正減小預(yù)測誤差e,利用LM-PSO算法對目標性能函數(shù)J進行滾動優(yōu)化,求解出最優(yōu)控制量uk,從而實現(xiàn)對非線性系統(tǒng)的預(yù)測控制。 圖1預(yù)測控制結(jié)構(gòu)圖Fig.1 Block diagram of predictive control 5仿真分析 非線性對象數(shù)學(xué)模型描述如下: (13) 產(chǎn)生一組均勻分布的隨機序列作為輸入,將300組數(shù)據(jù)用于離線建模,前200組數(shù)據(jù)用于訓(xùn)練神經(jīng)網(wǎng)絡(luò),后100數(shù)據(jù)用于測試。 圖2 BP神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果Fig.2 Prediction results of BP neural network 從圖2所示的預(yù)測結(jié)果計算得到,其平均絕對誤差為0.010 4,最大絕對誤差為0.032 2,表明該模型預(yù)測精確度較高。 以方波信號作為輸入進行仿真,頻率為10Hz.在進行預(yù)測控制時,BP神經(jīng)網(wǎng)絡(luò)參數(shù)選擇為:學(xué)習(xí)速率θ=0.5,慣性系數(shù)α=0.05;LM算法的參數(shù)選擇為:e=10-6,β=10,μ0=0.001;PSO算法參數(shù)選擇為:c1=1.5,c2=1.5,w1=0.9,w2=0.4.同時采用如下3個性能指數(shù)來評價控制方法的跟蹤性能:均方根誤差(ERMS),平均絕對誤差(EAA),最大絕對誤差(EMA): (14) (15) (16) 式中:N為步長;yi為第i步的實際輸出值;yri為第i步的系統(tǒng)給定值。 為驗證本文提出的預(yù)測控制方法的有效性,并檢驗該方法在模型失配情況下的控制效果,在k=120時改變非線性對象模型為: (17) 其控制結(jié)果如圖3所示,模型失配前后性能指標對比結(jié)果分別如如表1、表2所示。 圖3 系統(tǒng)輸出曲線Fig.3 Curves of system outputs 方法ERMSEAAEMALM-PSO-BP0.00750.00200.0590LM-BP0.05710.01490.4695PSO-BP0.05230.01650.2929 表2 模型失配下3種控制方法跟蹤性能 從圖3和表1中看出,在模型失配前,3種優(yōu)化方法均能使控制系統(tǒng)到達穩(wěn)態(tài);但LM-PSO-BP比LM-BP和PSO-BP表現(xiàn)出更快的響應(yīng)速度、更少的超調(diào)時間和更準確的控制精度,且與其他兩種方法相比,LM-PSO-BP的實際輸出值與預(yù)測輸出值之間的誤差更小。證明LM-PSO-BP具有更好的目標函數(shù)優(yōu)化能力。 由表2可知,在k=120時,系統(tǒng)模型失配后,LM-PSO-BP的控制量迅速發(fā)生改變并達到狀態(tài),其所需調(diào)整步數(shù)明顯優(yōu)于LM-BP和PSO-BP,且性能指標ERMA,EAE和EMA均低于其他兩種方法。實驗證明,基于LM-PSO-BP的預(yù)測控制方法能夠很快消除干擾帶來的影響,使系統(tǒng)更快更好地達到穩(wěn)定狀態(tài)。 為驗證本文方法的抗噪聲干擾能力,在k=120時給系統(tǒng)施加一個干擾信號,即d(120)=0.2,控制結(jié)果和誤差如圖4所示,性能指標對比結(jié)果如表3所示。 圖4 加入干擾信號的系統(tǒng)輸出曲線Fig.4 Curves of system outputs under interference signal 方法ERMSEAAEMALM-PSO-BP0.04630.01110.3857LM-BP0.07530.01950.5510PSO-BP0.11770.02930.9481 從圖4和表3可以看出,系統(tǒng)在加入干擾信號后,LM-PSO-BP的響應(yīng)速度、超調(diào)時間、與系統(tǒng)預(yù)測輸出值之間的訓(xùn)練誤差等均優(yōu)于LM-BP和PSO-BP,證明LM-PSO-BP具有更好的抗干擾能力。 仿真結(jié)果表明,在系統(tǒng)模型失配或加入干擾信號的情況下,本文提出的LM-PSO-BP預(yù)測控制方法表現(xiàn)出良好的抗干擾性,具有較好的綜合性能。 6結(jié)論 針對非線性系統(tǒng),提出了一種基于BP神經(jīng)網(wǎng)絡(luò)和LM-PSO算法的新型預(yù)測控制方法。該方法中,以BP神經(jīng)網(wǎng)絡(luò)建立非線性對象預(yù)測模型,利用LM-PSO算法進行滾動優(yōu)化求解目標性能函數(shù),得出最優(yōu)控制量后進行反饋校正。利用PSO算法操作簡單,需調(diào)參數(shù)較少等優(yōu)點,先得出一個最優(yōu)解,并以此作為LM算法的初始值,解決了LM算法依賴初值的問題;并結(jié)合LM算法的快速收斂性,提高了全局尋優(yōu)能力。通過對非線性系統(tǒng)的仿真研究,驗證了該預(yù)測控制方法具有較好的控制性能,可有效應(yīng)用于非線性系統(tǒng)中。 參考文獻: [1]席裕庚.預(yù)測控制:第2版[M].北京:國防工業(yè)出版社,2013:130-134. [2]LEEJH.Modelpredictivecontrol:reviewofthethreedecadesofdevelopment[J].InternationalJournalofControl,AutomationandSystems,2011,9(3):415-424. [3]李妍,毛志忠,王琰,等.基于多面體終端域的Hammerstein-Wiener非線性預(yù)測控制[J].自動化學(xué)報,2011,37(5):629-638. [4]吳德會.非線性動態(tài)西東的Wiener神經(jīng)網(wǎng)絡(luò)辨識法[J].控制理論與應(yīng)用,2009,26(11):1192-1196. [5]靳起兵,楊瑞賡,王珠,等.一類統(tǒng)一非線性的Hammerstein模型辨識方法研究[J].系統(tǒng)仿真學(xué)報,2011,26(12):2887-2891. [6]LUCH.Waveletfuzzyneuralnetworksforidentificationandpredictivecontrolofdynamicsystems[J].IEEETransIndElectron,2011,58(7):3046-3058. [7]李松,劉力軍,解永樂.遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的短時交通流混沌預(yù)測[J].控制與決策,2011,26(10):1581-1585. [8]ZHENGPengyuan,XIYugeng,LIDewei.Closed-looprobustmodelpredictivecontrolfortime-delaysystemswithstructureduncertaines[J].ControlTheory&Applications,2013,30(6):683-692. [9]NANDK,SINGHSP.SimulatedresponseofNNbasedidentificationandpredictivecontrolofhydroplant[J].ExpertsystemswithApplication,2007,32(1):233-244. [10]王鈺,郭其一,李維剛.基于改進BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型及其應(yīng)用[J].計算機測量與控制,2005,13(1):39-42. [11]韓敏,穆大蕓.回聲狀態(tài)網(wǎng)絡(luò)LM算法及其混沌時間序列預(yù)測[J].控制與決策,2011,26(10):1469-1478. [12]KALLAPURAG,BOYSONTK,PETERSENIR,etal.Nonlinearestimationofring-downtimeforaFabry-Perotopticalcavity[J].OpticalSocietyofAmerica,2011,19(7):6377-6386. [13]樊兆峰,馬小平,邵曉根.非線性系統(tǒng)RBF神經(jīng)網(wǎng)絡(luò)多步預(yù)測控制[J].控制與決策,2014,29(7):1274-1278. [14]HOSSEINM.Long-termpredivtionofchaotictimeserieswithmulti-steppredictionhorizonsbyaneuralnetworkwithLevenberg-Marquardtlearningalgorithm[J].Chaos,SolitonsandFractals,2009,41(2009):1975-1979. [15]HASHEMISM,REZAPOURM,MORADIA.AneffectivehybridPSO-basedalgorithmforplanningUMTSterrestrialaccessnetworks[J].TaylorandFrancisLtd,2010,42(3):241-251. (編輯:劉笑達) Nonlinear Predictive Control Based on LM-PSO Algorithm and BP Neural Network WANG Bingxuan,LI Guoyong,WANG Yanhui (CollegeofInformationEngineering,TaiyuanUniversityofTechnology,Taiyuan030024,China) Abstract:In this paper, a multistep predictive control method for nonlinear systems was proposed, which uses a Back Propagation(BP) neural network as a model. First,a multi-step predictive model based on BP neural network was constructed and applied to predict the output of the system. Then the optimal control values were obtained by the rolling LM-PSO optimization algorithm, which was combined with Levenberg-Marquardt(LM) algorithm and Particle Swarm Optimization(PSO) algorithm. Feedback correction was achieved by modifying reference input according to the error. The PSO algorithm was introduced into the LM algorithm to overcome the limitation of initial value, enhance the ability of escaping from local optima and improve the speed and precision of the solution. This method can be used to design effective predictive controllers for univariate nonlinear systems with uncertain mathematical models. The simulation results demonstrated the self-adaptive ability, robustness and efficiency of the proposed method. Key words:nonlinear system;predictive control;Levenberg-Marquardt algorithm;particle swarm optimization algorithm;back propagation neural network 文章編號:1007-9432(2016)02-0207-05 *收稿日期:2015-09-30 基金項目:國家自然科學(xué)基金資助項目:改善電液伺服系統(tǒng)動態(tài)特性的雙自由度回路原理及控制方法(51075291) 作者簡介:王炳萱(1990-),女,太原人,碩士生,主要從事預(yù)測控制、智能控制理論及其應(yīng)用研究,(E-mail)wangbingxuan0503@163.com通訊作者:李國勇,教授,主要從事預(yù)測控制、故障診斷和智能控制理論與應(yīng)用等研究,(E-mail)tygdlgy@163.com 中圖分類號:TP273 文獻標識碼:A DOI:10.16355/j.cnki.issn1007-9432tyut.2016.02.016





