張亞鶴
(同濟(jì)大學(xué),上海 201804)
污水處理系統(tǒng)就是采用工程技術(shù)措施對生產(chǎn)廢水進(jìn)行處理,減輕乃至消除污水對環(huán)境的污染,改善和保持水環(huán)境質(zhì)量,保障人民健康以及有效地、合理地綜合利用水資源。污水處理過程是一個具有大時滯、非線性、強(qiáng)干擾的復(fù)雜控制對象,要控制的參數(shù)例如溫度、pH值、生物需氧量(Biochemical Oxygen De-mand,BOD)、溶解氧濃度(Dissolved Oxygen,DO)值等之間相互影響并有大的滯后,同時各個參數(shù)隨生產(chǎn)的變化而不確定地變化。污水處理系統(tǒng)需要一系列行之有效的處理技術(shù),除了加強(qiáng)污染源的控制和管理,采用不排或少排廢水的先進(jìn)工藝外,還應(yīng)開發(fā)多種污水處理的新工藝算法、新設(shè)備、新材料,并利用當(dāng)代先進(jìn)技術(shù),將計算機(jī)技術(shù)引入到污水處理系統(tǒng)中,把現(xiàn)代先進(jìn)的控制策略[1]應(yīng)用于污水處理系統(tǒng)中,使污水處理日益精確化、快速化,并不斷連續(xù)化、自動化及網(wǎng)絡(luò)化,從而從局部到全局提高污水處理效率,降低污水處理成木。近年來發(fā)展起來的智能控制在復(fù)雜控制對象中的成功應(yīng)用為這類系統(tǒng)的自動控制提供了一種新方法[2]。本文將詳細(xì)介紹微粒群算法在污水處理控制系統(tǒng)的應(yīng)用,以方便讀者的進(jìn)一步研究。
間歇式活性污泥法或序批式活性污泥法(Sequencing Batch Reactor Activated Sludge Process,SBR)作為一種新技術(shù)不論在工業(yè)企業(yè)還是城市污水處理中均得到了廣泛的應(yīng)用。
圖1 SBR操作流程圖
SBR操作過程主要由進(jìn)水(Fill)、反應(yīng)(Aerate)、沉淀(Settle)、出水(Discharge)和空閑(Idle)5個階段組成,操作流程如圖1。從污水進(jìn)入到待機(jī)時間結(jié)束作為一個周期,在一個周期內(nèi),所有的操作都在SBR反應(yīng)池中依次進(jìn)行,反應(yīng)池中有曝氣裝置和攪拌裝置。SBR反應(yīng)池在一定時間間隔內(nèi)充滿污水,處理結(jié)束后,把上清液從反應(yīng)池中排出;把多余的生物污泥濃縮硝化、外運(yùn),而把適量的底部生物污泥留于反應(yīng)池內(nèi),用于下次污水處理。這樣周期性的運(yùn)行,就構(gòu)成了SBR處理工藝。在處理過程中,通過鼓風(fēng)機(jī)向反應(yīng)池曝氣,來補(bǔ)充反應(yīng)池內(nèi)的溶解氧。SBR反應(yīng)池中溶解氧濃度的高低直接影響有機(jī)物的去除效率和活性污泥的生長,所以DO濃度是SBR控制的重要控制參數(shù)[1],而且DO儀的構(gòu)造簡單、性能穩(wěn)定、響應(yīng)迅速、價格便宜便于與計算機(jī)接口,在本文中均以DO為被控參數(shù)。
1995年,Kennedy和Eberhart提出一種較為新穎的優(yōu)化算法——微粒群算法(Particle Swarm Optimization,PSO)[3],該算法是一種基于群體智能(Swarm Intelligence,SI)的優(yōu)化算法,即模擬鳥群覓食的過程。在PSO中,每個優(yōu)化問題的解都是搜索空間中的一只鳥,稱之為粒子(Particle)。所有的粒子都有一個由被優(yōu)化的函數(shù)決定的適應(yīng)度值(Fitness Value),每個粒子還有一個速度(Velocity)決定它們飛翔的方向和距離。PSO初始化為一群隨機(jī)粒子,然后粒子們就追隨當(dāng)前最優(yōu)粒子在解空間中搜索找到最優(yōu)解。在每一次迭代飛躍中,粒子通過跟蹤兩個“極值”來更新自己。第一個就是粒子自己找到的最優(yōu)解,稱個體極值(Pbest);另一個極值是整個粒子群目前找到的最優(yōu)解,稱全局極值(Gbest)。
假設(shè)用X=(Xi1,Xi2,…,Xid)表示第i個粒子,其中d是粒子的維數(shù),它經(jīng)歷過的最好位置表示為Pg=(Pi1,Pi2,Pi3,…,Pid),而整個群體經(jīng)歷過的最好位置表示為gb=(Pg1,Pg2,Pg3,…,Pgd)。粒子i的速度用V=(Vi1,Vi2,…,Vid)表示。對于每一代個體,在找到兩個最優(yōu)值時,粒子根據(jù)如下公式來更新自己的速度和位置,即
式中,w為慣性權(quán)重,random()是介于(0,1)之間的隨機(jī)數(shù),C1,C2是學(xué)習(xí)因子(或者稱為加速度系數(shù))。另外,粒子的每一維速度都會被一個最大速度Vmax限定,如果某一維的速度更新后的速度超過用戶設(shè)定的Vmax,那么這一維的速度就被限定為Vmax。
比例—積分—微分(Proportion Integration Differentiation,PID)控制器具有結(jié)構(gòu)簡單、容易實(shí)現(xiàn)、控制效果好、魯棒性強(qiáng)等特點(diǎn),而且原理簡明、參數(shù)物理意義明確、理論分析體系完整且為工程界所熟悉,因而在工業(yè)過程控制中至今仍得到廣泛應(yīng)用(占90%以上)。PID參數(shù)的整定與優(yōu)化一直是人們感興趣的問題,目前已有的方法有傳統(tǒng)的Z2N法、頻域法等以及新興的遺傳算法。其中,遺傳算法是一種較好的PID參數(shù)優(yōu)化方法,可是遺傳算法仍存在容易發(fā)生“早熟”、收斂慢、性能對參數(shù)有較大的依賴性等缺點(diǎn),限制了它的應(yīng)用。粒子群優(yōu)化算法是一類隨機(jī)全局優(yōu)化技術(shù),算法通過粒子間的相互作用發(fā)現(xiàn)復(fù)雜搜索空間中的最優(yōu)區(qū)域,能取得比傳統(tǒng)參數(shù)整定方法更令人滿意的結(jié)果。PSO優(yōu)化PID控制系統(tǒng)如圖2所示。DOs表示溶解濃度DO的設(shè)定值。
PID算法由下式描述:
圖2 PSO優(yōu)化RBF神經(jīng)網(wǎng)絡(luò)程序流程圖
PSO-PID參數(shù)整定就是利用PSO算法來優(yōu)化上述的3個參數(shù),其本質(zhì)是基于一定目標(biāo)函數(shù)的參數(shù)尋優(yōu)問題??闪钊后w中的粒子數(shù)為m,每個粒子的維數(shù)為D=3,即由PID控制器的3個參數(shù)Kp,Ki,Kd組成,則群體可以用一個m×D的矩陣來表示。目標(biāo)函數(shù)即適度函數(shù)本文采用了能反映系統(tǒng)調(diào)節(jié)品質(zhì)的ITAE的倒數(shù),ITAE是時間乘絕對誤差的積分[4]。
式中,e(t)為當(dāng)前微粒產(chǎn)生的誤差。
用Ji表示微粒當(dāng)前的適應(yīng)值,Jibest表示個體歷史最好適應(yīng)值,Jgbest表示全局經(jīng)歷過的最好適應(yīng)值。
最優(yōu)參數(shù)的整定步驟如下:
(1)根據(jù)經(jīng)驗(yàn)確定PID參數(shù)的范圍以及PSO算法的控制參數(shù)Vmax后,在參數(shù)范圍里初始化一群微粒即隨機(jī)產(chǎn)生位置Xi與速度Vi;
(2)確定每個微粒的適應(yīng)值Ji,利用單位階躍響應(yīng)通過仿真運(yùn)算得到ITAE后求出Ji;
(3)對每個微粒:如果 Ji>Jibest,則 Jibest=Ji,Pi=Xi;如果 Ji>Jgbest,則 Jgbest=Ji,Pg=Xi;
(4)利用式(1)和式(2)更新微粒的速度與位置;
(5)如未達(dá)到結(jié)束條件(如預(yù)設(shè)的代數(shù)),返回步驟(2)。
徑向基函數(shù)(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡(luò)是一種具有全局逼近能力、結(jié)構(gòu)簡單、計算量少的多層前饋神經(jīng)網(wǎng)絡(luò),目前已被廣泛應(yīng)用于模式識別、自動控制、函數(shù)逼近、非線性時間序列預(yù)測等多個領(lǐng)域。RBF神經(jīng)網(wǎng)絡(luò)的非線性映射能力體現(xiàn)在隱層徑向基函數(shù)上,其特性主要由徑向基函數(shù)的中心確定?;瘮?shù)中心的確定方法有多種,如正交優(yōu)選法、遞推Givens變換算法等。正交優(yōu)選法可以自動確定最佳的隱層數(shù)目和網(wǎng)絡(luò)輸出權(quán)值,但隱含層中心點(diǎn)取值為輸入數(shù)據(jù),因此很難反映出系統(tǒng)真正的輸入輸出關(guān)系,并且初始中心點(diǎn)數(shù)太多,在優(yōu)選過程中會出現(xiàn)數(shù)據(jù)病態(tài)現(xiàn)象,當(dāng)正交過程中所選取的正交向量超過一定數(shù)目后,將難以進(jìn)一步選出正交向量;遞推Givens變換算法雖然解決了遞推最小二乘的數(shù)據(jù)病態(tài)問題,但是計算量較大,并且在學(xué)習(xí)過程中不能找到網(wǎng)絡(luò)實(shí)際所需的隱層神經(jīng)元數(shù)目。粒子群算法在函數(shù)優(yōu)化和神經(jīng)網(wǎng)絡(luò)權(quán)值訓(xùn)練等方面都有很好的表現(xiàn)[5],其對RBF神經(jīng)網(wǎng)絡(luò)的編碼和適應(yīng)度函數(shù)如下。
(1)編碼方式。微粒編碼采用實(shí)數(shù)編碼,其中應(yīng)包括基函數(shù)中心值、網(wǎng)絡(luò)權(quán)值和方差,在污水處理過程的優(yōu)化設(shè)計中選取了溶解氧DO濃度作為主要控制變量,根據(jù)適應(yīng)度函數(shù)溶解氧DO預(yù)測的準(zhǔn)備性動態(tài)調(diào)整各個參數(shù)。
(2)適應(yīng)度函數(shù)獲取。在粒子群算法的實(shí)際運(yùn)用中,適應(yīng)度函數(shù)是由目標(biāo)函數(shù)變換而成的。根據(jù)本污水處理系統(tǒng),選取相應(yīng)期望輸出值和神經(jīng)網(wǎng)絡(luò)輸出值差的平方為適應(yīng)度函數(shù)。
這里選取在污水處理過程中的一組數(shù)據(jù)通過RBF網(wǎng)絡(luò)進(jìn)行建模,化學(xué)需氧量和曝氣量為輸入,預(yù)測溶解氧DO輸出的值。然后再通過PSO算法對RBF網(wǎng)絡(luò)進(jìn)行優(yōu)化,進(jìn)而通過微粒群優(yōu)化的RBF網(wǎng)絡(luò)建模預(yù)測溶解氧的值。圖3為經(jīng)過優(yōu)化的RBF網(wǎng)絡(luò)和未經(jīng)優(yōu)化的RBF網(wǎng)絡(luò)對比圖。
圖3 RBF和PSO-RBF對溶解氧DO的預(yù)測曲線
圖3中,藍(lán)色為實(shí)際溶解氧DO曲線,紅色為RBF預(yù)測溶解氧DO曲線,黑色為經(jīng)過優(yōu)化的RBF預(yù)測溶解氧DO曲線。由上圖可以看出經(jīng)過優(yōu)化的RBF網(wǎng)絡(luò)對數(shù)據(jù)預(yù)測的精度有了很大的提高,也說明了PSO算法在RBF優(yōu)化中的適用性。
反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)是一種有效的自學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),具有一些獨(dú)特的性質(zhì):信息的分布式存儲和并行處理,具有自組織、自學(xué)習(xí)能力等,已經(jīng)被廣泛應(yīng)用于模式識別、知識工程、智能控制等方面。盡管在諸多應(yīng)用領(lǐng)域取得了巨大的成功,然而仍存在著一些問題。①學(xué)習(xí)算法的收斂速度慢;②局部極小問題;③BP神經(jīng)網(wǎng)絡(luò)隱層神經(jīng)元的個數(shù)選取目前尚無理論上的依據(jù),只能根據(jù)經(jīng)驗(yàn)選取。
PSO用于訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)的方法[6]是:粒子群中每個粒子的位置表示BP網(wǎng)絡(luò)中當(dāng)前迭代中的權(quán)值集合,每個粒子的維數(shù)由網(wǎng)絡(luò)中起連接作用的權(quán)值的數(shù)量和閾值個數(shù)決定。以給定訓(xùn)練樣本集的神經(jīng)網(wǎng)絡(luò)輸出誤差作為神經(jīng)網(wǎng)絡(luò)訓(xùn)練問題的適應(yīng)函數(shù),適應(yīng)度值表示神經(jīng)網(wǎng)絡(luò)的誤差,誤差越小則表明粒子在搜索中具有更好的性能。粒子在權(quán)值空間內(nèi)移動搜索使得網(wǎng)絡(luò)輸出層的誤差最小,改變粒子的速度即更新網(wǎng)絡(luò)的權(quán)值,以減少均方誤差。通過這種方式,PSO優(yōu)化搜索訓(xùn)練神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值來獲得更小的均方誤差。每次迭代過程中產(chǎn)生均方誤差最小的粒子為目前全局最優(yōu)的粒子。BP網(wǎng)絡(luò)采用隱層數(shù)目可變的方法,即一開始放入較多的隱層節(jié)點(diǎn),隨著訓(xùn)練過程的進(jìn)行,逐步修減掉在網(wǎng)絡(luò)訓(xùn)練中不起作用的節(jié)點(diǎn)。對于每一神經(jīng)元,若在訓(xùn)練過程中,其連接權(quán)的數(shù)值的絕對值小于事先確定的數(shù)值,則刪除此神經(jīng)節(jié)點(diǎn)。算法流程圖如圖4所示。
PSO算法具有概念簡單、易于實(shí)現(xiàn)、以及較強(qiáng)的全局收斂能力和魯棒性等優(yōu)點(diǎn),但是它同時也具有智能群體算法的固有缺陷,容易陷入局部最優(yōu)[7]。在污水處理控制系統(tǒng)優(yōu)化中常用的改進(jìn)PSO算法有以下幾種。
(1)預(yù)篩選機(jī)制。首先產(chǎn)生大量的微粒,然后計算各微粒的適應(yīng)值,并根據(jù)適應(yīng)值的大小對微粒進(jìn)行排序,從中選出較優(yōu)的若干微粒,最后對所選較優(yōu)微粒做進(jìn)一步的搜索。
圖4 PS O優(yōu)化BP神經(jīng)網(wǎng)絡(luò)程序流程圖
(2)分工合作的思想引入到算法中,簡單地將微粒分成幾個不同的群,分別賦與不同的慣性權(quán)重,即給部分微粒賦與較大的慣性權(quán)重,這部分微粒主要承擔(dān)拓展搜索空間、尋找好的區(qū)域的任務(wù);同時給部分微粒賦與較小的慣性權(quán)重,這部分微粒主要承擔(dān)在已經(jīng)搜索到的最優(yōu)區(qū)域里進(jìn)行局部搜索的工作。這樣對微粒進(jìn)行分群,避免了在代數(shù)的增長的過程中調(diào)整慣性權(quán)重的困難工作,較好地協(xié)調(diào)了算法的局部與全局搜索能力。
(3)學(xué)習(xí)因子改進(jìn)。在粒子群優(yōu)化算法中,加速系數(shù)C1和C2分別控制“認(rèn)知”部分和“社會”部分對粒子速度的影響。一般來講,在基于種群的優(yōu)化方法中,總是希望個體在初始階段能夠在整個尋優(yōu)空間進(jìn)行搜索,不至于過早陷入局部值;而在結(jié)束階段能夠提高算法收斂速度和精度,有效地尋找到全局最優(yōu)解。因此,我們可以在進(jìn)化過程中動態(tài)的調(diào)整加速系數(shù)C1和C2的值,使得在算法的初始階段,具有大的“認(rèn)知”部分(C1)和小的“社會”部分(C2),以利于算法在整個尋優(yōu)空間進(jìn)行搜索;而在算法后期,應(yīng)有小的“認(rèn)知”部分(C1)和大的“社會”部分(C2),更利于算法收斂于全局最優(yōu)解,提高算法收斂速度和精度。為此,取C1和C2分別如下:
式中Maxiter和iter分別為算法最大疊代次數(shù)和當(dāng)前代數(shù)。Cstart和Cend為C2的初始值和最終值,0<Cend<Cstart≤4。
(4)慣性慣性權(quán)值改進(jìn)。固定權(quán)值的選擇就是選擇某一常數(shù)為慣性權(quán)值,在優(yōu)化過程中不變。然而在實(shí)驗(yàn)中的效果并不十分理想,所以開始研究慣性權(quán)值w對優(yōu)化性能的影響,發(fā)現(xiàn)較大的w值有利于跳出局部極小點(diǎn),而較小的 w值有利于算法收斂,提出了一種根據(jù)算法疊代次數(shù)使慣性權(quán)值線性遞減的方法。算法在初期使用較大慣性權(quán)值,具有較強(qiáng)的全局搜索能力,后期則使用較小慣性權(quán)值,提高局部搜索能力。為了找到一種能在全局搜索和局部搜索之間取得最佳平衡的慣性權(quán)值選取方法,研究人員進(jìn)行了大量的研究工作,先后提出了線形遞減權(quán)值(LDIW)策略[8]、模糊慣性權(quán)值(FIW)策略[9]和隨機(jī)慣性權(quán)值(RIW)策略[10]。
慣性權(quán)重的函數(shù)形式通常為
式中,wmax為初始權(quán)重;wmin為最終權(quán)重;itermax為最大迭代次數(shù);k為當(dāng)前迭代次數(shù)。這個函數(shù)使得微粒群算法在剛開始時候傾向于發(fā)掘,然后逐漸轉(zhuǎn)向于開拓,從而在局部區(qū)域調(diào)整解。這些改進(jìn)使得微粒群算法的性能得到很大的提高。
(5)動態(tài)改變最大速度。最大速度決定在當(dāng)前位置與最優(yōu)位置之間區(qū)域的分辨率。同慣性權(quán)重w一樣,它也起著平衡全局和局部搜索能力的作用。一般將速度限定值Vmax設(shè)置為每維變量的變化范圍。如果Vmax太高,微粒可能飛過好解;如果Vmax太小,微粒不能在局部區(qū)間之外進(jìn)行足夠的搜索,導(dǎo)致陷入局部優(yōu)值[11]。
該限制有3個目的:①防止計算溢出;②實(shí)現(xiàn)人工學(xué)習(xí)和態(tài)度轉(zhuǎn)變;③決定問題空間搜索的粒度。
在搜索的前期,需要最大速度盡量大,使微粒能夠進(jìn)行全局尋優(yōu),而隨著迭代的進(jìn)行,最大速度應(yīng)該越來越小,使微粒以較小的最大速度進(jìn)行局部尋優(yōu)。為了跳出局部最優(yōu)需要較大的步長,而在接近最優(yōu)值時,采用更小的步長會更好。設(shè)置較大的Vmax可以保證粒子群的全局搜索能力,較小的Vmax則使粒子群的局部搜索能力加強(qiáng)。所以,最大速度Vmax應(yīng)該按照下式動態(tài)減小:
對微粒群優(yōu)化算法的研究尚處于初期,還有許多問題有待解決。而把微粒群算法應(yīng)用于污水處理系統(tǒng)中的研究就更少。本文參考大量文獻(xiàn),對微粒群算法在污水處理控制系統(tǒng)中的優(yōu)化問題進(jìn)行了總結(jié)和論述,但是還有許多工作要做,例如應(yīng)用哪種控制方法能產(chǎn)生最滿意的結(jié)果,微粒群算法的哪種改進(jìn)方法在污水處理系統(tǒng)中能產(chǎn)生最好的效益等還有待進(jìn)一步研究。本文簡要介紹了污水處理中微粒群算法的應(yīng)用以及污水處理系統(tǒng)中的各種改進(jìn)微粒群算法,希望對在污水處理中研究微粒群算法的讀者有所啟發(fā)。
[1]李 駿.SBR污水處理工藝的模糊控制[D].上海:上海交通大學(xué)2003:1-35.
[2]于廣平,張 平,魏松巖,等.仿人智能PID控制及在污水處理溶解氧控制中的應(yīng)用[J].微計算機(jī)信息,2006,22(2-1):13-15.
[3]Kennedy J,Eberhart R.Particle swarm optimization[C]//Pro IEEE Int Conf on Neural Networks.Perth,1995:1942-1948.
[4]邵會鋒.改進(jìn)粒子群算法在PID參數(shù)整定中的應(yīng)用[J].電氣傳動自動化,2010,32(2):22-24.
[5] 曾建潮,介 婧,崔志華.微粒群算法[M].北京:科學(xué)出版社,2004:5.
[6]沈?qū)W利,張紅巖,張紀(jì)鎖.改進(jìn)粒子群算法對BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化[J].計算機(jī)系統(tǒng)應(yīng)用,2010,19(2):57-61.
[7]Eberhart R, Shi Y.A modified particle swarm optimizer[C]//IEEE World Congress on Computational Intellig-ence,1998,69-73.
[8]Shi Y,Eberhart R.Empirical study of particle swarm optimization[C]//International Conference on Evolutionary Computation.Washington,USA:IEEE,1999:1945-1950.
[9]Shi Y,Eberhart R.Fuzzy adapitve swarm optimization[C]//The IEEE Congress on Evolutionary Computation.San.Francisco,USA:IEEE,2001:101-106.
[10]Eberhart R,Shi Y.T racking and optimizing dynamic systems with particle swarms[C]//The IEEE Congersson Evolutionary Computation.San Francisco,USA:IEEE,2001:94-100.
[11] 康 琦,張 燕,汪 鐳,等.智能微粒群算法[J].冶金自動化,2005(4):529-532.