CN107949839B - 使用混合整数非线性规划的过程优化 - Google Patents
使用混合整数非线性规划的过程优化 Download PDFInfo
- Publication number
- CN107949839B CN107949839B CN201680036788.9A CN201680036788A CN107949839B CN 107949839 B CN107949839 B CN 107949839B CN 201680036788 A CN201680036788 A CN 201680036788A CN 107949839 B CN107949839 B CN 107949839B
- Authority
- CN
- China
- Prior art keywords
- model
- minlp
- module
- switch
- equation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
- G05B13/041—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a variable is automatically adjusted to optimise the performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Automation & Control Theory (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
在线基于模型的过程控制计算环境中的过程模型的实时动态优化。混合整数非线性规划(MINLP)求解器利用开关来激活和去激活过程单元的第一原理模型。该开关通过附接到第一原理模型来实现MINLP行为。
Description
背景技术
用于连续过程优化的传统工具采用被设计用以确定诸如炼油厂操作、化工厂操作或石化厂操作的连续过程的最优操作状态的计算。当最优决策需要单元的打开或关断时,用于连续优化的传统工具处于劣势,因为它们无法从局部收敛状态中充分地退回或者探索潜在的新状态。此外,传统工具需要工作流程,其中用户为每个状态建立案例研究并且手动探索每个案例研究的最优性。例如,仅具有五个可切换单元的小过程将具有三十二(即25)个可能的操作状态。因此,随着单元数量线性增加,可能的操作状态数量以及引申开来的确定最优过程操作状态的难度呈指数增加。因此,传统的解需要过程工程师使用直觉来选择少量可能的操作状态,以在该操作状态上开展案例研究。这些传统系统和方法是死板的,无法提供快速考虑改变过程参数(例如,改变能量成本)的最优策略。
从施耐德电气(Schneider Electric)可获得的SimSci ROMeo是用于连续过程优化的严格在线建模和基于方程式的优化(ROMEO)模块。
发明内容
本发明的方面通过实时采用在线第一原理模拟技术结合混合整数非线性规划(MINLP)求解器以提供包括可切换单元的非线性连续过程的优化,来改进过程控制和自动化以及过程模拟的领域。在实施例中,这一方法在不需要将可切换单元建模为离线的案例研究的情况下,允许确定最优操作状态的同时考虑改变过程参数。本发明的方面也提供了计算机技术(即过程模型模拟和优化)的改进。
一方面,一种用于确定连续过程的最优操作状态的计算机实现方法包括通过包括处理器的控制系统从连续过程内的传感器接收数据。该数据表示连续过程内的过程单元的当前状态。该方法进一步包括通过控制系统实时地模拟至少一个单元模型结合MINLP求解器的操作。该单元模型经由至少一个第一原理方程式表示过程单元。进一步地,控制系统在模拟期间在活动状态和失活状态之间切换单元模型。基于模拟和切换,控制系统也生成连续过程的操作状态,该操作状态满足连续过程的至少一个操作约束。
在另一个方面,一种系统包括生成表示包括连续过程的处理单元的当前状态的数据的传感器。该系统也包括控制系统,该控制系统进一步包括模型组件、开关组件和MINLP求解器组件。模型组件包括表示过程单元的至少一个第一原理方程式。开关组件包括模型组件。
在又一个方面,一种计算机可读存储设备具有存储在其上的计算机可执行模块用于确定连续过程的操作状态。该模块包括模型模块、MINLP开关模块以及求解器模块。模型模块定义在由处理器执行该模型模块期间经由至少一个第一原理方程式表示连续过程内的过程单元的单元模型。MINLP开关模块在由处理器执行期间,将模型模块在活动状态和失活状态之间转换。求解器模块在由处理器执行期间,实时地模拟模型模块和MINLP开关模块的操作。
提供本发明内容以简化的形式介绍在以下具体实施方式中将进一步描述的一系列概念。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用作确定所要求保护的主题的范围的辅助。
在下文中,其他目的和特征将部分地显而易见以及部分地被指出。
附图说明
图1是根据本发明的实施例的示例性侵入式MINLP建模和求解器系统的框图。
图2是根据本发明的实施例的包括非侵入式MINLP开关的示例性MINLP建模和求解器系统的框图。
图3A是示出根据本发明的实施例的MINLP配置参数的图形用户界面的图。
图3B是示出根据本发明的实施例的MINLP数据输入参数的图形用户界面的图。
图4是根据本发明的实施例的示例性连续过程中的示例性MINLP建模和求解器系统的框图。
图5是根据本发明的实施例的示例性ROMEO执行操作的流程图。
图6是根据本发明的实施例的示例性MINLP执行操作的流程图。
在整个附图中,相应的附图标记表示相应的部分。
具体实施方式
现在参照附图,图1是体现本发明的方面的ROMEO求解器系统的框图,包括实现混合整数非线性规划(MINLP)行为。在一种形式中,执行计算机可执行指令以通过MINLP开关结合可以模拟期望过程单元的行为的模型的约束来求解过程问题。示出的系统包括模型模块102、模型变量模块104、约束模块106、侵入式MINLP开关108、MINLP参数110、MINLP界面112、约束输入数据114、约束界面116、过程118、过程输入数据120、过程定义界面122、求解器模块124以及最优操作状态126。在实施例中,图1示出了侵入式MINLP建模系统和方法。
本文描述的系统和方法求解非线性过程问题,同时针对某些考虑(例如,操作损失、成本等)进行优化,同时确保过程满足工厂约束。本文关于在连续过程中优化能量源使用描述了本发明的各方面,但是应当理解对于本领域技术人员来说,本文描述的系统和方法也能够关于除了能量源使用以外的考虑优化连续过程。
连续过程中的能量源(例如,效用)优化涉及计算最佳解以满足能量需求,同时用期望的操作规范来最优地操作下层过程并且保持操作费用尽可能低。为了在过程中执行一定量的工作,需要一定量的能量。当存在可以供应期望量的能量的多个能量源时,效用优化问题是相关的。例如,可能存在过程特有的能量的一些来源以及与过程无关的能量的其他来源。效用优化需要根据经济、能量和物质平衡以及下层非线性过程最优性而跨可用能量源切换的能力。这些计算问题需要MINLP求解器结合可以模拟过程单元的切换行为的模型。为MINLP效用优化建模是本发明的各方面的主题。
作为说明性示例,过程需要一百个单位的能量(即,E=100)以执行一定量的工作(W)。以下表格示出能够供应所需的能量单位的四个能量源以及每个源可以供应的最小量和最大量的能量,以及为每个源供应的每单位能量的成本:
一个示例性解是使用50个单位的源S2、25个单位的源S4、10个单元的源S3以及15个单位的源S1(即,50*S2+25*S4+10*S3+15*S1=100),使得最低成本源(即,S2和S4)均被加载至最大值,服从了对最高成本源(即,S3)的最低加载约束,并且短缺部分采取了剩余的源(即,S1)。
这个说明性示例具有两个方面。首先,能量源可以独立于过程(例如,给电动机供电)并且因此加载是成本和指定加载约束的线性函数。其次,例如,能量源可以是过程的副产品,诸如残余蒸汽作为热交换器的副产品(例如,捕获的蒸汽为蒸汽涡轮机供能)。该第二能量源将是过程特有的并且加载这种源将影响下层过程本身的均衡和操作成本。继续以上示例,作为过程的副产品生成的蒸汽可以被添加为第五个能量源:
最初,蒸汽(即,源S5)可能满足五十个能量单位并且是最便宜的能量源。过程优化器随后将尝试使得源S5满足附加的五十个能量单位。这种尝试将涉及在不同的操作点处操作过程以生成附加的五十个能量单位,并且将因此改变蒸汽的生产成本,该蒸汽的生产成本是过程的非线性函数。换句话说,蒸汽由于它的低成本最初看起来像有吸引力的能量源,但是生成足够的附加蒸汽来创建满足一百个单位的全部要求的足够的能量具有关联的过程成本,该成本可能实际上使得蒸汽成为比替代能量源更贵的能量源。因此,本文描述的本发明的方面通过提供根据与各个能量供应单元相关联的经济性来在各个能量供应单元中进行切换的能力来求解效用优化问题,同时也实现了能量平衡和下层非线性过程最优性。
通过本发明的方面求解的效用优化问题可以表示为通用数学形式。考虑用等式约束f(x,y,z)=0建模的非线性过程,其中函数f在矢量变量x、y和z中是非线性的。令f:RN×RS×BB->RN示出这些量的维数,其中通常S<N。变量x是自由因变的,并且可以在过程的一些操作边界之间变化。变量y是自由自变量并且通常被称为“规范”并且也在过程的边界之间变化。矢量变量z是自由自变的并且是问题中整数开关的矢量。在实施例中,变量z在[0,1]之间变化。给出成本函数c(x,y,z),效用优化问题为:
minx,y,zc(x,y,z) (式1)
服从
f(x,y,z)=0
以及
xmin≤x≤xmax,ymin≤y≤ymax,以及z∈BB
如本文所述,严格在线建模和基于方程式的优化(ROMEO)建模系统允许用户利用来自预建库中或来自由用户建立的模型中的模型或单元来构建过程的流程。这些模型对方程式1中的量f、c、x和y进行编码。本文描述的本发明的方面包含添加对方程式1中的z变量进行编码的模型。
进一步参照图1,在实施例中,模型模块102包括具有存储在其上的处理器可执行指令的存储器设备,该处理器可执行指令用于定义包括已经被修改为实现MINLP行为的连续过程的单元的第一原理模型。在示例性实施例中,模型模块102在过程118中定义电动机的第一原理模型,并且模型模块102包括模型变量模块104、约束模块106以及侵入式MINLP开关108。例如,定义电动机的模型模块102的第一原理模型包括修改的能量平衡式。
MINLPShaftPower-ElectPower*Efficiency=0 (式2)
其中MINLPShaftPower为如以下进一步所述的无界自由因变量,ElectPower为电动机的电输入功率,并且Efficiency为电动机的能量转换效率。附加的能量供应单元包括但不限于发电机、蒸汽涡轮机以及锅炉燃料流。
仍然参照图1,在实施例中,模型变量模块104包括具有存储在其上的处理器可执行指令的存储器设备,该处理器可执行指令用于定义模型模块102的第一原理模型的模型变量。在示例性实施例中,模型变量模块104将电动机的轴功率定义为感兴趣的模型变量。其他模型变量包括但不限于发电机的轴功率、蒸汽涡轮机的实际功以及锅炉燃料流的流速。
在本发明的一个实施例中,约束模块106包括具有存储在其上的处理器可执行指令的存储器设备,该处理器可执行指令用于定义模型模块102的第一原理模型的一个或多个约束。在示例性实施例中,约束模块106定义电动机的轴功率的最小值(例如,0)和最大值(例如,100)。
在示例性实施例中,图1的侵入式MINLP开关108包括具有存储在其上的处理器可执行指令的存储器设备,该处理器可执行指令用于实现模型模块102的第一原理模型中的MINLP行为。在这个实例中,侵入式MINLP开关108通过修改电动机的轴功率实现由模型模块102定义的电动机模型中的MINLP行为。示例性侵入式MINLP开关108包括以下方程式:
MINLPShaftPower-MINLPBinary*ShaftPower=0 (式3)
其中MINLPShaftPower为无界自由因变量,MINLPBinary为以[0,1]定界的MINLP优化模式中的自由自变量,并且ShaftPower为电动机的机械输出。如方程式3所示,当MINLPBinary等于零时,则MINLPShaftPower也等于零(即,MINLPBinary=0,MINLPShaftPower=0),并且当MINLPBinary等于一时,则MINLPShaftPower等于ShaftPower(即,MINLPBinary=1,MINLPShaftPower=ShaftPower)。通过以这种方式定义电动机,侵入式MINLP开关108确保为MINLP适当地处理为外部连接而导出到其他过程单元的信号。通过[0,1]绑定MINLPBinary允许ShaftPower在连续过程的操作期间改变时更新ShaftPower的值(即,在连续过程中不需要关闭电动机),同时允许MINLPShaftPower在过程的模拟期间模拟方程式2中的电动机被关闭,如下所述。
再次参照图1,例如,MINLP界面112从诸如用户、另一个软件程序或设备的源接收MINLP参数110。MINLP界面112向侵入式MINLP开关108提供所接收的MINLP参数110。侵入式MINLP开关108使用所接收的MINLP参数110以定制模型模块102的第一原理模型的MINLP行为。在示例性实施例中,如本文进一步所述,MINLP界面112是允许用户基于包括启动成本、停止成本和时间段的参数来设置用于切换的阈值的图形用户界面(GUI)。
例如,图1的约束界面116从诸如用户、另一个软件程序或设备的源接收约束输入数据114。约束界面116向约束模块116提供所接收的约束输入数据114。约束模块106使用所接收的约束输入数据114来定义模型模块102的第一原理模型的约束。在示例性实施例中,约束界面116是允许用户设置例如模型模块102定义的电动机的诸如最小和最大轴功率的约束的GUI。
根据本发明的实施例,过程118是连续过程,诸如例如炼油厂操作、化工厂操作或石油化工厂操作和/或其控制系统。过程118的其他方面在本文中进一步定义。例如,过程定义界面122从诸如用户、另一个软件程序或设备(例如,过程118中的传感器和/或单元)的源接收过程输入数据120。过程输入数据120表示过程118的当前状态并且对应于要求解的过程问题。过程定义界面122向求解器模块124提供所接收的过程输入数据120,用于执行交互模型以求解如本文描述的过程问题。在示例性实施例中,过程定义界面122是允许用户利用来自预建库中或来自由用户建立的模型中的模型或单元来构建过程118的流程的ROMEO建模系统的一部分。
求解器模块124包括具有存储在其上的处理器可执行指令的存储设备,该处理器可执行指令用于定义具有变量的迭代过程。变量具有某些值,这些值在被应用到迭代过程时将迭代过程收敛到解。变量具有其他值,该其他值在被应用到迭代过程时不会将迭代过程收敛到解。在一种形式中,求解器模块124包括ROMEO模块。在另一种形式中,求解器模块124是MINLP求解器模块。求解器模块124适于改变MINLPBinary变量的值以便在模拟中打开和关断模型模块102,同时收敛到下层非线性过程118的最优解(例如,最优操作状态126)。描述了与例如ROMEO求解器一起使用的非线性校正因子模块的共同受让的序列号为13/968,119的美国专利申请通过引用全文并入本文。
在由图1示出的示例性实施例的操作中,侵入式MINLP开关108的处理器可执行指令实现方程式3,并且模型模块108的处理器可执行指令实现方程式2。MINLP界面112接收将轴功率指示为由模型模块102定义的电动机的感兴趣的模型变量的MINLP参数110。通过用模型模块102实现方程式2,当MINLPShaftPower变为零时,ElectPower变为零。该动作导致线路电流也变为零并且正确模拟已经关闭的电动机,同时过程118中的电动机的实际轴功率(即,ShaftPower)没有改变。这这一示例性实施例中,电动机的经济性基于ElectPower变量并且因此不需要对方程式2的该部分进行修改。在模拟过程中,电动机到轴的连接是通过被修改为接受MINLPShaftPower而不是ShaftPower的齿轮箱模块的。这确保了如果在模拟中经由改变MINLPShaftPower关闭所模拟的电动机,则过程定义界面122的模型流程中的外部连接对象将看到轴功率变为零。本领域技术人员应当理解,可以利用完全相似的建模过程用发电机模型实现MINLP行为。
在图1的另一个示例性实施例中,可以修改蒸汽涡轮机模型以实现MINLP行为。在这一实施例中,修改模型变量ActualWork以经由蒸汽涡轮机模型中的变量MINLPActualWork来实现MINLP行为:
MINLPActualWork-MINLPBinary*ActualWork=0 (式4)
其中MINLPActualWork为无界自由因变量,MINLPBinary为以[0,1]定界的MINLP优化模式中的自由自变量,并且ActualWork为由涡轮机做的功的量。如方程式4所示,当MINLPBinary等于零时,则MINLPActualWork也等于零(即,MINLPBinary=0,MINLPActualWork=0),并且当MINLPBinary等于一时,则MINLPActualWork等于ActualWork(即,MINLPBinary=1,MINLPActualWork=ActualWork)。方程式4与被修改为接受其MINLP行为的模型模块102的焓平衡方程式一起工作:
MINLPActualWork-Feed:MolarFlow*(Feed:Prop[Enth]-Product:Prop[Enth])=0 (式5)
其中MINLPActualWork为上述无界自由因变量,Feed:MolarFlow为进入涡轮机的蒸汽的摩尔流速,Feed:Prop[Enth]为进入涡轮机的焓量,并且Product:Prop[Enth]为离开涡轮机的焓量。在方程式4中通过[0,1]绑定MINLPBinary允许ActualWork在过程118的操作期间改变时更新ActualWork的值(即,在连续过程中不需要关闭蒸汽涡轮机),同时允许MINLPActualWork在过程118的模拟期间模拟方程式5中的蒸汽涡轮机被关闭。在过程的模拟期间,将MINLPActualWork导出到与过程定义界面122的模型流程中的涡轮机连接的齿轮箱模块,使得当在模拟中经由改变MINLPActualWork关断涡轮机时,模型流程中的外部连接对象将看到涡轮机的实际功变为零。
在图1的又一个示例性实施例中,可以修改锅炉燃料流模型以实现MINLP行为。由以下等式提供这种修改:
vMINLPFlow-MINLPBinary*vFlow==0 (式6)
其中vMINLPFlow为无界自由因变量,MINLPBinary为以[0,1]定界的MINLP优化模式中的自由自变量,并且vFlow为锅炉燃料的流的速度。
图2是ROMEO求解器系统和方法的另一个示例的框图。在一种形式中,示出了用于通过混合整数非线性规划(MINLP)开关模块结合可以模拟期望过程单元的切换行为的模型来求解过程问题的系统和方法。示出的图包括模型模块102、非侵入式MINLP开关208、MINLP参数110、MINLP界面112、约束输入数据114、约束界面116、过程118、过程输入数据120、过程定义界面122、求解器模块124以及最优操作状态126。模型模块102包括模型变量模块104以及约束模块106。非侵入式MINLP开关108也包括模型变量模块104。在实施例中,图2示出了非侵入式MINLP建模系统和方法。
一方面,由图2示出的非侵入式MINLP开关208用作非过程MINLP开关单元,该非过程MINLP开关单元通过识别其附接的和修改的模型变量(例如,模型变量模块104)来对过程单元(例如,模型模块102)中的MINLP行为进行编码。在这一方面中,非侵入式MINLP开关208不利用注入到模型模块102中的修改的变量(例如,模型模块102中利用的MINLPShaftPower、MINLPActualWork和vMINLPFlow变量)。相反,非侵入式MINLP开关208在关断时直接强制模型变量模块104为零,并且使用附接的模型模块102的现有行为来渗透(percolate)模型变量模块104变为零的效果。这一示例性非侵入式MINLP开关208提供附加的益处,包括去除了修改每个过程单元或模型以使其符合MINLP的必要性、实现了对于现有ROMEO过程定义界面的用户来说自然的工作流程(例如,将非过程单元附接到过程单元或模型并且激活和去激活非过程单元功能)、以及去除了修改每个符合MINLP的过程单元的用户界面以包括对MINLP实现方式特定的参数(例如,启动成本、停止成本、时间段、组ID、组补码以及MINLP激活)的必要性。在实施例中,非侵入式MINLP开关208实现了对于其附接的模型(例如,模型模块102)中的选择的模型变量(例如,模型变量模块104)的MINLP行为。
在实施例中,图2的非侵入式MINLP开关208包括具有存储在其上的处理器可执行指令的存储器设备,该处理器可执行指令用于定义通过识别附接的和修改的模型变量对过程单元的第一原理模型的MINLP行为进行编码的MINLP开关单元。在示例性实施例中,非侵入式MINLP开关208附接到定义电动机的模型模块102、将电动机轴功率识别为模型变量(例如,模型变量模块104)、以及修改电动机轴功率。在示例性实施例中,非侵入式MINLP开关208包括一组方程式:
ModelVariable-MINLPHelperVar1*MINLPSwitch-MINLPHelperVar2=0 (式7)
以及
ModelVariable*MINLPSwitch-MINLPHelperVar1=0 (式8)
其中ModelVariable为由非侵入式MINLP开关208识别的模型变量,MINLPSwitch为以[0,1]定界的MINLP优化模式中的自由自变量,MINLPHelperVar1为补偿方程式7的自由因变量,并且MINLPHelperVar2为因变量。方程式7确保非侵入式MINLP开关208相对于二进制转换是自足的,并且因此不需要对模型模块102的附加改变。在实施例中,MINLPSwitch被视为由求解器模块124设置的自由自变量。在另一个实施例中,方程式7和方程式8为非侵入式MINLP开关208提供明确定义的和平方(例如,平方雅可比(Jacobian))模型。
在方程式7和方程式8中,MINLPHelperVar1和MINLPHelperVar2(即,因变量)线性地出现。这些线性项在对应的Jacobian行中贡献常数,这确保了当ModelVariable和MINLPSwitch二者同时等于零时,不存在开关模型(例如,非侵入式MINLP开关208)的Jocobian行奇异性。此外,这些线性项指示当ModelVariable和MINLPSwitch二者同时等于零时,不存在开关模型的Jocobian列奇异性。
仍然参照图2,在实施例中,模型变量模块104包括具有存储在其上的处理器可执行指令的存储器设备,该处理器可执行指令用于定义模型模块102的第一原理模型的被操纵变量。示例性被操纵变量包括但不限于电动机或发电机的轴功率、蒸汽涡轮机的实际功、以及锅炉燃料流的流速。在实施例中,模型变量模块104定义上面讨论的ModelVariable。
再次参照图2,例如,MINLP界面112从诸如用户、另一个软件程序或设备的源接收MINLP参数110。MINLP界面112向非侵入式MINLP开关208提供所接收的MINLP参数110。非侵入式MINLP开关208使用所接收的MINLP参数110来定制该非侵入式MINLP开关208应用到下层模型模块102的第一原理模型的MINLP行为。求解器模块124适于改变MINLPSwitch变量的值以便在模拟中打开和关断模型模块102,同时收敛到下层非线性过程118的最优解(例如,最优操作状态126)。在示例性实施例中,求解器124改变MINLPSwitch和ModelVariable以优化(例如,最小化、最大化等)与过程118相关联的目标成本函数。
在一个实施例中,求解器124设置MINLPSwitch为零(即,MINLPSwitch=0)。在这种情况下,方程式7简化为:
ModelVariable=MINLPHelperVar2 (式9)
此外,方程式8简化为:
MINLPHelperVar1=0 (式10)
在实施例中,MINLPHelperVar2的下界和上界被紧密地设置(例如,[0,0.00001]),这导致如所期望的一样,ModelVariable=0。换句话说,当MINLPSwitch=0时,则ModelVariable=0。因此,作为ModelVariable被设置为零的后果,非侵入式开关208强制下层模型模块102在模拟中关断。以这种方式,非侵入式MINLP开关208覆盖模型模块102的例行操作。在这一实施例中,包含模型变量模块104(其进而定义了ModelVariable)的模型模块102具有足够的自由度以容许ModelVariable等于零,使得求解器模块124不会遇到故障状态。换句话说,在模型模块102中需要足够的自由度以吸收变化,确保物质平衡。因此,有必要确保模型模块102保持鲁棒(即,当模型变量等于零时,不存在被零除或者任何其他非鲁棒行为)。
在由图2示出的ROMEO求解器的另一个实施例中,求解器模块设置MINLPSwitch为一(即,MINLPSwitch=1)。在这种情况下,方程式7简化为:
ModelVariable=MINLPHelperVar1+MINLPHelperVar2 (式11)
此外,方程式8简化为:
ModelVariable=MINLPHelperVar1 (式12)
在实施例中,如上所述,MINLPHelperVar2保持接近零,并且因此ModelVariable=MINLPHelperVar1满足方程式11和方程式12。此外,MINLPHelperVar1继承由用户设置的ModelVariable的上界和下界。当MINLPSwitch=1时,ModelVariable采取由求解器模块124决定的在上界和下界之间的任何值。因此,非侵入式MINLP开关208允许ModelVariable通过,而不将它关断,并且模型模块102在模拟中按所设计的执行,其中由求解器模块124确定的ModelVariable的值用于优化操作。
在由图2示出的ROMEO求解器的又一个实施例中,求解器模块124设置ModelVariable为零(即,ModelVariable=0)。在这种情况下,方程式7简化为:
MINLPSwitch*MINLPHelperVar1=-MINLPHelperVar2 (式13)
此外,方程式8简化为:
MINLPHelperVar1=0 (式14)
当MINLPHelperVar2被保持为接近零并且MINLPHelperVar1被保持其从ModelVariabl继承的边界时,唯一容许的解是当MINLPSwitch=0(例如,期望的解)时以及当MINLPHelperVar1的下界=0时。在MINLPHelperVar1=0的场景下,当MINLPSwitch=1时存在潜在的不明确性,因为存在ModelVariable=0的可能性。在一些实施例中,这种情况可以被称为临界情况,并且当MINLPHelperVar1和MINLPHelperVar2被定界时可以避免该情况,如本文进一步所述。
如上所述,在一些实施例中期望将MINLPHelperVar2保持为接近零,这可以通过设置MINLPHelperVar2下界为零和规定接近零的紧密的上界来实现。对于MINLPHelperVar1,当MINLPSwitch=1时,设置MINLPHelperVar1的边界为与ModelVariable的边界相等。通过这样做,确保了当MINLPSwitch=1时,ModelVariable从其下界到其上界取其容许范围内的任何值。此外,当下界大于零时,由于MINLPHelperVar1不会变为等于零,则不会出现错误解(例如,临界情况)。在MINLPSwitch=0的场景下,即使MINLPHelperVar1具有非零下界,也必须容许MINLPHelperVar1变为等于零,使得ModelVariable可以变为等于零。这种场景是可行的,因为在非线性解的起始处,MINLPSwitch的值是已知的,该值由求解器模块124设置并且在非线性优化期间保持恒定。因此,在非线性优化的开始,对于其中MINLPSwitch=0的开关108、208,体现本发明的方面的ROMEO求解器系统具有设置MINLPHelperVar1的下界为零的自由。
图3A和图3B示出了示例性MINLP图形用户界面(GUI)112和MINLP参数110,用户可以改变MINLP参数110以定制侵入式MINLP开关108和/或非侵入式MINLP开关208的行为。进一步参照图3A,示出了MINLP GUI 112的配置窗口。在实施例中,当用户经由MINLP GUI 112将MINLP开关208落在模型模块102上时,配置窗口出现在MINLP GUI 112上。在另一个实施例中,配置窗口经由调用来自与MINLP开关108、208相关联的右键单击弹出式菜单的“更改配置”选项而出现在MINLP GUI 112上。配置窗口便于用户从被支持的变量302的列表中选择模型变量。配置窗口进一步包括用户可以在其中为所选择的模型变量指定“别名”304的区域。在实施例中,使用别名304代替模型变量的其他名称。例如,别名304可以允许体现本发明的方面的ROMEO求解器系统避免冗长的模型变量名称。在进一步实施例中,别名304默认采用添加变量的短名称,用户可以改写该短名称。在由图3A示出的示例性实施例中,行1具有默认别名“v_Flow_Fuel1”,而行2和行3具有被用户改写的别名“VapourFuel”和“LiquidFuel”。在实施例中,别名304包括字母数字字符和/或下划线字符以符合MITRE命名约定,并且非法字符的输入导致错误消息。
参考图3A的进一步的方面,MINLP GUI 112的配置窗口也包括与每个模型变量相关联的“使用变量”选项306。在实施例中,使用变量选项306允许用户改变变量的各方面。在由图3A示出的示例中,对于行1和行3的模型变量,将使用变量选项306设置为值“开”,并且对于行2的模型变量,将使用变量选项306设置为值“关”。对于本领域技术人员来说显而易见的是,使用可变选项306不同于UseInMINLP参数110-I,如本文进一步所述。在其中使用变量选项306被设置为值“开”的实施例中,相关联的模型变量成为活动的并且用于相关联的MINLP开关(例如,侵入式MINLP开关108和/或非侵入式MINLP开关208)中。在其中使用变量选项306被设置为值“关”的实施例中,与对应的模型变量相关联的开关成为失活的,并且将不存在与参与求解器模块124的求解操作的该模型变量有关的任何MINLP开关方程式。对于失活变量,某些参数(例如,组ID、组补码、时间、成本等)的指定保持原状。例如,当用户为MINLP活动交换变量时,该用户不需要经历再次输入所有信息的任务。根据进一步的方面,MINLP GUI 112的配置窗口被称为MINLP管理器。在另一个实施例中,MINLP管理器仅显示其中使用变量选项306被设置为值“开”的模型变量。在进一步的实施例中,与MINLP开关108、208相关联的模型模块102(例如,电动机、发电机、蒸汽涡轮机等)每次仅具有一个活动变量。换句话说,配置窗口将仅呈现一个被支持的变量302,其相关联的使用变量选项306被设置为值“开”。在这样的实施例中,MINLP GUI 112呈现限制和/或警告用户在使用变量选项306为“开”时仅标记支持变量302中的一个的机制。在又进一步的实施例中,模型模块102(例如,锅炉、分流器、源等)具有多个被支持的变量302,该被支持的变量302的相关联的使用变量选项306被设置为值“开”。
现在参考图3B,示出了MINLP GUI 112的数据输入窗口。示例性MINLP参数110包括启动成本110-A、关闭成本110-B、时间段110-C、组标识符110-D、组补码110-E、模型变量标识符110-F、MINLP模块初始值110-G、MINLP模块最终值110-H、UseInMINLP参数110-I、附加变量参数110-J以及模型变量110-K的列表。在可替代实施例中,由图3B示出的MINLP界面112和MINLP参数110用于定制侵入式MINLP开关108的行为。在实施例中,当用户双击侵入式MINLP开关108和/或非侵入式MINLP开关208时,数据输入窗口出现在MINLP界面112上并且允许用户指定用于MINLP开关108、208的功能的所有必要的数据。
在这一示例性实施例中,用户可以基于一个或多个MINLP参数110来设置阈值用于切换。在示例性实施例中,启动成本110-A、停止成本110-B和时间段110-C防止求解器模块124将模型模块102切换到仅提供超过过程118的当前操作状态微小益处的操作状态。例如,启动成本110-A、停止成本110-B和时间段110-C防止求解器模块124为了实现比过程118的当前操作状态节省少量操作成本(例如,2美分)的操作状态而不加区分地切换模型模块102。在这一示例性实施例中,启动成本110-A、停止成本110-B和时间段110-C被求解器模块124转换为用于MINLP的目标函数的贡献。当MINLPBinary初始等于一并且随后改变为等于零时,存在关联的停止成本(SD)110-B。当MINLPBinary初始等于零并且随后改变为等于一时,存在关联的启动成本(SU)110-A。对目标函数的贡献由下方程式表示:
其中F为当前开关u的函数并且也是对目标函数的贡献,其中n为开关数(例如,改变MINLPBinary从零到一或从一到零),并且其中u0为MINLPBinary的初始状态。以下表格示出对于n等于一的情况下的四种感兴趣的情况以及对目标函数的对应贡献:
假设时间段110-C是切换有效的时段,并且以其贡献可以以在维度上正确的方式被添加到求解器模块124的全局目标函数的这种方式使用时间段110-C。
在图3B的进一步的实施例中,组标识符110-D是与非侵入式MINLP开关208相关联的MINLP模块集合的名称。除非集合中的所有MINLP模块集合被标记为由组补码110-E互补,否则集合中的所有MINLP模块同时打开或关断(即激活或去激活)。当非侵入式MINLP开关208被标记为由组补码110-E互补时,它相较于集合的其余MINLP模块以互补的方式进行切换。换句话说,当集合中的其他MINLP模块关断时,互补的非侵入式MINLP开关208将打开,反之亦然。由于同时切换的属性,各个MINLP模块失去独立性并受到所属组的切换的限制。
仍然参考图3B,模型变量标识符110-F指示模型模块102的哪个模型变量连接了非侵入式MINLP开关208。在示出的实施例中,模型变量为蒸汽涡轮机的实际功。其他模型变量包括但不限于电动机的轴功率、发电机的轴功率以及锅炉燃料流的流速。模型变量初始值110-G为由模型标识符110-F指示的模型变量的现有值。MINLP模块初始值110-H为非侵入式MINLP开关208的现有值,并且MINLP模块最终值110-I为非侵入式MINLP开关208的结束值。
进一步参照图3B的实施例,用户可以在模型变量110-K中的一个或多个上点击以在它们之间切换并输入对应的数据。附接的变量参数110-J包括在实施例中由求解器模块124利用的下界和上界。在示出的实施例中,UseInMINLP参数110-I以只读模式显示(例如,变灰)并且可以在上述MINLP管理器窗口中被改变。在附加实施例中,当模型变量被标记为UseInMINLP时(例如,当选中UseInMINLP参数110-I时),使得它的对应二进制变量自由自变并且成为求解器模块124的二进制切换的对象。在进一步的实施例中,其中模型变量未被标记为UseInMINLP(例如,未选中UseInMINLP参数110-I),该变量的切换将不会被求解器模块124视为MINLP,并且它将以它在其它模式(例如,结合图5描述的那些模式)中表现的形式表现。在进一步的实施例中,当在MINLP优化模式(例如,本文描述的MINLP优化模式512)中存在求解失败时,UseInMINLP参数110-I通过取消选中具体单元的UseInMINLP参数110-I来为用户提供排查流程的能力。例如,这种能力在减小和/或关闭模型之前为用户省去经历宽范围的子流程的麻烦。在又进一步的实施例中,在工作流程期间,用户可以基于求解器模块124的结果关闭一个或多个模型。在关闭模型之后,在模拟模式(例如,模拟模式504)、数据协调(例如,数据协调模式506)以及优化模式(例如,优化模式510)下求解流程,如本文进一步所述。在工作流过程(例如,由图5示出的样本工作流过程)的整个循环之后,用户将再一次回到MINLP优化模式(例如,MINLP优化模式512)。在MINLP优化模式和求解器模块124的该操作期间,UseInMINLP参数110-I被选中(即,被标记或被激活)的所有MINLP开关单元(例如,侵入式MINLP开关108、非侵入式MINLP开关208)将处于活动状态并且成为MINLP可解模型的一部分。此外,在该操作期间,MINLP开关单元打开它的附接的模型单元。
图4示出了包括蒸汽源450、第一涡轮机452、第二涡轮机454、第一电动机456、第二电动机458、轴460以及泵462的示例性过程118。图4还示出了示例性控制系统440。提供示例性示出过程118以解释包括入侵式MINLP开关108和非入侵式MINLP开关208的本发明的方面如何提供例如对计算设备的功能的改进和对其他技术领域的改进,即物理工厂的过程控制和自动化。对于本领域技术人员来说显而易见的是,本发明的方面能够优化除了过程118以外的过程,并且仅出于说明的目的而呈现过程118。控制系统440至少通信地连接到第一涡轮机452、第二涡轮机454、第一电动机456以及第二电动机458。蒸汽源450流体地连接到第一涡轮机452和第二涡轮机454。第一涡轮机452、第二涡轮机454、第一电动机456以及第二电动机458均机械地连接到轴460,轴460进而机械地连接到泵462。
控制系统440管理过程118的操作并且在示例性实施例中至少包括模型模块102、求解器模块124以及侵入式MINLP开关108和/或非侵入式MINLP开关208。在附加的示例性实施例中,控制系统440是以在线模式运行的分布式控制系统(DCS)和集中式数据库中的一个。控制系统440适于向过程118传输控制信息并且从过程118接收传感和反馈数据。例如,控制系统440和过程118可以经由促进数据的交换的电信网络(诸如根据例如IEEE 802.3(例如,以太网)和/或IEEE 802.11(例如,Wi-Fi)协议操作的那些电信网络)进行通信。在另一个实施例中,控制系统440和过程118经由允许通过串行或并行通信信道(例如,铜线、光纤、计算机总线、无线通信信道等)物理地传输数据的任何介质进行通信。
蒸汽源450提供蒸汽以给第一涡轮机452和第二涡轮机454供能。在实施例中,蒸汽源450是锅炉并且经由管道或导管将捕获的蒸汽提供给第一涡轮机452和第二涡轮机454。第一电动机456和第二电动机458由电力供电。第一涡轮机452、第二涡轮机454、第一电动机456以及第二电动机458均能够驱动轴460以给泵462供能,泵462从贮水池中向过程泵送流体。
图5示出了基于ROMEO的求解器中的样本工作流过程。该过程包括建立步骤502、模拟模式504、数据协调506、参数化508、优化模式510、MINLP优化模式512以及实施步骤514。在实施例中,模拟模式504、数据协调模式506、优化模式510以及MINLP优化模式512是诸如求解器模块124的基于ROMEO的求解器的操作模式。
初始地在建立步骤502处,创建求解器的模型和规范。在示例性实施例中,过程118由模型模块102经由过程定义界面122进行物理建模、经由MINLP界面110指定用于侵入式MINLP开关108和/或非侵入式MINLP开关208的MINLP参数110、并且经由约束界面116指定用于约束模块106的约束输入数据114。在另一个实施例中,使用诸如简单的混合器、分流器、闪蒸罐、完整蒸馏塔以及反应器的预定义的ROMEO单元操作对过程118进行建模。在又进一步的实施例中,过程118被建模为由用户经由过程定义界面122创建的定制单元操作。在完成建立步骤502之后,过程前进到模拟模式504。
在模拟模式504期间,求解器模块124求解在建立步骤502处创建的模型。在实施例中,求解器模块124将物理模型转换成单个数学模型并且使用非线性矩阵算法来求解该数学模型。这种解决方法提供了大量的时间节省并且容许本发明的方面用作实时模拟工具。同样在模拟模式504期间,侵入式MINLP开关108和非侵入式MINLP开关208(例如,MINLPSwitch)的自由自变量被设置为固定自变的。例如,基于先前的数据协调练习(例如,数据协调506的先前操作)的结果,可以将这些变量固定为零(例如,MINLPSwitch=0)或固定为一(例如,MINLPSwitch=1))。在完成模拟模式504之后,过程前进到数据协调506。
在数据协调506期间,求解器模块124使物理模型与过程118的实际观察到的操作条件一致。在示例性实施例中,过程118内的传感器获得过程的各种操作条件的测量(例如,温度、压力、构成和流速)并且向求解器模块124传输包括测量的数据。求解器模块124接收该数据并且使用用于评估观察到的过程数据(例如,由过程118的传感器收集的数据)的有效性的已建立的算法来协调冗余和/或不一致的测量。基于协调的观察到的数据,求解器模块124修改和/或调整过程模型单元规范和参数(例如,模型模块102、MINLP参数110、约束输入数据114等),以使得过程模型更加接近地符合观察到的现实(例如,过程118的测量的操作条件)。
在数据协调506的实施例中,求解器模块124直接与关联于过程118并且以在线模式运行的分布式控制系统(例如,控制系统440)或集中式数据库进行对接。在这样的实施例中,不需要用户输入。在另一个实施例中,经由用户界面(例如,过程定义界面122、MINLP界面112、约束界面116等)手动供应测量值,并且数据协调506以离线模式执行。同样在数据调节506期间,侵入式MINLP开关108和非侵入式MINLP开关208(例如,MINLPSwitch)的自由自变量被设置为固定自变的。例如,基于先前的数据协调练习(例如,数据协调506的先前操作)的结果,可以将这些变量固定为零(例如,MINLPSwitch=0)或固定为一(例如,MINLPSwitch=1))。在完成数据协调506之后,过程前进到参数化508。
在参数化508期间,对于其对应的模型模块102被确定为将被关闭的每个侵入式MINLP开关108和非侵入式MINLP开关208,求解器模块124关闭MINLPSwitch(例如,MINLPSwitch=0)。在示例性实施例中,求解器模块124为该目的而自动运行宏。同样在参数化508期间,侵入式MINLP开关108和非侵入式MINLP开关208的自由自变量(例如,MINLPSwitch)被设置为固定自变的。例如,基于先前的数据协调练习(例如,数据协调506的先前操作)的结果,可以将这些变量固定为零(例如MINLPSwitch=0)或固定为一(例如,MINLPSwitch=1)。在完成参数化508之后,过程前进到优化模式510。
在优化模式510期间,求解器模块124将货币价值分配给相关的过程变量并且调整控制器设定点以使过程118的经济性最大化。货币分配的示例包括与不太期望的部分相比对优选的流部分给予更大的值、对产品中附加的辛烷值给予奖励或者对流中每百万分之一(ppm)的污染物或不期望的化合物给予货币处罚。在实施例中,在优化模式510中操作的求解器模块124提供用于确定否则将保持未检测和未利用的过程118的单元设定点、规格和操作条件之间的经济关联性的系统方式。同样在优化模式510期间,侵入式MINLP开关108和非侵入式MINLP开关208(例如,MINLPSwitch)的自由自变量被设置为固定自变的。例如,基于先前的数据协调练习(例如,数据协调506的先前操作)的结果,可以将这些变量固定为零(例如,MINLPSwitch=0)或固定为一(例如,MINLPSwitch=1)。在完成优化模式510之后,过程前进到MINLP优化模式512。
在MINLP优化模式512期间,求解器模块124打开和关断侵入式MINLP开关108和/或非侵入式MINLP开关208(例如,MINLPSwitch=0,MINLPSwitch=1)以确定过程118的经优化和满足过程约束的操作状态。同样在MINLP优化模式512期间,侵入式MINLP开关108和非侵入式MINLP开关208的以前的固定自变量(例如,MINLPSwitch)被设置为自由自变的,这允许求解器模块124适当地移动它们(例如,改变它们的值)以获得过程118的操作状态的最优解。下面描述MINLP优化模式512的进一步的方面。在完成MINLP优化模式512之后,过程前进到实施步骤514。
在实施步骤514期间,求解器模块124将用于过程118的操作状态的最优解实施到模型模块102中。在完成实施步骤514完成之后,过程前进到数据协调步骤506。在实施例中,在完成MINLP优化模式512并且其结果被传送到过程118以及在实施步骤514期间被实施之后,在数据协调506和优化模式510的后续循环中,从这些模式中的计算中移除任何关断的(即,失活的)单元。这种关断的单元将在MINLP优化模式512的下一个循环中被唤醒(即,激活)以再次被考虑用于打开或关断。
图6示出了在MINLP优化模式512中操作的非侵入式MINLP开关208的示例性实施例。在该过程的步骤602期间,求解器模块124设置指示对应于非侵入式MINLP开关208的模型模块102是否将被打开或关断的值。在步骤604处,非侵入式MINLP开关208确定该开关值。如果开关值等于零,则在步骤606处非侵入式MINLP开关208将对应的模型模块102驱动为零。随后过程前进到步骤608,其中求解器模块124将模型模块102驱动到关闭状态以确定在步骤614处的过程118的最优操作状态。返回参照步骤604,如果开关值等于一,则非侵入式MINLP开关208不关闭对应的模型模块102。换句活说,模型模块102在步骤610处正常操作。随后过程前进到步骤612,其中求解器模块124与模型模块102一起操作以确定在步骤614处的过程118的最优操作状态。
虽然图6的以上描述引用了非侵入式MINLP开关208的操作,但是本领域技术人员将理解,在这种过程中也可以利用侵入式MINLP开关108。在一个实施例中,侵入式MINLP开关108和/或非侵入式MINLP开关208使得求解器模块124能够确定过程118的哪些能量源既优化了过程,又通过打开和关断MINLP模型来满足过程约束。在另一个实施例中,侵入式MINLP开关108和/或非侵入式MINLP开关208使得求解器模块124能够确定过程118的这样的操作状态:该操作状态是经优化的,并且通过经由过程单元模型结合MINLP求解器模拟过程118的操作来满足过程约束。
本发明的实施例可以包括包含各种计算机硬件的专用计算机,如下面更详细地描述的。
本发明的范围内的实施例也包括用于携带计算机可执行指令或数据结构或具有存储在其上的计算机可执行指令或数据结构的计算机可读介质。这种计算机可读介质可以是可以由专用计算机访问的任何可用介质。通过示例而非限制的方式,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储装置、磁盘存储装置或其他磁存储设备、或者可以用于以计算机可执行指令或数据结构的形式携带或存储期望的程序代码单元并且可以由通用或专用计算机访问的任何其他介质。当通过网络或其他通信连接(硬连线、无线或者硬连线或无线连接的组合)向计算机传输或提供信息时,计算机适当地将连接视为计算机可读介质。因此,任何这种连接被适当地称为计算机可读介质。以上的组合也应当被包括在计算机可读介质的范围内。计算机可执行指令例如包括使得通用计算机、专用计算机或专用处理设备执行特定功能或功能组的指令和数据。
以下讨论旨在提供可以实现本发明的方面的合适的计算环境的简要概述。虽然不是必需的,但是在诸如由网络环境中的计算机执行的程序模块的计算机可执行指令的一般上下文中将描述本发明的方面。通常,程序模块包括执行具体任务或实现具体抽象数据类型的例程、程序、对象、组件、数据结构等。计算机可执行指令、关联的数据结构以及程序模块表示用于执行本文公开的方法的步骤的程序代码单元的示例。这种可执行指令或关联的数据结构的具体序列表示用于实现在这些步骤中描述的功能的对应动作的示例。
本领域技术人员将理解,本发明的方面可以在具有许多类型的计算机系统配置的网络计算环境中实践,该计算机系统配置包括个人计算机、手持设备、多处理器系统、基于微处理器的或可编程的消费者电子产品、网络PC、小型计算机、大型计算机等。本发明的方面也可以在分布式计算环境中实践,其中由通过通信网络链接(通过硬连线链路、无线链路或者硬连线链路或无线链路的组合)的本地和远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
用于实现本发明的方面的示例性系统包括以常规计算机的形式的专用计算设备,它包括处理单元、系统存储器以及将包括系统存储器的各种系统组件耦合到处理单元的系统总线。系统总线可以是包括存储器总线或存储器控制器、外围总线以及使用各种总线架构中的任何一种的本地总线的若干类型的总线结构中的任何一种。系统存储器包括只读存储器(ROM)和随机存取存储器(RAM)。包含有助于诸如在启动期间在计算机内的元件之间传输信息的基本例程的基本输入/输出系统(BIOS)可以被存储在ROM中。此外,计算机可以包括能够无线地从互联网接收或向互联网传输IP地址的任何设备(例如,计算机、膝上型计算机、平板电脑、PDA、手机、移动电话、智能电视等)。
计算机也可以包括用于从磁性硬盘读取或写入到磁性硬盘的磁性硬盘驱动器、用于从可移动磁盘读取或写入到可移动磁盘的磁盘驱动器、以及用于从诸如CD-ROM或其他光学介质的可移动光盘读取或写入到诸如CD-ROM或其他光学介质的可移动光盘的光盘驱动器。磁硬盘驱动器、磁盘驱动器和光盘驱动器分别通过硬盘驱动器接口、磁盘驱动器接口和光学驱动器接口连接到系统总线。驱动器及其关联的计算机可读介质为计算机提供计算机可执行指令、数据结构、程序模块和其他数据的非易失性存储。虽然本文描述的示例性环境采用磁性硬盘、可移动磁盘以及可移动光盘,但是可以使用用于存储数据的其他类型的计算机可读介质,包括磁带盒、闪存卡、数字视频盘、伯努利盒(Bernoulli cartridge)、RAM、ROM、固态驱动器(SSD)等。
计算机通常包括各种计算机可读介质。计算机可读介质可以是可以由计算机访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质。通过示例而非限制的方式,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括在用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术中实现的易失性和非易失性、可移除和不可移除介质。计算机存储介质是非暂态的,并且包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储装置、SSD、磁带盒、磁带、磁盘存储装置或其他磁性存储设备、或者可以用于存储可以由计算机访问的期望的非暂态信息的任何其他介质。可替代地,通信介质通常以诸如载波或其他传输机制的经调制的数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。
包括一个或多个程序模块的程序代码单元可以存储在硬盘、磁盘、光盘、ROM和/或RAM上,包括操作系统、一个或多个应用程序、其他程序模块和程序数据。用户可以通过键盘、指向设备或诸如麦克风、操纵杆、游戏手柄、碟形卫星天线、扫描仪等的其他输入设备将命令和信息输入到计算机中。这些和其他输入设备通常通过耦合到系统总线的串行端口接口连接到处理单元。可替代地,输入设备可以通过诸如并行端口、游戏端口或通用串行总线(USB)的其他接口进行连接。监视器或另一个显示设备也经由诸如视频适配器48的接口连接到系统总线。除了监视器之外,个人计算机通常包括其他外围输出设备(未示出),诸如扬声器和打印机。
本发明的一个或多个方面可以体现在作为应用程序、程序模块和/或程序数据而存储在系统存储器或非易失性存储器中的计算机可执行指令(即,软件)、例程或功能中。可替代地,软件可以被远程存储,诸如被存储在具有远程应用程序的远程计算机上。通常,程序模块包括例程、程序、对象、组件、数据结构等,该例程、程序、对象、组件、数据结构等在由计算机或其他设备中的处理器执行时执行特定任务或实现特定抽象数据类型。计算机可执行指令可以存储在一个或多个有形、非暂态计算机可读介质(例如,硬盘、光盘、可移除存储介质、固态存储器、RAM等)上并且由一个或多个处理器或其他设备执行。如本领域技术人员将理解的,程序模块的功能可以按照在各种实施例中所期望的进行组合或分布。此外,功能可以全部或部分地在诸如集成电路、专用集成电路、现场可编程门阵列(FPGA)等的固件或硬件等同物中体现。
计算机可以使用到一个或多个远程计算机的逻辑连接在网络环境中操作。远程计算机每个可以是另一个个人计算机、平板电脑、PDA、服务器、路由器、网络PC、对等设备或其他常见网络节点,并且通常包括以上相对于计算机描述的元件中的许多或全部元件。逻辑连接包括这里通过实例而非限制的方式呈现的局域网(LAN)和广域网(WAN)。这种联网环境在办公室范围或企业范围的计算机网络、内联网和互联网中是常见的。
当在LAN联网环境中使用计算机时,计算机通过网络接口或适配器连接到本地网络。当在WAN联网环境中使用计算机时,计算机可以包括调制解调器、无线链路或用于在诸如互联网的广域网上建立通信的其它装置。调制解调器可以是内部的也可以是外部的,调制解调器通过串行端口接口连接到系统总线。在网络环境中,相对于计算机描绘的程序模块或程序模块的部分可以存储在远程存储器存储设备中。应当理解,所示的网络连接是示例性的并且可以使用在广域网上建立通信的其它装置。
优选地,计算机可执行指令被存储在诸如硬盘驱动器的存储器中,并且由计算机执行。有利地,计算机处理器具有实时执行所有操作(例如,执行计算机可执行指令)的能力。
除非另有说明,否则本文说明和描述的本发明的实施例中的操作的执行或实行的顺序不是必要的。即,除非另外规定,可以以任何顺序执行操作,并且本发明的实施例可以包括比本文那些公开的附加的或更少的操作。例如,认为在另一个操作之前、同时或之后执行或实行特定操作是在本发明的方面的范围内的。
本发明的实施例可以用计算机可执行指令来实现。计算机可执行指令可以被组织成一个或多个计算机可执行组件或模块。本发明的方面可以用任何数量的这种组件或模块以及这种组件或模块的任何组织来实现。例如,本发明的方面不局限于在附图中示出的和在本文描述的具体计算机可执行指令或具体组件或模块。本发明的其他实施例可以包括不同于本文示出的和描述的具有更多或更少功能的计算机可执行指令或组件。
当介绍本发明或其实施例的方面的元素时,冠词“一(a/an)”、“该(the)”和“所述(said)”旨在意味着存在一个或多个元素。术语“包括(comprising/including)”和“具有(having)”旨在为包含性的并且意味着除了所列出的元素之外还可以有附加元素。
已经详细描述了本发明的方面,显而易见的是,在不脱离如所附权利要求限定的本发明的方面的范围的情况下,修改和变化是可能的。由于在不脱离本发明的方面的范围的情况下可以对以上结构、产品和方法进行各种改变,所以旨在以上描述中所包含的以及附图中所示的所有内容应当被解释为说明性的而非限制含义的。
Claims (15)
1.一种用于确定连续过程的最优操作状态的计算机实现方法,所述方法包括:
通过控制系统从所述连续过程内的传感器接收数据,所述数据表示在所述连续过程内的过程单元的当前状态;
通过所述控制系统实时地模拟至少一个单元模型结合混合整数非线性规划MINLP求解器的操作,所述单元模型经由至少一个第一原理方程式表示所述过程单元,所述至少一个第一原理方程式包括无界自由因变量,所述无界自由因变量等于以[0,1]定界的自由自变量与表示所述过程单元的属性的模型变量乘性地组合;
通过所述控制系统在所述模拟期间在活动状态和失活状态之间切换所述单元模型,其中所述切换包括实现MINLP开关,所述MINLP开关对于所述单元模型是非侵入的并且所述MINLP开关被配置为识别所述第一原理方程式的要附接和修改的所述模型变量;以及
基于所述模拟和所述切换,通过所述控制系统生成所述连续过程的操作状态,其中所述操作状态满足所述连续过程的至少一个操作约束。
2.如权利要求1所述的方法,其中当所述自由自变量等于一时,所述单元模型处于所述活动状态,并且其中当所述自由自变量等于零时,所述单元模型处于所述失活状态。
3.如权利要求1所述的方法,其中所述MINLP开关包括包含所述模型变量、以[0,1]定界的所述自由自变量以及所述无界自由因变量的方程式。
4.如权利要求3所述的方法,其中所述实现所述MINLP开关进一步包括根据一个或多个MINLP参数来实现所述方程式,其中所述MINLP参数包括用于在所述活动状态和所述失活状态之间切换所述单元模型的阈值。
5.如权利要求1所述的方法,其中在所述单元模型处于所述失活状态的同时,所述过程单元有助于所述连续过程。
6.如权利要求1所述的方法,进一步包括:
将生成的操作状态与所述连续过程的当前操作状态比较以产生过程改变;以及
在所述连续过程中实现所述过程改变。
7.一种系统,包括:
传感器,生成表示在连续过程内的过程单元的当前状态的数据;以及
控制系统,所述控制系统包括执行计算机可执行组件的处理器,所述组件包括:
模型组件,所述模型组件包括至少一个第一原理方程式,其中所述第一原理方程式表示所述过程单元,其中所述第一原理方程式包括无界自由因变量,所述无界自由因变量等于以[0,1]定界的自由自变量与表示所述过程单元的属性的模型变量乘性地组合;
开关组件,所述开关组件对于所述模型组件是非侵入的并且所述开关组件对所述模型组件的混合整数非线性规划MINLP行为进行编码,其中所述开关组件被配置为识别所述第一原理方程式的要附接和修改的所述模型变量;以及
MINLP求解器组件,所述MINLP求解器组件与所述连续过程的操作实时地模拟所述模型组件的操作。
8.如权利要求7所述的系统,其中所述MINLP求解器组件经由所述开关组件来控制所述模型组件的状态。
9.如权利要求7所述的系统,其中当所述自由自变量等于一时,所述模型组件处于活动状态,并且其中当所述自由自变量等于零时,所述模型组件处于失活状态。
10.如权利要求9所述的系统,其中在所述模型组件处于所述失活状态的同时,所述过程单元有助于所述连续过程。
11.一种具有存储在其上的计算机可执行模块的计算机可读存储设备,所述计算机可执行模块当由处理器执行时,确定连续过程的操作状态,所述模块包括:
定义单元模型的模型模块,在由所述处理器执行所述模型模块期间所述单元模型经由至少一个第一原理方程式表示所述连续过程内的过程单元,其中所述第一原理方程式包括无界自由因变量,所述无界自由因变量等于以[0,1]定界的自由自变量与表示所述过程单元的属性的模型变量乘性地组合;
混合整数非线性规划MINLP开关模块,在由所述处理器执行MINLP开关模块期间,所述MINLP开关模块将所述模型模块在活动状态和失活状态之间转换,其中所述MINLP开关模块在用于实现所述模型模块的MINLP行为方面对所述模型模块是非侵入的,其中所述MINLP开关模块被配置为识别所述第一原理方程式的要附接和修改的所述模型变量;以及
求解器模块,在由所述处理器执行所述求解器模块期间,所述求解器模块实时地模拟所述模型模块和所述MINLP开关模块的操作。
12.如权利要求11所述的计算机可读存储设备,其中所述MINLP开关模块包括具有以[0,1]定界的所述自由自变量的方程式,并且其中在所述求解器模块的执行期间,所述求解器模块设置所述自由自变量的值。
13.如权利要求12所述的计算机可读存储设备,其中当所述自由自变量等于一时,所述模型模块处于所述活动状态,并且其中当所述自由自变量等于零时,所述模型模块处于所述失活状态。
14.如权利要求11所述的计算机可读存储设备,其中在所述模型模块处于所述失活状态的同时,所述过程单元有助于所述连续过程。
15.如权利要求11所述的计算机可读存储设备,进一步具有存储在其上的计算机可执行模块,所述计算机可执行模块当由所述处理器执行时,将通过所述求解器模块模拟的操作与所述连续过程的当前操作状态比较并且响应于所述比较来生成过程改变。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/745,961 | 2015-06-22 | ||
US14/745,961 US20160370772A1 (en) | 2015-06-22 | 2015-06-22 | Process optimization using mixed integer nonlinear programming |
PCT/US2016/038531 WO2016209817A1 (en) | 2015-06-22 | 2016-06-21 | Process optimization using mixed integer nonlinear programming |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107949839A CN107949839A (zh) | 2018-04-20 |
CN107949839B true CN107949839B (zh) | 2022-05-31 |
Family
ID=57586153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680036788.9A Active CN107949839B (zh) | 2015-06-22 | 2016-06-21 | 使用混合整数非线性规划的过程优化 |
Country Status (5)
Country | Link |
---|---|
US (3) | US20160370772A1 (zh) |
EP (1) | EP3311302A4 (zh) |
CN (1) | CN107949839B (zh) |
HK (1) | HK1251683A1 (zh) |
WO (1) | WO2016209817A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10310458B2 (en) | 2015-12-22 | 2019-06-04 | Schneider Electric Software, Llc | Process optimization by grouping mixed integer nonlinear programming constraints |
US10152036B2 (en) * | 2015-12-30 | 2018-12-11 | Schneider Electric Software, Llc | Adaptive mixed integer nonlinear programming for process management |
EP3821302A4 (en) * | 2018-07-12 | 2023-03-15 | AVEVA Software, LLC | SERVER AND SYSTEM FOR PROCESS OPTIMIZATION |
US10902085B2 (en) | 2019-01-15 | 2021-01-26 | International Business Machines Corporation | Solving mixed integer optimization problems on a hybrid classical-quantum computing system |
US11676039B2 (en) | 2020-02-21 | 2023-06-13 | International Business Machines Corporation | Optimal interpretable decision trees using integer linear programming techniques |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4743944B2 (ja) * | 2000-08-25 | 2011-08-10 | 鎮男 角田 | シミュレーションモデル作成方法及びそのシステムと記憶媒体 |
US8131576B2 (en) * | 2006-06-02 | 2012-03-06 | International Business Machines Corporation | Method and system for identifying conflicting constraints in mixed integer programs |
CN101587328B (zh) * | 2008-05-23 | 2011-12-14 | 朱豫才 | 非线性过程动态模型辨识方法 |
US20110098862A1 (en) * | 2009-10-27 | 2011-04-28 | ExxonMobil Research Engineering Company Law Department | Multi-stage processes and control thereof |
US8447423B2 (en) * | 2009-11-30 | 2013-05-21 | Exxonmobil Research And Engineering Company | Method and apparatus for optimizing a performance index of a bulk product blending and packaging plant |
US9031674B2 (en) * | 2010-10-13 | 2015-05-12 | Schlumberger Technology Corporation | Lift-gas optimization with choke control |
EA201390784A1 (ru) * | 2010-11-30 | 2013-12-30 | Лэндмарк Графикс Корпорейшн | Способ уменьшения времени моделирования природного резервуара углеводородов |
US9002686B2 (en) * | 2011-03-08 | 2015-04-07 | Honeywell International Inc. | System and method for simulating operation of substructures of a chemical processing plant |
US10073813B2 (en) * | 2011-09-06 | 2018-09-11 | International Business Machines Corporation | Generating a mixed integer linear programming matrix from an annotated entity-relationship data model and a symbolic matrix |
US20140094974A1 (en) * | 2012-10-01 | 2014-04-03 | Schlumberger Technology Corporation | Lift and choke control |
US9703901B2 (en) * | 2013-08-15 | 2017-07-11 | Schneider Electric Software, Llc | Iterative system and process with non-linear correction factors |
US10287988B2 (en) * | 2015-03-27 | 2019-05-14 | General Electric Company | Methods and systems for enhancing operation of power plant generating units and systems |
-
2015
- 2015-06-22 US US14/745,961 patent/US20160370772A1/en not_active Abandoned
-
2016
- 2016-06-21 EP EP16815139.7A patent/EP3311302A4/en not_active Withdrawn
- 2016-06-21 CN CN201680036788.9A patent/CN107949839B/zh active Active
- 2016-06-21 WO PCT/US2016/038531 patent/WO2016209817A1/en unknown
-
2018
- 2018-08-29 HK HK18111108.6A patent/HK1251683A1/zh unknown
-
2020
- 2020-04-06 US US16/841,178 patent/US20200233385A1/en not_active Abandoned
-
2022
- 2022-04-26 US US17/729,548 patent/US20230025522A1/en not_active Abandoned
Non-Patent Citations (3)
Title |
---|
GECN: Primary Voltage Control for Active Distribution Networks via Real-Time Demand- Response;Konstantina Christakou 等;《IEEE TRANSACTIONS ON SMART GRID》;20140331;第622-630页 * |
Primal and Dual Bounds for Optimal Transmission Switching;Carleton Coffrin等;《IEEE Xplore 2014电力系统计算会议》;20150212;第2-4页 * |
Rigorously Modelling Steam Utility Systems for Mixed Integer Optimization;Jonathan Currie 等;《IEEE Xplore 2012年第十届国际电力和能源会议》;20130606;第526-531页 * |
Also Published As
Publication number | Publication date |
---|---|
US20160370772A1 (en) | 2016-12-22 |
US20230025522A1 (en) | 2023-01-26 |
EP3311302A1 (en) | 2018-04-25 |
WO2016209817A1 (en) | 2016-12-29 |
CN107949839A (zh) | 2018-04-20 |
HK1251683A1 (zh) | 2019-02-01 |
US20200233385A1 (en) | 2020-07-23 |
EP3311302A4 (en) | 2019-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107949839B (zh) | 使用混合整数非线性规划的过程优化 | |
Rasheed et al. | Digital twin: Values, challenges and enablers from a modeling perspective | |
Rasheed et al. | Digital twin: Values, challenges and enablers | |
US11477083B2 (en) | Industrial internet connected control system | |
US11762345B2 (en) | Process optimization by grouping mixed integer nonlinear programming constraints | |
US20040186603A1 (en) | Services portal | |
CN112602025A (zh) | 工业控制器的数字孪生的自动设置 | |
US20100050020A1 (en) | Industrial automation and information solutions having industry specific modalities | |
US10908563B2 (en) | Adaptive mixed integer nonlinear programming for process management | |
US10909288B2 (en) | Techniques for applying generative design to the configuration of mechanical assemblies | |
US10970434B2 (en) | Variable equivalency on connection in a process simulation | |
CN102890453A (zh) | 用于功能块实例化的系统和方法 | |
WO2020127895A1 (en) | A method and system for generating an artificial intelligence model | |
Bagal et al. | PLC based real time process control using SCADA and MATLAB | |
US10401881B2 (en) | Systems and methods for quantification of a gas turbine inlet filter blockage | |
Zhou et al. | Data-efficient constrained learning for optimal tracking of batch processes | |
CN104204971A (zh) | 用于控制逻辑的第三方创建的设备和方法 | |
CN107636608A (zh) | 用于利用暂存应用程序替换运转的控制/估计应用程序的系统和方法 | |
Basile et al. | A two-stage modelling architecture for distributed control of real-time industrial systems: Application of UML and Petri Net | |
CN112567301B (zh) | 处理优化服务器和系统 | |
US10295996B2 (en) | Test device for monitoring control device | |
Martínez et al. | A hybrid approach for the initialization of tracking simulation systems | |
CN108886935A (zh) | 管道施肥系统施肥过程中施肥方案的确定方法、装置及系统 | |
Jharko | Design of Intelligent Information Support Systems for Human-Operators of Complex Plants | |
Gunckel et al. | A Generalized Chart‐Based Decision‐Making Tool for Optimal Preventive Maintenance Time under Perfect Renewal Process Modeling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1251683 Country of ref document: HK |
|
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Aviva Software Co.,Ltd. Address before: California, USA Applicant before: Schneider Electronic Software Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |