張 鈺, 王 蕾, 周紅標(biāo), 趙環(huán)宇
(淮陰工學(xué)院 自動(dòng)化學(xué)院,江蘇 淮安 223003)
Kennedy等人于1995年提出的粒子群優(yōu)化算法具有概念簡(jiǎn)明、參數(shù)易調(diào)節(jié)、計(jì)算效率高和優(yōu)化精度好的優(yōu)點(diǎn),因此被廣泛應(yīng)用于解決現(xiàn)實(shí)生活中各個(gè)領(lǐng)域的優(yōu)化問(wèn)題[1-4]。但是,隨著優(yōu)化問(wèn)題復(fù)雜度的提高,傳統(tǒng)PSO算法的尋優(yōu)效率越來(lái)越低。例如,在解決復(fù)雜的多峰測(cè)試問(wèn)題時(shí),PSO算法存在早熟收斂現(xiàn)象,容易陷入局部最優(yōu)[5-8]。在PSO算法中,種群中的每個(gè)粒子都代表待優(yōu)化問(wèn)題的一個(gè)潛在解,其中粒子狀態(tài)利用速度向量和位置向量進(jìn)行表征。在粒子進(jìn)化過(guò)程中,PSO算法中更新策略的主要目的是推動(dòng)種群逼近全局最優(yōu)解。然而,當(dāng)全局最優(yōu)解周圍存在多個(gè)局部最優(yōu)時(shí),種群在飛行過(guò)程中有可能會(huì)陷入局部最優(yōu)[9-12]。因此,如何調(diào)整PSO算法的飛行參數(shù)或重新設(shè)計(jì)進(jìn)化機(jī)制以提高種群的多樣性和優(yōu)化解的精度是亟待解決的問(wèn)題。
為了解決此問(wèn)題,研究者提出了多種不同的進(jìn)化策略。文獻(xiàn)[13]提出了一種改進(jìn)的分類思想策略,通過(guò)對(duì)粒子群進(jìn)行分類,進(jìn)而給不同類設(shè)置不同的慣性權(quán)重系數(shù)和學(xué)習(xí)因子來(lái)平衡粒子的全局探索能力和局部搜索能力。仿真結(jié)果表明,所提策略能夠提升算法的收斂速度和尋優(yōu)精度。文獻(xiàn)[14]提出了基于協(xié)同進(jìn)化的PSO算法DDAPSO,將混沌、自適應(yīng)、非線性和共同演化等諸多策略進(jìn)行有機(jī)集成。仿真結(jié)果表明,該策略能夠起到防止算法陷入局部最優(yōu)的作用。文獻(xiàn)[15]提出了一種基于雙指數(shù)自適應(yīng)慣性權(quán)重的PSO算法GPSO-AW。仿真結(jié)果表明,該策略不僅能夠加快算法的收斂速度,而且能夠在一定程度上避免算法陷入局部最優(yōu)。文獻(xiàn)[16]提出社會(huì)粒子群算法,通過(guò)為每個(gè)個(gè)體設(shè)置不同的從眾閾值,相應(yīng)地決定個(gè)體是跟隨其他個(gè)體還是維持目前狀態(tài)、或是自由運(yùn)動(dòng),以保持種群中個(gè)體的多樣性,避免算法早熟收斂。文獻(xiàn)[17]提出混合粒子群算法,對(duì)加速因子采取動(dòng)態(tài)自適應(yīng)調(diào)整策略;采用混沌序列替代標(biāo)準(zhǔn)粒子群中的隨機(jī)數(shù);建立平均粒距、適應(yīng)度方差并采用混沌算子擾動(dòng)微粒的位置來(lái)跳出局部最優(yōu)。增強(qiáng)了跳出局部最優(yōu)的能力。文獻(xiàn)[18]提出基于學(xué)習(xí)與競(jìng)爭(zhēng)的改進(jìn)PSO算法LC-PSO,讓種群中的個(gè)體通過(guò)競(jìng)爭(zhēng)和學(xué)習(xí)策略替代原有的PSO算法迭代公式,該方法能夠在不增加PSO算法復(fù)雜度的情況下,克服基本PSO算法的不足,但算法陷入局部最優(yōu)的可能性依然較大。文獻(xiàn)[19]提出新穎的CGCSO,通過(guò)柯西高斯變異更新勝利者的位置,提高種群的開(kāi)發(fā)能力;利用環(huán)形拓?fù)浣Y(jié)構(gòu)信息傳遞速度慢的特點(diǎn),將其用于勝利者的學(xué)習(xí)過(guò)程,增強(qiáng)種群的多樣性;采用可行解優(yōu)先的約束處理技術(shù),使該算法能夠處理約束優(yōu)化問(wèn)題,該方法在一定程度上提高了算法的性能。
盡管上述PSO算法都通過(guò)各自所提策略增強(qiáng)了算法跳出局部最優(yōu)的能力,但是這些算法中粒子的追隨目標(biāo)仍然以全局最優(yōu)為主,陷入局部最優(yōu)的可能性依然存在[20]。因此,在不過(guò)多增加算法復(fù)雜度的前提下,通過(guò)重新設(shè)計(jì)傳統(tǒng)PSO算法的進(jìn)化機(jī)制,增強(qiáng)種群多樣性,避免陷入局部最優(yōu),仍然值得進(jìn)一步的研究。
為了取得全局探索和局部開(kāi)發(fā)的最佳平衡,本文提出了一種基于競(jìng)爭(zhēng)學(xué)習(xí)思想的進(jìn)化策略,并將其集成到基本PSO算法中,構(gòu)建了CLPSO(competitive learning-based PSO)算法。在CLPSO中,通過(guò)將種群動(dòng)態(tài)地分成3個(gè)子群,并為每個(gè)子群中的粒子設(shè)計(jì)不同的進(jìn)化機(jī)制,從而增強(qiáng)種群多樣性,提高局部搜索能力,避免了粒子對(duì)全局最優(yōu)粒子的盲目跟隨,克服了在求解多峰問(wèn)題時(shí)容易陷入局部最優(yōu)的缺陷。
在PSO算法中,每個(gè)粒子的自身狀態(tài)都由一組位置和速度向量描述,分別表示問(wèn)題的可行解和它在搜索空間中的運(yùn)動(dòng)方向。在飛行過(guò)程中,粒子通過(guò)不斷地學(xué)習(xí)它所發(fā)現(xiàn)的全局最優(yōu)解和自身歷史最優(yōu)解,實(shí)現(xiàn)全局最優(yōu)搜索。粒子的速度和位置更新公式如下:
vij(t+1)=wvij(t)+c1r1(pbest ij(t)-xij(t))+
c2r2(gbest j(t)-xij(t))
(1)
xij(t+1)=xij(t)+vij(t+1)
(2)
其中:w為慣性權(quán)重,表明粒子的歷史速度信息對(duì)當(dāng)前速度的影響,主要用來(lái)權(quán)衡算法的局部搜索和全局搜索;c1和c2為加速度因子,能夠調(diào)節(jié)個(gè)體認(rèn)知部分和社會(huì)部分在粒子群飛行速度中所占比重;r為[0,1]的隨機(jī)數(shù),pbest為粒子在飛行過(guò)程中的歷史個(gè)體最優(yōu)位置,gbest為所有粒子飛行過(guò)程中的全局最優(yōu)位置;v為粒子速度,通常將粒子的速度限制在[-vmax,vmax],粒子的速度大小也可以通過(guò)慣性權(quán)重來(lái)平衡;x為粒子的位置,即待優(yōu)化問(wèn)題的可行解,通常需要把粒子的搜索范圍限定在[-xmax,xmax]。
首先闡述本文的研究動(dòng)機(jī)。傳統(tǒng)PSO算法的缺陷如圖1所示,其中,x1(t)與x2(t)表示種群里的兩個(gè)隨機(jī)粒子。當(dāng)粒子的適應(yīng)度值小于局部最優(yōu)值、個(gè)體最優(yōu)pbest的位置將遠(yuǎn)離全局最優(yōu)而靠近局部最優(yōu)時(shí),由于粒子群在進(jìn)化過(guò)程中的飛行狀態(tài)總是追隨個(gè)體最優(yōu)位置pbest和全局最優(yōu)位置gbest,因此一旦粒子的gbest陷入局部最優(yōu),種群將不可避免地陷入局部最優(yōu)。這種現(xiàn)象在復(fù)雜的多峰測(cè)試問(wèn)題中表現(xiàn)尤為明顯,如圖1(a)所示。另一種情況,粒子飛行狀況良好,其適應(yīng)度值介于局部最優(yōu)值與全局最優(yōu)值之間,此時(shí)pbest位置不趨近局部最優(yōu)而是靠近全局最優(yōu),而種群的部分劣質(zhì)粒子由于只追隨個(gè)體最優(yōu)pbest和全局最優(yōu)gbest,依然逃不過(guò)局部最優(yōu)的限制,在進(jìn)化過(guò)程中的適應(yīng)度值還未達(dá)到pbest的值時(shí),就已陷入局部最優(yōu)。即使有部分優(yōu)良粒子可能跳出局部最優(yōu),也會(huì)消耗大量的時(shí)間。如圖1(b)所示。因此,為了增強(qiáng)種群的多樣性和提高種群跳出局部最優(yōu)的能力,本文重新定義粒子的更新機(jī)制和學(xué)習(xí)策略,設(shè)計(jì)了一套新穎的競(jìng)爭(zhēng)學(xué)習(xí)機(jī)制。
圖1 傳統(tǒng)PSO算法的缺陷
在CLPSO算法中,我們改變了原有粒子的更新策略和學(xué)習(xí)方式。主要體現(xiàn)在粒子更新過(guò)程中,避開(kāi)了對(duì)pbest和gbest的盲目追隨,讓所有的粒子通過(guò)“競(jìng)爭(zhēng)上崗”的方式以一定的機(jī)率參與或引導(dǎo)整個(gè)種群的狀態(tài)更新。圖2給出了競(jìng)爭(zhēng)學(xué)習(xí)策略的優(yōu)勢(shì)示意圖,其中xP(t)、xR(t)和xA(t)分別代表位于優(yōu)選區(qū)、合理區(qū)和疏離區(qū)的粒子子群。在CLPSO算法中,優(yōu)選區(qū)粒子通過(guò)自我變異進(jìn)行更新從而增強(qiáng)種群的多樣性;疏離區(qū)粒子以優(yōu)選區(qū)粒子為學(xué)習(xí)目標(biāo)從而加快收斂速度;合理區(qū)粒子的學(xué)習(xí)目標(biāo)在種群gbest和優(yōu)選區(qū)粒子之間進(jìn)行競(jìng)爭(zhēng)選擇從而平衡算法的探索和開(kāi)發(fā)能力。這樣,即使種群陷入局部最優(yōu),仍然會(huì)有部分活躍粒子進(jìn)行狀態(tài)的更新,不但不會(huì)造成種群停滯,反而會(huì)擴(kuò)大種群的尋優(yōu)空間,使算法增大跳出局部最優(yōu)的機(jī)率。CLPSO算法有效避免了傳統(tǒng)PSO算法以單一pbest或gbest作為學(xué)習(xí)對(duì)象時(shí)存在的局限性。
圖2 競(jìng)爭(zhēng)學(xué)習(xí)策略的優(yōu)勢(shì)
本文提出新穎的競(jìng)爭(zhēng)學(xué)習(xí)機(jī)制來(lái)指導(dǎo)粒子調(diào)整飛行狀態(tài),起到提高PSO處理復(fù)雜多峰優(yōu)化問(wèn)題能力的目的。競(jìng)爭(zhēng)學(xué)習(xí)機(jī)制的核心是將種群分類。傳統(tǒng)的PSO算法中粒子的更新方式單一,所有的粒子不論好壞共用同一種更新方式,因此種群缺乏多樣性易陷入局部最優(yōu)。本文所提算法則針對(duì)已分組的3組粒子的各自特點(diǎn),設(shè)計(jì)3種獨(dú)特的更新策略,使每個(gè)粒子都能及時(shí)調(diào)整飛行狀態(tài),向全局最優(yōu)靠近,最終3個(gè)子群的輸出形成新種群P(t+1)。
在CLPSO中,通過(guò)自適應(yīng)分區(qū)操作,每個(gè)粒子都參與了適應(yīng)度值競(jìng)爭(zhēng),增強(qiáng)了種群的多樣性,擴(kuò)大了粒子的搜索范圍,能夠有效避免種群陷入局部最優(yōu)。下面具體介紹子群的劃分依據(jù)和每個(gè)子群的更新策略。
首先,求出所有粒子的適應(yīng)度值,按照從小到大排序,再根據(jù)適應(yīng)度值的平均值和標(biāo)準(zhǔn)差對(duì)種群中粒子進(jìn)行分組。平均值和標(biāo)準(zhǔn)差的具體計(jì)算公式如下:
(3)
(4)
在劃分子群時(shí),首先標(biāo)記出最靠近平均適應(yīng)度值的粒子,再以標(biāo)準(zhǔn)差為半徑設(shè)定合理區(qū)粒子的范圍,進(jìn)一步得出疏離區(qū)粒子和優(yōu)選區(qū)粒子。子群劃分如圖3所示。
圖3 子群劃分圖
針對(duì)不同的子群,本文分別設(shè)計(jì)了不同的更新機(jī)制。優(yōu)選區(qū)粒子距離種群最優(yōu)位置較近,為了避免陷入局部最優(yōu),需要增強(qiáng)全局探索能力,因此利用改進(jìn)的柯西公式設(shè)計(jì)了自我變異的更新機(jī)制。 變異后的柯西公式即為優(yōu)選區(qū)粒子更新公式如下:
(5)
(6)
疏離區(qū)粒子距離種群最優(yōu)位置較遠(yuǎn),為了加快向可能的全局最優(yōu)解逼近的速度,該區(qū)域粒子主要是向優(yōu)選區(qū)粒子進(jìn)行學(xué)習(xí)。
疏離區(qū)粒子更新公式為:
(7)
合理區(qū)粒子需要自適應(yīng)平衡全局搜索和局部開(kāi)發(fā),因此為合理區(qū)粒子設(shè)計(jì)了競(jìng)爭(zhēng)切換機(jī)制。合理區(qū)粒子更新公式分兩種情況:1)當(dāng)種群未陷入局部最優(yōu)時(shí),合理區(qū)粒子采用傳統(tǒng)的粒子更新方式(公式(1)、(2))來(lái)更新?tīng)顟B(tài),目的是保證種群向全局最優(yōu)解逐步逼近,保證算法收斂性;2)當(dāng)種群陷入局部最優(yōu)時(shí),粒子當(dāng)前位置的適應(yīng)度值與上一次迭代產(chǎn)生的適應(yīng)度值相同,即f(xi)t-f(xi)t-1=0時(shí),合理區(qū)粒子采用公式(5)來(lái)更新?tīng)顟B(tài),目的是通過(guò)自身變異增強(qiáng)種群搜索能力,增加跳出局部最優(yōu)的機(jī)率。
表1給出了CLPSO算法的偽代碼。首先計(jì)算初始種群的適應(yīng)度值并排序,其次按照本文提出的分組標(biāo)準(zhǔn)進(jìn)行具體分組,然后按照上述公式進(jìn)行更新形成新的種群,直到滿足要求的迭代次數(shù)才輸出最優(yōu)解,否則新的種群繼續(xù)從第一步重復(fù)迭代。
表1 CLPSO偽代碼
首先假定粒子群規(guī)模為N,粒子維數(shù)為D,在原始PSO算法中,粒子每進(jìn)行一次迭代,計(jì)算復(fù)雜度為O(N)。與PSO不同,CLPSO的計(jì)算復(fù)雜度主要體現(xiàn)在:1) 粒子每次迭代采用的學(xué)習(xí)公式的復(fù)雜度為O(D×N);2) 計(jì)算適應(yīng)度的均值,其算法復(fù)雜度為O(N+1);3) 以滿足要求的迭代次數(shù)Ite作為終止算法的條件,其算法的整體復(fù)雜度為O(Ite×N×D)。因此,CLPSO算法整體復(fù)雜度為O(Ite×N×D)。該算法理論復(fù)雜度理論上高于經(jīng)典PSO算法,并且該算法的復(fù)雜度會(huì)隨著粒子個(gè)數(shù)以及維數(shù)的增加而增加,但在求解時(shí)間和效率上,CLPSO算法具有良好的求解性能。
為了驗(yàn)證CLPSO算法的性能,本文采用了12個(gè)基準(zhǔn)測(cè)試函數(shù)進(jìn)行驗(yàn)證,測(cè)試函數(shù)信息如表2所示。前7個(gè)函數(shù)為單峰函數(shù),其余的均為多峰函數(shù),并且多個(gè)測(cè)試函數(shù)具有大量的局部極小值,能夠檢驗(yàn)CLPSO處理多峰問(wèn)題的能力。
表2 測(cè)試函數(shù)
為了展示CLPSO算法的優(yōu)勢(shì),本文選擇了4個(gè)典型的PSO變體與CLPSO進(jìn)行比較,分別是基本PSO、帶有自適應(yīng)慣性權(quán)重的全局PSO(GPSO-AW)、DDAPSO、LC-PSO。具體參數(shù)設(shè)置如表3所示。為了確保使用不同算法來(lái)進(jìn)行實(shí)驗(yàn)對(duì)比的公正性,實(shí)驗(yàn)時(shí),測(cè)試函數(shù)的維數(shù)D設(shè)為20,種群規(guī)模N設(shè)為40,最大值迭代次數(shù)tmax設(shè)為5 000,每個(gè)算法獨(dú)立運(yùn)行100次。
表3 算法參數(shù)設(shè)置
表4給出了不同算法在12個(gè)基準(zhǔn)測(cè)試函數(shù)上的性能比較結(jié)果。圖4給出了5種算法分別在12個(gè)基準(zhǔn)測(cè)試函數(shù)的收斂性能比較。分析表4與圖4可以看出,對(duì)于f1~f7這7個(gè)單峰測(cè)試函數(shù),CLPSO的收斂速度明顯比其他4種算法快很多,表明CLPSO在處理單目標(biāo)問(wèn)題時(shí)效率較高,性能較好。在其他機(jī)組多峰函數(shù)測(cè)試中,DDAPSO在f8函數(shù)上表現(xiàn)最好,對(duì)于f9-f12這4個(gè)函數(shù),CLPSO的收斂速度最快,尤其在f11與f12上表現(xiàn)處更優(yōu)秀的收斂速度,雖然CLPSO有著創(chuàng)新思路,但在算法性能各方面不可能超越全部變體算法,能超越大部分算法的性能,結(jié)果可視為較為滿意。實(shí)驗(yàn)結(jié)果表明,相比傳統(tǒng)PSO、GPSO-AW、DDAPSO和LC-PSO這4種變體算法,CLPSO算法在處理多峰問(wèn)題上依然具有較大的優(yōu)勢(shì)。究其原因,當(dāng)種群遭遇陷入局部最優(yōu)的問(wèn)題時(shí),CLPSO算法采用的競(jìng)爭(zhēng)策略使得優(yōu)選區(qū)粒子仍保持較大活性,同時(shí)疏離區(qū)粒子與合理區(qū)的粒子都依然有全新的追隨目標(biāo)進(jìn)行自身飛行狀態(tài)的更新,這使得粒子群能夠通過(guò)自適應(yīng)變異跳出局部最優(yōu),繼而增大尋優(yōu)精度。
圖4 不同PSO變體算法在12種基準(zhǔn)測(cè)試函數(shù)上的進(jìn)化曲線
表4 不同算法性能比較數(shù)據(jù)
模糊神經(jīng)網(wǎng)絡(luò)(FNN,fuzzy neural network)一直存在難以選取合理的學(xué)習(xí)參數(shù)的問(wèn)題,而粒子群算法具有參數(shù)易調(diào)節(jié)、計(jì)算效率高、實(shí)現(xiàn)方便等優(yōu)勢(shì),因此將粒子群算法用于優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)而提高網(wǎng)絡(luò)性能已成為研究熱點(diǎn)。粒子群算法性能越好,模糊神經(jīng)網(wǎng)絡(luò)的性能也會(huì)被優(yōu)化的越好。因此為了進(jìn)一步驗(yàn)證CLPSO的性能,在本節(jié)采用CLPSO算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)的中心和寬度參數(shù)(FNN的最優(yōu)權(quán)值參數(shù)采用最小二乘法求解),構(gòu)建CLPSO-FNN模型,實(shí)現(xiàn)污水處理過(guò)程出水氨氮(NH4-N)預(yù)測(cè)。
FNN是在神經(jīng)網(wǎng)絡(luò)(neural network)和模糊系統(tǒng)(fuzzy systems)的基礎(chǔ)上發(fā)展起來(lái)的,是一個(gè)集語(yǔ)言計(jì)算、邏輯推理、分布式處理和非線性動(dòng)力學(xué)過(guò)程為一身的系統(tǒng)。作為新的智能信息處理方法,它具有良好的發(fā)展前景,受到廣泛關(guān)注。模糊神經(jīng)網(wǎng)絡(luò)是模糊系統(tǒng)與人工神經(jīng)網(wǎng)絡(luò)的結(jié)合。
模糊神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖5所示。
圖5 模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
第一層:輸入層。每個(gè)神經(jīng)元接受一個(gè)輸入數(shù)據(jù)信號(hào)xi,并向下一層傳遞每個(gè)節(jié)點(diǎn)為輸入節(jié)點(diǎn)xi。只有輸入信號(hào)才能被傳遞到網(wǎng)絡(luò)的下一層。
第二層:隸屬函數(shù)層。該層功能是對(duì)輸入層進(jìn)行模糊化操作,計(jì)算輸入變量屬于各模糊集的模糊隸屬度。節(jié)點(diǎn)的激勵(lì)函數(shù)是各條模糊規(guī)則的前提中的各模糊集的隸屬度函數(shù),每個(gè)隸屬度函數(shù)為高斯隸屬度函數(shù)(sigmod),由不確定均值[mij1,mij2]和固定標(biāo)準(zhǔn)差(STD)σij的表示。函數(shù)表示如下:
N(mij,σij;xi(1)),mij∈[mij1,mij2]
(8)
(9)
第四層:規(guī)范化層。經(jīng)過(guò)去模糊化處理,實(shí)現(xiàn)中心去模糊,它和第三次的連接權(quán)重wij是第j條規(guī)則的第i個(gè)輸出模糊集的隸屬度函數(shù)的中心點(diǎn)值,可以得到一個(gè)合理的值。
(10)
(11)
為了獲得更好的評(píng)價(jià)精度,采用CLPSO算法對(duì)FNN參數(shù)進(jìn)行校正。其原理是將FNN初始化的一組參數(shù)包括中心值、寬度值輸入CLPSO算法,利用CLPSO的尋優(yōu)能力,找到一組最適合FNN的參數(shù)后反饋給FNN使用。帶自適應(yīng)學(xué)習(xí)策略的粒子群優(yōu)化算法通過(guò)根據(jù)種群本身的分布情況進(jìn)行自適應(yīng)的子群劃分和粒子更新,避免了陷入局部最優(yōu),提高了參數(shù)優(yōu)化的準(zhǔn)確性。CLPSO的自適應(yīng)特征自適應(yīng)學(xué)習(xí)策略可以使FNN模型來(lái)確定最優(yōu)參數(shù)快速、準(zhǔn)確。
CLPSO優(yōu)化FNN偽代碼如表5所示,流程如圖6所示,CLPSO優(yōu)化FNN流程如下:
表5 CLPSO優(yōu)化FNN偽代碼
圖6 CLPSO優(yōu)化FNN 流程圖
1)設(shè)置FNN和CLPSO算法的初始參數(shù)。
2)將樣本數(shù)據(jù)劃分為訓(xùn)練集和測(cè)試集,并對(duì)樣本數(shù)據(jù)進(jìn)行歸一化預(yù)處理,以保證評(píng)價(jià)結(jié)果的質(zhì)量。
3)采用CLPSO算法對(duì)FNN參數(shù)進(jìn)行校正。
4)隨機(jī)初始化CLPSO算法的粒子位置,這些位置分別代表FNN的中心值、寬度值和模糊系統(tǒng)參數(shù)。
5)輸入訓(xùn)練數(shù)據(jù),利用FNN算每個(gè)粒子的適應(yīng)度。這里,適應(yīng)度值是輸出值與目標(biāo)值之間的均方誤差(RMSE)。
6)計(jì)算適應(yīng)度值,調(diào)整FNN的權(quán)值直到滿足終止條件。
7)使用訓(xùn)練好的FNN進(jìn)行測(cè)試。
8)如果測(cè)試結(jié)果令人滿意,則輸出該FNN。
實(shí)驗(yàn)采用水溫(WT)、溶解氧(DO)濃度、出水pH、氧化還原電位(ORP)、出水硝態(tài)氮(NO3-N)這5個(gè)相關(guān)變量作為輸入,出水NH4-H作為唯一的輸出。從某小型污水處理廠采樣數(shù)據(jù)1 000組,隨機(jī)間隔抽取900組作為訓(xùn)練集,剩余100組作為測(cè)試集,為取得良好實(shí)驗(yàn)結(jié)果,將CLPSO維度設(shè)置200維,種群規(guī)模為40,迭代次數(shù)為500次。
圖7給出了4種對(duì)比算法模型對(duì)出水NH4-N濃度的預(yù)測(cè)結(jié)果和預(yù)測(cè)誤差。通過(guò)分析比較圖7(a),可以看出CLPSO-FNN的預(yù)測(cè)值能夠較好地?cái)M合出水NH4-N實(shí)際值,表明CLPSO-FNN模型對(duì)出水NH4-N含量具有較高的預(yù)測(cè)精度。分析圖7(b)可知,MLP與FNN-EBP兩種模型對(duì)出水NH4-H的預(yù)測(cè)誤差較大,CLPSO-FNN預(yù)測(cè)誤差最小,主要集中在±0.3之間,表明CLPSO-FNN的預(yù)測(cè)性能較好,可以用于建立污水處理過(guò)程優(yōu)化控制的優(yōu)化模型。CLPSO-FNN模型性能較好的原因有以下幾點(diǎn),首先FNN本身就比Mathematic model和Dynamic ARX以及MLR這3種數(shù)學(xué)機(jī)理模型性能優(yōu)越,其次是,由于FNN的維數(shù)較高,達(dá)到200維,利用傳統(tǒng)的PSO優(yōu)化FNN易陷入局部最優(yōu),本文CLPSO算法性能要優(yōu)于傳統(tǒng)PSO,因此利用CLPSO來(lái)優(yōu)化FNN能夠避免陷入局部最優(yōu),取得更好的網(wǎng)絡(luò)性能。表6給出了不同算法優(yōu)化FNN的性能比較,可以看出,CLPSO-FNN算法的建模性能不僅優(yōu)于諸如Mathematic model和Dynamic ARX等數(shù)學(xué)機(jī)理模型,而且優(yōu)于傳統(tǒng)的DFNN、FNN-EBP以及PSO和LC-PSO優(yōu)化的FNN模型。
圖7 出水NH4-N的預(yù)測(cè)結(jié)果和預(yù)測(cè)誤差
表6 不同算法性能比較
本文設(shè)計(jì)了一種基于競(jìng)爭(zhēng)學(xué)習(xí)的粒子群優(yōu)化算法(CLPSO),使得算法在處理多峰問(wèn)題時(shí),能夠有效地避免種群早熟收斂和陷入局部最優(yōu)。12個(gè)基準(zhǔn)測(cè)試問(wèn)題的結(jié)果表明帶有競(jìng)爭(zhēng)學(xué)習(xí)機(jī)制的CLPSO算法能夠有效取得探索和開(kāi)發(fā)能力的最佳平衡。從進(jìn)化曲線可以看出CLPSO算法在處理多峰問(wèn)題時(shí)不僅能夠跳出局部最優(yōu),取得較好的優(yōu)化解,而且能夠通過(guò)競(jìng)爭(zhēng)學(xué)習(xí)機(jī)制在進(jìn)化前期加快學(xué)習(xí)速度,統(tǒng)籌考慮了速度和精度。此外,利用CLPSO算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)的中心和寬度,從而構(gòu)建污水處理過(guò)程出水氨氮的軟測(cè)量模型,結(jié)果表明CLPSO算法在處理流程工業(yè)數(shù)據(jù)時(shí)也有不錯(cuò)表現(xiàn),為復(fù)雜系統(tǒng)關(guān)鍵變量的預(yù)測(cè)和控制提供了一種可供選擇的方案。下一步的工作是將競(jìng)爭(zhēng)學(xué)習(xí)策略引入到多目標(biāo)粒子群算法,用于解決具有復(fù)雜Pareto前沿的多目標(biāo)測(cè)試問(wèn)題和實(shí)際工程中多目標(biāo)優(yōu)化問(wèn)題。