主要内容

指定约束

输入和输出约束

默认情况下,当您使用该对象创建控制器对象时MPC命令,不存在约束。要包含约束,请设置相应的控制器属性。下表总结了用于定义大多数MPC约束的控制器属性。(MV =工厂操纵变量; OV =植物输出变量; MV递增=K.) -K.- 1)。

约束 控制器属性 约束软化
下界th MV(I).Min> -Inf MV(I).MinECR> 0
上限th MV(I)。最大 MV(i).maxecr> 0
下界日OV OV(ⅰ).Min> -Inf OV(ⅰ).MinECR> 0
上限日OV ov(i).max OV(ⅰ).MaxECR> 0
下界个MV增量 MV(I).RateMin> -Inf MV(I).RateMinECR> 0
上限个MV增量 mv(i).ratemax MV(I).RateMaxECR> 0

使用该设置控制器约束属性MPC设计师应用程序,在调整选项卡,单击约束。在约束对话框中指定的约束值。

约束对于描述相应约束的等式。

提示

对于mv边界:

  • 包括对植物的MV硬MV界已知的物理极限。

  • 包括MV增量界限时,有对变化率的已知的物理限制,或者您的应用程序需要你以防止大的增量某些其他原因。

  • 不包括在同一MV硬MV界和硬MV增量界限,因为它们可能会发生冲突。如果这两种类型的界限是很重要的,软化之一。

对于OV界限:

  • 不包括OV界限,除非他们是你的应用是必不可少的。作为一种替代设置的OV束缚,你可以定义一个OV参考,并设定其成本函数的重量保持OV接近其设定值。

  • 所有OV约束应该软化。

  • 考虑将OV因某些预测的地平线延伸而定。看时间变化的权重和约束

  • 考虑一个时变的OV约束,易于满足地平线的早期,逐渐逐渐减少到更严格的约束。看时间变化的权重和约束

  • 不包括OV限制,这是不可能满足的。即使软,此类约束也会导致意外的控制器行为。例如,考虑一个具有五个采样期的SISO工厂。在第六预测地平线步骤之前的OV约束通常是不可能满足的。你可以使用审查命令检查此类不可能的约束,并使用时间变化的OV绑定。看时间变化的权重和约束

约束软化

hard约束是约束,即二次编程(QP)解决方案必须满足。如果在数学上不可能满足给定的控制间隔的硬约束,K.,QP是不可行。在这种情况下,控制器返回错误状态,并将操纵变量(MVS)设置为K.)=K.-1),也就是没有任何变化。如果导致不可行的情况得不到解决,可不可行无限期地继续下去,导致失控。

在实践中,扰动和预测错误是不可避免的。因此,即使控制器预测,也可以在工厂中发生约束违规。可行的QP解决方案不保证在工厂使用最佳MV时将满足所有硬约束。

如果您的应用程序的唯一限制是对MV的边界,在边界MV可以硬约束,因为它们在默认情况下。MV界定本身并不能导致不可行。当唯一的限制是对MV的增量也是如此。

然而,硬MV用硬MV增量约束势必会导致不可行性。例如,手动控制下镦锻或操作可能导致实际MV在植物中使用超过期间间隔指定的约束K.-1。如果控制器处于自动间隔期间K.,它必须将MV返回到硬界内的值。如果MV超过过分界限,则硬增量约束可以在不可能的下一个间隔中纠正绑定的违规行为。

如果植物是受到干扰和有或者硬输出约束或硬混合输入输出的限制,那么QP不可行性是一个明显的可能性。

所有型号预测控制工具箱™约束(除了Slack变量非网络除外)可以是柔软。当约束柔软时,即使它预测该约束,控制器也可以认为MV最佳。如果所有工厂输出,MV增量和自定义约束都是软的(因为它们是默认值),则不会发生QP不可释放性。但是,控制器性能可以是不合标准的。

软化的约束,设置松弛(ECR)值为正值对应等于关注(零意味着硬约束)。较大的ECR值,越有可能控制器会认为它最佳的侵犯,以满足您的其他性能目标的约束。该模型预测控制工具箱软件提供的默认值ECR,但作为成本函数的权重,则可能需要调整ECR值,以达到可接受的性能。

要了解约束软化作品,假设您的成本函数使用 W. j = W. j δ. = 0. 在成本函数给两个MV和MV增量为零重量。只有输出参考跟踪和约束违反而言是非零。在这种情况下,成本函数为:

j Z. K. = σ. j = 1 N y σ. = 1 P. { W. j y S. j y [ R. j K. + | K. - y j K. + | K. ] } 2 + ρ ε. ε. K. 2

假设你还指定硬MV界与 V. j m N = 0. V. j m A. X. = 0. 。然后,这些约束简化为:

j m N S. j ≤. j K. + - 1 | K. S. j ≤. j m A. X. S. j = 1 P. j = 1 N

因此,松弛变量,ε.K.,不再出现在上述等式中。您还在工厂输出上指定了软限制 V. j m N y > 0. V. j m A. X. y > 0.

y j m N S. j y - ε. K. V. j m N y ≤. y j K. + | K. S. j y ≤. y j m A. X. S. j y + ε. K. V. j m A. X. y = 1 P. j = 1 N y

现在,假设干扰推动了上方的植物输出,但具有硬输出约束的QP是可行的,即,可以在QP解决方案中避免所有约束违规。QP涉及输出参考跟踪和约束违规之间的权衡。松弛变量,ε.K.,必须是非负面的。它在成本函数中的外观不鼓励,但不阻止,最佳ε.K.> 0。更大的ρε.然而,重量增加了最佳的可能性ε.K.将很小或零。

如果是最佳的ε.K.> 0,结合的不等式中的至少一个必须是活性的(在平等)。相对较大 V. j m A. X. y 更容易满足一个小的约束ε.K.。在那种情况下,

y j K. + | K. S. j y

可以更大,不超过

y j m A. X. S. j y + ε. K. V. j m A. X. y

注意 V. j m A. X. y 不设置约束违规的上限。相反,它是一个调谐因子确定一个软约束是否容易或难以满足。

提示

  • 使用无量纲变量简化了约束调整。为每个工厂输入和输出变量定义适当的比例因子。看指定比例因子

  • 以指示可容忍的违反的相对幅度,使用与每个约束关联的ECR参数。粗糙的指引如下:

    • 0 - 不允许违规(硬约束)

    • 0.05 - 允许非常小的违规行为(差不多)

    • 0.2 - 小违反允许的(很困难)

    • 1 - 平均柔软度

    • 5 - 允许大于平均平均违规(相当柔软)

    • 20 - 允许大规模的违规(非常柔软)

  • 使用控制器的总约束软化参数(控制器对象属性:Weights.ECR)惩罚相对于其他成本函数术语的可容忍的软限制违规。设定Weights.ECR性能,使得相应的惩罚是幅度大于其它三个成本函数项的典型总和的1-2个数量级。如果违反约束在模拟测试似乎过大,请尝试增加Weights.ECR一个倍数2-5。

    然而,请注意,这是一个过大的Weights.ECR扭曲MV优化,从而导致不恰当的MV调整时约束冲突发生。要检查此,显示在模拟期间的成本函数值。如果超过2个数量级的它的大小增加时限制冲突发生时,可以考虑减少Weights.ECR

  • 干扰和预测错误可能导致真实系统中的意外限制违规。试图通过制造限制更难地防止这些违规通常会降低控制器性能。

另请参阅

相关主题