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