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


相关文章
|
大数据
数学建模1:lingo软件求解优化模型
数学建模1:lingo软件求解优化模型
121 0
|
2月前
|
算法
基于GA遗传优化的离散交通网络双层规划模型设计matlab仿真
该程序基于GA遗传优化设计了离散交通网络的双层规划模型,以路段收费情况的优化为核心,并通过一氧化碳排放量评估环境影响。在MATLAB2022a版本中进行了验证,显示了系统总出行时间和区域排放最小化的过程。上层模型采用多目标优化策略,下层则确保总阻抗最小,实现整体最优解。
|
5月前
|
算法
基于PSO粒子群优化的PID控制器参数整定算法matlab仿真
该文探讨了使用PSO(粒子群优化)算法优化PID控制器参数的方法。通过PSO迭代,不断调整PID控制器的Kp、Ki、Kd增益,以减小控制误差。文中提供了MATLAB2022a版本的核心代码,展示了参数优化过程及结果。系统仿真图像显示了参数随迭代优化的变化。PID控制器结合PSO算法能有效提升控制性能,适用于复杂系统的参数整定,未来研究可关注算法效率提升和应对不确定性。
|
6月前
|
5G
【DR_CAN-MPC学习笔记】1.最优化控制和MPC基本概念
【DR_CAN-MPC学习笔记】1.最优化控制和MPC基本概念
【DR_CAN-MPC学习笔记】1.最优化控制和MPC基本概念
|
6月前
|
机器学习/深度学习
【DR_CAN-MPC学习笔记】2.最优化数学建模推导
【DR_CAN-MPC学习笔记】2.最优化数学建模推导
|
6月前
|
机器学习/深度学习
【DR_CAN-MPC学习笔记】3&4.详细的MPC建模例子和matlab代码
【DR_CAN-MPC学习笔记】3&4.详细的MPC建模例子和matlab代码
|
数据采集 监控 算法
【状态估计】基于二进制粒子群优化 (BPSO) 求解最佳 PMU优化配置研究【IEEE30、39、57、118节点】(Matlab代码实现)
【状态估计】基于二进制粒子群优化 (BPSO) 求解最佳 PMU优化配置研究【IEEE30、39、57、118节点】(Matlab代码实现)
【状态估计】基于二进制粒子群优化 (BPSO) 求解最佳 PMU优化配置研究【IEEE30、39、57、118节点】(Matlab代码实现)
|
机器学习/深度学习 传感器 算法
基于微分 Vaiana Rosati 模型对 SDF 速率无关迟滞系统进行非线性时程分析的 Matlab 代码
基于微分 Vaiana Rosati 模型对 SDF 速率无关迟滞系统进行非线性时程分析的 Matlab 代码
|
算法 Java
数学建模常用算法:模拟退火算法求解tsp问题+att48算例测试【java实现--详细注释】
数学建模常用算法:模拟退火算法求解tsp问题+att48算例测试【java实现--详细注释】
135 0
|
机器学习/深度学习 传感器 算法
基于蜜獾算法求解单目标(HoneyBadgerAlgorithm,HBA)附matlab代码
基于蜜獾算法求解单目标(HoneyBadgerAlgorithm,HBA)附matlab代码