论文部分内容阅读
序列二次规划(SQP)方法被认为是解决非线性约束优化最有效的方法之一.对SQP算法的研究具有重要的理论意义与应用价值.很多学者对其进行了研究并提出了多种改进方法.传统的SQP算法每一步迭代都要求解QP子问题,然而QP子问题包含一些不等式约束条件,计算量远大于求解一个线性方程组的计算量. 本文对SQP算法进行了研究与改进.提出了一种新的SQP算法用于求解包含等式和不等式约束的一般非线性规划问题.在P.Spellucci的文章中,该方法也可被称为序列等式约束二次规划问题(SECQP)算法. 该算法每一步迭代,基于一个积极集策略.通过求解一个等式约束二次规划问题计算搜索方向,进而求解一个QP子问题得到可行下降方向,在适当情况下,通过求解另外两组线性方程组得到一个适当的凸组合,而Maratos效应校正方向则是通过对第三个等式约束二次规划问题的求解获得的.在一个积极集的基础上的每一次迭代,算法只要求求解三个等式约束二次规划子问题(或者必要时求解另外两个线性系统),计算量明显减少. 该算法的设计克服了以往SECQP算法的两点不足:1)迭代过程中,不能保证相应的逼近乘子的非负性,因此,只有当满足特定条件时目标点才是问题的 KKT点;2)由于不能保证逼近乘子的非负性,牛顿迭代步不再是目标函数的下降方向,因此,线性搜索过程中必须构造复杂的价值函数. 在适当的条件下我们证明了其全局收敛和超线性收敛. 最后,对于该算法进行了数值实验,数值结果表明所设计算法是可行的、有效的和稳定的。