目标
在使用拉格朗日乘数法进行优化求解的时候,会用到通过求解原始问题的对偶问题,来求得原始问题的解。在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=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 uu无关
∵ 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条件成立的情况下,原问题的解,对偶问题的解是相同的
在极值点处,该点既是拉格朗日函数的极值点,又是原问题的极值点。