首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

matlab quadprog函数 二次规划的matlab解法

matlab quadprog函数 二次规划的matlab解法

原文地址:matlab quadprog函数 二次规划的matlab解法作者:漂流瓶jz

二次规划


二次规划为非线性规划的一种,若某非线性规划的目标函数为自变量x的二次函数,约束条件又全是线性的,就称这种规划为二次规划。
Matlab 中二次规划的数学模型可表述如下:

quadprog函数 二次规划的matlab解法" title="[转载]matlab quadprog函数 二次规划的matlab解法" height="114" width="200">


这里H 是实对称矩阵,f ,b 是列向量,A是相应维数的矩阵。




Matlab中求解二次规划的函数为quadprog,他的用法如下:


x = quadprog(H,f)
x = quadprog(H,f,A,b)
x = quadprog(H,f,A,b,Aeq,beq)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)
x = quadprog(problem)
[x,fval] = quadprog(H,f,...)
[x,fval,exitflag] = quadprog(H,f,...)
[x,fval,exitflag,output] = quadprog(H,f,...)
[x,fval,exitflag,output,lambda] = quadprog(H,f,...)

H,f是把目标函数化成标准形式后得到的实对称矩阵,和列向量。
它的返回值是向量x ,X0 是x 的初始值;A,B,Aeq,Beq 定义了线性约束fmincon 非线性规划的matlab解法" style="line-height: 1.5;" name="image_operate_42461376969920989" title="[转载]matlab quadprog函数 二次规划的matlab解法">,如果没有线性约束,则A=[],B=[],Aeq=[],Beq=[];LB和 UB 是变量 x 的下界和上界,如果上界和下界没有约束,则 LB=[],UB=[],OPTIONS定义了优化参数,可以使用Matlab 缺省的参数设置。

fval是目标函数值。lambda是Lagrange乘子,它体现哪一个约束有效。output输出优化信息。

例 求解二次规划

quadprog函数 二次规划的matlab解法" title="[转载]matlab quadprog函数 二次规划的matlab解法">




解  编写如下程序:

h=[4,-4;-4,8];
f=[-6;-3];
a=[1,1;4,1];
b=[3;9];
[x,value]=quadprog(h,f,a,b,[],[],zeros(2,1))
求得


quadprog函数 二次规划的matlab解法" title="[转载]matlab quadprog函数 二次规划的matlab解法">
继承事业,薪火相传
不错的帖子,很好的算法介绍
返回列表