Matlab求解LP.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab求解LP 式中 , f、x、b、beq、lb和ub为向量。A 和 Aeq为矩阵。 需要提醒的是, MATLAB中给向量和矩阵的赋值是逐行进行的,行之间用分号“;”隔开,每行元素之间可用 “,”也可用空格隔开,矩阵右上角用符号“”表示转置运算。 linprog 函数的调用格式如下: 1) [x , fval] = linprog( f , A , b),求解线性规划问题的,约束条件为,同时返回解 x 处的目标函数值fval。 2) [x , fval] = linprog( f, A, b , Aeq , beq ),求解线性规划问题的,约束条件为,但增加等式约束的条件,;若不等式不存在,则令 A=[]、b= [],同时返回解x 处的目标函数值 fval。 3) [x, fval]=linprog( , A , b , Aeq, beq , lb, ub),求解线性规划问题的,约束条件为及,并定义变量x 的下界lb和上界ub,使得x 始终在该范围内; 若等式不存在,则令Aeq=[]、beq=[],同时返回解x 处的目标函数值fval。 4) [x , fval] = linprog(f , A, b, Aeq, beq, lb, ub, x0) ,求解线性规划问题的, 约束条件为及,定义变量 x 的下界lb和上界ub,设置初值为x0同时返回解 x 处的目标函数值 fval。 5) [x , fval] = linprog (f , A , b, Aeq, beq, lb, ub, x0, options),求解线性规划问题的, 约束条件为及,定义变量x 的下界lb和上界ub,设置初值为x0。用options 指定的优化参数进行最小化,同时返回解 x 处的目标函数值 fval。 Matlab优化工具箱(Optimization Toolbox)中,求解(1)的程序如下:[x,fval,exitflag,output,lambda] = linprog (c,A,b,Aeq,beq,lb,ub,x0,options) 注意关键标识符意义: 1)x0是线性规划的初始解,这种设计仅对中规模算法有效,通常可以缺省。 2)输出X是最优解,fval是最优值 3)输出exitflag描述了程序的运行情况,若其值大于零,表示程序收敛到最优解;若其值等于零,表示计算达到了最大次数;若其值小于零,表示问题无可行解,或程序运行失败。 4)输出output表示程序运行的某些信息,如迭代次数(iterations)、所用算法(algorithm)、共轭梯度(cgiterations)等。 5)lambda表示解处的拉格朗日乘子,其中lower,upper,ineqlin,eqlin分别对应于下界、上界、不等式约束与等式约束。 6) 在使用linprog( )命令时,系统默认它的参数至少为3个,但如果我们需要给定第6个参数,则第4个参数、第5个参数也必须给出,否则系统无法认定给出的是第6个参数。遇到无法给出时,则用空矩阵“[]”替代。 例: 解 Matlab程序如下: c=[-2,-1,1]; 求解目标函数的系数矩阵 A=[1,4,-1;2,-2,1]; A是不等式约束的系数矩阵 b=[4;12]; b是不等式约束 相应的常数列向量 Aeq=[1,1,2]; Aeq是等式约束的系数矩阵 beq=6; beq是等式约束相应的常数列向量,若没有等式约束,则均用[]代替; lb=[0,0,-inf]; ub=[inf,inf,5]; 如果某个变量无下界,则用-inf表示;如果某个变量无上界,则用inf表示,若决策变量 无下界,则lb用[]代替;若决策变量 无上界,则ub用[]代替; [x,z]=linprog(c,A,b,Aeq,beq,lb,ub) 运行后得到输出 Optimization terminated successfully. x= 4.6667 0.0000 0.6667 z= -8.6667

文档评论(0)

精品报告 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档