一种自动整定AspenPlus内置求解器的实现方法转让专利

申请号 : CN201310310972.6

文献号 : CN103366066B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈伟锋邵之江祝铃钰陈曦

申请人 : 浙江工业大学

摘要 :

本发明公开了一种自动整定Aspen Plus内置求解器的方法,本发明通过开放式求解器接口集在Aspen Plus和其内置求解器之间嵌入一个伪求解器用于获取内置求解器的性能指标。在得到性能指标的基础上,实现了基于IGetOptionList接口和IEvaluation接口的两个中间件,可以方便地获取内置求解器的参数列表并连接Aspen Plus和参数自动整定算法。本发明可以通过参数自动整定的方式提高Aspen Plus内置求解器的求解性能,并且可以方便地更换不同的参数自动整定算法。

权利要求 :

1.一种自动整定Aspen Plus内置求解器的实现方法,其特征在于,通过基于IGetOptionList和IEvaluation接口的中间件以及基于开放式求解器接口集AOS的伪求解器来自动整定Aspen Plus内置的模拟和优化求解器,从而提高求解器的求解性能包括求解效率和求解能力;所述基于IGetOptionList接口和IEvaluation接口的两个中间件使得参数自动整定算法方便地获得待整定内置求解器的参数列表并和Aspen Plus进行连接;通过AOS接口集实现一个伪求解器,嵌入到Aspen Plus和内置求解器之间,并利用AOSNumericNLPESO接口以及AOSNumericNLPSystem接口获取内置求解器的性能指标;该方法具体包括以下步骤:第一步:实现基于IGetOptionList接口的中间件用于获取Aspen Plus内置求解器的参数列表并传送给参数自动整定算法;

第二步:实现基于IEvaluation接口的中间件,将参数自动整定算法的参数设置传递给Aspen Plus的内置求解器,并将内置求解的性能指标返回给参数自动整定算法;

第三步:通过AOS接口集实现一个伪求解器,嵌入到Aspen Plus和内置求解器之间,打破它们的直接交互;

第四步:通过AOSNumericNLPESO接口获取内置求解器每一步的迭代信息,另外对内置求解器的求解过程进行计时,同时通过AOSNumericNLPSystem接口获取迭代次数性能指标。

说明书 :

一种自动整定Aspen Plus内置求解器的实现方法

技术领域

[0001] 本发明涉及化工过程的流程模拟和优化技术领域,尤其涉及一种自动整定Aspen Plus内置求解器的实现方法。

背景技术

[0002] 流程模拟和优化技术是流程企业进行工艺设计、操作改进的重要技术手段,通过节省能源、降低原料以及减少污染排放来达到提高生产效率和经济效益的目的。
[0003] Aspen Plus是举世公认的标准大型流程模拟软件,在全球各大化工、石化、炼油等过程行业得到了广泛的应用。其内置的用于求解模拟和优化问题的优秀求解器有DMO、LSSQP等。但是,这些求解器在求解各种各样的模拟和优化问题时并不总是具有令人满意的求解性能包括求解能力和求解效率。
[0004] 模拟和优化求解器的算法设计在理论上已经日臻完善,要从理论取得重大突破比较困难。众所周知,PID的参数设置对于PID控制器的性能有很大的影响。同样,模拟和优化求解器的参数设置对求解器的求解性能也有着至关重要的影响。一组合适的参数设置能够充分发挥求解器的性能,而一组不恰当的参数设置则会使得求解器的性能不尽人意。
[0005] 对于求解器的参数自动整定方法,目前能够同时处理连续型、离散型以及选项型参数的整定算法有基于性别的遗传参数自动整定算法[Ansotegui C, Sellmann M et al. A gender-based genetic algorithm for the automatic configuration of solvers[C]. thIn Proceedings of the 15 International Conference on Principles and Practices of Constraint Programming, Lisbon, Portugal, September 20-24, 2009; Springer: Berlin, 2009, 142-157]以及基于随机采样的参数自动整定算法[Chen W, Shao Z et al. Random Sampling Based Automatic Parameter Tuning for Nonlinear Programming Solvers [J]. Industrial & Engineering Chemistry Research, 2011, 50 (7):
3907-3918]。这类算法都是将求解器的参数整定看作是一个黑箱模型。将求解器的参数设置作为输入,求解器的性能指标(比如,算法的迭代次数、求解时间等等)为输出。
[0006] Aspen Plus中的内置求解器(如DMO、LSSQP等)出于商业上的考虑,没有提供对外接口让用户来获得其迭代次数、求解时间、最优目标函数值以及最优点等信息,这给参数整定带来了一定的困难。

发明内容

[0007] 本发明的目的是针对现有技术的不足,提供一种自动整定Aspen Plus内置求解器的实现方法,本发明能够提高求解器的求解性能,从而可以更好地求解大规模复杂流程模拟和优化问题。
[0008] 本发明的目的是通过以下技术方案来实现的:一种自动整定Aspen Plus内置求解器的实现方法(模拟求解器和优化求解器的实现类似,以下针对优化求解器进行阐述),包括如下步骤:
[0009] 第一步:实现基于IGetOptionList接口的中间件,该中间件的功能为通过开放式求解器接口集(Aspen Open Solvers,AOS)获取内置求解器的参数列表,为参数自动整定算法提高待整定的参数。
[0010] 第二步:实现基于IEvaluation接口的中间件,该中间件有三个功能。第一个,通过IEvaluation接口接收参数自动整定算法传进来的参数设置并将其写入到磁盘文件(Parameters.opt)中;第二个,通过IHapp接口来操纵Aspen Plus COM对象;第三个,从磁盘文件(Results.sol)中读取优化求解器的性能指标,并通过IEvaluation接口传送给参数自动整定算法;
[0011] 第三步:实现一个基于AOS接口集的伪求解器。该伪求解器被Aspen Plus调用后,从配置文件中读取待整定的内置求解器名称,并读取Parameters.opt文件,通过AOS接口集去调用内置求解器,将参数设置传递给内置求解器。原先是由Aspen Plus直接调用其内置求解器(比如说DMO),那么Aspen Plus与内置求解器之间的交互信息就无从得知,现在将伪求解器插入到Aspen Plus与内置求解器之间就可以截获求解过程的迭代信息;
[0012] 第四步:实现一个性能指标获取和输出模块。该模块作用为在伪求解器内部通过AOSNumericNLPESO接口获取内置求解器每一步的迭代信息。另外对内置求解器的求解过程进行计时,同时通过AOSNumericNLPSystem接口获取迭代次数。最终将这些信息输出到Results.sol文件。
[0013] 本发明的有益效果是:
[0014] (1)通过整定Aspen Plus内置求解器的参数来提高其求解流程模拟和优化问题时的性能包括求解能力和求解效率。
[0015] (2)实现了基于IGetOptionList接口和IEvaluation接口的中间件,可以使得各种的参数整定算法方便地用于整定Aspen Plus内置求解器。

附图说明

[0016] 下面结合附图对本发明做进一步的说明。
[0017] 图1是自动整定Aspen Plus内置求解器的实现示意图。

具体实施方式

[0018] 本发明为了使外部的参数自动整定算法对Aspen Plus内置的模拟和优化求解器进行参数整定,从而提高求解器的求解性能包括求解效率和求解能力,提出了一种自动整定Aspen Plus内置求解器的实现方法,该方法包括如下步骤:
[0019] 第一步:实现基于IGetOptionList接口的中间件。通过调用内置求解器对外导出的GetFactoryNLPSystem函数得到内置求解器的System Factory对象,通过该对象调用AOSNumericSolverComponent接口的GetParameterInfo方法得到内置求解器的参数列表。
[0020] 第二步:实现基于IEvaluation接口的中间件,该中间件有三个功能。第一个,通过IEvaluation接口接受参数自动整定算法传进来的参数设置并将其写入到磁盘文件(Parameters.opt)中;第二个,通过IHapp接口来操纵Aspen Plus COM对象,包括模型文件的打开,基于开放求解器接口集AOS的求解器的加载以及运行等等;第三个,从磁盘文件(Results.sol)中读取优化求解器的性能指标,并通过IEvaluation接口传递给参数自动整定算法。
[0021] 第三步:实现一个基于AOS接口集的伪求解器。该伪求解器被Aspen Plus调用后,从配置文件中读取待整定的内置求解器名称,并读取Parameters.opt文件。通过AOSNumericNLPSystemFactory接口的CreateNLPSystem方法来创建内置求解器的System Factory对象,利用该对象的AOSNumericSolverComponent接口的SetParameter方法将读取到的参数设置传送给内置求解器,并通过该对象创建出NLPSystem对象。当Aspen Plus调用伪求解器的NLPSystem对象的PerformIterations方法时,伪求解器就去调用内置求解器NLPSystem对象的PerformIterations方法,从而实现将伪求解器插入到Aspen Plus与内置求解器之间,用于截获求解过程的迭代信息。
[0022] 第四步:实现一个性能指标获取和输出模块。该模块作用为在伪求解器内部通过AOSNumericNLPESO接口获取内置求解器每一步的迭代信息,包括最优点和最优目标函数值等。另外对内置求解器的求解过程进行计时,同时通过AOSNumericNLPSystem接口的PerformIterations方法获取迭代次数。最终将这些信息输出到Results.sol文件。