拉格朗日乘数法中KKT条件的合理性

拉格朗日乘数法中KKT条件的合理性

目标

在使用拉格朗日乘数法进行优化求解的时候,会用到通过求解原始问题的对偶问题,来求得原始问题的解。在KKT条件的限制下,对偶问题的解同时也是原始问题的解。即目标是为了证明这个问题。

KKT条件是什么

假设原始待优化问题为:
m i n f ( x ) min f(x)minf(x)
s . t . g k ( x ) ≤ 0   ( k = 1 , 2 , . . . , m ) \qquad s.t.\quad g_k(x) \leq0 \ (k=1,2,...,m)s.t.gk(x)0 (k=1,2,...,m)

拉格朗日函数为:
L ( x , u ) = f ( x ) + ∑ k = 1 u k g k ( x ) L(x,u) = f(x) + \sum_{k=1}u_kg_k(x)L(x,u)=f(x)+k=1ukgk(x)

上式对应的KKT条件为:
{ ∇ f ( x ) + ∑ k = 1 u k ∇ g k ( x ) = 0 u k g k ( x ) = 0   ( k = 1 , 2 , . . . , m ) g k ( x ) ≤ 0 u k ≥ 0 \begin{cases} \nabla f(x)+\sum_{k=1}u_k\nabla g_k(x)=0\\ u_kg_k(x)=0\ (k=1,2,...,m)\\ g_k(x)\leq0\\ u_k\geq0 \end{cases}f(x)+k=1ukgk(x)=0ukgk(x)=0 (k=1,2,...,m)gk(x)0uk0

开始证明

要证明的目标公式,在极值点x ∗ x^*x处有:
m i n x m a x u L ( x , u ) = m a x u m i n x L ( x , u ) = m i n x f ( x ) = f ( x ∗ ) \mathop{min} \limits_{x} \mathop{max}\limits_{u} L(x,u)= \mathop{max}\limits_{u}\mathop{min} \limits_{x}L(x,u)=\mathop{min} \limits_{x}f(x)=f(x^*)xminumaxL(x,u)=umaxxminL(x,u)=xminf(x)=f(x)

证明 m i n x m a x u L ( x , u ) = m i n x f ( x ) \mathop{min} \limits_{x} \mathop{max}\limits_{u} L(x,u)=\mathop{min} \limits_{x}f(x)xminumaxL(x,u)=xminf(x)

∵ u k ≥ 0 g k ( x ) ≤ 0 = = > u k g k ( x ) ≤ 0 \because u_k\geq0 \quad g_k(x)\leq0 ==>u_kg_k(x)\leq0uk0gk(x)0==>ukgk(x)0
∴ m a x u L ( x , u ) = f ( x ) \therefore \mathop{max} \limits_{u}L(x,u)=f(x)umaxL(x,u)=f(x)
∴ m i n x m a x u L ( x , u ) = m i n x f ( x ) \therefore \mathop{min} \limits_{x}\mathop{max}\limits_{u}L(x,u)= \mathop{min} \limits_{x}f(x)xminumaxL(x,u)=xminf(x)

证明m a x u m i n x L ( x , u ) = m i n x f ( x ) \mathop{max}\limits_{u}\mathop{min} \limits_{x}L(x,u)=\mathop{min} \limits_{x}f(x)umaxxminL(x,u)=xminf(x)

m a x u m i n x L ( x , u ) = m a x u [ m i n x f ( x ) + m i n x u g ( x ) ] \mathop{max}\limits_{u}\mathop{min} \limits_{x}L(x,u)=\mathop{max}\limits_{u}[\mathop{min}\limits_{x}f(x)+\mathop{min}\limits_{x}ug(x)]umaxxminL(x,u)=umax[xminf(x)+xminug(x)]
= m a x u m i n x f ( x ) + m a x u m i n x u g ( x ) \qquad =\mathop{max}\limits_{u}\mathop{min} \limits_{x}f(x)+\mathop{max}\limits_{u}\mathop{min} \limits_{x}ug(x)=umaxxminf(x)+umaxxminug(x)
= m i n x f ( x ) + m a x u m i n x u g ( x ) \qquad =\mathop{min} \limits_{x}f(x)+\mathop{max}\limits_{u}\mathop{min} \limits_{x}ug(x)=xminf(x)+umaxxminug(x) # 因为f ( x ) f(x)f(x)u uu无关

∵ u k ≥ 0 g k ( x ) ≤ 0 \because u_k\geq0 \quad g_k(x)\leq0uk0gk(x)0
∴ \therefore
m i n x u g ( x ) = { 0 i f   u = 0   o r   g ( x ) = 0 − ∞ i f u > 0   a n d   g ( x ) < 0 \mathop{min} \limits_{x}ug(x)= \begin{cases} 0& if \ u=0 \ or \ g(x)=0\\ -\infin &if u\gt0 \ and \ g(x)\lt0 \end{cases}xminug(x)={0if u=0 or g(x)=0ifu>0 and g(x)<0

∴ m a x u m i n x L ( x , u ) = m i n x f ( x ) + m a x u m i n x u g ( x ) = m i n x f ( x ) \therefore \mathop{max}\limits_{u}\mathop{min} \limits_{x}L(x,u)=\mathop{min} \limits_{x}f(x)+\mathop{max}\limits_{u}\mathop{min} \limits_{x}ug(x)=\mathop{min} \limits_{x}f(x)umaxxminL(x,u)=xminf(x)+umaxxminug(x)=xminf(x)

∴ m i n x m a x u L ( x , u ) = m a x u m i n x L ( x , u ) \therefore \mathop{min} \limits_{x} \mathop{max}\limits_{u} L(x,u)= \mathop{max}\limits_{u}\mathop{min} \limits_{x}L(x,u)xminumaxL(x,u)=umaxxminL(x,u)

总结
从上面证明可知,在KKT条件成立的情况下,原问题的解,对偶问题的解是相同的
在极值点处,该点既是拉格朗日函数的极值点,又是原问题的极值点。

参考文献

[Math & Algorithm] 拉格朗日乘数法


版权声明:本文为D_bandy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。