下降算法求解框架
求解约束极值问题要比求解无约束极值问题困难得多。为了简化其优化工作,可采用下面两种方法: 1.将约束问题转化为无约束问题; 2.将非线性规划问题转化为线性规划问题。什么样的目标函数可以用二次规划求解呢? 1....
约束极值问题的定义及优化方法
带有约束条件的极值问题称为约束极值问题,也叫规划问题。
求解约束极值问题要比求解无约束极值问题困难得多。为了简化其优化工作,可采用下面两种方法:
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
需要详细资源和代码(3套simulink模型+7份代码+5篇参考论文)的朋友加我微信(Jess-L-S-J)获取。
具体见:https://blog.csdn.net/m0_50888394/article/details/117417480