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