


















凸二次规划是一类特殊的数学优化问题,可以看作线性规划的自然延伸。简单来说,它的目标是最小化一个“二次”函数,且这个函数是“凸”的,同时要满足一些“线性”的约束条件。
它的标准数学形式是:
(1/2)xᵀQx + cᵀxAx ≤ b(以及可能的等式约束 Ex = d)下面拆解这三个关键特征,帮你更好理解:
1. “二次”:目标函数中有平方项
与目标函数是线性的(如 cᵀx)不同,这里多了 xᵀQx 这个二次型。这意味着变量之间可以相乘,关系曲线是抛物线而非直线。
x² + y² 是一个二次目标。2. “凸”:问题具有良好的几何性质,保证能找到全局最优解
这是最关键的性质。一个二次函数是凸的,当且仅当矩阵 Q 是半正定的。
Q 不是半正定,问题会变成非凸的,通常极难求解。3. “规划”:在约束下寻优
问题的变量不能随意取值,必须满足一系列线性的不等式或等式约束。
为什么凸二次规划如此重要?
它的威力在于能完美地平衡模型的表达能力和求解的可靠性。
表达能力比线性规划强:现实世界中,成本或风险往往是非线性的。比如,你不想只是线性地惩罚误差,而是想按“误差的平方”(最小二乘法)来更严厉地惩罚大误差。凸二次规划正适合为这种带有“边际成本递增”或“风险厌恶”特征的问题建模。
求解可靠性和效率媲美线性规划:因为“凸”的性质保证了没有复杂的局部最优陷阱,所以它能被非常成熟、高效的算法(如内点法、增广拉格朗日法等)在多项式时间内精确求解,结果稳定可靠。
应用极其广泛,现代科技和金融的许多核心问题都在用它:
| 领域 | 核心问题 | 对应为凸二次规划 |
|---|---|---|
| 金融 | 投资组合优化 | 目标:最小化风险(方差,即二次项);约束:预期收益、预算(线性约束)。Q是协方差矩阵(半正定)。 |
| 机器学习 | 支持向量机(SVM) | 目标:最大化分类间隔,这等价于最小化权重向量的范数平方 ‖w‖²(二次项);约束:所有样本被正确分类(线性约束)。 |
| 控制工程 | 模型预测控制(MPC) | 在每个时间步,求解一个最小化未来轨迹跟踪误差(二次目标)和能量消耗,并满足系统动态和物理限制(线性约束)的问题。 |
| 数据拟合 | 带约束的最小二乘法 | 目标:最小化误差平方和(二次项);约束:系数必须非负、和为1等(线性约束)。 |
与“非凸二次规划”的对比,一眼看明白凸的价值
Q 半正定):就像一个光滑的碗。无论从碗壁上的哪一点出发,往下走最终都能到达碗底的全局最优点。Q 不定):就像一个崎岖的马鞍面或薯片形状。不同起点可能滑向不同的局部低谷,你很难判断找到的是不是全局最低点。这类问题属于 NP-hard 问题,求解难度陡增。简单总结,凸二次规划就是在由直线和平面围成的区域内,找到一个碗状曲面的最低点。因为它兼顾了表达力和易解性,所以成为了优化领域的基石之一。
如果想了解求解它的具体算法,比如内点法是怎么工作的,我可以继续为你讲解。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。