2

我需要在我的 MPC 计算中包含偏差校正项。这是每个时刻的模型预测和测量值之间的差异。如何在 GEKKO 中指定?

4

1 回答 1

1

GEKKO 有一个称为BIAS的调整参数,它应该可以满足您的需求。引用关于BIAS的GEKKO 文档

BIAS是结合了当前测量值和控制器初始条件之间差异的附加因子。FSTATUS确定有多少原始测量值用于更新MEAS的值。反馈状态为 0 表示不应该使用测量,并且BIAS值保持在初始值 0。反馈状态为 1 在更新MEAS时使用所有测量。介于 0 和 1 之间的反馈状态会使用来自 LSTVAL 和新测量的部分贡献来更新MEAS 。BIAS 的值是根据 MEAS 和无偏模型预测 ( Model_u ) 更新的。

BIAS = MEAS - Model_u

BIAS被添加到地平线上的每个点,控制器目标函数将偏置模型 (Model_b) 驱动到请求的设定点范围。

模型_b =模型_u + BIAS

通过直接设置选项 BIAS 选项并将FSTATUS设置为 0 (OFF),也可以将BIAS的值设置为外部值。

因此,如果您想自动将模型预测与测量值对齐,请将模型中每个 CV 的反馈状态设置为 1 ( model_name.variable_name.FSTATUS = 1)。

您还可以在每次进行新测量时自己计算偏差校正项,方法是从相应的新测量中减去适当时间步长的前一个 MPC 周期的预测值。

于 2019-04-16T18:55:27.057 回答