胡賽飛,李明河
(安徽工業大學電氣與信息工程學院,安徽馬鞍山243032)
隨著經濟的發展水污染問題越來越嚴重,直接危害國民的生活健康和生態平衡,已經成為急切需要解決的問題[1]. 污水處理能有效的減少環境污染和緩解水資源匱乏[2]. 化學需氧量(Chemical Oxygen Demand,COD)是評價污水水質的重要指標,能否對COD進行快速、準確的測量是有效控制水體污染的關鍵[3]. 近年來,眾多學者針對出水COD 難以準確測量的問題進行了研究. Raduly[4]等采用前饋神經網絡對出水COD 和出水生化需氧量進行軟測量研究,但測量精度有待提高.韓紅桂[5]等基于交互信息設計了一種彈性徑向基函數神經網絡,實現對出水COD的軟測,但算法中參數對實際工業過程有影響. Yang[6]等基于活性污泥法利用模糊C 均值聚類算法得到模糊模型結構,并對出水COD 進行預測. 張杰[7]等提出支持向量機和神經網絡相結合的方法,對SBR污水處理中COD進行預測估計,該方法相對于單一神經網絡的軟測量結果更好,但在實際污水處理過程中由于神經網絡中有較多的參數從而會影響預測結果.
針對上述問題,以準確預測出水COD 為目的,本文提出一種基于煙花算法(FWA)的出水COD模糊建模的方法,首先基于活性污泥法推導出關于出水COD 的模糊結構,然后將模糊C 均值聚類算法(FCM)和最小二乘法相結合,對相關參數進行辨識,用煙花算法對結構和參數進行優化學習,最后基于仿真基準模型(BSM1)提供的數據在MATLAB平臺進行試驗以驗證預測效果.
國際水協會(IWA)和歐盟科學技術與合作組織(COST)聯合開發了活性污泥水處理1 號標準仿真模型(Benchmark Simulation Model No.1, BSM1)[8].BSM1的結構圖如圖1所示,主要由生化反應池和二沉池兩部分組成,生化反應池包含2個缺氧池和3個好氧池.缺氧池的容積為1 000 m3,好氧池的容積為1 333 m3. 污水進入系統后,流經五個活性污泥生化反應池后流入二沉池進行沉淀分離,二沉池共10層,處理后的水,一部分從第6 層流入二沉池,另一部分回流到第一單元. 在二沉池中的水,進過處理后,達到排放標準的水從第10 層排出,下層的污泥一部分排出,一部分回流到缺氧池進行循環處理[9].

圖1 BSM1模型的結構圖
1987 年,國際水協會IWA 推出了活性污泥1 號模型(ASM1)[10],該模型是一種經典的污水處理模型,它被用來描述BSM1 中的生化反應池的反應過程,其中包含8 個生化反應過程和13 種物質組分.活性污泥過程滿足質量平衡方程(用變化率表示):
積累量變化率=反應生成速率+
輸入速率-輸出速率
數學表達式為:

反應生成速率ρ表示為:


其動力學參數值如表1所示.

表1 動力學參數
在ASM1 中,重要出水水質參數COD 計算公式為:



式中參數d為方程與實際的誤差.
將式(6)寫成矩陣形式得:

將式(7)進行差分化:

通過觀察式(8)發現,如果矩陣A 是常值矩陣,則式(8)就是線性等式. 在矩陣A 中,選取SS、SO、SNO、SNH和(CODin-COD)作為前件變量,將SS、SO、SNO、SNH的輸入空間分為NB、PB,將(CODin-COD)的輸入空間分為NB、NS、ZO、PS、PB.在每一個子空間里,用一個常值矩陣近似代替矩陣A,并且通過隸屬函數將每個空間的線性系統相結合,便得到一個模糊模型.由于反應條件存在厭氧和好氧兩種,因此將前件變量按兩種情況簡化,分別選取SS、SNO、(CODin-COD)和SS、SNH、(CODin-COD),得到此模糊模型下的模糊規則,如表2所示.

表2 COD模糊規則表
由T-S模糊原理所得的模糊模型結構可描述為:
規則R: If ( )
CODin(k)-COD(k) is Bi, SS(k)is Cj,SNO(SNH)is Dp,Then

采用高斯隸屬函數對模糊模型進行處理:

若每一條規則的隸屬度μr=μi?μj?μp,則得到最終模型為:

對以上得到的模糊模型進行辨識主要包括兩個部分:結構辨識和參數辨識. 模糊聚類算法能根據訓練數據的特征將其劃分為不同的聚類,同時劃分輸入模糊集合、確定模糊規則和前件參數的辨識.因此本文采用廣泛應用的模糊C 均值聚類算法(FCM)[11]辨識模糊模型的前件參數,然后利用最小二乘法計算模糊模型的后件參數[12].步驟如下:
步驟1:設定聚類數目C,并利用FCM 算法得出聚類中心V=[v1,v2,???,vc]且vi=vij.
步驟2:求出模糊集合所對應隸屬函數的方差和中心,進而根據

步驟3:利用最小二乘法計算模型的后件參數,算法結束.
采用FCM 算法建立的初始模型精確性差且結構復雜.為了提高模型的性能,本文采用煙花算法[19]對模型的結構和參數進行優化學習,來提高出水COD 模糊模型的精確性,建立精確度高且結構簡單、易于理解的模糊模型[13-16].算法設計步驟如下:
3.3.1 初始化
①通過FCM 算法對初始模糊模型的前件參數進行辨識,并編碼為第一個煙花.初始種群P中的其他L-1個煙花則在第一個煙花附近搜索范圍內隨機生成.
②利用最小二乘法辨識初始模型的后件參數.
3.3.2 迭代優化
①由相似性融合的方法,對模型中的集合和規則進行約簡,并更新種群P.
②辨識出水COD模糊模型的后件參數.
③利用公式(13)和(14)計算每個煙花爆炸所產生子代火花的數量Si,并由此計算子代的爆炸范圍.

式中m 為一個常量來控制L 個煙花產生火花的總數,L 為父代煙花的總數,fmax=max( f(xi) )(i=1,2,…,L)是目標函數的最大值,ε是一個很小的常量;a、b為常量參數.

其中A?為最大爆炸范圍,fmin=min( f(xi) )(i=1,2,…,L)是目標函數的最小值.
④根據式(16)和(17)生成Si個火花,并根據式(17)和(18)生成三個特殊的火花.

⑤由適應度函數對所有的個體進行排序并選擇最優個體,在前2L個個體中隨機選擇L-1個體作為下一代的煙花,個體xi選擇概率為
⑥判斷是否滿足步長終止條件,假如滿足,算法結束,否則,返回步驟②.
采用BSM1 提供的數據在MATLAB[17-18]軟件環境下進行仿真實驗,實驗主要針對BSM1的第5單元反應池. 選擇XBH、XBA、Q 作為輸入變量,利用FCM算法和最小二乘法辨識初始出水COD模糊模型,然后采用煙花算法進行優化學習,來提高模型的性能. 在相關參考文獻[14-15,20]的基礎上,經過多次實驗確定相關參數為:煙花種群規模為L=40,迭代次數為100,煙花算法中的m=80,A?=40,Smax=40,Smin=1.初始出水COD模型輸出仿真結果如圖2 所示,采用煙花算法優化后的模型輸出仿真結果如圖3所示,其誤差對比如圖4所示.從誤差對比圖能明顯看出,采用煙花算法優化后的出水COD模型輸出結果更加接近于BSM1提供的結果.
污水處理過程是一個非線性、不確定性、建模難度高的過程,本文首先在ASM1數學模型的基礎上,運用模糊建模的方法對關鍵水質參數出水COD 進行建模,然后通過FCM算法和最小二乘法對模型進行辨識,同時將煙花算法融入到模糊建模過程中,對模型的參數和結構進行優化. 最后通過BSM1 提供的數據進行仿真實驗,實驗結果表明,采用模糊的方法能有效的建立出水COD模型,采用煙花算法能提高模糊模型的精確性.下一步工作將研究在不同天氣情況下如何更精確地對出水水質參數進行建模.

圖2 初始出水COD模型的輸出圖

圖3 優化后出水COD模型的輸出圖

圖4 誤差對比圖