我正在研究一个 MPC 问题,其中单个线性模型在预测范围内的每个时间步预测控制变量(见下文,其中 u 是操纵变量,y 是控制变量)。每次窗口移动时,预测范围内的每个线性模型的系数都会根据当前状态变量而变化。
y[i+1] = A[i]@u[i]+B[i]
y[i+2] = A[i+1]@u[i:i+2]+B[i+1]
...
y[i+n] = A[i+n-1]@u[i:i+n]+B[i+n-1]
A 和 B 是由当前状态的函数确定的矩阵列表。我基本上想在每个时间步的开始(优化之前)暂停控制器,并根据系统的反馈重新计算这些系数矩阵。是否可以使用 MPC 模式 (IMODE=6) 在 Gekko 中执行此操作,还是我需要管理 Gekko 之外的时间?