拉格朗日乘子法(Lagrange Multiplier) 和KKT条件

Case 1:无约束的优化命题

比如
(1) min ⁡ J = x 1 2 + x 2 2 + x 3 2 + x 4 2 \min J=x_{1}^{2}+x_{2}^{2}+x_{3}^{2}+x_{4}^{2} \tag{1} minJ=x12+x22+x32+x42(1)
目标函数的最小值为 0 0 0,且各变量取值为 0 0 0

Case 2:带一个等式约束的优化命题

(2) ( 1 )    s . t .    x 1 + x 2 + x 3 + x 4 = 1 (1)\ \ s.t.\ \ x_{1}+x_{2}+x_{3}+x_{4}=1 \tag{2} (1)  s.t.  x1+x2+x3+x4=1(2)
可以转化为
min ⁡ J ‾ = x 1 2 + x 2 2 + x 3 2 + x 4 2 + λ ( 1 − x 1 − x 2 − x 3 − x 4 ) s . t .    x 1 + x 2 + x 3 + x 4 = 1 \begin{array}{c}{\min \overline{J}=x_{1}^{2}+x_{2}^{2}+x_{3}^{2}+x_{4}^{2}+\lambda\left(1-x_{1}-x_{2}-x_{3}-x_{4}\right)} \\ s.t. \ \ {x_{1}+x_{2}+x_{3}+x_{4}=1}\end{array} minJ=x12+x22+x32+x42+λ(1x1x2x3x4)s.t.  x1+x2+x3+x4=1
其中 λ \lambda λ 为拉格朗日乘子,KKT条件退化为目标函数的导数为 0 0 0
∂ J ‾ ∂ x = ( 2 x 1 − λ 2 x 2 − λ 2 x 3 − λ 2 x 4 − λ ) = ( 0 0 0 0 ) \frac{\partial \overline{J}}{\partial x}=\left( \begin{array}{c}{2 x_{1}-\lambda} \\ {2 x_{2}-\lambda} \\ {2 x_{3}-\lambda} \\ {2 x_{4}-\lambda}\end{array}\right)=\left( \begin{array}{l}{0} \\ {0} \\ {0} \\ {0}\end{array}\right) xJ=2x1λ2x2λ2x3λ2x4λ=0000
可以得到问题的解为
x 1 = x 2 = x 3 = x 4 = 1 4  and  J = 1 4 x_{1}=x_{2}=x_{3}=x_{4}=\frac{1}{4} \text { and } J=\frac{1}{4} x1=x2=x3=x4=41 and J=41

Case 3:一个等式加一个不等式约束的优化命题

(3) ( 2 )   s . t .    x 4 ≤ A (2)\ \\s.t. \ \ x_{4} \leq A \tag{3} (2) s.t.  x4A(3)
可以转化为: J ‾ = x 1 2 + x 2 2 + x 3 2 + x 4 2 + λ ( 1 − x 1 − x 2 − x 3 − x 4 ) + μ ( x 4 − A ) \overline{J}=x_{1}^{2}+x_{2}^{2}+x_{3}^{2}+x_{4}^{2}+\lambda\left(1-x_{1}-x_{2}-x_{3}-x_{4}\right)+\mu\left(x_{4}-A\right) J=x12+x22+x32+x42+λ(1x1x2x3x4)+μ(x4A)对应的KKT条件为 ∂ J ‾ ∂ x = 0 x 1 + x 2 + x 3 + x 4 = 1 x 4 ≤ A μ ≥ 0 μ ( x 4 − A ) = 0 \begin{array}{c}{\frac{\partial \overline{J}}{\partial x}=0} \\ { x_{1}+x_{2}+x_{3}+x_{4}=1 } \\ {x_{4} \leq A} \\ {\mu \geq 0} \\ {\mu\left(x_{4}-A\right)=0}\end{array} xJ=0x1+x2+x3+x4=1x4Aμ0μ(x4A)=0

考虑标准化问题

m i n f ( x ) s . t .    g j ( x ) = 0 , j = 1 , . . . , m h k ( x ) = 0 , k = 1 , . . . , p minf(x)\\ s.t. \ \ g_j(x)=0, j=1,...,m \\h_k(x)=0,k=1,...,p minf(x)s.t.  gj(x)=0,j=1,...,mhk(x)=0,k=1,...,p
定义拉格朗日函数为
L ( x , { λ j } , { μ k } ) = f ( x ) + ∑ j = 1 m λ j g j ( x ) + ∑ k = 1 p μ k h k ( x ) L\left(x,\left\{\lambda_{j}\right\},\left\{\mu_{k}\right\}\right)=f(x)+\sum_{j=1}^{m} \lambda_{j} g_{j}(x)+\sum_{k=1}^{p} \mu_{k} h_{k}(x) L(x,{λj},{μk})=f(x)+j=1mλjgj(x)+k=1pμkhk(x) KKT条件为 ∇ x L = 0 g j ( x ) = 0 , j = 1 , … , m h k ( x ) ⩽ 0 , k = 1 , . . . , p μ k ⩾ 0 , k = 1 , . . . , p μ k h k ( x ) = 0 , k = 1 , … , p \begin{array}{l}{\nabla_{x} L=0} \\ {g_{j}(x)=0, j=1, \ldots, m} \\ {h_{k}(x) \leqslant 0, k=1,...,p} \\ {\mu_{k} \geqslant 0,k=1,...,p} \\ {\mu_{k} h_{k}(x)=0, k=1, \ldots, p}\end{array} xL=0gj(x)=0,j=1,,mhk(x)0,k=1,...,pμk0,k=1,...,pμkhk(x)=0,k=1,,p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值