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

tech2025-11-28  87

拉格朗日乘数法中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=1​uk​gk​(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=1​uk​∇gk​(x)=0uk​gk​(x)=0 (k=1,2,...,m)gk​(x)≤0uk​≥0​

开始证明

要证明的目标公式,在极值点 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^*) xmin​umax​L(x,u)=umax​xmin​L(x,u)=xmin​f(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) xmin​umax​L(x,u)=xmin​f(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 ∵uk​≥0gk​(x)≤0==>uk​gk​(x)≤0 ∴ m a x u L ( x , u ) = f ( x ) \therefore \mathop{max} \limits_{u}L(x,u)=f(x) ∴umax​L(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) ∴xmin​umax​L(x,u)=xmin​f(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) umax​xmin​L(x,u)=xmin​f(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)] umax​xmin​L(x,u)=umax​[xmin​f(x)+xmin​ug(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) =umax​xmin​f(x)+umax​xmin​ug(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) =xmin​f(x)+umax​xmin​ug(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 ∵uk​≥0gk​(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} xmin​ug(x)={0−∞​if 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) ∴umax​xmin​L(x,u)=xmin​f(x)+umax​xmin​ug(x)=xmin​f(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) ∴xmin​umax​L(x,u)=umax​xmin​L(x,u)

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

参考文献

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

最新回复(0)