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

tech2025-11-28  30

拉格朗日乘数法中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)\leq0 uk0gk(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 u u无关

∵ u k ≥ 0 g k ( x ) ≤ 0 \because u_k\geq0 \quad g_k(x)\leq0 uk0gk(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] 拉格朗日乘数法

最新回复(0)