【DR_CAN-MPC学习笔记】2.最优化数学建模推导

简介: 【DR_CAN-MPC学习笔记】2.最优化数学建模推导


介绍了MPC的3个步骤:

Step1:估计/测量读取当前系统状态(可测量则测量,不可测量则估计)

Step2:基于 进行最优化

Step3:只取 (只选取 时刻作为预测结果,因为预测存在局限性)

以及代价函数、预测区间等相关概念。

这一篇开始推导MPC数学模型,公式比较多。

DR_CAN的视频:【MPC模型预测控制器】2_最优化数学建模推导

【MPC模型预测控制器】2


1.最优化的方法之一:二次规划 Quadratic Programming

一般形式:

(包含两部分:——二次型,——线性)

若 𝑄 为对角矩阵,即   ,则转为最小二乘问题

如想了解更多有关二次规划的问题,可以参考这篇博客:

二次规划问题和MATLAB函数quadprog的使用

2.最优化建模数学推导

2.1系统的状态空间表达式

一个离散系统的状态方程

其中 状态向量输入向量

在 k 时刻:

表示在k时刻预测 k 时刻的系统状态,

表示在k时刻预测 k+1 时刻的系统状态,

...

表示在k时刻预测 k+N 时刻的系统状态。

表示在k时刻预测 k 时刻的输入,

表示在k时刻预测 k+1 时刻的输入,

...

表示在k时刻预测 k+N 时刻的输入。

即前面的 k 表示预测对象,后面的 k 表示在 k 时刻的预测。

为简化分析,假设系统输出方程 ,参考值 ,则误差

2.2代价函数

依据上一篇博客给出的代价函数表达式

可得:

即:代价函数 = 误差加权和 + 输入加权和 + 终端误差

其中 为权重系数矩阵且均为对角矩阵,最优化的目标是最小化代价,即 .

的表达式中有两个变量(输入 和状态 ),相比于二次规划一般形式多了一个变量。由于控制目标为控制输入,因此要消去变量 .

2.3MPC数学模型推导

(个人理解:MPC目标为实现最优,也就是代价最小,数学形式即为代价函数的最小化,因此MPC公式推导主要是代价函数的推导和化简)

将状态变量用输入变量表示:

为初始条件

将上式整理后可得:

注意 为向量, 为初始状态。 中的0代表零矩阵,而非数值0。

将代价函数展开:

代入上式,消去变量 并化简:

因为 是一个 1×1 矩阵( 均为 n×1 矩阵, 均为 n×n 矩阵),因此实际上是一个数(至于为什么,可以参考线性代数中矩阵相乘相关内容),则 .

由于矩阵 互为转置且均为数值,则数值相等,即:

上式就是最终推导结果,符合二次规划的一般形式。其中 为线性部分, 为二次型部分, 表示初始状态,不影响最优化。

以上就是MPC数学模型推导过程,利用这个模型可以对系统进行最优化和模型预测控制设计。

(码了那么多公式,对 Latex 也越来越熟了...)

相关文章
|
1天前
|
机器学习/深度学习 自然语言处理 算法
m基于深度学习的OFDM+QPSK链路信道估计和均衡算法误码率matlab仿真,对比LS,MMSE及LMMSE传统算法
**摘要:** 升级版MATLAB仿真对比了深度学习与LS、MMSE、LMMSE的OFDM信道估计算法,新增自动样本生成、复杂度分析及抗频偏性能评估。深度学习在无线通信中,尤其在OFDM的信道估计问题上展现潜力,解决了传统方法的局限。程序涉及信道估计器设计,深度学习模型通过学习导频信息估计信道响应,适应频域变化。核心代码展示了信号处理流程,包括编码、调制、信道模拟、降噪、信道估计和解调。
23 8
|
1月前
|
5G
【DR_CAN-MPC学习笔记】1.最优化控制和MPC基本概念
【DR_CAN-MPC学习笔记】1.最优化控制和MPC基本概念
【DR_CAN-MPC学习笔记】1.最优化控制和MPC基本概念
|
1月前
|
机器学习/深度学习
【DR_CAN-MPC学习笔记】3&4.详细的MPC建模例子和matlab代码
【DR_CAN-MPC学习笔记】3&4.详细的MPC建模例子和matlab代码
|
机器学习/深度学习
【DR_CAN-MPC学习笔记】2.最优化数学建模推导
【DR_CAN-MPC学习笔记】2.最优化数学建模推导
|
10月前
|
数据采集 监控 算法
【状态估计】基于二进制粒子群优化 (BPSO) 求解最佳 PMU优化配置研究【IEEE30、39、57、118节点】(Matlab代码实现)
【状态估计】基于二进制粒子群优化 (BPSO) 求解最佳 PMU优化配置研究【IEEE30、39、57、118节点】(Matlab代码实现)
【状态估计】基于二进制粒子群优化 (BPSO) 求解最佳 PMU优化配置研究【IEEE30、39、57、118节点】(Matlab代码实现)
|
10月前
|
机器学习/深度学习 传感器 算法
基于微分 Vaiana Rosati 模型对 SDF 速率无关迟滞系统进行非线性时程分析的 Matlab 代码
基于微分 Vaiana Rosati 模型对 SDF 速率无关迟滞系统进行非线性时程分析的 Matlab 代码
|
算法 Java
数学建模常用算法:模拟退火算法求解tsp问题+att48算例测试【java实现--详细注释】
数学建模常用算法:模拟退火算法求解tsp问题+att48算例测试【java实现--详细注释】
114 0
|
11月前
|
机器学习/深度学习 传感器 算法
基于蜜獾算法求解单目标(HoneyBadgerAlgorithm,HBA)附matlab代码
基于蜜獾算法求解单目标(HoneyBadgerAlgorithm,HBA)附matlab代码
|
机器学习/深度学习 人工智能 编解码
用消息传递求解偏微分方程,ML大牛Max Welling等用全神经求解器做到了更强、更快
用消息传递求解偏微分方程,ML大牛Max Welling等用全神经求解器做到了更强、更快
用消息传递求解偏微分方程,ML大牛Max Welling等用全神经求解器做到了更强、更快