非线性规划:约束极值问题

大多数极值问题其变量的取值都会受到一定限制,这种限制由约束条件(hih_igjg_j)来体现。
{minf(x)hi(x)=0,i=1,2,,mgj(x)0,j=1,2,,l\begin{cases} \min f(x) \\ h_i(x) = 0, i=1,2,\cdots,m \\ g_j(x) ≥ 0, j=1,2,\cdots,l \end{cases}{minf(x)xREnR={xgj(x)0,j=1,2,,l}\begin{cases} \min f(x) & x∈R⊂E^n \\ R = \{ x | g_j(x) ≥ 0, j=1,2,\cdots,l \} \end{cases}

最优性条件

可行下降方向

如果方向DD既是x(0)x^{(0)}点的可行方向(约束范围内的方向),又是这个点的下降方向(和梯度方向成钝角的方向),就称它是该点的可行下降方向。该点存在可行下降方向与该点为极小点为互逆事件。

问题分类

假定xx^*是非线性规划的极小点,则有以下两种情况:

K-T条件

库恩-塔克(Kuhn-Tucker)条件是确定某点为最优点的必要条件

xx^*位于第一个约束条件形成的可行域边界上,即g1(x)=0g_1(x^*)=0,若xx^*是极小点,则g1(x)▽g_1(x^*)f(x)▽f(x^*)在一条直线上且方向相反。

f(x)γ1g1(x)=0▽f(x^*) - γ_1▽g_1(x^*) = 0

xx^*有两个起作用的约束g1(x)=0g_1(x^*)=0g2(x)=0g_2(x^*)=0,则f(x)▽f(x^*)必处于g1(x)▽g_1(x^*)g2(x)▽g_2(x^*)的夹角之内。

f(x)γ1g1(x)γ2g2(x)=0▽f(x^*) - γ_1▽g_1(x^*) - γ_2▽g_2(x^*) = 0

KT

以此类推得

{f(x)j=1lγjgj(x)=0γjgj(x)=0j=1,2,,lγj0j=1,2,,l\begin{cases} ▽f(x^*) - \sum\limits_{j=1}^{l} γ_j^* ▽g_j(x^*) = 0 \\ γ_j^*▽g_j(x^*) = 0 & j=1,2,\cdots,l \\ γ_j^* ≥ 0 & j=1,2,\cdots,l \end{cases}

满足该条件的点,称为库恩-塔克(K-T)点

用K-T条件解非线性规划{minf(x)=(x3)20x5\begin{cases} \min f(x) = (x-3)^2 \\ 0≤x≤5 \end{cases}

改写为{minf(x)=(x3)2g1(x)=x0g2(x)=5x0\begin{cases} \min f(x) = (x-3)^2 \\ g_1(x)=x≥0 \\ g_2(x)=5-x≥0 \end{cases}

计算出梯度{f(x)=2(x3)g1(x)=1g2(x)=1\begin{cases} ▽f(x)=2(x-3) \\ ▽g_1(x)=1 \\ ▽g_2(x)=-1 \end{cases}

设K-T点为xx^*,该问题的K-T条件为{2(x3)γ1(γ2)=0γ1x=0γ2(5x)=0γ1,γ20\begin{cases} 2(x^*-3) - γ_1^* - (-γ_2^*) = 0 \\ γ_1^*x^* = 0 \\ γ_2^*(5-x^*) = 0 \\ γ_1^*,γ_2^* ≥ 0 \end{cases}

讨论

  1. γ10γ_1^*≠0γ20γ_2^*≠0x=0x^*=0x=5x^*=5矛盾,无解
  2. γ10γ_1^*≠0γ2=0γ_2^*=0:得x=0,γ1=6<0x^*=0,γ_1^*=-6<0,不是K-T点
  3. γ1=0γ_1^*=0γ20γ_2^*≠0:得x=5,γ1=4<0x^*=5,γ_1^*=-4<0,不是K-T点
  4. γ1=0γ_1^*=0γ2=0γ_2^*=0:得x=3x^*=3,是K-T点

综上x=3x^*=3就是其全局极小点。

制约函数法

外点法(惩罚函数)

构造函数ψ(t)={0t>0t<0ψ(t) = \begin{cases} 0 & t>0 \\ ∞ & t<0 \end{cases},显然有ψ[gj(x)]={0xRxRψ[g_j(x)] = \begin{cases} 0 & x∈R \\ ∞ & x∉R \end{cases}

再构造函数

φ(x)=f(x)+j=1lψ[gj(x)]φ(x) = f(x) + \sum\limits_{j=1}^{l} ψ[g_j(x)]

这样一来,就把有约束问题的求解化成了求解无约束问题

min φ(x)\min \ φ(x)

上述ψ(t)ψ(t)t=0t=0处不连续,没有导数。

故重新构造ψ(t)={0t0t2t<0ψ(t) = \begin{cases} 0 & t≥0 \\ t^2 & t<0 \end{cases},则有j=1lψ[gj(x)]{=0xR(0,)xR\sum\limits_{j=1}^{l} ψ[g_j(x)] \begin{cases} =0 & x∈R \\ ∈(0, ∞) & x∉R \end{cases}

M>0M>0MM充分大),重新构造φ(x)φ(x)P(x,M)=f(x)+Mj=1lψ[gj(x)]P(x,M) = f(x) + M\sum\limits_{j=1}^{l} ψ[g_j(x)],即

P(x,M)=f(x)+Mj=1l[min(0,gj(x))]2P(x,M) = f(x) + M\sum\limits_{j=1}^{l} [ \min (0,g_j(x)) ]^2

minP(x,M)\min P(x, M)的解x(M)x(M)即为原问题的极小解或近似极小解。函数P(x,M)P(x, M)称为惩罚函数Mj=1lψ[gj(x)]M\sum\limits_{j=1}^{l} ψ[g_j(x)]称为惩罚项MM称为惩罚因子

随着MM得增加惩罚函数中的惩罚项所起的作用随之增大。

{minf(x)=x1+x2g1(x)=x12+x20g2(x)=x10\begin{cases} \min f(x) = x_1 + x_2 \\ g_1(x) = -x_1^2 + x_2 ≥ 0 \\ g_2(x) = x_1 ≥ 0 \end{cases}

{x12+x2<0x1<0\begin{cases} -x_1^2 + x_2 < 0 \\ x_1 < 0 \end{cases}构造,从外侧趋近,即外点法。

构造P(x,M)=(x1+x2)+M{[min(0,(x12+x2))]2+[min(0,x1)]2}P(x,M) = (x_1 + x_2) + M\left\{ [ \min (0, (-x_1^2 + x_2)) ]^2 + [ \min (0, x_1) ]^2 \right\}

{Px1=0Px2=0\begin{cases} \dfrac{∂P}{∂x_1} = 0 \\ \\ \dfrac{∂P}{∂x_2} = 0 \end{cases},得{x1=12(1+M)x2=14(1+M)212M\begin{cases} x_1 = \dfrac{-1}{2(1+M)} \\ \\ x_2 = \dfrac{1}{4(1+M)^2} - \dfrac{1}{2M} \end{cases},即有minP(x,M)\min P(x, M)的解

x(M)=[12(1+M)14(1+M)212M]x(M) = \left[\begin{matrix} \dfrac{-1}{2(1+M)} \\ \dfrac{1}{4(1+M)^2} - \dfrac{1}{2M} \end{matrix}\right]

M={1x=[14,716]T2x=[16,29]T3x=[18,29192]T4x=[110,23200]TM = \begin{cases} 1 ⇒ x=\left[ {-\dfrac{1}{4}, -\dfrac{7}{16}} \right]^T \\ 2 ⇒ x=\left[ {-\dfrac{1}{6}, -\dfrac{2}{9}} \right]^T \\ 3 ⇒ x=\left[ {-\dfrac{1}{8}, -\dfrac{29}{192}} \right]^T \\ 4 ⇒ x=\left[ {-\dfrac{1}{10}, -\dfrac{23}{200}} \right]^T \end{cases}

综上,当MM→∞时,x(M)[0,0]Tx(M)→[0, 0]^T,即xmin=[0,0]Tx_{min}=[0, 0]^T

内点法(障碍函数)

如果要求每次迭代得到的近似解都在可行域内,以便观察目标函数值的变化情况;或者,如果f(x)f(x)在可行域外的性质比较复杂,甚至没有定义,这时就无法使用外点法。

当越接近边界时,惩罚越大。

Pˉ(x,rk)=f(x)+rkj=1l1gj(x)rk>0\begin{matrix} \bar{P}(x, r_k) = f(x) + r_k\sum\limits_{j=1}^{l} \dfrac{1}{g_j(x)} & r_k>0 \end{matrix}

Pˉ(x,rk)=f(x)rkj=1llog[gj(x)]rk>0\begin{matrix} \bar{P}(x, r_k) = f(x) - r_k\sum\limits_{j=1}^{l} \log[g_j(x)] & r_k>0 \end{matrix}

rkj=1l1gj(x)r_k\sum\limits_{j=1}^{l} \dfrac{1}{g_j(x)}rkj=1llog[gj(x)]-r_k\sum\limits_{j=1}^{l} \log[g_j(x)]称为障碍项

{minf(x)=13(x1+1)3+x2g1(x)=x110g2(x)=x20\begin{cases} \min f(x) = \dfrac{1}{3}(x_1+1)^3 + x_2 \\ g_1(x) = x_1 - 1 ≥ 0 \\ g_2(x) = x_2 ≥ 0 \end{cases}

构造障碍函数Pˉ(x,r)=13(x1+1)3+x2+rx11+rx2\bar{P}(x, r) = \dfrac{1}{3}(x_1+1)^3 + x_2 + \dfrac{r}{x_1-1} + \dfrac{r}{x_2}

{Px1=0Px2=0\begin{cases} \dfrac{∂P}{∂x_1} = 0 \\ \\ \dfrac{∂P}{∂x_2} = 0 \end{cases},得{x1(r)=1+rx2(r)=r\begin{cases} x_1(r) = \sqrt{1 + \sqrt{r}} \\ \\ x_2(r) = \sqrt{r} \end{cases}

综上xmin=limr0[1+rr]=[1,0]Tx_{min} = \lim\limits_{r→0} \left[\begin{matrix} \sqrt{1 + \sqrt{r}} \\ \sqrt{r} \end{matrix}\right] = [1, 0]^T