朱 林,吳冬雪,趙 倩
ZHU Lin1, WU Dong-xue1, ZHAO Qian2
(1. 內(nèi)蒙古科技大學(xué) 信息工程學(xué)院,包頭 014010;2. 中海石油海南天然氣有限公司,???578001)
以多變量、強(qiáng)耦合、非線性為特點(diǎn)的復(fù)雜工業(yè)過程控制,一直是控制理論與控制工程領(lǐng)域的研究熱點(diǎn)和前沿。復(fù)雜工業(yè)過程控制由于數(shù)學(xué)模型變量多、變量間耦合、非線性和高階,相應(yīng)控制器設(shè)計(jì)困難。
在工業(yè)控制中,PID控制一直是通用、有效的控制方法[1]。但是,面對(duì)多變量、強(qiáng)耦合、非線性為特點(diǎn)的復(fù)雜工業(yè)過程,PID控制效果會(huì)變差甚至不可控。神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的自學(xué)習(xí)、自適應(yīng)和任意非線性表達(dá)能力,近年來逐漸應(yīng)用于復(fù)雜系統(tǒng)的控制中。當(dāng)系統(tǒng)存在不確定性因素時(shí),更能體現(xiàn)神經(jīng)網(wǎng)絡(luò)的優(yōu)越性。文獻(xiàn)[2]以二變量耦合時(shí)變系統(tǒng)為對(duì)象,設(shè)計(jì)了一種PID神經(jīng)網(wǎng)絡(luò)模型。該模型與用神經(jīng)網(wǎng)絡(luò)對(duì)PID控制器參數(shù)進(jìn)行輔助修改的方法有本質(zhì)的區(qū)別[3,4]。應(yīng)用PID神經(jīng)網(wǎng)絡(luò)控制時(shí),無需為對(duì)象的參數(shù)和系統(tǒng)結(jié)構(gòu)進(jìn)行辨識(shí),可根據(jù)對(duì)象參數(shù)變化時(shí)對(duì)系統(tǒng)輸出的影響,“在線”地調(diào)整PID神經(jīng)網(wǎng)絡(luò)的權(quán)值,較好地解決了多變量、耦合系統(tǒng)的控制難題。
但是,PID神經(jīng)網(wǎng)絡(luò)中權(quán)值采用梯度學(xué)習(xí)算法,初始權(quán)值隨機(jī)給定,造成網(wǎng)絡(luò)權(quán)值修正較慢且容易陷入局部最優(yōu),為了達(dá)到滿意的訓(xùn)練效果,需要多次的給定,而給定的方法并不能保證每次給定均能達(dá)到期望控制效果[5]。為改善上述不足,筆者分析研究了用遺傳算法、蟻群算法等方法優(yōu)選PID神經(jīng)網(wǎng)絡(luò)的初始權(quán)值的可行性,研究發(fā)現(xiàn),遺傳算法對(duì)PID神經(jīng)網(wǎng)絡(luò)初始權(quán)值優(yōu)化效果較好。本文以三輸入、三輸出、非線性、耦合系統(tǒng)為控制對(duì)象,設(shè)計(jì)構(gòu)建了優(yōu)化初始權(quán)值的PID神經(jīng)網(wǎng)絡(luò)。同時(shí),為了提高PID神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)效率和預(yù)測(cè)精度,在網(wǎng)絡(luò)權(quán)值修正算法中加入了動(dòng)量項(xiàng)。MATLAB仿真結(jié)果證明:該方法在提高控制精度,精確解耦方面效果好。
設(shè)被控對(duì)象具有多變量、非線性、強(qiáng)耦合的性質(zhì),共有3個(gè)輸入,3個(gè)輸出,系統(tǒng)的傳遞函數(shù)如下:
其中非線性函數(shù)為:
由于該系統(tǒng)的特點(diǎn),采用傳統(tǒng)的PID控制器很難得到理想的控制效果。
根據(jù)上述被控對(duì)象特點(diǎn),PID神經(jīng)網(wǎng)絡(luò)解耦控制器設(shè)計(jì)為6×9×3的三層前向網(wǎng)絡(luò),即3個(gè)并列的子網(wǎng)絡(luò)??刂葡到y(tǒng)結(jié)構(gòu)如圖1所示。各層的輸入、輸出函數(shù)見文獻(xiàn)[6],本文不再贅述。
圖1中,xs1、xs2、xs3為系統(tǒng)被控量的給定值;u1、u2、u3為被控對(duì)象的輸入;y1、y2、y3為被控量當(dāng)前值;wsij為輸入層至隱含層的連接權(quán)值;w′sjh為隱含層至輸出層的連接權(quán)值;其中s為并列子網(wǎng)絡(luò)的序號(hào),s=1,2,3;i為輸入層神經(jīng)元序號(hào),i=1,2;j為隱含層神經(jīng)元序號(hào),j=1,2,3;h為輸出層神經(jīng)元序號(hào),h=1。
圖1 三變量PID神經(jīng)網(wǎng)絡(luò)解耦控制系統(tǒng)
為改善上述提出的PID神經(jīng)網(wǎng)絡(luò)不足,采用遺傳算法對(duì)PID神經(jīng)網(wǎng)絡(luò)初始權(quán)值進(jìn)行優(yōu)選,方法如下:
1)將網(wǎng)絡(luò)的權(quán)值用一組十進(jìn)制編碼的實(shí)數(shù)表達(dá)。任一組完整的權(quán)值相當(dāng)于一條染色體(WR= (wsij,wsjh)=(w1ij,w2ij,w3ij,w1jh,w2jh,w3jh)),本系統(tǒng)中網(wǎng)絡(luò)的初始權(quán)值共有45個(gè)。這樣的染色體共有R個(gè),即權(quán)值種群規(guī)模為R。
2)在遺傳算法中,適應(yīng)度函數(shù)為進(jìn)化目標(biāo),只能向適應(yīng)度值增大的方向進(jìn)化。在選擇運(yùn)算中,適應(yīng)度值較大的染色體有較大的存在機(jī)會(huì)。目標(biāo)函數(shù)為在進(jìn)化代中搜索網(wǎng)絡(luò)誤差最小的染色體。表達(dá)式如下:
由于網(wǎng)絡(luò)誤差是非零正數(shù),可將目標(biāo)函數(shù)的倒數(shù)作為適應(yīng)度函數(shù)。則其適應(yīng)度函數(shù)為:
其中,E(WR,t)為第t個(gè)進(jìn)化代染色體WR所具有的目標(biāo)函數(shù)。
3)遺傳算法
選擇運(yùn)算中,本研究采用基于適應(yīng)度比例的選擇策略,每個(gè)染色體選擇概率PR為:
PR=FR/∑FR,其中FR為種群中第R個(gè)染色體的適應(yīng)值。
交叉運(yùn)算中,本研究采用實(shí)數(shù)交叉法,設(shè)2個(gè)染色體為Wkj,Wlj,即第k個(gè)染色體和第l個(gè)染色體在j位交叉運(yùn)算后產(chǎn)生的新個(gè)體為[7]:
變異運(yùn)算中,采用非均勻變異操作,選取Wij即第i個(gè)染色體的第j個(gè)基因進(jìn)行變異[8],變異操作方法如下:
式中:Wmax、Wmin為染色體Wij的上下界;F(g)=r(1-g/Gmax),r為[0,1]間的隨機(jī)數(shù);g為當(dāng)前迭代次數(shù);Gmax是最大進(jìn)化次數(shù)。
為了保證算法的收斂性和收斂速度,同時(shí)防止出現(xiàn)早熟現(xiàn)象,對(duì)遺傳算法進(jìn)行了改進(jìn)。引入移民,在進(jìn)化過程中利用種群的標(biāo)準(zhǔn)均方差來衡量群體的早熟程度,一旦發(fā)現(xiàn)種群早熟,就按一定的規(guī)則產(chǎn)生一定數(shù)量的高品質(zhì)移民來替換種群中的劣質(zhì)個(gè)體[9],早熟判斷規(guī)則如下:
式中:E(t)為第t代種群中的均方差;Wi為種群中第i個(gè)染色體;Fav為當(dāng)前種群中的平均適應(yīng)度。
通過遺傳算法選出最優(yōu)的一組初始權(quán)值,賦值給網(wǎng)絡(luò)初始權(quán)值,然后PID神經(jīng)網(wǎng)絡(luò)通過對(duì)權(quán)值的不斷修正,使系統(tǒng)的輸出跟隨給定值變化。
在控制的過程中,PID神經(jīng)網(wǎng)絡(luò)根據(jù)控制量誤差按照梯度修正法修正權(quán)值,使控制量不斷接近控制目標(biāo)值,權(quán)值修正的過程如下。
目標(biāo)函數(shù):
式中:I為每批采樣點(diǎn)數(shù),I=100;n為被控變量個(gè)數(shù),n=3;xp為期望輸出;yp為系統(tǒng)實(shí)際輸出。
按照梯度下降法調(diào)節(jié)PID神經(jīng)網(wǎng)絡(luò)權(quán)值,經(jīng)k步訓(xùn)練和學(xué)習(xí)后的權(quán)值分別由以下各式確定[10]。
1)隱含層至輸出層的權(quán)值修正公式:
2)輸入層至隱含層的權(quán)值修正公式:
式中:xsi為輸入層神經(jīng)元的輸入值; v’sj為隱含層神經(jīng)元的輸出值;
為提高網(wǎng)絡(luò)學(xué)習(xí)效率,在式(8)基礎(chǔ)上增加了動(dòng)量項(xiàng),增加動(dòng)量項(xiàng)后,隱含層到輸出層權(quán)值算法和輸入層到隱含層權(quán)值算法如下:
在PID神經(jīng)網(wǎng)絡(luò)加入動(dòng)量項(xiàng)后,可以有效的調(diào)節(jié)網(wǎng)絡(luò)的收斂速度,起到緩沖與平滑的作用。
為驗(yàn)證上述遺傳算法優(yōu)化后的PID神經(jīng)網(wǎng)絡(luò)控制器對(duì)復(fù)雜耦合系統(tǒng)的解耦控制效果,本文使用Matlab軟件對(duì)式(1)所示的3輸入、3輸出多變量、非線性、強(qiáng)耦合系統(tǒng)進(jìn)行仿真。
遺傳算法中迭代數(shù)最大為截止條件。通過上述優(yōu)選方法的介紹,遺傳算法優(yōu)化初始權(quán)值流程如圖2所示。
圖2 遺傳算法優(yōu)化初始權(quán)值流程圖
按照流程圖編寫遺傳算法優(yōu)化初始權(quán)值的Matlab程序,通過遺傳算法優(yōu)化后的初始權(quán)值為W=[0.0122,-0.0685,1.0469,0.1986, 0.5529,0.1452,…,-2.0976,0.1492,0.2108],把遺傳算法優(yōu)化得到的最優(yōu)個(gè)體W賦值給PID神經(jīng)元網(wǎng)絡(luò)初始權(quán)值。設(shè)置網(wǎng)絡(luò)權(quán)值學(xué)習(xí)速度為0.005,控制間隔時(shí)間為0.001秒,PID神經(jīng)網(wǎng)絡(luò)的權(quán)值修正采用增加動(dòng)量項(xiàng)的權(quán)值修正算法如式(9)、式(10)。
系統(tǒng)給定輸入X為階躍信號(hào),即:
遺傳算法優(yōu)化前后的PID神經(jīng)網(wǎng)絡(luò)解耦控制系統(tǒng)對(duì)應(yīng)輸出響應(yīng)如圖3和圖4所示。
圖3 初始權(quán)值隨機(jī)選取的PID神經(jīng)網(wǎng)絡(luò)控制器控制效果
圖4 遺傳算法優(yōu)化的PID神經(jīng)網(wǎng)絡(luò)控制效果
網(wǎng)絡(luò)目標(biāo)函數(shù)(系統(tǒng)誤差均方值)動(dòng)態(tài)曲線如圖5和圖6所示。
圖5 優(yōu)化前網(wǎng)絡(luò)目標(biāo)函數(shù)曲線
圖6 優(yōu)化后網(wǎng)絡(luò)目標(biāo)函數(shù)曲線
響應(yīng)效果分析:
1)從圖3、4可知,優(yōu)化前后,系統(tǒng)的超調(diào)量都非常小。
2)圖3中顯示,PID神經(jīng)網(wǎng)絡(luò)控制器能夠控制多輸入、多輸出復(fù)雜耦合系統(tǒng),系統(tǒng)的實(shí)際輸出跟隨控制目標(biāo)變化,調(diào)節(jié)時(shí)間為0.12s。
3)圖4說明優(yōu)化后的PID神經(jīng)網(wǎng)絡(luò)能夠使系統(tǒng)保持較高的穩(wěn)態(tài)精度和較快的響應(yīng)速度,調(diào)節(jié)時(shí)間為0.02s。
4)分析圖5和圖6,優(yōu)化前后網(wǎng)絡(luò)誤差平方均值分別在0.09s、0.025s的時(shí)候接近0,說明優(yōu)化后的PID神經(jīng)網(wǎng)絡(luò)系統(tǒng)控制效果更佳,調(diào)節(jié)時(shí)間更短,具有更好的自學(xué)習(xí)、自適應(yīng)和解耦能力。
1)在工業(yè)生產(chǎn)過程中,對(duì)復(fù)雜耦合系統(tǒng)的控制,傳統(tǒng)PID控制難以達(dá)到控制要求。文中構(gòu)建的PID神經(jīng)元網(wǎng)絡(luò)基本消除了對(duì)象之間的耦合作用。
2)遺傳算法優(yōu)化后的PID神經(jīng)網(wǎng)絡(luò)系統(tǒng)響應(yīng)速度更快,控制精度更高。
3)基于遺傳算法的PID神經(jīng)網(wǎng)絡(luò)解耦控制,完全可以不依賴于對(duì)象模型,通過網(wǎng)絡(luò)的訓(xùn)練和學(xué)習(xí)實(shí)現(xiàn)多變量、非線性、強(qiáng)耦合系統(tǒng)的解耦。
[1]劉金琨.先進(jìn)PID控制及其MATLAB仿真 [M].北京:電子工業(yè)出版社,2003:1-4.
[2]舒懷林.PID神經(jīng)元網(wǎng)絡(luò)對(duì)強(qiáng)耦合帶時(shí)延多變量系統(tǒng)的解耦控制[J].控制理論與應(yīng)用,1998,15(6):920-924.
[3]廖芳芳,肖建.基于BP神經(jīng)網(wǎng)絡(luò)PID參數(shù)自整定的研究[J].系統(tǒng)仿真學(xué)報(bào),2005,17(7):1711 -1713.
[4]黃劍平.基于BP神經(jīng)網(wǎng)絡(luò)的PID控制研究[J].計(jì)算機(jī)仿真,2010,27(7):167-170.
[5]袁朝輝,張慧.多溫區(qū)電加熱爐的PID神經(jīng)網(wǎng)絡(luò)控制[J].計(jì)算機(jī)仿真,2010,27(12):176-180.
[6]舒懷林,李柱.基于PID神經(jīng)元多層網(wǎng)絡(luò)的多變量解耦控制系統(tǒng)[J].自動(dòng)化儀表.1998,19(3):24-27.
[7]李敏強(qiáng).遺傳算法的基本理論與應(yīng)用[M].北京:科學(xué)出版社.2004.
[8]李敏遠(yuǎn),都延麗.基于遺傳算法學(xué)習(xí)的復(fù)合神經(jīng)網(wǎng)絡(luò)自適應(yīng)溫度控制系統(tǒng)[J].控制理論與應(yīng)用,2004,21(2):242-246.
[9]歐陽森,王建華.一種新的改進(jìn)遺傳算法及其應(yīng)用[J].系統(tǒng)仿真學(xué)報(bào).2003,15(8):1066-1068.
[10]舒懷林.PID神經(jīng)元網(wǎng)絡(luò)及其控制系統(tǒng)[M].北京:國防工業(yè)出版社.2006.