常曉萍
杜文芳②
王凌②
何學甫②
(①武漢輕工大學電氣與電子工程學院,武漢430023;②武鋼氧氣公司,武漢430083)
許多化工過程中定態優化問題都屬于非線性約束問題,在對其進行解決的時候通常采用常規經典數學方法,如廣義梯度法和逐次二次規劃法等。由于在化工領域的優化求解中此方法取得了良好的效果,從而得到廣泛的應用[1]。
近些年以來,螢火蟲算法、蟻群算法以及粒子群算法等群智能優化算法由于具有強大的尋優能力而得到了廣泛的應用。該算法將待優化問題的所有可能解看成一個解空間,從一個隨機的可能解開始,通過對該子集施加算法而產生新解集,最終達到最優解的狀態。由于此算法在尋優過程中不受搜索空間連續或可微的限制,只需要目標函數的信息,因此具有良好的應用前景。
螢火蟲算法(GSO)屬于群智能算法之一,是由印度學者Krishnanand等人[2]在2005年提出的。每只螢火蟲在GSO算法中分布在目標函數的定義空間中,這些螢火蟲除了自帶的熒光素外還擁有各自的視野范圍,即區域決策范圍。其所處位置的目標函數值對其亮度具有很大的影響,越亮的螢火蟲表明所處位置越好,即擁有較好的目標值。在區域決策范圍內,螢火蟲都會尋找鄰居集合,螢火蟲越亮擁有的吸引力越高,從而吸引其他螢火蟲向此方向移動。鄰居數量會影響其區域決策范圍的大小,為了利于找到更多的鄰居,當鄰居密度較低時就會加大決策半徑,反之則減小決策半徑,最終在較優點處聚集大部分的螢火蟲。
在螢火蟲算法中最重要的兩個要素是亮度和吸引度:亮度除了體現螢火蟲所處位置的優劣外,還決定了其移動的方向;吸引度則決定了螢火蟲的移動距離,為了達到目標最優的效果,可通過不斷更新亮度和吸引度來實現。
設I為螢火蟲的相對亮度,數學表述為

式(1)中,I0為螢火蟲的最大熒光亮度與優化問題中的目標函數相對應,目標函數越優,亮度越高;q為光強吸收系數,體現熒光因距離的增加和傳媒媒介的吸收逐漸減弱;rij為螢火蟲i與j之間的距離。
螢火蟲的吸引度表述為:

式(2)中,β0為最大吸引度。
螢火蟲i被吸引向螢火蟲j移動的位置更新由下式決定:xi(t+1)=xi(t)+β×(xj(t)-xi

式(3)中,xi(t)和xj(t)為螢火蟲i和j所處的空間位置;ε為步長因子,一般選取[0,1]之間的常數;rand為[0,1]上服從均勻分布的隨機因子。
本文在進行優化仿真的時候以苯—甲苯閃蒸過程[3]為例。流程圖如圖1所示。

圖1 苯-甲苯閃蒸過程
如圖1所示,閃蒸器在此過程中,頂部輸出氣象產物,底部輸出的流向分流器,除了一部分作為液相產品外,另一部分進入泵作為循環回流,由于與新鮮料液在混合器進行混合后進入閃蒸器從而提高了苯的回收率。
在進程①中,新鮮物料的狀態如下:溫度和壓力分別為 110℃和 1.818×105Pa;苯和甲苯的流量均為 50kmol·h-1,可將此混合物認定為理想體系。優化的目的就是使得汽相產物中苯的產量最大,對此,可以通過調整閃蒸溫度、壓力、分流器操作分類系數即進程⑤對進程④的流量比實現。優化問題的數學模型參見文獻[4]。采用Matlab語言編制的算法進程由于加入了記憶功能,從而避免了優化解的遺失,最終實現了算法的智能化。由于縮短了尋優過程和節省了計算時間,從而有效提高了程序運行的效率。
仿真程序設計如下:①初始化基本參數,主要是螢火蟲數目m,最大吸引度β0,步長因子ε,迭代次數s及搜索精度等。螢火蟲數目m對應優化變量X的解空間的數目,其規模大小決定每一次向吸引度強的位置趨近時解空間的多少,可以相應地計算出對應的目標函數。②隨機給出一組螢火蟲的初始位置,即變量X的一組初值。并計算出相應的螢火蟲的熒光亮度,即目標函數。③計算螢火蟲的相對亮度和吸引度,根據相對亮度決定螢火蟲的移動方向。即根據步驟②中隨機選取的變量X的初值,計算目標函數的值。④更新螢火蟲的位置,即根據步驟③所計算出的目標函數值的優劣,重新選擇變量X。如該次目標函數優于前次值,則保留該次變量X之值,反之舍去,重新更新位置,選取新的變量X值,進入迭代循環。⑤檢查是否滿足迭代條件,滿足,結束程序運行,輸出優化解和相應的目標函數。計算過程中,螢火蟲數目取20個,光強吸收系數q=1.0,最大吸引度β0=1.0,步長因子ε=0.02,迭代次數s取300。
仿真運行5次,結果如表1所示,表2為各進程的優化操作條件,分流系數為0.5262,各符號意義如下:
F—流量,(kmol·h-1);H—焓,(J);p—閃蒸壓力,(Pa);T—溫度,(℃);x—摩爾分數;f(x)—目標函數(氣相產物中的苯含量),(kmol·h-1)。下角標 b 表示苯;t表示甲苯;1,2,…,7分別代表圖1中的進程序號。
本文在對苯-甲苯閃蒸過程中進行優化仿真計算時采用GSO算法,采用此算法具有很好的遍歷性,不僅能夠有效對優化對象進行求解,還能夠得到比經典數學方法更優化的結果。采用經典方法得出的結論為:閃蒸溫度和閃蒸壓力分別為95.0032℃和1.087×105Pa,進程③的流量和最優苯產量分別為 3.6583kmol·h-1和 2.5740kmol·h-1。這組數據充分證明了采用螢火蟲算法能夠有效地對化工生產過程[5]中的優化問題進行解決。

表1 優化仿真結果

表2 各進程優化值
[1]姚平經.化工過程系統工程[M].大連:大連理工大學出版社,1992.
[2]KRISHNANAND K N,GHOSE D.Detection of multiple source locations using a glowworm metaphor with applications to collective robotics[C].Proc of IEEE Swarm Intelligence Symposium.Piscataway:IEEE Press,2005:84-91.
[3]駱晨鐘,張志強,邵惠鶴.混沌搜索方法及其在化工過程優化中的應用[J].化工學報,2000,51(6):757-760.
[4]鄧正龍.化工中的優化方法[M].北京:化學工業出版社,1992.
[5]王克峰,修乃云,匡國柱等.非線性蒸汽動力系統參數優化新方法——改進遺傳算法[J].化學工程,1998,26(4):42-45.