二次规划求解约束极值问题

  • 约束极值问题的定义及优化方法

带有约束条件的极值问题称为约束极值问题,也叫规划问题。
求解约束极值问题要比求解无约束极值问题困难得多。为了简化其优化工作,可采用下面两种方法:
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

猜你喜欢

转载自blog.csdn.net/m0_50888394/article/details/115257655
今日推荐