优化问题
无约束优化问题
min f ( x ) \min\quad f(x) minf(x)
max f ( x ) \max\quad f(x) maxf(x)等价于 min − f ( x ) \min\quad -f(x) min−f(x)
等式约束优化问题
原问题
min
f
(
x
)
s
.
t
.
g
(
x
)
=
0
\min\quad f(x)\\s.t.\quad g(x)=0
minf(x)s.t.g(x)=0
拉格朗日函数
L
(
x
,
λ
)
=
f
(
x
)
+
λ
g
(
x
)
L(x,\lambda)=f(x)+\lambda g(x)
L(x,λ)=f(x)+λg(x)
等式约束优化问题转化为无约束优化问题
min
x
,
λ
L
(
x
,
λ
)
\mathop{\min}\limits_{x,\lambda}\quad L(x,\lambda)
x,λminL(x,λ)
对偶函数
g
(
λ
)
=
inf
x
L
(
x
,
λ
)
g(\lambda)=\mathop{\inf}\limits_{x}L(x,\lambda)
g(λ)=xinfL(x,λ)
对偶问题
max
g
(
λ
)
\max g(\lambda)
maxg(λ)
最优解必要条件,偏导为零
∇
x
L
=
∇
f
(
x
)
+
λ
∇
g
(
x
)
=
0
\nabla_xL=\nabla f(x)+\lambda\nabla g(x)=0
∇xL=∇f(x)+λ∇g(x)=0
∇
λ
L
=
g
(
x
)
=
0
\nabla_\lambda L=g(x)=0
∇λL=g(x)=0
第一式为定常方程,第二式为约束条件,解得驻点
x
∗
x^*
x∗ 和y的值
原始问题与对偶问题关系
L
(
x
∗
,
λ
)
≤
L
(
x
∗
,
λ
∗
)
≤
L
(
x
,
λ
∗
)
L(x^*,\lambda)\le L(x^*,\lambda^*)\le L(x,\lambda^*)
L(x∗,λ)≤L(x∗,λ∗)≤L(x,λ∗)
x
∗
,
λ
∗
x^*,\lambda^*
x∗,λ∗分别是原问题与对偶问题最优解
不等式约束优化问题
min f ( x ) s . t . g ( x ) ≤ 0 \min\quad f(x)\\s.t.\quad g(x)\le0 minf(x)s.t.g(x)≤0
可行域 R f e a s i b l e = { x ∈ R n ∣ g ( x ) ≤ 0 } R_{feasible}=\{x\in R^n|g(x)\le 0\} Rfeasible={x∈Rn∣g(x)≤0}
(1)
g
(
x
)
=
0
g(x)=0
g(x)=0,最优解落在
R
f
e
a
s
i
b
l
e
R_{feasible}
Rfeasible边界,约束有效,称为边界解。约束不等式变为等式,退化为等式约束问题,驻点
x
∗
x^*
x∗满足
∇
x
L
=
∇
f
(
x
)
+
λ
∇
g
(
x
)
=
0
\nabla_xL=\nabla f(x)+\lambda\nabla g(x)=0
∇xL=∇f(x)+λ∇g(x)=0
即
∇
f
(
x
)
∈
s
p
a
n
∇
g
(
x
)
\nabla f(x)\in span\nabla g(x)
∇f(x)∈span∇g(x)。
因为要最小化
f
(
x
)
f(x)
f(x),
∇
f
(
x
)
\nabla f(x)
∇f(x)应指向可行域
R
f
e
a
s
i
b
l
e
R_{feasible}
Rfeasible内部,但
∇
g
(
x
)
\nabla g(x)
∇g(x)指向可行域外部(即
g
(
x
)
>
0
g(x)>0
g(x)>0,因为约束条件
g
(
x
)
≤
0
g(x)\le 0
g(x)≤0),因此
λ
≥
0
\lambda\ge 0
λ≥0,称为对偶可行性。
(2) g ( x ) < 0 g(x)<0 g(x)<0,最优解落在 R f e a s i b l e R_{feasible} Rfeasible内部,约束无效,称为内部解。此时,不等式约束优化问题退化为无约束问题,驻点 x ∗ x^* x∗满足 ∇ f ( x ) = 0 \nabla f(x)=0 ∇f(x)=0和 λ = 0 \lambda=0 λ=0。
无论内部解还是边界解, λ g ( x ) = 0 \lambda g(x)=0 λg(x)=0恒成立,称为互补可行性。
KKT(Karush-Kuhn-Tucker)条件
KKT条件的使用前提是约束资格条件,是局部最小值的必要条件;对凸优化问题而言,是局部最小值的充要条件。
KKT条件包括定常方程,原始可行性,对偶可行性以及互补可行性,即
∇
x
L
=
∇
f
(
x
)
+
λ
∇
g
(
x
)
=
0
g
(
x
)
≤
0
λ
≥
0
λ
g
(
x
)
=
0
\nabla_xL=\nabla f(x)+\lambda\nabla g(x)=0\\ g(x)\le0\\\lambda\ge 0\\\lambda g(x)=0
∇xL=∇f(x)+λ∇g(x)=0g(x)≤0λ≥0λg(x)=0
推广
优化问题
对原始问题
min
f
(
x
)
s
.
t
.
g
j
(
x
)
=
0
,
j
=
1
,
⋅
⋅
⋅
,
m
,
h
k
(
x
)
≤
0
,
k
=
1
,
⋅
⋅
⋅
,
p
.
\min\quad f(x)\\s.t.\quad g_j(x)=0,j=1,···,m,\\\quad\quad h_k(x)\le0,k=1,···,p.
minf(x)s.t.gj(x)=0,j=1,⋅⋅⋅,m,hk(x)≤0,k=1,⋅⋅⋅,p.
拉格朗日函数
L
(
x
,
λ
,
μ
)
=
f
(
x
)
+
∑
j
=
1
m
λ
g
j
(
x
)
+
∑
k
=
1
p
μ
h
k
(
x
)
L(x,\lambda,\mu)=f(x)+\sum_{j=1}^{m}\lambda g_j(x)+\sum_{k=1}^{p}\mu h_k(x)
L(x,λ,μ)=f(x)+j=1∑mλgj(x)+k=1∑pμhk(x)
KKT(Karush-Kuhn-Tucker)条件
KKT条件包括
∇
x
L
=
0
g
j
(
x
)
=
0
h
k
(
x
)
≤
0
μ
k
≥
0
λ
g
(
x
)
=
0
\nabla_xL=0\\ g_j(x)=0\\ h_k(x)\le0\\ \mu_k\ge 0\\\lambda g(x)=0
∇xL=0gj(x)=0hk(x)≤0μk≥0λg(x)=0
对偶问题及其与原始问题的关系
原始问题
构造关于
x
x
x的函数
θ
P
(
x
)
=
max
λ
,
μ
,
μ
k
≥
0
L
(
x
,
λ
,
μ
)
=
{
f
(
x
)
,
x
满足约束条件
+
∞
,
否则
\theta_P(x)=\max_{\lambda ,\mu,\mu_k\ge 0}L(x,\lambda,\mu)=\begin{cases}f(x),&x满足约束条件\\+\infty,&否则\end{cases}
θP(x)=maxλ,μ,μk≥0L(x,λ,μ)={f(x),+∞,x满足约束条件否则
极小化问题
min
x
θ
P
(
x
)
=
min
x
max
λ
,
μ
,
μ
k
≥
0
L
(
x
,
λ
,
μ
)
\min_x\theta_P(x)=\min_x\max_{\lambda ,\mu,\mu_k\ge 0}L(x,\lambda,\mu)
xminθP(x)=xminλ,μ,μk≥0maxL(x,λ,μ)
与原始最优化问题等价
min
x
max
λ
,
μ
,
μ
k
≥
0
L
(
x
,
λ
,
μ
)
\min_x\max_{\lambda ,\mu,\mu_k\ge 0}L(x,\lambda,\mu)
minxmaxλ,μ,μk≥0L(x,λ,μ)称为广义拉格朗日函数的极小极大问题
p
∗
=
min
x
θ
P
(
x
)
p^*=\min_x\theta_P(x)
p∗=minxθP(x)称为原始问题最优解
对偶问题
类似的,构造关于
λ
,
μ
\lambda ,\mu
λ,μ的函数
θ
D
(
λ
,
μ
)
=
min
x
L
(
x
,
λ
,
μ
)
\theta_D(\lambda ,\mu)=\min_{x}L(x,\lambda,\mu)
θD(λ,μ)=minxL(x,λ,μ)
则极大化问题
max
λ
,
μ
,
μ
k
≥
0
θ
D
(
λ
,
μ
)
=
max
λ
,
μ
,
μ
k
≥
0
min
x
L
(
x
,
λ
,
μ
)
\max_{\lambda ,\mu,\mu_k\ge 0}\theta_D(\lambda ,\mu)=\max_{\lambda ,\mu,\mu_k\ge 0}\min_xL(x,\lambda,\mu)
λ,μ,μk≥0maxθD(λ,μ)=λ,μ,μk≥0maxxminL(x,λ,μ)
称为广义拉格朗日函数的极大极小问题
增加约束
μ
k
≥
0
\mu_k\ge 0
μk≥0
max
λ
,
μ
,
μ
k
≥
0
θ
D
(
λ
,
μ
)
=
max
λ
,
μ
,
μ
k
≥
0
min
x
L
(
x
,
λ
,
μ
)
s
.
t
.
μ
k
≥
0
,
k
=
1
,
…
k
.
\max_{\lambda ,\mu,\mu_k\ge 0}\theta_D(\lambda ,\mu)=\max_{\lambda ,\mu,\mu_k\ge 0}\min_xL(x,\lambda,\mu)\\s.t.\quad \mu_k\ge 0,k=1,\dots k.
λ,μ,μk≥0maxθD(λ,μ)=λ,μ,μk≥0maxxminL(x,λ,μ)s.t.μk≥0,k=1,…k.称为原始问题的对偶问题
d
∗
=
max
λ
,
μ
,
μ
k
≥
0
θ
D
(
λ
,
μ
)
d^*=\max_{\lambda ,\mu,\mu_k\ge 0}\theta_D(\lambda ,\mu)
d∗=maxλ,μ,μk≥0θD(λ,μ)称为对偶问题最优解
对偶问题与原始问题的关系
弱对偶性
d
∗
=
max
λ
,
μ
,
μ
k
≥
0
min
x
L
(
x
,
λ
,
μ
)
≤
min
x
max
λ
,
μ
,
μ
k
≥
0
L
(
x
,
λ
,
μ
)
=
p
∗
d^*=\max_{\lambda ,\mu,\mu_k\ge 0}\min_xL(x,\lambda,\mu)\le\min_x\max_{\lambda ,\mu,\mu_k\ge 0}L(x,\lambda,\mu)=p^*
d∗=λ,μ,μk≥0maxxminL(x,λ,μ)≤xminλ,μ,μk≥0maxL(x,λ,μ)=p∗
强对偶性
d
∗
=
p
∗
d^*=p^*
d∗=p∗
强对偶性的前提是KKT条件或Slater条件