張伯立,章如峰,趙寅軍(浙大中控信息技術(shù)有限公司,浙江 杭州 310053)
預(yù)測函數(shù)控制[1]在模型預(yù)測控制基礎(chǔ)上引入了基函數(shù),大大減小了在線計(jì)算量,提高了跟蹤速度、精度,它利用預(yù)測模型及過去、當(dāng)前時(shí)刻輸出實(shí)現(xiàn)對未來輸出的預(yù)測,通過優(yōu)化性能指標(biāo)來計(jì)算控制量,具有良好的跟蹤能力及較強(qiáng)的魯棒性,并在多種領(lǐng)域得到廣泛的應(yīng)用[2,3]。
針對具有大時(shí)滯的混凝投藥過程控制,預(yù)測函數(shù)控制具有較好的抗時(shí)滯能力。一般固定基函數(shù)的預(yù)測函數(shù)控制在水質(zhì)不穩(wěn)定的情況下控制品質(zhì)不理想,適應(yīng)性差。由此引出用變基函數(shù)的方法對預(yù)測函數(shù)的控制品質(zhì)進(jìn)行改善的設(shè)想[4]。當(dāng)水質(zhì)變化造成輸出結(jié)果離期望值較遠(yuǎn)時(shí),選擇一種斜率較大的基函數(shù)來快速抑制干擾因素作用;隨著輸出結(jié)果逼近離期望值時(shí),則選擇一種斜率較小的基函數(shù)來改善控制的超調(diào)。由于時(shí)滯的原因,我們無法及時(shí)判別輸出結(jié)果離期望值的遠(yuǎn)近。在此利用BP網(wǎng)絡(luò)的特性建立一個(gè)混凝投藥模型,應(yīng)用該模型預(yù)測過程的輸出。用該預(yù)測輸出去與期望值相減得到一個(gè)誤差,將該誤差分為幾個(gè)區(qū)域,每個(gè)區(qū)域分別對應(yīng)一個(gè)基函數(shù),通過誤差來選擇對應(yīng)的基函數(shù)。
基函數(shù)自適應(yīng)選擇預(yù)測函數(shù)控制算法與傳統(tǒng)預(yù)測函數(shù)控制相比就是多了一個(gè)基函數(shù)推理機(jī),這是實(shí)現(xiàn)基函數(shù)自適應(yīng)選擇的關(guān)鍵。如圖1所示。
圖1 基函數(shù)自適應(yīng)選擇預(yù)測函數(shù)控制算法結(jié)構(gòu)
基函數(shù)推理機(jī)主要有兩大大模塊,為基函數(shù)庫和推理機(jī)。
其中基函數(shù)庫是基礎(chǔ)模塊,主要是存儲所需要的基本基函數(shù)。我們可以根據(jù)情況有條件的從基函數(shù)庫中選擇所需要的基函數(shù),用該基函數(shù)去實(shí)現(xiàn)預(yù)測函數(shù)控制。常用的基函數(shù)有階躍基函數(shù)、斜坡基函數(shù)和指數(shù)基函數(shù)等。
而推理機(jī)則是核心模塊,它里面有一些規(guī)則,可以根據(jù)一些特定條件從基函數(shù)庫中選擇恰當(dāng)?shù)幕瘮?shù)。
下面我分析下基函數(shù)對控制量值的影響,從而來評估基函數(shù)對控制品質(zhì)的作用。
一般過程的方程表示如下:
預(yù)測函數(shù)控制算法控制量表述如下:
式中f()i第i個(gè)采樣周期的基函數(shù)取值,μ是基函數(shù)的線性加權(quán)系數(shù)。把(2)代入(1)得:
選擇優(yōu)化指標(biāo)函數(shù)取為誤差平方和,
式中ry為期望軌跡,py為過程預(yù)測軌跡,my預(yù)測模型值,e為過程補(bǔ)償誤差。令
則優(yōu)化指標(biāo)函數(shù)形式改為,
極小化優(yōu)化指標(biāo)函數(shù),則組合系數(shù)計(jì)算公式如下,
那么預(yù)測時(shí)域內(nèi)第一步預(yù)測控制量結(jié)果如下,
我們選擇階躍基函數(shù)、斜坡基函數(shù)和指數(shù)基函數(shù)來比較它們對控制品質(zhì)的影響。如表1所示,A1(k+i)、1μ和1u表示為階躍基函數(shù)時(shí)A(k+i)、μ和u值;A2(k+i) 、2μ和2u表示為斜坡基函數(shù)時(shí)A(k+i)、μ和u值;A3(k+i)、3μ和3u表示為指數(shù)基函數(shù)時(shí)A(k+i)、μ和u值。從表1中可以看出,A1<
表1 不同基函數(shù)的u比對
根據(jù)上述比較得出,階躍基函數(shù)的控制量調(diào)節(jié)幅度是最高的,這就會造成較大的超調(diào);指數(shù)基函數(shù)的控制量調(diào)節(jié)幅度是最低的,這就使響應(yīng)速度很慢;斜坡基函數(shù)的控制量調(diào)節(jié)幅度居中。
基函數(shù)自適應(yīng)選擇算法的規(guī)則如下:當(dāng)水質(zhì)變化造成輸出結(jié)果離期望值較遠(yuǎn)時(shí),選擇一種斜率較大的基函數(shù)來快速抑制擾動(dòng)作用;隨著輸出結(jié)果逼近離期望值時(shí),則選擇一種斜率較小的基函數(shù)來改善控制的超調(diào)。
圖2 基函自適應(yīng)選擇數(shù)算法
基函數(shù)自適應(yīng)選擇算法流程圖如圖2所示,具體算法如下:
(1)建立模式匹配庫。
(2)讀入k時(shí)刻y(k),期望設(shè)定值
(3)計(jì)算誤差,判斷誤差類別。
(4)確定類別,確定模式,選擇基函數(shù)。
(5)無法確定類別,保持不變,選擇原來的基函數(shù)。
模式匹配庫建立方法如下:
第一步確立基函數(shù)模式庫:常用基函數(shù)斜率從小到大排為階躍函數(shù)、斜坡函數(shù)和指數(shù)函數(shù),將這三個(gè)基函數(shù)分別定為模式A、模式B和模式C;
第二步確立輸出誤差類別:將過程輸出值與期望值的誤差集合分為三個(gè)類別,分別是類別a、類別b和類別c;
第三步建立基函數(shù)模式與輸出誤差類別的匹配關(guān)系:類別a對應(yīng)模式A,類別b對應(yīng)模式B,類別c對應(yīng)模式C。
本文的誤差分類方法:
一是把誤差集合歸一化到區(qū)間(0,1)中;
二是取兩個(gè)節(jié)點(diǎn)d1和d2,將(0,1)區(qū)間分為(0,d1)、(d1,d2)和(d2,1)三個(gè)區(qū)間。
這里類別a就是區(qū)間(0,d1),同理類別b就是區(qū)間(d1,d2),類別c就是區(qū)間(d2,1)。
推理機(jī)的判別方法,令當(dāng)前時(shí)刻過程輸出值與期望值的誤差為E,其量程為(0 ,Emax),將其歸一化至(0,1)范圍。
判別出e所屬區(qū)間。若e在(0,d1)區(qū)間,則選擇基函數(shù)中的模式A;若e在(d1,d2)區(qū)間,則選擇基函數(shù)中的模式B;若e在(d2,1)區(qū)間,則選擇基函數(shù)中的模式C;這里的d1和d2可以根據(jù)不同情況確定。
圖3 基函數(shù)自適應(yīng)選擇混凝投藥PFC算法
基函數(shù)自適應(yīng)選擇混凝投藥PFC算法如圖3所示,混凝投藥PFC控制器包括傳統(tǒng)預(yù)測函數(shù)控制、基函數(shù)推理機(jī)和混凝沉淀過程軟測量模型。軟測量模型是算法中的一個(gè)關(guān)鍵環(huán)節(jié),因?yàn)樵谕评頇C(jī)判別過程中我們需要知道當(dāng)前時(shí)刻過程輸出值與期望值的誤差,但是由于時(shí)滯的原因,我們無法及時(shí)的知道當(dāng)前時(shí)刻水質(zhì)水量所造成的輸出結(jié)果。在此就需要利用軟測量方法建立一個(gè)混凝投藥模型,應(yīng)用該模型來預(yù)測當(dāng)前時(shí)刻過程的輸出。
混凝投加過程基函數(shù)自適應(yīng)選擇的預(yù)測控制的設(shè)計(jì)主要有基函數(shù)推理機(jī)設(shè)計(jì)和軟測量模型設(shè)計(jì),設(shè)計(jì)如下:
根據(jù)文獻(xiàn)[5]和文獻(xiàn)[6],本文預(yù)測函數(shù)控制器設(shè)計(jì)如下。
參考軌跡設(shè)計(jì)如下,
式中c(k+)i為出水濁度指標(biāo),一般為0.1。
過程預(yù)測軌跡設(shè)計(jì)如下,
優(yōu)化指標(biāo)函數(shù)設(shè)計(jì)如下,
式中H為預(yù)測時(shí)域,一般為100。預(yù)測模型設(shè)計(jì)如下,
式中u為加礬流量,uT為沉后濁度。
(2)基函數(shù)推理機(jī)設(shè)計(jì)
現(xiàn)代水廠出水濁度標(biāo)準(zhǔn)≤0.1 NTU,假設(shè)進(jìn)水水質(zhì)水量出現(xiàn)突變,此時(shí)出水濁度預(yù)測為x NTU。采用推理機(jī)誤差分類方法,設(shè)定d1為0.1×(x-0.1),d2為0.4×(x-0.1)。由此確定,預(yù)測出水濁度在(0.4×(x-0.1),x-0.1)區(qū)間時(shí),選擇階躍基函數(shù);預(yù)測出水濁度在(0.1×(x-0.1),0.4×(x-0.1))區(qū)間時(shí),選擇斜坡基函數(shù);預(yù)測出水濁度在(0,0.1×(x-0.1))區(qū)間時(shí),選擇指數(shù)基函數(shù)。則設(shè)計(jì)得到類別a為(0.4,1),類別b為(0.1,0.4),類別c為(0,0.1)。同時(shí)設(shè)計(jì)規(guī)定模式A為階躍基函數(shù),模式B為斜坡基函數(shù),模式C為指數(shù)基函數(shù)。最后設(shè)計(jì)規(guī)定類別a匹配模式A,類別b匹配模式B,類別c匹配模式C。
(3)軟測量模型設(shè)計(jì)
混凝投加過程基函數(shù)自適應(yīng)選擇的預(yù)測控制的設(shè)計(jì)主要軟測量方法有很多,常用的有回歸建模方法、BP神經(jīng)網(wǎng)絡(luò)建模方法和模糊建模方法等。本文利用BP網(wǎng)絡(luò)強(qiáng)大的非線性逼近能力來建立混凝投藥過程模型。BP神經(jīng)網(wǎng)絡(luò)的建立需要確定兩個(gè)因素,一是BP神經(jīng)網(wǎng)絡(luò)的輸入輸出,二是BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)層數(shù)。已證明三層BP網(wǎng)絡(luò)可以逼近任意非線性特性,因此本文所建立的混凝投藥模型神經(jīng)網(wǎng)絡(luò)層數(shù)為3。通?;炷恋磉^程中影響輸出濁度的因素主要為進(jìn)水水量、進(jìn)水濁度、溫度、PH值和投藥量。根據(jù)文獻(xiàn)[7]和文獻(xiàn)[8],本文的BP神經(jīng)網(wǎng)絡(luò)模型的輸入變量選擇為進(jìn)水水量、進(jìn)水濁度、溫度、PH值和投藥量,輸出為出水濁度?;炷端庍^程BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖4所示。
圖4 混凝投藥過程BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
采用某水廠的混凝投藥過程作為控制算法的仿真對象,其中控制量為加礬流量,被控量為沉后水濁度,參考第三節(jié)預(yù)測函數(shù)控制器設(shè)計(jì)中的預(yù)測模型設(shè)計(jì)方法,應(yīng)用某水廠的歷史數(shù)據(jù)為仿真實(shí)驗(yàn)數(shù)據(jù),把該數(shù)據(jù)分為兩部分,分別用來辨識控制器的預(yù)測模型和仿真過程的對象模型。對象模型如下,
式中u為加礬流量,Tu為沉后濁度,把上述的模型作為仿真實(shí)驗(yàn)的實(shí)際過程對象??刂品抡嬖囼?yàn)在matlab環(huán)境下用m語言實(shí)現(xiàn),算法流程圖如圖5所示,具體算法如下:
(1)確定采樣周期、預(yù)測時(shí)域程度、參考軌跡系數(shù)及期望過程輸出值。
(2)讀入k時(shí)刻y(k),期望設(shè)定值
(3)獲取水質(zhì)水量值,估計(jì)輸出濁度值,計(jì)算誤差,找到匹配基函數(shù),計(jì)算u1(k+1)。
(4)令k=k+1,并判斷k是否小于仿真步數(shù)N。
(5)是轉(zhuǎn)(2),否結(jié)束。
圖5 仿真算法流程圖
仿真研究基函數(shù)自適應(yīng)選擇投藥預(yù)測函數(shù)控制參數(shù)設(shè)置,在800秒時(shí)濁度設(shè)定值c()k為0.2NTU,采樣周期sT為2秒,參考軌跡響應(yīng)時(shí)間rT為2秒。仿真結(jié)果如圖6所示,縱坐標(biāo)為出水濁度值,單位為NTU,橫坐標(biāo)為仿真時(shí)間,單位為秒。圖6中的a為基函數(shù)自適應(yīng)選擇情況下做的PFC仿真,圖6中的b為階躍基函數(shù)PFC仿真??磮D6(a)和圖6(b),階躍基函數(shù)PFC控制在十幾秒內(nèi)迅速接近期望值,響應(yīng)速度快,然后輸出超越期望值,變?yōu)?.29 NTU,直到150秒后才平穩(wěn),超調(diào)大;而基函數(shù)自適應(yīng)選擇PFC控制在十幾秒內(nèi)迅速接近期望值,變?yōu)?.18 NTU,響應(yīng)速度快,然后輸出緩慢接近期望值,到100秒后緩慢平穩(wěn),無超調(diào)??梢钥闯觯瑢τ诰哂写髸r(shí)滯時(shí)變特性的投藥過程,基函數(shù)自適應(yīng)選擇投藥PFC控制能較快較穩(wěn)定地達(dá)到設(shè)定值,響應(yīng)速度快、超調(diào)小。
基于模式匹配或外部干擾較大的基本思想,通過事先設(shè)定的推理規(guī)則,根據(jù)期望值與實(shí)際預(yù)測值的差從基函數(shù)庫中選出匹配的基函數(shù),實(shí)現(xiàn)基函數(shù)自適應(yīng)選擇預(yù)測函數(shù)投藥控制。通過基函數(shù)自適應(yīng)選擇,可以同時(shí)兼顧系統(tǒng)超調(diào)和響應(yīng)速度,保證混凝投藥控制系統(tǒng)的穩(wěn)定。
圖6 基函數(shù)自適應(yīng)選擇預(yù)測函數(shù)控制與階躍基函數(shù)預(yù)測函數(shù)控制仿真效果
[1]王國玉, 韓璞, 王東風(fēng). 預(yù)測函數(shù)控制及其應(yīng)用研究[J]. 系統(tǒng)仿真學(xué)報(bào),2002.14 (8) : 1087~1091.
[2]H.Bouhenchir, M.Cabassud, M.V.Le Lann. Predictive functional control for the temperature control of a chemical batch reactor[J]. Computers & Chemical Engineering, 2006.30: 1141~1154.
[3]Ridong Zhang, Shuqing Wang. Support vector machine based predictive functional control design for output temperature of coking furnace[J]. Journal of Process Control, 2008. 18: 439~448.
[4]趙寅軍, 陳國定, 張伯立. 階躍基權(quán)系數(shù)時(shí)變的預(yù)測函數(shù)控制[J]. 計(jì)算機(jī)仿真, 2012.1 (29) : 79~82.
[5]葛寶明, 林飛, 李國國. 先進(jìn)控制理論及其應(yīng)用[M]. 機(jī)械工業(yè)出版社,2007.
[6]丁寶蒼. 預(yù)測控制的理論與方法[M]. 機(jī)械工業(yè)出版社, 2008.
[7]白樺, 李圭白. 基于神經(jīng)網(wǎng)絡(luò)的混凝投藥系統(tǒng)預(yù)測模型[J]. 中國給水排水,2002, 18 (6) : 46~47.
[8]李麗榮, 韓璞, 董澤等. 人工神經(jīng)網(wǎng)絡(luò)在系統(tǒng)辨識中的研究與應(yīng)用[J]. 華北電力大學(xué)學(xué)報(bào), 2000, 27 (3) : 28~33.