约束优化问题的KKT条件推导
KKT条件是约束优化问题最优解的一阶必要条件,证明角度有很多,比较容易看懂的是从约束条件梯度线性无关角度出发的证明,下面进行分析。
约束优化问题的一般形式可写为
minx∈Rnf(x)s.t.{ci(x)=0,i∈Eci(x)≤0,i∈I(1)\min_{x\in \mathbb{R} ^n} f\left( x \right) \\s.t. \left\{ \begin{aligned} c_i(x)&=0, i\in \mathcal{E}\\ c_i(x)&\le 0, i\in \mathcal{I}\\\end{aligned} \right. \tag{1} x∈Rnminf(x)s.t.{ci(x)ci(x)=0,i∈E≤0,i∈I(1)
其中,fff和cic_ici均为光滑函数,E\mathcal{E}E和I\mathcal{I}I分别表示等式和不等式约束。可行集为满足约束cic_ici的xxx集合,即Ω={x∣ci(x)=0,i∈E;ci(x)≤0,i∈I}\Omega =\left\{ \left. x \right|c_i(x)=0, i\in \mathcal{E} ; c_i(x)\le 0, i\in \mathcal{I} \right\}Ω={x∣ci(x)=0,i∈E;ci(x)≤0,i∈I}。
- 局部解:x∗∈Ωx^{\ast}\in \Omegax∗∈Ω,且存在x∗x^{\ast}x∗的邻域N\mathcal{N}N,使得当x∈N∩Ωx\in \mathcal{N} \cap \Omegax∈N∩Ω时,f(x∗)≤f(x)f\left( x^{\ast} \right) \le f\left( x \right)f(x∗)≤f(x);
- 严格局部解:x∗∈Ωx^{\ast}\in \Omegax∗∈Ω,且存在x∗x^{\ast}x∗的邻域N\mathcal{N}N,使得当x∈N∩Ωx\in \mathcal{N} \cap \Omegax∈N∩Ω且x≠x∗x\ne x^{\ast}x=x∗时,f(x∗)<f(x)f\left( x^{\ast} \right) < f\left( x \right)f(x∗)<f(x);
- 孤立局部解:x∗∈Ωx^{\ast}\in \Omegax∗∈Ω,且存在x∗x^{\ast}x∗的邻域N\mathcal{N}N,使得x∗x^{\ast}x∗为N∩Ω\mathcal{N} \cap \OmegaN∩Ω的唯一局部解;
- 积极集(active set): A(x)=E∪{i∈I∣ci(x)=0}\mathcal{A} \left( x \right) =\mathcal{E} \cup \left\{ \left. i\in \mathcal{I} \right|c_i\left( x \right) =0 \right\}A(x)=E∪{i∈I∣ci(x)=0};
- 接近可行点xxx的可行序列{zk}\left\{ z_k \right\}{zk}:对充分大的kkk,zk∈Ωz_k\in \Omegazk∈Ω,且zk→xz_k\rightarrow xzk→x;
- 切向量ddd:存在接近可行点xxx的可行序列{zk}\left\{ z_k \right\}{zk}和趋于0的正数序列{tk}\left\{ t_k \right\}{tk}(即tk→0t_k\rightarrow 0tk→0),使得limk→∞zk−xtk=d\lim\limits_{k\rightarrow \infty} \frac{z_k-x}{t_k}=dk→∞limtkzk−x=d;
- 切锥:在x∗x^{\ast}x∗处的切向量集合TΩ(x∗)T_{\Omega}\left( x^{\ast} \right)TΩ(x∗);
- 线性化可行方向:F(x)={d∣dT∇ci(x)=0,i∈EdT∇ci(x)≤0,i∈A(x)∩I}\mathcal{F} \left( x \right) =\left\{ d\left| \begin{array}{l} d^{\mathrm{T}}\nabla c_i(x)=0,i\in \mathcal{E}\\ d^{\mathrm{T}}\nabla c_i(x)\le 0,i\in \mathcal{A} (x)\cap \mathcal{I}\\\end{array} \right. \right\}F(x)={d∣∣∣∣dT∇ci(x)=0,i∈EdT∇ci(x)≤0,i∈A(x)∩I}
- LICQ(Linear independence constraint qualification): {∇ci(x),i∈A(x)}\left\{ \nabla c_i\left( x \right) ,i\in \mathcal{A} \left( x \right) \right\}{∇ci(x),i∈A(x)}线性无关;
KKT条件 设x∗x^{\ast}x∗为的局部解,fff和cic_ici连续可微,且在x∗x^{\ast}x∗处LICQ条件成立,则存在Lagrange乘子向量λ∗\lambda ^{\ast}λ∗(其分量为λi∗,i∈E∪I\lambda _{i}^{\ast},i\in \mathcal{E} \cup \mathcal{I}λi∗,i∈E∪I),使得如下条件在(x∗,λ∗)\left( x^{\ast},\lambda ^{\ast} \right)(x∗,λ∗)处成立:
∇xL(x∗,λ∗)=∇f(x∗)+∑i∈E∪Iλi∗∇ci(x∗)=0ci(x∗)=0,i∈Eci(x∗)≤0,i∈Iλi∗≥0,i∈Iλi∗ci(x∗)=0,i∈E∪I(2)\begin{aligned} \nabla _x\mathcal{L} \left( x^{\ast},\lambda ^{\ast} \right) &=\nabla f\left( x^{\ast} \right) +\sum_{i\in \mathcal{E} \cup \mathcal{I}}{\lambda _{i}^{\ast}\nabla c_i\left( x^{\ast} \right)}=0\\ c_i\left( x^{\ast} \right) &=0,i\in \mathcal{E} \\ c_i\left( x^{\ast} \right) &\le 0,i\in \mathcal{I}\\ \lambda _{i}^{\ast}&\ge 0,i\in \mathcal{I}\\ \lambda _{i}^{\ast}c_i\left( x^{\ast} \right) &=0,i\in \mathcal{E} \cup \mathcal{I} \end{aligned}\tag{2} ∇xL(x∗,λ∗)ci(x∗)ci(x∗)λi∗λi∗ci(x∗)=∇f(x∗)+i∈E∪I∑λi∗∇ci(x∗)=0=0,i∈E≤0,i∈I≥0,i∈I=0,i∈E∪I(2)
式(2)中的最后一项又称为互补松弛条件。
- 严格互补:对i∈Ii\in \mathcal{I}i∈I,λi∗\lambda _{i}^{\ast}λi∗和ci(x∗)c_i\left( x^{\ast} \right)ci(x∗)只有一个为零,即对i∈A∩I(x)i\in \mathcal{A} \cap \mathcal{I} \left( x \right)i∈A∩I(x),λi∗>0\lambda _{i}^{\ast}>0λi∗>0;
引理1 设x∗x^{\ast}x∗为可行点,则有
(1)TΩ(x∗)⊂F(x∗)T_{\Omega}( x^{\ast}) \subset \mathcal{F}( x^{\ast})TΩ(x∗)⊂F(x∗);
(2)若LICQ条件成立,则F(x∗)=TΩ(x∗)\mathcal{F}(x^{\ast}) =T_{\Omega}(x^{\ast})F(x∗)=TΩ(x∗)。
证明:
(1)令{zk}\{ z_k\}{zk}和{tk}\{ t_k\}{tk}为定义切向量的序列,即limk→∞zk−x∗tk=d\displaystyle\lim_{k\rightarrow \infty} \frac{z_k-x^{\ast}}{t_k}=dk→∞limtkzk−x∗=d,tk>0t_k>0tk>0且tk→0t_k\rightarrow 0tk→0,则对充分大的kkk,有
zk=x∗+tkd+o(tk)(3)z_k=x^\ast+t_kd+o(t_k)\tag{3} zk=x∗+tkd+o(tk)(3)
注意到zk∈Ωz_k\in \Omegazk∈Ω,对等式约束i∈Ei\in\mathcal{E}i∈E,结合式(3)和Taylor公式有
0=1tkci(zk)=1tk[ci(x∗)+tk∇ciT(x∗)d+o(tk)]=∇ciT(x∗)d+o(tk)tk(4)\begin{aligned} 0&=\frac{1}{t_k}c_i(z_k)\\ &=\frac{1}{t_k}[c_i(x^\ast)+t_k\nabla c_i^\mathrm{T}(x^\ast)d+o(t_k)]\\ &=\nabla c_i^\mathrm{T}(x^\ast)d+\frac{o(t_k)}{t_k} \end{aligned}\tag{4} 0=tk1ci(zk)=tk1[ci(x∗)+tk∇ciT(x∗)d+o(tk)]=∇ciT(x∗)d+tko(tk)(4)
对上式取极限k→∞k\rightarrow\inftyk→∞,有∇ciT(x∗)d=0\nabla c_i^\mathrm{T}(x^\ast)d=0∇ciT(x∗)d=0。
类似地,对于积极的不等式约束i∈A(x∗)∩Ii\in\mathcal{A}(x^\ast)\cap\mathcal{I}i∈A(x∗)∩I,有
0≥1tkci(zk)=1tk[ci(x∗)+tk∇ciT(x∗)d+o(tk)]=∇ciT(x∗)d+o(tk)tk(5)\begin{aligned} 0&\geq\frac{1}{t_k}c_i(z_k)\\ &=\frac{1}{t_k}[c_i(x^\ast)+t_k\nabla c_i^\mathrm{T}(x^\ast)d+o(t_k)]\\ &=\nabla c_i^\mathrm{T}(x^\ast)d+\frac{o(t_k)}{t_k} \end{aligned}\tag{5} 0≥tk1ci(zk)=tk1[ci(x∗)+tk∇ciT(x∗)d+o(tk)]=∇ciT(x∗)d+tko(tk)(5)
对上式取极限k→∞k\rightarrow\inftyk→∞,有∇ciT(x∗)d≤0\nabla c_i^\mathrm{T}(x^\ast)d\leq0∇ciT(x∗)d≤0,第(1)条得证。
(2)设x∗x^\astx∗处有mmm个积极约束(m<nm<nm<n,即积极约束的个数小于优化变量的维数,否则优化问题没有意义),记为c(x∗)=[c1(x∗)⋯ci(x∗)⋯cm(x∗)]i∈A(x∗)Tc(x^\ast)=[c_1(x^\ast)\cdots c_i(x^\ast)\cdots c_m(x^\ast)]^\mathrm{T}_{i\in\mathcal{A}(x^\ast)}c(x∗)=[c1(x∗)⋯ci(x∗)⋯cm(x∗)]i∈A(x∗)T,c(x∗)c(x^\ast)c(x∗)各分量的梯度组成m×nm\times nm×n矩阵A(x∗)A(x^\ast)A(x∗)的行,即AT(x∗)=[∇ci(x∗)]i∈A(x∗)A^\mathrm{T}(x^\ast)=[\nabla c_i(x^\ast)]_{i\in\mathcal{A}(x^\ast)}AT(x∗)=[∇ci(x∗)]i∈A(x∗),由于LICQ条件成立,A(x∗)A(x^\ast)A(x∗)为行满秩矩阵,令其零空间的基向量组成n×(n−m)n\times (n-m)n×(n−m)矩阵ZZZ的列,即A(x∗)Z=0A(x^\ast)Z=0A(x∗)Z=0且ZZZ为列满秩矩阵。
设d∈F(x∗)d\in\mathcal{F}( x^{\ast})d∈F(x∗),且{tk}k=0∞\{t_k\}_{k=0}^\infty{tk}k=0∞为满足limk→∞tk=0\displaystyle\lim_{k\rightarrow\infty}t_k=0k→∞limtk=0的任意正数序列,定义如下参数化方程
R(z,t)=[c(z)−tA(x∗)dZT(z−x∗−td)]=0(6)R(z,t)=\begin{bmatrix} c(z)-tA(x^\ast)d\\ Z^\mathrm{T}(z-x^\ast-td) \end{bmatrix}=0\tag{6} R(z,t)=[c(z)−tA(x∗)dZT(z−x∗−td)]=0(6)
下面只需证明给定足够小的t=tk>0t=t_k>0t=tk>0,式(6)的解z=zkz=z_kz=zk为接近x∗x^\astx∗的可行序列,且limk→∞zk−xtk=d\lim\limits_{k\rightarrow \infty} \frac{z_k-x}{t_k}=dk→∞limtkzk−x=d即可。
考虑到t=0t=0t=0,z=x∗z=x^\astz=x∗为式(6)的一个解,对应RRR的Jacobian矩阵为
∇zR(x∗,0)=[A(x∗)ZT](7)\nabla_zR(x^\ast,0)=\begin{bmatrix} A(x^\ast)\\ Z^\mathrm{T} \end{bmatrix}\tag{7} ∇zR(x∗,0)=[A(x∗)ZT](7)
显然∇zR(x∗,0)\nabla_zR(x^\ast,0)∇zR(x∗,0)为非奇异矩阵,由隐函数定理可知,对充分小的tk>0t_k>0tk>0,式(6)有唯一解zkz_kzk,且由d∈F(x∗)d\in\mathcal{F}( x^{\ast})d∈F(x∗)可知有
i∈E⇒ci(zk)=tk∇ciT(x∗)d=0i∈A(x∗)∩I⇒ci(zk)=tk∇ciT(x∗)d≤0(8)\begin{aligned} i\in\mathcal{E}\Rightarrow c_i(z_k)=t_k\nabla c_i^\mathrm{T}(x^\ast)d=0\\ i\in\mathcal{A}(x^\ast) \cap \mathcal{I}\Rightarrow c_i(z_k)=t_k\nabla c_i^\mathrm{T}(x^\ast)d\leq0\tag{8} \end{aligned} i∈E⇒ci(zk)=tk∇ciT(x∗)d=0i∈A(x∗)∩I⇒ci(zk)=tk∇ciT(x∗)d≤0(8)
可见zkz_kzk为可行点(对于充分小的tk>0t_k>0tk>0,zkz_kzk足够接近x∗x^\astx∗,考虑x∗x^\astx∗足够小邻域内的zkz_kzk,则可知zkz_kzk同样满足其他严格的不等式约束)。
事实上,在(x∗,0)(x^\ast,0)(x∗,0)附近,式(6)的解zzz可视为关于ttt的隐函数,即z=z(t)z=z(t)z=z(t)且zk=z(tk)z_k=z(t_k)zk=z(tk),且由隐函数定理可知zzz关于ttt连续可微,满足
z′(0)=−∇zR(x∗,0)−1∇Rt(x∗,0)(9)z'(0)=-\nabla_zR(x^\ast,0)^{-1}\nabla R_t(x^\ast,0)\tag{9} z′(0)=−∇zR(x∗,0)−1∇Rt(x∗,0)(9)
结合式(6)、(7)和(9)可知z′(0)=dz'(0)=dz′(0)=d,由于z(0)=x∗z(0)=x^\astz(0)=x∗,有
zk−x∗tk=z(0)+tkz′(0)+o(tk)−x∗tk=d+o(tk)tk(10)\frac{z_k-x^\ast}{t_k}=\frac{z(0)+t_kz'(0)+o(t_k)-x^\ast}{t_k}=d+\frac{o(t_k)}{t_k}\tag{10} tkzk−x∗=tkz(0)+tkz′(0)+o(tk)−x∗=d+tko(tk)(10)
上式取极限k→∞k\rightarrow\inftyk→∞,tk→0t_k\rightarrow 0tk→0可知limk→∞zk−xtk=d\lim\limits_{k\rightarrow \infty} \frac{z_k-x}{t_k}=dk→∞limtkzk−x=d,因此d∈TΩ(x∗)d\in T_{\Omega}( x^{\ast})d∈TΩ(x∗),第(2)条得证。
定理1 设x∗x^{\ast}x∗为局部解,则对d∈TΩ(x∗)d\in T_{\Omega}( x^{\ast})d∈TΩ(x∗),∇fT(x∗)d≥0\nabla f^\mathrm{T}(x^\ast)d\geq 0∇fT(x∗)d≥0。
证明: 反证法,假设存在d∈TΩ(x∗)d\in T_{\Omega}( x^{\ast})d∈TΩ(x∗)使得∇fT(x∗)d<0\nabla f^\mathrm{T}(x^\ast)d< 0∇fT(x∗)d<0,令ddd对应的序列分别为{zk}\{z_k\}{zk}和{tk}\{t_k\}{tk},则有
f(zk)=f(x∗)+(zk−x∗)T∇f(x∗)+o(∥zk−x∗∥)=f(x∗)+tkdT∇f(x∗)+o(tk)(11)\begin{aligned} f(z_k)&=f(x^\ast)+(z_k-x^\ast)^\mathrm{T}\nabla f(x^\ast)+o(\|z_k-x^\ast\|)\\ &=f(x^\ast)+t_kd^\mathrm{T}\nabla f(x^\ast)+o(t_k) \end{aligned}\tag{11} f(zk)=f(x∗)+(zk−x∗)T∇f(x∗)+o(∥zk−x∗∥)=f(x∗)+tkdT∇f(x∗)+o(tk)(11)
由于∇fT(x∗)d<0\nabla f^\mathrm{T}(x^\ast)d< 0∇fT(x∗)d<0,对充分大的kkk,有f(zk)<f(x∗)f(z_k)<f(x^\ast)f(zk)<f(x∗),因此,给定x∗x^\astx∗的任意开邻域,可通过选择足够大的kkk,使得zkz_kzk位于该邻域且f(zk)<f(x∗)f(z_k)<f(x^\ast)f(zk)<f(x∗),与x∗x^{\ast}x∗为局部解矛盾,证毕。
引理2(Farkas引理) 考虑锥K={By+Cw∣y≥0}K=\{By+Cw\vert y\geq 0\}K={By+Cw∣y≥0},BBB和CCC分别为n×mn\times mn×m和n×pn\times pn×p矩阵,yyy和www为合适维度的向量。对任意向量g∈Rng\in\mathbb{R}^ng∈Rn,要么g∈Kg\in Kg∈K,要么存在d∈Rnd\in\mathbb{R}^nd∈Rn使得
gTd<0,BTd≥0,CTd=0(12)g^\mathrm{T}d<0,\;B^\mathrm{T}d\geq 0,\;C^\mathrm{T}d=0\tag{12} gTd<0,BTd≥0,CTd=0(12)
证明: 首先证明两种情况不能同时成立。若g∈Kg\in Kg∈K,则存在向量y≥0y\geq 0y≥0和www使得g=By+Cwg=By+Cwg=By+Cw。若此时还存在ddd使得式(12)成立,则有
0>dTg=dTBy+dTCw=(BTd)Ty+(CTd)Tw≥00>d^\mathrm{T}g=d^\mathrm{T}By+d^\mathrm{T}Cw=(B^\mathrm{T}d)^\mathrm{T}y+(C^\mathrm{T}d)^\mathrm{T}w\ge 0 0>dTg=dTBy+dTCw=(BTd)Ty+(CTd)Tw≥0
因此两种情况不能同时成立。
进一步证明g∉Kg\notin Kg∈/K时式(12)成立。考虑到KKK为闭集,令s^\hat{s}s^为KKK中距离ggg最近的向量,即为如下优化问题的解:
min∥s−g∥22,subjecttos∈K(13)\min\Vert s-g\Vert_2^2,\; {\rm{subject\;to}}\;s\in K\tag{13} min∥s−g∥22,subjecttos∈K(13)
由于s^∈K\hat{s}\in Ks^∈K且KKK为锥,因此对α≥0\alpha\geq 0α≥0,αs^∈K\alpha\hat{s}\in Kαs^∈K,且当α=1\alpha=1α=1时∥αs^−g∥22\Vert\alpha\hat{s}-g\Vert_2^2∥αs^−g∥22最小,因此有
ddα∥αs^−g∥22∣α=1=0⇒(−2s^Tg+2αs^Ts^)∣α=1=0⇒s^T(s^−g)=0(14)\left.\frac{\mathrm{d}}{\mathrm{d}\alpha}\Vert\alpha\hat{s}-g\Vert_2^2\right\vert_{\alpha=1}=0\Rightarrow \left.(-2\hat{s}^\mathrm{T}g+2\alpha\hat{s}^\mathrm{T}\hat{s})\right\vert_{\alpha=1}=0\Rightarrow\hat{s}^\mathrm{T}(\hat{s}-g)=0\tag{14} dαd∥αs^−g∥22∣∣∣∣α=1=0⇒(−2s^Tg+2αs^Ts^)∣∣α=1=0⇒s^T(s^−g)=0(14)
对KKK中任意其他向量sss,由于KKK为凸集,对θ∈[0,1]\theta\in [0,1]θ∈[0,1],有
∥s^+θ(s−s^)−g∥22≥∥s^−g∥22\Vert\hat{s}+\theta(s-\hat{s})-g\Vert_2^2\geq\Vert\hat{s}-g\Vert_2^2 ∥s^+θ(s−s^)−g∥22≥∥s^−g∥22
即
2θ(s−s^)T(s^−g)+θ2∥s−s^∥22≥02\theta(s-\hat{s})^\mathrm{T}(\hat{s}-g)+\theta^2\Vert s-\hat{s}\Vert_2^2\geq 0 2θ(s−s^)T(s^−g)+θ2∥s−s^∥22≥0
上式左右两边除以θ\thetaθ并取极限θ→0+\theta\rightarrow 0^+θ→0+,有(s−s^)T(s^−g)≥0(s-\hat{s})^\mathrm{T}(\hat{s}-g)\geq 0(s−s^)T(s^−g)≥0,结合式(14)可知对任意s∈Ks\in Ks∈K,
sT(s^−g)≥0(15)s^\mathrm{T}(\hat{s}-g)\geq 0\tag{15} sT(s^−g)≥0(15)
下面进一步证明矢量d=s^−gd=\hat{s}-gd=s^−g满足式(12)。由于g∉Kg\notin Kg∈/K,d≠0d\neq 0d=0,从而
dTg=dT(s^−d)=(s^−g)Ts^−dTd=−∥d∥22<0(16)d^\mathrm{T}g=d^\mathrm{T}(\hat{s}-d)=(\hat{s}-g)^\mathrm{T}\hat{s}-d^\mathrm{T}d=-\Vert d\Vert_2^2<0\tag{16} dTg=dT(s^−d)=(s^−g)Ts^−dTd=−∥d∥22<0(16)
由式(15)可知对任意s∈Ks\in Ks∈K,dTs≥0d^\mathrm{T}s\geq 0dTs≥0,因此对任意y≥0y\geq 0y≥0和www,有
dT(By+Cw)≥0d^\mathrm{T}(By+Cw)\geq 0 dT(By+Cw)≥0
取y=0y=0y=0可得(CTd)Tw≥0(C^\mathrm{T}d)^\mathrm{T}w\geq 0(CTd)Tw≥0对任意www均成立,因此CTd=0C^\mathrm{T}d=0CTd=0;取w=0w=0w=0可得(BTd)Ty≥0(B^\mathrm{T}d)^\mathrm{T}y\geq 0(BTd)Ty≥0对任意y≥0y\geq 0y≥0均成立,因此BTd≥0B^\mathrm{T}d\geq 0BTd≥0,结合式(16)可知ddd满足式(12),证毕。
由引理2,令B=[−∇ci(x∗)]i∈A(x∗)∩IB=[-\nabla c_i(x^\ast)]_{i\in\mathcal{A}(x^\ast)\cap\mathcal{I}}B=[−∇ci(x∗)]i∈A(x∗)∩I,y=[λi]i∈A(x∗)∩Iy=[\lambda_i]_{i\in\mathcal{A}(x^\ast)\cap\mathcal{I}}y=[λi]i∈A(x∗)∩I,C=[−∇ci(x∗)]i∈EC=[-\nabla c_i(x^\ast)]_{i\in\mathcal{E}}C=[−∇ci(x∗)]i∈E,w=[λi]i∈Ew=[\lambda_i]_{i\in\mathcal{E}}w=[λi]i∈E,则可定义锥
N={By+Cw∣y≥0}={−∑i∈A(x∗)λi∇ci(x∗),λi≥0fori∈A(x∗)∩I}\begin{aligned} N&=\{By+Cw\vert y\geq 0\}\\ &=\left\{-\sum_{i\in\mathcal{A}(x^\ast)}\lambda_i\nabla c_i(x^\ast),\;\lambda_i\geq 0\;{\rm for}\;i\in\mathcal{A}(x^\ast)\cap\mathcal{I}\right\} \end{aligned} N={By+Cw∣y≥0}=⎩⎨⎧−i∈A(x∗)∑λi∇ci(x∗),λi≥0fori∈A(x∗)∩I⎭⎬⎫
并设g=∇f(x∗)g=\nabla f(x^\ast)g=∇f(x∗),则要么(注意到AT(x∗)=[∇ci(x∗)]i∈A(x∗)A^\mathrm{T}(x^\ast)=[\nabla c_i(x^\ast)]_{i\in\mathcal{A}(x^\ast)}AT(x∗)=[∇ci(x∗)]i∈A(x∗))
∇f(x∗)=−∑i∈A(x∗)λi∇ci(x∗)=−AT(x∗)λ∗,λi≥0fori∈A(x∗)∩I(17)\nabla f(x^\ast)=-\sum_{i\in\mathcal{A}(x^\ast)}\lambda_i\nabla c_i(x^\ast)=-A^\mathrm{T}(x^\ast)\lambda^\ast,\;\lambda_i\geq 0\;{\rm for}\;i\in\mathcal{A}(x^\ast)\cap\mathcal{I}\tag{17} ∇f(x∗)=−i∈A(x∗)∑λi∇ci(x∗)=−AT(x∗)λ∗,λi≥0fori∈A(x∗)∩I(17)
要么存在ddd使得dT∇f(x∗)<0d^\mathrm{T}\nabla f(x^\ast)<0dT∇f(x∗)<0,BTd=[−∇ci(x∗)]i∈A(x∗)∩ITd≥0B^\mathrm{T}d=[-\nabla c_i(x^\ast)]^\mathrm{T}_{i\in\mathcal{A}(x^\ast)\cap\mathcal{I}}d\geq 0BTd=[−∇ci(x∗)]i∈A(x∗)∩ITd≥0,CTd=[−∇ci(x∗)]i∈ETd=0C^\mathrm{T}d=[-\nabla c_i(x^\ast)]^\mathrm{T}_{i\in\mathcal{E}}d=0CTd=[−∇ci(x∗)]i∈ETd=0,即d∈F(x∗)d\in\mathcal{F}(x^\ast)d∈F(x∗)。
KKT条件的证明 根据定理1,对d∈TΩ(x∗)d\in T_{\Omega}( x^{\ast})d∈TΩ(x∗),dT∇f(x∗)≥0d^\mathrm{T}\nabla f(x^\ast)\geq 0dT∇f(x∗)≥0,由于LICQ条件成立,根据引理1可知F(x∗)=TΩ(x∗)\mathcal{F}(x^{\ast}) =T_{\Omega}(x^{\ast})F(x∗)=TΩ(x∗),因此对d∈F(x∗)d\in \mathcal{F}(x^{\ast})d∈F(x∗),有dT∇f(x∗)≥0d^\mathrm{T}\nabla f(x^\ast)\geq 0dT∇f(x∗)≥0,由引理2可知存在λ\lambdaλ使得式(17)成立。构造λ∗\lambda^\astλ∗如下
λi∗={λi,i∈A(x∗)0,i∈I\A(x∗)(18)\lambda_i^\ast=\left\{ \begin{aligned} &\lambda_i,\;i\in\mathcal{A}(x^\ast)\\ &0,\;i\in\mathcal{I}\backslash\mathcal{A}(x^\ast) \end{aligned} \right.\tag{18} λi∗={λi,i∈A(x∗)0,i∈I\A(x∗)(18)
则可以逐项检查KKT条件是否成立:
- 由λ∗\lambda^\astλ∗的定义和式(17)可知式(2)第1项成立;
- 由于x∗x^\astx∗为可行点,式(2)第2项和第3项成立;
- 考虑到λi∗≥0fori∈A(x∗)∩I\lambda_i^\ast\geq 0\;{\rm for}\;i\in\mathcal{A}(x^\ast)\cap\mathcal{I}λi∗≥0fori∈A(x∗)∩I,λi∗=0fori∈I\A(x∗)\lambda_i^\ast=0\;{\rm for}\;i\in\mathcal{I}\backslash\mathcal{A}(x^\ast)λi∗=0fori∈I\A(x∗),因此λi∗≥0fori∈I\lambda_i^\ast\geq 0\;{\rm for}\;i\in\mathcal{I}λi∗≥0fori∈I,式(2)第4项成立;
- 由于ci(x∗)=0fori∈A(x∗)c_i(x^\ast)=0 \;{\rm for}\;i\in\mathcal{A}(x^\ast)ci(x∗)=0fori∈A(x∗),λi∗=0fori∈I\A(x∗)\lambda_i^\ast=0\;{\rm for}\;i\in\mathcal{I}\backslash\mathcal{A}(x^\ast)λi∗=0fori∈I\A(x∗),因此λi∗ci(x∗)=0,i∈E∪I\lambda _{i}^{\ast}c_i\left( x^{\ast} \right) =0,i\in \mathcal{E} \cup \mathcal{I}λi∗ci(x∗)=0,i∈E∪I,式(2)第5项成立,证毕。
整个证明的关键在于先确定∇f(x∗)\nabla f(x^\ast)∇f(x∗)和TΩ(x∗)T_{\Omega}( x^{\ast})TΩ(x∗)之间的夹角关系,将TΩ(x∗)T_{\Omega}( x^{\ast})TΩ(x∗)替换为F(x∗)\mathcal{F}(x^{\ast})F(x∗),再利用Farkas引理证明∇f(x∗)\nabla f(x^\ast)∇f(x∗)位于构造的锥内。
约束优化问题的KKT条件推导相关推荐
- 一文详解从拉格朗日乘子法、KKT条件、对偶上升法到罚函数与增广Lagrangian乘子法再到ADMM算法(交替方向乘子法)
最近看了ADMM算法,发现这个算法需要用到许多不少前备知识,在搜索补齐这些知识的过程中感觉网上的资料与总结在零散的同时又不够清晰,在此本文对这一块的内容进行汇总,同时表达自己的一些理解. 目录 拉格朗 ...
- KKT条件(Karush-Kuhn-Tucker Conditions)
总目录 一. 凸优化基础(Convex Optimization basics) 凸优化基础(Convex Optimization basics) 二. 一阶梯度方法(First-order met ...
- 约束优化方法之拉格朗日乘子法与KKT条件
来源:https://www.cnblogs.com/ooon/p/5721119.html 引言 本篇文章将详解带有约束条件的最优化问题,约束条件分为等式约束与不等式约束,对于等式约束的优化问题,可 ...
- 约束优化问题的一阶条件(KKT条件)、互补松弛条件、拉格朗日对偶问题、SVM
简要概述 考虑约束优化问题时,可将等式拆解转化为不等式,方便求解,一阶时为KKT条件 KKT条件应用在SVM中 详细 ------ 链接: https://zhuanlan.zhihu.com/p/5 ...
- kkt条件的matlab仿真,请教关于SVM中KKT条件的推导
KKT条件第一项是说最优点必须满足所有等式及不等式限制条件,也就是说最优点必须是一个可行解,这一点自然是毋庸置疑的.第二项表明在最优点 x*, ∇f 必須是 ∇hj 和 ∇gk 的线性組合,和都叫作拉 ...
- 【精简推导】支持向量机(拉格朗日乘子法、对偶函数、KKT条件)
支持向量机,就是通过找出边际最大的决策边界,来对数据进行分类的分类器.因此,支持向量分类器又叫做最大边际分类器. (疯狂暗示:这是一个最优化问题啊~) 直接上目标求解函数: 这个式子是支持向量机基本形 ...
- 深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
在求解最优化问题中,拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush Kuhn Tucker)条件是两种最常用的方法.在有等式约束时使用拉格朗日乘子法,在有不等约束时使用 ...
- 求解最优化问题的方法:拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
在求解最优化问题中,拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush Kuhn Tucker)条件是两种最常用的方法.在有等式约束时使用拉格朗日乘子法,在有不等约束时使用 ...
- 二次规划问题的KKT 条件求解方法
专栏文章汇总 文章结构如下: 1: 等式约束优化问题 2: 不等式约束优化问题 3: 一个例子 注:本文来自台湾周志成老师<线性代数>及其博客 Karush-Kuhn-Tucker (KK ...
最新文章
- 如何使Layouts里的页面应用站点母板页
- Codeforces Round #112 (Div. 2)---A. Supercentral Point
- [js] 在设置keyup监听事件后按F5刷新和按浏览器中刷新键刷新有什么区别?
- 【HDU - 2639】Bone Collector II (第K大背包,dp,STLset)
- 【leetcode困难】968. 监控二叉树
- Star Schema完全参考手册读书笔记二
- java.sql.SQLException
- ArcGIS GDB中要素类不可编辑
- 使用BackTrack4清除/修改Windows用户密码
- 偶极子天线的优缺点_一种双面印刷偶极子天线解析
- Amaze UI貌似挂了。。。附上amaze UI框架的图标
- 如何利用软文营销将好品牌故事?
- java中的gc是什么意思的缩写_gc是什么意思(gc是什么意思的缩写)
- ERP软件与需求漫延,如何解决?
- 将淘宝客数据导入自己的数据库
- 我的世界服务器无限开号,我的世界开挂指令大全表一览!39条命令无限可能性
- linux在线文档库
- python 矩阵元素查找位置函数_Python中二维数组中非零元素位置的快速查找方法...
- 线上引流方法有哪些?怎么做线上引流推广?线上引流推广方法
- CSS--margin塌陷问题