从KKT条件下的拉格朗日乘法到拉格朗日对偶问题

本文深入探讨了拉格朗日乘法原理及其在最优化问题中的应用,详细解释了KKT条件的由来及作用,同时介绍了拉格朗日对偶性的概念,帮助读者理解复杂约束条件下的最优化问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一)拉格朗日乘法(Lagrange multiplier)

拉格朗日乘法是最优化问题中,当多元函数的变量受到一个或多个等式约束时,求局部极值的方法。通过将由n个变量和k个约束条件的最优化问题,转化成一个解有 n+k 个变量的方程组的解的问题。

1.1带有单个等式的约束

对于一个2变量1等式约束的优化问题:
min⁡x,yf(x,y) s.t. g(x,y)=c \min _{x, y} f(x, y) \quad \text { s.t. } g(x, y)=c x,yminf(x,y) s.t. g(x,y)=c
如何求该问题的最优解呢,我们引入拉格朗日乘法,引入β\betaβ作为拉格朗日乘数,再引入朗格朗日函数的极值:
L(x,y,λ)=f(x,y)+λ⋅(g(x,y)−c)(1) \mathcal{L}(x, y, \lambda)=f(x, y)+\lambda\cdot(g(x, y)-c) \qquad (1) L(x,y,λ)=f(x,y)+λ(g(x,y)c)(1)
我们通过对式子(1)中的三个变量求导,并令其等于0,来计算的鞍点
∇xL(x,y,λ)=0∇yL(x,y,λ)=0(2)∇λL(x,y,λ)=0 \nabla_{x} \mathcal{L}(x, y, \lambda)=0 \\ \nabla_{y} \mathcal{L}(x, y, \lambda)=0 \qquad(2) \\ \nabla_{\lambda} \mathcal{L}(x, y, \lambda)=0 xL(x,y,λ)=0yL(x,y,λ)=02λL(x,y,λ)=0
这样,我们就能解出一些可能的点,然后在筛选出最优点。 因为,导数为0是某点是极值点的必要条件而不是充分条件
这样做的解释性如下:
在这里插入图片描述
如上图所示,函数f(x)f(x)f(x)的等高线如图所示,梯度方向朝外,也就是越往外边大,约束条件g(x,y)−c=0g(x,y)-c=0g(x,y)c=0的等高线为红线,梯度防线向左。我们要找到满足等式约束条件的最小值,也就是f(x,y),的等高线向外扩张的时候,第一次与红线相切的地方,就是我们要求的最小值,因为相切时候是f(x,y)由小变大的时候第一次满足等式约束条件,而越往外函数值越大,所以当前就是我们要求的最小值。
此时因为相切,原函数和条件函数在切点的法线是共线的,并且切点在约束函数上有满足约束条件,我们有:
f′(x)=λg′(x)f′(y)=λg′(y)g(x,y)−c=0 f^{\prime}(x)=\lambda g^{\prime}(x) \\ f^{\prime}(y)=\lambda g^{\prime}(y) \\ g(x, y)-c =0 f(x)=λg(x)f(y)=λg(y)g(x,y)c=0
这不就是式子(2)中的结果么 ,从而解释了拉格朗日乘法求极值的可解释性。

1.2 带有多个等式约束

如图所示,现在又两个等式约束g1(x,y)−c1=0和g2(x,y)−c2=0g_{1}(x, y)-c_{1} =0 和g_{2}(x, y)-c_{2} =0g1(x,y)c1=0g2(x,y)c2=0:
在这里插入图片描述
这是就要引入两个拉格朗日乘子λ1,λ2\lambda_{1} ,\lambda_{2}λ1,λ2,求解的方法,求三次导,我们可以得到:
f′(x)=λ1g1′(x)+λ2g2′(x)f′(y)=λ2g′(y)+λ2g2′(y)g1(x,y)−c1=0g2(x,y)−c2=0 f^{\prime}(x)=\lambda_{1} g_{1}^{\prime}(x) + \lambda_{2} g_{2}^{\prime}(x)\\ f^{\prime}(y)=\lambda_{2} g^{\prime}(y) + \lambda_{2} g_{2}^{\prime}(y) \\ g_{1}(x, y)-c_{1} =0 \\ g_{2}(x, y)-c_{2} =0 f(x)=λ1g1(x)+λ2g2(x)f(y)=λ2g(y)+λ2g2(y)g1(x,y)c1=0g2(x,y)c2=0
第三四行的等式就是等式约束项,第一二行的等式在几何意义上,原函数在切点处切线的法向量要由g1,g2g_{1},g_{2}g1,g2在该点的法向量线性表出,由图上看a要能被bc线性表出。

1.3 带单个不等式约束

假设现在有不等式约束g(x,y)−c≤0g(x,y) -c \le0g(x,y)c0,五角星区域是我们满足不等式约束的区域。
在这里插入图片描述
此时我们仍然用拉格朗日乘法将对不等式约束引入拉格朗日乘法。习惯上对等式约束使用β\betaβ乘子,对不等式约束使用α\alphaα乘子。
L(x,y,λ)=f(x,y)+λ⋅(g(x,y)−c) \mathcal{L}(x, y, \lambda)=f(x, y)+\lambda\cdot(g(x, y)-c) L(x,y,λ)=f(x,y)+λ(g(x,y)c)
我们仍然按照三步求导的战略,仍旧可以得到:
f′(x)=λg′(x)f′(y)=λg′(y)g(x,y)−c=0 f^{\prime}(x)=\lambda g^{\prime}(x) \\ f^{\prime}(y)=\lambda g^{\prime}(y) \\ g(x, y)-c =0 f(x)=λg(x)f(y)=λg(y)g(x,y)c=0
但是这和等式约束有什么区别吗,难道完全一样吗?肯定不是的,看上图,要想最小值点落在约束不等式所在的曲线上,那么原函数的梯度和约束曲线的梯度一定要是反方向的。
也就是
f′(x)+λg′(x)=0f′(y)+λg′(y)=0s.t.λ≥0 f^{\prime}(x) + \lambda g^{\prime}(x) = 0 \\ f^{\prime}(y)+ \lambda g^{\prime}(y) =0\\ s.t. \lambda \ge 0 f(x)+λg(x)=0f(y)+λg(y)=0s.t.λ0
也就是说如果最优解落在约束曲线上,除了原函数在该点的法向量能被约束曲线线性表出外,原函数的法向量的符号还得和约束曲线们的法向量符号相反,即切点约束条件区域扩大的方向与原函数增大的方向相同。

这就引出KKT条件之大部分(除了条件d):
∇xL(x∗,α∗,β∗)=0(a)∇αL(x∗,α∗,β∗)=0(b)∇βL(x∗,α∗,β∗)=0(c)αi∗ci(x∗)=0,i=1,2,⋯ ,k(d)ci(x∗)≤0,i=1,2,⋯ ,k(e)αi∗≥0,i=1,2,⋯ ,k(f)hj(x∗)=0,j=1,2,⋯ ,l(g) \nabla_{x} L\left(\boldsymbol{x}^{*}, \boldsymbol{\alpha}^{*}, \boldsymbol{\beta}^{*}\right)=0 \qquad (a)\\ \nabla_{\boldsymbol{\alpha}} L\left(\boldsymbol{x}^{*}, \boldsymbol{\boldsymbol { \alpha }}^{*}, \boldsymbol{\beta}^{*}\right)=0 \qquad (b) \\ \nabla_{\beta} L\left(\boldsymbol{x}^{*}, \boldsymbol{\alpha}^{*}, \boldsymbol{\beta}^{*}\right)=0 \qquad (c)\\ \alpha_{i}^{*} c_{i}\left(\boldsymbol{x}^{*}\right)=0, \quad i=1,2, \cdots, k \qquad (d)\\ c_{i}\left(\boldsymbol{x}^{*}\right) \leq 0, \quad i=1,2, \cdots, k \qquad (e)\\ \alpha_{i}^{*} \geq 0, \quad i=1,2, \cdots, k \qquad (f)\\ h_{j}\left(\boldsymbol{x}^{*}\right)=0, \quad j=1,2, \cdots, l \qquad (g) xL(x,α,β)=0(a)αL(x,α,β)=0(b)βL(x,α,β)=0(c)αici(x)=0,i=1,2,,k(d)ci(x)0,i=1,2,,k(e)αi0,i=1,2,,k(f)hj(x)=0,j=1,2,,l(g)

  • 条件(a)为原函数在切点的法向量被约束曲线在该点的法向量线性表出
  • (b)(c) 表示最优解落在约束条件所在的曲线上
  • (e)为约束条件的表达形式,都是小于等于的形式
  • (f)使得原函数的法向量与约束曲线的法向量在切点处异号
  • (g)为等式约束的形式
1.4 多个不等式约束的特殊情况

在这里插入图片描述
由上图可知,g3g_{3}g3函数的约束时没有起任何作用的,并且最优解不会落在g3g_{3}g3上,但是在上面的KKT条件中g3g_{3}g3和其对应λ\lambdaλ的系数都参与了运算,如何消除其作用呢,这就引出了KKT的最后一个条件d:
αi∗ci(x∗)=0,i=1,2,⋯ ,k(d) \alpha_{i}^{*} c_{i}\left(\boldsymbol{x}^{*}\right)=0, \quad i=1,2, \cdots, k \qquad (d)\\ αici(x)=0,i=1,2,,k(d)
最优解在约束曲线上时,其表达式为0,若不在某条约束曲线上,为了使最后的结果为0,其系数必须为0,从而使不产生作用的曲线在计算时不产生作用。该条件也称为KKT的对偶互补条件。
到此为止我们推出了KKT的所有条件。

(二)拉格朗日对偶性

原始问题,求在等式和不等式约束条件下的函数最小值:
min⁡x∈Rnf(x)s.t.ci(x)≤0,i=1,2,⋯ ,khj(x)=0,j=1,2,⋯ ,l \min _{\boldsymbol{x} \in \mathbf{R}^{n}} f(\boldsymbol{x}) \\ s.t. \quad c_{i}(\boldsymbol{x}) \leq 0, \quad i=1,2, \cdots, k \\ \qquad h_{j}(\boldsymbol{x})=0, \quad j=1,2, \cdots, l xRnminf(x)s.t.ci(x)0,i=1,2,,khj(x)=0,j=1,2,,l
为了求解原始问题,我们首先引入广义拉格朗日函数(generalized Lagrange function):
L(x,α,β)=f(x)+∑i=1kαici(x)+∑j=1lβjhj(x)(3) L(\boldsymbol{x}, \boldsymbol{\alpha}, \boldsymbol{\beta})=f(\boldsymbol{x})+\sum_{i=1}^{k} \alpha_{i} c_{i}(\boldsymbol{x})+\sum_{j=1}^{l} \beta_{j} h_{j}(\boldsymbol{x}) \quad(3) L(x,α,β)=f(x)+i=1kαici(x)+j=1lβjhj(x)(3)

其中:

  • f(x)f(x)f(x)是可微的
  • αi,βj\alpha_{i} ,\beta_{j}αi,βj成为拉格朗日乘子且αi≥0\alpha_{i} \ge0αi0
  • ci(x)≤0c_{i}(x) \le 0ci(x)0
  • hi=0h_{i} =0hi=0

通过拉格朗日乘法,把约束条件加上新的变量构成了一个新的函数,虽然新的函数中变量变多了,但是没有了限制条件。
考虑x的函数(下标P表示原始问题):
θP(x)=max⁡α,β:αi≥0L(x,α,β) \theta_{P}(\boldsymbol{x})=\max _{\boldsymbol{\alpha}, \boldsymbol{\beta} : \alpha_{i} \geq 0} L(\boldsymbol{x}, \boldsymbol{\alpha}, \boldsymbol{\beta}) θP(x)=α,β:αi0maxL(x,α,β)

这个max的意义是在于,我们将所有的x样本根据取值的不同分成了满足条件和不满足条件的两部分,用函数的取值代替了原来的约束条件。现在这个θP(x)\theta_{P}(\boldsymbol{x})θP(x)是x的函数,给定某一个x,我们让θP(x)\theta_{P}(\boldsymbol{x})θP(x) 取最大,只要根据x的取值情况来调整其系数 αβ\alpha\betaαβ 即可。x的取值情况有两种:

  • 满足原始问题的约束,这种情况下ci(x)≤0c_{i}(\boldsymbol{x}) \leq 0ci(x)0,hj(x)=0h_{j}(\boldsymbol{x})=0hj(x)=0,并且αi≥0\alpha_{i} \ge 0αi0,那我们只要让cic_{i}ci的拉格朗日系数α\alphaα为0,就能得到最大的结果f(x)f(x)f(x)
  • 不满足原始问题的约束,这种情况下要么 ci(x)>0c_{i}(\boldsymbol{x}) \gt 0ci(x)>0或者hj(x)≠0h_{j}(\boldsymbol{x}) \ne0hj(x)̸=0,那我们就能通过改变αβ\alpha \betaαβ使得θP(x)\theta_{P}(\boldsymbol{x})θP(x)取到正无穷。

所以我们就有如下的式子,
θP(x)={f(x)x满足原始问题的约束+∞x其他 \theta_{P}(\boldsymbol{x})=\left\{\begin{array}{l}{f(\boldsymbol{x})} \quad x满足原始问题的约束 \\ {+\infty} \quad x 其他\end{array} \right. θP(x)={f(x)x+x
再考虑极小化问题:
min⁡xθP(x)=min⁡xmax⁡α,β⋅αi≥0L(x,α,β) \min _{\boldsymbol{x}} \theta_{P}(\boldsymbol{x})=\min _{\boldsymbol{x}} \max _{\boldsymbol{\alpha}, \boldsymbol{\beta} \cdot \alpha_{i} \geq 0} L(\boldsymbol{x}, \boldsymbol{\alpha}, \boldsymbol{\beta}) xminθP(x)=xminα,βαi0maxL(x,α,β)
这个问题的解和原问题是等价的,即它和原始问题(带有约束条件的f(x)最小化问题)有着相同的解。因为对 θP(x)\theta_{P}(\boldsymbol{x})θP(x)取最小值,就是对f(x)f(x)f(x)取最小值。如果我们定义原始问题的最优解为p∗p^{*}p,那么我们也有
p∗=min⁡xθP(x) p^{*}=\min _{x} \theta_{P}(x) p=xminθP(x)
到这里,我们就将原来带有约束条件的极小化问题,变成了不带约束条件的极小极大问题。到这一步我们还是无法求解,所以我们引入对偶问题,将极小极大问题转化为极大极小问题。

(三)对偶问题

定义:
θD(α,β)=min⁡xL(x,α,β) \theta_{D}(\alpha, \beta)=\min _{x} L(x, \alpha, \beta) θD(α,β)=xminL(x,α,β)

然后极大化θD\theta_{D}θD
max⁡α,βθD(α,β)=max⁡α,βmin⁡xL(x,α,β)s.t.ai≥0,i=1,2,⋯ ,k(4) \max _{\alpha, \beta} \theta_{D}(\alpha, \beta)=\max _{\boldsymbol{\alpha}, \boldsymbol{\beta}} \min _{\boldsymbol{x}} L(\boldsymbol{x}, \boldsymbol{\alpha}, \boldsymbol{\beta}) \quad s.t. \quad a_{i} \ge 0,\quad i=1,2, \cdots, k \qquad(4) α,βmaxθD(α,β)=α,βmaxxminL(x,α,β)s.t.ai0,i=1,2,,k(4)

之前我们是先求极大值,再求极小值,先求极大值的好处是可以根据结果将数据分为满足条件和不满足条件的两部分,然后再对结果求最小,即变成了对满足条件的x求最小值还原了原始问题。现在我们反过来,先求极小值再求极大值,将该问题成为原始问题的对偶问题,定义对偶问题的最优值:d∗=max⁡α,βθD(α,β) d^{*}=\max _{\alpha, \beta} \theta_{D}(\alpha, \beta) d=α,βmaxθD(α,β)

原始问题先固定xxx,求最优化(极大化)的α\alphaα,β\betaβ的解,再确定xxx(通过极小化)
而对偶问题是先固定α\alphaα,β\betaβ,求最优化(极小化)的xxx的解,在确定α\alphaα,β\betaβ(通过极大化)

关于将最小化问题转化为极大极小问题的另一种解释

我们最开始要解决的问题是等式和不等式约束小的极小值问题,即:
min⁡{f(x):gi(x)≤0,i=1,2,…,m}(2.0) \min \left\{f(\mathbf{x}) : g_{i}(\mathbf{x}) \leq 0, i=1,2, \ldots, m\right\} \qquad(2.0) min{f(x):gi(x)0,i=1,2,,m}(2.0)
(把等式约束合并到了不等式约束中)
假设一个下界为uuu(比真实最优解小),则对于方程组(2.1)无解:
f(x)&lt;v(2.1)gi(x)≤0,i=1,2,…,m \begin{array}{l}{f(\mathbf{x})&lt;v} \qquad (2.1) \\ {g_{i}(\mathbf{x}) \leq 0, i=1,2, \dots, m}\end{array} f(x)<v(2.1)gi(x)0,i=1,2,,m

如果方程组(2.1)有解,那么可以推出对于任意的λ≥0\lambda \ge 0λ0,如下方程(2.3)有解:
f(x)+∑i=1mλigi(x)&lt;v(2.3) f(\mathbf{x})+\sum_{i=1}^{m} \lambda_{i} g_{i}(\mathbf{x})&lt;v \qquad (2.3) f(x)+i=1mλigi(x)<v(2.3)

根据逆否命题,方程组(2.1)无解的充分条件是存在λ≥0\lambda \ge0λ0,让方程(3)无解(即2.3中左变的值大于等于uuu。将存在xx大于等于xx的条件转化为 min问题,则方程(3)无解的充要条件是
min⁡xf(x)+∑i=1mλigi(x)≥v(2.4) \min _{\mathbf{x}} f(\mathbf{x})+\sum_{i=1}^{m} \lambda_{i} g_{i}(\mathbf{x}) \geq v \qquad(2.4) xminf(x)+i=1mλigi(x)v(2.4)

因为我们要找最好的下界,所以这个时候的vvvλ\bm{\lambda}λ 应该取
v=max⁡λ≥0min⁡xf(x)+∑i=1mλigi(x) v=\max _{\lambda \geq 0} \min _{\mathbf{x}} f(\mathbf{x})+\sum_{i=1}^{m} \lambda_{i} g_{i}(\mathbf{x}) v=λ0maxxminf(x)+i=1mλigi(x)
即在满足各种条件下的vvv的最大值,可理解为vvv本来非常小但是不满足条件,满满增大到满足条件为止,此时的vvv为min值

原始问题与对偶问题的关系

我们要求原始问题的最优解,现在转化成了对偶问题的最优解,这两个解有什么关系呢,我们最想看到的就是这两个解是等价的,这样直接解对偶问题就行。
若原始问题和对偶问题都有最优值,则:
d∗=max⁡α,βmin⁡xL(x,α,β)≤min⁡xmax⁡α,β:αi≥0L(x,α,β)=p∗ d^{*}=\max _{\boldsymbol{\alpha}, \boldsymbol{\beta}} \min _{\boldsymbol{x}} L(\boldsymbol{x}, \boldsymbol{\alpha}, \boldsymbol{\beta}) \leq \min _{\boldsymbol{x}} \max _{\boldsymbol{\alpha}, \boldsymbol{\beta} : \alpha_{i} \geq 0} L(\boldsymbol{x}, \boldsymbol{\alpha}, \boldsymbol{\beta})=p^{*} d=α,βmaxxminL(x,α,β)xminα,β:αi0maxL(x,α,β)=p

证明:
对于任意的xxx, α,β\alpha , \betaα,β有:
min⁡xL(x,α,β)≤L(x,α,β)≤max⁡α,β:αi≥0L(x,α,β) \min _{\boldsymbol{x}} L(\boldsymbol{x}, \boldsymbol{\alpha}, \boldsymbol{\beta}) \leq L(\boldsymbol{x}, \boldsymbol{\alpha}, \boldsymbol{\beta}) \leq \max _{\boldsymbol{\alpha}, \boldsymbol{\beta} : \alpha_{i} \geq 0} L(\boldsymbol{x}, \boldsymbol{\alpha}, \boldsymbol{\beta}) xminL(x,α,β)L(x,α,β)α,β:αi0maxL(x,α,β)

所以有:
min⁡xL(x,α,β)≤max⁡α,β:αi≥0L(x,α,β) \min _{\boldsymbol{x}} L(\boldsymbol{x}, \boldsymbol{\alpha}, \boldsymbol{\beta}) \leq \max _{\boldsymbol{\alpha}, \boldsymbol{\beta} : \alpha_{i} \geq 0} L(\boldsymbol{x}, \boldsymbol{\alpha}, \boldsymbol{\beta}) xminL(x,α,β)α,β:αi0maxL(x,α,β)

因为上述式子是在任意条件下的xxx, α,β\alpha , \betaα,β,最大最小是任意条件中的特殊情况,所以我们有:
d∗=max⁡α,βmin⁡xL(x,α,β)≤min⁡xmax⁡α,β:αi≥0L(x,α,β)=p∗ d^{*}=\max _{\alpha, \beta} \min _{x} L(\boldsymbol{x}, \boldsymbol{\alpha}, \boldsymbol{\beta}) \leq \min _{\boldsymbol{x}} \max _{\boldsymbol{\alpha}, \boldsymbol{\beta} : \alpha_{i} \geq 0} L(\boldsymbol{x}, \boldsymbol{\alpha}, \boldsymbol{\beta})=p^{*} d=α,βmaxxminL(x,α,β)xminα,β:αi0maxL(x,α,β)=p

即对偶问题的解小于等于原始问题的解 d∗≤p∗d^{*} \le p^{*}dp。只有当等号成立的时候我们才能通过对偶问题来解决原始问题,那什么时候等式成立呢,那就是我们上述所说的KKT条件满足的时候。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值