王炳萱,李國(guó)勇,王艷暉
(太原理工大學(xué) 信息工程學(xué)院,太原 030024)
?
基于LM-PSO算法和BP神經(jīng)網(wǎng)絡(luò)的非線性預(yù)測(cè)控制
王炳萱,李國(guó)勇,王艷暉
(太原理工大學(xué) 信息工程學(xué)院,太原 030024)
摘要:針對(duì)非線性系統(tǒng),提出了一種基于BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)控制方法。以BP神經(jīng)網(wǎng)絡(luò)建立多步預(yù)測(cè)模型并預(yù)測(cè)系統(tǒng)輸出值,用LM (Levenberg-Marquardt)算法和PSO(Particle Swarm Optimization)算法組合的混合算法對(duì)目標(biāo)性能指標(biāo)函數(shù)進(jìn)行滾動(dòng)優(yōu)化求解,得到非線性系統(tǒng)的最優(yōu)控制量;利用誤差修正參考輸入法實(shí)現(xiàn)反饋矯正。通過(guò)將粒子群算法引入LM算法,克服了LM算法依賴初值和粒子群算法過(guò)早收斂于局部極值的問(wèn)題,提高了求解的運(yùn)行速度和精確度。通過(guò)對(duì)單變量非線性系統(tǒng)仿真實(shí)驗(yàn),證明了該控制系統(tǒng)具有良好的穩(wěn)定性、自適應(yīng)性和魯棒性。該方法可在數(shù)學(xué)模型不確定的情況下設(shè)計(jì)出有效的預(yù)測(cè)控制器。
關(guān)鍵詞:非線性系統(tǒng);預(yù)測(cè)控制;LM算法;粒子群算法;BP神經(jīng)網(wǎng)絡(luò)
模型預(yù)測(cè)控制(Model Predictive Control,MPC)最初提出時(shí)針對(duì)的是線性系統(tǒng),用線性模型對(duì)對(duì)象進(jìn)行預(yù)測(cè),而用線性模型優(yōu)化處理具有強(qiáng)非線性的對(duì)象時(shí)會(huì)使得輸出預(yù)測(cè)與實(shí)際結(jié)果存在較大偏差,從而失去最佳的控制效果[1-2]。近年來(lái),國(guó)內(nèi)外許多專家學(xué)者針對(duì)非線性系統(tǒng)的本質(zhì)特點(diǎn),提出許多預(yù)測(cè)模型,文獻(xiàn)[3-4]提出了Wiener模型,文獻(xiàn)[5-6]提出了Hammerstein模型,但上述模型只適用于某些特定場(chǎng)合,辨識(shí)難度較大,并具有一定的約束性。本文選用BP神經(jīng)網(wǎng)絡(luò)(Back Propagation neural network)作為預(yù)測(cè)模型。BP神經(jīng)網(wǎng)絡(luò)實(shí)質(zhì)功能為輸入到輸出的映射,具有良好的泛化能力,在選取合適的隱含層和隱節(jié)點(diǎn)時(shí)可以實(shí)現(xiàn)任何復(fù)雜的非線性映射關(guān)系[7]。
滾動(dòng)優(yōu)化是預(yù)測(cè)控制的重要組成部分,其通過(guò)反復(fù)優(yōu)化目標(biāo)函數(shù)從而求取最優(yōu)控制量[8]。文獻(xiàn)[9-10]采用LM算法求解控制量。LM算法收斂速度快、穩(wěn)定性強(qiáng),且避免陷入局部極值,可有效地求解優(yōu)化目標(biāo)函數(shù),但其也存在過(guò)于依賴初值的問(wèn)題[11-12]。
針對(duì)上述問(wèn)題,筆者利用粒子群算法的簡(jiǎn)單易行且可調(diào)參數(shù)較少等優(yōu)點(diǎn),將其引入LM算法,解決了LM算法對(duì)初值的依賴問(wèn)題,提高了算法的精確度。該非線性系統(tǒng)預(yù)測(cè)控制方法以BP神經(jīng)網(wǎng)絡(luò)對(duì)非線性系統(tǒng)進(jìn)行建模,LM-PSO算法對(duì)目標(biāo)性能函數(shù)進(jìn)行滾動(dòng)優(yōu)化求解最優(yōu)控制量。仿真結(jié)果表明,LM-PSO-BP預(yù)測(cè)控制方法具有良好的控制性能。
1神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型
將如下單輸入單輸出(SISO)非線性離散系統(tǒng)作為被控系統(tǒng)[13]:
(1)
式中:n為系統(tǒng)輸出y(t) 的階次;m為系統(tǒng)輸入u(t)的階次;d+1為系統(tǒng)的時(shí)滯;f為非線性函數(shù)。
選用3層BP神經(jīng)網(wǎng)絡(luò)來(lái)建立非線性系統(tǒng)預(yù)測(cè)模型,可表示為:
(2)
式中:ym為預(yù)測(cè)模型輸出值;wi為隱含層神經(jīng)元與輸入層神經(jīng)元之間的連接權(quán)值;wij為輸出層神經(jīng)元與隱含層神經(jīng)元之間的連接權(quán)值;p為輸入層節(jié)點(diǎn)數(shù);1為輸出層節(jié)點(diǎn)數(shù);q為隱含層神經(jīng)元個(gè)數(shù);g(·)為激活函數(shù),選取Sigmoid型激活函數(shù)
為得到對(duì)未來(lái)的多步預(yù)測(cè)輸出,對(duì)式(2)中的預(yù)測(cè)模型的基礎(chǔ)上建立多個(gè)簡(jiǎn)單的BP神經(jīng)網(wǎng)絡(luò),第l個(gè)BP神經(jīng)網(wǎng)絡(luò)可表示為:
(3)
2反饋校正
由于對(duì)象和環(huán)境等因素存在隨機(jī)性和不確定性,在t時(shí)刻實(shí)施控制后,被控對(duì)象的實(shí)際輸出y(t)與預(yù)測(cè)模型輸出ym(t)之間可能存在一定偏差,因此形成預(yù)測(cè)誤差:
(4)
此誤差經(jīng)過(guò)加權(quán)后對(duì)系統(tǒng)未來(lái)的輸出進(jìn)行預(yù)測(cè),表示為:
(5)
式中,h=[h1,h2,…,hp]T為反饋校正矢量,h1=1.
3滾動(dòng)優(yōu)化
構(gòu)造目標(biāo)性能函數(shù)如下:
(6)
(7)
式中:簡(jiǎn)化加權(quán)系數(shù)λ(j)為λ(常數(shù));α為柔化系數(shù),0<α<1;yn為實(shí)測(cè)模型輸出值;yr為系統(tǒng)給定值;ye(k+j)為期望輸出序列。
通過(guò)求解Jmin來(lái)確定最優(yōu)控制增量,使系統(tǒng)在未來(lái)n(p≥n≥m)個(gè)時(shí)刻系統(tǒng)實(shí)際輸出值盡可能接近系統(tǒng)期望值。
3.1LM算法
LM算法是梯度下降法與Gauss-Newton法的結(jié)合。當(dāng)μ增大時(shí),算法與梯度下降法相似,發(fā)揮其全局特性;當(dāng)μ減小時(shí),算法接近Gauss-Newton法,發(fā)揮其局部收斂特性[14]。LM算法采用近似的二階導(dǎo)數(shù)信息,所需迭代時(shí)間較少,收斂非常迅速,算法穩(wěn)定性較好,避免陷入局部最小值。其迭代公式為
(8)
式中:uk為第k次迭代時(shí)控制輸入序列;uk+1為新一時(shí)刻的控制輸入序列;μ是阻尼因子;ek為誤差;E(u)為誤差函數(shù);A(uk)是Jacobian矩陣。
(9)
(10)
3.2粒子群算法
通過(guò)模擬研究鳥(niǎo)群捕食的過(guò)程,KENNEDY和EBERHART提出了粒子群(PSO)優(yōu)化算法。由于PSO算法操作簡(jiǎn)單易行,需調(diào)參數(shù)較少,尤其適用于求解復(fù)雜非線性問(wèn)題[15]。
粒子速度和位置的更新公式如下:
(11)
(12)
式中:i=1,2,…,N;d=1,2,…,D;c1,c2為加速因子,通常取c1=c2;r1和r2為[0,1]區(qū)間內(nèi)的隨機(jī)數(shù);w為慣性權(quán)重,w=w1-(w1-w2)k/kmax,w1為初始慣性權(quán)重,w2為終止慣性權(quán)重,kmax為最大迭代次數(shù);l為速度約束因子。
為防止粒子在搜索過(guò)程中因搜索空間范圍過(guò)大而導(dǎo)致粒子發(fā)散,將限制粒子的速度、位置在區(qū)間[vmin,vmax],[xmin,xmax]之內(nèi)。
3.3LM-PSO算法
將LM算法和PSO算法組合提出了LM-PSO算法。LM-PSO算法利用了LM算法在接近局部極小值時(shí)收斂速度快、搜索精度高等優(yōu)點(diǎn),和PSO算法的全局快速收斂能力,并克服了LM算法過(guò)于依賴初值和PSO算法易陷入局部極值的缺點(diǎn)。
先利用PSO算法對(duì)目標(biāo)性能函數(shù)進(jìn)行求解得到一個(gè)優(yōu)化控制量結(jié)果即群體最優(yōu)解,將該結(jié)果作為L(zhǎng)M算法的初始值,反復(fù)迭代得到符合條件的最優(yōu)解即最優(yōu)控制量。算法步驟如下:
1) 初始化粒子群中的參數(shù),將待優(yōu)化控制量uk設(shè)為初始粒子。設(shè)置每個(gè)粒子當(dāng)前最優(yōu)位置為pi,當(dāng)前全體粒子中的最優(yōu)位置為pg,即pg=pimin.
2) 根據(jù)式(11)、式(12)更新粒子的速度和位置,計(jì)算各粒子的適應(yīng)度值,記錄個(gè)體極值pi和群體極值pg.
3) 將每個(gè)粒子的當(dāng)前位置與pi相比較,若優(yōu)于pi,則對(duì)pi進(jìn)行更新;否則,pi保持不變。
4) 將每個(gè)粒子的當(dāng)前pi與pg相比較,若優(yōu)于pg,則對(duì)pg進(jìn)行更新;否則,pg保持不變。
5) 若滿足終止條件達(dá)到最大迭代次數(shù),則終止迭代,pg為群體最優(yōu)解,即當(dāng)前最優(yōu)控制量;否則,返回步驟2) .
6) 給出訓(xùn)練誤差允許值e,β,μ0,令k=0,μ=μ0.將由PSO算法得到的群體最優(yōu)解pg作為L(zhǎng)M算法的初值u0.
7) 由式(8)計(jì)算k+1時(shí)刻控制量uk+1,由式(3)和式(4)計(jì)算目標(biāo)函數(shù)值Jk+1.
8) 按式(9)計(jì)算Jacobian矩陣A(u) .
9) 若E(uk)<ε,uk為最優(yōu)控制量,轉(zhuǎn)至步驟11);否則,以u(píng)k+1為新的初值計(jì)算誤差指標(biāo)函數(shù)E(uk+1)=uk+1E(uk) .
10) 若E(uk+1) 11) 停止。 4預(yù)測(cè)控制結(jié)構(gòu)圖 預(yù)測(cè)控制結(jié)構(gòu)圖如圖1所示。針對(duì)非線性被控對(duì)象,以BP神經(jīng)網(wǎng)絡(luò)建立多步預(yù)測(cè)模型并預(yù)測(cè)系統(tǒng)輸出值ym,通過(guò)反饋校正減小預(yù)測(cè)誤差e,利用LM-PSO算法對(duì)目標(biāo)性能函數(shù)J進(jìn)行滾動(dòng)優(yōu)化,求解出最優(yōu)控制量uk,從而實(shí)現(xiàn)對(duì)非線性系統(tǒng)的預(yù)測(cè)控制。 圖1預(yù)測(cè)控制結(jié)構(gòu)圖Fig.1 Block diagram of predictive control 5仿真分析 非線性對(duì)象數(shù)學(xué)模型描述如下: (13) 產(chǎn)生一組均勻分布的隨機(jī)序列作為輸入,將300組數(shù)據(jù)用于離線建模,前200組數(shù)據(jù)用于訓(xùn)練神經(jīng)網(wǎng)絡(luò),后100數(shù)據(jù)用于測(cè)試。 圖2 BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果Fig.2 Prediction results of BP neural network 從圖2所示的預(yù)測(cè)結(jié)果計(jì)算得到,其平均絕對(duì)誤差為0.010 4,最大絕對(duì)誤差為0.032 2,表明該模型預(yù)測(cè)精確度較高。 以方波信號(hào)作為輸入進(jìn)行仿真,頻率為10Hz.在進(jìn)行預(yù)測(cè)控制時(shí),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.同時(shí)采用如下3個(gè)性能指數(shù)來(lái)評(píng)價(jià)控制方法的跟蹤性能:均方根誤差(ERMS),平均絕對(duì)誤差(EAA),最大絕對(duì)誤差(EMA): (14) (15) (16) 式中:N為步長(zhǎng);yi為第i步的實(shí)際輸出值;yri為第i步的系統(tǒng)給定值。 為驗(yàn)證本文提出的預(yù)測(cè)控制方法的有效性,并檢驗(yàn)該方法在模型失配情況下的控制效果,在k=120時(shí)改變非線性對(duì)象模型為: (17) 其控制結(jié)果如圖3所示,模型失配前后性能指標(biāo)對(duì)比結(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)到達(dá)穩(wěn)態(tài);但LM-PSO-BP比LM-BP和PSO-BP表現(xiàn)出更快的響應(yīng)速度、更少的超調(diào)時(shí)間和更準(zhǔn)確的控制精度,且與其他兩種方法相比,LM-PSO-BP的實(shí)際輸出值與預(yù)測(cè)輸出值之間的誤差更小。證明LM-PSO-BP具有更好的目標(biāo)函數(shù)優(yōu)化能力。 由表2可知,在k=120時(shí),系統(tǒng)模型失配后,LM-PSO-BP的控制量迅速發(fā)生改變并達(dá)到狀態(tài),其所需調(diào)整步數(shù)明顯優(yōu)于LM-BP和PSO-BP,且性能指標(biāo)ERMA,EAE和EMA均低于其他兩種方法。實(shí)驗(yàn)證明,基于LM-PSO-BP的預(yù)測(cè)控制方法能夠很快消除干擾帶來(lái)的影響,使系統(tǒng)更快更好地達(dá)到穩(wěn)定狀態(tài)。 為驗(yàn)證本文方法的抗噪聲干擾能力,在k=120時(shí)給系統(tǒng)施加一個(gè)干擾信號(hào),即d(120)=0.2,控制結(jié)果和誤差如圖4所示,性能指標(biāo)對(duì)比結(jié)果如表3所示。 圖4 加入干擾信號(hào)的系統(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)在加入干擾信號(hào)后,LM-PSO-BP的響應(yīng)速度、超調(diào)時(shí)間、與系統(tǒng)預(yù)測(cè)輸出值之間的訓(xùn)練誤差等均優(yōu)于LM-BP和PSO-BP,證明LM-PSO-BP具有更好的抗干擾能力。 仿真結(jié)果表明,在系統(tǒng)模型失配或加入干擾信號(hào)的情況下,本文提出的LM-PSO-BP預(yù)測(cè)控制方法表現(xiàn)出良好的抗干擾性,具有較好的綜合性能。 6結(jié)論 針對(duì)非線性系統(tǒng),提出了一種基于BP神經(jīng)網(wǎng)絡(luò)和LM-PSO算法的新型預(yù)測(cè)控制方法。該方法中,以BP神經(jīng)網(wǎng)絡(luò)建立非線性對(duì)象預(yù)測(cè)模型,利用LM-PSO算法進(jìn)行滾動(dòng)優(yōu)化求解目標(biāo)性能函數(shù),得出最優(yōu)控制量后進(jìn)行反饋校正。利用PSO算法操作簡(jiǎn)單,需調(diào)參數(shù)較少等優(yōu)點(diǎn),先得出一個(gè)最優(yōu)解,并以此作為L(zhǎng)M算法的初始值,解決了LM算法依賴初值的問(wèn)題;并結(jié)合LM算法的快速收斂性,提高了全局尋優(yōu)能力。通過(guò)對(duì)非線性系統(tǒng)的仿真研究,驗(yàn)證了該預(yù)測(cè)控制方法具有較好的控制性能,可有效應(yīng)用于非線性系統(tǒng)中。 參考文獻(xiàn): [1]席裕庚.預(yù)測(cè)控制:第2版[M].北京:國(guó)防工業(yè)出版社,2013:130-134. [2]LEEJH.Modelpredictivecontrol:reviewofthethreedecadesofdevelopment[J].InternationalJournalofControl,AutomationandSystems,2011,9(3):415-424. [3]李妍,毛志忠,王琰,等.基于多面體終端域的Hammerstein-Wiener非線性預(yù)測(cè)控制[J].自動(dòng)化學(xué)報(bào),2011,37(5):629-638. [4]吳德會(huì).非線性動(dòng)態(tài)西東的Wiener神經(jīng)網(wǎng)絡(luò)辨識(shí)法[J].控制理論與應(yīng)用,2009,26(11):1192-1196. [5]靳起兵,楊瑞賡,王珠,等.一類統(tǒng)一非線性的Hammerstein模型辨識(shí)方法研究[J].系統(tǒng)仿真學(xué)報(bào),2011,26(12):2887-2891. [6]LUCH.Waveletfuzzyneuralnetworksforidentificationandpredictivecontrolofdynamicsystems[J].IEEETransIndElectron,2011,58(7):3046-3058. [7]李松,劉力軍,解永樂(lè).遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的短時(shí)交通流混沌預(yù)測(cè)[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]王鈺,郭其一,李維剛.基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型及其應(yīng)用[J].計(jì)算機(jī)測(cè)量與控制,2005,13(1):39-42. [11]韓敏,穆大蕓.回聲狀態(tài)網(wǎng)絡(luò)LM算法及其混沌時(shí)間序列預(yù)測(cè)[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ù)測(cè)控制[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. (編輯:劉笑達(dá)) 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 文章編號(hào):1007-9432(2016)02-0207-05 *收稿日期:2015-09-30 基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目:改善電液伺服系統(tǒng)動(dòng)態(tài)特性的雙自由度回路原理及控制方法(51075291) 作者簡(jiǎn)介:王炳萱(1990-),女,太原人,碩士生,主要從事預(yù)測(cè)控制、智能控制理論及其應(yīng)用研究,(E-mail)wangbingxuan0503@163.com通訊作者:李國(guó)勇,教授,主要從事預(yù)測(cè)控制、故障診斷和智能控制理論與應(yīng)用等研究,(E-mail)tygdlgy@163.com 中圖分類號(hào):TP273 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.16355/j.cnki.issn1007-9432tyut.2016.02.016