不等式约束的优化问题求解

与前文讨论的只含等式约束的优化问题求解类似,含不等式约束的优化问题同样可以用拉格朗日乘子法进行求解 对于一般形式的优化问题:

minimizef(x)subject toh(x)=0g(x)0minimize\quad f(x)\\ subject\ to\quad h(x)=0\\ \quad\quad g(x)\le 0

其中,f:RnR,h:RnRm,mn,g:RnRpf:R^{n}\to R,h:R^{n}\to R^{m},m\le n,g:R^{n}\to R^{p} 引入下面两个定义:

定义1:对于一个不等式约束gj(x)0g_{j}(x)\le 0,如果在xx^{*}gj(x)=0g_{j}(x^{*})=0,那么称该不等式约束是xx^{*}处的起作用约束;如果在xx^{*}gj(x)<0g_{j}(x^{*})<0,那么称该约束是xx^{*}处的不起作用约束。按照惯例,总是把等式约束hi(x)h_{i}(x)当作起作用的约束

**定义2:**设xx^{*}满足h(x)=0,g(x)0h(x^{*})=0,g(x^{*})\le 0,设J(x)J(x^{*})为起作用不等式约束的下标集:

J(x){j:gj(x)=0}J(x^{*})\triangleq \{j:g_{j}(x^{*})=0\}

如果向量

hi(x),gj(x),1im,jJ(x)\nabla h_{i}(x^{*}),\nabla g_{j}(x^{*}),1\le i\le m,j\in J(x^{*})

是线性无关的,那么称xx^{*}是一个正则点

下面介绍某个点是局部极小点所满足的一阶必要条件,即KKT条件。 **KKT条件:**设f,h,gC1f,h,g\in C^{1},设xx^{*}是问题h(x)=0,g(x)0h(x)=0,g(x)\le 0的一个正则点和局部极小点,那么必然存在λRm\lambda^{*}\in R^{m}μRp\mu^{*}\in R^{p},使得以下条件成立:

μ0Df(x)+λTDh(x)+μTDg(x)=0TμTg(x)=0h(x)=0g(x)0\mu^{*}\ge0\\ Df(x^{*})+\lambda^{*T}Dh(x^{*})+\mu^{*T}Dg(x^{*})=0^{T}\\ \mu^{*T}g(x^{*})=0\\ h(x^{*})=0\\ g(x^{*})\le0

那么在求解不等式约束的最优化问题的时候,可以搜索满足KKT条件的点,并将这些点作为极小点的候选对象。##二阶充分必要条件 除了一阶的KKT条件之外,求解这类问题还有二阶的充分必要条件。

**二阶必要条件:**在上述的问题中若xx^{*}是极小点且f,h,gC2f,h,g\in C^{2}。假设xx^{*}是正则点,那么存在λRm\lambda^{*}\in R^{m}μRp\mu^{*}\in R^{p}使得

  1. μ0,Df(x)+λTDh(x)+μTDg(x)=0T,μTg(x)=0\mu^{*}\ge 0,Df(x^{*})+\lambda^{*T}Dh(x^{*})+\mu^{*T}Dg(x^{*})=0^{T},\mu^{*T}g(x^{*})=0
  2. 对于所有yT(x)y\in T(x^{*}),都有yTL(x,λ,μ)y0y^{T}L(x^{*},\lambda^{*},\mu^{*})y\ge0成立

**二阶充分条件:**假定f,h,gC2f,h,g\in C^{2}xRnx^{*}\in R^{n}是一个可行点,存在向量λRm\lambda^{*}\in R^{m}μRp\mu^{*}\in R^{p}使得

  1. μ0,Df(x)+λTDh(x)+μTDg(x)=0T,μTg(x)=0\mu^{*}\ge 0,Df(x^{*})+\lambda^{*T}Dh(x^{*})+\mu^{*T}Dg(x^{*})=0^{T},\mu^{*T}g(x^{*})=0
  2. 对于所有yT~(x,μ),y0y\in \widetilde{T}(x^{*},\mu^{*}),y\neq0,都有yTL(x,λ,μ)y>0y^{T}L(x^{*},\lambda^{*},\mu^{*})y>0成立

那么xx^{*}是优化问题h(x)=0,g(x)0h(x)=0,g(x)\le 0的严格局部极小点