MPC的终结——二次规划求解约束极值问题
約束極值問題的定義及優化方法
帶有約束條件的極值問題稱為約束極值問題,也叫規劃問題。
求解約束極值問題要比求解無約束極值問題困難得多。為了簡化其優化工作,可采用下面兩種方法:
1.將約束問題轉化為無約束問題;
2.將非線性規劃問題轉化為線性規劃問題。
什么樣的目標函數可以用二次規劃求解呢?
1.非線性規劃的目標函數為自變量x的二次函數
2.約束條件是線性的
二次規劃數學模型
其中,H是實對稱矩陣;f,b,beq,lb,ub是列向量;A,Aeq是相應維數的矩陣。
Matlab中求解二次規劃的命令:
[x,fval]=quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)
返回值x是決策向量x的值,返回值fval是目標函數在x處的值。
二次規劃求解的例子
Example:
編寫程序如下:
H=[4,-4;-4,8];
f=[-6;-3];
A=[1,1;4,1];
b=[3,9];
[x,fval]=quadprog(H,f,A,b,[ ],[ ],zeros(2,1))
這里x1和x2有下界,沒有上界,所以根據第三個約束,lb為兩行一列的0矩陣,上界為空。
求解得:x1=1.9500,x2=1.0500,minf(x)=-11.0250
點擊下方卡片,加入會員全年無限制學習后臺(MPC各矩陣的底層邏輯、MPC縱向控制、模型驗證、MPC自適應巡航控制、非線性系統如何線性化及MPC動力學跟蹤任何軌跡、約束添加及新求解器的求解、軌跡規劃、縱向規劃等80個系列)會員專享爆品課程及資源,同時獲得分傭資格,可賺回自己的學費!
總結
以上是生活随笔為你收集整理的MPC的终结——二次规划求解约束极值问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 拼图展示
- 下一篇: sign check fail: che