在使用拉格朗日乘数法进行优化求解的时候,会用到通过求解原始问题的对偶问题,来求得原始问题的解。在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=1uk∇gk(x)=0ukgk(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^*) 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 ∵uk≥0gk(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 ∵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} xminug(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) ∴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] 拉格朗日乘数法
