Apollo自動駕駛教程學習筆記-Apollo規劃技術詳解6-4

課程鏈接:http://bit.baidu.com/Course/detail/id/298.html
講師:樊昊陽 百度Apollo研發工程師

說明:因個人工作方向變更的原因,該系列學習筆記不再更新,如有影響還請抱歉

規劃中的優化問題

這節課主要從數學角度出發講解了如何對規劃問題中做優化。又把我大學學過的最優化方法翻出來了。
由於基本講的都是數學知識,所以我記錄的筆記不太多,可以從其他地方學到更系統的知識,這裏只做點題。

牛頓法

牛頓法是一種求解問題最優解的方法,其核心是泰勒展開,當取泰勒一階內容作爲優化函數時,是binary search問題,當使用泰勒二階時,是牛頓法,牛頓法考慮目標函數一階導的變化率。
牛頓法收斂很快,速度是指數平方,通常在幾個迭代後就能收斂。
之後發展出來的二次規劃算法,和牛頓法的本質是一樣的。
牛頓法要求導數單調,當不單調時可能會找到局部最優解,也就是說,牛頓法對於解決非凸問題可能不是最優的。

啓發式搜索

爲了解決非凸問題,可以採用分段的思想,對目標函數先使用動態規劃問題劃分成小段,然後用二次規劃方法去求解某個最優小段的優化問題,這是一種組合優化問題,也叫啓發式搜索。
Apollo中的EM Planning 中的核心思想就是這個啓發式搜索,其實就是將動態規劃和二次規劃結合起來,逐漸縮小搜索的範圍。

拉格朗日方法

在無人駕駛中,通常都是有約束的,比如道路情況,車輛情況,交通規範等,對於有等式約束的二次規劃問題,使用拉格朗日方法,在目標函數中加入一個拉格朗日算子,再化成無約束的二次規劃問題。
KKT條件,現在的求解都是在KKT上出發,叫First-Order Necessary Condition。

Active Set

沒聽太懂,因爲之前沒接觸過。
大概是解決不等式約束的優化問題時,先使用等式約束求解,然後再看是否有不等式約束仍然滿足,如果滿足就再對不等式約束進行求解。

目標函數不是二次型

對於不是二次型的目標函數,也有一些新的數學方法能夠解決,比如局部牛頓法,將非二次型中的估計點按照二次型進行估計,多次迭代。

最後

無人車問題是非線性優化問題,是非凸問題(需要用啓發式搜索方法來解決)。
推薦書籍:
Stephen Boyd 《Convex Optimization》,斯坦福大學凸優化教材
Steve Wright 《Numerical Optimization》,也很經典,我都沒讀過,數學造詣一般

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章