張麗娜,魯旭濤 ,劉 昊 ,李 靜
(1.中北大學(xué) 信息與通信工程學(xué)院,太原 030051;2.中北大學(xué) 電氣與控制工程學(xué)院,太原 030051)
我國是一個農(nóng)業(yè)大國,農(nóng)田占地面積大,水資源作為生命的源泉,關(guān)系到農(nóng)業(yè)的發(fā)展,影響著人民的溫飽問題。根據(jù)最新數(shù)據(jù)統(tǒng)計顯示,2020年我國的耕地面積可達(dá)到18.65億畝,長期保護(hù)農(nóng)田面積達(dá)到15.46億畝,高標(biāo)準(zhǔn)的農(nóng)田面積至少要有8億畝并逐步發(fā)展為10億畝?!笆濉逼陂g,我國的灌溉技術(shù)不斷發(fā)展,農(nóng)田灌溉面積不斷擴(kuò)大,經(jīng)過改善后新增加了7500萬畝灌溉面積。我國實(shí)施了大量的節(jié)水政策,已經(jīng)取得較大成效,灌溉面積增加了1.2億畝,當(dāng)今農(nóng)業(yè)發(fā)展的關(guān)鍵是必須要有效落實(shí)耕地和灌溉用水措施,對同作物進(jìn)行合理化的管理。
因此,徐景輝等人提出了基于SOA算法實(shí)現(xiàn)了PID參數(shù)的自動優(yōu)化[1]。王磊提出了枚舉法和遺傳算法在農(nóng)田灌溉管道系統(tǒng)優(yōu)化設(shè)計[2]。安慶杰等人提出了基于改進(jìn)粒子群算法的兩級渠道水資源優(yōu)化配置。Alonso Campos提出了基于并行多目標(biāo)遺傳算法的灌溉調(diào)度實(shí)時能量優(yōu)化。Mohammad Ali Asgharzadeh提出了基于HADIS算法的灌溉調(diào)用系統(tǒng)。上述灌溉方法無法根據(jù)需水量得出灌溉時間,對此本文提出一種基于RBF神經(jīng)網(wǎng)絡(luò)模糊控制的灌溉決策系統(tǒng),以山西省忻州地區(qū)種植的玉米利合328號為例,進(jìn)行研究,相比傳統(tǒng)灌溉方式增加了產(chǎn)量。
為了保證灌溉的高效性和科學(xué)性,就了解作物的需水特性,農(nóng)作物需水量是在作物不受嚴(yán)重的病蟲毒害,正常的土壤狀況下的生長需水量。影響作物需水特性的條件主要分三大部分:氣象條件,土壤條件,作物自身的特性等。
氣象條件主要是氣溫、風(fēng)速大小、氣壓大小、空氣濕度等。這些因素會影響作物的蒸騰作用,風(fēng)速會影響空氣的溫濕度大小,進(jìn)而改變作物的蒸騰量。氣溫越高,空氣的水分越少,蒸騰作用越強(qiáng)。
表1 部分氣象數(shù)據(jù)表
土壤條件主要是土壤的種類、土壤的結(jié)構(gòu)、土壤的吸水性、地下水等。不同的土壤類型和土壤結(jié)構(gòu)會影響土壤滲透率,影響土壤的吸水性,進(jìn)而影響作物的吸水性。地下水量的大小會影響土壤的溫濕度。地下水位較高的地方可以適當(dāng)?shù)臏p少灌溉量。
作物特性主要是作物的吸水特性、作物生長的不同時期的需水量等。不同種類的作物、不同品種的作物以及不同生長周期的作物對水分的需求量不同。耐寒的作物需水量小,濕生的作物需水量相對較大。幼苗時期需水量大,成熟時期需水量小。
本文中控制的農(nóng)田面積為1畝,預(yù)測的農(nóng)作物種類是內(nèi)蒙古地區(qū)種植的玉米利合328號,該作物畝保苗5 500~6 000株,行距55 cm,株距20.2 cm為最佳生長環(huán)境。在進(jìn)行算法控制前,需要先根據(jù)氣象條件計算神經(jīng)網(wǎng)絡(luò)要預(yù)測的數(shù)據(jù),即利合玉米的需水量,再對RBF神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。本文利用參考作物蒸發(fā)量的大小來計算出作物需水量。
Q實(shí)=KCQ參
(1)
式(1)中,Q實(shí)指實(shí)際生長過程中作物的需水量;KC指作物系數(shù);Q參指參考作物需水量。
(2)
式(2)中,Rn指參考作物冠層表面接收的凈輻射;G土壤熱通量;γ指濕度計常數(shù);u2指離地面2 m高處的風(fēng)速;es指飽和水氣壓;ea指當(dāng)?shù)氐膶?shí)際水氣壓;Δ指平均氣溫時飽和水氣壓與溫度曲線斜率。
參考2019年7月和8月50天的數(shù)據(jù),計算出每日作物的需水量大小,部分氣象數(shù)據(jù)如表1所示,計算結(jié)果如圖1所示。
圖1 作物需水量計算結(jié)果
模糊系統(tǒng)與模糊神經(jīng)網(wǎng)絡(luò)二者互相聯(lián)系又互相獨(dú)立,模糊系統(tǒng)實(shí)現(xiàn)的結(jié)果就是模糊神經(jīng)網(wǎng)絡(luò),但是模糊神經(jīng)網(wǎng)絡(luò)有自己的特性。將模糊系統(tǒng)和神經(jīng)網(wǎng)絡(luò)結(jié)合起來可以構(gòu)成模糊神經(jīng)網(wǎng)絡(luò),將RBF網(wǎng)絡(luò)與模糊系統(tǒng)結(jié)合起來可以構(gòu)成模糊RBF網(wǎng)絡(luò)。
模糊RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)有四層,分別為:輸入層、模糊化層、模糊推理層和輸出層構(gòu)成。具體的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 模糊RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
模糊RBF網(wǎng)絡(luò)中信號傳播及各層的功能如下。
第一層:輸入層。
輸入層的節(jié)點(diǎn)與輸入的參數(shù)量之間直接建立聯(lián)系,將輸入量傳送到輸入層。傳輸節(jié)點(diǎn)的輸入和輸出之間的關(guān)系式為:
f1(i)=xi
(3)
第二層:模糊化層,即隸屬函數(shù)層。
本文用高斯函數(shù)作隸屬函數(shù),在模糊化層中,各個節(jié)點(diǎn)都能進(jìn)行隸屬函數(shù)計算,在第j個節(jié)點(diǎn)處:
(4)
(5)
其中:cij和bj分別是第i個輸入變量的第j個模糊集合高斯函數(shù)的均值和標(biāo)準(zhǔn)差。
第三層:模糊推理層,即建立規(guī)則層。
該層的各個節(jié)點(diǎn)可以與模糊化層建立連接,通過固定的模糊控制規(guī)則組合在一起,輸出相應(yīng)的數(shù)據(jù),輸出的數(shù)據(jù)具有一定的強(qiáng)度,其中的節(jié)點(diǎn)j的輸出結(jié)果是本節(jié)點(diǎn)全部輸入信號的總乘積,即:
(6)
第四層:輸出層。
各個節(jié)點(diǎn)收到的輸入信號的加權(quán)總和即為該節(jié)點(diǎn)的輸出量,即:
(7)
其中:l為輸出層節(jié)點(diǎn)數(shù),W為輸出節(jié)點(diǎn)與第三層各節(jié)點(diǎn)的連接權(quán)矩陣。
采用模糊RBF網(wǎng)絡(luò)逼近對象,取網(wǎng)絡(luò)結(jié)構(gòu)為輸入層2,模糊化層4,輸出層1,過程如圖3所示。
圖3 模糊RBF神經(jīng)網(wǎng)絡(luò)逼近
取ym(k)=f4,ym(k)和y(k)分別表示模糊輸出和實(shí)際輸出。模糊的輸入為y(k)和u(k),模糊的輸出為ym(k),則模糊的逼近誤差為:
e(k)=y(k)-ym(k)
(8)
定義如下的目標(biāo)函數(shù),便于調(diào)整函數(shù):
(9)
輸出層權(quán)值的調(diào)節(jié)方式:
(10)
則輸出層的權(quán)值學(xué)習(xí)算法:
w(k)=w(k-1)+Δw(k)+α[w(k-1)-w(k-2)]
(11)
式中,η為學(xué)習(xí)速率,α為動量因子,η∈[0,1],α∈[0,1]。
隸屬函數(shù)參數(shù)的調(diào)整方式:
(12)
(13)
其中:
(14)
隸屬函數(shù)參數(shù)的學(xué)習(xí)算法:
cij(k)=cij(k-1)+Δcij(k)+α[cij(k-1)-cij(k-2)]
(15)
bj(k)=bj(k-1)+Δbj(k)+α[bj(k-1)-bj(k-2)]
(16)
氣象條件、土壤條件以及作物特性會影響到農(nóng)作物的需水特性,而氣象條件中的光照、溫度高低、濕度狀況以及風(fēng)速大小對作物的需水量影響較大。為了將農(nóng)作物的需水量控制在合理高效的范圍內(nèi),將這四個參數(shù)作為模糊控制的輸入,而玉米的需水量的大小作為控制的輸出。灌溉策略結(jié)構(gòu)如圖4所示,首先根據(jù)輸入?yún)?shù)計算出作物的需水量,再參考實(shí)際的土壤含水量計算出需要灌溉的水量的多少,隨后用模糊控制算法計算出灌溉這一需水量所用的灌溉時間,最后通過控制閥門的狀態(tài)來控制灌溉。
圖4 灌溉結(jié)構(gòu)圖
神經(jīng)網(wǎng)絡(luò)預(yù)測模型設(shè)計步驟如下。
3.2.1 樣本預(yù)處理
RBF神經(jīng)網(wǎng)絡(luò)要求輸入的參數(shù)量可以實(shí)時的進(jìn)行采集,并且對輸出變量的影響較大。輸入的數(shù)據(jù)需要處理成0到1之間的的代表數(shù)據(jù),用來計算權(quán)值的大小。具體的預(yù)處理計算過程如下:
(17)
式中,x為原樣本;y為預(yù)處理后的樣本;xmin,xmax為原樣本中的最小值,最大值;ymin,ymax為樣本范圍。
3.2.2 神經(jīng)網(wǎng)絡(luò)節(jié)點(diǎn)個數(shù)確定
RBF神經(jīng)網(wǎng)絡(luò)能夠根據(jù)不同的要求和不同的解決方案設(shè)計出不同的結(jié)構(gòu),結(jié)構(gòu)使用過程比較靈活。本文的輸入?yún)?shù)量為光照強(qiáng)度、空氣溫度、空氣濕度以及風(fēng)速大小4個變量,輸出變量為作物需水量。因此需要確定模糊結(jié)構(gòu)中的模糊化層節(jié)點(diǎn)數(shù)是模糊網(wǎng)絡(luò)結(jié)構(gòu)的重要影響因素。用如下公式確定模糊化層節(jié)點(diǎn)個數(shù):
(18)
P指隱含層節(jié)點(diǎn)數(shù)目;n指輸入層節(jié)點(diǎn)數(shù)目;m輸出層節(jié)點(diǎn)數(shù)目;a是1~10 之間的調(diào)節(jié)常數(shù)。
對模糊化層節(jié)點(diǎn)個數(shù)進(jìn)行假設(shè),將4、5、6、7、8五個數(shù)值帶入上式進(jìn)行訓(xùn)練計算,訓(xùn)練時間和絕對均方誤差結(jié)果如表2所示。
表2 模糊化層節(jié)點(diǎn)個數(shù)對神經(jīng)網(wǎng)絡(luò)訓(xùn)練的影響
根據(jù)計算結(jié)果可以得出,當(dāng)模糊化層的節(jié)點(diǎn)個數(shù)為6時,得出的均方誤差最小,計算結(jié)果更為準(zhǔn)確。故而建立了一個4-6-6-1的RBF 神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu),輸出值就是需要灌溉的水量的預(yù)測值。
3.2.3 參數(shù)選擇
為了確保本文的真實(shí)可靠性,以內(nèi)蒙古地區(qū)種植的玉米利合328號為例,適宜在4月25日至5月10日種植在10厘米低溫穩(wěn)定通過10℃大達(dá)到七天以上,活動積溫2200℃。環(huán)境建立參數(shù)。
1)初始值和閾值的選擇:
為了方便計算,初始值和閾值一般采用(0,1)之間的隨機(jī)數(shù)值。
2)量化因子和比例因子:
在模糊控制器中輸入?yún)?shù)是精確數(shù)值,需要進(jìn)行模糊處理輸入到模糊規(guī)則中,對應(yīng)的輸出也是模糊值域,需要處理為精確值進(jìn)行輸出控制。故而,要引入量化因子和比例因子對其進(jìn)行轉(zhuǎn)換控制。
假設(shè)輸入量a1的分量e=[-a,a],模糊論域:
U={-n,-n+1,...,0,...n-1,n}。則量化因子定義為:
(19)
解得,量化因子分別為:
比例因子定義為:
(20)
解得,比例因子為:
kT=257 s
3)期望誤差的選擇:
期望誤差設(shè)置為10-2。
本文用到的控制器是被廣泛使用的Mamdani 型模糊推理控制器。為了測量準(zhǔn)確,對土壤中的水分采用多個傳感器進(jìn)行測量,然后取加權(quán)平均數(shù)作為最終的參考量。灌溉需水量使用RBF神經(jīng)網(wǎng)絡(luò)進(jìn)行周期性的預(yù)測,周期為5分鐘。但是,當(dāng)最終計算出的灌溉時間小于5分鐘時要等待下一個預(yù)測周期,此時需要停止灌溉。
3.3.1 輸入輸出變量論域
本文的控制器的輸入是灌溉需水量和土壤水分的差值Q和土壤的水分變化率E兩個變量。輸出量是實(shí)際的灌溉時間T。Q的差值變化范圍為0~20%;E的變化率范圍為-5%~5%;T的時間變化范圍為0~30 min。
3.3.2 模糊語言及其量化論域
模糊控制的規(guī)則根據(jù)不同的輸入輸出的級別來確定,首先將輸入輸出三個變量進(jìn)行等級定義,然后根據(jù)實(shí)際情況排列組合得到模糊控制規(guī)則。本文Q的變化分為八個等級,從0到7;E的變化分為七個等級,從-3到3;T的變化分為八個等級,從0到7。對應(yīng)的語言如表3所示。
表3 Q、E、T的模糊語言變量
3.3.3 隸屬度函數(shù)
采用三角隸屬函數(shù)將輸入與模糊控制規(guī)則聯(lián)系起來,隸屬函數(shù)的形式會影響灌溉用水的使用效率,進(jìn)而影響產(chǎn)量。輸入輸出變量的隸屬度函數(shù)結(jié)果如圖5~7所示。
圖5 Q的隸屬度函數(shù)
圖6 E的隸屬度函數(shù)
圖7 T的隸屬度函數(shù)
3.3.4 規(guī)則表
模糊控制主要是通過設(shè)定好的控制規(guī)則來實(shí)現(xiàn)的,本文的輸入為八個和七個等級,因此共有56個控制的規(guī)則組合,具體的模糊控制規(guī)則表4所示。
表4 模糊控制規(guī)則表
采用土壤中安裝的傳感器檢測出土壤含水量,然后用設(shè)計好的RBF神經(jīng)網(wǎng)絡(luò)計算出需要灌溉的水量和灌溉的時間,RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差如圖8所示。
圖8 訓(xùn)練誤差圖
由圖8可知,誤差值開始的時候下降的梯度較大,隨著訓(xùn)練次數(shù)的增加,下降的速度不斷減少,最終趨于穩(wěn)定。因此,本文的RBF神經(jīng)網(wǎng)絡(luò)預(yù)測模型能夠比較穩(wěn)定的實(shí)現(xiàn)灌溉,滿足設(shè)計的需求。
訓(xùn)練結(jié)束后對進(jìn)行預(yù)測,橫坐標(biāo)指樣本編號,縱坐標(biāo)指需水量,實(shí)現(xiàn)指實(shí)際檢測的需水量,虛線指預(yù)測到的需水量。具體的預(yù)測結(jié)果如圖9所示。
圖9 農(nóng)作物需水量實(shí)際值和預(yù)測值分布
由圖可知,預(yù)測值和實(shí)際值之間的差值較小,即預(yù)測誤差小,預(yù)測值滿足實(shí)際需求。
在MATLAB的工具箱中設(shè)置模糊控制器,設(shè)置為雙輸入單輸出的控制器,并將輸入輸出變量的命名進(jìn)行更改,設(shè)計的控制器結(jié)構(gòu)如圖10所示。
圖10 模糊控制器結(jié)構(gòu)
對模糊控制器的輸入和輸出函數(shù)的隸屬度進(jìn)行編輯后,建立模糊控制規(guī)則,對本設(shè)計的56條控制規(guī)則逐一設(shè)置。模糊控制規(guī)則設(shè)計窗口如圖11所示。
圖11 模糊控制規(guī)則
模糊控制器建立完成后,設(shè)置x軸為灌溉需水量和土壤水分的差值,y軸為土壤濕度變化率,z軸為計算的灌溉時間。實(shí)際的輸出結(jié)果如圖12所示。
圖12 模糊控制結(jié)構(gòu)曲面圖
模糊控制器會根據(jù)實(shí)際的狀況算出實(shí)際灌溉時間,輸出結(jié)果如圖13所示。當(dāng)兩個輸入分別為1.93,1.17時,輸出為3.78,乘以比例因子257 S,計算出的灌溉時間為971.46 s。
圖13 模糊控制輸出結(jié)果
本文首先對作物的需水特性進(jìn)行分析,確定了四個影響作物因子的函數(shù),作為RBF神經(jīng)網(wǎng)絡(luò)的輸入來逼近計算作物的需水量,并以山西省忻州地區(qū)種植的玉米利合328號為例,建立模糊控制器,根據(jù)不同的環(huán)境參數(shù)計算出不同的灌溉時間。并對RBF神經(jīng)網(wǎng)絡(luò)和模糊控制器進(jìn)行 MATLAB仿真,保證了使用的可行性。最終實(shí)驗(yàn)測試結(jié)果顯示,在相同的環(huán)境條件下,本設(shè)計的灌溉控制器可以實(shí)時控制灌溉時間,在一小時的灌溉時間內(nèi),可以節(jié)約用水量達(dá)到21%,糧食產(chǎn)量每畝同比增加100公斤。