概述
对于非线性约束最优化问题,序列二次规划和内点法是两类非常重要的算法,也是大规模问题的利器。序列二次规划方法将原始问题分解为一系列二次规划问题逐步求解;内点法将将约束添加到目标函数中转换为一系列无约束问题逐步求解。两类算法共同思想将原始问题转换为可求解问题。
1. 序列二次规划概述
2. 内点法概述
3.总结
序列二次规划(SQP)概述
序列二次规划(Sequential Quadratic Programming)对于非线性约束最优化问题是一个非常有效的算法,将原始问题划分为一系列二次规划的子问题进行求解。
本节中介绍的SQP都属于激活集算法,有两种类型的激活-SQP算法,一是IQP,将原始问题转换为一系列不等式约束二次规划;二是EQP,将原始问题转换为一系列等式约束二次规划问题。
大部分的SQP问题分为两个步骤进行求解,第一步通过局部方法寻找有效集;二是通过LineSearch或者TR进行最优化。
局部SQP方法
等式约束问题
问题描述如下
思路1,KKT条件
原始问题的拉格朗日方程为L(x,λ)=f(x)−λTc(x),根据KKT条件有
对于等式方程问题可以采用牛顿方程进行求解,迭代步骤如下
思路2,根据当前点进行建模
对于当前点xk进行二次泰勒展开,转换为
求解框架
不等式约束问题
对于不等式约束,同理可以进行泰勒展开。
IPQ 和 EPQ
- IPQ:顾名思义将原始转换为一系列带有不等式约束的二次规划问题,该方法在实际中效果非常好,问题是对于一般的二次规划问题求解复杂度较高,虽然可以将该次的最优解作为下一次子问题的初始解,仍然存在热启动问题。
- EPQ:每次只考虑激活集,即等式约束。相对于IPQ每个子问题相对比较容易求解。
其他
最优化步骤中可以通过线搜索或者信赖域方法进行求解。
内点法
内点法和SQP方法类似对于求解大规模非线性约束非常有效。另外内点法(Interior-Point)和障碍方法(barrier methods)具有相同含义。
两类转换思路
内点法可以求解的问题,可以转换为
连续方法(continuation methods)
根据KKT条件,上述问题可以转换
障碍方法(barrier methods)
问题可以转换为
最原始的转换方式,直接转换为
其他
- 内点法可以从对偶问题中获取关键思路
- 可以结合线搜索和信赖域方法进行求解
总结
通过本节学习可以了解序列二次规划和内点法求解非线性约束最优化问题的关键思路。
本文介绍了数值优化中的序列二次规划(SQP)和内点法,这两种方法用于解决非线性约束最优化问题。SQP通过一系列二次规划子问题逼近全局解,而内点法则通过将约束纳入目标函数逐步求解。文章详细讨论了等式约束和不等式约束的处理方法,并阐述了连续方法和障碍方法在内点法中的应用。
3569





