optimization
非线性优化
YeeKal
•
•
"#optimization"
- SQP
SQP: Sequential quadratic programming
求解带约束非线性优化问题的迭代方法,要求目标函数二阶微分连续。每次迭代相当于求一个二次优化问题。
kkt 条件:
牛顿法: $x_{k+1} = x_k - \frac{\nabla f}{\nabla^2f}$
SQP algorithm A feasible point x ∈ F that satisfies the first order necessary optimality conditions (A1) is called a critical point of the NLP (4.1a)-(4.1c). Note that a critical point need not to be a local minimum
在ktt点,目标函数的极值点也是拉格朗日函数的极值点;所有的约束要么是等于0,否则就退化为无约束条件。SQP算法通过牛顿法寻找拉格朗日函数的极值点:
如果微分变量能完整得通过解析的方式求出来,则这一迭代过程会很顺利。
等式约束
令每次迭代步长为$\delta =$, 则:
上式等价于一个等式约束的二次规划问题:
对以上二次规划问题通过使拉格朗日方程的梯度为0即可得到迭代步长的表达式。
不等式约束
令每次迭代步长为$\delta =$, 则:
等价的带不等式约束的二次规划问题
求解方式:
- directly solve matrix block
- Quasi-Newton approximations to the Hessian
- trust region, line search to improve robustness
- treatment of constraints during the iterative process