PRO/II软件、Excel软件和遗传算法的集成及其应用

2015-02-05 08:25刘忠保李国庆
石油化工 2015年11期
关键词:电子表格裂解炉催化裂化

刘忠保,李国庆

(华南理工大学 化学与化工学院,广东 广州 510640)

PRO/II软件、Excel软件和遗传算法的集成及其应用

刘忠保,李国庆

(华南理工大学 化学与化工学院,广东 广州 510640)

针对PRO/II软件在数据处理和优化功能方面的不足,利用PRO/II软件的COM服务器与其他程序交互的功能,在Excel软件的Visual Basic for Applications(VBA)中编写PRO/II软件与Excel软件接口程序,在接口程序中编写遗传算法,实现PRO/II软件、Excel软件和遗传算法的集成。该集成可提高模拟计算效率,实现化工过程的多变量优化。采用PRO/II软件、Excel软件和遗传算法的集成对1.2 Mt/a催化裂化装置主分馏塔和吸收稳定系统的3个操作变量进行优化,可使该催化裂化装置的效益提高904.2元/h。炼油过程催化裂化装置分馏及吸收稳定系统的操作优化案例研究结果表明该方法是可行的。

PRO/II软件;Excel 软件;遗传算法;软件集成;多变量优化

PRO/II和Aspen Plus等化工流程模拟软件具有强大的物性数据库、丰富的热力学模型和单元操作模块,可用于化工过程的模拟、设计和优化。但即便如此 ,由于化工过程的复杂性和实际需求的多样性,决定了它们还必须与其他不同功能和特点的软件配合,才能满足某些特定的要求,这就催生了所谓的“软件集成技术”[1]。

耿大钊等[1]开发了Aspen Plus软件与Matlab软件的高级接口工具箱,将Aspen Plus软件的过程仿真能力与Matlab软件的计算能力结合在一起,实现了在Matlab环境下对Aspen Plus软件运行的控制以及数据读写。孔祥冰等[1]在Visual Basic(VB)环境下开发控制软件,利用Aspen Plus软件的扩展功能,对其进行控制和访问,避免了人工操作的烦琐。刘保柱等[3]利用Excel软件的Visual Basic for Applications(VBA)编程功能,实现了在Excel软件中对PRO/II软件运行的控制以及数据读写。以分馏塔为例,先用PRO/II软件进行不同塔板数下的模拟和水力学计算,然后将结果写入Excel软件,再利用Excel软件良好的数据处理能力,进行投资费用和运行费用权衡,最终得到优化的塔板数和回流比。但这些研究基本还是利用Excel软件的数据处理能力,辅助提高Aspen Plus软件或PRO/II软件的模拟计算效率,而较少涉及复杂化工过程的多变量优化,而这恰恰是实际工业过程所特别需要的。

钱新华等[1]进行了多变量优化研究,他们先用Aspen Plus软件通过控制变量法获取研究对象的大 量模拟数据,再分析模拟数据并拟合出目标值与模拟变量之间的函数关系,然后用Matlab软件中的遗传算法工具包实施最优求解。由于所有的工作都是手工离线进行的,并没有将Aspen Plus软件与Matlab软件自动连接,因而局限性很大。van Baten等[3]和Oppelt等[3]基于开放式化工模拟系统标准,研究了多种流程模拟软件(如Aspen Plus,Aspen HYSYS,PRO/II,ChemCAD,gPROMS等)间的集成,提出了“联合模拟方法(Co-Simulation)”,如将原油开采环节和炼油环节进行联合模拟,从而指导采油与炼油的生产操作,但该方法更多的是强调不同软件不同物性方法的调用,并没有研究化工流程模拟的参数优化问题。

本工作通过研究PRO/II COM服务器与其他软件的连接功能,在VBA中编写PRO/II软件与Excel软件的接口程序,同时在程序中编写遗传算法,将PRO/II软件的仿真能力、Excel软件的数据处理能力和遗传算法的寻优能力集成在一起,以自动研究复杂化工过程的多变量优化问题。

1 PRO/ⅠⅠ软件和Excel软件的接口程序

1.1 COM及PRO/II COM服务器

常见流程模拟软件集成方法之一是基于组件对象模型(COM)技术[1-4]。COM是Microsoft公司创建的一种独立于编程语言和操作系统的二进制接口规范[1],用于任意两个组件之间的通信。

PRO/II数据库是扩展名为“.prz”的文件,该文件包含模型的输入数据和模拟结果。PRO/II软件的COM服务器为用户提供从COM兼容的应用程序中访问PRO/II模拟数据库的方法,用户可以在VB,C++,Microsoft Excel等环境下编写接口程序,达到修改PRO/II模拟数据库的输入参数和读取模拟结果的目的。

1.2 PRO/II软件与Excel软件的集成

使用Excel软件内嵌的VBA编写接口程序,实现PRO/II软件与Excel软件的集成。该集成可利用Excel软件的宏语言功能帮助修改与读取PRO/II软件的数据。VBA是常用程序开发语言VB的简版,它保留了VB语言简单、实用、开发速度快、效率高的优点,但在独立进行程序开发时,要依赖“父”程序Excel[9]。相比VB和C++等其他程序编写环境,选用VBA可以提高程序运算速度[10]。基于COM技术在VBA中编写的Excel软件与PRO/II软件接口程序的结构示意见图1。

图1 接口程序的结构示意Fig.1 Structure demonstration of interface program.

按图1所示,先选取研究对象,建立研究对象的PRO/II模型,运行收敛后,通过PRO/II软件的Export功能导出模型的inp文件,即关键字文件。inp文件的功能是将模型数据用代码的形式保存起来,该文件可在VBA中读取,并且可以修改和编辑。利用inp文件的这些特点,可以通过修改inp文件中的参数,实现对PRO/II模型的修改。

通过在VBA中编写的接口程序,具有4种功能:1)修改PRO/II模型参数;2)调用PRO/II软件;3)运算修改后的PRO/II模型;4)读取模拟结果。应用Excel软件的电子表格数据存储功能,将模型参数与模拟结果记录下来,实现在Excel软件中进行PRO/II软件的自动迭代运算、数据记录,以代替人工重复操作,节省时间、提高效率。

现在以PRO/II模型“案例1.prz”为示例,分别说明接口程序的4种功能。假设“案例1.prz”已经在PRO/II软件运行收敛,并导出了“案例1.inp”文件。

1)修改RPO/II模型参数

如需要将输入物流S1的压力由“PTOP=P1”修改为“PTOP=P2”,该参数在“案例1.inp”文件中位于第n行,第m列。具体代码如下:

Dim s As String,t() As String

Open“c:SimSciproii80user案例1.inp" For Binary As #1

s = Input(LOF(1),#1)

Close #1

t = Split(s,vbCrLf)

Dim dest() As String

dest = Split(t(n),“”)

dest(m) = “PTOP=”&(P2)&“”

t(n) = Join(dest,“”)

s = Join(t,vbCrLf)

2)调用PRO/II软件

在VBA中打开PRO/II COM服务器,实现PRO/ II软件调用该过程在VBA的代码如下:

Dim P2SRV as Object

Set P2SRV = CreateObject(“SimSciDbs.Database.80”)

P2SRV.Initialize

其中,“80”表示PRO/II 8.0版本,“P2SRV.Initialize”表示对PRO/II COM服务器进行初始化。

3)运算修改后的PRO/II模型

先将修改后的“案例1.inp”转化为“案例1.prz”,再打开PRO/II数据库,完成运算。代码如下:

Dim P2DB As Object

Name“c:SimSciproii80user案例1.inp”as “c:SimSciproii80user案例1.prz”p2Database$ = “c:SimSciproii80user案例1.prz”Set P2DB = P2SRV.OpenDatabase(p2Database$)

4)读取模拟结果

加载数据对象到内存中,如需要读取模拟后RPO/II模型中物流S2的温度,代码如下:

Dim P2OBJ As Object

Set P2OBJ = P2DB.ActivateObject(“Stream”,“S2”)

dTemp = P2OBJ.GetAttribute(“Temperature”)

“GetAttribute”为PRO/II COM服务器中读取数据关键词,服务器还提供其他不同功能的关键词,如数据在不同单位下需要换算时可采用“ConvertValue”来实现。”Temperature”和“TEMP”是温度的代码,PRO/II COM服务器为每个参数给出了特定的代码,如压力用“Pressure”和“PRES”来表示。完整的关键词、参数代码列表可在PRO/II软件自带的文件“PRO II Com Server Reference Guide.pdf”中查找[8]。

2 PRO/ⅠⅠ软件和Excel软件与遗传算法的集成

2.1 PRO/II软件和Excel软件与遗传算法的集成

PRO/II软件与Excel软件的接口程序可以方便PRO/II软件进行大规模迭代运算,但它并不具备模型参数自动寻优功能,因此有必要在VBA中编写遗传算法程序,以达到自动寻优的目的,更好的服务于生产实际。

遗传算法是一种模仿生物进化现象,随机搜寻最优解的方法[11],具有寻优能力强、全局收敛性强的特点,广泛应用于各类研究和工程实践中[12-14]。参照Matlab软件中的遗传算法代码,将其转译为VB语言,编写在PRO/II软件与Excel软件接口程序中。遗传算法程序的功能主要包括两项:一是产生参数,供PRO/II软件模拟需要;二是筛选参数,通过对比不同参数情况下PRO/II软件模拟结果,筛选出优异的参数。

遗传算法程序与Excel软件的链接见图2。如图2所示,先确定遗传算法参数,T表示遗传代数,即程序最大迭代次数;M为种群数,即每次迭代含有多少组参数;L为染色体长度,即每组参数含有多少个参数;P1和P2分别为变异概率、交叉概率,用于产生新的参数数值。假设对某模型进行2变量优化研究,设定T=30,M=20,L=2。两变量分别为X1和X2;考察目标分别为Y1,Y2,Y3。确定以上参数后,遗传算法程序利用随机函数在给定的取值范围内产生20组参数(X1i,X2i),i=1~20,接口程序将20组参数记录在Excel电子表格,体现了遗传算法程序的产生参数功能。

接口程序调用PRO/II软件,按照20组参数提供的数据依次修改PRO/II模型参数并模拟计算,读取目标值(Y1i,Y2i,Y3i)并记录在Excel电子表格中,至此程序完成第一次迭代运算。接着依据一定规则产生下一次迭代运算所需的20组参数,如期望得到Y1i+Y2i+Y3i的最大值,可设定Y1i+Y2i+Y3i越大,适应值越大,对应的(X1i,X2i)传入下一代的概率越大,利用轮盘法进行20次独立筛选产生新的20组参数。然后对20组参数进行交叉、变异处理,交叉是将某两组的部分参数互换,如第3组与第12组的第两个变量互换;变异是去除某组某个参数,利用随机函数重新产生。交叉、变异是为了产生新的参数组合,这体现了遗传算法程序筛选参数功能。接口程序将产生的20组参数记录在Excel电子表格。如此程序进行迭代运算,直至遗传算法程序满足中止条件。

图2 遗传算法与Excel软件的链接示意Fig.2 Structure demonstration of genetic algorithm(GA) and Excel’s link.

2.2 优化计算

采用PRO/II软件和Excel软件与遗传算法的集成用于化工过程多变量优化的计算流程见图3。图3中,计算采用PRO/II、Excel两个软件,将Excel软件分为电子表格(Excel spreadsheet)、VBA两个板块。电子表格用于数据储存和计算处理,VBA用于编写接口程序和遗传算法程序。在VBA板块中遗传算法产生初始种群,并写入Excel电子表格;PRO/II软件与Excel软件的接口程序则读取电子表格中数据并调用PRO/II软件进行计算,然后将模拟结果写入Excel电子表格;Excel电子表格依据模拟结果求算出适应值并传递给遗传算法,遗传算法则依据适应值大小筛选产生新的种群,并将新的种群进行交叉、变异处理,如此循环计算,直至满足程序终止条件,适应值最大所对应的个体即为最优解。

3 应用案例

图4为某炼油厂1.2 Mt/a催化裂化装置主分馏塔和吸收稳定系统的流程示意图(括号前为优化前数据,括号内为优化后数据,压力为绝对压力)。该流程主要包括主分馏塔、富气压缩机、凝缩油罐、吸收塔、解吸塔、稳定塔、再吸收塔及相应的冷换设备和机泵。主分馏塔的功能是将来自提升管反应器的油气分离成富气、粗汽油、柴油、回炼油和油浆,其中,柴油和油浆出装置,回炼油重返提升管反应器,而富气和粗汽油则进吸收稳定系统进一步分离成干气、液化石油气和稳定汽油。

产品质量控制方案是柴油干点383℃,汽油中碳数小于等于C5的组分含量不大于0.3%(χ),液化石油气中碳数大于等于C5的组分含量不大于1%(χ),干气中碳数大于等于C3的组分含量不大于5%(χ)。

图3 PRO/II软件和Excel软件与遗传算法的集成用于化工过程多变量优化的计算流程Fig.3 Computing process for the multi-variable optimization of chemical process by integrating PRO/II and Excel and GA.

图4 1.2×106t/a催化裂化装置主分馏塔和吸收稳定系统优化前后的模拟情况Fig.4 Situation results for the main fractional column and absorption-stabilization system of 1.2 Mt/a FCC unit before and after the optimization.

根据现场控制手段,选择富气压缩机二级出口压力(p)、补充吸收剂流量(f)和补充吸收剂进吸收塔温度(t)为优化变量(3个变量的当前值分别为1 271 kPa,54.22 t/h,37.9℃)。优化过程保持各机泵出口压力不变,容器及塔的操作压力不超额定值,且操作可行域取p∈[1 101,1 591],f∈[25.00,60.00],t∈[31.0,37.9]。建立包括产品收益和能耗的目标函数,见式(1)。以现有操作条件为参照点,故F(1 271,54.22,37.9)=0。

式中,yij1~yij9分别为第i代第j个个体对应的输出变量,依次是柴油产量(t/h)、汽油产量(t/h)、液化石油气产量(t/h)、干气产量(t/h)、稳定塔底再沸蒸汽(3.5 MPa)耗量(t/h)、富气压缩机背压式透平驱动蒸汽(3.5 MPa)耗量(t/h)、解吸塔底再沸蒸汽(1.0 MPa)耗量(t/h)、循环冷却水总耗量(t/ h,图4中的Qc1~Qc9)、机泵功率(kWh,图4中的Wp1~Wp3);y1~y9分别是以上对应各输出变量的现场值;C1,C2,C3,C4分别为柴油、汽油、液化石油气和干气的单价;C5,C6,C7,C8分别为3.5 MPa蒸汽、1.0 MPa蒸汽、循环水单价和电的单价。

在计算中取C1=5 051 元/t、C2=5 985 元/t、C3=5 739 元/t、C4=4 084 元/t;C5=349 元/t、C6=257元/t、C7=0.21 元/t、C8=0.66 元/(kW・h)。遗传算法的参数取值见表1。

表1 遗传算法参数取值Table 1 GA parameters stipulated

采用PRO/II软件和Excel软件与遗传算法的集成对1.2 M t/a催化裂化装置主分馏塔和吸收稳定系统进行优化。进行寻优迭代运算至第19代收敛,在Intel(R) Core(TM) i3-2100 CPU 3.1GHz环境下整个寻优过程的计算时间为112 min。

得到最优操作参数为:1 441,28.33,31.0,即p=1 441 kPa,f=28.33 t/h,t=31.0℃。1.2Mt/a催化裂化装置主分馏塔和吸收稳定系统优化前后的主要参数对比见表2。由表2可见,优化后该装置的效益提高904.2 元/h。

富气压缩机二级出口压力由1 271 kPa提高至1 441 kPa,补充吸收剂流量由54.22 t/h降至28.33 t/h,补充吸收剂进吸收塔温度由37.9℃降至31.0℃。这表明相对于补充吸收剂的流量,系统的压力以及补充吸收剂的温度对富气的吸收影响更大。

炼油过程催化裂化装置分馏及吸收稳定系统的操作优化案例研究结果表明,采用PRO/II软件、Excel软件和遗传算法的集成方法是可行的。

表2 1.2 M t/a催化裂化装置主分馏塔和吸收稳定系统优化前后的主要参数Table 2 Main parameters before and after the optimization for the main fractional column and absorption-stabilization system of the1.2 Mt/a FCC unit

4 结论

1)在Excel软件的VBA中编写PRO/II软件与Excel软件的接口程序,可在Excel软件中自动写入和读取PRO/ II软件的模型参数,便于PRO/II软件的迭代计算。

2)将遗传算法写入接口程序中,建立PRO/II软件和Excel软件与遗传算法的集成,使之具备自动寻优功能,可应用于化工系统的多变量优化 。

3)将PRO/II软件和Excel软件与遗传算法的集成用于1.2 Mt/a催化裂化装置主分馏塔及吸收稳定系统的优化,优化结果可使该催化裂化装置的效益提高904.2 元/h。

[1]孔祥冰,岳金彩,谭心舜,等.Aspen Plu s服务器在软件集成中的应用[J].计算机与应用化学,2007,24(2):255-258.

[2]耿大钊.基于COM技 术的MATLAB与Aspen Plus接口及高级应用[J].化工自动化及仪表,2006,33(3):30-34.

[3]耿大钊.乙烯分离过程的模拟与优化[D].杭州:浙江大学,2006.

[4]耿大钊,陈曦,邵之江,等.MAP工具箱:Matlab与Aspen Plus的高级接口[J].中国科学技术大学学报,2005,35(增刊):481-486.

[5]刘保柱.利用PRO/Ⅱ和Excel求解精馏塔 最优回流比[J].计算机与应用化学,2006,23(11):1150-1152.

[6]钱新华,孙晓静,王克峰,等.基于模拟分析技术和随机搜索算法的化工过程能量集成方法 研究[J].高校化学工程学报,2007,21(2):322-327.

[7]v an Baten J,Pons M.CAPE-OPEN:Interop erability in Industrial Flowsheet Simulation Software[J].Chem Ing Tech,2014,86(7):1052-1064.

[8]Oppelt M,Wolf G,Urbas L.Capability-Analysis of Co-Simulation Approaches for Process Industri es[C]//Emerging Technology and Factory Automation(ETFA),2014 IEEE.IEEE,2014,DOI:10.1109/ETFA.2014.7005292.

[9]张思聪.利用VBA技术实现对企业原有系统的数据整合及其应用[D].上海:复旦大学,2008.

[10]刘祖萍.基于VBA的AutoCAD图形数据库管理技术研究[D].成都:西南交通大学,2004.

[11]夏勇.加氢裂化反应器建模与优化研究[D].广州:华南理工大学,2012.

[12]Li Guoqing,Luo Yushu,Xia Yong,et al.Impro vement on the Simultaneous Optimization Approach for Heat Exchanger Network Synthesis[J].Ind Eng Chem Res,2012,51(18):6455-6460.

[13]Harwardt A,Marquardt W.Heat-Integration Distillation Columns:Vapor Recompression or Internal Heat Integration[J].AIChE J,2012,58(12):3740-3750.

[14]Li Guoqing,Xia Yong,Zeng Wenqin.Kinetic Mechanism Research of an Industrial Hydrocracker Based on Strict Calculation of Stoichiometric Coefficients[J].Fuel,2013,103:285-291.

(编辑 李治泉)

敬告读者:《石油化工》自2015年第5期开始在“专题报道”栏目连续刊登中国石化北京化工研究院乙烯研究室的系列报道。主要针对乙烯研究室在裂解技术、数值模拟技术、抑制结焦技术、选择加氢技术、甲烷化技术、烯烃产品净化技术以及新型催化工艺开发与应用等方面的领先技术成果进行报道。敬请广大读者给予关注。

专题报道:单汽泡沸腾过程普遍存在于换热器等化工过程中,对其进行数值模拟对于研究石油化工中沸腾传热过程有着重要的意义。中国石化北京化工研究院乙烯研究室利用Comsol Multiphysics软件中的Level Set方法对单汽泡沸腾过程进行了模拟,利用数值模拟结果对于实现沸腾现象进行控制,满足多相反应工程中的特定传热过程有实际意义。这些模型可以移植到非常规重力的传热过程,在非常规重力传热过程条件下开发新的反应过程,并对其进行模拟具有指导意义。见本期1295-1301页。

中国石化北京化工研究院乙烯研究室简介:中国石化北京化工研究院乙烯研究室自20世纪60年代开始,长期致力于乙烯技术的研究和开发,围绕石油化工的“龙头”——低碳烯烃的生产和分离过程,先后完成了裂解炉辐射段工艺技术、裂解炉强化传热技术、裂解炉抗结焦涂层技术、裂解炉快速烧焦技术、选择加氢催化剂及技术、低温甲烷化催化剂及技术、超重机脱硫技术等核心技术的研发和工业应用。乙烯研究室裂解技术团队在对国外先进技术深入研究和消化吸收的基础上坚持创新发展,作为CBL裂解炉开发组的核心成员成功开发了我国首台20 kt/a裂解炉,随后裂解炉的产能实现了从60 kt/a、100 kt/a到150 kt/a的跨越式发展,目前采用CBL技术设计和改造裂解炉125台,总产能约为7 000 kt/a;与此同时,自主开发的强化传热技术、炉管抗结焦涂层的成功应用,使得国产化的裂解炉运行周期从50 d左右延长至200 d以上;乙烯研究室加氢催化剂技术团队通过不断创新,采用多种国际首创技术,开发了国内乙烯装置各种不同工艺技术所需的全部催化剂(应用于7种不同工艺与物料,共计十余个牌号),在催化剂性能等许多方面超越了国外同类催化剂,突破了国外大公司的垄断并迅速占领了国内80%以上的市场,表现出优异的增产节能、增收节支能力,取得了显著的经济效益和社会效益。技术上的领先,让我国自主研发的裂解炉和选择加氢催化剂成功走出国门。CBL裂解炉在马来西亚Titan公司成功开车,碳二碳三选择加氢催化剂先后在英国、韩国、日本、伊朗、印度尼西亚、菲律宾、马来西亚、泰国、印度、沙特阿拉伯等国的石化企业成功应用。经过多年的努力,乙烯研究室在乙烯技术领域获得国家奖励5项。这些成果标志着中国石化的乙烯技术已达到国际先进水平,获得国际公司的认可。

Reaching System Optimization by Integrating PRO/II and Excel and GA

Liu Zhongbao,Li Guoqing
(Chemistry and Chemical Engineering School,South China University of Technology,Guangzhou Guangdong 510640,China)

Aimed at the problems of the PRO/II software in processing data and optimization,using the interactive function of the COM server of the PRO/II software and other software,a interface program between the PRO/II software and the Excel software was worked out in Visual Basic for Applications(VBA) of Excel software,in which a genetic algorithm was worked out.And then the integration of the PRO/II software,Excel software and genetic algorithm was realized.The integration can improve the efficiency of simulation and realize the optimization of multi-variables in chemical processes.By the integration,the main fractional column and absorption-stabilization system with three variables in a 1.2 Mt/a FCC unit were optimized,which increased the economic benefits of the 1.2 Mt/a FCC unit by 904.2 Yuan /h.

PRO/II;Excel;genetic algorithm;softw are integration;optimization with multiple variables

1000-1844(2015)11-1329-07

TQ 028

A

2015-06-16;[修改稿日期]2015-07-30。

刘忠保(1990—),男,江西省上饶市人,硕士生,电话 13249795383。联系人:李国庆,电话 020-87114677,电邮 gqli1@ scut.edu.cn。

猜你喜欢
电子表格裂解炉催化裂化
以电子表格为主线的高职院校“大学计算机信息技术”课程的教学探索
裂解炉低氮烧嘴改造后存在问题分析及对策
提高催化裂化C4和C5/C6馏分价值的新工艺
催化裂化装置掺渣比改造后的运行优化
电子表格的自动化检测
电子表格的自动化检测
浅谈电子表格技术在人事管理中的应用
裂解炉炉管高压水清洗技术研发与应用
乙烯裂解炉测温新技术研究与应用
催化裂化汽油脱硫工艺浅析