二次规划 (Quadratic Programming, QP)
简单来说,二次规划是在一系列 线性约束 条件下,寻找一个 二次目标函数 的最小值(或最大值)的问题。
核心构成要素:
- 目标函数 (Objective Function): 这是一个关于变量的二次多项式函数。例如,它可能包含变量的平方项 () 和交叉项 ()。
- 约束条件 (Constraints): 这些是用来限制变量取值范围的 线性 等式或不等式。
数学形式
一个标准的二次规划问题通常表示成以下形式:
最小化 (Minimize):
约束于 (Subject to):
数学推导
模型:
为了简便起见,假设输出,输出参考值,则
代价函数:
需要采取一定的方法将消除掉,从而在寻求的最小值的过程中确定的取值
1. 状态预测方程
根据状态空间模型,从当前时刻 的状态 开始,预测未来 个时刻的状态。
- 预测未来第一步:
- 预测未来第二步:
- 预测未来第三步:
- 通用预测公式: 将规律推广到未来第 步,可以得到:
2. 预测模型的矩阵形式
为了简化表示,可以将未来所有时刻的预测状态和控制输入写成向量形式。
- 定义未来状态向量 和未来控制向量 :
- 建立矩阵形式的预测方程: 其中,矩阵 和 定义为:
3. 二次型成本函数
- 定义成本函数 :
- 成本函数的矩阵形式: 其中, 和 是分块对角矩阵:
4. 整合模型与成本函数
将预测模型(式 2)代入成本函数(式 3),以消去对未来状态 的依赖:
换元之后得到:
对比之前的二次规划的标准形式,已经完全符合了;可以调用现成的函数来求解这个二次规划问题