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

简介: 【DR_CAN-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 也越来越熟了...)


相关文章
|
8小时前
|
机器学习/深度学习 自然语言处理 算法
m基于深度学习的OFDM+QPSK链路信道估计和均衡算法误码率matlab仿真,对比LS,MMSE及LMMSE传统算法
**摘要:** 升级版MATLAB仿真对比了深度学习与LS、MMSE、LMMSE的OFDM信道估计算法,新增自动样本生成、复杂度分析及抗频偏性能评估。深度学习在无线通信中,尤其在OFDM的信道估计问题上展现潜力,解决了传统方法的局限。程序涉及信道估计器设计,深度学习模型通过学习导频信息估计信道响应,适应频域变化。核心代码展示了信号处理流程,包括编码、调制、信道模拟、降噪、信道估计和解调。
16 3
|
1月前
|
5G
【DR_CAN-MPC学习笔记】1.最优化控制和MPC基本概念
【DR_CAN-MPC学习笔记】1.最优化控制和MPC基本概念
【DR_CAN-MPC学习笔记】1.最优化控制和MPC基本概念
|
1月前
|
机器学习/深度学习
【DR_CAN-MPC学习笔记】2.最优化数学建模推导
【DR_CAN-MPC学习笔记】2.最优化数学建模推导
|
1月前
|
机器学习/深度学习
【DR_CAN-MPC学习笔记】3&4.详细的MPC建模例子和matlab代码
【DR_CAN-MPC学习笔记】3&4.详细的MPC建模例子和matlab代码
|
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等用全神经求解器做到了更强、更快