凸优化 (Convex Optimization)
凸优化(Convex Optimization)是优化理论的一个子领域,研究目标函数为凸函数且可行域为凸集的最小化问题。凸优化的核心优势在于:任何局部最优解都是全局最优解,这一性质使凸优化问题在理论上可解且算法上高效。凸优化方法在微观经济学、计量经济学、机器学习、金融工程和控制理论等领域具有广泛应用。
凸集与凸函数
凸集(Convex Set)定义为集合 C 中任意两点的连线上所有点仍在集合内:对任意 x,y∈C 和任意 θ∈[0,1],有 θx+(1−θ)y∈C。常见的凸集包括超平面、半空间、多面体、范数球以及半正定锥。凸集的交集仍为凸集,但并集不一定。
凸函数(Convex Function)满足琴生不等式:对任意 x,y 在定义域内和 θ∈[0,1],有 f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)。几何含义为函数图像上任意两点连线位于图像上方。若函数二阶可微,凸性等价于海森矩阵处处半正定:∇2f(x)⪰0。常见凸函数包括线性函数、二次型 x⊤Px(P⪰0)、指数函数、负对数函数和若干范数。
标准形式与KKT条件
凸优化问题的标准形式为:
xminf(x)s.t.gi(x)≤0,i=1,…,m,Ax=b
其中目标函数 f(x) 和所有不等式约束函数 gi(x) 均为凸函数,等式约束为仿射函数。
凸优化的一阶最优性条件由KKT条件(Karush-Kuhn-Tucker Conditions)给出。设 x∗ 满足约束规格(如 Slater 条件),则存在拉格朗日乘子 λi≥0 和 ν 使得:
\begin{align}
\nabla f(x^*) + \(\sum_{i=1}^{m}\) \(\lambda_i\) \nabla \(g_i\)(x^*) + A^\top \nu \&= 0 \\
\(\lambda_i\) \(g_i\)(x^*) \&= 0,\; \forall i \\
\(g_i\)(x^*) \&\le 0,\; \forall i \\
\[
Ax^* &= b
\]
\end{align}
对于凸优化问题,KKT条件不仅是必要性条件,同时也是充分性条件:任何满足 KKT 条件的可行点即为全局最优解。
拉格朗日对偶性
凸优化的另一核心工具是对偶理论。原问题的拉格朗日函数为 L(x,λ,ν)=f(x)+∑λigi(x)+ν⊤(Ax−b)。拉格朗日对偶函数为 q(λ,ν)=infxL(x,λ,ν)。对偶问题为:
λ≥0,νmaxq(λ,ν)
弱对偶性保证对偶最优值不大于原问题最优值:d∗≤p∗。在凸优化中,若 Slater 约束规格成立(存在严格可行点 gi(x)<0 对所有 i),则强对偶性成立:d∗=p∗,对偶间隙为零。
经济学与机器学习中的应用
在微观经济学中,消费者在预算约束下最大化拟凹效用函数等价于一个凸优化问题;企业的成本最小化在生产函数为凸技术条件下也是凸优化问题。支出函数的凹性和利润函数的凸性均可从优化的对偶性导出。
在计量经济学中,Lasso回归的 ℓ1 正则化、支持向量机(SVM)的铰链损失最小化均构造为凸优化问题,保证了求解的唯一性和稳定性。在金融学中,马科维茨均值-方差投资组合选择的核心即为二次凸规划,其有效前沿的凸性保证了最优组合的良好计算性质。
凸优化因其数学结构的清晰性和算法的可靠性,已成为现代定量分析中不可替代的方法论基础。