二次规划


[toc]

二次规划

二次规划问题(Quadratic Programming,QP)一般描述为:

分类:

  1. 凸二次规划问题:G半正定,问题有全局解
  2. 严格凸二次规划问题:G正定,问题有唯一全局解
  3. 一般二次规划问题:G不定,问题有稳定点局部解

等式约束二次规划问题

等式而约束二次规划问题形式为:

变量消去方法

  1. 通过将x的分量分成基本变量$\large{x_B}$与非基本变量$\large{x_N}$两部分,通过等式约束将基本变量用非基本变量表示出;
  2. 再将基本变量带入目标函数,从而消去基本变量,把问题化为一个关于非基本变量的无约束最优化问题;
  3. 最后求解无约束最优化问题的方法解之

例如,对X分块,A、G、g对应的也分块,得到

则等式约束化为$A^Tx=b\rightarrow A_B^Tx_B+A_N^Tx_N = b$

所以基本变量为$x_B=A^{-T}_B(b-A^T_Nx_N)$

带入目标函数得到

因为现在问题化为一个关于非基本变量的无约束最优化问题,所以我们只需要找出与$x_N$有关的项,其他均为常数项,最优化问题中不影响结果

找出所有$x_N^TAx_N$形式的项,得到$G_N = G_{NN}+A_NA_B^{-1}G_{BB}A_B^{-T}A_N^T-G_{NB}A_B^{-T}A_N^T - A_NA_B^{-1}G_{BN}$

找出所有$Ax_N$形式的项,得到$g_N =g_N - A_NA_B^{-1}g_B + (G_{NB}-A_NA_B^{-1}G_{BB})A_B^{-T}b$

所以关于非基本变量的无约束最优化问题形式为$q(x_N) = \frac{1}{2}x_N^TG_Nx_N + g_N^Tx_N$

求解该无约束最优化问题$min\ f(x_N)$

若$G_N$正定,则存在唯一解,$x_N^*=-G_N^{-1}g_N$

求$x^*$处的拉格朗日因子$\nabla{f(x^*)=\lambda{A}}$,即

取第一式$A_B^{-1}(G_{BB}x^_B+G_{BN}x_N^+g_B)=\lambda^*$

变量消除法的缺点:当$A_B$接近奇异矩阵时,求解过程的数值不稳定

零空间方法

零空间方法又称为广义变量消去法

像空间R(A)是矩阵的列向量张成的空间,核空间又称为矩阵的零空间N(A^T)

假定A是满秩,则将A分为两个互补的子空间,$R^n=R(A)+N(A^T)$,设$Y=[y_1,..,y_m]$是$R(A)$的一组线性无关向量,$Z=[z_1,…,z_{n-m}]$是$N(A^T)$的一组线性无关向量,我们可以选择$A,Z$使得$[Y\quad{Z}]$非奇异

并满足$A^TY=I,A^TZ=0$

令$x=Yx_y+Zx_z$,则$A^Tx=b$化为$A^TYx_y+A^TZx_z=b$

所以$x_y=b$,则$x=Yb+Zx_z$,带入目标函数,得

其中$Z^TGZ$为简约Hesse矩阵,若$Z^TGZ$正定,该问题的唯一解满足

得到$(Z^TGZ)x_z=-((g+GYb)^TZ)^T = -Z^T(g+GYb)$

最优解$x^=Yb+Zx^_z$,对应的$\lambda^$满足$A\lambda^=Gx^*+g$

两边同左乘$Y^T$得到,$(A^TY)^T\lambda^=Y^T(Gx^+g)$,则$\lambda^=Y^T(Gx^+g)$

零空间法适合解n-m较小的问题


如何选取满足条件的Y和Z:

  1. 用QR分解的方法:

    $A=Q\begin{bmatrix}R\\0\end{bmatrix}=\begin{bmatrix}Q_1&Q_2\end{bmatrix}\begin{bmatrix}R\\0\end{bmatrix}=Q_1R$

    取$Y=Q_1R^{-T},\quad Z=Q_2$,则Y和Z满足条件

  2. 一般选取方法:

    任意选择满足$\begin{bmatrix}A&V\end{bmatrix}$非奇异的$V\in{R^{n(n-m)}}$,设$\begin{bmatrix}A&V\end{bmatrix}^{-1}=\begin{bmatrix}Y^T\\Z^T\end{bmatrix}$,其中$Y\in{\mathbb{R^{nm}}},Z\in{\mathbb{R^{n*(n-m)}}}$,则Y和Z满足条件

Lagrange方法

等式约束二次规划的Lagrange函数为:

其KKT条件为:

表示为KKT方程组为:

其中$\begin{bmatrix}G&-A\-A^T&0\end{bmatrix}$为KKT矩阵

设A满秩,$Z$满足$AZ=0$,也即$Z$的列组成了A的零空间,那么$Z^TGZ$是正定,则KKT矩阵非奇异且有唯一解,证明如下

如果我们有$\begin{bmatrix}G&-A\-A^T&0\end{bmatrix}
\begin{bmatrix}u\\v\end{bmatrix}=0$

得到$A^Tu=0$

则$\begin{bmatrix}u^T&v^T\end{bmatrix}\begin{bmatrix}G&-A\-A^T&0\end{bmatrix}
\begin{bmatrix}u\\v\end{bmatrix}=u^TGu=0$

则对简约Hesse矩阵$Z^TGZ$,$u^TGu=u^TZ^TGZu=0$,因为$Z^TGZ>0$,所以$u=0$

根据$Gu-Av=0$,得到$Av=0\rightarrow v=0$


设A行满秩,$Z^TGZ$正定,那么$x^*$是二次规划的唯一全局解

对KKT矩阵准三角化

其中

所以

带入KKT矩阵,得到

所以得到

我们通过Cholesky分解的方法求解这三个方程,算法分为两部分:第一部分对矩阵G和$A^TG^{-1}A$的分解,第二部分为回代、求解。具体步骤如下:

  1. 对矩阵G作Cholesky分解,求下三角阵L,得到$G=LL^T$

  2. 计算$V=A^TG^{-1}A$,求解三角矩阵方程$LY=A$得到Y,则$V=Y^TY$

    在这里,$V=A^TG^{-1}A=A^T(LL^T)^{-1}A=A^TL^{-T}L^{-1}A=(L^{-1}A)^T(L^{-1}A)$

    令$L^{-1}A=Y$,得到$LY=A$,求解后得到$Y$,带入就是$V=Y^TY$

  3. 对$V=A^TG^{-1}A$作Cholesky分解,使得$V=\tilde{L}\tilde{L}^T$

  4. 解方程:$Lu=-g,\quad L^Tw=u$,得到$w$,计算$\tilde{b}=-A^Tw+b$

    由于$G=LL^T$,带入$Gw=-g$得到$LL^Tw=-g$

    令$u=L^Tw$,则$Lu=-g$,解得$w$,令$\tilde b = -A^Tw+b$

  5. 解方程:$\tilde{L}v=\tilde{b},\quad \tilde{L}^T\lambda=v$,得到$\lambda^$,再计算$\tilde{g}=A\lambda^-g$

    由于$V=\tilde L\tilde L^T$,带入得$\tilde L\tilde L^T\lambda=\tilde b$

    令$v=\tilde L^T\lambda$,则$\tilde Lv=\tilde b$,解得$\lambda$。令$\tilde g = A\lambda^*-g$

  6. 解方程:$Ly=\tilde{g},\quad L^Tx=y$得到$x^*$

    将$G=LL^T$带入$Gx=\tilde g$,得到$LL^Tx=\tilde g$

    令$y=L^Tx$,则$Ly=\tilde g$,解出$x^*$