指定的约束
输入和输出约束
属性创建控制器对象时,默认情况下货币政策委员会
命令时,不存在约束。若要包含约束,请设置适当的控制器属性。下表总结了用于定义大多数MPC约束的控制器属性。(MV =植物操纵变量;OV =植物产量变量;MV增量=u(k) - - -u(k- 1)。
约束 | 控制器的财产 | 约束软化 |
---|---|---|
上的下界我th MV | MV (i)。Min > -Inf |
MV (i)。MinECR > 0 |
上限值我th MV | MV (i)。Max < Inf |
MV (i)。MaxECR > 0 |
上的下界我th机汇 | 机汇(我)。Min > -Inf |
机汇(我)。MinECR > 0 |
上限值我th机汇 | 机汇(我)。Max < Inf |
机汇(我)。MaxECR > 0 |
上的下界我第MV增量 | MV (i)。RateMin > -Inf |
MV (i)。RateMinECR > 0 |
上限值我第MV增量 | MV (i)。RateMax < Inf |
MV (i)。RateMaxECR > 0 |
控件设置控制器约束属性MPC设计师应用程序,在调优选项卡上,单击约束.在“约束”对话框中,指定约束值。
看到约束对于描述相应约束条件的方程。
提示
对于MV边界:
将已知的植物MV物理极限作为硬MV界限。
当对变化率有一个已知的物理限制时,或者您的应用程序由于其他原因要求您防止大的增量时,请包括MV增量边界。
不要在同一个MV上同时包含硬MV边界和硬MV增量边界,因为它们可能会冲突。如果这两种类型的边界都很重要,则软化其中一种。
对于OV边界:
不要包含OV边界,除非它们对您的应用程序至关重要。作为设置OV边界的替代方法,您可以定义一个OV引用并设置其代价函数权值,以使OV接近其设定值。
所有OV约束都应该被软化。
考虑让OV不受某些预测水平步骤的约束。看到使用MPC设计器设置时变权重和约束.
考虑一个时变的OV约束,在视界的早期很容易满足,逐渐减少到更严格的约束。看到使用MPC设计器设置时变权重和约束.
不要包含不可能满足的OV约束。即使是软约束,这种约束也会导致意外的控制器行为。例如,考虑一个具有五个采样周期延迟的SISO设备。在第六个预测水平步之前的OV约束通常是不可能满足的。您可以使用
审查
命令来检查这种不可能的约束,并使用时变的OV约束来代替。看到使用MPC设计器设置时变权重和约束.
约束软化
硬约束是二次规划(QP)解必须满足的约束。如果在给定的控制区间内满足硬约束在数学上是不可能的,k, QP是不可行.在这种情况下,控制器返回一个错误状态,并将操纵变量(mv)设置为u(k) =u(k-1),即无变化。如果导致“不可行性”的情况没有得到解决,“不可行性”可能会无限期地持续下去,导致失控。
在实际应用中,不可避免地会出现干扰和预测误差。因此,即使控制器做出了相反的预测,约束违反也可能发生在工厂中。一个可行的QP解决方案并不能保证当最优MV在工厂中使用时,所有的硬约束都得到满足。
如果应用程序中唯一的约束是MV的边界,那么MV边界可以是硬约束,因为默认情况下它们是硬约束。MV边界本身不能导致不可行性。当唯一的约束是MV增量时也是如此。
然而,硬MV约束加上硬MV增量约束会导致不可行。例如,手动控制下的扰动或操作可能导致装置中使用的实际MV在间隔期间超过指定的范围k1。如果控制器在间隔时间内处于自动状态k,它必须将MV返回到硬界内的值。如果MV超出界限太多,硬增量约束可以使修正下一个区间的界限违反成为不可能。
如果工厂受到干扰,并且存在硬输出约束或硬混合输入-输出约束,那么QP不可行的可能性是明显的。
所有模型预测控制工具箱™约束(松弛变量非负性除外)都可以软.当一个约束是软的,控制器可以认为一个MV最优,即使它预测违反该约束。如果所有的工厂输出、MV增量和自定义约束都是软的(因为它们是默认的),QP不可行就不会发生。然而,控制器的性能可能不达标。
要软化约束,将相应的放松同等关注(ECR)值设置为正值(零表示硬约束)。ECR值越大,控制器越有可能认为违反约束以满足其他性能目标是最优的。模型预测控制工具箱软件提供了默认的ECR值,但是对于成本函数权重,您可能需要调整ECR值以实现可接受的性能。
为了理解约束软化是如何工作的,假设成本函数使用 ,使MV和MV在代价函数中的权重都为零。只有输出引用跟踪和约束违反项非零。在这种情况下,代价函数为:
假设你也指定了硬MV边界 而且 .然后这些约束条件简化为:
因此,松弛变量,εk,不再出现在上式中。还指定了对工厂输出的软约束 而且 .
现在,假设一个扰动使一个植物的输出超过了它指定的上界,但是具有硬输出约束的QP是可行的,即在QP解决方案中可以避免所有违反约束的情况。QP涉及输出引用跟踪和约束违反之间的权衡。松弛变量,εk,必须是非负的。它在代价函数中的出现不鼓励,但不阻止最优εk> 0。一个更大的ρε然而,体重增加了最佳的可能性εk会很小或为零。
如果最优εk> 0,至少有一个绑定不等式必须是活动的(在等于)。一个相对较大的 使它更容易满足约束与一个小εk.这样的话,
可以更大,而不超过
请注意, 不设置约束违反的上限。相反,它是一个调整因素,决定软约束是否容易或难以满足。
提示
使用无量纲变量简化了约束调优。为每个工厂的输入和输出变量定义适当的比例因子。看到指定比例因子.
要指示可容忍的违规的相对大小,请使用与每个约束关联的ECR参数。大致的指导方针如下:
0 -不允许违反(硬约束)
0.05 -允许非常小的违规(几乎很难)
0.2 -允许小违规(相当难)
1 -平均柔软度
5 -允许高于平均水平的违规(相当温和)
20 -允许大违规(非常软)
使用控制器的整体约束软化参数(控制器对象属性:
权重。ECR
)来惩罚相对于其他代价函数项的可容忍软约束违反。设置权重。ECR
使相应的代价比其他三个代价函数项的典型和大1-2个数量级的属性。如果在模拟测试期间约束违反似乎太大,请尝试增加权重。ECR
2-5倍。但是要注意,一个过大的
权重。ECR
扭曲MV优化,导致约束违反时不适当的MV调整。要检查这一点,请在模拟期间显示成本函数值。如果在约束违反发生时,其数量级增加超过2个数量级,则考虑减少权重。ECR
.在实际系统中,扰动和预测错误会导致意外的约束违反。试图通过增加约束难度来防止这些违反通常会降低控制器的性能。