加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2013-08-20 11:28:37)
标签:

it

matlab

程序

向量

解法

分类: matlab基础
二次规划 
二次规划为非线性规划的一种,若某非线性规划的目标函数为自变量x 的二次函数,约束条件又全是线性的,就称这种规划为二次规划。 
Matlab 中二次规划的数学模型可表述如下:
http://s13/mw690/728fa783gx6BZUFqiew4c&690quadprog函数 二次规划的matlab解法" TITLE="matlab quadprog函数 二次规划的matlab解法" />
这里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 定义了线性约束http://s7/small/728fa783gx6BZPJVZ8q66&690<wbr>fmincon <wbr>非线性规划的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输出优化信息。

例 求解二次规划
http://s7/bmiddle/728fa783gx6BZVcxSke16&690quadprog函数 二次规划的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)) 
求得 

http://s8/bmiddle/728fa783gx6BZVha6xh87&690quadprog函数 二次规划的matlab解法" TITLE="matlab quadprog函数 二次规划的matlab解法" />

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有