孫 朋,張健沛,薛立波
(1.哈爾濱工程大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,哈爾濱 150001;2.黑龍江省民政廳 信息中心,哈爾濱 150001)
自上世紀(jì)60年代暖通空調(diào)系統(tǒng)的自動(dòng)控制開(kāi)始興起以來(lái),經(jīng)過(guò)幾十年的發(fā)展,逐步發(fā)展成為以PID控制算法為核心的直接數(shù)字控制。但是,暖通空調(diào)系統(tǒng)是一個(gè)典型的大滯后、多變量、分布參數(shù)的強(qiáng)非線(xiàn)性時(shí)變系統(tǒng),難以建立其精確的數(shù)學(xué)模型。常規(guī)PID控制器具有一定的魯棒性,在某時(shí)刻、某條件下整定好的參數(shù),一旦被控對(duì)象的結(jié)構(gòu)和參數(shù)改變,在另一時(shí)刻、另一條件下原參數(shù)控制效果往往不佳;加之,常規(guī)PID在設(shè)計(jì)與整定過(guò)程中,需采用折中的方案來(lái)兼顧控制的穩(wěn)態(tài)精度和動(dòng)態(tài)性能,所以常規(guī)PID控制器的設(shè)計(jì)有其局限性,單一的PID暖通空調(diào)控制器難以滿(mǎn)足要求。
神經(jīng)網(wǎng)絡(luò)理論的發(fā)展為解決非線(xiàn)性系統(tǒng)和不確定性系統(tǒng)控制問(wèn)題提供了有效途徑,基于神經(jīng)網(wǎng)絡(luò)的PID控制已成為暖通空調(diào)的研究熱點(diǎn)。它將PID控制律融入到神經(jīng)網(wǎng)絡(luò)之中,實(shí)現(xiàn)了神經(jīng)網(wǎng)絡(luò)和PID控制的結(jié)合,從而既具有傳統(tǒng)PID控制器的優(yōu)點(diǎn),又具有神經(jīng)網(wǎng)絡(luò)的并行結(jié)構(gòu)和學(xué)習(xí)能力以及多層網(wǎng)絡(luò)逼近任意函數(shù)的能力。
PID控制要取得好的控制效果就必須調(diào)整好比例、積分和微分3種控制作用在形成控制量中,相互聯(lián)系又相互制約的關(guān)系,這種關(guān)系不一定是簡(jiǎn)單的線(xiàn)性組合,而是可以從各種非線(xiàn)性組合中找出最優(yōu)的組合。而B(niǎo)P神經(jīng)網(wǎng)絡(luò)具有任意非線(xiàn)性逼近能力,可以對(duì)系統(tǒng)性能進(jìn)行學(xué)習(xí),為實(shí)現(xiàn)最優(yōu)組合的PID控制提供了可能。
BP網(wǎng)絡(luò)算法的基本思想是:把網(wǎng)絡(luò)學(xué)習(xí)時(shí)在輸出層出現(xiàn)的與期望值不符的誤差,歸結(jié)為各層各節(jié)點(diǎn)連接權(quán)和閥值的 “過(guò)錯(cuò)”,通過(guò)把輸出層誤差逐層向輸入層反向傳遞,把誤差 “分?jǐn)偂苯o各個(gè)節(jié)點(diǎn),計(jì)算各節(jié)點(diǎn)的參考誤差,由此調(diào)整各個(gè)權(quán)值和閥值,直至誤差最小。
在修正網(wǎng)絡(luò)的加權(quán)系數(shù)時(shí),BP網(wǎng)絡(luò)采用非線(xiàn)性規(guī)劃中的最速下降法,即按照誤差函數(shù)的負(fù)梯度方向搜索調(diào)整,并附加一個(gè)使搜索快速收斂全局極小的慣性項(xiàng)。
基于BP神經(jīng)網(wǎng)絡(luò)的PID控制器由一個(gè)常規(guī)PID控制器和一個(gè)3層的 BP網(wǎng)絡(luò)構(gòu)成,常規(guī)的PID控制器直接對(duì)被控對(duì)象進(jìn)行閉環(huán)控制,BP網(wǎng)絡(luò)根據(jù)系統(tǒng)的運(yùn)行狀態(tài),通過(guò)自學(xué)習(xí)和加權(quán)系數(shù)調(diào)節(jié),使神經(jīng)網(wǎng)絡(luò)輸出層的輸出狀態(tài)對(duì)應(yīng)于PID控制器的 3個(gè)參數(shù),并達(dá)到某種性能指標(biāo)下的最優(yōu)化。
控制器結(jié)構(gòu)圖見(jiàn)圖1,可以得出常規(guī)PID控制器的控制律為:
假設(shè)BP網(wǎng)絡(luò)是個(gè)3層網(wǎng)絡(luò),有M個(gè)輸入節(jié)點(diǎn),Q個(gè)隱層節(jié)點(diǎn)和3個(gè)輸出節(jié)點(diǎn)。輸入節(jié)點(diǎn)對(duì)應(yīng)所選的系統(tǒng)運(yùn)行狀態(tài)量,一般可取系統(tǒng)不同時(shí)刻的輸入量和輸出量。輸出節(jié)點(diǎn)對(duì)應(yīng)PID控制器的3個(gè)參數(shù)。取隱層神經(jīng)元活化函數(shù)f(x)為正負(fù)對(duì)稱(chēng)的Sigmoid函數(shù),輸出層神經(jīng)元活化函數(shù)g(x)為非負(fù)的Sigmoid函數(shù)。并約定上角標(biāo)(1)、(2)、(3)分別代表輸入層、隱含層和輸出層。
圖1 基于BP網(wǎng)絡(luò)的PID控制器結(jié)構(gòu)圖Fig.1 Structure of PID controller based on BP Network
網(wǎng)絡(luò)輸入層的輸入為:
其中,j=1,2,…,M。
網(wǎng)絡(luò)隱層的輸入、輸出為:
其中,i=1,2,…,M。
網(wǎng)絡(luò)輸出層的輸入、輸出為:
其中,l=1,2,3。
選取性能指標(biāo)函數(shù)為:
接下來(lái)修正網(wǎng)絡(luò)權(quán)系數(shù),按照梯度下降法,并附加一個(gè)使搜索快速收斂全局極小的慣性項(xiàng):
其中η為學(xué)習(xí)速率;α為慣性系數(shù)。
式(6)中的偏微分項(xiàng)可作以下推導(dǎo):
通過(guò)上述分析,可得網(wǎng)絡(luò)隱含層加權(quán)系數(shù)的學(xué)習(xí)算法為:
同理可得網(wǎng)絡(luò)輸出層加權(quán)系數(shù)的學(xué)習(xí)算法為:
其中f′(?)=(1-f2(x))/2;g′(x)= g(x)(1-g(x))。
這樣,由式(5)~式(9)就可以對(duì)BP網(wǎng)絡(luò)的權(quán)值進(jìn)行調(diào)整,實(shí)現(xiàn)對(duì)BP網(wǎng)絡(luò)的訓(xùn)練。
通過(guò)系統(tǒng)辨識(shí),已知暖通空調(diào)系統(tǒng)中某回路的系 統(tǒng) 模 型 為屬于典型的非線(xiàn)性時(shí)變系統(tǒng)。
采用基于BP神經(jīng)網(wǎng)絡(luò)的PID控制對(duì)該回路系統(tǒng)進(jìn)行仿真,選定BP網(wǎng)絡(luò)結(jié)構(gòu)為4-5-3結(jié)構(gòu),控制器軟件編程控制算法步驟如下:
1)在k=1時(shí)刻,選取各層加權(quán)系數(shù)的初始值為[-0.5,0.5]上的隨機(jī)數(shù),選定學(xué)習(xí)速率η為0.2和慣性系數(shù)α為0.05;
2)采樣得到r(k)和y(k),計(jì)算該時(shí)刻誤差e(k)=r(k)-y(k);
3)計(jì)算神經(jīng)網(wǎng)絡(luò)各層神經(jīng)元的輸入、輸出,輸出層的輸出即為PID控制器的3個(gè)可調(diào)參數(shù)Kp,Ki,Kd;
4)根據(jù)PID的增量式算式計(jì)算PID控制器的輸出、控制對(duì)象的控制信號(hào)u(k);
5)進(jìn)行神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),在線(xiàn)調(diào)整隱含層和輸出層加權(quán)系數(shù),實(shí)現(xiàn)PID控制參數(shù)的自適應(yīng)調(diào)整;
6)置k=k+1,返回到步驟2)。
該回路系統(tǒng)受正弦信號(hào)激勵(lì)下,采用BP神經(jīng)網(wǎng)絡(luò)的PID控制的仿真結(jié)果見(jiàn)圖2。
圖2 BP神經(jīng)網(wǎng)絡(luò)的PID控制仿真曲線(xiàn)Fig.2 BP-PID simulation curve
作為對(duì)照,對(duì)常規(guī)增量式PID控制進(jìn)行仿真,結(jié)果見(jiàn)圖3。
由仿真結(jié)果可見(jiàn),BP神經(jīng)網(wǎng)絡(luò)PID控制的輸出對(duì)輸入的響應(yīng)高度吻合,曲線(xiàn)幾乎重合在一起,控制效果十分優(yōu)異,而常規(guī)增量式PID控制的仿真曲線(xiàn)響應(yīng)存在明顯的誤差。為了對(duì)比控制效果,做出兩者的誤差曲線(xiàn)以供比較。其中,圖4為BP神經(jīng)網(wǎng)絡(luò)PID控制器的誤差曲線(xiàn),圖5為增量式PID控制器誤差曲線(xiàn)。
圖3 常規(guī)增量式PID控制仿真曲線(xiàn)Fig.3 Conventional incremental PID simulation curve
如圖4所示,BP神經(jīng)網(wǎng)絡(luò)PID控制誤差的數(shù)量級(jí)為10-3,最大為0.008,而增量式PID的最大誤差約為0.13,顯然,BP神經(jīng)網(wǎng)絡(luò)PID控制擁有更好的控制精度。
綜上所述,神經(jīng)網(wǎng)絡(luò)PID控制與傳統(tǒng)PID控制相比,超調(diào)量小、調(diào)節(jié)速度快、調(diào)整時(shí)間短,說(shuō)明其具有更好的控制特性;另外,穩(wěn)態(tài)誤差也比傳統(tǒng)PID控制下的穩(wěn)態(tài)誤差小,說(shuō)明神經(jīng)網(wǎng)絡(luò)PID比傳統(tǒng)PID控制的控制精度更高。
把BP神經(jīng)網(wǎng)絡(luò)和PID控制結(jié)合到一起,可有效解決暖通空調(diào)系統(tǒng)PID控制中存在的由于模型和結(jié)構(gòu)參數(shù)時(shí)變等因素導(dǎo)致的控制效果欠佳問(wèn)題。
本文的創(chuàng)新點(diǎn):在暖通空調(diào)控制系統(tǒng)中引入BP網(wǎng)絡(luò),使PID控制器能在線(xiàn)整定PID的3個(gè)控制參數(shù),克服了常規(guī)PID控制對(duì)時(shí)變系統(tǒng)參數(shù)整定的難題;可變的PID參數(shù)能使暖通空調(diào)系統(tǒng)更快地響應(yīng)環(huán)境變化,在節(jié)能舒適方面達(dá)到了消費(fèi)者對(duì)暖通空調(diào)的進(jìn)一步要求。
[1]安大偉,王江江,婁承芝.神經(jīng)網(wǎng)絡(luò)PID控制器在高大空間恒溫空調(diào)系統(tǒng)中的應(yīng)用 [J].天津大學(xué)學(xué)報(bào), 2005,38(3):268-273.
[2]廖芳芳,肖 建.基于BP神經(jīng)網(wǎng)絡(luò)PID參數(shù)自整定的研究[J].系統(tǒng)仿真學(xué)報(bào),2005,17(7):1 711-1 713.
[3]張芳芳,賀 娟,李明軍.基于導(dǎo)數(shù)優(yōu)化的BP學(xué)習(xí)算法的研究綜述 [J].計(jì)算機(jī)應(yīng)用研究,2009,26 (3):809-813.
[4]張世峰,李 鵬.基于神經(jīng)網(wǎng)絡(luò)的自整定PID控制器設(shè)計(jì)[J].自動(dòng)化儀表,2009,30(7):64-66.
[5]趙娟平.神經(jīng)網(wǎng)絡(luò)PID控制策略及其M atlab仿真研究[J].微計(jì)算機(jī)信息,2007,23(3-1):59-60.