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个系列)会员专享爆品课程及资源,同时获得分佣资格,可赚回自己的学费!

  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值