优化问题
-
无约束优化问题
minf(x)\min f(x)minf(x),由Fermat’s theorem可知,可微函数的极值点都是其驻点(必要条件),故令其导数为零即可求解,当然也可利用梯度下降算法求解;
-
等式约束优化问题
minf0(x), s.t., hi(x)=0, i=1,2,⋯ ,p\min f_0(x),\ \ s.t.,\ h_i(x)=0,\ i=1, 2,\cdots, pminf0(x), s.t., hi(x)=0, i=1,2,⋯,p对于这种情形我们常使用拉格朗日乘子法(Lagrange multiplier)求解;
-
不等式约束优化问题
minf0(x)\min f_0(x)minf0(x)
s.t., hi(x)=0,i=1,2,⋯ ,ps.t.,\ h_i(x)=0,i=1, 2,\cdots,ps.t., hi(x)=0,i=1,2,⋯,p
fi(x)≤0,i=1,2,⋯ ,m,f_i(x)\leq 0,i=1,2,\cdots,m,fi(x)≤0,i=1,2,⋯,m,
对于这种情形我们常使用KKT条件求解,Lagrange 函数L:Rn×Rm×Rp→RR^n\times R^m\times R^p\rightarrow RRn×Rm×Rp→R为L(x,λ,v)=f0(x)+∑i=1mλifi(x)+∑i=1pvihi(x),L(x, \lambda,\mathcal v)=f_0(x)+\sum_{i=1}^m\lambda_if_i(x)+\sum_{i=1}^pv_ih_i(x),L(x,λ,v)=f0(x)+i=1∑mλifi(x)+i=1∑pvihi(x),我们假设该问题的定义域(非可行域)为D=⋂i=0mdomfi∩⋂i=1pdomhi,且原问题的最优值为p∗\mathcal D=\bigcap_{i=0}^m\mathbf{dom}f_i\cap\bigcap_{i=1}^p\mathbf{dom}h_i,且原问题的最优值为p^*D=i=0⋂mdomfi∩i=1⋂pdomhi,且原问题的最优值为p∗另外我们定义Lagrange 对偶函数g:Rm×Rp→RR^m\times R^p\rightarrow RRm×Rp→R为Lagrange函数关于定义域内xxx取得的最小值,即,g(λ,v)=infx∈DL(x,λ,v)=infx∈D(f0(x)+∑i=1mλifi(x)+∑i=1pvihi(x)))g(\lambda, v)={inf}_{x\in\mathcal D}L(x,\lambda,v)=inf_{x\in\mathcal D}\left(f_0(x)+\sum_{i=1}^m\lambda_if_i(x)+\sum_{i=1}^pv_ih_i(x))\right)g(λ,v)=infx∈DL(x,λ,v)=infx∈D(f0(x)+i=1∑mλifi(x)+i=1∑pvihi(x)))我们可以得出对偶函数构成了原问题最优值p∗p^*p∗的下界,即,∀λ⪰0,v, g(λ,v)≤p∗.\forall\lambda\succeq 0,v,\ \ g(\lambda, v)\leq p^*.∀λ⪰0,v, g(λ,v)≤p∗.令x∗和(λ∗,v∗)x^*和(\lambda^*,v^*)x∗和(λ∗,v∗)分别为原问题和对偶问题的某对最优解,且满足强对偶性(对偶间隙为零),那么我们就可以得到,f0(x∗)=g(λ∗,v∗)f_0(x^*)=g(\lambda^*,v^*)f0(x∗)=g(λ∗,v∗)。另外,
KKT为,{fi(x∗)≤0,i=1,2,⋯ ,mhi(x∗)=0,i=1,2,⋯ ,pλi∗≥0,i=1,2,⋯ ,mλi∗fi(x∗)=0,i=1,2,⋯ ,m∇f0(x∗)+∑i=1mλi∗∇fi(x∗)+∑i=1pvi∗∇hi(x∗)=0,∗\left\{\begin{array}{lr}f_i(x^*)\leq 0,&i=1,2,\cdots,m\\h_i(x^*)=0,&i=1,2,\cdots,p\\\lambda^*_i\geq0,&i=1,2,\cdots,m\\\lambda_i^*f_i(x^*)=0,&i=1,2,\cdots,m\\\nabla f_0(x^*)+\sum_{i=1}^m\lambda_i^*\nabla f_i(x^*)+\sum_{i=1}^pv_i^*\nabla h_i(x^*)=0,&*\end{array}\right.⎩⎨⎧fi(x∗)≤0,hi(x∗)=0,λi∗≥0,λi∗fi(x∗)=0,∇f0(x∗)+∑i=1mλi∗∇fi(x∗)+∑i=1pvi∗∇hi(x∗)=0,i=1,2,⋯,mi=1,2,⋯,pi=1,2,⋯,mi=1,2,⋯,m∗
注,对于上面的所有情况的优化问题,目标函数及其约束函数若为凸函数,可行域组成凸集,才能得到全局最优解,否则只能得到局部最优解,因为这些条件只是必要条件,而非充要条件。。。