王 鵬, 龔瑞昆
(華北理工大學(xué)電氣工程學(xué)院,河北唐山 063210)
溫室系統(tǒng)是一個復(fù)雜的多變量系統(tǒng),具有時變性、時滯性、非線性等特點,且多種變量之間有著相互耦合的關(guān)系。隨著社會的發(fā)展,對溫室控制的要求也逐漸提高,但是對于溫室系統(tǒng)的研究還處于基礎(chǔ)階段,大量應(yīng)用于工業(yè)的技術(shù)并沒有在農(nóng)業(yè)中得到應(yīng)用,使得溫室系統(tǒng)的控制無法跟上當(dāng)前技術(shù)發(fā)展的水平。目前,對于溫室的控制研究主要集中在對溫室中某一單一變量的精確控制上,如雷勇等主要通過運用新的智能算法優(yōu)化對溫室系統(tǒng)的溫度進(jìn)行控制,使溫度這一大慣性、非線性變量的控制精度和穩(wěn)定性有所提高,對植物生長環(huán)境的優(yōu)化改進(jìn)發(fā)揮了有利影響[1-3]。季宇寒等針對溫室中的CO2濃度進(jìn)行研究,通過調(diào)節(jié)溫室中CO2的施用量,使CO2濃度維持在作物需求的合理范圍,從而增加溫室作物的產(chǎn)量[4-6]。朱舟等著重研究了光照度對溫室作物生長的影響,通過建立溫室補光模型,合理調(diào)控溫室的光照需求[7-8]。溫室系統(tǒng)是一個多變量耦合系統(tǒng),溫度、濕度、CO2濃度、光照度等變量之間相互耦合,某一變量的變動就會對其他變量造成影響,所以針對單一變量控制的研究,無法同時滿足變量之間的協(xié)調(diào)控制,文獻(xiàn)[9-10]分別通過模糊控制和基于改進(jìn)遺傳算法的模糊神經(jīng)網(wǎng)絡(luò)對溫濕度進(jìn)行解耦控制研究。為了解決溫室溫濕度耦合問題,本研究提出基于粒子群優(yōu)化(PSO)算法的比例-積分-微分神經(jīng)元網(wǎng)絡(luò)PIDNN,溫室系統(tǒng)解耦控制方法。
比例-積分-微分(PID)神經(jīng)元網(wǎng)絡(luò)不是單純地將PID與神經(jīng)網(wǎng)絡(luò)相結(jié)合,而是通過將PID的控制規(guī)律與神經(jīng)網(wǎng)絡(luò)的優(yōu)點相結(jié)合,形成的一種新型改進(jìn)神經(jīng)元網(wǎng)絡(luò)。它既具有常規(guī)PID控制器控制規(guī)律簡單易用的優(yōu)點,同時又具有神經(jīng)網(wǎng)絡(luò)非線性映射能力,舒懷林對PID神經(jīng)元網(wǎng)絡(luò)(PIDNN)進(jìn)行了詳細(xì)描述[11]。
考慮到研究對象是多輸入多輸出系統(tǒng),所以選用多輸出PID神經(jīng)元網(wǎng)絡(luò)(MPIDNN),其為2n×3n×m形式的網(wǎng)絡(luò)(圖1),可見針對m輸入n輸出的控制對象,采用n個單輸出PID神經(jīng)元網(wǎng)絡(luò)(SPIDNN)單元,輸入層有2n個輸入節(jié)點,每個子網(wǎng)輸入某一單變量的給定值和控制對象輸出值,通過隱含層動態(tài)運算,匯聚到輸出層中,輸出層有m個節(jié)點,通過控制研究對象的控制輸入,使研究對象達(dá)到控制要求。
1.3.1 輸入層計算 輸入層的神經(jīng)元數(shù)為2n個,各神經(jīng)元結(jié)構(gòu)相同,因此每個神經(jīng)元的輸入輸出相等,即
(1)
式中:rn(k)表示控制系統(tǒng)的輸入目標(biāo)值;yn(k)表示控制系統(tǒng)的輸出值;netni(k)表示輸入層第i個神經(jīng)元的輸入值總和,i表示子網(wǎng)絡(luò)中輸入層序號(i=1,2);n表示第n個子網(wǎng)絡(luò)的序號;k為迭代次數(shù)。
神經(jīng)元的狀態(tài)為
uni(k)=netni(k)。
(2)
式中:uni(k)表示第n個子網(wǎng)絡(luò)中輸入層第i個神經(jīng)元的狀態(tài)。
由此可得,輸入層神經(jīng)元的輸出
(3)
式中:xni(k)表示第n個子網(wǎng)絡(luò)中輸入層第i個神經(jīng)元的的輸出值。
1.3.2 隱含層計算 隱含層各神經(jīng)元的總輸入為
(4)
隱含層不同于輸入層,每個子網(wǎng)絡(luò)的隱含層都由3種不同的神經(jīng)元組成,這3種神經(jīng)元結(jié)合PID的控制規(guī)律,將PID的比例運算、積分運算和微分運算規(guī)律按照神經(jīng)元網(wǎng)絡(luò)的轉(zhuǎn)換規(guī)則融入到神經(jīng)元中,其轉(zhuǎn)換后的形式既保留了PID的特性,又包含了神經(jīng)網(wǎng)絡(luò)的動態(tài)優(yōu)化特點,這3種神經(jīng)元狀態(tài)分別為
比例元:
(5)
積分元:
(6)
微分元:
(7)
隱含層各神經(jīng)元的輸出相同,其形式為
(8)
1.3.3 輸出層計算 針對n輸入m輸出的PIDNN控制器,輸出層共有m個神經(jīng)元,通過隱含層輸出值以及隱含層和輸出層之間的權(quán)值運算,可得各輸出層神經(jīng)元總輸入為
(9)
輸出神經(jīng)元的狀態(tài)表示為
(10)
輸出層各神經(jīng)元的輸出值,也是系統(tǒng)所須控制的控制對象的控制輸入值,兩者之間是等價的關(guān)系,表示為
(11)
1.3.4 目標(biāo)函數(shù)的計算 PID神經(jīng)元網(wǎng)絡(luò)控制的目標(biāo)是使控制對象的輸出值根據(jù)目標(biāo)值變動,并盡可能的接近目標(biāo)值,PIDNN控制器達(dá)到目標(biāo)的途徑就是使各神經(jīng)元間的權(quán)值最合適,且使控制量和目標(biāo)值的差距逐漸縮小,其目標(biāo)函數(shù)設(shè)置為[12]
(12)
按梯度下降法調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)的權(quán)值,反向修正各權(quán)值的大小,首先須要計算隱含層至輸出層的權(quán)值,其逐步迭代更新的公式為
(13)
式中:η表示學(xué)習(xí)速率。
然后計算輸入層至隱含層的權(quán)值,其逐步迭代更新的公式為
(14)
在溫室系統(tǒng)中,與溫度、濕度相關(guān)的控制量有很多,影響兩者的主要因素是加熱、加濕和通風(fēng),針對北方的日光溫室,主要考慮冬季環(huán)境,溫室溫度的增加主要依靠加熱系統(tǒng),降溫可以通過通風(fēng)形成空氣對流和水分蒸發(fā)來實現(xiàn);濕度對溫室中作物的生長也很重要,可以通過加濕器或濕簾水分蒸發(fā)增加濕度,溫度升高也會使水分蒸發(fā)加劇,由于溫室外濕度一般低于室內(nèi),因此降濕也可以通過通風(fēng)實現(xiàn)。
綜上可知,控制對象是一個3輸入2輸出的形式,控制輸入包括加溫、加濕和通風(fēng),控制輸出包括溫度和濕度,輸入和輸出之間形成相互耦合的關(guān)系。將MPIDNN控制器和控制對象結(jié)合,形成一個閉環(huán)控制系統(tǒng)(圖2)。
由圖2可知,MPIDNN控制器是一個4輸入3輸出的神經(jīng)網(wǎng)絡(luò),其輸入端r1、y1表示溫度的目標(biāo)值和實際值,r2、y2表示濕度的目標(biāo)值和實際值,神經(jīng)網(wǎng)絡(luò)的輸出值u1、u2、u3是控制對象的控制量,分別表示加溫、加濕、通風(fēng)。目前針對溫室系統(tǒng)的模型研究,應(yīng)用較廣泛的是Albright提出的模型[13-14]:
(15)
式中:Tin、Tout分別表示室內(nèi)外溫度,℃;Hin、Hout分別表示室內(nèi)外濕度,kg/m3;ρ表示正常環(huán)境下溫室系統(tǒng)內(nèi)的空氣密度,kg/m3,通常取值為1.2 kg/m3;Cp表示溫室內(nèi)空氣比熱容,kJ/(kg·℃),通常取值為1.03 kJ/(kg·℃);V表示溫室單位面積上的等效體積,單位為m3/m2;Qheater表示加熱速率,J/(m2·s);Qfog表示噴霧速率,kg/(m2·s);Iin表示溫室內(nèi)吸收的太陽輻射,W/m2;φvent表示通風(fēng)速率,m3/(m2·s);Ke表示室內(nèi)外空氣傳遞系數(shù),W/(m2·K);E表示蒸發(fā)蒸騰速率,kg/(m2·s);λ表示水蒸發(fā)系數(shù);α、βT分別表示比例系數(shù)。
該模型考慮到溫室系統(tǒng)中加熱、噴霧、通風(fēng)對系統(tǒng)溫濕度的影響,還包括光照等因素的影響,為了便于研究,對模型的等式方程(15)進(jìn)行分析歸納,可以得出3輸入2輸出溫室系統(tǒng)的簡化模型,其形式為
(16)
粒子群優(yōu)化算法是一種新的進(jìn)化算法(EA),具有參數(shù)少、易理解、易實現(xiàn)的優(yōu)點,且有較強的全局搜索能力,是一種很好的優(yōu)化工具[15]。
粒子群優(yōu)化算法運算,首先要對選定的自變量進(jìn)行初始化,即選定一群隨機解,然后通過多次迭代找到目標(biāo)的最優(yōu)解。在算法的迭代優(yōu)化運算中,須要通過一定的方式來進(jìn)行自我更新,這涉及到2個極值,分別是個體極值和全局極值,個體極值就是在粒子搜尋最優(yōu)解過程中自我記憶和當(dāng)前速度對粒子的影響,通過自身找到的最優(yōu)解;全局極值是粒子受到整個群體的影響,整個粒子群在整個群體中找到的最優(yōu)解。
在運用粒子群算法優(yōu)化時,通過找到2個最優(yōu)位置,即個體極值和全局極值,迭代更新粒子速度和位置,迭代規(guī)律根據(jù)公式(17)進(jìn)行。
(17)
式中:vid表示粒子的速度;xid表示粒子的位置;pid表示粒子的個體極值;pgd表示粒子的全局極值;w表示慣性權(quán)重;r1、r2表示加速度權(quán)重系數(shù);c1、c2表示學(xué)習(xí)因子。
PIDNN是神經(jīng)網(wǎng)絡(luò)的一種進(jìn)化形式,具有常規(guī)PID和神經(jīng)網(wǎng)絡(luò)兩者的優(yōu)點,同時也是有神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)速率低、收斂速度慢的缺點,為了滿足更高的控制要求,須要提前將神經(jīng)網(wǎng)絡(luò)的各項權(quán)值進(jìn)行優(yōu)化。本研究提出的MPIDNN控制器是一個4輸入3輸出的神經(jīng)元網(wǎng)絡(luò),網(wǎng)絡(luò)中包括從輸入層到隱含層的12個權(quán)值以及從隱含層到輸出層的18個權(quán)值,共須優(yōu)化的權(quán)值為30個,因此首先須要PSO算法優(yōu)化的是一個30維函數(shù)。
通過PSO算法將PIDNN的30個權(quán)值進(jìn)行優(yōu)化,運算出合適的權(quán)值作為MPIDNN控制器的初始值,通過給定控制器輸入值,將輸出的輸出值作為控制對象的輸入值,對溫室系統(tǒng)模型進(jìn)行調(diào)節(jié),使系統(tǒng)的溫濕度狀態(tài)維持在理想的范圍內(nèi)。
對基于PSO的PIDNN進(jìn)行仿真試驗,將粒子群種群數(shù)設(shè)置為100個,迭代次數(shù)設(shè)置為200次,自變量個體數(shù)設(shè)置為30個,粒子群的學(xué)習(xí)因子設(shè)置為c1=c2=1.494 45。MPIDNN控制器的輸入設(shè)置為r1(k)=0.5,r2(k)=0.7。應(yīng)用公式(14)的簡化模型方程可得仿真結(jié)果。
由圖3可知,迭代到第36次時,找到最優(yōu)值。圖4、圖5分別表示控制系統(tǒng)的2個輸出值和控制器的3個輸出值,亦是溫室系統(tǒng)的狀態(tài)值和控制對象的輸入值,虛線表示PIDNN為控制器時的系統(tǒng)狀態(tài),實線代表PSO-PIDNN為控制器時的系統(tǒng)狀態(tài),2種控制器相比,經(jīng)過PSO優(yōu)化的控制器快速響應(yīng)性好和穩(wěn)定性高,解耦效果較突出。圖6是控制系統(tǒng)的控制誤差曲線,表示控制系統(tǒng)輸出量和輸入量之間關(guān)系,通過曲線可以看出,經(jīng)過PSO優(yōu)化的PID神經(jīng)元網(wǎng)絡(luò)控制器對于系統(tǒng)的優(yōu)化,具有更好的控制作用,控制性能更加良好。
本研究通過探討溫室系統(tǒng)控制對象中的溫濕度耦合狀態(tài),并分析控制輸入和控制輸出之間相互耦合,提出基于PSO算法的PID神經(jīng)元網(wǎng)絡(luò)控制模型,通過PID神經(jīng)元網(wǎng)絡(luò)控制器可以解決常規(guī)PID無法解決的耦合問題,且運用神經(jīng)網(wǎng)絡(luò)的自適應(yīng)性能夠動態(tài)修正網(wǎng)絡(luò)權(quán)值,考慮到PID神經(jīng)元網(wǎng)絡(luò)初始權(quán)值的隨機性,首先通過PSO算法對PID神經(jīng)元網(wǎng)絡(luò)權(quán)值進(jìn)行優(yōu)化,仿真結(jié)果表明,本研究提出的方法使溫室系統(tǒng)溫濕度解耦效果明顯,且系統(tǒng)穩(wěn)定性、快速性都有明顯提高,控制系統(tǒng)的魯棒性增加,該方法對于溫室系統(tǒng)的多輸入多輸出模型有很好的解耦能力,是一種有效的策略。