轨迹规划-二次规划QP
1. 二次規劃的由來
在1940年左右(1939年 Leonid Kantorovich 總結發表了線性規劃), 線性規劃LP被提出來, 10年后, QP作為Non-Linear Programming, NLP被總結發表。
顧名思義, 二次規劃就是把一次規劃(線性規劃, LP)的目標公式擴展到二次函數:
這里 Q 是對稱矩陣(Symmetric Matrix)
那么這樣修改目標之后, 會帶來什么改變?
首先從圖上來看, 最大的變化就是二次帶來等高線( contour line )不再是直線, 這樣使得最值點不再是限制多面體的角上,可能是邊上,或者內部。
同時, 這樣改變之后有什么好處?
QP第一次統一了線性規劃LP和最小二乘法LS,
歐式距離: 最小二乘法,LS Hamitton 距離,或者Chebyshev距離: 線性回歸, LP這樣,基于利用QP就可以統一描述不同距離公式下的回歸的參數求解。
前面, 我們說了QP是LP和LP在不同角度的擴展:
QP是LP的擴展, LP是QP在二次項系數為0時候(Q=0)的特例。
QP是LS的擴展, LS是QP在一次項系數為0, 二次項系數為I(單位陣),并且沒有限制的時候的特例:
2. KKT條件
3. 二次規劃的求解
一般來說, QP的求解主要有兩大方面的限制(如下圖所示):
首先是Q矩陣, Q矩陣是不是半正定(Semi-Definite)的, 如果不是意味著, 目標函數是非凸(non-convex)的情況。
其次是條件關系, 是不是全部是等式(eqality-constrained), 如果是的話, 就是一個可以直接求解的KKT系統(KKT System), 否則的話,就是一般情況下的Convex QP問題。
總結:
對于二次規劃問題,本質上就是優化問題,無非就是求解二次目標函數,使其在線性約束的條件下達到最優的問題。因為數學庫中一般都有現成的求解器,比如apllo中二次規劃使用的是osqp求解器,所以在實際工程中需要著重考慮的是:不是如何對二次規劃進行求解,而是如何進行建模。
參考文獻:
總結
以上是生活随笔為你收集整理的轨迹规划-二次规划QP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IP协议包中的TTL(Time-To-L
- 下一篇: android 获取键盘回车键事件,设置