之前讨论的是无约束最优化方法,这一节主要介绍的是带有约束的非线性规划问题,所谓的非线性规划,就是约束项含有平方这种。解这类问题有两种方法,一个是容许方向法、它是一种直接处理约束的方法;另一个是罚函数法,它是将约束问题转变成一系列无约束问题,用无约束的极小点去逐渐逼近约束问题的极小点。但是在介绍这两种方法之前,要先介绍一些概念。

最优性条件

  • 最优性条件
      最优性条件,就是最优化问题的目标函数与约束函数在最优点所满足的充分条件和必要条件。

  • 最优性必要条件
      最优性必要条件是指,最优点应该满足的条件。也就是已知其为最优点,能够推断出来的条件。

  • 最优性充分条件
      最优性充分条件是指,可使得某个容许点成为最优点的条件。也就是知道一些条件,能够推出其为最优点。

  本节主要讨论一般约束问题的最优性条件。我们将先从仅含等式约束或不等式约束的问题入手,然后自然过渡到一般约束问题。所以这一节主要介绍各种约束下的最优性条件,也就是各种约束下,什么样的条件能够推出这个点是最优点、另外一种,已知各种约束下的最优点,能够推出什么条件。整体目录结构如下:

  • 等式约束问题的最优性条件
  • 不等式约束问题的最优性条件
    • 几何最优性条件
    • Fritz John条件
    • Kuhn-Tucker条件
  • 一般约束问题的最优性条件

等式约束问题的最优性条件

  考虑仅含等式约束的问题1
min⁡f(x)s.t. hj(x)=0,j=1,2,⋯ ,l. \begin{array}{l}{\min f(x)} \\ {\text {s.t. } h_{j}(x)=0, \quad j=1,2, \cdots, l .}\end{array} minf(x)s.t. hj(x)=0,j=1,2,,l.

  这个问题的最优性条件与求解方法在微积分中已从理论上得到了解决,这就是Lagrange定理和Lagrange乘子法。

定理1:假设

  • i) :x∗x^{*}x是上述约束问题的局部最优点;
  • ii) : fff,h1h_{1}h1,h2h_{2}h2,⋅⋅⋅···⋅⋅⋅,hlh_{l}hlRn→R1R^{n}\rightarrow R^{1}RnR1x∗x^{*}x附近连续可微(有一阶连续偏导数)。
  • iii) : ▽h1(x∗)\bigtriangledown h_{1}(x^{*})h1(x)▽h2(x∗)\bigtriangledown h_{2}(x^{*})h2(x)⋅⋅⋅···⋅⋅⋅▽hl(x∗)\bigtriangledown h_{l}(x^{*})hl(x) 线性无关,则存在实数λ1∗\lambda_{1}^{*}λ1λ2∗\lambda_{2}^{*}λ2⋅⋅⋅···⋅⋅⋅λl∗\lambda_{l}^{*}λl使得:
    ∇f(x∗)=∑j=1lλj∗∇hj(x∗) \nabla f\left(x^{*}\right)=\sum_{j=1}^{l} \lambda_{j}^{*} \nabla h_{j}\left(x^{*}\right) f(x)=j=1lλjhj(x)

  这个定理的意义还在于,它把对等式约束问题的求解转化为对无约束问题的求解。

  上式是最优性一阶必要条件

定理2:在约束问题1中,假设:

  • i) :fff,h1h_{1}h1,h2h_{2}h2,⋅⋅⋅···⋅⋅⋅,hlh_{l}hlRn→R1R^{n} \rightarrow R^{1}RnR1是二次连续可微函数;
  • ii) : 存在x∗∈Rnx^{*} \in R^{n}xRnλ∗∈Rl\lambda^{*} \in R^{l}λRl,使得Lagrange函数的梯度为零,即:
    ▽L(x∗,λ∗)=0 \bigtriangledown L(x^{*},\lambda^{*})=0 L(x,λ)=0
  • iii) : 对于满足条件:

vT▽hj(x∗)=0,j=1,2,⋅⋅⋅,l v^{T} \bigtriangledown h_{j}(x^{*})=0,j=1,2,···,l vThj(x)=0j=1,2,⋅⋅⋅l

  的任意非零向量v∈Rnv \in R^{n}vRn,都有:
vT▽x2L(x∗,λ∗)v>0 v^{T} \bigtriangledown_{x}^{2}L(x^{*},\lambda^{*})v > 0 vTx2L(xλ)v>0

  这个定理的几何意义是,在Lagrange函数的驻点[x∗  λ∗][x^{*} \ \ \lambda^{*}][x  λ]处,如果Lagrange函数关于xxx的Hesse矩阵在lll个约束(超)曲面的切平面的交集上正定(注意,并不需要在原来的空间中正定),那么x∗x^{*}x就是严格局部极小点。

  这里就是直接给出两个定理,没办法,理解记忆吧。第一个定理相对来说比较重要一点。

不等式约束问题的最优性条件

几何最优性条件

  下面将给出约束问题2
min⁡f(x)s.t. si(x)⩾0,i=1,2,⋯ ,m. \begin{array}{l}{\min f(x)} \\ {\text {s.t. } s_{i}(x) \geqslant 0, \quad i=1,2, \cdots, m .}\end{array} minf(x)s.t. si(x)0,i=1,2,,m.
  的最优性条件。

定义1 :对于约束问题,设x‾∈D\overline{x} \in DxDD={x∣si(x)≥0,i=1,2,⋯ ,m}D=\{x|s_{i}(x)\geq 0 , i =1,2, \cdots, m \}D={xsi(x)0,i=1,2,,m}x‾\overline{x}x 使得某个不等式约束有si(x‾)=0s_{i}(\overline{x})=0si(x)=0,则该不等式约束si(x)≥0s_{i}(x) \geq 0si(x)0称为是关于容许点x‾\overline{x}x起作用约束;否者,若si(x‾)>0s_{i}(\overline{x}) > 0si(x)>0,则该不等式约束称为是关于容许点的不起作用约束

定义2 :设CCCRRR中的非空集,且x∈Cx \in CxC。对于∀p∈Rn\forall p \in R^{n}pRn,若当x+p∈Cx+p \in Cx+pC时,对于∀t≥0\forall t \geq 0t0,必有x+tp∈Cx+tp \in Cx+tpC,则集合CCC称为xxx为顶点的锥。若锥CCC是凸集,则称为凸锥

定义3 :设DDDRnR^{n}Rn中的非空集,且x∈Dx \in DxD。对于非零向量p∈Rnp \in R^{n}pRn,若存在δ>0\delta > 0δ>0,当t∈(0,δ)t \in (0, \delta)t(0,δ)时,必有x+tp∈Dx+tp \in Dx+tpD,则ppp称为点xxx容许方向向量,其方向称为点xxx容许方向。由点xxx的全部容许方向向量构成的集合称为点xxx容许方向集,或者说容许方向锥
如图所示
引理 :设x‾∈D={x∣si(x)≥0,i=1,2,⋯ ,m}\overline{x} \in D = \{x|s_{i}(x) \geq 0, i =1,2, \cdots , m\}xD={xsi(x)0,i=1,2,,m}I={i∣si(x‾)=0,i=1,2,⋯ ,m}I=\{i|s_{i}(\overline{x})=0,i=1,2, \cdots, m\}I={isi(x)=0,i=1,2,,m};并设当i∈Ii \in IiI时,si(x)s_{i}(x)si(x)在点x~\widetilde{x}x 处可微,当i∈I‾\overline{i \in I}iI时,si(x)s_{i}(x)si(x)在点x~\widetilde{x}x 处连续。若对于所有的i∈Ii \in IiI,向量ppp都使得▽si(x~)Tp>0\bigtriangledown_{s_{i}}(\widetilde{x})^{T}p >0si(x )Tp>0,则ppp是点x~\widetilde{x}x 的一个容许方向。

  约束曲面si(x)=0s_{i}(x)=0si(x)=0把整个空间分成两部分,梯度▽si(x~)\bigtriangledown_{s_{i}}(\widetilde{x})si(x )总是指向包含容许集的那一侧。

  把由点xxx的所有下降方向向量构成的集合称为点xxx下降方向锥

定理:设f:Rn→R1f:R^{n} \rightarrow R^{1}f:RnR1在点xxx可微,则点xxx处的下降方向向量ppp必满足:
▽f(x)Tp<0 \bigtriangledown f(x)^{T}p < 0 f(x)Tp<0

  记S(x)={p∣▽f(x)Tp<0}S(x)=\{p|\bigtriangledown f(x)^{T}p < 0 \}S(x)={pf(x)Tp<0},则S(x)S(x)S(x)是点xxx处的下降方向集。显然S(x)S(x)S(x)RnR^{n}Rn中的半空间。

  接下来就是几何最优性条件的定义:(因为这个条件是仅借助点集的概念给出的,所以称为几何最优性条件):

定理: 在约束问题2中,若x∗x^{*}x是局部最优点,则点x∗x^{*}x处的容许方向锥下降方向锥的交集是空集。

  上面这个定理仅仅是必要的,而不是充分的。也就是说知道这个点是最优点能够推断出容许方向锥和下降方向锥的交集是空集,但由容许方向锥和下降方向锥的交集是空集并不能推断出其是最优点。

Fritz John条件

  这里要介绍:引理(Farkas)、引理(Gordan)、定理:Fritz John

引理(Farkas):设a1a_{1}a1a2a_{2}a2⋯\cdotsama_{m}ambbbnnn维向量,则满足:
aiTp≥0, i=1,2,⋯ ,m a_{i}^{T}p \geq 0, \ i=1,2,\cdots , m aiTp0, i=1,2,,m
  的向量ppp也满足
bTp≥0 b^{T}p \geq 0 bTp0
  的充要条件是,存在非负数γ1\gamma_{1}γ1γ2\gamma_{2}γ2⋯\cdotsγn\gamma_{n}γn,使得:
b=∑i=1mγiai b=\sum_{i=1}^{m}\gamma_{i}a_{i} b=i=1mγiai

  这个依旧不需要证明,相信它就完事了,因为直观上感觉就是非常正确的。可以看课本图4-6。或者下面这张图理解(bbb理解为f(x∗)f(x^{*})f(x)):

引理(Gordan):设a1a_{1}a1a2a_{2}a2⋯\cdotsama_{m}amnnn维向量,则不存在向量ppp使得:
aiTp<0,  i=1,2,⋯ ,m a_{i}^{T}p<0, \ \ i=1,2, \cdots,m aiTp<0,  i=1,2,,m
  成立的充要条件是,存在不全为零的非负数γ1\gamma_{1}γ1γ2\gamma_{2}γ2⋯\cdotsγn\gamma_{n}γn,使得:
∑i=1mγiai=0 \sum_{i=1}^{m}\gamma_{i}a_{i}=0 i=1mγiai=0
  这个怎么理解呢?不存在向量ppp使得aiTp<0,  i=1,2,⋯ ,ma_{i}^{T}p<0, \ \ i=1,2, \cdots,maiTp<0,  i=1,2,,m,所表示的几何意义就是a1a_{1}a1a2a_{2}a2⋯\cdotsama_{m}am不会在超平面的一侧,因为要是在一侧的话,就会存在这样一个向量ppp满足要求。既然不会在一侧,那么就一定会有一个非零的线性组合,使其最终结果为0。

定理:Fritz John: 在问题2中,设x∗x^{*}x是局部最优解,f(x)f(x)f(x)s1(x)s_{1}(x)s1(x)s2(x)s_{2}(x)s2(x)⋯\cdotssm(x)s_{m}(x)sm(x)在点x∗x^{*}x处可微,那么,存在不全为零的实数μ0\mu_{0}μ0μ1\mu_{1}μ1⋯\cdotsμm\mu_{m}μm使得:
μ0∇f(x∗)−∑i=1mμi∇si(x∗)=0μisi(x∗)=0,   i=1,2,⋯ ,mμi≥0,   i=0,1,⋯ ,m} \left.\begin{array}{rl}{\mu_{0} \nabla f\left(x^{*}\right)-\sum_{i=1}^{m} \mu_{i} \nabla s_{i}\left(x^{*}\right)} {=0} \\ {\mu_{i} s_{i}\left(x^{*}\right)=0,} {\ \ \ i=1,2, \cdots, m} \\ {\mu_{i} \geq 0,} {\ \ \ i=0,1, \cdots, m}\end{array}\right\} μ0f(x)i=1mμisi(x)=0μisi(x)=0,   i=1,2,,mμi0,   i=0,1,,m

  上面这个式子我们来理解一下,因为这个x∗x^{*}x是最优点,所以这个容许集和下降方向集是空集。所以不存在向量ppp,使得:
∇f(x∗)Tp<0,(−∇si(x∗))Tp<0,i∈I(x∗) \nabla f\left(x^{*}\right)^{T} p<0, \\ \left(-\nabla s_{i}\left(x^{*}\right)\right)^{T} p<0, i \in I\left(x^{*}\right) f(x)Tp<0,(si(x))Tp<0,iI(x)

  μisi(x∗)=0 (i=1,2,⋯ ,m)\mu_{i}s_{i}(x^{*})=0\ (i=1,2,\cdots ,m)μisi(x)=0 (i=1,2,,m)称为互补松弛条件。它表明:若si(x∗)>0s_{i}(x^{*})>0si(x)>0,即i∈‾Ii \overline{\in} IiI,则必有μi=0\mu_{i}=0μi=0;若μi>0\mu_{i}>0μi>0,则必有si(x∗)=0s_{i}(x^{*})=0si(x)=0,即i∈Ii \in IiI

  这个定理给你了问题2的一个最优性必要条件。上式称为Fritz John条件,满足Fritz-John条件的点称为Fritz-John点μ1\mu_{1}μ1μ2\mu_{2}μ2⋯\cdotsμm\mu_{m}μm也称为Lagrange乘子。

  Fritz-John条件仅是判别某一容许点是否为最优点的必要条件,而不是充分条件。

Kuhn-Tucker条件

  如果Fritz-John条件中μ0=0\mu_{0}=0μ0=0时,Fritz-John条件失去实用价值。为了使得其大于0,就有了Kuhn-Tucker条件。

定理:Kuhn-Tucker:

在问题2中,假设
i)x∗x^{*}x是局部最优点;
ii) f(x),s1(x),s2(x),⋅⋅⋅,sm(x)f(x),s_{1}(x),s_{2}(x),···,s_{m}(x)f(x),s1(x),s2(x),⋅⋅⋅sm(x)在点x∗x^{*}x处可微;
iii) 点x∗x^{*}x处的全部起作用约束的梯度线性无关。那么存在实数μ1、μ2,⋅⋅⋅,μm\mu_{1}、\mu_{2},···,\mu_{m}μ1μ2⋅⋅⋅μm使得:
∇f(x∗)−∑i=1mμi∇si(x∗)=0μiSi(x∗)=0,i=1,2,⋯ ,m,μi≥0,i=1,⋯ ,m \begin{aligned} \nabla f\left(x^{*}\right)-\sum_{i=1}^{m} \mu_{i} \nabla s_{i}\left(x^{*}\right) =&0 \\ \mu_{i} S_{i}\left(x^{*}\right)=0, i=1,2, \cdots, &m, \\ \mu_{i} \geq 0, i=1, \cdots, &m \end{aligned} f(x)i=1mμisi(x)=μiSi(x)=0,i=1,2,,μi0,i=1,,0m,m

  Kuhn-Tucker条件是Fritz John条件的特殊情况。

  Kuhn-Tucker条件有明显的几何意义。在Kuhn-Tucker定理的公式中,删去不起作用约束项(注意,它们的系数是μi=0\mu_{i}=0μi=0,当i∈‾Ii \overline{\in}IiI,Kuhn-Tucker条件可简写成:存在μi≥0\mu_{i} \geq 0μi0i∈Ii \in IiI)使得:
∇f(x∗)=∑i∈Iμi∇si(x∗) \nabla f(x^{*})=\sum_{i \in I}\mu_{i}\nabla_{s_{i}}(x^{*}) f(x)=iIμisi(x)

  此式在几何上表示:若x∗x^{*}x是问题地最优解,根据Farkas引理可知,在此点处地目标函数地梯度必处在由起作用约束函数地梯度张成地凸锥之中。

一般约束问题的最优性条件

  之前是不等式约束,现在考虑一般约束问题地最优性条件,既有等式约束还有不等式约束的情况。我们这节就介绍一般约束问题下的Fritz-John定理Kuhn-Tucker定理

Fritz-John定理

  考虑问题:

min⁡f(x)s.t.s(x)≥0h(x)=0} \left.\begin{array}{ll}{\min } & {f(x)} \\ {\text {s.t.}} & {s(x) \geq 0} \\ {} & {h(x)=0}\end{array}\right\} mins.t.f(x)s(x)0h(x)=0

  在上述问题中设x∗x^{*}x是局部最优点f(x)f(x)f(x)s1(x),⋯ ,sm(x),h(x),⋯ ,hl(x)s_{1}(x), \cdots ,s_{m}(x), h(x), \cdots ,h_{l}(x)s1(x),,sm(x),h(x),,hl(x)在点x∗x^{*}x处可微。那么,存在不全为零的实数μ0,μ1,⋯ .μm,λ1,λ2,⋯λl\mu_{0},\mu_{1},\cdots .\mu_{m}, \lambda_{1},\lambda_{2},\cdots \lambda_{l}μ0,μ1,.μm,λ1,λ2,λl,使得:
μ0∇f(x∗)−∑i=1mμi∇si(x∗)−∑j=1lλj∇hj(x∗)=0μiSi(x∗)=0,i=1,2,⋯ ,mμi≥0,i=0,1,⋯ ,m \begin{aligned} \mu_{0} \nabla f\left(x^{*}\right) &-\sum_{i=1}^{m} \mu_{i} \nabla s_{i}\left(x^{*}\right)-\sum_{j=1}^{l} \lambda_{j} \nabla h_{j}\left(x^{*}\right)=0 \\ \mu_{i} S_{i}\left(x^{*}\right) &=0, \quad i=1,2, \cdots, m \\ \mu_{i} & \geq 0, \quad i=0,1, \cdots, m \end{aligned} μ0f(x)μiSi(x)μii=1mμisi(x)j=1lλjhj(x)=0=0,i=1,2,,m0,i=0,1,,m

  这个定理可以看成是Lagrange定理的结论与Fritz-John定理的结论的合并。相当于多了lll个等式约束。

Kuhn-Tucker定理

  考虑问题:

min⁡f(x)s.t.s(x)≥0h(x)=0} \left.\begin{array}{ll}{\min } & {f(x)} \\ {\text {s.t.}} & {s(x) \geq 0} \\ {} & {h(x)=0}\end{array}\right\} mins.t.f(x)s(x)0h(x)=0

  假设:
  i) x∗x^{*}x是局部最优解;
  ii)f(x),s1(x),⋯ ,sm(x),h1(x),⋯,hl(x)f(x),s_{1}(x),\cdots , s_{m}(x),h_{1}(x),\cdots ,h_{l}(x)f(x)s1(x),sm(x)h1(x)hl(x)在点x∗x^{*}x处可微;
  iii)点x∗x^{*}x处的全部起作用约束的梯度线性无关。

那么存在实数μ0,μ1,⋯ .μm,λ1,λ2,⋯λl\mu_{0},\mu_{1},\cdots .\mu_{m}, \lambda_{1},\lambda_{2},\cdots \lambda_{l}μ0,μ1,.μm,λ1,λ2,λl使得:

∇f(x∗)−∑i=1mμi∇si(x∗)−∑j=1lλj∇hj(x∗)=0μiSi(x∗)=0,i=1,2,⋯ ,mμi≥0,i=1,⋯ ,m \begin{aligned} \nabla f\left(x^{*}\right)-\sum_{i=1}^{m} \mu_{i} \nabla s_{i}\left(x^{*}\right)-\sum_{j=1}^{l} \lambda_{j} \nabla h_{j}\left(x^{*}\right)=0 \\ \mu_{i} S_{i}\left(x^{*}\right)=0, \quad i=1,2, \cdots, m \\ \mu_{i} \geq 0, i=1, \cdots, m& \end{aligned} f(x)i=1mμisi(x)j=1lλjhj(x)=0μiSi(x)=0,i=1,2,,mμi0,i=1,,m

定理:
  在以下凸规划问题中:
min⁡f(x)s.t.s(x)≥0h(x)=0} \left.\begin{array}{ll}{\min } & {f(x)} \\ {\text {s.t.}} & {s(x) \geq 0} \\ {} & {h(x)=0}\end{array}\right\} mins.t.f(x)s(x)0h(x)=0
  假设fff是可微凸函数s1,⋯ ,sms_{1},\cdots ,s_{m}s1,sm是可微凹函数,h1,⋯ ,hlh_{1},\cdots ,h_{l}h1,hl是线性函数。若x∗x^{*}x是上述问题的Kuhn-Tucker点,则x∗x^{*}x就是上述问题的全局最优点。(用Hesson矩阵即可证明是不是凸优化问题)。

我的微信公众号名称:小小何先生
公众号介绍:主要研究分享深度学习、机器博弈、强化学习等相关内容!期待您的关注,欢迎一起学习交流进步!

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐