序列二次规划


[toc]

介绍

因为等式约束二次规划问题的Lagrange函数是二次函数,求Lagrange函数的稳定点就是求KKT方程组,而一般等式约束的最优化问题的Lagrange函数一般事非线性函数,就需要用迭代的方法求稳定点

求解一般等式约束问题的每一步迭代都要求解一个二次规划问题,该方法称为序列二次规划(Sequential Quadratic Programming)方法

Lagrange-Newton的方法

对等式约束最优化问题

它的Lagrange函数为$L(x,\lambda)=f(x)-\lambda{g(x)}$

且满足KKT条件

假设当前迭代点为$(x_k,\lambda_k)$,该点的增量为$(d_x,d_\lambda)$

则$\nabla{L(x_k+d_x,\lambda_k+d_\lambda)}在(x_k,\lambda_k)$的Taylor展开为

即要$\nabla^2L(x_k,\lambda_k)\begin{bmatrix}d_k\\d_\lambda\end{bmatrix}=-\nabla{L(x_k,\lambda_k)}$,其中

所以

该方程的系数矩阵为KKT矩阵,若记$\lambda_{k+1}=\lambda_k+d_\lambda,d_k=d_x$,带入得到方程组为

解出$d_k,\lambda_{k+1}$,从而$x_{k+1}=x_k+d_k$

Lagrange-Newton方法的等价形式

令$W_k=\nabla^2f(x_k)-\lambda_k\nabla^2g(x_k)$

考虑下面的二次规划问题:

当$\nabla{g(x_k)}$列满秩且$d^TW_kd>0,\nabla{g(x_k)}^Td=0且d\neq0$时,有唯一解$d_k,\lambda_{k+1}$,且满足KKT方程组

即是

当求解上式的$d=d_k,\lambda=\lambda_{k+1}$时,刚好是Lagrange-Newton的KKT方程组的形式。所以上述是Lagrange-Newton方法的等价形式

解一般约束最优化问题的序列二次规划方法

考虑一般约束最优化问题

则由上面可知,为求解上式,在$x_k$处,我们需要求解下面的子问题

对上式求解得到$d_k,\lambda_{k+1}$;这是一个二次规划问题,可以用我们二次规划的方法求解得到。对一般约束最优化问题,每一次迭代都要解一个二次规划的子问题,所以称该方法为序列二次规划(SQP)方法