会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~

压缩空气系统的模型预测控制

申请号 CN202180101774.1 申请日 2021-08-26 公开(公告)号 CN117881889A 公开(公告)日 2024-04-12
申请人 阿特拉斯·科普柯空气动力股份有限公司; 发明人 W·范·罗伊;
摘要 本 发明 涉及一种用于控制 流体 地连接到公共的压缩空气分配系统的有限组件集合的计算机实现的方法,该方法包括 迭代 地重复以下步骤:‑接收所述压缩空气分配系统的预测数据;‑接收所述组件集合中的每个组件的表征数据;‑确定一个或多个连续可微函数集合,其中所述函数集合中的每个函数集合表示所述组件集合中的组件的唯一操作序列;‑从所述一个或多个连续可微函数集合中选择最优函数集合;其中由所述最优集合表示的唯一操作序列满足所述预测数据;‑从所述最优函数集合导出所述组件集合的配置数据;‑基于所述配置数据配置所述组件集合中的每个组件。
权利要求

1.一种用于控制流体地连接到公共的压缩空气分配系统的有限组件集合的计算机实现的方法,所述方法包括迭代地重复以下步骤:
‑接收表示所述压缩空气分配系统的预测的未来压和/或气流需求的预测数据,所述预测数据覆盖预测时段;
‑接收所述组件集合中的每个组件的表征数据,所述表征数据至少包括气流数据、气压数据和能耗数据;
‑确定一个或多个连续可微函数集合,其中所述函数集合中的每个函数集合描述所述压缩空气分配系统的压力和/或气流,其中所述函数集合中的每个函数集合表示至少在所述预测时段的初始部分满足所述预测的未来压力和/或气流数据的所述组件集合中的组件的唯一操作序列;
‑从所述一个或多个连续可微函数集合中选择最优函数集合;
其中由所述最优函数集合表示的唯一操作序列在所述预测时段的至少第二部分满足所述预测的未来压力和/或气流数据;
‑从所述最优函数集合导出所述组件集合的配置数据;
‑基于所述配置数据配置所述组件集合中的每个组件。
2.根据权利要求1所述的方法,其中所述组件集合中的每个组件由状态机表示。
3.根据权利要求2所述的方法,其中确定一个或多个连续可微函数集合包括生成表示所述组件集合的可能操作序列的状态空间数据。
4.根据权利要求3所述的方法,其中所述状态空间数据是基于从所述组件集合中的一个或多个组件的先前状态到所述组件集合中的一个或多个组件的后续状态的可允许的状态转换来生成的。
5.根据权利要求3或4所述的方法,还包括基于至少一个边界条件或目标函数的值来对所述状态空间数据进行剪枝的步骤。
6.根据前述权利要求中的任一项所述的方法,其中所述一个或多个函数集合中的每一个包括描述所述压缩空气分配系统的能量使用的目标函数,其中所述选择最优函数集合包括搜索所述目标函数的至少局部最小值。
7.根据权利要求6所述的方法,其中使用分支和定界算法来搜索所述局部最小值。
8.根据权利要求6或7所述的方法,其中通过确定所述组件集合中的组件经历由所述最优函数集合表示的操作序列的状态转换的时刻来搜索所述目标函数的所述局部最小值。
9.根据前述权利要求中的任一项所述的方法,其中所述表征数据还包括所述组件集合中的至少一个组件的最小启动能量数据和/或最小启动后活动时段数据和/或平均维护时间。
10.根据前述权利要求中的任一项所述的方法,其中迭代地重复包括以离散的、规则的时间间隔重复。
11.根据前述权利要求中的任一项所述的方法,其中所述预测时段是时间相关的。
12.根据前述权利要求中的任一项所述的方法,还包括至少基于执行所述方法的数据处理装置的最大处理能力来确定所述预测时段的所述初始部分。
13.一种数据处理系统,包括用于执行根据前述权利要求之一所述的方法的装置。
14.一种包括指令的计算机程序,当所述程序由计算机执行时,所述指令使得所述计算机执行根据权利要求1至12之一所述的方法。
15.一种压缩空气或气体系统,其被配置为按照根据权利要求1至12之一所述的方法进行控制。

说明书全文

压缩空气系统的模型预测控制

技术领域

[0001] 本发明涉及压缩机领域,更特别地,涉及压缩机房间的模型预测控制。

背景技术

[0002] 已知压缩机用于在一个或多个压缩级中压缩空气或气体。然后将压缩空气或气体提供给一个或多个消费者。其分配是通过压缩空气或气体系统提供的。
[0003] 由于消费者的数量可能很大并且在空间上分布在重要的区域,例如在工厂或医院中,因此通常安装中央枢纽以从中提供压缩空气或气体。
[0004] 中央枢纽通常包括一个或多个压缩机房间,其中在每个房间中安装一个或多个压缩机。此外,类似地安装辅助设备,诸如过滤器、干燥器、容器、传感器、控制组件和/或用于管理和/或控制压缩机房间的其它设备。接下来,管道或通道从一个或多个压缩机房间开始离开以供应消费者。作为链中的最后一部分,压缩空气或气体被消费者用于各种应用。
[0005] 此外,在压缩机和消费者之间还可能存在另一设备集合,诸如安全阀、分配阀、控制传感器或用于控制和保护压缩空气或气体分配的其它设备。
[0006] 所描述的设置将进一步被指定为压缩空气或气体系统。因此,压缩空气或气体系统可以包括供应一个消费者的一个压缩机,但通常被认为是更广泛的,因此包括多个组件,从而构成几个彼此相互作用的元件的复杂系统。
[0007] 为了利用压缩空气或气体系统,需要控制其不同部分。已知借助于独立的本地控制器单独控制压缩机,由此不同的控制器被设置在预定义的压值,从而根据压缩空气的消耗顺序地打开或关闭压缩机。
[0008] 还已知应用一种通过多个通信控制器来控制压缩空气或气体系统的方法,通信控制器用于控制作为压缩空气或气体系统的一部分的组件,由此控制组件,以使得没有控制器确定由其它控制器控制的任何组件的操作条件。在WO2008/009073中公开了这样的方法。
[0009] 在WO2008/009072中公开了用于控制压缩空气单元的另一种方法,该压缩空气单元由具有至少一个公共可控组件的几个压缩空气或气体网络组成,由此,基于压缩空气或气体网络中的至少一个的测量数据,至少公共组件由至少一个控制器控制。
[0010] 但是,这些控制方法的缺点是它们仅基于压缩空气或气体系统的当前状态操作,这意味着它们无法考虑任何类型的预测。这导致次优控制和更高的能量成本。

发明内容

[0011] 本发明旨在弥补上述和其它缺点。为此,本发明的第一方面涉及一种用于控制流体地连接到公共的压缩空气分配系统的有限组件集合的计算机实现的方法,该方法包括迭代地重复以下步骤:
[0012] ‑接收表示压缩空气分配系统的预测的未来压力和/或气流需求的预测数据,该预测数据覆盖预测时段;
[0013] ‑接收该组件集合中的每个组件的表征数据,所述表征数据至少包括气流数据、气压数据、能耗数据;
[0014] ‑确定一个或多个连续可微函数集合,其中函数集合中的每个函数集合描述压缩空气分配系统的压力和/或气流,其中函数集合中的每个函数集合表示至少在预测时段的初始部分满足预测的未来压力和/或气流数据的该组件集合中的组件的唯一操作序列;
[0015] ‑从该一个或多个连续可微函数集合中选择最优函数集合;其中由最优集合表示的唯一操作序列在预测时段的至少第二部分满足预测的未来压力和/或气流数据;
[0016] ‑从最优函数集合为该组件集合导出配置数据;
[0017] ‑基于配置数据配置该组件集合中的每个组件。
[0018] 在该方法的第一步骤中,接收预测数据。在本公开的上下文中,“预测数据”应被解释为一个或多个过程变量的未来值的估计。对于压缩空气分配系统,预测数据包括估计的未来压力需求和/或估计的未来气流需求中的至少一个。预测数据覆盖至少预测时段,其持续时间可以为几秒、几分钟、几小时、几天或甚至更长的时段。预测时段的持续时间可以从该方法的一次迭代到另一次迭代而改变。优选地,预测数据包括时间系列数据,其中为预测时段期间的一个或多个单独的时间实例提供未来变量的估计。预测数据可以包括过程变量中的一个或多个过程变量的估计值和/或估计置信区间和/或估计界限。预测数据可以基于压缩空气分配系统的模型、过去和/或当前过程变量数据或其它输入数据(例如,生产计划、维护计划、日历数据、假期数据或天气预报数据)来生成。
[0019] 在该方法的第二步骤中,接收表征数据。在本公开的上下文中,“表征数据”应被解释为表征压缩空气系统的一个或多个部分的技术或功能性质的数据。表征数据可以是数学模型、查找表、测量数据、规格表格或可以由技术人员或通过合适的算法解释的任何其它形式的数据的形式。表征数据至少包括该组件集合中的每个组件的数据。每个组件的表征数据至少包括气流数据、气压数据和能耗数据。对于压缩机的特定情况,在表征数据中实现压缩机的操作包络是有用的。这种操作包络表示压缩机在气压‑气流平面中的可允许操作区域,并且对于这种包络内的每个操作点将能效归因于压缩机。
[0020] 在该方法的第三步骤中,确定一个或多个连续可微函数集合。这样的连续可微函数集合包括一个或多个连续可微函数,并且这些集合中的每一个表示组件集合中的组件的唯一操作序列。这些集合中的每一个包括至少一个或多个连续可微函数,其描述压缩空气系统中的压力和/或气流以及组件的能耗。选择每个集合中组件的唯一操作序列,使得压缩空气系统中的压力和/或气流在预测时段的至少初始部分满足压力和/或气流需求的预测数据。优选地,初始部分是比完成该方法的一次迭代所需的时段和使组件集合中的至少一个压缩机从静止状况到稳态装载状况所需的时段之和更长的时间段。在本公开的其余部分中公开了与本发明的实施例相关的针对连续可微函数和组件的操作序列的可能选择。
[0021] 在该方法的第四步骤中,从一个或多个连续可微函数集合中选择最优集合。完成选择过程,使得与所选择的子集相关联的组件的唯一操作序列导致压缩空气系统中的压力和/或气流在预测时段的至少第二部分满足压力和/或气流需求的预测数据,其中预测时段的第二部分比初始部分更长。优选地,与所选择的最优集合相关联的组件的唯一操作序列导致压缩空气系统中的压力和/或气流在整个预测时段中满足压力和/或气流需求的预测数据。优选地,与所选择的最优集合相关联的组件的唯一操作序列导致压缩空气系统的能耗低于与满足压力和/或气流的预测需求的任何其它操作序列相关联的能耗。技术人员将理解可以使用其它优化标准。在本公开的其余部分中公开了与本发明的实施例相关的用于选择最优集合的可能方法。
[0022] 在该方法的第五步骤中,从所选择的最优集合中导出配置数据。在本公开的上下文中,“配置数据”应被解释为确定要应用于压缩空气系统的一个或多个部分的命令输入以将所选择的唯一操作序列施加到组件集合上的数据。配置数据至少包括组件集合中的每个组件的数据。配置数据的示例是特定压缩机应启动、停止、装载或空载的时间实例、特定压缩机应操作的速度、阀门位置或阀门位置应改变的时间实例、或冷却回路的流量。
[0023] 在该方法的第六步骤中,根据配置数据配置组件集合中的每个组件。
[0024] 该方法的优点在于,该方法允许实时同时控制组件集合,不仅考虑组件和压缩空气分配系统的当前状态,而且还考虑压缩空气分配系统的预测的未来需求。
[0025] 虽然该方法适用于压缩空气分配系统的所有组件,但是本公开的其余部分将唯一地使用压缩机作为组件的示例性实施例。由于压缩机通常是压缩空气分配系统中最重要、最复杂且最难控制的组件,因此技术人员将理解,它们是用于说明该方法的可能性而不失一般性的最有用的实施例。
[0026] 技术人员将认识到,在正常操作期间,压缩机可以处于三种操作方案或状态之一,这些状态是:
[0027] ‑停止状态,在此状态期间,压缩机的将能量传送给要被压缩介质的移动部分(诸如叶轮、涡旋件或活塞)不移动。通常,在停止状态期间,驱动压缩机的移动部分的达也停止,或者马达与压缩机的移动部分之间的动力传送通过离合器被中断。
[0028] ‑空载状态,在此状态期间,压缩机由马达提供动力,压缩机的移动部分正在移动并排出流体,但这种流体以与其进气压力相同的压力排放。在压缩空气系统中,这可以例如通过在压缩机排气之后包括旁通阀来实现,其允许压缩机排放到环境空气中。替代地,可以对压缩机的入口进行节流,在这种情况下,由压缩机引起的可忽略不计的气流能够直接排放到压缩空气分配系统中。通常,空载状态是压缩机的停止状态和装载状态之间的中间步骤。对于一些应用,尤其是那些具有大型压缩机的应用,与压缩空气系统的需求波动的动态相比,压缩机从静止状态到正常操作速度所需的时间可能太长。在这种情况下,只要不需要压缩机,压缩机就可以保持在空载状态。
[0029] ‑装载状态,在此状态期间,压缩机由马达提供动力,压缩机的移动部分正在移动并排出流体,并且这种流体克服系统的背压被排放到压缩空气系统中。为了本公开的目的,当压缩机在其正常操作包络内操作时,并且不是当压缩机超过其喘振、阻流(choke)、功率或速度限制中的一个或多个时,压缩机被认为处于装载状态。
[0030] 在正常操作之外,压缩机还可能处于停机、喘振、阻流、超速或甚至其它状态;将不更详细地讨论这些附加状态。但是,技术人员从本公开的其余部分将理解,根据本发明的方法也可以应对这些状态。优选地,该方法将试图主动防止这些状态。此外,技术人员将理解,压缩空气分配系统的其它组件也可以由它们的状态表示,诸如例如阀门。
[0031] 在根据本发明的方法的实施例中,组件集合中的每个组件由状态机表示,状态机也称为有限状态机或有限状态自动机——一种用于描述离散状态系统的数学建模技术。为了本方法的目的,组件的状态机模型优选地至少包括不同的状态、关于状态如何互连的信息以及与状态相关的时间相关约束。
[0032] 有限组件集合的唯一操作序列与每个连续可微函数集合相关联。因此,最优集合的选择归结为选择集合的组件的最优操作序列。
[0033] 在根据本发明的方法的实施例中,确定一个或多个连续可微函数集合包括生成表示组件集合的可能操作序列的状态空间数据。由于状态空间的维度受到集合中组件数量和每个组件可能状态数量的限制,因此只要在给定的时间范围内限制每个组件可允许的转换数量,表示可能的操作序列的状态空间的维度就会受到限制。因此,状态机对组件的表示允许将可能的操作序列的无限空间变换成能够以详尽的方式探索的有限空间。
[0034] 给定状态机对组件的表示,然后,组件的操作序列至少包括关于以下各项的信息:(i)组件的初始状态,(ii)组件将经历的状态转换,以及(iii)组件将经历这些状态转换的次序。组件的操作序列不一定包括组件将经历特定状态转换的特定时刻。通过扩展,通过本发明的方法控制的有限组件集合的操作序列包括集合中各个组件的操作序列集合,恰好包括集合中每个组件的一个操作序列。作为对照,由该方法导出的配置数据包括组件集合的操作序列,此外还至少包括在预测时段期间应该发生状态转换的时刻。
[0035] 在根据本发明的方法的实施例中,表示组件集合的可能的操作序列的状态空间数据是基于从组件集合中的一个或多个组件的先前状态到该集合中的一个或多个组件的后续状态的可允许的状态转换来生成的。由于可允许的转换取决于组件的当前状态,因此可允许的转换在数量上始终受到限制。因此,通过状态转换序列来表示操作序列允许进一步减小其中确定函数集合的状态空间的维度,从而降低该方法的计算成本。
[0036] 在根据本发明的方法的实施例中,基于至少一个边界条件或目标函数的值来对状态空间数据进行剪枝。这种剪枝允许进一步减小其中确定函数集合的状态空间的维度,从而降低该方法的计算成本。
[0037] 在根据本发明的方法的实施例中,根据该方法的连续可微函数集合可以写为(f(x,y),g(x,y)),其中 在这些方程中,X和 分别是和 的多面体子集和有界多面体子集,并且目标函数f: 和约束函数g:
被假定为凸且两次连续可微。向量x可以包括压缩空气系统的连续变量,诸如例如压力、气流、温度相对湿度、压缩机集合中的一个或多个压缩机的旋转速度或者压缩机集合中的一个或多个压缩机切换到不同状态的时刻。向量y包括组件集合中每个组件的状态变量。
[0038] 技术人员将认识到,在最小化压缩空气系统的能耗的情况下,目标函数f包括系统的能耗的测量,诸如例如系统的瞬时能耗或预测时段内的总能耗。目标函数f可以包括表示系统的能耗或能效的直接或间接测量的附加项。目标函数f可以包括其它项。同样,技术人员将认识到,约束函数g可以包括对系统的组件进行建模的方程或描述过程变量(诸如例如压力、气流、空气温度和相对湿度)的方程。
[0039] 选择连续可微函数的最优集合的步骤然后包括受限于边界条件lb≤g(x,y)≤ub的f(x,y)的最小化问题,其中下边界lb和上边界ub可以包括预测的未来压力和/或气流需求,以及由系统或连接到系统的消费者施加的附加边界条件。例如,边界条件可以包括压缩空气的最大温度和/或最大相对湿度或者一个或多个压缩机的最大旋转速度。这种问题是混合整数非线性问题。
[0040] 在这个实施例中,选择连续可微函数的最优集合的步骤则包括搜索目标函数f(x,y)的至少局部最小值。
[0041] 在根据本发明的方法的实施例中,使用分支&定界算法来搜索目标函数的局部最小值。使用分支&定界算法的优点是该算法允许系统地探索和剪枝状态空间。
[0042] 在根据本发明的方法的实施例中,确定组件集合中的组件经历操作序列的特定状态转换的时刻,以便实现目标函数f(x,y)的局部最小值。该方法具有两个自由度来实现最优控制。第一自由度与集合的组件的操作序列的选择相关。对于这个自由度,使用例如分支&定界算法或任何其它合适的方法来探索可用的状态空间。第二自由度与操作序列的状态转换发生的时刻的选择相关。为了确定这些时刻,需要求解受限于约束lb≤g(x,y)≤ub的f(x,y)的混合整数非线性最小化问题。
[0043] 在根据本发明的方法的实施例中,表征数据还包括组件集合的至少一个组件的最小启动能量数据和/或最小启动后活动时段数据和/或平均维护时间。
[0044] 在根据本发明的方法的实施例中,迭代地重复包括以离散的、规则的时间间隔重复该方法的步骤。
[0045] 在根据本发明的方法的实施例中,预测时段是时间相关的。例如,如果压缩空气分配系统中的需求动态改变,那么预测时段可能会改变。在动态需求波动较低的情况下,预测数据可以延伸更长的时间范围,反之亦然。
[0046] 在根据本发明的方法的实施例中,至少基于执行该方法的数据处理装置的最大处理能力来确定预测时段的初始部分。
[0047] 本发明的第二方面涉及一种数据处理系统,其包括用于执行根据本发明的第一方面的方法的装置。
[0048] 本发明的第三方面涉及一种包括指令的计算机程序,当该程序由计算机执行时,所述指令使得计算机执行根据本发明的第一方面的方法。
[0049] 本发明的第四方面涉及一种被配置为根据本发明的第一方面的方法控制的压缩空气或气体系统。附图说明
[0050] 图1示意性地图示了根据本发明控制的压缩空气系统。
[0051] 图2a和2b示意性地图示了压缩机的状态机表示。
[0052] 图3a和3b示意性地图示了在该方法的实施例中采用的时间切换来表示状态转换。
[0053] 图4a和4b图示了根据本发明的方法的实施例的流程图
[0054] 图5a‑5h图示了根据本发明的方法的实施例的执行结果。

具体实施方式

[0055] 将根据具体实施例来描述本公开,具体实施例是对本公开的说明并且不应被解释为限制性的。应该认识到的是,本公开不限于已经特别地示出和/或描述的内容,并且可以根据本公开的整体教导来开发替代或修改的实施例。所描述的附图仅是示意性的并且是非限制性的。
[0056] 贯穿本说明书对“一个实施例”或“实施例”的引用意味着结合实施例描述的特定特征、结构或特性被包括在本公开的一个或多个实施例中。因此,贯穿本说明书在各个地方出现的短语“在一个实施例中”或“在实施例中”不一定都指代相同的实施例,但它可以是相同的实施例。此外,在一个或多个实施例中,如对本领域普通技术人员从本公开中将显而易见的,可以以任何合适的方式组合特定特征、结构或特性。
[0057] 图1图示了压缩空气或气体系统100,其包括被配置为向客户端网络105提供压缩空气或气体的三个压缩机101、101'和101”。压缩空气或气体系统100还包括用于存储压缩空气或气体的容器或罐103以及连接到客户端网络105的阀门104。在客户端的网络105处存在一个或多个消费者。还应当理解的是,压缩空气或气体系统100还可以包括其它设备,诸如干燥器、过滤器、调节器和/或润滑器,但是在本文的后续部分中,本发明将参考图1作为压缩空气或气体系统100的设置进行说明。在图1中,实线指示流体连接,而虚线指示数据连接。
[0058] 压缩机101、101'、101”各自可由相应的控制器102、102'、102”在本地控制。此外,为了高效地控制压缩空气或气体系统100,将以协调的方式控制控制器102、102'、102”。换句话说,避免了控制器102、102'、102”各自单独地控制它们相应的压缩机101、101'、101”。但是,控制器102、102'、102”由主控制器106指示,使得压缩空气或气体系统100的整体性能和效率增加。
[0059] 控制器106可以位于控制器102、102'、102”附近,但也可以位于与压缩空气或气体系统100相比较远的地方。替代地,控制器102、102'、102”之一可以被配置为充当用于控制所有压缩机100、100'、100”的主控制器。
[0060] 通过控制器106,解决了压缩空气或气体系统100的运行、切换和闲置成本,从而减少了不同设备的组件的磨损,同时优化了其能耗。为此,控制器106利用根据本发明的方法的实施例。控制器106接收描述压缩空气系统的一个或多个部分的技术或功能性质的表征数据110。这种表征数据可以从数据库、模型、对压缩空气系统105的一个或多个部分进行的测量或任何其它合适的手段获得。此外,控制器106还接收至少描述客户端网络的未来预测气流和/或压力需求的预测数据120。同样,这种预测数据可以从数据库、模型、对压缩空气系统100或客户端网络105或任何其它合适装置的一个或多个部分进行的测量获得。基于表征数据110、预测数据120和本发明的方法,控制器106将配置数据130发送到控制器102、102'、102”以协调压缩机101、101'、101”的控制。
[0061] 图2a和2b示意性地图示了压缩机的状态机表示200、200”。图2a的状态机200包括三种可能的状态:装载状态201、空载状态202和停止状态203。每个状态至少包含两个参数:压缩机在特定状态下需要花费的最短时间,由 和 分别指示装载、空载和
停止状态,以及压缩机能够返回到特定状态之前需要保持在不同状态的最短时间,由和 分别指示装载、空载和停止状态。停止状态包括附加参数
其表示压缩机能够在停止状态下的最长时间。技术人员应该理解,在特定实施例中,装载和空载状态也可以被限制到最长持续时间或者所述状态可以包括附加参数。另外,技术人员应该理解,特定参数值可以从一个压缩机到另一个压缩机改变,并且可以尤其取决于压缩机的类型或操作条件。
[0062] 图2a还指示到相邻状态的状态转换:从空载状态202到装载状态201的转换204、从装载状态201到空载状态202的转换205、从空载状态202到停止状态203的转换206和从停止状态203到空载状态202的转换207。每个转换至少包括表示完成转换所需时间的参数,由和 分别指示转换204、205、206和207。不同状态转换之间完成转换所需的时间可能不同。另外,技术人员应该理解,特定参数值可以从一个压缩机到另一个压缩机改变,并且可以尤其取决于压缩机的类型或操作条件。
[0063] 图2b的状态机200”仅包括两种可能的状态:装载状态201和停止状态203。因此,图2b的状态机200”仅具有两种可能的状态转换:从装载状态到停止状态的转换208和从停止状态到装载状态的转换209。状态机200也可以能够进行转换208和209,但是这些没有在图
2a上指示以免使图混乱。
[0064] 当与图2a的状态机表示200相比时,图2b的状态机200”由于状态和转换的数量减少而提供了较低的计算复杂度。当可用计算能力不足以使用状态机表示200来实时确定压缩机的最优操作序列时,状态机200”对压缩机的表示可能是有利的。例如,当需要同时控制大量压缩机时或者当压缩空气系统的气流需求强烈且不可预测地变化时,可能会出现这种情况。状态机200”的自由度数量减少的代价是它允许对压缩机进行不太细粒度的控制。此外,对于一些压缩机来说,可能无法立即从停止状态转换到装载状态。
[0065] 本发明的方法的实施例可以采用两个状态机中的任一个来表示压缩机集合中的压缩机。另外,该方法可以同时采用两种表示,通过具有三种状态的状态机来表示该集合中的一些压缩机,同时通过仅具有两种状态的状态机来表示该集合中的其它压缩机。而且,在该方法的执行期间,该方法可以在两个状态机表示之间动态地切换以表示一个或多个压缩机,从而动态地更改该方法的执行速度和控制准确度之间的平衡。
[0066] 最后,技术人员应该理解,本发明的方法不限于仅通过包括两种或三种状态的状态机来表示压缩机;可以向状态机添加更多的状态——每种状态表示压缩机的不同操作方案。通过扩展,上面的描述对于包括多于三种状态的状态机表示同样有效。
[0067] 图3a和图3b示意性地图示了两种类型的时间切换,可以通过该方法的实施例采用这两种类型的时间切换来将一个或多个压缩机的状态转换表示为时间的函数。这两种类型的时间切换都依赖于时间斜坡,其可以用sigmoid函数表示:
[0068]
[0069] 其中t表示时间。斜坡R在切换时间ts前后将值从0改变为1并且花费时间tramp来执行此切换。因此,斜坡R可以用来表示在ts前后发生并花费时间tramp的非瞬时状态转换。参数c是校正因子c,其取决于所使用的sigmoid函数。例如,对于逻辑函数,该校正因子等于5。该方法的实施例可以采用各种阶跃函数来表示状态转换,诸如例如分段斜坡。表示状态转换的函数的唯一要求是函数关于t的一阶导数(i)存在,(ii)是有边界的,以及(iii)对于范围中的至少一个离散时间点始终非零,与ts的值无关。
[0070] 图3a示意性地图示了压缩机的状态机表示200,其具有分别由附图标记201、202和203表示的三种状态:装载状态、空载状态和停止状态。在时间范围的开始,压缩机处于装载状态201,在数学上由状态201的值等于1来指示。由于根据定义,状态机的不同状态是互斥的,因此压缩机不能处于空载或停止状态。这是在数学上通过要求机器所有状态的值的总和必须等于1来施加的。
[0071] 在图3a中,在压缩机上施加包括从装载状态201到空载状态202的状态转换的操作序列。因此,引入时间切换224,其在第一切换时间220前后将装载状态从值1带到值0并且将空载状态从值0带到1。同样在切换时段期间,所有状态的值之和保持等于1。在启动时间切换224之前,状态机200的状态是已知的;因此,从初始时间到启动时间切换224的时间段是机器200的状态确定性时段222。由于状态机在与时间切换224相邻处为已知状态,因此在本公开的其余部分中具有相同性质的时间切换将被称为“相邻切换”。相邻切换只能在与状态确定性时段相邻处(即,在机器状态已知的时段之后)被施加在状态机上。注意的是,相邻切换的概念也可以在时间上向后使用,并且可以在状态确定性时段之前施加相邻切换。当已知时段结束时机器的最终状态而不是机器的初始状态时,这可能是有用的。
[0072] 在完成时间切换224之后,机器200必须保持在空载状态202达最短时间量210。因此,在启动时间切换224之后,机器至少在最短时间量210内处于状态确定性时段222。一旦该时段过去,机器200就处于状态不确定性时段223(在此期间,机器的状态变量可以具有任何值,只要它们的值之和等于一)并且可以可选地但不一定经历另一种状态转换,例如在第二切换时间221前后的转换。
[0073] 从数学上讲,在状态机上施加相邻时间切换会使得在约束函数g(x,y)中添加以下方程组:
[0074]
[0075]
[0076]
[0077] 其中sk∈Sm表示机器m的所有状态的集合,m∈M表示所有机器的集合,ti∈T表示所有时间实例的集合,ns是Sm的大小, 是机器m在时间实例ti上的状态sk的值并且tswitch,m,j是机器m将切换到状态sj的时间。上述方程中未知的是切换时间,其将被添加到变量向量x并由求解算法确定。对于每台机器上施加的每个相邻切换,上述方程将被添加到g(x,y)。
[0078] 图3b示意性地图示了压缩机的状态机表示200″,其具有分别由附图标记201和203表示的两种状态:装载状态和停止状态。在时间范围的开始,压缩机的状态未知。在切换时间220,引入时间切换225,其使得机器转换到装载状态201中。由于机器必须强制性地保持在装载状态达最短时间段210,所以在该时段内机器的状态是已知的。因此,时间切换225的引入导致状态确定性时段222,在该时段期间机器200″的状态是已知的并且其状态变量的值是固定的。时段222的长度等于机器需要保持在特定状态的最短时段。但是,在最短时段期满之后或在时间切换225启动之前,机器200″处于状态不确定性时段223。由于时间切换225的引入独立于对机器200″的状态的了解,并且因此可以发生在时间范围内的任何时间,因此在本公开的其余部分中具有该相同性质的时间切换将被称为“自由浮动切换”。
[0079] 从数学上讲,在状态机上施加自由浮动时间切换会使得在约束函数g(x,y)中添加以下方程组:
[0080]
[0081]
[0082] 与相邻切换一样,上述方程中未知的是切换时间,其将被添加到变量向量x并由求解算法确定。与相邻切换一样,对于每台机器上施加的每个自由浮动切换,上述方程将被添加到g(x,y)。
[0083] 该方法的实施例可以实现相邻的或自由浮动的切换并且可以将两者组合。两种类型的切换都可以被进一步扩展以包括斜坡周围的容差,使得状态变量可以在切换完成之后达到整数值。如果其它约束阻止状态变量的整数值之间的转换,那么这是有用的。
[0084] 图4a示出了根据本发明的方法的实施例的流程图。在该方法的迭代执行之前,发生初始化步骤300。在此初始化步骤期间,将创建队列和容器。此时队列和容器都是空的。
[0085] 在迭代方法中的第一步骤是数据收集步骤301。在该数据收集步骤期间,收集一个或多个压缩机的表征数据和压缩空气系统的预测数据两者。
[0086] 在步骤302中,更新队列。在该方法的第一次迭代中,该更新涉及创建第一连续可微方程组(f(x,y),g(x,y))以及受限于边界条件lb≤g(x,y)≤ub的f(x,y)的最小化的相关联问题。该方程组和相关联问题作为一个项目被添加到队列中。从该方法的第二次迭代以及进一步迭代开始,更新步骤302可以用于不同的目的,如将在该实施例的公开内容中进一步解释的。
[0087] 由于本发明的方法旨在实时控制一个或多个压缩机的集合,因此该方法仅具有有限的时间量来执行。该时间量可以是恒定的并且基于系统的已知特性,或者它可以是可变的。例如,该方法可以基于在每次迭代中接收到的预测数据来计算执行的最长时间量。定时器303跟踪在执行该方法的计算部分期间所经过的时间;如果计算时间超过预定的最长时间,那么定时器303中断计算并使方法进行到下一个迭代步骤。
[0088] 在该方法的执行期间,可以在队列中添加或移除(与连续可微方程组(每个方程组表示压缩机的唯一操作序列),以及它们相关联的最小化问题对应的)项目。在步骤304中,该方法检查队列是否仍然包含项目。如果队列变空,那么步骤304使得该方法在迭代的最长时间量过去之前进行到下一个迭代步骤。
[0089] 在步骤305中,该方法尝试使用分支和定界算法来求解队列中的一个或多个项目;图4b中更详细地说明了该算法。分支&定界算法将完全求解的项目添加到容器,此外,该算法可以将部分求解的项目添加到队列中和/或可以从队列中移除项目。
[0090] 一旦该方法打断了计算循环,或者因为单次迭代的最长时段已经到期或者因为队列已经变空,那么该方法在步骤306中检查容器是否包括完全求解的解。如果是,那么在步骤308中,从容器中选择最佳解——意味着目标函数f(x,y)的成本最低的解。
[0091] 替代地,在容器为空的情况下,步骤307从队列中选择最佳(部分求解的)解并从该最佳解导出配置数据。由于在这种情况下,最佳解不覆盖预测数据可用的预测时段的整个范围,所以对于所选择的操作序列是否将能够满足预测的压力和/或气流需求仍然存在不确定性。该问题可以在步骤307的后处理步骤中求解。在这样的后处理步骤中,可以应用多个标准来识别不能够满足预测的压力和/或气流需求的不完整的操作序列的险。例如,可以检查该集合中的所有压缩机是否能够在该项目没有完全求解的预测时段的其余时间期间装载。如果所选择的最佳解满足后处理标准,那么它可以被维持。否则,它可能被拒绝,并且可能从队列中挑选不同的解作为最佳解。
[0092] 随后,从该最佳解导出配置数据,并且在步骤309中,基于配置数据来配置系统的压缩机。这完成了该方法的单次迭代。
[0093] 当开始该方法的第二次迭代时,第一步骤再次是数据收集步骤301。但是,此时队列和容器不一定是空的。如果容器包含项目,那么将这些项目添加到队列中并清空容器。随后,队列中的项目会及时移位。如果队列中的项目不符合压缩机的更新状态,那么从队列中移除这些项目。最后,队列中的项目将使用新的预测数据进行更新。
[0094] 图4b示出了分支&定界算法305的实施例的流程图。分支&定界算法的输入是保持未求解或部分求解的问题(也称为项目)的队列,其中每个问题与压缩机的唯一操作序列对应。分支&定界算法的输出是更新后的队列和容器。分支&定界算法依赖于三个单独的算法:从队列中选择项目的选择算法、对项目进行分支的分支算法以及求解项目的求解算法。
[0095] 在步骤400中,选择算法从队列中选择项目。该算法可以利用多个标准之一来确定它将挑选哪个项目。此类标准的示例是:
[0096] ·最佳优先:算法始终挑选目标函数f(x,y)值最低的项目。实现这种方法是简单的,并且可以在最短的计算时间量内实现最优的解,而无需使用启发式方法。但是,与其它标准相比,获得在整个预测时段内可行且完全求解的第一个解可能花费更长的时间。
[0097] ·交替最佳优先:这是一种建立在最佳优先算法上的算法。它不会探索整个树的最佳优先算法,而是对树进行分区并在树的每个分区上交替应用最佳优先算法。对于具有非常长的运行分支的树,这提供了良好的替代方案来在比“最佳优先”方法更短的时间内实现良好的解。
[0098] ·宽度优先:算法挑选作为队列中第一个的项目。
[0099] ·深度优先:算法挑选在最长时间范围内已经求解的部分求解的项目。在达到可行且完全求解的解之后,该方法可以使用不同的方法进一步探索队列的其余部分。
[0100] ·加权深度和成本:算法在使用“深度优先”方法优化计算速度和使用“最佳优先”方法最小化成本函数之间取得平衡。通常,这种方法会产生比“深度优先”方法更快但次优的解,并且产生比“深度优先”方法更慢但更优的解。
[0101] ·启发式:启发式的定义是尝试估计算法应该朝哪个方向前进。该启发式可以基于应用。
[0102] 在该方法的不同迭代之间该算法可以在上述标准中的一个或多个标准之间切换。在该方法的一次迭代期间该算法可以在上述标准中的一个或多个标准之间切换或对其进行组合。
[0103] 在步骤401中,分支算法从在步骤402中从队列中选择的项目创建分支。因此,创建的分支是最初所选择的项目(即“父项”)的“子项”。在这种上下文中,生成分支需要将单个状态转换添加到父项的操作序列中,从而生成新的唯一操作序列和新的相关联的数学问题。从数学上讲,分支的生成包括将表示时间切换的方程组添加到父项的约束函数g(x,y)。这些方程已在图3a和3b的上下文中进行了讨论。
[0104] 可以添加到现有操作序列的状态转换受到底层状态机表示的限制。可以从单个父项生成多个分支。但是,分支算法不一定生成所有可能的分支。例如,分支算法可能仅从时间上求解最少的压缩机(即在预测时段内仍然具有最大状态不确定性区域的机器)分支。替代地,分支算法可能仅从负责最高能耗的机器分支。分支算法可以在单次迭代内组合不同的分支创建策略,或者可以在方法的迭代之间切换分支创建策略。所采用的分支创建策略可以专门适于底层应用。
[0105] 在图3a和3b的上下文中,引入了两种类型的时间切换:相邻切换和自由浮动切换。分支创建算法决定引入哪种类型的切换来施加状态转换。在模型预测控制的上下文中,相邻切换是首选。由于初始状态已知,因此使用相邻切换,使用时间向前方法的解,这使得该方法能够在计算阶段的早期,在时间范围的初始部分达到可行解。因此,在未求解的时间范围内能够保证部分求解的问题的可行性的条件下,在达到完整的解之前可以中断分支过程。在压缩机控制中,这可以通过所有压缩机应该能够在未求解的时间范围内装载的后处理来完成。
[0106] 作为对照,自由浮动切换的计算成本更高,因为它们创建更多分支。但是,在一些特殊情况下,它们的使用可以带来更快的解。其中一种情况是非约束状态变量在某个时间点已经接近整数值时。使用自由浮动切换的另一个缺点是其实现的复杂性;需要专门的算法来计算两个不同状态之间可能的切换路线,以确保不会生成不可行的子解。
[0107] 在生成分支之后,求解算法将尝试求解所有分支。步骤402检查是否所有分支都已被求解。如果是这种情况,那么分支&定界算法结束并且该方法返回到图4a的时间检查步骤303。如果所有生成的分支都没有被求解,那么该方法进行到步骤403的求解算法。
[0108] 在步骤403中,求解算法尝试求解与唯一操作序列相关联的特定问题。从数学上讲,问题是受限于约束lb≤g(x,y)≤ub的目标函数f(x,y)的最小化,其中在这些方程中,X和 分别是 和 的多面体子
集和有界多面体子集,并且目标函数f: 和约束函数g: 被假定为
凸且两次连续可微。通过为施加在每台机器上的每个转换添加时间切换方程组,与特定问题相关联的唯一操作序列反映在约束函数中。要求解的问题是所谓的混合整数非线性问题(MINLP),其可以使用现有的求解器(诸如例如,BARON、BONMIN、KNITRO或NAG)来求解。
[0109] 通常,在求解算法的第一子步骤中,将通过对松弛变量 和 周围的目标函数和约束函数进行线性化来执行MINLP的线性关系,其中 因此,松弛状态变量 不再限制为整数。如果松弛问题是可行的(意味着可以满足约束)那么松弛状态变量 通过向上或向下舍入被限制为整数状态变量y。这种限制仅在约束区域(即问题被求解并且机器状态应该为固定的时间段)内进行。在机器可以处于任何状态 的非约束区域中。随后,使用 (在约束区域中)和 (在非约束区域中)作为起始值来求解原始问题以获得x,并因此获得所施加的操作序列中状态转换的切换时间。
[0110] 在步骤404中,算法检查问题是否也是整数可行的——这意味着当状态变量限制为整数值时可以满足约束。另外,步骤404还检查分支的目标函数的成本是否低于在其它完全求解的分支中的另一个分支中已经达到的最低目标成本。如果两个条件都不满足,那么在步骤405中丢弃该特定分支。如果是这种情况,那么该方法在步骤406中检查该分支是否被完全求解——即机器的状态是否在预测数据可用的预测时段的整个时间范围内受到约束。如果分支被完全求解,那么在步骤407中将相关联的操作序列和目标成本存储在容器中。如果分支没有完全求解,那么在步骤408中将该分支添加到队列中。在分支&定界算法的下一次迭代中,该分支然后可能被挑选为从其进行分支的父项。
[0111] 图5a‑5i图示了根据本发明的方法的实施例的执行结果。在图5a‑5h的实施例中,压缩机集合包括三个机器,命名为U1、U2和U3并且分别由状态机200、200'和200”表示。假定机器200和200'具有3种可访问状态:装载状态201、空载状态202和停止状态203。假定机器200”仅具有两种可访问状态:装载状态201和停止状态203。连接到三个压缩机的压缩空气网络的预测数据可用于预测时段126。预测数据包括对未来气流需求121的预测以及对未来最小压力需求123和最大压力需求124的预测。注意的是,为了提高该图的可读性,并非所有附图标记都已添加到该图的每个子图中。
[0112] 图5a示出了初始地,机器200和200”处于装载状态201,并且机器200'处于停止状态203。机器200'必须强制保持在停止状态至少一次迭代。例如,这可能会因为机器先前处于停止状态并且其处于停止状态的最短时间量尚未到期而发生。但是,机器200和200”可以从时间范围的开始改变状态。十字符号指示已经通过分支%定界算法针对计算的气流122、计算的压力125和状态变量计算出的值。在状态确定性时段222中,机器的状态是已知的并且计算出的状态变量是约束状态变量131。作为对照,在状态不确定性时段223中,机器的状态是未知的并且计算出的状态变量是非约束状态变量132。
[0113] 图5a的解包括不确定性时段223并且因此仅部分地被求解。分支算法假定可以通过在机器200”上添加状态转换来实现最大增益,并且从图5a的现有部分解创建图5b和5c中表示的两个分支,并且将这些分支添加到队列中。在创建图5b和5c中表示的分支之后,图5a中表示的父项被丢弃。
[0114] 在图5b的分支中,对机器200”施加从装载状态到停止状态的转换208。由于机器200”已停止,因此它需要保持在停止状态最短时间量210。求解算法确定,由于不存在停止状态,因此机器200需要在整个时间范围内被约束在装载状态。此外,求解算法确定(即使机器200'将从停止状态转变到装载状态)压缩机集合在时段127期间也不能满足最小压力需求123。因此图7b的分支是不可行的并且从队列中移除。
[0115] 作为对照,在图5c的分支中,机器200”维持在装载状态201。求解算法确定,在这些条件下,机器200'保持约束在停止状态直到大约300秒的时间是最优的,而机器200”保持约束在装载状态直到大约600秒的时间是最优的。在这种操作序列下,压缩机可以满足预测的未来气流和压力需求。因此,该分支是可行的。由于分支的时间范围包含状态不确定性区域223,因此分支没有被完全求解并且维持在队列中。因为机器200的状态在时间范围的任何部分上都没有受到约束,所以机器200是最少被求解的。因此,分支算法假定可以通过在机器200上添加状态转换来实现最大增益,并且从图5c的现有部分解创建图5d和5e中表示的两个分支,并且将这些分支添加到队列中。在创建图5d和5e中表示的分支之后,图5c中表示的父项被丢弃。
[0116] 在图5d的分支中,机器200初始地被约束在装载状态,而在图5e的分支中,到空载状态的状态转换205被施加在机器200上。在求解之后,两个分支都显示为部分求解且可行,并维持在队列中。由于图5e的操作序列的目标函数的成本比图5d的操作序列的目标函数的成本低(图中未示出),因此图5d的分支被丢弃,并且分支算法决定从图5e的序列进行分支。由于机器200仍然是三个机器中求解最少的,因此分支算法决定通过在机器200上施加附加状态转换来进行分支,使得创建两个新分支,这两个新分支被添加到队列中并在图5f和5g中表示。在创建图5f和5g中表示的分支之后,图5e中表示的父项被丢弃。
[0117] 在图5f的分支中,该附加状态转换是从空载状态到装载状态的转换204,而在图5g的分支中,该附加状态转换是从空载状态到停止状态的转换206。两个分支都是可行的。图5g的操作序列的目标函数的成本比图5f的操作序列的目标函数的成本低(图中未示出)。因此,图5f的分支被丢弃,而图5g的分支被添加到队列中。
[0118] 此时,可能会发生该方法单次迭代的最长计算时间已经过去的情况。没有一个分支被完全求解。因此,该方法将从队列中选择目标成本最低的项目,这是图5g的操作序列。该序列将应用于压缩机。
[0119] 随后,在下一次迭代开始时,队列中的所有项目都需要时间移位,使得它们的时间范围的开始与预测数据的新时间范围的开始一致。图5h示出了图5g的已经时间移位的序列。现在,机器200和200'初始地处于停止状态,并且机器200”初始地处于装载状态。如果此时队列中有任何其它序列,那么这些序列也会时间移位。但是,如果这些其它序列由于它们的新初始状态与压缩机的新初始状态不匹配而变得不可行,那么它们也被丢弃。当前应用于压缩机的图5h的序列是队列中唯一剩余的项目。分支&定界算法将从该项目创建分支并且将尝试求解它们。
[0120] 参考符号
[0121] 100 压缩空气系统
[0122] 101 压缩机
[0123] 102 控制器
[0124] 103 容器
[0125] 104 阀门
[0126] 105 客户端网络
[0127] 106 主控制器
[0128] 110 表征数据
[0129] 120 预测数据
[0130] 121 预测气流需求
[0131] 122 计算的气流
[0132] 123 预测的最小压力需求
[0133] 124 预测的最大压力需求
[0134] 125 计算的压力
[0135] 126 预测时段
[0136] 127 时间段
[0137] 130 配置数据
[0138] 131 约束状态
[0139] 132 非约束状态
[0140] 200 状态机
[0141] 201 装载状态
[0142] 202 空载状态
[0143] 203 停止状态
[0144] 204 从空载状态转换到装载状态
[0145] 205 从装载状态转换到装载状态
[0146] 206 从空载状态转换到停止状态
[0147] 207 从空载状态转换到装载状态
[0148] 208 从装载状态转换到停止状态
[0149] 209 从停止状态转换到装载状态
[0150] 210 在某个状态消耗的最短时间
[0151] 220 切换时间
[0152] 221 下一次切换时间
[0153] 222 约束区域
[0154] 223 非约束区域
[0155] 224 相邻切换
[0156] 225 自由浮动切换
[0157] 300 方法初始化步骤
[0158] 301 数据收集步骤
[0159] 302 队列更新步骤
[0160] 303 时间检查步骤
[0161] 304 队列检查步骤
[0162] 305 分支&定界算法
[0163] 306 容器检查步骤
[0164] 307 从队列步骤中选择解
[0165] 308 从容器步骤中选择解
[0166] 309 压缩机步骤的配置
[0167] 400 项目选择算法
[0168] 401 分支算法
[0169] 402 分支检查步骤
[0170] 403 MINLP求解器步骤
[0171] 404 可行性检查步骤
[0172] 405 分支丢弃步骤
[0173] 406 解检查步骤
[0174] 407 添加到容器步骤
[0175] 408 添加到队列步骤