馬浩天,楊友良,馬翠紅,王 祿
(華北理工大學電氣工程學院,河北 唐山 063200)
在氯堿電解槽電解過程中,因為操作不準確和參數測量的不穩(wěn)定以及對多參數信息的綜合分析能力有限,所以對于氯堿電解生產控制策略往往是不充分的。在現(xiàn)有作業(yè)制度和電解設備不需要做大改動情況之下,通過對氯堿電解槽的電解過程進行參數優(yōu)化,控制并調整各工藝參與以提高生產效率,降低能耗,具有一定的實際意義。
神經網絡的非線性映射能力非常強,它是一種單向傳播的多層神經網絡,在沒有任何先驗公式的基礎上,可以通過訓練自動總結出數據間的函數關系。但是神經網絡有一些缺點,就是初始的權值與閾值的隨機設定會導致收斂速度較慢并容易陷入局部的極小值。遺傳算法可以用來優(yōu)化神經網絡的閾值和初始權值,但是遺傳算法本身也是存在著一定缺點的,比如算子設定、初始種群的選擇等。為了解決這些問題,該文把K均值聚類的計算方法結合量子遺傳算法,利用K均值聚類算法將遺傳算法中的初始種群劃分為多個子種群,另多個子種群分別進化;對于傳統(tǒng)的方法之中使用的固定旋轉角,為了提高算法的收斂速度采用動態(tài)調整策略。用改進量子遺傳算法來在BP神經網絡的初始閾值與權值之中進行尋優(yōu),最后通過仿真實驗檢測離子膜模型建立的效果。
該文利用神經網絡的訓練數據,建立好函數關系,并將該函數作為目標輸入函數,利用復合形法對離子膜效率進行在線優(yōu)化,取得了很好的經濟效益。
離子膜氯堿電解技術是目前世界上較為先進的電解生產工藝,其與金屬陽極法、石墨槽法、水銀法相比,具有能耗低、污染少、NaOH濃度高等優(yōu)點。
離子膜技術的特點是利用選擇性離子交換膜將電解槽的陰陽極室分隔開來,其膜原理是將陽離子Na+從陽極室?guī)У疥帢O室,并且阻止陰極室的OH-離子通過。這樣避免了液體與氣體之間的混合,又保證了電解室?guī)щ婋x子的平衡,從而產生高質量與高純度的產物。
離子膜的效率即是對OH-離子的排斥能力以及對Na+的遷移能力。實際離子膜效率的計算公式為:
式中:q—堿液流量,kg/h;
cNaOH—堿液質量的百分數,%;
NA、NB—A列和B列的電解槽數,一般每個電解槽的槽數是30個;
IA和IB—A列和B列的電流,kA;
T—計算膜效率的時間間隔,h。
離子膜生產過程中,離子膜效率越高,電解效率越高,電解能耗越低,因此可以帶來可觀的經濟收益。所以,為了保證高質量、高效率的生產過程,對電解槽的優(yōu)化控制是非常有必要的。但是影響電解槽生產效率的因素有很多,主要變量有,NaOH濃度、淡鹽水濃度、電流密度、槽溫等。該文用改進后的量子遺傳算法優(yōu)化BP神經網絡對離子膜效率進行軟測量,然后再對離子膜的被控變量的設定值進行在線優(yōu)化調整,保證離子膜的性能達到最佳,從而達到節(jié)能降耗的目的。
神經網絡是由一個個神經元[4]來組成的。圖1是單輸入神經元,其中x是輸入端,ω是權值,b是閾值,f是激勵函數,而y是輸出。輸入值x經過與權值、閾值的計算,得到激勵函數的輸入y=f(ωx+b)。其中,f的函數型該文選擇S型函數。
BP神經網絡是多層前饋神經網絡見圖2。網絡的結構包括輸入層、輸出層和隱含層。其每一層由并行神經元構成,未在同一層神經元都相互連接,同一層之間沒有連接,并且各層神經元都選擇任意激勵函數。
圖1 單輸入神經元
圖2 BP神經網絡結構
BP神經網絡的學習算法組成:輸入樣本和誤差,其中輸入樣本為正向傳播而誤差是反向傳播。訓練網絡時,權值和閾值是隨機的,用來訓練的樣本從輸入端計算到輸出端,然后再將其與設定值進行比較,若誤差值未達標,則將誤差變化值信號反向傳播回去,同時修改每層神經元的權值與閾值。前向傳播與反向傳播來回計算,直到輸值與設定值誤差平方和達標或者計算次數達到設定的最大值,以此來獲得最合適的連接權值和閾值。假設輸出層神經元是m個,且輸出值為,期望值為y,誤差平方和E得:
權值的修正值是:
式中,Δωij—ij之間的權值,Ij—激勵函數,η—學習的速率。
量子遺傳算法的原理是使用量子特性之中的比特概率幅代表染色體編碼,這樣使染色體的狀態(tài)信息能夠增加很多,然后種群的更新則使用量子旋轉門來實現(xiàn),最后達到對目標函數尋優(yōu)的目的。
一般計算中,一個比特的值為二進制0和1。然而在量子特性中,一個量子比特,不僅僅代表兩個數值,其能夠代表|0〉和|1〉之間的無限個中間態(tài),也就是說量子比特的狀態(tài)是|0〉和|1〉的線性組合:
式中,α和β 為復數,被稱作量子態(tài)概率幅。|α|2和|β|2分別表示量子位在|0〉和|1〉狀態(tài)間的概率,而且滿足以下條件:
包含m個量子比特位系統(tǒng):
式中,|αi|2+|βi|2=1(i=1,2,…,m)。m 個比特位可以有2m種狀態(tài),且其中的狀態(tài)由2m個概率幅決定。所以,量子遺傳算法在種群多樣性和全局搜索能力比一般遺傳算法更加優(yōu)秀。
該算法更新種群的方法是旋轉門。操作方法如下:
式中,θ為旋轉角,大小以及方向按照表1來選擇,θ=s(αi,βi)δ。
表1中,f(x)是適應度函數,xi和besti分別代表第i個當前的染色體與最優(yōu)的染色體的二進制編碼;s(αi,βi)代表旋轉角方向,s(αi,βi)其中的符號確定染色體收斂方向;δ代表旋轉角,能夠影響算法收斂速度,δ范圍是 0.005π~0.1π。
(1)先設定好種群的大小n和量子編碼的位數m。其中每個個體如公式(6)所示,所有的 αi、βi初始化成
(2)根據個體概率幅生成相對應的二進制編碼。具體的操作:產生[0.1]的隨機數,若隨機數大于|αi|2或者|βi|2,則取 1,否則取 0。
(3)計算個體適應度值,并記錄適應度最大個體,作為下一代的進化目標。
(4)判斷終止條件是否滿足,如果滿足則算法終止,不滿足則執(zhí)行下一步。
(5)計算量子旋轉旋轉角,并更新每個個體概率幅值。
(6)代數加1,然后繼續(xù)進行(2)步驟。
量子遺傳算法中,種群之中的其余個體需要朝向最優(yōu)解的方向來更新自己的染色體,更新時由其本身與當前最優(yōu)個體的概率幅值來決定。但如果當前的最優(yōu)解個體是當前全局次優(yōu)解,那就會陷入局部最優(yōu)。
表1 量子旋轉門的調整策略
為了解決這種問題,此文加入多種群的計算方法。將整體的種群進行分化,劃分成多個子種群并且每個自種群向著其中最優(yōu)的種群來進化,并且在進化到一定的代數時,通過移民方法來交換個體,這樣可以加快算法收斂速度,且避免過早收斂現(xiàn)象。但傳統(tǒng)多種群算法僅僅是將父種群隨機的劃分為多個子種群,其有盲目性和隨機性,不符合自然進化規(guī)律。所以這里利用K均值聚類的算法劃分種群。
K均值聚類算法:任意選擇其中的K個對象用作初始聚類中心,并計算群體之中個體與聚類中心的距離,令每個個體歸屬于其最近聚類中心。聚類中心和其被分配的個體代表一個子種群。如果所有個體都被分配,那么各個種群聚類中心將會根據聚類之中現(xiàn)有個體來重新計算。此過程不斷重復直至群體不再變化。
基于K均值的多種群的量子遺傳算法如下:
步驟1利用以上方法將父種群劃分為k個子種群。
步驟2各個子種群利用量子旋轉門來進行更新,然后計算出所有個體的適應度值。
步驟3各個子種群進行移民操作:相鄰子種群適應度最高的個體來代替本子種群適應度最低的個體。
步驟4每一個子種群之中要選擇出適應度值最好的那個個體保存到精華群。若最優(yōu)個體的最少保持代數小于設定值,則轉到步驟1,否則迭代終止。其中精華群里面的最優(yōu)個體則為最優(yōu)解。
子種群進化時的計算是由動態(tài)組建完成,且利用其他子種群的最優(yōu)個體代替本子種群最劣個體,此種方法能促進各個子種群間的信息交換,增加跳出局部最優(yōu)的概率。精華種群的作用是保證各子種群的最優(yōu)解不被丟失。
種群更新時需要比較各個個體與當前的最優(yōu)個體的二進制編碼來決定轉角,若f(x)≥f(b),則需要調整個體中相對應比特位,令(αi,βi)朝著x的方向進行旋轉。δ大小決定收斂速度,δ設定為固定值,計算過程中保持不變。但是此種方法有所不足:若設置過大,則會導致算法早熟;設置過小,則致迭代次數過多,收斂過慢。為解決此問題,需要一種自適應調整策略,令旋轉角隨每個個體與當前最優(yōu)個體差異大小來變化。
文獻[5]提出使用公式(8)的策略來調整旋轉角,公式如下:
式中,fmax和fmin分別代表當前種群里面?zhèn)€體的最大適應度值和最小適應度值,f代表的是當前個體適應度值。
由公式(8)可知,若當前個體的適應度值比較小,且與最優(yōu)個體的適應度值相差較大時使用較大旋轉角,相反則用較小旋轉角。且無論f是哪種情況,δ的取值都在δmax與δmin之間來取值。
由于影響離子膜效率的因素有很多,如果這些因素全部輸入到控制模型之中,這樣不僅會使計算結構變的復雜,并且會拖慢運算速度,降低運算精度,使控制系統(tǒng)的泛化能力不足,達不到預期的可行性。在氯堿電解過程中,很多影響因素都具有耦合性,并且有些影響因素對于生產過程的影響相對來說較小。所以,建立控制模型之前,需要簡化影響因素的輸入,使模型較為清晰,增加實現(xiàn)程度。
本文采用的是核主元素分析法(Kernel Principal Component Analysis,KPCA)簡化數據屬性。核主元素分析法就是利用“核技巧”將線性的主成分分析法(Principal Component Analysis,PCA)進行拓展,成為非線性的PCA,對于傳統(tǒng)PCA來說,KPCA具有主成分特征更加明顯,參數維數較少,貢獻率更加集中等優(yōu)點,是一種處理非線性指標的理想分析方法。
現(xiàn)場采集生產數據后,根據基本原理,計算KPCA的“累計貢獻率”的過程如下。
(1)將n個指標(每個指標有m個樣品)數據寫成(m×n)維的矩陣:
(2)計算核矩陣K;
(3)修正核矩陣得到KL;
(4)使用Jacobi迭代方法來計算KL的特征值λ1,…,λn即對應的特征向量 v1,v2,…,vn;
通過施密特正交化方法,單位正交化特征向量,得到 α1,α2,…,αn;
計算特征值的累積貢獻率 B1,B2,…,Bn,根據給定的提取效率p,如果Bt≥p,則提取t個主分量α1,α2,…,αt。
所以,根據核主元素分析法,在槽溫、電流密度、電壓、NaOH濃度、淡鹽水濃度這5個變量中,選擇出3個主元作為模型的輸入。分析結果見表2。
核主元素分析法的原則是要求每個元素的累計貢獻率達到85%以上即可,由表2可知,只要選擇前兩個元素就能夠滿足,但是在分別仿真2個主元、3個主元、4個主元、5個主元作為輸入時仿真得到的預測誤差百分比,見表3。
表2 核主元素分析法分析結果
表3 膜效率預測誤差
由表3可知,用2個主元輸入模型到用3個主元輸入模型時,膜效率誤差有明顯下降。以3個主元、4個主元、5個主元來輸入模型時,膜效率的誤差雖然降低,但是誤差變化不大。所以,為了既保證原有樣本的基本信息,又能簡化神經網絡的輸入模型,需要選擇前5個主元作為輸入模型,分別是槽溫(x0)、NaOH 濃度(x1)和淡鹽水濃度(x2)。
本文采用改進的多種群量子遺傳優(yōu)化BP神經網絡算法建立氯堿電解槽膜效率軟測量模型。數據來自于某化工企業(yè)的生產過程記錄值。
經過預先的數據處理后得到756組樣本數據,然后隨機采取656組數據作為其中的訓練樣本數據,其中的100組數據作為測試數據。此時可以利用這些數據在matlab平臺上進行仿真,設置3-7-1的神經網絡結構,把x0,x1,x2這3組數據作為輸入數據,y作為輸出數據來進行神經網絡的訓練。
圖3 氯堿電解膜效率輸出曲線圖
圖4 氯堿電解膜效率預測誤差百分比曲線圖
學習速率是0.01,設定誤差為0.000 1,迭代次數是500。父種群的規(guī)模是200,子種群的個數是5,個體的量子編碼和二進制編碼長度是20,最優(yōu)的個體保持的代數為10的時候終止算法。令期望輸出和實際輸出間的均方誤差的倒數作為適應度的函數值,即1/MSE(y-y′)。氯堿電解的膜效率和誤差百分比的仿真結果分別見圖3和圖4。
圖3和圖4的仿真結果表明,基于BP神經網絡遺傳算法對氯堿電解過程中的膜效率進行優(yōu)化,能將膜效率很好的預測出。
得到離子膜效率的軟測量模型之后,即可對離子膜的效率進行優(yōu)化,優(yōu)化的目的是計算出在給定的生產負荷下,最佳的電解槽溫度、堿液濃度和淡鹽水的濃度,并將其作為設定值輸入到控制系統(tǒng),從而來提高離子膜的生產效率。
因為得到的軟測量模型中的變量較少,所以本文選用復合形法來進行離子膜效率的尋優(yōu)。
從預測模型中得到的離子膜效率的目標函數是
式中,x0,x1,x2為自變量分別代表的是槽溫、堿液濃度和淡鹽水濃度。在實際問題中要求的是極大值,令J=-η=-f(x0,x1,x2),J極小值的絕對值就是η的極大值。用復合形法求目標函數J極小值的過程如下。
(1)復合形一共有2 n個頂點,本文中n為3,假設給定的初始復合形中第一個頂點坐標(x00,x10,x20),并且此頂點坐標應滿足相應的約束條件;
(2)在三維空間變量之中,再確定初始復合形其余的5個頂點。
利用偽隨機數按照約束的條件來產生第j個頂點,X(j)=(x0j,x1j,x2j),j=1,2,…,5,其中各個分量xij(i=0,1,2)為:式中:r為0~1之間的偽隨機數;ai和bi是變量xij的常量約束條件,即 ai≤xij≤bi。
(3)確定好復合形2n=6個頂點后,計算每個頂點的目標函數值
(4)確定最壞點XR與次壞點XG
(5)計算最壞點XR的對稱點
(6)確定新頂點替代最壞點XR構成新的復合形,方法如下:
若f(XT)>f(G),則用下式修改XT:XT=(XF+XT)/2,直到f(XT)≤f(G)為止,若重復M次未找到XT使f(XT)≤f(G),則直接跳出來重新選擇初始的復合形頂點計算,若連續(xù)N次直接跳出都未能尋出結果,則選取N次之中最好的結果作為最優(yōu)解輸出[6];
然后檢查XT是否滿足所有的約束條件,如果對于某個分量XiT不能夠滿足常量的約束條件,即如果 XiT<ai或者 XiT>bi,則令 XiT=ai+δ或者 XiT=bi-δ。其中δ是一個很小的正數,一般取δ=1×10-6。然后重復(6)。
此時令XR=XG,f(R)=f(XT),重復(4)~(6),直到各頂點的距離小于設定的精度為止,即可獲得目標函數的最優(yōu)值。
離子膜效率優(yōu)化的結果見表4。
表4 最優(yōu)膜效率及試驗條件仿真結果
表4的仿真結果表明,此種方法得到的最優(yōu)膜效率93.96%,和其對對應的生產條件。所以,此種方法能夠達到預期目標,并能夠應用于實際生產之中。
本文從某化工廠采集的756組樣本數據的離子膜平均效率為92.85%。所以由此可知,此種方法能夠將氯堿電解槽的離子膜效率提升0.5%左右,可以為氯堿生產帶來可觀的經濟效益。
本文以氯堿電解槽生產過程為背景,提出利用改進的多種群量子遺傳優(yōu)化BP神經網絡建立離子膜效率的軟測量,然后用遺傳算法對離子膜的電解效率進行優(yōu)化。此次利用神經網絡遺傳算法計算出的膜效率為93.36%,在優(yōu)化之前,電解設備的膜效率僅為92.85%。通過此次優(yōu)化,膜效率能夠提升0.5%左右,帶來的經濟效益約為200萬元/a,從而為氯堿生產過程提供了優(yōu)化操作指導,可以成為其節(jié)能減排的一種方法[7]。