等式约束的序列二次规划(SQP)

我们还是以陆吾生的Practical optimization algorithms and engineering applications第15章作为模板进行整理,讲的是真的清楚,对其中比较简洁的推导部分我手写了一部分方便初学者理解。

这一节先介绍只有等式约束的SQP问题的解法。形如下式:
等式约束的序列二次规划(SQP)

根据一阶必要条件,我们知道在取得最优点的时候,拉格朗日函数取得0。
等式约束的序列二次规划(SQP)
假设我们在K步获得的x和lamda接近最优解,那么下一个k+1布需要做的就是找到delta x, delta lamda使得新的x, lamda更加接近最优解,所以我们将拉格朗日梯度进行泰勒展开,并且我们还有在最有点的时候,泰勒展开的等式右侧是等于0的:
等式约束的序列二次规划(SQP)
二阶项其实就是拉格朗日的hessian,所以改写为:
等式约束的序列二次规划(SQP)
等式约束的序列二次规划(SQP)
这部分的推导我在附件详细写了以下,不知道怎么推导可以看看。
然后上面的矩阵形式可以写为:
等式约束的序列二次规划(SQP)
他其实是下式的一阶必要条件:
等式约束的序列二次规划(SQP)
现在问题就变成解这个二次规划问题了。
很容易可以解得delta, 然后在计算出lamda:
等式约束的序列二次规划(SQP)
有了新的delta, lamda继续循环求解。
等式约束的序列二次规划(SQP)
算法如图。

附件:
等式约束的序列二次规划(SQP)
等式约束的序列二次规划(SQP)
等式约束的序列二次规划(SQP)