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