本發(fā)明屬于化工過程控制領(lǐng)域,具體涉及一種引力搜索rna-ga的催化裂化主分餾塔神經(jīng)網(wǎng)絡(luò)建模方法。
背景技術(shù):
催化裂化是石油煉制的重要生產(chǎn)過程之一,是在熱和催化劑的作用下使重油發(fā)生裂化反應(yīng),轉(zhuǎn)變?yōu)榱鸦瘹狻⑵秃筒裼偷鹊纳a(chǎn)過程。催化裂化主分餾塔作為催化裂化裝置的主分離設(shè)備是實(shí)現(xiàn)產(chǎn)品分離的關(guān)鍵單元,是催化裂化過程中重要的一環(huán)。建立精確的催化裂化主分餾塔模型有助于實(shí)現(xiàn)流化催化裂化裝置的先進(jìn)控制與優(yōu)化,同時(shí)對于降低催化裂化裝置能耗和提高產(chǎn)品質(zhì)量具有重要的意義。
由于催化裂化主分餾塔是一個(gè)具有滯后和耦合的非線性系統(tǒng),傳統(tǒng)的機(jī)理建模方法難以滿足高精度建模的需要,因此神經(jīng)網(wǎng)絡(luò)受到人們的關(guān)注。神經(jīng)網(wǎng)絡(luò)是模擬大腦神經(jīng)突觸聯(lián)接的結(jié)構(gòu)進(jìn)行信息處理的計(jì)算模型,具有逼近任意非線性函數(shù)的能力。但是神經(jīng)網(wǎng)絡(luò)也存在易于陷入局部極小、收斂速度慢等問題。
本發(fā)明提出一種引力搜索rna遺傳算法(rna-ga),在rna-ga中加入基于萬有引力定律和牛頓第二定律的引力搜索操作,并將引力搜索rna遺傳算法用于催化裂化主分餾塔的神經(jīng)網(wǎng)絡(luò)建模,取得了較理想的效果,該方法也適用于其他復(fù)雜非線性系統(tǒng)的建模。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對現(xiàn)有技術(shù)的不足,提出了一種引力搜索rna-ga的催化裂化主分餾塔神經(jīng)網(wǎng)絡(luò)建模方法
引力搜索rna-ga的催化裂化主分餾塔神經(jīng)網(wǎng)絡(luò)建模方法,它的步驟如下:
步驟1:獲得催化裂化主分餾塔的輸入輸出數(shù)據(jù)作為樣本數(shù)據(jù),其中輸入數(shù)據(jù)為頂循流量q1、一中流量q2和二中流量q3,輸出數(shù)據(jù)為塔頂溫度t1、粗汽油干點(diǎn)t2和輕柴油傾點(diǎn)t3;
步驟2:建立催化裂化主分餾塔rbf神經(jīng)網(wǎng)絡(luò)模型,模型采用一個(gè)三層rbf神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu);
設(shè)定t為采樣時(shí)刻,q1(t)、q2(t)和q3(t)分別為t時(shí)刻的頂循流量、一中流量和二中流量數(shù)據(jù),t1(t)、t2(t)和t3(t)分別為t時(shí)刻的塔頂溫度、粗汽油干點(diǎn)和輕柴油傾點(diǎn)數(shù)值,rbf神經(jīng)網(wǎng)絡(luò)模型輸入變量個(gè)數(shù)為nin,輸入向量x為
[q1(t)q2(t)q3(t)t1(t-1)t1(t-2)…t1(t-n)t2(t-1)t2(t-2)…t2(t-n)t3(t-1)t3(t-2)…t3(t-n)]
其中n為整數(shù),設(shè)定n=3n+3,輸出變量個(gè)數(shù)為nout=3,輸出變量為[t1(t)t2(t)t3(t)],從輸入層到輸出層映射可用以下函數(shù)表示:
其中x為輸入向量,||·||表示歐幾里得范數(shù),d表示隱層數(shù),w1(i)、w2(i)和w3(i)分別是神經(jīng)網(wǎng)絡(luò)輸出結(jié)點(diǎn)權(quán)值向量中的第i個(gè)分量,由遞推最小二乘法確定;ci是神經(jīng)網(wǎng)絡(luò)第i個(gè)隱層的徑向基函數(shù)中心向量,徑向基函數(shù)φ(·)采用薄板樣條函數(shù),表示為:
φ(v)=v2ln(v)
其中v表示任意數(shù);
步驟3:選擇樣本數(shù)據(jù)中的一部分?jǐn)?shù)據(jù)作為訓(xùn)練樣本,將數(shù)據(jù)輸入到步驟2建立的rbf神經(jīng)網(wǎng)絡(luò)模型中;
步驟4:設(shè)置建立的rbf神經(jīng)網(wǎng)絡(luò)模型中的徑向基函數(shù)中心;
步驟5:利用引力搜索rna遺傳算法對步驟2建立的rbf神經(jīng)網(wǎng)絡(luò)模型的徑向基函數(shù)中心進(jìn)行尋優(yōu),獲得rbf神經(jīng)網(wǎng)絡(luò)的徑向基函數(shù)中心的最優(yōu)解;
步驟6:利用步驟5獲得的最優(yōu)解作為催化裂化主分餾塔神經(jīng)網(wǎng)絡(luò)模型徑向基函數(shù)中心,并利用測試樣本檢驗(yàn)神經(jīng)網(wǎng)絡(luò)模型。
催化裂化主分餾塔的輸入輸出數(shù)據(jù)可通過現(xiàn)場采集或?qū)嶒?yàn)獲得。
上述步驟5可采用如下具體步驟實(shí)現(xiàn):
步驟5.1:設(shè)定引力搜索rna-ga的參數(shù),包括:種群數(shù)s、輸入變量個(gè)數(shù)n、個(gè)體編碼長度l、最大迭代次數(shù)gmax、轉(zhuǎn)位換位概率pc、置換交叉概率pt、自適應(yīng)變異概率pml和pmh;設(shè)定引力搜索rna-ga終止規(guī)則為:引力搜索rna-ga迭代次數(shù)達(dá)到最大迭代次數(shù)gmax;
步驟5.2:對神經(jīng)網(wǎng)絡(luò)模型的徑向基函數(shù)中心進(jìn)行堿基編碼,隨機(jī)生成一個(gè)初始種群,種群中包含s個(gè)個(gè)體,每個(gè)參數(shù)均由字符集{0,1,2,3}編碼為一個(gè)長度為l的rna子序列,rbf神經(jīng)網(wǎng)絡(luò)模型的參數(shù)有n×d個(gè),一個(gè)rna序列的編碼長度為n×d×l,每個(gè)個(gè)體代表的參數(shù)如下:
其中c(i)表示第i個(gè)個(gè)體,cd,n表示個(gè)體中第d個(gè)隱層對應(yīng)的神經(jīng)網(wǎng)絡(luò)徑向基函數(shù)中心向量中的第n個(gè)分量;
步驟5.3:將種群中每個(gè)rna序列解碼為rbf神經(jīng)網(wǎng)絡(luò)模型的參數(shù),并采用最小二乘法計(jì)算出相應(yīng)的神經(jīng)網(wǎng)絡(luò)輸出結(jié)點(diǎn)權(quán)值向量,將不同時(shí)刻催化裂化主分餾塔神經(jīng)網(wǎng)絡(luò)模型的輸出值
式中
步驟5.4:根據(jù)適應(yīng)度函數(shù)值,利用輪盤賭法來選擇個(gè)體,并利用適應(yīng)度函數(shù)值選擇適應(yīng)度函數(shù)值最優(yōu)的s/2個(gè)個(gè)體組成的中性個(gè)體集合en與適應(yīng)度函數(shù)值最差的s/2個(gè)個(gè)體組成的有害個(gè)體集合ed構(gòu)成新的種群e;
步驟5.5:在中性個(gè)體集合en中,以轉(zhuǎn)位換位概率pc執(zhí)行相應(yīng)的轉(zhuǎn)位操作或換位操作,產(chǎn)生有s/2個(gè)個(gè)體的集合ec1,具體操作步驟為:
1)在0~1之間隨機(jī)選擇一個(gè)數(shù)h,若h小于概率pc時(shí),進(jìn)行轉(zhuǎn)位操作;
2)當(dāng)h大于等于概率pc時(shí),進(jìn)行換位操作;
步驟5.6:在中性個(gè)體集合en中,以置換交叉概率pt執(zhí)行置換操作,產(chǎn)生s/2個(gè)個(gè)體,集合為ec2;
步驟5.7:在集合[ec1;ec2;ed]中,以高位變異概率pmh和低位變異概率pml執(zhí)行自適應(yīng)變異操作,得到集合e2,其中自適應(yīng)變異概率為:
其中,a1是初始變異概率,b1為變異概率變化范圍,aa為變異速率,g為當(dāng)前進(jìn)化代數(shù),g0為轉(zhuǎn)折點(diǎn);
步驟5.8:在集合e2中找出適應(yīng)度函數(shù)值最優(yōu)的個(gè)體bests;
步驟5.9:檢查迭代次數(shù)是否達(dá)到終止條件,若滿足要求則獲得神經(jīng)網(wǎng)絡(luò)徑向基函數(shù)中心,否則到步驟5.10;
步驟5.10:將集合e2進(jìn)行引力搜索,得到新的種群,回到步驟5.3,進(jìn)行下一輪迭代。
上述步驟5.10中引力搜索可采用如下具體步驟實(shí)現(xiàn):
1)計(jì)算每個(gè)個(gè)體對應(yīng)的質(zhì)量,計(jì)算公式如下:
其中m表示個(gè)體的質(zhì)量,worst表示種群中最差個(gè)體的適應(yīng)度函數(shù)值,best表示種群中最優(yōu)個(gè)體的適應(yīng)度函數(shù)值,f表示該個(gè)體的適應(yīng)度函數(shù)值;
2)計(jì)算引力常數(shù),計(jì)算公式如下:
其中g(shù)0=100,α=20,g表示當(dāng)前迭代次數(shù),gmax表示最大迭代次數(shù),g為引力常數(shù),e是自然常數(shù);
3)計(jì)算引力加速度
其中,ai,k為第i個(gè)個(gè)體的第k個(gè)隱節(jié)點(diǎn)對應(yīng)的引力加速度向量,g為當(dāng)前迭代中的引力常數(shù),rand為0~1的隨機(jī)數(shù)向量,mj是第j個(gè)個(gè)體對應(yīng)的質(zhì)量,
rk=||ei,k-ej,k||
4)根據(jù)加速度和初始速度,每次迭代記為一次移動,由此獲得新種群,相關(guān)計(jì)算公式如下:
e′=e+v
v′表示新的速度矩陣,v表示速度矩陣,rn為隨機(jī)數(shù)矩陣,a表示加速度矩陣,e為種群,e′表示為新的種群。
本發(fā)明利用引力搜索rna遺傳算法對催化裂化主分餾塔神經(jīng)網(wǎng)絡(luò)模型的徑向基函數(shù)中心進(jìn)行尋優(yōu),獲得催化裂化主分餾塔的神經(jīng)網(wǎng)絡(luò)模型。后續(xù)實(shí)施例中數(shù)據(jù)也表明該建模方法在實(shí)際使用時(shí)能取得理想的效果,該方法不僅適用于催化裂化主分餾塔,也可用于其他復(fù)雜系統(tǒng)的建模。
附圖說明
圖1為催化裂化主分餾塔系統(tǒng)圖;
圖2為催化裂化主分餾塔神經(jīng)網(wǎng)絡(luò)模型示意圖;
圖3為基于引力搜索rna-ga流程圖;
圖4為塔頂溫度t1采樣輸出和神經(jīng)網(wǎng)絡(luò)模型輸出對比圖;
圖5為粗汽油干點(diǎn)t2采樣輸出和神經(jīng)網(wǎng)絡(luò)模型輸出對比圖;
圖6為輕柴油傾點(diǎn)t3采樣輸出和神經(jīng)網(wǎng)絡(luò)模型輸出對比圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明做進(jìn)一步闡述。
催化裂化主分餾塔的系統(tǒng)流程圖如圖1所示,催化裂化主分餾塔是一個(gè)多輸入多輸出系統(tǒng),本發(fā)明目的在于建立能夠預(yù)測塔頂溫度t1、粗汽油干點(diǎn)t2和輕柴油傾點(diǎn)t3三個(gè)指標(biāo)的神經(jīng)網(wǎng)絡(luò)模型。本發(fā)明中引力搜索rna-ga的催化裂化主分餾塔神經(jīng)網(wǎng)絡(luò)模型示意圖如圖2所示,該模型中徑向基函數(shù)中心的尋優(yōu)算法如圖3所示,建模方法的具體步驟如下:
步驟1:通過采樣獲得催化裂化主分餾塔的輸入輸出數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)模型的樣本數(shù)據(jù)(采樣數(shù)據(jù)來源于鐘璇、張泉靈、王樹青催化裂化主分餾塔產(chǎn)品質(zhì)量的廣義預(yù)測控制策略[j].控制理論與應(yīng)用2001(18):134-137中的主分餾塔模型所產(chǎn)生),其中輸入數(shù)據(jù)為頂循流量q1、一中流量q2和二中流量q3,輸出數(shù)據(jù)為塔頂溫度t1、粗汽油干點(diǎn)t2和輕柴油傾點(diǎn)t3。以頂循流量q1、一中流量q2和二中流量q3同時(shí)分別經(jīng)歷0→0.2→0.6,0→0.5→0.8和0→0.4→0.6共600組數(shù)據(jù)作為輸入數(shù)據(jù),相應(yīng)的變量塔頂溫度t1、粗汽油干點(diǎn)t2和輕柴油傾點(diǎn)t3數(shù)據(jù)作為輸出數(shù)據(jù);
步驟2:建立催化裂化主分餾塔rbf神經(jīng)網(wǎng)絡(luò)模型,模型采用一個(gè)三層rbf神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu);
設(shè)定t為采樣時(shí)刻,q1(t)、q2(t)和q3(t)分別為t時(shí)刻的頂循流量、一中流量和二中流量數(shù)據(jù),t1(t)、t2(t)和t3(t)分別為t時(shí)刻的塔頂溫度、粗汽油干點(diǎn)和輕柴油傾點(diǎn)數(shù)值,rbf神經(jīng)網(wǎng)絡(luò)模型輸入變量個(gè)數(shù)為nin,輸入向量x為
[q1(t)q2(t)q3(t)t1(t-1)t1(t-2)t1(t-3)t2(t-1)t2(t-2)t2(t-3)t3(t-1)t3(t-2)t3(t-3)]
其中有n=12,輸出變量個(gè)數(shù)為nout=3,輸出變量為[t1(t)t2(t)t3(t)],從輸入層到輸出層映射可用以下函數(shù)表示:
其中x為輸入向量,||·||表示歐幾里得范數(shù),d表示隱層數(shù),具體d=50,w1(i)、w2(i)和w3(i)分別是神經(jīng)網(wǎng)絡(luò)輸出結(jié)點(diǎn)權(quán)值向量中的第i個(gè)分量,由遞推最小二乘法確定,ci是神經(jīng)網(wǎng)絡(luò)第i個(gè)隱層的徑向基函數(shù)中心向量,徑向基函數(shù)φ(·)采用薄板樣條函數(shù),表示為:
φ(v)=v2ln(v)
其中v表示任意數(shù);
步驟3:選擇樣本數(shù)據(jù)中的400組數(shù)據(jù)作為訓(xùn)練樣本,將數(shù)據(jù)輸入到步驟2建立的rbf神經(jīng)網(wǎng)絡(luò)模型中;
步驟4:設(shè)置建立的rbf神經(jīng)網(wǎng)絡(luò)模型中待尋優(yōu)參數(shù)(徑向基函數(shù)中心);
步驟5:提出引力搜索rna遺傳算法,將其用于對步驟2提出的rbf神經(jīng)網(wǎng)絡(luò)的徑向基函數(shù)中心進(jìn)行尋優(yōu),運(yùn)行引力搜索rna遺傳算法,獲得rbf神經(jīng)網(wǎng)絡(luò)的徑向基函數(shù)中心的最優(yōu)解;該步驟的具體實(shí)現(xiàn)方式為:
步驟5.1:設(shè)定引力搜索rna-ga的參數(shù):種群數(shù)s=30、輸入變量個(gè)數(shù)n=12、個(gè)體編碼長度l=8、最大迭代次數(shù)gmax=20、轉(zhuǎn)位換位概率pc=0.8、置換交叉概率pt=0.8、自適應(yīng)變異概率pml和pmh,設(shè)定引力搜索rna-ga終止規(guī)則為:引力搜索rna-ga迭代次數(shù)達(dá)到最大迭代次數(shù)gmax;
步驟5.2:對神經(jīng)網(wǎng)絡(luò)模型中待尋優(yōu)參數(shù)(徑向基函數(shù)中心)進(jìn)行堿基編碼,隨機(jī)生成一個(gè)初始種群,種群中包含s個(gè)個(gè)體,每個(gè)參數(shù)均由字符集{0,1,2,3}編碼為一個(gè)長度為l的rna子序列,rbf神經(jīng)網(wǎng)絡(luò)模型的參數(shù)有n×d個(gè),則一個(gè)rna序列的編碼長度為n×d×l,每個(gè)個(gè)體代表的參數(shù)如下:
其中c(i)表示第i個(gè)個(gè)體,cd,n表示個(gè)體中第d個(gè)隱層對應(yīng)的神經(jīng)網(wǎng)絡(luò)徑向基函數(shù)中心向量中的第n個(gè)分量;
步驟5.3:將種群中每個(gè)rna序列解碼為rbf神經(jīng)網(wǎng)絡(luò)模型的參數(shù),并采用最小二乘法計(jì)算出相應(yīng)的神經(jīng)網(wǎng)絡(luò)輸出結(jié)點(diǎn)權(quán)值向量,將不同時(shí)刻催化裂化主分餾塔神經(jīng)網(wǎng)絡(luò)模型的輸出值
式中
步驟5.4:根據(jù)適應(yīng)度函數(shù)值,利用輪盤賭法來選擇個(gè)體,并利用適應(yīng)度函數(shù)值選擇適應(yīng)度函數(shù)值最優(yōu)的s/2個(gè)個(gè)體組成的中性個(gè)體集合en與適應(yīng)度函數(shù)值最差的s/2個(gè)個(gè)體組成的有害個(gè)體集合ed組成新的種群e;
步驟5.5:在中性個(gè)體集合en中,以轉(zhuǎn)位換位概率pc執(zhí)行相應(yīng)的轉(zhuǎn)位操作或換位操作,產(chǎn)生有s/2個(gè)個(gè)體的集合ec1,具體操作步驟為:
1)在0~1之間隨機(jī)選擇一個(gè)數(shù)h,若h小于概率pc時(shí),進(jìn)行轉(zhuǎn)位操作;
2)當(dāng)h大于等于概率pc時(shí),進(jìn)行換位操作;
步驟5.6:在中性個(gè)體集合en中,以置換交叉概率pt執(zhí)行置換操作,產(chǎn)生s/2個(gè)個(gè)體,集合為ec2;
步驟5.7:在集合[ec1;ec2;ed](3/2×s個(gè)個(gè)體)中,以高位變異概率pmh和低位變異概率pml執(zhí)行自適應(yīng)變異操作,得到集合e2,其中自適應(yīng)變異概率為:
其中,a1是初始變異概率,b1為變異概率變化范圍,aa為變異速率,g為當(dāng)前進(jìn)化代數(shù),g0為轉(zhuǎn)折點(diǎn);
步驟5.8:在集合e2中找出適應(yīng)度函數(shù)值最優(yōu)的個(gè)體bests;
步驟5.9:檢查迭代次數(shù)是否達(dá)到終止條件,若滿足要求則獲得神經(jīng)網(wǎng)絡(luò)的最優(yōu)解,作為徑向基函數(shù)中心,否則到步驟5.10;
步驟5.10:將集合e2進(jìn)行引力搜索,得到新的種群,回到步驟5.3,進(jìn)行下一輪迭代。引力搜索的具體步驟如下:
1)計(jì)算每個(gè)個(gè)體對應(yīng)的質(zhì)量,相應(yīng)的計(jì)算公式如下:
其中m表示個(gè)體的質(zhì)量,worst表示種群中最差個(gè)體的適應(yīng)度函數(shù)值,best表示種群中最優(yōu)個(gè)體的適應(yīng)度函數(shù)值,f表示該個(gè)體的適應(yīng)度函數(shù)值;
2)計(jì)算引力常數(shù),計(jì)算公式如下:
其中g(shù)0=100,α=20,g表示當(dāng)前迭代次數(shù),gmax表示最大迭代次數(shù),g為引力常數(shù),e是自然常數(shù);
3)計(jì)算引力加速度
其中,ai,k為第i個(gè)個(gè)體的第k個(gè)隱節(jié)點(diǎn)對應(yīng)的引力加速度向量,g為當(dāng)前迭代中的引力常數(shù),rand為0~1的隨機(jī)數(shù)向量,mj是第j個(gè)個(gè)體對應(yīng)的質(zhì)量,
rk=||ei,k-ej,k||
4)根據(jù)加速度和初始速度,每次迭代記為一次移動,由此獲得新種群,相關(guān)計(jì)算公式如下:
e′=e+v
v′表示新的速度矩陣,v表示速度矩陣(各變量初始速度均為1),rn為隨機(jī)數(shù)矩陣,a表示加速度矩陣,e為種群,e′表示為新的種群;
步驟5.10:對步驟5.3~5.9進(jìn)行迭代,若當(dāng)前迭代次數(shù)滿足要求,則獲得神經(jīng)網(wǎng)絡(luò)的最優(yōu)解,作為徑向基函數(shù)中心,否則回到步驟5.3。
步驟6:利用步驟5獲得的最優(yōu)解作為催化裂化主分餾塔神經(jīng)網(wǎng)絡(luò)模型徑向基函數(shù)中心,并利用測試樣本檢驗(yàn)神經(jīng)網(wǎng)絡(luò)模型,以驗(yàn)證其準(zhǔn)確性。
按上述方法將頂循流量q1、一中流量q2和二中流量q3同時(shí)分別經(jīng)歷1→0.5→1→0.7,1→0.6→1→0.4和1→0.7→1→0.5共800組數(shù)據(jù)作為測試輸入數(shù)據(jù),得到相應(yīng)的變量塔頂溫度t1、粗汽油干點(diǎn)t2和輕柴油傾點(diǎn)t3數(shù)據(jù)分別為圖4、圖5和圖6。從測試結(jié)果圖4、圖5和圖6可以看出,基于引力搜索rna-ga的催化裂化主分餾塔神經(jīng)網(wǎng)絡(luò)模型能夠準(zhǔn)確反映實(shí)際系統(tǒng)特性。因此,上述模型可用于準(zhǔn)確預(yù)測催化裂化主分餾塔中的t1、t2和t3三個(gè)變量,作為控制催化裂化系統(tǒng)的依據(jù)。