本發(fā)明涉及一種kbafsa(krillbehaviorbasedartificialfishswarmalgorithm,即融合磷蝦行為的人工魚群算法)的超臨界水氧化反應(yīng)動力學(xué)模型參數(shù)估計方法。
背景技術(shù):
超臨界水氧化(scwo)過程是一種新興的有機廢水處理技術(shù),現(xiàn)代廢水處理要求采用更為精確的數(shù)學(xué)模型來描述這一過程。解決超臨界水氧化反應(yīng)過程的建模和控制問題,具有重要理論意義和應(yīng)用價值。要對超臨界水氧化反應(yīng)過程建立高精度數(shù)學(xué)模型,需要對過程動力學(xué)數(shù)學(xué)模型中的參數(shù)進行估計。參數(shù)估計問題本質(zhì)上是優(yōu)化問題,研究者們采用了一些傳統(tǒng)的優(yōu)化方法,例如levenberg-marquardt,gauss-newton等方法來解決這一問題。但是這些確定性的優(yōu)化算法經(jīng)常在搜索過程中陷入局部極小點,難以取得滿意的效果。人工魚群算法(afsa)是模仿魚群的覓食、聚群、追尾等行為,采用動物自治體的模型,提出的一類新型群體智能優(yōu)化算法,能解決傳統(tǒng)優(yōu)化算法難以解決的復(fù)雜優(yōu)化問題。但基本人工魚群算法存在著計算量較大、搜索精度較差和性能受視野影響較大等缺點。本發(fā)明提出的kbafsa能有效克服基本人工魚群算法的缺點。將kbafsa用于超臨界水氧化反應(yīng)動力學(xué)模型的參數(shù)估計中,得到了較為理想的效果。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種kbafsa的超臨界水氧化反應(yīng)動力學(xué)模型參數(shù)估計方法。
一種kbafsa(krillbehaviorbasedartificialfishswarmalgorithm,即融合磷蝦行為的人工魚群算法)的超臨界水氧化反應(yīng)動力學(xué)模型參數(shù)估計方法,其特征在于包括如下步驟:
1)通過現(xiàn)場操作或者實驗獲得超臨界水氧化反應(yīng)過程的實際輸入采樣數(shù)據(jù)、輸出采樣數(shù)據(jù),對于同一組采樣數(shù)據(jù),將過程動力學(xué)模型的估計輸出與過程實際輸出的相對誤差絕對值之和作為人工魚群算法尋優(yōu)搜索的目標(biāo)函數(shù);
2)構(gòu)建kbafsa的超臨界水氧化反應(yīng)動力學(xué)模型參數(shù)估計方法;
3)設(shè)置kbafsa的運行參數(shù),包括人工魚群規(guī)模n、最大嘗試次數(shù)tn、擁擠度因子δ,最大迭代次數(shù)gmax和算法終止規(guī)則;
4)運行kbafsa對過程動力學(xué)模型中的指前因子a、反應(yīng)活化能ea、2-氯苯酚反應(yīng)級數(shù)a、氧化反應(yīng)級數(shù)b和水反應(yīng)級數(shù)c五個未知參數(shù)進行估計,通過最小化目標(biāo)函數(shù),獲得未知參數(shù)的估計值,將估計值代入過程動力學(xué)模型,獲得超臨界水氧化反應(yīng)動力學(xué)模型。
所述的步驟4)中運行kbafsa的具體步驟為:
1)在參數(shù)尋優(yōu)空間內(nèi)隨機生成n行5列的初始魚群矩陣,每一行為一條人工魚的位置,表示一組超臨界水氧化反應(yīng)動力學(xué)模型參數(shù)的可能解;
2)計算人工魚群中每一條人工魚的適應(yīng)度值,并將人工魚群最優(yōu)個體記錄到公告板;
3)計算人工魚群中每一條人工魚的視野,并對人工魚進行行為選擇;
4)執(zhí)行追尾行為,如果人工魚視野內(nèi)最優(yōu)伙伴的適應(yīng)度值更優(yōu)且周圍擁擠程度低于閾值,則向最優(yōu)伙伴前進一步,否則轉(zhuǎn)向步驟6);
5)執(zhí)行聚群行為,如果人工魚視野內(nèi)伙伴中心的適應(yīng)度值更優(yōu)且周圍擁擠程度低于閾值,則向伙伴中心前進一步,否則轉(zhuǎn)向步驟6);
6)執(zhí)行覓食行為,如果當(dāng)前嘗試次數(shù)不超過最大嘗試次數(shù)tn,人工魚在視野內(nèi)嘗試搜索適應(yīng)度值更優(yōu)的狀態(tài),否則轉(zhuǎn)向步驟7);
7)執(zhí)行隨機行為,人工魚在視野內(nèi)隨機移動到下一位置;
8)比較人工魚執(zhí)行追尾行為和聚群行為后的狀態(tài),選擇適應(yīng)度值最優(yōu)的狀態(tài)作為人工魚的下一狀態(tài);
9)更新當(dāng)前人工魚群的狀態(tài),記錄人工魚群最優(yōu)解并更新公告板;
10)重復(fù)執(zhí)行算法步驟3)至步驟9),直到滿足算法終止規(guī)則;
11)將公告板中記錄的最優(yōu)解作為超臨界水氧化反應(yīng)動力學(xué)模型的參數(shù)估計值。
所述步驟3)中的算法終止規(guī)則為:算法運行次數(shù)達到最大迭代次數(shù)gmax。
所述步驟3)中的人工魚視野為:
xi是第i條人工魚的當(dāng)前位置,visuali為xi的視野;n為人工魚群總個體數(shù),||xi-xj||為xi和其它人工魚的歐式距離。
所述步驟4)中追尾行為的具體步驟為:
a)搜索人工魚xi的視野內(nèi)伙伴數(shù)為nf,最優(yōu)伙伴位置為xj,xj的適應(yīng)度值為yj;
b)如果yj·nf<yi·δ,人工魚按照融合磷蝦行為的追尾公式更新位置為:
其中,xinext是第i條人工魚執(zhí)行追尾行為后的位置,xi是第i條人工魚的當(dāng)前位置,yi為xi的適應(yīng)度值;ybest為人工魚群最優(yōu)個體適應(yīng)度值,yworst為最差個體適應(yīng)度值;xj為人工魚xi視野visuali內(nèi)最優(yōu)人工魚的位置,yj為xj的適應(yīng)度值;||xj-xi||為xi和其視野內(nèi)最優(yōu)伙伴xj之間的歐式距離;rand是0到1之間的隨機數(shù);
所述步驟5)中聚群行為的具體步驟為:
a)基于磷蝦食物中心,計算人工魚xi的視野內(nèi)所有伙伴的改進聚群中心xc:
其中,xc為改進聚群中心,xi是第i條人工魚的當(dāng)前位置,yi為第i條人工魚的適應(yīng)度值,nf為第i條人工魚鄰居的數(shù)量,wi為經(jīng)歸一化計算得到的個體位置所占權(quán)重。
b)如果yc·nf<yc·δ,人工魚按照融合磷蝦行為的聚群公式更新位置為:
其中,xinext是第i條人工魚執(zhí)行聚群行為后的位置,xi是第i條人工魚的當(dāng)前位置,yi為第i條人工魚當(dāng)前的適應(yīng)度值;ybest為人工魚群最優(yōu)個體適應(yīng)度值,yworst為最差個體適應(yīng)度值;xc為人工魚xi視野visuali范圍內(nèi)所有伙伴的改進聚群中心,yc為xc的適應(yīng)度值;||xc-xi||為xi和其伙伴改進聚群中心xc的歐式距離;rand是0到1之間的隨機數(shù)。
附圖說明
圖1為kbafsa的超臨界水氧化反應(yīng)動力學(xué)模型參數(shù)估計方法流程圖;
圖2為2-氯苯酚去除率的模型輸出數(shù)據(jù)和實驗數(shù)據(jù)的比較圖;
具體實施方式
如圖1所示,kbafsa的超臨界水氧化反應(yīng)動力學(xué)模型參數(shù)估計方法,包括如下步驟:
1)通過現(xiàn)場操作或者實驗獲得超臨界水氧化反應(yīng)過程的實際輸入采樣數(shù)據(jù)、輸出采樣數(shù)據(jù),對于同一組采樣數(shù)據(jù),將過程動力學(xué)模型的估計輸出與過程實際輸出的相對誤差絕對值之和作為人工魚群算法尋優(yōu)搜索的目標(biāo)函數(shù);
2)構(gòu)建kbafsa的超臨界水氧化反應(yīng)動力學(xué)模型參數(shù)估計方法;
3)設(shè)置kbafsa的運行參數(shù),包括人工魚群規(guī)模n、最大嘗試次數(shù)tn、擁擠度因子δ,最大迭代次數(shù)gmax和算法終止規(guī)則;
4)運行kbafsa對過程動力學(xué)模型中的指前因子a、反應(yīng)活化能ea、2-氯苯酚反應(yīng)級數(shù)a、氧化反應(yīng)級數(shù)b和水反應(yīng)級數(shù)c五個未知參數(shù)進行估計,通過最小化目標(biāo)函數(shù),獲得未知參數(shù)的估計值,將估計值代入過程動力學(xué)模型,獲得超臨界水氧化反應(yīng)動力學(xué)模型。
所述的步驟4)中運行kbafsa的具體步驟為:
1)在參數(shù)尋優(yōu)空間內(nèi)隨機生成n行5列的初始魚群矩陣,每一行為一條人工魚的位置,表示一組超臨界水氧化反應(yīng)動力學(xué)模型參數(shù)的可能解;
2)計算人工魚群中每一條人工魚的適應(yīng)度值,并將人工魚群最優(yōu)個體記錄到公告板;
3)計算人工魚群中每一條人工魚的視野,并對人工魚進行行為選擇;
4)執(zhí)行追尾行為,如果人工魚視野內(nèi)最優(yōu)伙伴的適應(yīng)度值更優(yōu)且周圍擁擠程度低于閾值,則向最優(yōu)伙伴前進一步,否則轉(zhuǎn)向步驟6);
5)執(zhí)行聚群行為,如果人工魚視野內(nèi)伙伴中心的適應(yīng)度值更優(yōu)且周圍擁擠程度低于閾值,則向伙伴中心前進一步,否則轉(zhuǎn)向步驟6);
6)執(zhí)行覓食行為,如果當(dāng)前嘗試次數(shù)不超過最大嘗試次數(shù)tn,人工魚在視野內(nèi)嘗試搜索適應(yīng)度值更優(yōu)的狀態(tài),否則轉(zhuǎn)向步驟7);
7)執(zhí)行隨機行為,人工魚在視野內(nèi)隨機移動到下一位置;
8)比較人工魚執(zhí)行追尾行為和聚群行為后的狀態(tài),選擇適應(yīng)度值最優(yōu)的狀態(tài)作為人工魚的下一狀態(tài);
9)更新當(dāng)前人工魚群的狀態(tài),記錄人工魚群最優(yōu)解并更新公告板;
10)重復(fù)執(zhí)行算法步驟3)至步驟9),直到滿足算法終止規(guī)則;
11)將公告板中記錄的最優(yōu)解作為超臨界水氧化反應(yīng)動力學(xué)模型的參數(shù)估計值。
所述步驟3)中的算法終止規(guī)則為:算法運行次數(shù)達到最大迭代次數(shù)gmax。
所述步驟3)中的人工魚視野為:
xi是第i條人工魚的當(dāng)前位置,visuali為xi的視野;n為人工魚群總個體數(shù),||xi-xj||為xi和其它人工魚的歐式距離。
所述步驟4)中追尾行為的具體步驟為:
a)搜索人工魚xi的視野內(nèi)伙伴數(shù)為nf,最優(yōu)伙伴位置為xj,xj的適應(yīng)度值為yj;
b)如果yj·nf<yi·δ,人工魚按照融合磷蝦行為的追尾公式更新位置為:
其中,xinext是第i條人工魚執(zhí)行追尾行為后的位置,xi是第i條人工魚的當(dāng)前位置,yi為xi的適應(yīng)度值;ybest為人工魚群最優(yōu)個體適應(yīng)度值,yworst為最差個體適應(yīng)度值;xj為人工魚xi視野visuali內(nèi)最優(yōu)人工魚的位置,yj為xj的適應(yīng)度值;||xj-xi||為xi和其視野內(nèi)最優(yōu)伙伴xj之間的歐式距離;rand是0到1之間的隨機數(shù);
所述步驟5)中聚群行為的具體步驟為:
a)基于磷蝦食物中心,計算人工魚xi的視野內(nèi)所有伙伴的改進聚群中心xc:
其中,xc為改進聚群中心,xi是第i條人工魚的當(dāng)前位置,yi為第i條人工魚的適應(yīng)度值,nf為第i條人工魚鄰居的數(shù)量,wi為經(jīng)歸一化計算得到的個體位置所占權(quán)重。
b)如果yc·nf<yc·δ,人工魚按照融合磷蝦行為的聚群公式更新位置為:
其中,xinext是第i條人工魚執(zhí)行聚群行為后的位置,xi是第i條人工魚的當(dāng)前位置,yi為第i條人工魚當(dāng)前的適應(yīng)度值;ybest為人工魚群最優(yōu)個體適應(yīng)度值,yworst為最差個體適應(yīng)度值;xc為人工魚xi視野visuali范圍內(nèi)所有伙伴的改進聚群中心,yc為xc的適應(yīng)度值;||xc-xi||為xi和其伙伴改進聚群中心xc的歐式距離;rand是0到1之間的隨機數(shù)。
以下通過一個具體的實施例對本發(fā)明作進一步詳細描述:
實施例:
超臨界水氧化法在處理高濃度、難降解的有機廢水方面,具有反應(yīng)速度快、氧化完全徹底等特點,因此超臨界水中氧化反應(yīng)的動力學(xué)建模問題成為研究熱點。準(zhǔn)確的估計超臨界水氧化反應(yīng)動力學(xué)模型中的未知參數(shù),獲得高精度的超臨界水氧化反應(yīng)的動力學(xué)模型,對機理解釋和實現(xiàn)該技術(shù)的工業(yè)化尤為重要。
應(yīng)用超臨界水氧化技術(shù)處理有機廢水,去除率是最為重要的指標(biāo)。它受反應(yīng)溫度、反應(yīng)壓力、停留時間、氧化劑的量等因素的影響。獲得超臨界水氧化反應(yīng)的動力學(xué)模型,準(zhǔn)確的估計反應(yīng)動力學(xué)參數(shù)可以進而準(zhǔn)確的計算出各個因素對去除率的影響。2-氯苯酚是一種較有代表性的有機廢水,其反應(yīng)動力學(xué)方程為:
超臨界水氧化反應(yīng)動力學(xué)模型中2-氯苯酚去除率計算如下式所示:
其中,rate是2-氯苯酚的反應(yīng)速率,
在模型中,a、ea、r、a、b、c是5個估計的動力學(xué)模型參數(shù),可由樣本數(shù)據(jù)估計。
kbafsa對超臨界水氧化反應(yīng)動力學(xué)模型參數(shù)估計方法的步驟如下:
步驟1:通過實驗測定62組輸入采樣數(shù)據(jù)和輸出采樣數(shù)據(jù),包括:[2cp]、[o2]、[h2o]、t、壓力、停留時間和2-氯苯酚去除率。數(shù)據(jù)來自于lir,savagepe,davids.2-chlorophenoloxidationinsupercriticalwater:globalkineticsandreactionproducts[j].aichejournal,1993,39(1):178–187。
步驟2:設(shè)置優(yōu)化目標(biāo)函數(shù)為:
其中m為樣本容量,xi為第i個樣本的2-氯苯酚去除率,
步驟3:初始化魚群,設(shè)置人工魚群算法運行的種群規(guī)模n=50、最大嘗試次數(shù)tn=5、擁擠度因子δ=0.75,最大迭代次數(shù)gmax=1000,隨機生成50行5列的初始種群矩陣,每一行為一條人工魚位置,即一組超臨界水氧化反應(yīng)動力學(xué)模型未知參數(shù)的可能解。初始化當(dāng)前迭代次數(shù)gen=1;
步驟4:設(shè)定算法的終止規(guī)則為:算法運行次數(shù)達到最大迭代次數(shù)gmax;
步驟5:將種群中的每一條人工魚的位置作為2-氯苯酚超臨界水氧化反應(yīng)的一組待估計未知參數(shù),并按公式(3)計算這組參數(shù)所對應(yīng)的優(yōu)化目標(biāo)函數(shù)值,作為人工魚群個體的適應(yīng)度值。記錄人工魚群最優(yōu)個體的狀態(tài)并初始化公告板;
步驟6:對每條人工魚進行行為選擇,設(shè)第i條人工魚當(dāng)前位置為xi,xi的適應(yīng)度值為yi,計算第i條人工魚xi的視野,其式為:
步驟7:對第i條人工魚xi執(zhí)行追尾行為,步驟如下:
a)搜索人工魚xi的視野內(nèi)伙伴數(shù)為nf,最優(yōu)伙伴位置為xj,xj的適應(yīng)度值為yj;
b)如果yj·nf<yi·δ,人工魚按照融合磷蝦行為的追尾公式更新位置為:
其中,xinext1是第i條人工魚執(zhí)行追尾行為后的位置,xi是第i條人工魚的當(dāng)前位置,yi為xi的適應(yīng)度值;ybest為人工魚群最優(yōu)個體適應(yīng)度值,yworst為最差個體適應(yīng)度值;xj為人工魚xi視野visuali內(nèi)最優(yōu)人工魚的位置,yj為xj的適應(yīng)度值;||xj-xi||為xi和其視野內(nèi)最優(yōu)伙伴xj之間的歐式距離;rand是0到1之間的隨機數(shù)。記錄移動后的位置xinext1及xinext1的適應(yīng)度值ynext1;
c)否則轉(zhuǎn)向步驟9執(zhí)行覓食行為;
步驟8:對第i條人工魚xi執(zhí)行聚群行為,步驟如下:
a)基于磷蝦食物中心,計算人工魚xi的視野visuali內(nèi)所有伙伴的改進聚群中心xc為:
其中,xi表示第i條人工魚的位置,yi為xi的適應(yīng)度值,nf為xi視野內(nèi)伙伴的數(shù)量,wi為經(jīng)歸一化計算得到的個體位置所占權(quán)重。聚群中心xc的最優(yōu)適應(yīng)度為yc;
b)如果yc·nf<yi·δ,人工魚按照融合磷蝦行為的聚群公式更新位置為:
其中,xinext2是第i條人工魚執(zhí)行聚群行為后的位置,xi是第i條人工魚的當(dāng)前位置,yi為xi的適應(yīng)度值;ybest為人工魚群最優(yōu)個體適應(yīng)度值,yworst為最差個體適應(yīng)度值;xc為人工魚xi視野visuali范圍內(nèi)所有伙伴的改進聚群中心,yc為xc的適應(yīng)度值;||xc-xi||為xi和其伙伴改進聚群中心xc的歐式距離;rand是0到1之間的隨機數(shù)。記錄移動后的位置xinext2及xinext2的適應(yīng)度ynext2;
c)否則轉(zhuǎn)向步驟9執(zhí)行覓食行為;
步驟9:對第i條人工魚xi執(zhí)行覓食行為,步驟如下:
a)設(shè)置當(dāng)前嘗試次數(shù)try=0;
b)如果當(dāng)前嘗試次數(shù)try<tn,人工魚在視野內(nèi)隨機選擇一個狀態(tài)xj,計算其適應(yīng)度值yj,如果try≥tn,則轉(zhuǎn)向步驟10執(zhí)行隨機行為;
c)如果yj小于第i條人工魚xi當(dāng)前適應(yīng)度值yi,人工魚將xj作為運動后的位置xnext,否則當(dāng)前嘗試次數(shù)try增加1,重復(fù)步驟b)、c);
步驟10:對第i條人工魚xi執(zhí)行隨機行為,人工魚在視野內(nèi)隨機移動到下一個位置;
步驟11:比較人工魚執(zhí)行追尾行為和聚群行為后人工魚所處狀態(tài)對應(yīng)的適應(yīng)度值,選擇適應(yīng)度最優(yōu)的狀態(tài)作為人工魚移動后的狀態(tài)xinext;
步驟12:更新當(dāng)前人工魚群的狀態(tài),記錄最優(yōu)解并更新公告板,算法迭代次數(shù)gen加1;
步驟13:重復(fù)執(zhí)行算法步驟6-步驟12,直到滿足算法終止規(guī)則,將公告板中記錄的最優(yōu)解作為超臨界水氧化反應(yīng)動力學(xué)模型的參數(shù)估計值,將估計的參數(shù)值代入超臨界水氧化反應(yīng)動力學(xué)模型中,形成超臨界水氧化反應(yīng)動力學(xué)模型。
根據(jù)上述方法,得到超臨界水氧化反應(yīng)動力學(xué)模型的參數(shù)估計值如下(表1):
表1kbafsa的超臨界水氧化反應(yīng)動力學(xué)模型參數(shù)估計值
與原文獻估計的參數(shù)進行對比,結(jié)果如下(表2):
表2不同方法估計超臨界水氧化反應(yīng)動力學(xué)模型參數(shù)比較結(jié)果
非線性回歸算法的結(jié)果來自于lir,savagepe,davids.2-chlorophenoloxidationinsupercriticalwater:globalkineticsandreactionproducts[j].aichejournal,1993,39(1):178–187,e是公式(3)定義的優(yōu)化目標(biāo)函數(shù)。從表2的比較結(jié)果可以看出,針對同樣的實驗數(shù)據(jù),采用kbafsa估計參數(shù)的超臨界水氧化反應(yīng)動力學(xué)模型具有更高的精度。
將kbafsa估計的參數(shù)值代入2-氯苯酚超臨界水氧化反應(yīng)的動力學(xué)模型中,得到相應(yīng)的數(shù)學(xué)模型。在相同的輸入數(shù)據(jù)下,2-氯苯酚去除率的模型輸出數(shù)據(jù)與實驗數(shù)據(jù)比較如圖2所示。結(jié)果顯示,本發(fā)明提出的kbafsa的超臨界水氧化反應(yīng)動力學(xué)模型的參數(shù)方法,所得到的模型能準(zhǔn)確地反映實際過程特性。