带约束的优化
没有约束时,光滑函数的最大或最小值出现在梯度为零的地方,∇f=0。现实问题带有约束:固定预算、权重之和必须为 1 的投资组合、风险上限。这时要找的是曲线或曲面 g(x,y)=c 上的最佳点,而不是平面上任意位置。
∇f=λ∇g,g(x,y)=c(1) 在约束最优点处,f 的等值线恰好与约束相切,所以两个梯度平行:∇f=λ∇g。把它写成拉格朗日函数 L(x,y,λ)=f(x,y)−λ(g(x,y)−c),令其所有偏导数为零:关于 x、y 的方程给出梯度平行,关于 λ 的方程还原约束。
乘数 λ 有明确含义:它是约束的影子价格,即约束放宽一个单位时最优值的变化率,dcdV∗=λ。在权重之和为 1 的最小方差组合中,它告诉你多一点预算能换来多少方差变化。
一个预算问题在
x+y=10 的约束下最大化
f=xy。这里
∇f=(y,x),
∇g=(1,1),所以
y=λ,
x=λ,于是
x=y=5,
λ=5,最大值为 25。若预算增加到 11,最大值变为
5.5×5.5=30.25:增加 5.25,接近
λ×1=5。
是候选点,不是保证令拉格朗日函数的导数为零只能找出候选点。你还要判断每个点是最大、最小还是都不是;以不等式给出的约束(x≥0)则需要把这一思想推广的 KKT 条件。 实验:评分内容
- 拉格朗日函数15 分
- 最优的 x20 分
- 最大值15 分
- 乘数15 分
- 几何意义10 分
- 一个最小化问题15 分
- 乘数的含义10 分