本文主要介绍在凸限制下的凸优化问题。我们将这个问题记为Problem(P),描述如下:
minf0(x)满足如下条件⎧⎩⎨fi(x)≤0,∀i∈Igi(x)≤0,∀i∈Jgi(x)=0,∀i∈K
其中
f0:Rn→R⋃{+∞}是一个凸函数,
I,J,K是有限集,当然也可能是空集。
fi是凸的,非仿射函数,
gi是一个仿射函数。
1.次微商,次梯度
在解决这个问题之前我们需要次梯度,次微商的概念。令f为Rn上的凸函数,如果向量x^*满足
f(z)≥f(x)+x∗(z−x),∀z∈Rn
那么
x∗为
f的
次梯度,所有在
x处的次梯度称为
f在
x的
次微商,记为
∂f(x) 我们需要解释一下次梯度的概念。如果一个函数在某个点处是可微的,那么它在这个点处存在唯一的切平面(原因是梯度的唯一),使得函数图像都是在这个切平面之上的,这里的在切平面之上的意思就是
f(z)≥f(x)+x∗(z−x),∀z∈Rn
,其中左面就是经过这个点的切平面。针对凸函数,有些点是不可微的,但是我们仍然可以通过这个点做一个平面,使得这个函数的图像在这个平面之上。这样的平面是不唯一的。我们把所有的符合这样性质的平面的法向量收集起来,就是次梯度。
2.KKT条件我们称x¯,(λi)i∈I,(μi)i∈J⋃K满足Problem(p)的KKT条件,如果它们满足如下四个条件:
(1)∀i∈I,λi≥0,fi(x¯)≤0,λifi(x¯)=0(2)∀i∈J,μ≥0,gi(x¯)≤0,μigi(x¯)=0(3)∀i∈K,gi(x¯)=0(4)0∈∂f0(x¯)+∑i∈Iλ∂fi(x¯)+∑i∈J⋃Kμi{∇gi(x¯)}+∂δC(x¯)
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
L(λ,μ,x¯)≤L(λ¯,μ¯,x¯)≤L(λ¯,μ¯,x)
那么我们给出拉格朗日函数和Problem(P)之间的关系。如果(λ¯,μ¯,x¯)为L的鞍点,那么x¯为Problem(P)的解,(λ¯,μ¯)是KKT参数。
我们通常遇到的凸优化问题并非像Problem(P)那样,它的一个变形如下,我们称为Pα,β问题.
minf(x)满足如下条件⎧⎩⎨fi(x)≥αi,∀i∈Igi(x)=βi,∀i∈Kx∈Rn
其中
f和f_i为凸函数,
gi为线性函数,
fi也可以是线性函数。
1.值函数
V(α,β)=inf{f(x)|x∈Rn,fi(x)≤αi,∀i∈I;gi(x)=βi,∀i∈J}
其中
α=(αi)i∈I∈Rp,β=(βi)i∈K∈Rr2.拉格朗日函数
求解方法仍然是拉格朗日乘子法。令x¯满足fi(x¯)≥αi,∀i∈I,gi(x¯)=βi ,∀i∈K,我们称Pα,β在x¯处的乘子是(λ,μ)∈Rp×Rr满足λ≥0,λi(fi(x¯)−αi) =0,∀i∈I
ψ(x)=f(x)+∑i∈Iλi(f(x)−αi)+∑i∈Kμi(gi(x)−βi)+δC(x)
在
x¯处达到最小值。
总结为:如果x¯满足fi(x¯)≤αi,gi(x¯)=βi,如果Pα,β在x¯有一个拉格朗日乘子,那么x¯为Pα,β的解.
同时,我们要明白如果x¯为Pα,β的解,那么在x¯处的乘子等于−∂V(α,β)