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