拉格朗日乘子法列出拉格朗日函数,将其转化为无约束优化问题求解KKT 条件(KKT 是取最优参数值的必要条件,对于某些特殊的凸优化问题是充要条件)拉格朗日对偶问题,这个对偶问题一定是凸优化问题,因此易于求解。优化问题一定具有弱对偶性,但要想对偶问题和原问题同解其必须满足强对偶性,强对偶性的充分条件是Slater 条件,必要条件是 KKT 条件
考虑一个只有等式约束的约束优化问题
min
x
∈
R
n
f
(
x
)
s.t.
h
i
(
x
)
=
0
,
i
=
1
,
2
,
.
.
.
,
k
minx∈Rnf(x)s.t.hi(x)=0,i=1,2,...,k

想要最小化
f
(
x
)
f(x)
f(x),在无约束时我们只要按
f
(
x
)
f(x)
f(x) 的负梯度方向(左下45度)做梯度下降即可,但在有约束的情况下,我们每一步都只能按约束园的切线方向(与约束面的梯度方向正交)移动


显然,要想在每一步移动时都让目标函数更优,我们移动的方向必须和目标函数负梯度方向的夹角小于 90 度,换句话说,当移动方向和目标函数负梯度方向垂直时(约束面切向方向和目标函数负梯度方向垂直;约束面梯度方向和目标函数负梯度方向平行),我们就找到了一个 critical point(如图所示)。设此位置为
x
∗
x^*
x∗,可以表示为
▽
x
f
(
x
∗
)
=
μ
▽
x
h
(
x
∗
)
\triangledown_xf(x^*) = \mu \triangledown_xh(x^*)
▽xf(x∗)=μ▽xh(x∗) 从图中可以看出,
x
∗
x^*
x∗ 是优化问题最优解的充要条件为
通过上述几何角度的分析,我们可以建立起对拉格朗日乘数法的直观理解。对于有多个等式约束的优化问题
min
x
∈
R
n
f
(
x
)
s.t.
h
i
(
x
)
=
0
,
i
=
1
,
2
,
.
.
.
,
k
minx∈Rnf(x)s.t.hi(x)=0,i=1,2,...,k
L
(
x
,
μ
)
=
f
(
x
)
+
μ
⊤
h
(
x
)
\mathcal{L} (x,\pmb{\mu}) = f(x)+\pmb{\mu}^\top \pmb{h}(x)
L(x,μμ)=f(x)+μμ⊤hh(x) 则目标函数在
x
∗
,
μ
∗
x^*,\mu^*
x∗,μ∗ 处取得极小值的充要条件为(这三条和上面充要条件一一对应)
这里求两个梯度为 0 正是使用拉格朗日乘子法的一般套路,像上面那样从几何角度可以清晰地看出其背后的原理



考虑有多个不等式约束的约束优化问题
min
x
∈
R
n
f
(
x
)
s.t.
g
j
(
x
)
≤
0
,
j
=
1
,
2
,
.
.
.
,
l
minx∈Rnf(x)s.t.gj(x)≤0,j=1,2,...,l
L
(
x
,
λ
)
=
f
(
x
)
+
λ
⊤
g
(
x
)
\mathcal{L} (x,\pmb{\lambda}) = f(x)+\pmb{\lambda}^\top \pmb{g}(x)
L(x,λλ)=f(x)+λλ⊤gg(x)
松弛的),因此可以令
λ
∗
=
0
\pmb{\lambda}^*=\pmb{0}
λλ∗=00 使
L
(
x
,
λ
∗
)
=
f
(
x
)
\mathcal{L} (x,\pmb{\lambda}^*) =f(x)
L(x,λλ∗)=f(x)。根据 1.2.1 分析,在
x
∗
,
λ
∗
x^*,\pmb{\lambda}^*
x∗,λλ∗ 处取得最优解的充要条件为
紧致的),在
x
∗
x^*
x∗ 处取得最优解的充要条件为
以上两种情况可以合并考虑,总结出的在 x ∗ , λ ∗ x^*,\pmb{\lambda}^* x∗,λλ∗ 处取得最优解的充要条件为
首先,拉格朗日乘子法是仅仅针对等式约束优化问题的,即 1.1 节中讨论的情况,我们写出拉格朗日函数
L
(
x
,
μ
)
\mathcal{L}(x,\mu)
L(x,μ) 后,直接联立
∂
L
∂
x
=
0
\frac{\partial\mathcal{L}}{\partial x}=0
∂x∂L=0 和
∂
L
∂
μ
=
0
\frac{\partial\mathcal{L}}{\partial \mu}=0
∂μ∂L=0 求解无约束优化问题即可
我们希望把拉格朗日乘子法扩展到带不等式约束的优化问题,这时就需要将其转化为朗日对偶问题处理,并用 KKT 条件保证解的等价性。先看 KKT 条件:结合 1.1 和 1.2 节,考虑有
k
k
k 个等式约束和
l
l
l 个不等式约束的优化问题,假设
f
(
x
)
,
h
i
(
x
)
,
g
j
(
x
)
f(x), h_i(x), g_j(x)
f(x),hi(x),gj(x) 是定义在
R
n
\mathbb{R}^n
Rn 上的连续可微函数
min
x
∈
R
n
f
(
x
)
s.t.
h
i
(
x
)
≤
0
,
i
=
1
,
2
,
.
.
.
,
k
g
j
(
x
)
=
0
,
j
=
1
,
2
,
.
.
.
,
l
minx∈Rnf(x)s.t.hi(x)≤0,i=1,2,...,kgj(x)=0,j=1,2,...,l
L
(
x
,
μ
,
λ
)
=
f
(
x
)
+
μ
⊤
h
(
x
)
+
λ
⊤
g
(
x
)
\mathcal{L}(x,\pmb{\mu},\pmb{\lambda}) = f(x)+\pmb{\mu}^\top h(x)+\pmb{\lambda}^\top g(x)
L(x,μμ,λλ)=f(x)+μμ⊤h(x)+λλ⊤g(x) 综合 1.1 和 1.2 节的分析,优化目标在
x
∗
,
μ
∗
,
λ
∗
x^*,\pmb{\mu}^*,\pmb{\lambda}^*
x∗,μμ∗,λλ∗ 处取得极小值的充要条件为
这就是所谓的 KKT条件(通常不提第 6 条)
观察一下 KKT 条件,其实 1,5,6 三条合起来就是拉格朗日乘子法的计算步骤,引入不等式约束后出现了 2,3,4 条,其中第 2 条是构造拉格朗日函数后新进入的不等式约束,约束无法完全去除,求解仍很困难,这时就要用到拉格朗日对偶性转换为对偶问题了
假设
f
(
x
)
,
c
i
(
x
)
,
h
j
(
x
)
f(x), c_i(x), h_j(x)
f(x),ci(x),hj(x) 是定义在
R
n
\mathbb{R}^n
Rn 上的连续可微函数。考虑约束优化问题
min
x
∈
R
n
f
(
x
)
s.t.
c
i
(
x
)
≤
0
,
i
=
1
,
2
,
.
.
.
,
k
h
j
(
x
)
=
0
,
j
=
1
,
2
,
.
.
.
,
l
(1)
minx∈Rnf(x)s.t.ci(x)≤0,i=1,2,...,khj(x)=0,j=1,2,...,l原始优化问题/原始问题
引入拉格朗日乘子
β
j
\beta_j
βj 和
α
i
≥
0
\alpha_i\geq 0
αi≥0,将约束项作为惩罚项合并到优化目标中,得到 广义拉格朗日函数
L
(
x
,
α
,
β
)
=
f
(
x
)
+
∑
i
=
1
k
α
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
\mathcal{L}(x,\alpha,\beta) = f(x)+\sum_{i=1}^k \alpha_ic_i(x) + \sum_{j=1}^l \beta_j h_j(x)
L(x,α,β)=f(x)+i=1∑kαici(x)+j=1∑lβjhj(x) 其中
x
=
[
x
(
1
)
,
x
(
2
)
,
.
.
.
,
x
(
n
)
]
⊤
∈
R
n
x=[x^{(1)},x^{(2)},...,x^{(n)}]^\top \in\mathbb{R}^n
x=[x(1),x(2),...,x(n)]⊤∈Rn。考虑
x
x
x 的函数
θ
P
(
x
)
=
max
α
,
β
:
a
i
≥
0
L
(
x
,
α
,
β
)
\theta_P(x) = \max_{\alpha,\beta:a_i\geq 0} \mathcal{L}(x,\alpha,\beta)
θP(x)=α,β:ai≥0maxL(x,α,β) 这里下标
P
P
P 表示原始问题。考察这个函数,不难发现
上述讨论可以总结为以下关系
θ
P
(
x
)
=
{
f
(
x
)
,
x
满足原始约束
+
∞
,
其他
\theta_P(x)=\left\{ f(x),x满足原始约束+\infin,其他广义拉格朗日函数的极小极大问题)
min
x
θ
P
(
x
)
=
min
x
max
α
,
β
:
a
i
≥
0
L
(
x
,
α
,
β
)
(2)
\min_x \theta_P(x) = \min_x\max_{\alpha,\beta:a_i\geq 0} \mathcal{L}(x,\alpha,\beta) \tag{2}
xminθP(x)=xminα,β:ai≥0maxL(x,α,β)(2) 显然它与原始优化问题(公式(1))是等价的 ,即它们拥有同样的解。这样我们就把原始的约束最优化问题表示为广义拉格朗日函数的极小极大化问题了,和 1.3 节的讨论一样,这个等价问题中引入了关于不等式约束的拉格朗日乘子的不等式约束
α
i
≥
0
\alpha_i\geq 0
αi≥0
为了方便,定义原始问题的最优值
P
∗
=
min
x
θ
P
(
x
)
P^* = \min_x \theta_P(x)
P∗=minxθP(x),称为 原始问题的值
广义拉格朗日函数的极大极小问题)原始问题的对偶问题,定义其最优值为
D
∗
=
max
α
,
β
:
α
i
≥
0
θ
D
(
α
,
β
)
D^* = \max_{\alpha,\beta:\alpha_i\geq 0} \theta_D(\alpha,\beta)
D∗=maxα,β:αi≥0θD(α,β),称为 对偶问题的值所谓凸优化问题,就是优化目标为凸函数,可行域为凸集的优化问题
优化目标:
θ
D
(
α
,
β
)
=
f
(
x
∗
)
+
∑
i
=
1
k
α
i
c
i
(
x
∗
)
+
∑
j
=
1
l
β
j
h
j
(
x
∗
)
\theta_D(\alpha,\beta) = f(x^*)+\sum_{i=1}^k \alpha_ic_i(x^*) + \sum_{j=1}^l \beta_j h_j(x^*)
θD(α,β)=f(x∗)+∑i=1kαici(x∗)+∑j=1lβjhj(x∗) 这是关于
α
,
β
\alpha,\beta
α,β 的线性函数,是凸函数可行域:
{
α
∣
α
i
≥
0
,
i
=
1
,
2
,
.
.
.
,
k
}
\{\pmb{\alpha}|\alpha_i \geq 0, \space\space i=1,2,...,k\}
{αα∣αi≥0, i=1,2,...,k},这是一个半空间,是凸集弱对偶关系:设原问题的解
min
x
max
α
,
β
L
(
x
,
α
,
β
)
=
P
∗
\min_x\max_{\alpha,\beta} \mathcal{L}(x,\alpha,\beta)=P^*
minxmaxα,βL(x,α,β)=P∗,对偶问题的解
max
α
,
β
min
x
L
(
x
,
α
,
β
)
=
D
∗
\max_{\alpha,\beta}\min_x \mathcal{L}(x,\alpha,\beta)=D^*
maxα,βminxL(x,α,β)=D∗ 弱对偶关系
P
∗
≥
D
∗
P^*\geq D^*
P∗≥D∗ 一定成立。证明如下强对偶关系:当
P
∗
=
D
∗
P^* = D^*
P∗=D∗ 时称原问题和对偶问题满足强对偶关系,这是我们最关心的情况,因为这时我们就能用对偶问题替代原始问题了。这里有一个推论:设
x
∗
x^*
x∗ 和
α
∗
,
β
∗
\alpha^*,\beta^*
α∗,β∗ 分别是原始问题和对偶问题的可行解,且
P
∗
=
D
∗
P^*=D^*
P∗=D∗ 则
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗ 分别是原始问题和对偶问题的最优解
下面从几何角度观察一下这个等号何时成立,首先对拉格朗日函数做简化处理,等式约束成立时
∑
j
=
1
l
β
j
h
j
(
x
)
=
0
\sum_{j=1}^l \beta_j h_j(x)=0
∑j=1lβjhj(x)=0,有
L
(
x
,
α
,
β
)
=
f
(
x
)
+
∑
i
=
1
k
α
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
=
f
(
x
)
+
α
⊤
c
(
x
)
L(x,α,β)=f(x)+k∑i=1αici(x)+l∑j=1βjhj(x)=f(x)+αα⊤cc(x)
注意到
G
1
G_1
G1 就是
G
2
G_2
G2 在
u
u
u 负半轴的部分,假设对偶问题的可行域
G
2
G_2
G2 是一个非凸集,
G
2
,
G
1
G_2,G_1
G2,G1可绘制如下

考察两个问题的解
原问题,直接在
G
1
G_1
G1 部分找最小值即可

对偶问题,注意
t
+
λ
⋅
u
t+\lambda ·u
t+λ⋅u 是斜率为
−
λ
-\lambda
−λ 的直线与
t
t
t 轴的截距,先假设
λ
≥
0
\lambda\geq 0
λ≥0 是定值,则我们要在
G
2
G_2
G2 中找一个点,使得过他的以
−
λ
-\lambda
−λ 为斜率的直线(斜率小于等于零,一定是水平或者向右下倾斜)的截距最小,如下图面左图所示;然后考虑外层的
max
λ
\max_\lambda
maxλ,其实就是找一个合适的斜率使得截距最大,如下面右图所示

可见,若对偶问题的可行域
G
2
G_2
G2 是非凸的,则当以
−
λ
-\lambda
−λ 为斜率的直线同时与
G
2
G_2
G2 下部两点相切时取到最优值
D
∗
D^*
D∗,这时一定有
P
∗
>
D
P^* > D
P∗>D
另一方面,从几何角度也容易看出:如果
G
2
G_2
G2 是凸集,则通常有
P
∗
=
Q
∗
P^*=Q^*
P∗=Q∗ 满足强对偶关系,下面给出两个满足等号的情况示意图

根据上述分析我们可以认为:绝大多数情况下,只要原问题是凸优化问题,则原问题和对偶问题一定满足强对偶关系,可以互相替代。注意这不是百分百成立的,下面给出严谨的充分条件和必要条件

对偶可行条件原问题可行条件互补松弛条件,它其实对应了 2.3.2 节最后图示的满足强对偶关系的两种情况
拉格朗日乘子法列出拉格朗日函数,将其转化为无约束优化问题求解KKT 条件(KKT 是取最优参数值的必要条件,对于某些特殊的凸优化问题是充要条件)拉格朗日对偶问题,这个对偶问题一定是凸优化问题,因此易于求解。优化问题一定具有弱对偶性,但要想对偶问题和原问题同解其必须满足强对偶性,强对偶性的充分条件是Slater 条件,必要条件是 KKT 条件