潘欣,劉海燕,廖安,鄢烈祥,史彬
(武漢理工大學(xué)化學(xué)化工與生命科學(xué)學(xué)院,湖北 武漢430070)
化工行業(yè)中的優(yōu)化問(wèn)題經(jīng)常需同時(shí)考慮產(chǎn)量、耗量費(fèi)用、污染排放等[1]多個(gè)目標(biāo),而這多個(gè)目標(biāo)間往往相互矛盾,一個(gè)目標(biāo)的改善有可能會(huì)引起另一個(gè)或者另幾個(gè)目標(biāo)的性能降低,也就是要同時(shí)使多個(gè)目標(biāo)一起達(dá)到最優(yōu)值是不可能的。這時(shí)就需對(duì)各個(gè)目標(biāo)進(jìn)行協(xié)調(diào),找到一個(gè)使各個(gè)目標(biāo)都盡可能達(dá)到最優(yōu)的解的集合以供決策者選擇。非支配解集(Pareto解集)經(jīng)常被用來(lái)解決這類多目標(biāo)問(wèn)題,其特點(diǎn)是集合中的每個(gè)解都至少存在一個(gè)目標(biāo)優(yōu)于其他所有的解,這樣一個(gè)多目標(biāo)優(yōu)化問(wèn)題就被轉(zhuǎn)化為一個(gè)非支配解集的求解問(wèn)題。進(jìn)化算法(evolutionaryalgorithm,EA)作為一類啟發(fā)式搜索算法,已被成功應(yīng)用于多目標(biāo)優(yōu)化領(lǐng)域,它通過(guò)維持代與代之間由潛在解組成的種群來(lái)實(shí)現(xiàn)全局搜索,能有效提高非支配解的搜索效率[2]。
第一代多目標(biāo)進(jìn)化算法始于20世紀(jì)90年代初,以MOGA(multi-objectivegeneticalgorithm)[3]和NSGA(non-dominatedsortinggeneticalgorithm)[4]等為代表,其特點(diǎn)是采用了基于Pareto等級(jí)的個(gè)體選擇方法和基于適應(yīng)度共享機(jī)制的種群多樣性保持策略。與第一代進(jìn)化算法相比,以Zitzler等[5]提出的SPEA(strengthParetoevolutionaryalgorithm)和Knowles等[6]提出的PAES(Paretoarchived evolutionstrategy)等為代表的第二代進(jìn)化算法[7]引入了精英保留機(jī)制,避免了優(yōu)秀解在下一代進(jìn)化過(guò)程中被破壞。目前,第二代進(jìn)化算法已被普遍應(yīng)用于各行各業(yè)的優(yōu)化中,其中以Deb等[8]學(xué)者通過(guò)對(duì)非支配排序遺傳算法進(jìn)行改進(jìn)提出的NSGA-Ⅱ最具代表性。NSGA-Ⅱ算法降低了非劣排序遺傳算法的復(fù)雜性,具有運(yùn)行速度快,解集的收斂性好等優(yōu)點(diǎn),是目前最流行的多目標(biāo)優(yōu)化算法之一。
近年,有國(guó)內(nèi)外學(xué)者將PAES、NSGA、SPEA等進(jìn)化算法應(yīng)用到化工領(lǐng)域解決各類問(wèn)題,這其中以其與流程模擬軟件相結(jié)合的優(yōu)化研究較多[9-11]。以AspenPlus軟件為例,因其具有完備的物性數(shù)據(jù)庫(kù)和強(qiáng)大的模型分析工具,可以對(duì)工況數(shù)據(jù)進(jìn)行較準(zhǔn)確的模擬。然而,當(dāng)需要模擬的流程較為復(fù)雜或者含有循環(huán)流股時(shí),模擬耗時(shí)較長(zhǎng)且不易收斂,流程模擬軟件與進(jìn)化算法相結(jié)合優(yōu)化的計(jì)算效率不高。為了解決這一問(wèn)題,本文引入了一種多目標(biāo)并行計(jì)算方法PDPGA,對(duì)遺傳算法的子代種群進(jìn)行分組,利用局域網(wǎng)的多臺(tái)子節(jié)點(diǎn)計(jì)算機(jī)同時(shí)調(diào)用AspenPlus軟件對(duì)子種群進(jìn)行模擬計(jì)算,降低串行優(yōu)化的耗時(shí)以達(dá)到降低總體模擬時(shí)間,提高優(yōu)化效率的目的。
遺傳算法最初由美國(guó)Michigan大學(xué)J.Holland教授于1975年首先提出,是一種通過(guò)模擬自然進(jìn)化過(guò)程搜索最優(yōu)解的方法。但隨著科學(xué)技術(shù)的發(fā)展,問(wèn)題的規(guī)模不斷擴(kuò)大和復(fù)雜度難度增加,對(duì)遺傳算法求解質(zhì)量和運(yùn)行速度都提出了更高的要求,經(jīng)典串行遺傳算法的搜索時(shí)間會(huì)被成倍地延長(zhǎng)。很多學(xué)者都致力于提高遺傳算法的搜索效率,一個(gè)重要的研究方向就是遺傳算法的并行化[12-13]。目前主要有4種并行化模型:主從式模型、粗粒度模型、細(xì)粒度模型和混合模型。相比于后3種復(fù)雜的并行化模型,主從式模型[14]不改變遺傳算法的基本結(jié)構(gòu)特點(diǎn),只有一個(gè)群體而且全部都在統(tǒng)一的環(huán)境中進(jìn)化,只將適應(yīng)度評(píng)價(jià)部分并行化執(zhí)行,是一種直接的并行化方案,對(duì)于適應(yīng)度計(jì)算過(guò)程耗時(shí)長(zhǎng)的優(yōu)化過(guò)程尤其適用。本文提出的PDPGA算法采用的就是主從式模型。
PDPGA算法是一種基于種群的分布式并行遺傳算法,該方法以NSGA-II算法為框架,采用主從節(jié)點(diǎn)分布的策略。主節(jié)點(diǎn)的負(fù)責(zé)初始化種群,對(duì)父代進(jìn)行選擇、交叉和變異產(chǎn)生子代,并對(duì)子代種群進(jìn)行分組和結(jié)果回收。子節(jié)點(diǎn)的作用是接收主節(jié)點(diǎn)分配子代種群,計(jì)算其目標(biāo)值,并返回給主節(jié)點(diǎn)。
PDPGA算法具體步驟如下所述。
(1)主節(jié)點(diǎn)初始化種群P0,對(duì)其進(jìn)行非支配排序得到其Pareto最優(yōu)解集Pt0。同時(shí)建立一個(gè)外部保留種群Pt,將Pt0保存至外部保留種群Pt中。
(2)主節(jié)點(diǎn)對(duì)P0進(jìn)行選擇、交叉和變異,產(chǎn)生子代種群Pc(不計(jì)算其目標(biāo)值)。對(duì)產(chǎn)生的子代種群進(jìn)行分組,即Pc={Pc1,Pc2,…,Pcn},其中n為局域網(wǎng)中的計(jì)算機(jī)臺(tái)數(shù)。
(3)將Pc1,Pc2,…,Pcn分別發(fā)送給n臺(tái)局域網(wǎng)的子節(jié)點(diǎn)計(jì)算機(jī),各節(jié)點(diǎn)機(jī)計(jì)算其接收到種群的目標(biāo)值(f1,f2,…,fn),計(jì)算完成后將目標(biāo)值返回主節(jié)點(diǎn)。
(4)主節(jié)點(diǎn)收集子節(jié)點(diǎn)返回的目標(biāo)值,合并Pc1和f1、Pc2和f2,…,Pcn和fn,并將合并后的n個(gè)子種群在進(jìn)行合并,得到完整的子代種群P1。
(5)對(duì)P1進(jìn)行非支配排序得到第一代進(jìn)化的Pareto最優(yōu)解集Pt1,將Pt1保存至外部保留種群Pt。在對(duì)外部保留種群Pt進(jìn)行非支配排序刪除其中的支配解,用得到的Pareto最優(yōu)解集更新Pt。
(6)對(duì)P1重復(fù)步驟(2)、(3)和(4)的操作得到P2,對(duì)P2進(jìn)行步驟(5)的操作得到Pt2和新的Pt,如此循環(huán)直到滿足循環(huán)迭代的終止進(jìn)化代數(shù)為止。最終所得的外部保留種群的Pareto最優(yōu)解集Pt即為所求的多目標(biāo)優(yōu)化結(jié)果。
將模擬軟件與遺傳算法相結(jié)合優(yōu)化時(shí),可將模擬軟件看成一個(gè)“黑箱”,用于計(jì)算相應(yīng)參數(shù)下對(duì)應(yīng)的目標(biāo)值,屬于適應(yīng)度評(píng)價(jià)的計(jì)算部分,對(duì)其進(jìn)行并行化求解符合主從式模型的應(yīng)用特點(diǎn)。圖1所示為PDPGA與AspenPlus軟件結(jié)合優(yōu)化的計(jì)算框圖。與NSGA-II算法主要差別在于PDPGA算法對(duì)每次父代進(jìn)行遺傳、交叉和變異產(chǎn)生的子代進(jìn)行了分組,分組后的子種群交由局域網(wǎng)的其他子節(jié)點(diǎn)計(jì)算機(jī)計(jì)算。各子節(jié)點(diǎn)計(jì)算機(jī)接收計(jì)算任務(wù)后,同時(shí)調(diào)用AspenPlus軟件進(jìn)行模擬計(jì)算,計(jì)算完成后將子節(jié)點(diǎn)的模擬結(jié)果收集反饋給主節(jié)點(diǎn),主節(jié)點(diǎn)進(jìn)行非支配排序及精英保留操作后進(jìn)行下一代的進(jìn)化。PDPGA通過(guò)將大量的模擬任務(wù)分配給不同的節(jié)點(diǎn)計(jì)算機(jī)同時(shí)計(jì)算,有效降低模擬過(guò)程在整個(gè)優(yōu)化過(guò)程中的耗時(shí),提高了優(yōu)化效率。
應(yīng)用PDPGA與AspenPlus結(jié)合進(jìn)行優(yōu)化時(shí),數(shù)據(jù)通信主要發(fā)生在每一代的主節(jié)點(diǎn)將種群分配給子節(jié)點(diǎn)和子節(jié)點(diǎn)調(diào)用AspenPlus計(jì)算后將結(jié)果反饋給主節(jié)點(diǎn)這兩部分。為降低局域網(wǎng)數(shù)據(jù)通信時(shí)間開(kāi)銷在整個(gè)優(yōu)化過(guò)程中的耗時(shí)比例,在進(jìn)化代數(shù)一定的情況下,應(yīng)適當(dāng)加大種群規(guī)模。考慮到變量的個(gè)數(shù)和遺傳算法的特性,種群規(guī)模在60~200較好,每個(gè)子節(jié)點(diǎn)計(jì)算機(jī)分配到的子種群數(shù)控制在30~60為宜。
圖1 PDPGA與AspenPlus結(jié)合計(jì)算框圖
氯乙烯(VCM)是一種應(yīng)用于高分子化工的重要的單體,其聚合物聚氯乙烯(PVC)是日常生活中應(yīng)用最廣的一種塑料材料。目前,工業(yè)上生產(chǎn)氯乙烯的主要方法[15]有電石法和二氯乙烷裂解法,無(wú)論哪種方法生產(chǎn)的VCM都含有二氯乙烷、氯化氫、水等雜質(zhì),需要經(jīng)過(guò)精餾過(guò)程將雜質(zhì)除去,常用的方法是通過(guò)雙塔精餾(低沸塔和高沸塔)分別除去雜質(zhì)中的低沸物和高沸物組分以得到純凈的VCM單體[16]。
本文選擇的氯乙烯精制工藝包括二氯乙烷(EDC)裂解生成粗VCM,以及粗VCM雙塔精餾除去N2、C2H2和HCl等物質(zhì)。本文首先模擬EDC裂解過(guò)程,然后選用文獻(xiàn)[17]的工藝來(lái)模擬VCM精餾過(guò)程,整個(gè)過(guò)程的AspenPlus流程如圖2。其中,裂解爐A1中的EDC的裂解率為55%,粗VCM精餾模擬的相關(guān)參數(shù)可參考文獻(xiàn)[17]。模擬得到的低沸塔和高沸塔的能耗見(jiàn)表1,進(jìn)料量及主要流股的模擬結(jié)果見(jiàn)表2。
表1 低沸塔和高沸塔能耗
表2 模擬結(jié)果
圖2 氯乙烯精制過(guò)程模擬
氯乙烯精制過(guò)程雙目標(biāo)優(yōu)化的數(shù)學(xué)模型為式(1)。
式中,f和Q為氯乙烯精制過(guò)程優(yōu)化的雙目標(biāo):①氯乙烯采出量最大化;②過(guò)程總能耗最小化。Massout表示高沸塔頂氯乙烯的質(zhì)量采出量,kg/h;Q1、Q2、Q3、Q4分別為低沸塔和高沸塔的冷凝器和再沸器的能耗,Gcal/h。
變量范圍與約束條件為:
式中,Φ表示氯乙烯精制過(guò)程滿足的約束方程組,由AspenPlus模塊來(lái)描述;優(yōu)化變量有6個(gè),其中x1、x2和x3分別表示低沸塔B1的餾出率、質(zhì)量回流比和塔壓,x4、x5和x6分別表示高沸塔B2的餾出率、質(zhì)量回流比和塔壓。模型的約束條件為:①氯乙烯產(chǎn)品質(zhì)量分?jǐn)?shù)x7達(dá)到要求;②模擬的結(jié)果中低沸塔和高沸塔模塊的冷凝器及再沸器熱負(fù)荷x8~x11不超過(guò)150Mcal/h。
分別應(yīng)用NSGA-II和PDPGA與AspenPlus結(jié)合對(duì)上述過(guò)程優(yōu)化,兩種優(yōu)化算法的種群規(guī)模均設(shè)為70,進(jìn)化代數(shù)也為70。其中NSGA-II優(yōu)化使用單臺(tái)計(jì)算機(jī)串行計(jì)算,而PDPGA優(yōu)化使用1個(gè)主節(jié)點(diǎn)計(jì)算機(jī)和2個(gè)從節(jié)點(diǎn)計(jì)算機(jī)并行計(jì)算(運(yùn)行計(jì)算機(jī)CPU均為Corei5-34703.2GHz)。圖3和圖4分別為PDPGA和NSGA-II算法求得的氯乙烯采出量和系統(tǒng)總能耗雙目標(biāo)Pareto前沿。從圖中可以看出,隨著低沸塔和高沸塔的總能耗從0.2Gcal/h增加到0.25Gcal/h,氯乙烯的采出量會(huì)逐漸增加到530kg/h。進(jìn)一步增加低沸塔和高沸塔的熱負(fù)荷,氯乙烯的采出量將不再變化。
圖3 PDPGA優(yōu)化的Pareto解集
圖4 NSGA-II優(yōu)化的Pareto解集
圖3中,“★”點(diǎn)為優(yōu)化后選取的操作點(diǎn),將其對(duì)應(yīng)的優(yōu)化變量和優(yōu)化目標(biāo)的取值與3.1節(jié)中模擬值的對(duì)比列于表3和表4。從表3中可以看出,通過(guò)適當(dāng)降低低沸塔和高沸塔塔壓,優(yōu)化后的低沸塔餾出率和質(zhì)量回流比均降低了30%左右,這就使得低沸塔的熱負(fù)荷大幅下降;高沸塔的質(zhì)量回流比大幅下降,有效較低了高沸塔的熱負(fù)荷,同時(shí)提高餾出率有利于提高VCM的產(chǎn)量。
表3 優(yōu)化變量的模擬值與優(yōu)化值對(duì)比
表4 優(yōu)化目標(biāo)的模擬值與優(yōu)化值對(duì)比
比較PDPGA和NSGA-Ⅱ二者的最優(yōu)解集Pareto前沿可知,應(yīng)用PDPGA優(yōu)化所得的Pareto前沿分布的比應(yīng)用NSGA-Ⅱ得到的Pareto前沿均勻。分布均勻的Pareto前沿有利于準(zhǔn)確地反映多目標(biāo)問(wèn)題的各個(gè)子目標(biāo)之間的制約關(guān)系,在實(shí)際工業(yè)應(yīng)用中可以給決策者提供更多可供選擇的操作點(diǎn)。表5給出了兩種算法的優(yōu)化性能比較,從表中可以看出,使用雙節(jié)點(diǎn)計(jì)算機(jī)的PDPGA并行計(jì)算比單節(jié)點(diǎn)的NSGA-Ⅱ計(jì)算需多使用2臺(tái)計(jì)算機(jī),但優(yōu)化時(shí)間節(jié)省近40%。而實(shí)驗(yàn)室和工廠中往往都有閑置計(jì)算機(jī)未使用,利用PDPGA算法優(yōu)化能在不增加購(gòu)買高速計(jì)算機(jī)成本的同時(shí),通過(guò)有效利用閑置的計(jì)算機(jī)資源來(lái)降低計(jì)算所需時(shí)間。
表5 PDPGA和NSGA-Ⅱ優(yōu)化性能比較
本文針對(duì)AspenPlus等流程模擬軟件與遺傳算法結(jié)合優(yōu)化耗時(shí)較長(zhǎng)的問(wèn)題,提出了一種種群分布式并行遺傳算法PDPGA。算法通過(guò)多臺(tái)計(jì)算機(jī)并行計(jì)算,能有效降低流程模擬在整個(gè)優(yōu)化過(guò)程中的時(shí)間消耗。將PDPGA應(yīng)用于氯乙烯精制過(guò)程多目標(biāo)優(yōu)化的實(shí)例求解,并與傳統(tǒng)NSGA-II算法直接進(jìn)行優(yōu)化相比較表明,使用基于種群分布式的并行遺傳算法可以在更短的時(shí)間內(nèi),獲得分布均勻且質(zhì)量更好的Pareto解集。
[1]趙博,袁希鋼,羅祎青.考慮環(huán)境影響的間歇過(guò)程多目標(biāo)最優(yōu)化設(shè)計(jì)[J].化工進(jìn)展,2007,26(2):113-118.
[2]公茂果,焦李成,楊咚咚,等.進(jìn)化多目標(biāo)優(yōu)化算法研究[J].軟件學(xué)報(bào),2009,20(2):271-289.
[3]Fonseca C M,F(xiàn)lem ing P J.Genetic algorithms formulti-objective optimization:Formulation discussion and generalization[J].ICGA,1993,93:416-423.
[4]Srinivas N,Deb K.Mutiobjective optim ization using non-dom inated sorting in genetic algorithms[J].EvolutionaryComputation,1994,2(3):221-248.
[5]Zitzler E,Thiele L.Multi-objective evolutionary algorithms:A comparative case study and the strength Pareto approach[J].EvolutionaryComputation,1999,3(4):257-271.
[6]Know les JD,Corne DW.Approximating the non-dominated front using the Pareto achived evolution strategy[J].Evolutionary Computation,2000,8(2):149-172.
[7]Konak A,CoitDW,Sm ith A E.Multi-objective optim ization using genetic algorithms:A tutorial[J].ReliabilityEngineering&System Safety,2006,91(9):992-1007.
[8]Deb K,Pratap A,Agarwal S,etal.A fastand elitistmultiobjective genetic algorithm:NSGA-II[J].EvolutionaryComputation,2002,6(2):182-197.
[9]俞輝,王超,李麗娟,等.基于非支配排序遺傳算法的乙苯脫氫工藝條件優(yōu)化[J].化工學(xué)報(bào),2012,63(9):2771-2776.
[10]林子雄,鄢烈祥,李驍淳,等.基于流程模擬器和列隊(duì)競(jìng)爭(zhēng)算法的精餾操作優(yōu)化[J].化工進(jìn)展,2013,32(1):54-58.
[11]Wang D,F(xiàn)eng X.Simulation andmulti-objective optim ization of an integrated process for hydrogen production from refinery off-gas[J].InternationalJournalofHydrogenEnergy,2013,38(29):12968-12976.
[12]Luque G,Alba E.Natural Language Tagging w ith Parallel Genetic Algorithms[M].Berlin Heidelberg:Springer,2011:75-89.
[13]盧海,鄢烈祥,史彬,等.并行多家族遺傳算法解多目標(biāo)優(yōu)化問(wèn)題[J].化工學(xué)報(bào),2013,64(12):3985-3990.
[14]謝克家,劉昕,王成良,等.多核計(jì)算環(huán)境下改進(jìn)的主從式并行遺傳算法[J].微計(jì)算機(jī)信息,2011,27(3):164-166.
[15]陳靜,侯春陽(yáng),金煒陽(yáng),等.乙炔法生產(chǎn)氯乙烯工業(yè)反應(yīng)技術(shù)研究進(jìn)展[J].化工進(jìn)展,2010,29(9):1603-1608.
[16]張軍.氯乙烯生產(chǎn)工藝中操作參數(shù)優(yōu)化研究[D].上海:華東理工大學(xué),2013.
[17]李群生,于穎,郭增昌.氯乙烯精餾工藝流程的模擬計(jì)算及技術(shù)改造[J].石油化工,2012(7):820-824.