等式约束优化问题

minf(x)\min f(x)

s.t.Ax=bs.t.\quad Ax=b

其中ff为二次可微凸函数,假设等式约束少于变量数,并且等式约束互相独立。假定存在一个最优解xx^\star,并用pp^\star表示其最优值,即:

p=inf{f(x)Ax=b}=f(x)p^\star = \inf \{f(x) | Ax = b\} = f(x^\star)

由KKT条件,其最优解的重要条件是满足:

Ax=bf(x)+ATv=0Ax^\star = b \quad \triangledown f(x^\star) + A^Tv^\star = 0

对于求解等式约束问题有两种方法:

  1. 任何等式约束优化问题都可以通过消除等式约束转化为等价的无约束问题。
  2. 使用对偶方法解决。

很多时候,直接处理等式约束比转化为无约束问题要好,这是因为转化之后可能会破坏问题的结构。

等式约束凸二次规划

minf(x)=(1/2)xTPx+qTx+r\min f(x) = (1/2)x^TPx+q^Tx+r

s.t.Ax=bs.t. \quad Ax= b

此问题的最优性条件为:

Ax=bPx+q+ATv=0Ax^\star =b \quad Px^\star+q+A^Tv^\star = 0

可以将其写成矩阵形式:

[PATA0][xv]=[qb]\begin{bmatrix}P &A^T \\ A&0 \end{bmatrix}\begin{bmatrix}x^\star\\v^\star \end{bmatrix} = \begin{bmatrix}-q\\b \end{bmatrix}
这个矩阵称为`KKT矩阵`,接下来会经常用到。 ## 消除等式约束 我们以参数化可行集的形式表示等式约束: {xAx=b}={Fz+x^}\{x|Ax=b\}=\{Fz+\hat x\} 其中x^\hat x为任意特解,FFAA的零空间的任意矩阵,可以消除等式约束为: minf^(z)=f(Fz+x^)\min \hat f(z) = f(Fz + \hat x) 这里的变量zz没有约束,利用它的解zz^\star可以确定等式约束问题的解x=Fz+x^x^\star = Fz^\star + \hat x ## 对偶方法求解等式约束 可得约束问题的对偶函数为:
g(v)=bTv+infx(f(x)+vTAx)=bTxsupx((ATv)Txf(x))=bTvf(ATv) \begin{aligned} g(v) &=-b^{T} v+\inf _{x}\left(f(x)+v^{T} A x\right) \\ &=-b^{T} x-\sup _{x}\left(\left(-A^{T} v\right)^{T} x-f(x)\right) \\ &=-b^{T} v-f^{\star}\left(-A^{T} v\right) \end{aligned}

因此,对偶问题为:

maxbTvf(ATv)\max -b^Tv - f^\star(-A^Tv)

Slater条件成立,则强对偶性成立,即g(v)=pg(v^\star) = p^\star

等式约束的Newton方法

讨论扩展的Newton方法,与之前无约束类似,但初始点必须可行(即满足Ax=bAx=b),并且需要保证Newton方向是可行的方向,即AΔxnt=0A\Delta x_{nt} = 0

Newton方向

基于二阶近似的定义

将目标函数换成在其xx附近的二阶Taylor近似:

minf^(x+v)=f(x)+f(x)Tv+(1/2)vT2f(x)v\min \hat f(x+v) = f(x) +\triangledown f(x)^Tv + (1/2)v^T\triangledown ^2f(x) v

s.t.A(x+v)=bs.t.\quad A(x+v) =b

根据之前对等式约束二次问题的分析,得到KKT矩阵

[2f(x)ATA0][Δxntw]=[f(x)0]\begin{bmatrix}\triangledown^2 f(x) &A^T \\ A&0 \end{bmatrix}\begin{bmatrix}\Delta x_{nt}\\w \end{bmatrix} = \begin{bmatrix}-\triangledown f(x)\\0 \end{bmatrix}

线性化最优性条件的解

可以将Newton方向Δxnt\Delta x_{nt}解释为最优性条件:

Ax=bf(x)+ATv=0Ax^\star =b \quad \triangledown f(x^\star)+A^Tv^\star = 0

我们用x+Δxntx+\Delta x_{nt}替代xx^\star,用ww替代vv^\star,将梯度换为二阶近似,得到:

A(x+Δxnt)=b,f(x+Δxnt)+ATwf(x)+2f(x)Δxnt+ATw=0A(x+\Delta x_{nt} )= b,\quad \triangledown f(x+\Delta x_{nt}) + A^Tw\approx \triangledown f(x) + \triangledown^2 f(x)\Delta x_{nt}+A^Tw = 0
利用Ax=bAx = b,上式变为:

AΔxnt=02f(x)Δxnt+ATw=f(x)A\Delta x_{nt} = 0\quad \triangledown^2 f(x)\Delta x_{nt}+A^Tw= -\triangledown f(x)
这和上面的KKT矩阵完全一样。

Newton减量

λ(x)=(ΔxntT2f(x)Δxnt)1/2\lambda(x) = (\Delta x_{nt}^T\triangledown^2 f(x)\Delta x_{nt})^{1/2}
这和无约束问题的Newton减量完全一样。因此也可以进行同样的解释。可参考这里

等式约束的Newton方法

  1. 给定初始点xdomfx \in dom f,误差阈值ϵ>0\epsilon >0
  2. 计算Newton步径和减量
  3. 停止准则:如果λ2/2ϵ\lambda^2/2\le \epsilon ,退出
  4. 直线搜索,根据回溯直线搜索确定步长tt
  5. 改进:x:=x+tΔxntx:=x + t\Delta x_{nt}

不可行初始点的Newton方法

不可行点的Newton方向

和Newton方法一样,我们从等式约束优化的最优性条件开始:

Ax=bf(x)+ATv=0Ax^\star =b \quad \triangledown f(x^\star)+A^Tv^\star = 0

xx表示当前点,不假设它是可行的,因此我们的目的是找到一个方向Δx\Delta x使得x+Δxx+\Delta x满足最优性条件,即x+Δxxx + \Delta x\approx x^\star。因此我们用x+Δxx + \Delta x代替xx^\star,并利用梯度的一阶近似:

A(x+Δx)=bxf(x)+2f(x)Δx+ATw=0A(x+\Delta x) = b\quad x \triangledown f(x) +\triangledown ^2f(x)\Delta x+A^Tw = 0

写成矩阵形式为:

[2f(x)ATA0][Δxw]=[f(x)Axb]\begin{bmatrix}\triangledown^2 f(x) &A^T \\ A&0 \end{bmatrix}\begin{bmatrix}\Delta x\\w \end{bmatrix} = -\begin{bmatrix}\triangledown f(x)\\Ax-b \end{bmatrix}
与之前的KKT矩阵的差别在于AxbAx-b,表示为残差向量。

results matching ""

    No results matching ""