本文主要介绍在凸限制下的凸优化问题。我们将这个问题记为
Problem(P)
,描述如下:
其中 f0:Rn→R⋃{+∞} 是一个凸函数, I,J,K 是有限集,当然也可能是空集。 fi 是凸的,非仿射函数, gi 是一个仿射函数。
1.次微商,次梯度
在解决这个问题之前我们需要次梯度,次微商的概念。令
f
为
我们需要解释一下次梯度的概念。如果一个函数在某个点处是可微的,那么它在这个点处存在唯一的切平面(原因是梯度的唯一),使得函数图像都是在这个切平面之上的,这里的在切平面之上的意思就是
2.KKT条件
我们称
x¯,(λi)i∈I,(μi)i∈J⋃K
满足
Problem(p)的KKT条件
,如果它们满足如下四个条件:
KKT 条件的前三个是比较容易理解的,关键是第四个 f0,fi 不一定是可微的,所以我们用次微商,但是由于 gi 是仿射函数,所以是可微的,用它的梯度表示。最后一项的作用保证 x¯ 在 Problem(P) 的定义域C内, δC(x)=0 如果 x∈C ,否则为无穷大。
如果 x¯,(λi)i∈I,(μi)i∈J⋃K 满足 KKT 条件,那么 x¯ 为 Problem(P) 的解。
3.Problem(P)的拉格朗日函数
根据KKT条件的最后一句话,我们只需找到满足KKT
条件的
x¯,(λi)i∈I,(μi)i∈J⋃K
便可。接下来我们就用拉格朗日函数来解决这个问题。
(Problem(P)的拉格朗日函数)
L:Rp+×Rq+×R(r−q)×Rn←R⋃{+∞}
,它的自变量为
(λ,μ,x)=((λi)i∈I,(μi)i∈J,(μi)i∈K,x)
.
L(λ,μ,x)=f0(x)+∑i∈I(λifi)(x)+∑i∈Jμgi(x)+∑i∈Kμgi(x)
我们称
(λ¯,μ¯,x¯)
为L的鞍点,如果
∀(λ,μ)∈Rp+×Rq+×R(r−q),∀x∈Rn
那么我们给出拉格朗日函数和 Problem(P) 之间的关系。如果 (λ¯,μ¯,x¯) 为L的鞍点,那么 x¯ 为 Problem(P) 的解, (λ¯,μ¯) 是KKT参数。
我们通常遇到的凸优化问题并非像
Problem(P)
那样,它的一个变形如下,我们称为
Pα,β
问题.
其中 f 和f_i为凸函数,
1.值函数
其中 α=(αi)i∈I∈Rp,β=(βi)i∈K∈Rr
2.拉格朗日函数
求解方法仍然是拉格朗日乘子法。令
x¯
满足
fi(x¯)≥αi,∀i∈I,gi(x¯)=βi
,
∀i∈K
,我们称
Pα,β在x¯处的乘子是(λ,μ)∈Rp×Rr
满足
λ≥0,λi(fi(x¯)−αi)
=0,∀i∈I
总结为:如果
x¯
满足
fi(x¯)≤αi,gi(x¯)=βi
,如果
Pα,β
在
x¯
有一个拉格朗日乘子,那么
x¯
为
Pα,β
的解.
同时,我们要明白如果
x¯
为
Pα,β的解,那么在x¯处的乘子等于−∂V(α,β)