序列二次规划——SQP

1. 序列二次规划算法简介

非线性规划问题是目标函数或约束条件中包含非线性函数的规划问题。一般说来,求解非线性规划问题比求解线性规划问题困难得多。而且,不像线性规划有单纯形法这一通用方法,非线性规划目前还没有适用于各种问题的一般算法,已有的各种方法都有其特定的适用范围。

利用间接法求解最优化问题的途径一般有两种:一种是在可行域内使目标函数下降的迭代算法,如可行点法;另一种是利用目标函数和约束条件构造增广目标函数,借此将约束最优化问题转化为无约束最优化问题,如罚函数法、乘子法、序列二次规划法等。

序列二次规划算法是目前公认的求解约束非线性优化问题最有效的方法之一。与其他算法相比,序列二次规划法的优点是收敛性好、计算效率高、边界搜索能力强,因此受到了广泛的重视及应用。在序列二次规划法的迭代过程中,每一步都需要求解一个或多个二次规划(QP)子问题。 一般地,由于二次规划子问题的求解难以利用原问题的稀疏性、对称性等良好特性,随着问题规模的扩大,其计算工作量和所需存储量是非常大的。因此,目前的序列二次规划算法一般只适用与中小规模问题

2. 序列二次规划算法的推导过程

序列二次规划(SQP)算法是将复杂的非线性约束最优化问题转化为比较简单的二次规划(QP)问题求解的算法。所谓二次规划问题,就是目标函数为二次函数,约束函数为线性函数的最优化问题。

2.1 序列二次规划算法思想

公式1-1
在这里插入图片描述

序列二次规划的基本思想即是利用泰勒展开将非线性约束问题(1-1)的目标函数在迭代点Xk处简化成二次函数,将约束条件简化成线性函数。得到如下二次规划问题:

公式1-2
在这里插入图片描述

由于(1-2)只是原问题的近似问题,求得的解并不是原问题的最优解,只是一个在局部更好的一个解。为此,令:
在这里插入图片描述
将上述二次规划问题变成关于变量 S 的问题,即:

公式1-3
在这里插入图片描述

令:

公式1-4
在这里插入图片描述

将式(1-4)写成二次规划问题的一般形式,即:

公式1-5
在这里插入图片描述
求解此二次规划问题,将其 最优解 S* 作为原问题的下一个 搜索方向 Sk,并在该方向上进行原约束问题目标函数的约束一维搜索,这样就可以得到原约束问题的一个近似解 Xk+1
反复这一过程,就可以得到原问题的最优解。
上述思想得以实现的关键在于如何计算函数的二阶导数矩阵 H(DFP、BFGS),以及如何求解式(1-5)所示的二次规划问题。

3. 序列二次规划算法的求解过程

问题的求解主要分为两个部分:第一个部分为通过泰勒展开,将原非线性优化问题转换为简单的二次优化问题;第二个部分为对简单的二次优化问题进行迭代搜索求解。
迭代求解的步骤如下所示:
在这里插入图片描述

4. 二次规划问题的求解

根据约束条件的不同,二次规划可分为等式约束二次规划问题和不等式约束二次规划问题。等式约束二次规划问题即只含有等式约束,常见的解法有直接消去法、广义消去法、拉格朗日(Lagrange)法;对于不等式约束二次规划问题,其基本思想是把不等式约束转化为等式约束再求解,常见解法有有效集(active set)方法,有效集方法在每步迭代中把有效约束作为等式约束,然后可以用拉格朗日法求解,重复直到求得最优解。二次规划问题的求解待更新

参考资料

序列二次规划——SQP.
序列二次规划算法.
序列二次规划求解非线性优化问题.
二次规划(1):Lagrange法.

  • 12
    点赞
  • 109
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值