Lagrange乘子法与KTT条件

本文详细介绍了在优化问题中,如何利用拉格朗日乘子法解决带有等式约束的问题,以及通过KTT(Karush-Kuhn-Tucker)条件处理不等式约束的问题。通过建立拉格朗日函数,求解偏导数为零的点,并结合KTT条件,可以找到满足约束的最优解。内容涵盖了从无约束到有约束优化问题的转换及其求解策略。

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

Lagrange乘子法与KTT条件

Date: 2021.11.20.

参考文献:

https://blog.youkuaiyun.com/lijil168/article/details/69395023

引言

在求解最优化问题中,拉格朗日乘子法KTT(Karush Kuhn Tucker)条件是两种常用的方法。在有等式约束的条件下使用前者,有不等式约束情况下使用后者。

1.1 无约束优化问题

这是最简单的情况,解决方法为对函数求导,令求导函数等于0的点可能是极值点,将结果代回原函数进行验证即可。

1.2 等式约束条件

设目标函数为 f ( x ) f(x) f(x),约束条件为 h k ( x ) h_k(x) hk(x),则问题:
min ⁡ f ( x ) s . t . h k ( x ) = 0 k = 1 , 2 , ⋯   , l \min f(x)\\ s.t. \quad h_k(x)=0 \quad k=1,2,\cdots,l minf(x)s.t.hk(x)=0k=1,2,,l
的解决方法为消元法或者拉格朗日乘子法。消元法较为简单,故不再赘述,此处主要引入拉格朗日乘子法。

首先定义拉格朗日函数 F ( x ) F(x) F(x):
F ( x , λ ) = f ( x ) + ∑ k = 1 l λ k h k ( x ) F(x,\lambda)=f(x)+\sum_{k=1}^l\lambda_kh_k(x) F(x,λ)=f(x)+k=1lλkhk(x)
其中 λ k \lambda_k λk是各个约束条件的待定系数。

然后求解偏导方程:
∂ F ∂ x = 0 i = 1 , ⋯   , n ∂ F ∂ λ k = 0 k = 1 , ⋯   , l \frac{\partial F}{\partial x}=0 \quad i=1,\cdots,n \\ \frac{\partial F}{\partial \lambda_k}=0 \quad k=1,\cdots,l xF=0i=1,,nλkF=0k=1,,l
如果有 l l l个约束条件,就应该有 l + 1 l+1 l+1个方程,求出方程组的解得出可行解,代回原方程验证即得最优解。

1.3 不等式约束条件

设目标函数为 f ( x ) f(x) f(x),不等式约束为 g ( x ) g(x) g(x),有的书上还会加上等式约束 h ( x ) h(x) h(x),则约束优化问题描述如下:
min ⁡ f ( x ) s . t . h j ( x ) = 0 j = 1 , ⋯   , p g k ( x ) ≤ 0 k = 1 , ⋯   , q \min f(x)\\ s.t. \quad h_j(x)=0 \quad j=1,\cdots,p\\ g_k(x)\leq 0 \quad k=1,\cdots,q minf(x)s.t.hj(x)=0j=1,,pgk(x)0k=1,,q
则我们定义上述问题的拉格朗日函数:
L ( x , λ , μ ) = f ( x ) + ∑ j = 1 p λ j h j ( x ) + ∑ k = 1 q μ k g k ( x ) L(x,\lambda, \mu)=f(x)+\sum_{j=1}^p \lambda_jh_j(x)+\sum_{k=1}^q \mu_k g_k(x) L(x,λ,μ)=f(x)+j=1pλjhj(x)+k=1qμkgk(x)
常用的方法是KKT条件

以下是KTT条件的推导过程:


  • 证明(KTT条件):

令:
L ( x , μ ) = f ( x ) + ∑ k = 1 q μ k g k ( x ) L(x, \mu)=f(x)+\sum_{k=1}^q \mu_k g_k(x) L(x,μ)=f(x)+k=1qμkgk(x)
其中, μ k ≥ 0 \mu_k \geq 0 μk0 g k ( x ) ≤ 0 g_k(x)\leq 0 gk(x)0.

由于
{ μ k ≥ 0 g k ( x ) ≤ 0 ⇒ μ g ( x ) ≤ 0 (1) \begin{cases} &\mu_k \geq 0\\ &g_k(x)\leq0\\ \end{cases} \Rightarrow \mu g(x)\leq0 \tag{1} {μk0gk(x)0μg(x)0(1)

max ⁡ μ L ( x , μ ) = f ( x ) (2) \max_{\mu} L(x,\mu)=f(x) \tag{2} μmaxL(x,μ)=f(x)(2)
因此
min ⁡ x f ( x ) = min ⁡ x max ⁡ μ L ( x , μ ) (3) \min_x f(x)=\min_x \max_{\mu}L(x,\mu) \tag{3} xminf(x)=xminμmaxL(x,μ)(3)
又由 ( 1 ) (1) (1)式,我们有:
min ⁡ x μ g ( x ) = { 0 μ = 0 o r g ( x ) = 0 − ∞ μ > 0 a n d g ( x ) < 0 \min_x \mu g(x)= \begin{cases} &0& \mu=0&or&g(x)=0\\ &-\infin & \mu>0 & and & g(x) <0 \end{cases} xminμg(x)={0μ=0μ>0orandg(x)=0g(x)<0
因此:
max ⁡ μ min ⁡ x μ g ( x ) = 0 μ = 0 o r g ( x ) = 0 \max_{\mu}\min_{x} \mu g(x)=0\\ \mu=0 \quad or \quad g(x)=0 μmaxxminμg(x)=0μ=0org(x)=0
故:
max ⁡ μ min ⁡ x L ( x , μ ) = min ⁡ x f ( x ) + max ⁡ μ min ⁡ x μ g ( x ) = min ⁡ x f ( x ) μ = 0 o r g ( x ) = 0 (4) \max_{\mu}\min_x L(x,\mu)=\min_x f(x)+\max_{\mu}\min_x \mu g(x) =\min_x f(x)\\ \mu=0 \quad or \quad g(x)=0 \tag{4} μmaxxminL(x,μ)=xminf(x)+μmaxxminμg(x)=xminf(x)μ=0org(x)=0(4)
联合 ( 3 ) , ( 4 ) (3),(4) (3),(4)式我们得到:
min ⁡ x max ⁡ μ L ( x , μ ) = max ⁡ μ min ⁡ x L ( x , μ ) = min ⁡ x f ( x ) \min_x \max_{\mu}L(x,\mu)=\max_{\mu}\min_x L(x,\mu)=\min_xf(x) xminμmaxL(x,μ)=μmaxxminL(x,μ)=xminf(x)
我们把 min ⁡ x max ⁡ μ L ( x , μ ) \min_x \max_{\mu}L(x,\mu) minxmaxμL(x,μ)称为原问题, max ⁡ μ min ⁡ x L ( x , μ ) \max_{\mu}\min_x L(x,\mu) maxμminxL(x,μ)称为对偶问题,上式表明当满足一定条件时,原问题、对偶问题的解,以及 min ⁡ x f ( x ) \min_xf(x) minxf(x)是相同的,且在最优解 x ∗ x^* x μ = 0 \mu=0 μ=0 or g ( x ∗ ) = 0 g(x^*)=0 g(x)=0,把 x ∗ x^{*} x代入 ( 2 ) (2) (2)得到 max ⁡ μ L ( x ∗ , μ ) = f ( x ∗ ) \max_{\mu}L(x^*,\mu)=f(x^*) maxμL(x,μ)=f(x),由 ( 4 ) (4) (4)得到 max ⁡ μ min ⁡ x L ( x , μ ) = min ⁡ x f ( x ∗ ) \max_{\mu}\min_xL(x,\mu)=\min_xf(x^*) maxμminxL(x,μ)=minxf(x),所以 L ( x ∗ , μ ) = min ⁡ x L ( x , μ ) L(x^*,\mu)=\min_xL(x,\mu) L(x,μ)=minxL(x,μ),这说明 x ∗ x^{*} x也是 L ( x , μ ) L(x,\mu) L(x,μ)的极值点,即:
∂ L ( x , μ ) ∂ x ∣ x = x ∗ = 0 \frac{\partial L(x,\mu)}{\partial x}|_{x=x^*}=0 xL(x,μ)x=x=0
综上讨论,有:
{ min ⁡ x max ⁡ μ L ( x , μ ) = max ⁡ μ min ⁡ x L ( x , μ ) = min ⁡ x f ( x ) = f ( x ∗ ) μ k g k ( x ∗ ) ≤ 0 ∂ L ( x , μ ) ∂ x ∣ x = x ∗ = 0 \begin{cases} &\min_x \max_{\mu}L(x,\mu)=\max_{\mu}\min_x L(x,\mu)=\min_xf(x)=f(x^*)\\ & \mu_k g_k(x^*)\leq0\\ &\frac{\partial L(x,\mu)}{\partial x}|_{x=x^*}=0 \end{cases} minxmaxμL(x,μ)=maxμminxL(x,μ)=minxf(x)=f(x)μkgk(x)0xL(x,μ)x=x=0
如果我们考虑等式约束:
L ( x , λ , μ ) = f ( x ) + ∑ i n λ i h i ( x ) + ∑ k = 1 q μ k g k ( x ) L(x,\lambda,\mu)=f(x)+\sum_i^n \lambda_ih_i(x)+\sum_{k=1}^q\mu_k g_k(x) L(x,λ,μ)=f(x)+inλihi(x)+k=1qμkgk(x)
则有:
{ min ⁡ x max ⁡ μ L ( x , λ , μ ) = max ⁡ μ min ⁡ x L ( x , λ , μ ) = min ⁡ x f ( x ) = f ( x ∗ ) μ k g k ( x ∗ ) ≤ 0 ∂ L ( x , λ , μ ) ∂ x ∣ x = x ∗ = 0 \begin{cases} &\min_x \max_{\mu}L(x,\lambda,\mu)=\max_{\mu}\min_x L(x,\lambda,\mu)=\min_xf(x)=f(x^*)\\ & \mu_k g_k(x^*)\leq0\\ &\frac{\partial L(x,\lambda,\mu)}{\partial x}|_{x=x^*}=0 \end{cases} minxmaxμL(x,λ,μ)=maxμminxL(x,λ,μ)=minxf(x)=f(x)μkgk(x)0xL(x,λ,μ)x=x=0
Q.E.D.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值